:root{--ink:#111211;--paper:#fff;--scroll:0;--logo-white:0}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--paper)}
body{color:var(--ink);font-family:Poppins,Arial,Helvetica,sans-serif}
.scroll-space{height:192svh;pointer-events:none}
a{color:inherit;text-decoration:none}
.hero-shell{position:fixed;inset:0;min-height:100svh;overflow:hidden;isolation:isolate;background:#fff}
.hero-shell:after{display:none}
.topbar{position:fixed;inset:0;z-index:10;text-transform:uppercase;font-size:.6944vw;font-weight:600;line-height:.7222vw;letter-spacing:-.0556vw;pointer-events:none}
.topbar nav,.menu-link{opacity:0;transform:translateY(-18px);transition:opacity .9s cubic-bezier(.16,1,.3,1) .65s,transform 1.1s cubic-bezier(.16,1,.3,1) .65s}
.topbar a{pointer-events:auto}
.lang-switch{position:absolute;left:81.25vw;top:5.8594svh;display:flex;gap:1.25vw}
.lang-switch a,.menu-link{position:relative}
.lang-switch a:before,.menu-link:before{content:"";position:absolute;left:50%;top:-1.7361vw;width:.2083vw;height:.2083vw;border-radius:50%;background:currentColor;transform:translateX(-50%)}
.menu-link{position:absolute;left:94.9306vw;top:5.8594svh}
.brand{position:fixed;z-index:11;left:1.8056vw;top:1.4323svh;width:5.2535vw;height:6.5299svh;opacity:0;transform:translateY(-16px);transition:opacity .9s cubic-bezier(.16,1,.3,1) .48s,transform 1.1s cubic-bezier(.16,1,.3,1) .48s}
.brand-mark{display:block;width:100%;height:100%}
.brand img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
.brand-reactive-layer{mix-blend-mode:difference}
.brand-solid-layer{mix-blend-mode:normal;pointer-events:none}
.page-ready .topbar nav,.page-ready .menu-link{opacity:1;transform:translateY(0)}
.page-ready .brand-reactive-layer{opacity:calc(1 - var(--logo-white));transform:translateY(0)}
.page-ready .brand-solid-layer{opacity:var(--logo-white);transform:translateY(0)}
.topbar a:after,.retreat-link span:after,.season-switch a:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor;transition:right .3s ease}
.topbar a:hover:after,.topbar a:focus-visible:after,.retreat-link:hover span:after,.season-switch a:hover:after{right:0}
.liquid-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0;transform:scale(.94);transform-origin:50% 50%;transition:opacity 1.15s cubic-bezier(.16,1,.3,1) .05s,transform 1.65s cubic-bezier(.16,1,.3,1) .05s}
.page-ready .liquid-canvas{opacity:1;transform:scale(1)}
.film-video{position:fixed;width:2px;height:2px;left:-10px;top:-10px;opacity:0;pointer-events:none}
.hero-copy{position:absolute;z-index:5;left:1.8056vw;top:68.4896svh;width:31.5972vw;pointer-events:none;opacity:calc(1 - var(--scroll));transform:translateY(calc(var(--scroll) * -72px)) scale(calc(1 - var(--scroll) * .025));transform-origin:left bottom;filter:blur(calc(var(--scroll) * 8px));will-change:opacity,transform,filter;text-align:left}
.eyebrow{margin:0 0 1.0417svh;text-transform:uppercase;font-family:Manrope,Arial,sans-serif;font-size:.6944vw;font-weight:500;line-height:1;letter-spacing:0;opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.16,1,.3,1) .75s,transform 1s cubic-bezier(.16,1,.3,1) .75s}
.hero-copy h1{margin:0;font-size:1.6667vw;font-weight:800;line-height:1.5278vw;letter-spacing:0;color:#202020}
.title-line{display:block;overflow:hidden;padding:.03em .04em .04em 0;margin:0}
.title-line>span{display:block;transform:translateY(112%) rotate(1.5deg);transform-origin:left bottom;transition:transform 1.25s cubic-bezier(.16,1,.3,1)}
.title-line:first-child>span{transition-delay:.3s}
.title-line:nth-child(2)>span{transition-delay:.4s}
.page-ready .title-line>span{transform:translateY(0) rotate(0)}
.hero-description{width:24.7222vw;margin:2.8646svh 0 0;font-size:.886vw;font-weight:500;line-height:1.0417vw;letter-spacing:-.0556vw;text-transform:uppercase;color:#202020;opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.16,1,.3,1) .72s,transform 1.05s cubic-bezier(.16,1,.3,1) .72s}
.page-ready .eyebrow,.page-ready .hero-description{opacity:1;transform:translateY(0)}
.retreat-link,.scroll-note,.season-switch{position:absolute;z-index:5;top:90.8854svh;display:flex;align-items:center;text-transform:uppercase;font-size:.886vw;font-weight:600;line-height:1.0417vw;letter-spacing:-.0556vw;opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1) 1s,transform .9s cubic-bezier(.16,1,.3,1) 1s}
.retreat-link{left:1.8056vw;gap:1.3889vw}
.retreat-link i{width:4.375vw;height:1px;background:var(--ink)}
.retreat-link span,.season-switch a{position:relative}
.scroll-note{left:41.1111vw;gap:1.3889vw;transform:translateY(calc(var(--scroll) * -24px));font-size:.6944vw;line-height:.9722vw;letter-spacing:0}
.page-ready .scroll-note{opacity:calc(1 - var(--scroll))}
.scroll-note i{display:block;width:5.5556vw;height:1px;background:var(--ink);animation:breathe 1.8s ease-in-out infinite}
.season-switch{left:84.7917vw;gap:1.0417vw}
.season-switch i{display:block;width:4.8611vw;height:1px;background:var(--ink)}
.page-ready .retreat-link,.page-ready .season-switch{opacity:calc(1 - var(--scroll));transform:translateY(calc(var(--scroll) * -22px))}
@keyframes breathe{0%,100%{transform:scaleX(.45);transform-origin:left}
50%{transform:scaleX(1);transform-origin:left}
}
@media(max-width:700px){.topbar{font-size:10px;line-height:1;letter-spacing:-.03em}
.lang-switch{left:auto;right:82px;top:28px;gap:12px}.menu-link{left:auto;right:22px;top:28px}.lang-switch a:before,.menu-link:before{top:-11px;width:3px;height:3px}
.brand{left:22px;top:16px;width:65px;height:43px}
.hero-copy{left:22px;top:auto;bottom:86px;width:calc(100vw - 44px)}
.hero-copy h1{font-size:clamp(26px,10.5vw,46px)}
.hero-description{width:100%;font-size:11px;line-height:1.25;letter-spacing:-.04em}.eyebrow{font-size:9px;margin-bottom:9px}
.retreat-link,.scroll-note,.season-switch{display:none}
}
@media(prefers-reduced-motion:reduce){.scroll-note i{animation:none}
.liquid-canvas,.brand,.topbar nav,.menu-link,.eyebrow,.hero-description,.title-line>span,.retreat-link,.scroll-note,.season-switch{transition:none}
}
