/* Shared navigation and homepage masthead. Photography stays behind all content. */
:root{--header-height:88px;--hero-gutter:clamp(24px,5vw,110px)}
.site-header{height:var(--header-height);padding:0 var(--hero-gutter);display:flex;align-items:center;gap:40px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;transition:height .3s ease,background .3s ease,box-shadow .3s ease}
.site-header .brand{width:165px;flex:0 0 165px}.site-header .brand img{width:100%;transition:filter .25s}
.site-header nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,1.6vw,32px);margin:0 auto}
.site-header nav a{font-size:12px;font-weight:600;line-height:1.5;padding:12px 0;position:relative;white-space:nowrap;transition:color .25s}
.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.site-header nav a:hover:after,.site-header nav a[aria-current=page]:after{transform:scaleX(1)}
.site-header .nav-right{display:flex;align-items:center;gap:26px;margin:0}
.site-header #language{border:0;background:none;padding:12px 0;font-size:11px;font-weight:800;white-space:nowrap}
.site-header #language span{font-weight:500;color:inherit;opacity:.6}
.site-header .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-size:11px;font-weight:700;white-space:nowrap;transition:background .25s,border-color .25s,color .25s}
.site-header .nav-cta:hover{background:#cbb591;border-color:#cbb591;color:var(--navy)}
.site-header #menu{display:none}
.page-index .site-header{position:fixed;inset:0 0 auto;height:110px;background:transparent;border-color:transparent;color:#fff}
.page-index .site-header:after{content:'';position:absolute;left:var(--hero-gutter);right:var(--hero-gutter);bottom:0;height:1px;background:#ffffff2c;transition:opacity .3s;pointer-events:none}
.page-index .site-header .brand img{filter:brightness(0) invert(1)}
.page-index .site-header nav a{color:#fff}.page-index .site-header #language{color:#fff}
.page-index .site-header .nav-cta{background:#f7f7f3;color:var(--navy);border-color:#f7f7f3}
.page-index .site-header .nav-cta:hover{background:#d5c2a1;border-color:#d5c2a1}
.page-index[data-header-solid] .site-header,.page-index .site-header:has(nav.open){height:var(--header-height);background:rgba(247,247,243,.98);color:var(--navy);border-bottom-color:var(--line);box-shadow:0 3px 20px #101f2b08}
.page-index[data-header-solid] .site-header:after,.page-index .site-header:has(nav.open):after{opacity:0}
.page-index[data-header-solid] .site-header .brand img,.page-index .site-header:has(nav.open) .brand img{filter:none}
.page-index[data-header-solid] .site-header nav a,.page-index[data-header-solid] .site-header #language,.page-index .site-header:has(nav.open) #language{color:var(--navy)}
.page-index[data-header-solid] .site-header .nav-cta{background:var(--navy);border-color:var(--navy);color:#fff}
.page-index[data-header-solid] .site-header .nav-cta:hover{background:#cbb591;border-color:#cbb591;color:var(--navy)}
.skip{position:fixed;left:20px;top:16px;z-index:100;padding:12px 20px;background:var(--paper);color:var(--navy);font-size:13px;transform:translateY(-160%);clip-path:inset(50%);pointer-events:none}
.skip:focus-visible{transform:none;clip-path:none;pointer-events:auto;outline:2px solid var(--gold)}
.skip:not(:focus-visible){transform:translateY(-160%);clip-path:inset(50%);pointer-events:none}

.page-index main{max-width:none;margin:0}
.home-hero{isolation:isolate;position:relative;display:grid;grid-template-rows:1fr auto;min-height:760px;min-height:max(760px,100svh);padding:142px var(--hero-gutter) 25px;overflow:hidden;background:var(--navy);color:#fff}
.hero-photos{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#17272f;pointer-events:none}
.home-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,23,32,.88) 0%,rgba(8,23,32,.62) 36%,rgba(8,23,32,.12) 75%),linear-gradient(180deg,rgba(8,20,29,.6),transparent 32%,rgba(8,20,29,.1) 60%,rgba(8,20,29,.75))}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;background-position:center;background-size:cover;transition:opacity 1.1s ease,visibility 1.1s}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide img{height:100%;width:100%;object-fit:cover;object-position:center 55%;filter:saturate(.87);transform:scale(1);transition:none}
.hero-slide.is-active.is-drifting img{animation:hero-drift 8s ease-out both;animation-play-state:paused;transition:none}
.home-hero[data-playing=true] .hero-slide.is-active.is-drifting img{animation-play-state:running}
.hero-heading{position:relative;z-index:1;display:block;align-self:center;max-width:1000px;padding:42px 0 62px;animation:masthead-enter .85s var(--ease) both}
.hero-heading .eyebrow{color:#e5e6df;font-size:10px;font-weight:600;letter-spacing:.17em;gap:16px;margin-bottom:30px}
.hero-heading .eyebrow:before{width:35px;background:#d4bd94}
.hero-heading h1{font-size:clamp(60px,5.35vw,98px);font-weight:500;line-height:1.08;letter-spacing:-.055em;max-width:1000px;text-wrap:initial;color:#fff}
.hero-heading h1 span{color:#d8c7ac}
.hero-intro{max-width:490px;margin-top:29px;padding:0;justify-self:auto}
.hero-intro p{font-size:14px;line-height:1.9;color:#e0e4e5;max-width:470px}
.hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-top:30px}
.hero-actions .button{min-height:52px;padding:15px 24px;gap:27px;background:#d5c2a1;color:#132631;font-size:11px;font-weight:800;border:1px solid #d5c2a1}
.hero-actions .button:hover{background:#e4d4bb;border-color:#e4d4bb}
.hero-actions .text-link{margin:0;color:#fff;border-bottom-color:#ffffff7a;padding:9px 0;font-size:11px}
.hero-actions .text-link:hover{color:#e4d4bb;border-bottom-color:#e4d4bb}
.hero-bottom{position:relative;z-index:1}
.hero-caption-bar{position:relative;z-index:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:96px;padding:22px 0;background:transparent;backdrop-filter:none;border:0;border-top:1px solid #ffffff46}
.hero-caption{display:flex;align-items:center;gap:26px}
.hero-caption>.slide-number{font-size:11px;color:#dac6a5;padding-right:26px;border-right:1px solid #ffffff35}
.hero-caption .project-kicker{display:block;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#bdc8cb;margin-bottom:5px}
.hero-caption a{display:inline-block;font-size:15px;font-weight:500;line-height:1.5;color:#fff}
.hero-caption a:hover{color:#e4d4bb}
.hero-caption small{display:block;margin:4px 0 0;font-size:9px;letter-spacing:.04em;line-height:1.6;color:#c1cbcf;text-transform:none}
.hero-playback{display:flex;align-items:center;gap:27px}
.slide-controls{display:flex;align-items:center;gap:12px}
.slide-controls button{position:relative;width:58px;min-height:44px;padding:0 0 12px;background:none;color:#bfc9ce;border:0;font-size:11px;line-height:1.5;font-weight:500;text-align:left;transition:color .25s}
.slide-controls button:after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;background:#ffffff4a;transition:background .3s,height .3s}
.slide-controls button[aria-pressed=true]{background:none;color:#fff;border:0}
.slide-controls button[aria-pressed=true]:after{height:2px;background:#d5c2a1}
.slide-controls button:hover{color:#e4d4bb}
.slide-toggle{display:grid;place-items:center;width:38px;height:38px;background:transparent;border:1px solid #ffffff55;border-radius:50%;color:#fff;transition:border-color .2s,background .2s}
.slide-toggle:hover{border-color:#d5c2a1;background:#ffffff10}
.slide-toggle span{width:9px;height:11px;border:0;border-left:2px solid currentColor;border-right:2px solid currentColor}
.slide-toggle[aria-pressed=true] span{width:0;height:0;border:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor;margin-left:2px}
.hero-footnote{position:relative;z-index:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:5px 0 0;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#c4ced2}
.hero-footnote>span:last-child{color:#c4ced2}
.hero-cue{display:inline-flex;align-items:center;gap:12px;color:#e4e8e9;font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.hero-cue b{font-size:17px;font-weight:400;color:#d5c2a1}
.hero-cue:hover{color:#d5c2a1}
#hero-header-trigger{position:absolute;left:0;top:48px;width:1px;height:1px;pointer-events:none}
#hero-end{position:absolute;bottom:0;left:0;width:1px;height:1px;pointer-events:none}
.page-index:not([data-header-solid]) .whatsapp-float{opacity:0;visibility:hidden;pointer-events:none}
@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes masthead-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(min-width:1700px){.hero-heading{padding-bottom:80px}.hero-intro{margin-top:34px}.hero-intro p{font-size:15px}.hero-actions{margin-top:34px}.hero-heading .eyebrow{font-size:11px}}
@media(max-width:1250px){.site-header{gap:27px}.site-header .brand{width:145px;flex-basis:145px}.site-header nav{gap:19px}.site-header nav a{font-size:11px}.site-header .nav-right{gap:20px}.site-header .nav-cta{padding:12px 18px}.hero-heading h1{font-size:68px}}
@media(max-width:1100px){.site-header nav{gap:15px}.site-header .nav-cta{display:none}.hero-heading h1{font-size:64px}}
@media(max-width:1000px){:root{--header-height:80px}.page-index .site-header{height:92px}.site-header{justify-content:space-between;gap:25px}.site-header .brand{width:150px;flex-basis:150px}.site-header .nav-right{margin-left:auto;gap:26px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100svh - 80px);overflow:auto;margin:0;padding:22px var(--hero-gutter) 32px;background:var(--paper);border-bottom:1px solid var(--line)}.site-header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0;animation:masthead-enter .25s ease both}.site-header nav.open a{padding:13px 0;font-size:20px;font-weight:500;align-self:auto;color:var(--navy);border-bottom:1px solid var(--line)}.site-header nav a:after{display:none}.site-header nav a[aria-current=page]{color:#927348}.site-header #menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:36px;height:42px;padding:4px;background:none;border:0}.site-header #menu span{display:block;width:25px;height:1px;background:var(--navy);transition:transform .25s,background .25s}.page-index .site-header #menu span{background:#fff}.page-index[data-header-solid] .site-header #menu span,.page-index .site-header:has(nav.open) #menu span{background:var(--navy)}.site-header #menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.site-header #menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.home-hero{padding-top:126px;min-height:max(780px,100svh)}.hero-heading{padding:40px 0 70px}.hero-heading h1{font-size:clamp(52px,7vw,68px)}.hero-intro p{font-size:14px}.hero-caption-bar{min-height:94px}.hero-footnote>span:last-child{display:none}}
@media(max-width:700px){:root{--header-height:74px;--hero-gutter:24px}.site-header .brand{width:132px;flex-basis:132px}.page-index .site-header{height:86px}.site-header .nav-right{gap:22px}.site-header #language{font-size:10px}.site-header nav{max-height:calc(100svh - 74px)}.home-hero{min-height:max(760px,100svh);padding:125px var(--hero-gutter) 23px}.home-hero:before{background:linear-gradient(90deg,#081720bf,#08172061),linear-gradient(180deg,#08172085,transparent 27%,#0817203d 46%,#081720ed)}.hero-slide img{object-position:58% center}.hero-heading{align-self:center;padding:28px 0 58px;max-width:100%}.hero-heading .eyebrow{font-size:8px;letter-spacing:.12em;gap:11px;margin-bottom:24px}.hero-heading .eyebrow:before{width:22px}.hero-heading h1{font-size:clamp(39px,10.2vw,64px);line-height:1.12;letter-spacing:-.05em;max-width:580px}.hero-intro{max-width:440px;margin-top:24px}.hero-intro p{font-size:12px;line-height:1.9;color:#e4e9ea}.hero-actions{gap:19px;margin-top:27px;align-items:flex-start;flex-direction:column}.hero-actions .button{min-height:48px;padding:13px 20px;font-size:11px;gap:26px}.hero-actions .text-link{font-size:10px;padding:5px 0}.hero-caption-bar{padding:18px 0 15px;gap:22px;align-items:flex-start;flex-direction:column;min-height:0}.hero-caption{gap:16px}.hero-caption>.slide-number{padding-right:16px;font-size:10px}.hero-caption a{font-size:13px}.hero-caption small{font-size:8px;max-width:none}.hero-caption .project-kicker{font-size:7px;margin-bottom:4px}.hero-playback{width:100%;justify-content:space-between;gap:20px}.slide-controls{gap:13px}.slide-controls button{width:56px;min-height:36px;padding-bottom:10px;font-size:10px}.slide-toggle{width:32px;height:32px}.hero-footnote{font-size:7px;letter-spacing:.1em;padding-top:10px;gap:12px}.hero-cue{display:flex;font-size:7px;gap:9px}.hero-cue b{font-size:15px}.hero-footnote>span:last-child{display:none}}
@media(max-width:360px){:root{--hero-gutter:20px}.hero-heading h1{font-size:36px}.hero-heading .eyebrow{font-size:7px}.hero-caption a{font-size:12px}.site-header .nav-right{gap:16px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header *,.hero-slide,.hero-slide img,.hero-heading,.hero-cue b,.slide-controls button{animation:none!important;transition:none!important}.hero-slide img,.hero-slide.is-active.is-drifting img{transform:none}}
