:root{
  --ink:#101612;
  --pine:#0b1210;
  --pine-2:#121d19;
  --ivory:#f2eee6;
  --stone:#c9c3b8;
  --bronze:#b28a5c;
  --sage:#829487;
  --line:rgba(242,238,230,.18);
  --glass:rgba(12,19,16,.72);
  --serif:"Gilda Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--pine)}
body{margin:0;background:var(--pine);color:var(--ivory);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--bronze);color:var(--pine)}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#050713}
::-webkit-scrollbar-thumb{background:linear-gradient(#49e7ff,#cf55ff);border-radius:8px}
*{scrollbar-width:thin;scrollbar-color:#49e7ff #050713}
.skip-link{position:fixed;top:10px;left:10px;z-index:2000;padding:12px 18px;background:var(--ivory);color:var(--pine);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.noise{position:fixed;inset:0;pointer-events:none;z-index:998;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.cursor-glow{position:fixed;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(178,138,92,.1),transparent 70%);pointer-events:none;z-index:1;transform:translate(-50%,-50%);will-change:left,top}
.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600}.eyebrow.bronze{color:var(--bronze)}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.025em}h2{font-size:clamp(46px,6vw,96px)}
.button{border:0;border-radius:2px;padding:16px 24px;font-weight:600;font-size:13px;letter-spacing:.035em;cursor:pointer;transition:transform .25s,background .25s,color .25s,box-shadow .25s}.button:hover{transform:translateY(-2px)}.button:focus-visible,.quiet-link:focus-visible,.room-tab:focus-visible,.mode-pill:focus-visible,.map-pin:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}.button-light{background:var(--ivory);color:var(--pine)}.button-light:hover{box-shadow:0 12px 35px rgba(242,238,230,.2)}.button-dark{width:100%;background:var(--pine);color:var(--ivory);padding:18px}.button-dark:hover{background:#1b2a24}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,4vw,72px);border-bottom:1px solid transparent;transition:background .4s,border .4s,height .4s,backdrop-filter .4s}.site-header.scrolled{height:68px;background:rgba(8,14,12,.72);border-color:var(--line);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;letter-spacing:.18em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(242,238,230,.5);border-radius:50%;font-family:var(--serif);font-size:17px}
.desktop-nav{display:flex;align-items:center;gap:36px;font-size:12px}.desktop-nav a{color:rgba(242,238,230,.78);transition:color .2s}.desktop-nav a:hover{color:#fff}.nav-cta{justify-self:end;border:1px solid rgba(242,238,230,.45);background:transparent;padding:11px 17px;font-size:12px;cursor:pointer}.nav-cta:hover{background:var(--ivory);color:var(--pine)}.menu-button{display:none;background:transparent;border:0;width:44px;height:44px;padding:10px}.menu-button span{display:block;height:1px;background:white;margin:7px 0}.mobile-menu{display:none}
.threshold{height:250vh;position:relative;background:#09100d}.threshold-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.exterior-scene,.interior-scene,.scene-shade{position:absolute;inset:-3%}.exterior-scene{background:url('assets/exterior.jpg') center/cover;transform:scale(var(--hero-scale,1));filter:saturate(.86) contrast(1.05);will-change:transform,opacity}.interior-scene{background:url('assets/living.jpg') center/cover;opacity:var(--interior-opacity,0);transform:scale(var(--interior-scale,1.13));filter:saturate(.86);will-change:transform,opacity}.scene-shade{background:linear-gradient(90deg,rgba(4,8,6,.76) 0%,rgba(4,8,6,.25) 48%,rgba(4,8,6,.34) 100%),linear-gradient(0deg,rgba(4,8,6,.48),transparent 55%);opacity:var(--shade-opacity,1)}
.hero-content{position:absolute;left:clamp(24px,8vw,140px);top:50%;width:min(660px,45vw);transform:translateY(-43%) translateY(var(--hero-y,0));opacity:var(--hero-opacity,1);will-change:transform,opacity;z-index:3}.hero-content h1{font-size:clamp(62px,7.8vw,126px);margin-bottom:24px;text-shadow:0 5px 30px rgba(0,0,0,.3)}.hero-copy{max-width:500px;color:rgba(242,238,230,.78);font-size:17px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.text-link{font-size:13px;border-bottom:1px solid rgba(242,238,230,.4);padding:12px 0}.text-link span{margin-left:12px}.hero-proof{display:flex;gap:30px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(242,238,230,.25);max-width:490px}.hero-proof span{font-size:11px;color:rgba(242,238,230,.65)}.hero-proof strong{font-weight:500;color:var(--ivory);font-size:14px;margin-right:5px}
.entry-message{position:absolute;left:50%;top:50%;z-index:4;text-align:center;transform:translate(-50%,-35%) scale(var(--entry-scale,.94));opacity:var(--entry-opacity,0);width:90%;text-shadow:0 4px 30px #000}.entry-message p{font-size:13px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}.entry-message strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(44px,6vw,94px);line-height:1}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:40px;transform:translateX(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.16em;text-align:center;opacity:var(--cue-opacity,1)}.scroll-cue i{display:block;width:1px;height:40px;background:rgba(255,255,255,.5);margin:12px auto 0;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:#fff;animation:scrollCue 1.8s infinite;transform:translateY(-100%)}@keyframes scrollCue{50%,100%{transform:translateY(100%)}}
.skip-tour{position:absolute;right:35px;bottom:32px;z-index:5;border:0;border-bottom:1px solid rgba(255,255,255,.4);background:transparent;padding:8px 0;font-size:10px;text-transform:uppercase;letter-spacing:.13em;cursor:pointer}.scene-progress{position:absolute;left:0;bottom:0;z-index:5;width:100%;height:2px;background:rgba(255,255,255,.12)}.scene-progress span{display:block;height:100%;width:var(--progress,0);background:var(--bronze)}
.arrival{position:relative;min-height:92vh;padding:150px clamp(24px,8vw,140px);background:var(--ivory);color:var(--pine);display:grid;grid-template-columns:.25fr 1.2fr .62fr;gap:5vw;align-items:start}.section-number{font-size:10px;letter-spacing:.15em;color:#7b776f;padding-top:14px}.arrival-copy h2{margin:0}.arrival-detail{padding-top:72px}.arrival-detail>p{font-size:18px;line-height:1.7;color:#4e554f}.quiet-link{border:0;border-bottom:1px solid currentColor;background:none;padding:10px 0;font-size:12px;font-weight:600;cursor:pointer}.quiet-link span{margin-left:12px}.quiet-link.light{color:var(--ivory);border-color:rgba(242,238,230,.35)}.ambient-strip{position:absolute;left:0;right:0;bottom:0;border-top:1px solid rgba(11,18,16,.12);height:85px;display:flex;align-items:center;justify-content:center;gap:30px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.ambient-strip i{width:3px;height:3px;border-radius:50%;background:var(--bronze)}
.spaces{padding:150px clamp(24px,5vw,88px);background:var(--pine);position:relative}.spaces-intro{display:grid;grid-template-columns:1.2fr .55fr;gap:8vw;align-items:end;margin:0 auto 70px;max-width:1500px}.spaces-intro h2{margin:0}.spaces-intro>p{color:rgba(242,238,230,.63);font-size:16px;line-height:1.75;max-width:440px}.room-explorer{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;min-height:760px;border:1px solid var(--line);background:#0e1713}.room-visual{position:relative;overflow:hidden;min-height:650px}.room-visual img{width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .9s cubic-bezier(.2,.7,.2,1);transform:scale(1.02)}.room-visual.changing img{opacity:.15;transform:scale(1.07)}.room-shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(4,8,6,.42)),linear-gradient(0deg,rgba(4,8,6,.45),transparent 40%)}.room-index{position:absolute;left:28px;bottom:24px;font-size:11px;letter-spacing:.15em}.room-index span{font-family:var(--serif);font-size:32px;margin-right:4px}.hotspot{position:absolute;border:0;background:transparent;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}.hotspot span{width:10px;height:10px;border-radius:50%;background:var(--ivory);box-shadow:0 0 0 8px rgba(255,255,255,.17),0 0 0 16px rgba(255,255,255,.07);animation:hotspot 2.2s infinite}.hotspot-one{left:26%;top:52%}.hotspot-two{right:16%;top:36%}@keyframes hotspot{50%{box-shadow:0 0 0 11px rgba(255,255,255,.12),0 0 0 21px rgba(255,255,255,0)}}.hotspot-note{position:absolute;left:50%;bottom:24px;transform:translateX(-50%) translateY(12px);background:rgba(8,14,12,.85);backdrop-filter:blur(12px);padding:12px 18px;font-size:11px;opacity:0;pointer-events:none;transition:.3s}.hotspot-note.show{opacity:1;transform:translateX(-50%) translateY(0)}
.room-panel{display:flex;flex-direction:column}.room-tabs{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line)}.room-tab{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;padding:18px 10px;color:rgba(242,238,230,.55);font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.room-tab.active{background:var(--ivory);color:var(--pine)}.room-copy{padding:55px clamp(28px,4vw,65px);flex:1}.room-copy h3{font-size:clamp(38px,4vw,64px);margin-bottom:24px}.room-copy>p:not(.eyebrow){color:rgba(242,238,230,.65);line-height:1.7}.room-copy ul{list-style:none;padding:0;margin:30px 0}.room-copy li{padding:10px 0;border-bottom:1px solid rgba(242,238,230,.1);font-size:12px;color:rgba(242,238,230,.8)}.floor-plan{border-top:1px solid var(--line);padding:22px 30px}.plan-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:rgba(242,238,230,.4);margin-bottom:14px}.plan-map{height:120px;position:relative;border:1px solid rgba(242,238,230,.18)}.plan-room{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border:1px solid rgba(242,238,230,.16);background:rgba(242,238,230,.03);font-size:8px;color:rgba(242,238,230,.4);cursor:pointer}.plan-room.active{background:rgba(178,138,92,.3);color:var(--ivory);border-color:var(--bronze)}
.stay-modes{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}.mode-image{position:absolute;inset:-4%;background:url('assets/pool.jpg') center/cover;transition:background-image .5s,transform 1.2s;transform:scale(1.04)}.stay-modes:hover .mode-image{transform:scale(1)}.mode-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,7,.78),rgba(5,9,7,.1) 70%),linear-gradient(0deg,rgba(5,9,7,.65),transparent 55%)}.mode-content{position:relative;z-index:2;width:min(800px,90%);padding:0 0 clamp(70px,10vh,120px) clamp(24px,8vw,140px)}.mode-content h2{font-size:clamp(52px,6.5vw,105px);margin-bottom:24px}.mode-content>p:not(.eyebrow){color:rgba(242,238,230,.72);font-size:18px;max-width:600px}.mode-pills{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0}.mode-pill{border:1px solid rgba(242,238,230,.35);background:rgba(8,14,12,.3);backdrop-filter:blur(10px);border-radius:30px;padding:12px 18px;font-size:11px;cursor:pointer}.mode-pill.active{background:var(--ivory);color:var(--pine)}.mode-benefits{display:flex;gap:12px;flex-wrap:wrap}.mode-benefits span{padding:10px 14px;border-left:1px solid var(--bronze);background:rgba(8,14,12,.45);font-size:11px}
.location{background:var(--ivory);color:var(--pine);padding:150px clamp(24px,8vw,140px);display:grid;grid-template-columns:1.05fr .75fr;gap:8vw;align-items:center}.location-map{height:680px;position:relative;overflow:hidden;background:#d9d5ca;border:1px solid #c2bdb2}.map-terrain{position:absolute;inset:-10%;background:radial-gradient(ellipse at 20% 30%,rgba(130,148,135,.32),transparent 27%),radial-gradient(ellipse at 80% 75%,rgba(178,138,92,.22),transparent 24%),repeating-radial-gradient(ellipse at 40% 50%,transparent 0 28px,rgba(11,18,16,.05) 29px 30px)}.map-road{position:absolute;width:150%;height:1px;background:rgba(11,18,16,.22);transform-origin:left}.road-one{top:30%;left:-10%;transform:rotate(38deg)}.road-two{top:74%;left:-15%;transform:rotate(-24deg)}.map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;display:flex;align-items:center;gap:7px;white-space:nowrap}.map-pin span{width:13px;height:13px;border:3px solid #eae6dc;border-radius:50%;background:var(--pine);box-shadow:0 2px 7px rgba(0,0,0,.3)}.map-pin b{font-size:9px;background:rgba(242,238,230,.85);padding:5px 7px}.map-pin.active span{background:var(--bronze);box-shadow:0 0 0 8px rgba(178,138,92,.16)}.map-card{position:absolute;left:25px;bottom:25px;background:var(--pine);color:var(--ivory);padding:20px 24px;width:min(270px,75%)}.map-card small{display:block;color:var(--bronze);text-transform:uppercase;letter-spacing:.12em;font-size:8px;margin-bottom:7px}.map-card strong{font-family:var(--serif);font-weight:400;font-size:21px}.location-copy h2{font-size:clamp(48px,5.4vw,86px)}.location-copy>p{font-size:17px;line-height:1.7;color:#59605a}.travel-times{border-top:1px solid rgba(11,18,16,.16);margin-top:40px}.travel-times>div{display:flex;align-items:baseline;gap:18px;padding:16px 0;border-bottom:1px solid rgba(11,18,16,.16)}.travel-times strong{font-family:var(--serif);font-size:36px;font-weight:400;color:var(--bronze)}.travel-times span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.stories{padding:150px clamp(24px,8vw,140px);background:#111b17}.stories-head{display:grid;grid-template-columns:.45fr 1fr .45fr;align-items:end;gap:30px}.stories-head h2{margin:0}.rating-lockup{display:flex;align-items:center;gap:18px;justify-content:flex-end}.rating-lockup>strong{font-family:var(--serif);font-size:58px;font-weight:400}.rating-lockup span{font-size:10px;line-height:2;color:var(--bronze)}.review-stage{margin:100px auto 80px;max-width:1100px;text-align:center}.quote-mark{font-family:var(--serif);font-size:100px;color:var(--bronze);height:65px}.review-stage blockquote{font-family:var(--serif);font-size:clamp(32px,4vw,60px);line-height:1.25;margin:20px 0 35px}.review-meta{display:flex;justify-content:center;gap:12px;font-size:11px}.review-meta span{color:rgba(242,238,230,.52)}.review-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:35px}.review-controls button{border:1px solid var(--line);background:transparent;border-radius:50%;width:44px;height:44px;cursor:pointer}.review-controls span{font-size:9px;letter-spacing:.15em}.trust-row{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.trust-row>div{padding:35px 35px 10px;border-right:1px solid var(--line)}.trust-row>div:last-child{border-right:0}.trust-row span{font-size:9px;color:var(--bronze)}.trust-row strong{display:block;font-family:var(--serif);font-size:24px;font-weight:400;margin:10px 0}.trust-row p{color:rgba(242,238,230,.52);font-size:12px}
.booking{position:relative;padding:160px clamp(24px,8vw,140px);background:#d6d0c4;color:var(--pine);overflow:hidden}.booking-backdrop{position:absolute;inset:0;background:url('assets/detail.jpg') center/cover;opacity:.2;filter:grayscale(.7);transform:scale(1.05)}.booking-shell{position:relative;z-index:2;max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr .72fr;gap:9vw;align-items:center}.booking-intro h2{font-size:clamp(50px,6vw,94px);margin-bottom:28px}.booking-intro>p{max-width:530px;color:#4f554f}.booking-facts{display:grid;gap:12px;margin-top:35px;font-size:11px}.booking-form{background:rgba(242,238,230,.92);padding:34px;box-shadow:0 30px 90px rgba(11,18,16,.18);backdrop-filter:blur(12px)}.date-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(11,18,16,.15)}.date-grid label{padding:13px 15px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.date-grid label+label{border-left:1px solid rgba(11,18,16,.15)}.date-grid input{display:block;width:100%;border:0;background:transparent;color:var(--pine);padding:7px 0 0;font-size:13px;outline:0;color-scheme:light}.guest-control{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(11,18,16,.15);border-top:0;padding:14px 15px}.guest-control small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.guest-control strong{font-size:13px}.stepper{display:flex;gap:8px}.stepper button{border:1px solid rgba(11,18,16,.22);background:transparent;width:34px;height:34px;border-radius:50%;cursor:pointer;color:var(--pine)}.price-lines{margin:24px 0 15px;padding-bottom:15px;border-bottom:1px solid rgba(11,18,16,.15)}.price-lines>div,.total-line{display:flex;justify-content:space-between;padding:6px 0;font-size:12px}.price-lines strong{font-weight:500}.total-line{font-size:15px;margin-bottom:18px}.form-note{text-align:center;font-size:9px;color:#747a74;margin:12px 0 0}
.closing{min-height:90vh;position:relative;display:grid;place-items:center;background:url('assets/exterior.jpg') center/cover fixed;text-align:center}.closing-shade{position:absolute;inset:0;background:rgba(4,8,6,.54)}.closing-copy{position:relative;z-index:2}.closing h2{font-size:clamp(58px,8vw,120px);margin-bottom:35px}.closing-copy>a{display:block;margin-top:23px;font-size:11px;text-decoration:underline;text-underline-offset:4px;color:rgba(242,238,230,.7)}
footer{padding:55px clamp(24px,6vw,100px);background:#07100c;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px;letter-spacing:.15em;font-size:10px}footer>p{text-align:center;margin:0;font-size:11px;color:rgba(242,238,230,.5)}footer>div:nth-of-type(2){display:flex;justify-content:flex-end;gap:20px;font-size:10px}footer small{grid-column:1/-1;text-align:center;color:rgba(242,238,230,.3);font-size:8px}
.booking-rail{position:fixed;z-index:900;bottom:18px;left:50%;transform:translate(-50%,140%);display:flex;background:rgba(242,238,230,.92);color:var(--pine);padding:5px;box-shadow:0 20px 60px rgba(0,0,0,.32);backdrop-filter:blur(18px);transition:transform .5s cubic-bezier(.2,.8,.2,1);width:min(700px,calc(100% - 32px))}.booking-rail.show{transform:translate(-50%,0)}.rail-segment{flex:1;text-align:left;border:0;border-right:1px solid rgba(11,18,16,.12);background:transparent;padding:8px 14px;cursor:pointer;color:var(--pine)}.booking-rail small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#6d736e}.booking-rail strong{font-size:11px}.rail-price{padding:8px 16px}.rail-price strong span{font-weight:400;color:#6d736e}.rail-cta{border:0;background:var(--pine);color:var(--ivory);padding:0 20px;font-size:11px;font-weight:600;cursor:pointer}
dialog{border:0;padding:0;background:#0b1210;color:var(--ivory);width:min(1200px,94vw);max-height:90vh;box-shadow:0 30px 100px rgba(0,0,0,.6)}dialog::backdrop{background:rgba(3,7,5,.86);backdrop-filter:blur(8px)}.dialog-close{position:fixed;right:calc(3vw + 10px);top:calc(5vh + 10px);z-index:5;border:1px solid rgba(255,255,255,.3);background:rgba(7,12,10,.7);color:#fff;border-radius:50%;width:44px;height:44px;font-size:25px;cursor:pointer}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px}.gallery-grid img{width:100%;height:52vh;object-fit:cover}.gallery-grid img:nth-child(3n){grid-column:1/-1;height:70vh}.story-dialog{width:min(1000px,94vw)}.story-film{position:relative;min-height:70vh}.story-film img{width:100%;height:70vh;object-fit:cover;filter:brightness(.55)}.story-film>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:10px}.story-film span{font-size:9px;letter-spacing:.2em}.story-film strong{font-family:var(--serif);font-size:clamp(42px,7vw,86px);font-weight:400}.story-film p{font-size:10px}.toast{position:fixed;z-index:1800;top:90px;left:50%;transform:translate(-50%,-30px);background:var(--ivory);color:var(--pine);padding:14px 20px;opacity:0;pointer-events:none;transition:.3s;font-size:11px;box-shadow:0 15px 50px rgba(0,0,0,.3)}.toast.show{opacity:1;transform:translate(-50%,0)}
.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.motion-ready .reveal.in{opacity:1;transform:none}
@media(max-width:950px){
  .desktop-nav,.nav-cta{display:none}.site-header{grid-template-columns:1fr auto;height:70px}.menu-button{display:block}.mobile-menu{position:fixed;inset:0;z-index:990;background:#09110e;padding:120px 25px 40px;flex-direction:column;gap:22px;font-family:var(--serif);font-size:38px}.mobile-menu.open{display:flex}.mobile-menu .button{margin-top:auto;font-family:var(--sans);font-size:13px}.hero-content{width:80vw}.arrival{grid-template-columns:1fr 2fr;padding-top:110px}.arrival-detail{grid-column:2}.spaces-intro,.location,.booking-shell{grid-template-columns:1fr}.room-explorer{grid-template-columns:1fr}.room-visual{min-height:70vh}.room-panel{display:grid;grid-template-columns:1fr 1fr}.room-tabs{grid-column:1/-1}.floor-plan{border-left:1px solid var(--line);border-top:0}.stories-head{grid-template-columns:1fr}.stories-head .eyebrow{margin:0}.rating-lockup{justify-content:flex-start}.booking-shell{gap:60px}.booking-form{max-width:600px}.location-map{height:550px;order:2}footer{grid-template-columns:1fr;text-align:center}footer>div:nth-of-type(2){justify-content:center}.footer-brand{justify-content:center}footer small{grid-column:1}}
@media(max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}
  h2{font-size:46px}.cursor-glow{display:none}.brand{font-size:9px}.brand-mark{width:28px;height:28px}.threshold{height:185vh}.exterior-scene{background-position:58% center}.scene-shade{background:linear-gradient(0deg,rgba(4,8,6,.82),rgba(4,8,6,.12) 80%)}.hero-content{top:auto;bottom:92px;left:24px;transform:translateY(var(--hero-y,0));width:calc(100% - 48px)}.hero-content h1{font-size:52px;margin-bottom:16px}.hero-copy{font-size:14px;max-width:340px}.hero-actions{margin-top:22px}.hero-proof{display:none}.scroll-cue{display:none}.skip-tour{right:20px;bottom:20px}.entry-message strong{font-size:46px}.arrival{grid-template-columns:1fr;padding:95px 24px 125px;min-height:auto}.section-number{margin-bottom:55px}.arrival-detail{grid-column:auto;padding-top:15px}.ambient-strip{justify-content:flex-start;padding:0 24px;overflow:hidden;white-space:nowrap}.spaces{padding:100px 18px}.spaces-intro{grid-template-columns:1fr;margin-bottom:40px}.spaces-intro>p{font-size:14px}.room-explorer,.room-panel,.room-visual{min-width:0;width:100%;max-width:100%}.room-explorer{min-height:0;overflow:hidden}.room-visual{min-height:62vh}.hotspot-two{right:8%}.room-panel{display:flex}.room-copy{padding:42px 24px}.room-copy h3{font-size:41px}.floor-plan{border-left:0;border-top:1px solid var(--line)}.room-tabs{overflow-x:auto;display:flex}.room-tab{min-width:125px;border-bottom:0}.mode-content{padding:0 24px 65px}.mode-content h2{font-size:52px}.mode-content>p:not(.eyebrow){font-size:14px}.mode-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px}.mode-pill{white-space:nowrap}.mode-benefits span{font-size:10px}.location{padding:100px 24px}.location-copy h2{font-size:49px}.location-map{height:500px}.map-pin b{display:none}.map-card{left:15px;bottom:15px}.stories{padding:100px 24px}.stories-head h2{font-size:50px}.rating-lockup>strong{font-size:46px}.review-stage{margin:60px auto}.review-stage blockquote{font-size:34px}.trust-row{grid-template-columns:1fr}.trust-row>div{border-right:0;border-bottom:1px solid var(--line);padding:26px 10px}.booking{padding:100px 18px}.booking-intro{padding:0 6px}.booking-intro h2{font-size:49px}.booking-form{padding:22px 16px}.closing{background-attachment:scroll}.closing h2{font-size:54px}.toast{top:auto;bottom:112px;width:calc(100% - 40px);text-align:center}.booking-rail{bottom:8px;width:calc(100% - 16px)}.rail-price,.rail-segment:nth-child(2){display:none}.rail-segment{padding:8px 10px}.rail-cta{padding:0 14px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img,.gallery-grid img:nth-child(3n){grid-column:auto;height:55vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor-glow{display:none}.noise{opacity:.035}.scroll-cue i:after,.hotspot span{animation:none}.motion-ready .reveal{opacity:1;transform:none}.exterior-scene,.interior-scene,.hero-content,.entry-message{transition:none!important}.stay-modes:hover .mode-image{transform:scale(1.04)}}

/* Readability pass: cinematic hospitality typography */
body{font-size:17px}
.brand{font-size:13px;letter-spacing:.13em}.brand strong{font-size:13px}.desktop-nav{font-size:14px;gap:36px}.nav-cta{font-size:13px}.eyebrow,.section-number{font-size:13px;letter-spacing:.15em}.button,.line-link,.skip-tour{font-size:13px}.ambient-strip,.room-tab,.mode-pill{font-size:12px}.room-copy>p,.mode-content>p:not(.eyebrow),.location-copy>p{font-size:17px}.booking-form label,.booking-summary small,.trust-row small,footer{font-size:12px}small{font-size:11px!important}.plan-room,.plan-label,.map-pin b,.map-card b,.rating-lockup span,#reviewCount,.review-controls span,.form-note,.rail-segment small,.scroll-cue span,.trust-row span{font-size:11px}.footer-brand,footer>div:nth-of-type(2),footer small{font-size:12px}
@media(max-width:640px){.brand{font-size:11px}.hero-content h1{font-size:60px}.hero-copy{font-size:16px}h2,.location-copy h2,.stories-head h2{font-size:56px}.mode-content h2{font-size:58px}.room-copy h3{font-size:46px}.spaces-intro>p,.mode-content>p:not(.eyebrow){font-size:16px}.mode-benefits span{font-size:12px}}
