.nav{position:fixed;z-index:50;top:0;left:0;width:100%;height:92px;display:flex;align-items:center;padding:0 4vw;color:#fff;transition:height .4s,background .4s,color .4s,box-shadow .4s}.nav.scrolled{height:72px;background:rgba(251,250,246,.96);backdrop-filter:blur(14px);color:#172e28;box-shadow:0 1px 0 rgba(23,46,40,.18)}
.nav .logo-brand{display:flex;align-items:center;flex:0 0 auto}.nav .logo-brand img{display:block;width:230px;height:auto;object-fit:contain;transition:filter .35s}.nav.scrolled .logo-brand img{filter:brightness(0) saturate(100%)}
.nav-links{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:34px;font-size:.82rem}.nav-links a{position:relative;white-space:nowrap}.nav-links a:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-6px;background:currentColor;transition:right .3s}.nav-links a:hover:after,.nav-links a.active:after{right:0}
.nav-cta{margin-left:auto;border-bottom:1px solid currentColor;padding:8px 0;font-size:.83rem;white-space:nowrap}.nav-cta span{margin-left:10px}.call-cta{display:flex;margin-left:18px;flex:0 0 40px;width:40px;height:40px}.call-cta img{display:block;width:40px;height:40px;object-fit:contain;transition:filter .35s,transform .25s}.nav.scrolled .call-cta img{filter:brightness(0) saturate(100%)}.call-cta:hover img{transform:scale(1.06)}
.menu{display:none;background:none;border:0;padding:10px;color:inherit}.menu span{display:block;width:24px;height:1px;background:currentColor;margin:6px;transition:transform .3s cubic-bezier(.2,.8,.2,1),margin .3s}
.page-hero>div>*{opacity:0;transform:translateY(35px);animation:subHeroIn .9s forwards}.page-hero>div>.kicker{animation-delay:.18s}.page-hero>div>h1{animation-delay:.3s}.page-hero>div>p:not(.kicker){animation-delay:.45s}.page-hero>div>.hero-booking-cta{display:inline-flex;align-items:center;gap:12px;width:max-content;margin-top:24px;padding:16px 24px;border-radius:999px;background:#c9523e;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 12px 30px rgba(0,0,0,.24);animation-delay:.58s;transition:transform .25s,background-color .25s,box-shadow .25s}.page-hero>div>.hero-booking-cta:hover{transform:translateY(-3px);background:#db624d;box-shadow:0 17px 36px rgba(0,0,0,.3)}.page-hero>div>.hero-booking-cta span{font-size:1rem}.page-hero>figure{opacity:0;transform:translateY(30px) scale(1.035);animation:subImageIn 1.1s .2s forwards;overflow:hidden}
.sub-reveal{opacity:0;transform:translateY(52px);transition:opacity .85s,transform .85s cubic-bezier(.2,.8,.2,1)}.sub-reveal.visible{opacity:1;transform:none}
.people-photo{object-fit:contain!important;object-position:center!important;background:#0d2922}.people-figure{background:#0d2922}
@keyframes subHeroIn{to{opacity:1;transform:none}}@keyframes subImageIn{to{opacity:1;transform:none}}
@media(max-width:900px){.nav,.nav.scrolled{height:72px;padding:0 3vw 0 4vw;background:#0d2922!important;color:#fff!important;box-shadow:none;backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.12)}.nav .logo-brand img,.nav.scrolled .logo-brand img{width:185px;filter:none}.nav-links,.nav-cta{display:none}.call-cta,.nav.scrolled .call-cta{display:flex;margin-left:auto;width:40px;height:40px;flex-basis:40px}.call-cta img,.nav.scrolled .call-cta img{width:40px;height:40px;filter:none}.menu{width:44px;height:44px;display:grid;place-content:center;flex:0 0 44px;margin-left:5px!important;position:relative;z-index:52}.nav.open{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100svh;align-items:flex-start;padding-top:14px;background:#0d2922!important;overflow:hidden;border:0}.nav.open .logo-brand,.nav.open .menu{z-index:52}.nav.open .call-cta{display:none}.nav.open .nav-links{display:flex;position:absolute;z-index:51;inset:120px 7vw auto;transform:none;flex-direction:column;align-items:flex-start;font:400 clamp(2.2rem,9vw,3.2rem)/1.2 "Bricolage Grotesque",sans-serif;gap:22px;color:#fff}.nav.open .menu{margin-left:auto!important}.nav.open .menu span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav.open .menu span:last-child{transform:translateY(-3.5px) rotate(-45deg)}body.menu-open{overflow:hidden}.page-hero{padding-top:120px!important}}
@media(max-width:430px){.nav .logo-brand img,.nav.scrolled .logo-brand img{width:150px}.call-cta,.nav.scrolled .call-cta{width:38px;height:38px;flex-basis:38px}.call-cta img,.nav.scrolled .call-cta img{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.page-hero>div>*,.page-hero>figure,.sub-reveal{animation:none;transition:none;opacity:1;transform:none}}
