
/* Hospitality extension, preserving approved visual master */
body.editorial{background:#f7f5f1;color:#202020;font-family:Georgia,serif} .hospitality-top{background:#fff;border-bottom:1px solid #ddd;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.hospitality-brand{text-decoration:none;letter-spacing:.22em;font:600 19px Arial,sans-serif;color:#161616}.hospitality-brand small{display:block;letter-spacing:.34em;font-size:9px;margin-top:5px}.hospitality-top nav{display:flex;gap:20px;flex-wrap:wrap}.hospitality-top nav a{font:12px Arial,sans-serif;color:#242424;text-decoration:none;text-transform:uppercase;letter-spacing:.12em}.hospitality-wrap{max-width:1250px;margin:0 auto;padding:75px 5%}.hospitality-wrap h1,.hospitality-wrap h2{font-family:Georgia,serif;font-weight:400;line-height:1.12}.hospitality-wrap h1{font-size:clamp(38px,6vw,76px)}.hospitality-wrap h2{font-size:clamp(30px,4vw,48px)}.hospitality-wrap p{font-size:17px;line-height:1.8;color:#555}.eyebrow{font:11px Arial,sans-serif!important;letter-spacing:.22em;text-transform:uppercase;color:#777!important}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d7d3cf;border:1px solid #d7d3cf;margin:42px 0}.service-card{background:#fff;padding:35px 28px;min-height:250px}.service-card span{font:11px Arial,sans-serif;letter-spacing:.18em;color:#888}.service-card h3{font:normal 25px Georgia,serif;margin:24px 0 8px}.service-card p{font-size:14px}.service-card a,.button-dark{display:inline-block;margin-top:12px;color:#1c1c1c;font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid #333;padding-bottom:8px}.button-dark{background:#1d1d1d;color:#fff;padding:15px 23px;border:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}.form-field input,.form-field select,.form-field textarea{padding:14px;border:1px solid #c9c5c0;background:white;font:16px Arial,sans-serif}.hospitality-footer{background:#191919;color:white;padding:35px 5%;font:12px Arial,sans-serif;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.hospitality-footer a{color:white}.approved-visual{max-width:1672px}.approved-visual img{width:100%;height:auto}.whatsapp-float{position:fixed;right:22px;bottom:22px;background:#fff;color:#171717;border:1px solid #888;border-radius:40px;padding:14px 18px;font:13px Arial,sans-serif;text-decoration:none;box-shadow:0 5px 20px #0002;z-index:10}@media(max-width:800px){.service-grid{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:20px}.hospitality-wrap{padding:50px 6%}.hospitality-top nav{gap:12px}}
/* Functional click targets over the navigation embedded in approved artwork. */
.approved-visual{position:relative;margin:0 auto;line-height:0}.approved-visual img{display:block}.image-nav{position:absolute;inset:0 0 auto 0;height:11.5%;z-index:4;pointer-events:none}.image-nav .hotspot{position:absolute;top:0;height:90%;display:block;pointer-events:auto;cursor:pointer}.hot-home{left:1%;width:10%}.hot-about{left:12%;width:15%}.hot-services{left:27%;width:17%}.hot-projects{left:44%;width:13%}.hot-insights{left:57%;width:15%}.hot-contact{left:72%;width:15%}.hot-menu{position:absolute;right:1%;top:0;width:10%;height:90%;pointer-events:auto;z-index:5}.hot-menu summary{display:block;cursor:pointer;height:100%;list-style:none}.hot-menu summary::-webkit-details-marker{display:none}.hot-menu-links{position:absolute;right:0;top:100%;width:230px;max-width:90vw;display:flex;flex-direction:column;background:#fff;border:1px solid #ddd;box-shadow:0 8px 28px #0002;line-height:1.4;padding:10px}.hot-menu-links a{font:12px Arial,sans-serif;color:#222;text-decoration:none;letter-spacing:.08em;text-transform:uppercase;padding:12px;border-bottom:1px solid #eee}.hotspot:focus-visible,.hot-menu summary:focus-visible{outline:3px solid #777;outline-offset:-3px}

/* Native navigation replaces non-interactive labels embedded in the artwork */
.refined-header{position:relative;z-index:20;padding:20px clamp(20px,4vw,70px);gap:24px;flex-wrap:nowrap;background:#fff}.refined-header nav{display:flex;gap:clamp(12px,2vw,32px);align-items:center}.refined-header nav a{font:600 11px Arial,sans-serif;letter-spacing:.13em;white-space:nowrap}.refined-header nav a:hover,.refined-header nav a:focus-visible{text-decoration:underline;text-underline-offset:6px}.header-cta{padding:13px 17px;border:1px solid #222;color:#222;text-decoration:none;font:600 11px Arial,sans-serif;white-space:nowrap;letter-spacing:.1em}.hospitality-hero{position:relative;overflow:hidden;width:100%;aspect-ratio:1672 / 785;background:#151515}.hospitality-hero img{display:block;position:absolute;width:100%;height:auto;top:-16.5%;left:0}.hospitality-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#fff}.hospitality-top a:focus-visible,.button-dark:focus-visible,.service-card a:focus-visible{outline:2px solid #333;outline-offset:4px}
@media(max-width:1100px){.refined-header{flex-wrap:wrap}.refined-header nav{order:3;width:100%;justify-content:space-between;overflow-x:auto;padding:8px 0}.header-cta{margin-left:auto}}@media(max-width:600px){.refined-header{padding:16px 5%}.refined-header nav{gap:20px;justify-content:flex-start}.hospitality-hero{aspect-ratio:1.45}.hospitality-hero img{width:auto;height:120%;max-width:none;top:-12%;left:50%;transform:translateX(-50%)}}

/* v8 accessible advisory links and dedicated editorial pages */
.service-card-link{display:block;text-decoration:none;color:inherit;height:100%}
.service-card-link:hover h3,.service-card-link:focus-visible h3{text-decoration:underline;text-underline-offset:5px}
.service-card-link strong{display:inline-block;margin-top:18px;font:11px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #333;padding-bottom:6px}
.inner-page{min-height:62vh;padding-top:90px;padding-bottom:110px}
.inner-page h1{max-width:900px}
.inner-page h2{font-size:clamp(26px,3vw,39px);margin-top:50px}
.inner-page .page-lead{font-size:clamp(18px,2vw,23px);max-width:920px}
.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 35px;padding-left:22px;font-size:17px;line-height:1.6}
.button-outline{display:inline-block;margin:15px 18px 15px 0;padding:15px 20px;border:1px solid #333;color:#222;text-decoration:none;font:12px Arial,sans-serif;letter-spacing:.08em}
@media(max-width:650px){.detail-list{grid-template-columns:1fr}.inner-page{padding-top:50px}}

/* v9: high-density responsive hero and real sharp, accessible navigation */
.sharp-header{height:90px;box-sizing:border-box;display:flex;flex-wrap:nowrap!important;justify-content:space-between;gap:clamp(16px,2vw,38px);padding:12px clamp(24px,2.8vw,55px)!important;background:#fff}
.sharp-header .hospitality-brand{display:flex;align-items:center;gap:clamp(12px,1.7vw,28px);flex-shrink:0;color:#171717;text-decoration:none}
.sharp-header .brand-kaiun{font:normal clamp(23px,2.5vw,43px)/1 Georgia,serif;letter-spacing:.32em;white-space:nowrap}
.sharp-header .brand-divider{height:53px;border-left:1px solid #333}
.sharp-header .brand-description{font:600 clamp(8px,.75vw,12px)/1.45 Arial,sans-serif;letter-spacing:.25em;white-space:nowrap}
.sharp-header nav{display:flex!important;flex:1;justify-content:flex-end;align-items:center;gap:clamp(10px,2vw,42px);flex-wrap:nowrap!important;overflow:visible!important;width:auto!important;order:initial!important;padding:0!important}
.sharp-header nav a{font:600 clamp(9px,.85vw,12px)/1.4 Arial,sans-serif!important;letter-spacing:.12em!important;white-space:nowrap;color:#222;text-decoration:none}
.sharp-header nav a:hover,.sharp-header nav a:focus-visible{text-decoration:underline;text-underline-offset:8px}
.sharp-header .header-more{position:relative;flex-shrink:0}
.sharp-header .header-more summary{list-style:none;cursor:pointer;width:37px;height:35px;display:flex;flex-direction:column;justify-content:space-evenly;padding:4px}
.sharp-header .header-more summary::-webkit-details-marker{display:none}
.sharp-header .header-more summary span{height:2px;width:100%;background:#202020;display:block}
.sharp-header .header-more-links{position:absolute;right:0;top:44px;background:#fff;border:1px solid #ddd;box-shadow:0 10px 30px #0002;min-width:215px;display:flex;flex-direction:column;padding:10px;z-index:30}
.sharp-header .header-more-links a{font:600 11px Arial,sans-serif;color:#222;text-decoration:none;letter-spacing:.1em;padding:13px 10px}
.hospitality-hero{position:relative;width:100%;height:clamp(530px,45vw,810px);overflow:hidden;background:#151515}
.hospitality-hero picture,.hospitality-hero picture img{display:block;width:100%;height:100%}
.hospitality-hero picture img{object-fit:cover;object-position:center 54%}
.hospitality-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 55%);pointer-events:none}
.hero-copy{position:absolute;z-index:2;left:clamp(35px,6vw,145px);top:7%;color:#fff;display:flex;flex-direction:column;height:82%;justify-content:space-between;text-shadow:0 1px 10px #0007}
.hero-copy h1{font:normal clamp(66px,7.4vw,151px)/.97 Georgia,serif;letter-spacing:.20em;margin:0;color:#fff}
.hero-subline{border-left:1px solid #eee;padding:14px 0 14px 30px;display:flex;flex-direction:column;gap:11px;font:600 clamp(12px,1.3vw,20px)/1.2 Arial,sans-serif;letter-spacing:.35em}
@media(max-width:1250px){.sharp-header{height:auto;min-height:84px}.sharp-header .brand-description{font-size:9px}.sharp-header nav{gap:14px}.sharp-header nav a{font-size:10px!important}}
@media(max-width:900px){.sharp-header nav{display:none!important}.sharp-header{min-height:76px}.sharp-header .brand-kaiun{font-size:30px}.sharp-header .brand-description{font-size:9px}.hospitality-hero{height:clamp(500px,75vw,690px)}.hospitality-hero picture img{object-position:57% center}.hero-copy h1{font-size:clamp(60px,10vw,90px)}}
@media(max-width:540px){.sharp-header{padding:12px 17px!important;gap:10px}.sharp-header .brand-kaiun{font-size:23px;letter-spacing:.2em}.sharp-header .brand-divider{height:40px}.sharp-header .brand-description{font-size:7px;letter-spacing:.13em}.hospitality-hero{height:560px}.hospitality-hero picture img{object-position:61% center}.hero-copy{left:26px;top:9%;height:77%}.hero-copy h1{font-size:58px;letter-spacing:.13em}.hero-subline{font-size:11px;letter-spacing:.23em;padding-left:16px}}
