@font-face{font-family:"Hamilton EG";src:url("assets/fonts/mr-hamiltoneg-rus-regular.otf") format("opentype");font-display:swap;font-weight:400;font-style:normal}
:root{--ivory:#ddd8d1;--intro:1;--price:0;--booking:0;--compact:0;--logo-left:50%;--logo-shift:-50%;--logo-scale:1}
*{box-sizing:border-box}html{background:#000}body{margin:0;overflow-x:clip;background:#000;color:var(--ivory);font-family:"Cormorant Garamond",Georgia,serif;-webkit-font-smoothing:antialiased}
.scroll-track{height:420svh;min-height:2200px;background:#000}.stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;isolation:isolate;background:#000}
.visual{position:absolute;inset:0;z-index:0;overflow:hidden;background:#000;opacity:0;transform:translateX(28px) scale(1.018);filter:blur(7px);transition:opacity 1.15s .62s cubic-bezier(.22,1,.36,1),transform 1.55s .62s cubic-bezier(.16,1,.3,1),filter 1.25s .62s cubic-bezier(.22,1,.36,1)}body.is-ready .visual{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}.visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.9) 17%,rgba(0,0,0,.22) 48%,transparent 72%)}
.visual video{position:absolute;display:block;left:0;bottom:0;width:100vw;height:auto;max-width:none;opacity:1;filter:saturate(.9) contrast(1.02)}
.logo{position:absolute;z-index:5;top:max(35px,calc(env(safe-area-inset-top) + 15px));left:50%;width:max-content;transform:translateX(-50%) scale(var(--logo-scale));transform-origin:top center;text-align:center}.logo-script,.logo-name{opacity:0;filter:blur(7px);transform:translateY(14px);transition:opacity .9s .1s cubic-bezier(.22,1,.36,1),filter 1s .1s cubic-bezier(.22,1,.36,1),transform 1.1s .1s cubic-bezier(.16,1,.3,1)}body.is-ready .logo-script,body.is-ready .logo-name{opacity:1;filter:blur(0);transform:translateY(0)}
.logo-script{display:block;font-family:"Hamilton EG","Imperial Script","Brush Script MT",cursive;font-size:clamp(68px,19vw,84px);line-height:.7;letter-spacing:.005em}.logo-name{display:block;margin-top:17px;font-size:clamp(15px,3.9vw,18px);line-height:1;letter-spacing:.18em;text-transform:uppercase;color:#d0c9c1}
.content-zone{position:absolute;inset:0;z-index:2}.panel{position:absolute;left:max(30px,calc(env(safe-area-inset-left) + 22px));width:min(52vw,220px);pointer-events:none;will-change:opacity,transform,filter}
.intro{top:33%;width:min(66vw,270px);opacity:var(--intro);transform:translateY(calc((1 - var(--intro))*-22px)) scale(calc(.98 + var(--intro)*.02));filter:blur(calc((1 - var(--intro))*6px))}.intro-kicker{margin:0 0 26px;font-size:clamp(23px,6vw,29px);line-height:1.32}.intro-kicker span{color:#c8adae}.intro-copy{margin:0;color:#bbb5ad;font-size:clamp(16px,4.2vw,20px);font-weight:400;line-height:1.46}.intro-kicker,.intro-copy{opacity:0;filter:blur(6px);transform:translateX(-24px)}body.is-ready .intro-kicker,body.is-ready .intro-copy{opacity:1;filter:blur(0);transform:translateX(0);transition:opacity 1s .62s ease,filter 1.1s .62s ease,transform 1.25s .62s cubic-bezier(.16,1,.3,1)}
.price{top:38%;left:max(8vw,calc(env(safe-area-inset-left) + 28px));width:min(62vw,410px);opacity:var(--price);transform:translateY(calc((1 - var(--price))*26px));filter:blur(calc((1 - var(--price))*6px))}.section-label{margin:0 0 15px;color:#bdb6ae;font-size:clamp(12px,3.25vw,15px);font-weight:500;letter-spacing:.22em;text-transform:uppercase}.price-list{margin:0}.price-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:clamp(5px,.72vh,8px) 0}.price-list dt,.price-list dd{margin:0}.price-list dt{font-size:clamp(12px,3.25vw,15px);line-height:1.12}.price-list dd{white-space:nowrap;color:#cbc4bc;font-size:clamp(11px,2.8vw,13px);font-weight:400}.price-note{margin:21px 0 0;max-width:34em;color:#a9a199;font-size:clamp(11px,2.9vw,14px);line-height:1.42}
.booking{top:52%;left:max(13vw,calc(env(safe-area-inset-left) + 42px));width:min(43vw,190px);opacity:var(--booking);transform:translateY(calc((1 - var(--booking))*28px));filter:blur(calc((1 - var(--booking))*6px));pointer-events:auto}.booking h1{margin:0;font-size:clamp(19px,5vw,23px);font-weight:400;line-height:1.42;letter-spacing:-.012em}.cta{display:flex;align-items:center;justify-content:center;width:100%;margin-top:29px;padding:14px 18px;border:1px solid rgba(221,216,209,.58);border-radius:999px;color:var(--ivory);text-decoration:none;font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;transition:background-color .38s ease,color .38s ease,transform .38s ease}.cta:hover,.cta:focus-visible{background:var(--ivory);color:#050505;outline:none;transform:translateY(-2px)}.cta:focus-visible{box-shadow:0 0 0 3px #000,0 0 0 4px var(--ivory)}
.scroll-cue{position:absolute;z-index:4;left:max(30px,calc(env(safe-area-inset-left) + 22px));bottom:max(23px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:11px;margin:0;opacity:0;transform:translateX(-18px);color:#77716a;font-size:7px;letter-spacing:.28em;text-transform:uppercase;transition:opacity 1s .62s ease,transform 1.2s .62s cubic-bezier(.16,1,.3,1)}body.is-ready .scroll-cue{opacity:var(--intro);transform:translateX(0)}.scroll-cue span{display:block;width:0;height:1px;background:#5e5954;transition:width 1.1s .72s cubic-bezier(.16,1,.3,1)}body.is-ready .scroll-cue span{width:36px}footer{position:absolute;z-index:3;right:max(22px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom));opacity:calc(var(--booking)*.55);color:#77716a;font-size:7px;letter-spacing:.12em}
@media(max-height:720px){.logo{top:max(24px,calc(env(safe-area-inset-top) + 10px))}.logo-script{font-size:clamp(68px,19vw,82px)}.price{top:27%}.price-list div{padding:3px 0}.price-note{margin-top:10px}.booking{top:48%}}
@media(max-width:699px) and (min-height:721px){.price{top:28%;height:49svh;display:flex;flex-direction:column}.section-label{flex:0 0 auto}.price-list{display:grid;grid-template-rows:repeat(9,1fr);flex:1 1 auto;min-height:0}.price-list div{padding:0;align-self:center}.price-note{flex:0 0 auto;margin-top:17px}}
@media(min-width:700px){.scroll-track{height:380svh}.visual video{left:auto;right:0;width:auto;height:min(78svh,850px)}.visual:after{background:linear-gradient(90deg,#000 0%,#000 30%,rgba(0,0,0,.8) 48%,rgba(0,0,0,.08) 75%,transparent)}.logo{top:max(48px,6svh)}.logo-script{font-size:clamp(104px,9vw,142px)}.logo-name{margin-top:19px;font-size:16px}.panel{left:clamp(72px,9vw,170px);width:min(37vw,450px)}.intro{top:39%}.intro-kicker{font-size:clamp(22px,1.8vw,30px)}.intro-copy{font-size:clamp(14px,1.15vw,18px)}.price{top:32%;left:clamp(88px,10vw,190px);width:min(36vw,440px)}.price-list div{padding:clamp(5px,.65vh,8px) 0}.price-list dt{font-size:clamp(13px,1vw,17px)}.price-list dd{font-size:clamp(12px,.85vw,15px)}.price-note{font-size:13px;margin-top:21px}.booking{top:47%;left:clamp(105px,11vw,210px);width:min(32vw,440px)}.booking h1{font-size:clamp(30px,2.65vw,47px)}.cta{width:230px;padding:16px 20px;font-size:11px}.scroll-cue{left:clamp(72px,9vw,170px)}footer{right:30px;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}}

/* Composition refinements: lower branding and content while preserving safe areas. */
.logo{top:max(106px,calc(env(safe-area-inset-top) + 67px))}
.intro{top:49%}
.price{top:33%}
.booking{top:57%}
@media(max-height:720px){.logo{top:max(78px,calc(env(safe-area-inset-top) + 45px))}.intro{top:48%}.price{top:36%}.booking{top:53%}}
@media(max-width:699px) and (min-height:721px){.price{top:40%;height:44svh}}
@media(max-width:699px){.price-list{width:min(58vw,232px)}.price-list div{gap:3px}}
@media(min-width:700px){.logo{top:max(118px,14svh)}.intro{top:55%}.price{top:40%}.booking{top:52%}}
