@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;1,400&display=swap');

:root{
  --ink:#0a0a09;
  --ink2:#11110f;
  --paper:#e8e3d9;
  --paper2:#d9d3c7;
  --warm:#b28a61;
  --muted:#98948b;
  --line:rgba(232,227,217,.16);
  --line-dark:rgba(10,10,9,.16);
  --max:1540px;
  --ease:cubic-bezier(.2,.72,.18,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--paper);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.55;overflow-x:hidden}
body:has(.lightbox.open){overflow:hidden}
a{text-decoration:none;color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--warm);color:#fff}
.noise{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.025;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='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.scroll-progress{position:fixed;z-index:100;top:0;left:0;width:0;height:2px;background:var(--warm);transition:width .08s linear}
.site-header{position:fixed;z-index:80;top:0;left:0;right:0;height:92px;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid transparent;transition:background .5s,border-color .5s,backdrop-filter .5s}
.site-header.scrolled{background:rgba(10,10,9,.72);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08)}
.header-left{display:flex;align-items:center}
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:24px}
.header-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.45}
.header-phone{font-size:11px;letter-spacing:.04em}
.brand{display:flex;align-items:center;gap:11px}
.brand-center{justify-self:center;text-align:center}
.brand-mark{width:39px;height:39px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:12px}
.brand-name{font-size:9px;text-transform:uppercase;letter-spacing:.17em;line-height:1.2}
.menu-button{position:relative;display:grid;grid-template-columns:24px auto;grid-template-rows:12px 12px;column-gap:9px;align-items:center;width:70px;padding:0;border:0;background:none;cursor:pointer}
.menu-button span{width:22px;height:1px;background:#fff;grid-column:1}
.menu-button span:first-child{grid-row:1}
.menu-button span:nth-child(2){grid-row:2}
.menu-button small{grid-column:2;grid-row:1 / span 2;font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.mobile-menu{position:fixed;z-index:75;inset:0;background:rgba(10,10,9,.98);padding:130px 7vw 60px;display:flex;flex-direction:column;gap:18px;transform:translateY(-100%);transition:transform .7s var(--ease)}
.mobile-menu.open{transform:none}
.mobile-menu a{font-family:Manrope,sans-serif;font-size:clamp(35px,6vw,72px);line-height:1.02;letter-spacing:-.055em}
.mobile-menu a:last-child{margin-top:25px;font-family:"DM Sans";font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.hero{height:100svh;min-height:760px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.hero-media{position:absolute;inset:-3%;background:url("https://images.unsplash.com/photo-1600566753051-f0b89df2dd90?auto=format&fit=crop&w=2400&q=90") center/cover;animation:heroZoom 18s var(--ease) both}
@keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1)}}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.12) 35%,rgba(0,0,0,.82) 100%)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 60%)}
.hero-content{position:relative;z-index:3;width:min(var(--max),100%);margin:auto;padding:0 7vw 12vh}
.eyebrow{display:flex;align-items:center;gap:11px;font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.62)}
.eyebrow i{width:22px;height:1px;background:rgba(255,255,255,.35)}
h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500}
h1{font-size:clamp(64px,9.2vw,145px);line-height:.87;letter-spacing:-.068em;max-width:1100px;margin:23px 0 32px}
h1 em,h2 em{font-family:"Playfair Display",serif;font-weight:400;font-style:italic;letter-spacing:-.055em}
.hero-copy{max-width:505px;color:rgba(255,255,255,.65);font-size:14px;line-height:1.55}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:188px;gap:34px;padding:16px 18px 16px 21px;text-transform:uppercase;font-size:9px;letter-spacing:.15em;border:1px solid transparent;transition:transform .5s var(--ease),background .3s}
.button:hover{transform:translateY(-3px)}
.button span{font-size:15px}
.button-light{background:#eee9df;color:#111}
.button-light:hover{background:#fff}
.button-dark{background:#111;color:#eee;border-color:#111}
.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:7px}
.hero-bottom{position:absolute;z-index:3;left:4vw;right:4vw;bottom:26px;display:flex;justify-content:space-between;color:rgba(255,255,255,.46);font-size:8px;text-transform:uppercase;letter-spacing:.18em}
.hero-side-note{position:absolute;z-index:3;right:4vw;top:50%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.34)}
.section-pad{width:min(var(--max),100%);margin:auto;padding:145px 7vw}
.section-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:rgba(232,227,217,.45)}
.intro{padding-top:165px;padding-bottom:135px}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;margin-top:38px}
.intro-title{position:relative}
.display-index{position:absolute;left:-42px;top:5px;color:var(--warm);font-size:9px;letter-spacing:.15em}
h2{font-size:clamp(52px,6.3vw,98px);line-height:.92;letter-spacing:-.067em;margin:0}
.lead{font-size:19px;line-height:1.35;max-width:570px}
.intro-grid p:not(.lead),.section-head>p{color:var(--muted);max-width:530px;font-size:14px}
.section-head{display:grid;grid-template-columns:1fr 360px;gap:7vw;align-items:end;margin-bottom:58px}
.section-head h2{margin-top:22px}
.room-grid{display:grid;grid-template-columns:1.38fr 1fr;grid-template-rows:620px 620px;gap:10px}
.room-card{position:relative;min-height:0;overflow:hidden;display:block;background:#151513}
.room-card-large{grid-row:span 2}
.room-image{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s var(--ease),filter 1s}
.room-card:hover .room-image{transform:scale(1.055);filter:saturate(.9)}
.image-room-1{background-image:url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1800&q=90")}
.image-room-2{background-image:url("https://images.unsplash.com/photo-1584132967334-10e028bd69f7?auto=format&fit=crop&w=1800&q=90")}
.image-room-3{background-image:url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1800&q=90")}
.room-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 25%,rgba(0,0,0,.84) 100%);transition:background .6s}
.room-card:hover .room-overlay{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.9))}
.room-info{position:absolute;z-index:2;left:32px;right:32px;bottom:31px}
.room-number{color:rgba(255,255,255,.52)}
.room-info h3{font-size:clamp(31px,3.1vw,50px);line-height:.98;letter-spacing:-.055em;margin:12px 0 18px}
.room-meta{display:flex;gap:28px;font-size:11px;color:rgba(255,255,255,.75)}
.room-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.room-tags span{border:1px solid rgba(255,255,255,.2);padding:5px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.7)}
.card-link{display:inline-block;margin-top:23px;text-transform:uppercase;font-size:9px;letter-spacing:.15em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:6px}
.card-link b{font-size:13px;font-weight:400;margin-left:15px}
.section-footnote{display:flex;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:rgba(232,227,217,.4)}
.steaming{height:820px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.steaming-media{position:absolute;inset:-3%;background:url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=2400&q=90") center/cover;transition:transform 1.5s var(--ease)}
.steaming:hover .steaming-media{transform:scale(1.035)}
.steaming:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.1) 75%),linear-gradient(0deg,rgba(0,0,0,.78),transparent 62%)}
.steaming-content{position:relative;z-index:2;width:100%;padding-bottom:90px}
.steaming-content h2{max-width:820px;margin:20px 0 28px}
.steaming-content p{max-width:540px;color:rgba(255,255,255,.61);font-size:14px;margin-bottom:30px}
.public{background:var(--paper);color:#171715;max-width:none}
.public .section-kicker{color:#777269}
.public .section-head>p{color:#69655d}
.public-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}
.public-card{background:#ddd8ce;overflow:hidden}
.public-card-feature{grid-row:span 2}
.public-image{height:420px;background-size:cover;background-position:center;transition:transform 1.2s var(--ease)}
.public-card-feature .public-image{height:640px}
.public-card:hover .public-image{transform:scale(1.045)}
.public-water{background-image:url("https://images.unsplash.com/photo-1551882547-ff40c63fe5fa?auto=format&fit=crop&w=1800&q=90")}
.public-male1{background-image:url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1800&q=90")}
.public-male2{background-image:url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1800&q=90")}
.public-female{background-image:url("https://images.unsplash.com/photo-1576678927484-cc907957088c?auto=format&fit=crop&w=1800&q=90")}
.public-body{padding:29px 30px 33px}
.public-body>span{font-size:9px;color:#777}
.public-body h3{font-size:34px;line-height:.98;margin:12px 0 15px;letter-spacing:-.045em}
.public-body p{color:#69655d;max-width:520px;font-size:13px}
.ghost-link{border:0;border-bottom:1px solid #777;background:none;padding:0 0 6px;margin-top:16px;text-transform:uppercase;font-size:8px;letter-spacing:.15em;cursor:pointer}
.story{background:var(--ink2)}
.story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;margin-top:45px;align-items:center}
.story-copy .lead{color:#d4d0c8}
.story-copy p:not(.lead){color:var(--muted);font-size:14px}
.story-photo{height:720px;background:url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1800&q=90") center/cover}
.statement{height:760px;position:relative;overflow:hidden;display:flex;align-items:center}
.statement:before{content:"";position:absolute;inset:-3%;background:url("https://images.unsplash.com/photo-1523413651479-597eb2da0ad6?auto=format&fit=crop&w=2400&q=90") center/cover;transition:transform 1.4s var(--ease)}
.statement:hover:before{transform:scale(1.035)}
.statement:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.52)}
.statement-inner{position:relative;z-index:2;padding:0 8vw}
.statement-inner>span{color:rgba(255,255,255,.45)}
.statement h2{font-size:clamp(58px,8.5vw,132px);margin-top:22px}
.contacts{background:var(--paper);color:#171715;max-width:none;padding-left:8vw;padding-right:8vw}
.contacts .section-kicker{color:#777269}
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:11vw;margin-top:42px}
.contacts .lead{color:#5d5952}
.contact-actions{margin-top:38px}
.social-row{display:flex;gap:28px;margin-top:22px}
.social-row a{font-size:9px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid #777;padding-bottom:6px}
.contact-details{border-top:1px solid var(--line-dark)}
.contact-details>div{display:flex;justify-content:space-between;gap:30px;padding:20px 0;border-bottom:1px solid var(--line-dark)}
.contact-details span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#777269}
.contact-details strong{font-size:13px;font-weight:500;text-align:right;max-width:390px}
.mobile-bar{display:none}
.lightbox{position:fixed;inset:0;background:rgba(7,7,6,.97);z-index:200;display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox-image{width:min(88vw,1250px);height:82vh;background-size:contain;background-repeat:no-repeat;background-position:center;animation:lightboxIn .45s var(--ease)}
@keyframes lightboxIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:none;cursor:pointer;color:#fff}
.lightbox-close{right:28px;top:20px;font-size:40px;font-weight:200}
.lightbox-prev{left:28px;font-size:27px}.lightbox-next{right:28px;font-size:27px}
.lightbox-counter{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.18em;color:#777}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .site-header{height:72px;padding:0 20px}
  .header-right{gap:0}.header-label,.header-phone{display:none}
  .brand-name{font-size:8px}.brand-mark{width:34px;height:34px}
  .hero{min-height:760px}
  .hero-content{padding:0 24px 112px}
  h1{font-size:clamp(55px,16vw,90px);margin:19px 0 25px}
  .hero-copy{font-size:13px;max-width:410px}
  .hero-side-note{display:none}
  .hero-bottom{left:24px;right:24px;bottom:24px;font-size:7px}
  .section-pad{padding:92px 24px}
  .intro{padding-top:110px}
  .intro-grid,.story-grid,.contacts-grid{grid-template-columns:1fr;gap:48px}
  .display-index{position:static;margin-bottom:20px}
  h2{font-size:48px}
  .lead{font-size:18px}
  .section-head{display:block;margin-bottom:38px}
  .section-head>p{margin-top:24px}
  .room-grid{display:flex;flex-direction:column;gap:8px}
  .room-card,.room-card-large{height:610px}
  .room-info{left:24px;right:24px;bottom:25px}
  .room-info h3{font-size:35px}
  .section-footnote{font-size:7px}
  .steaming{height:700px}
  .steaming-content{padding:0 24px 72px}
  .steaming-content h2{font-size:48px}
  .public-grid{grid-template-columns:1fr}
  .public-card-feature{grid-row:auto}
  .public-image,.public-card-feature .public-image{height:430px}
  .story-photo{height:500px}
  .statement{height:610px}
  .statement-inner{padding:0 24px}
  .statement h2{font-size:55px}
  .contacts{padding-left:24px;padding-right:24px}
  .contact-details>div{display:block}
  .contact-details strong{display:block;text-align:left;margin-top:7px}
  .mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:150;bottom:0;left:0;right:0;height:62px;background:rgba(10,10,9,.92);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.12)}
  .mobile-bar a{display:grid;place-items:center;font-size:8px;text-transform:uppercase;letter-spacing:.1em;border-right:1px solid rgba(255,255,255,.1)}
  .mobile-bar a:last-child{border:0}
  .mobile-bar-label{display:none}
  .lightbox-image{width:100vw;height:74vh}
  .lightbox-prev{left:12px}.lightbox-next{right:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}

/* ===== CLIENT-PRESENTATION POLISH / V3 ===== */
body{background:#080807}
.site-header{grid-template-columns:1fr auto 1fr;padding:0 4.5vw}
.site-header:after{content:"";position:absolute;left:4.5vw;right:4.5vw;bottom:-1px;height:1px;background:rgba(255,255,255,.06);opacity:0;transition:opacity .5s}
.site-header.scrolled:after{opacity:1}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:27px}
.desktop-nav a{font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.58);transition:color .3s}
.desktop-nav a:hover{color:#fff}
.header-phone{justify-self:end;font-size:10px;letter-spacing:.05em}
.menu-button{display:none}

.hero{min-height:850px}
.hero-media{position:absolute;inset:0;overflow:hidden;background:#111}
.hero-media-image,.hero-video{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover}
.hero-media-image{background:url("https://images.unsplash.com/photo-1600566753051-f0b89df2dd90?auto=format&fit=crop&w=2400&q=92") center/cover;animation:heroZoom 18s var(--ease) both}
.hero-video{opacity:0;transition:opacity 1s ease;filter:saturate(.72) contrast(1.06)}
.hero-video.loaded{opacity:1}
.hero-video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.02) 36%,rgba(0,0,0,.8)),linear-gradient(90deg,rgba(0,0,0,.3),transparent 65%);pointer-events:none}
.hero-vignette{background:transparent}
.hero-content{padding-bottom:13vh}
.hero-kicker{display:flex;align-items:center;gap:13px;font-size:8px;text-transform:uppercase;letter-spacing:.19em;color:rgba(255,255,255,.56)}
.hero-kicker i{width:30px;height:1px;background:rgba(255,255,255,.35)}
.hero h1{max-width:1100px;margin:26px 0 29px;font-size:clamp(70px,9.7vw,154px);text-wrap:balance}
.hero-copy{max-width:560px;font-size:14px;color:rgba(255,255,255,.68)}
.hero-actions{margin-top:35px}
.hero-proof{display:flex;gap:38px;margin-top:54px;padding-top:17px;border-top:1px solid rgba(255,255,255,.16);max-width:660px}
.hero-proof>div{display:flex;align-items:flex-start;gap:10px}
.hero-proof strong{font-family:"Playfair Display",serif;font-size:17px;font-weight:400;color:#d4b28c}
.hero-proof span{font-size:7px;text-transform:uppercase;letter-spacing:.13em;line-height:1.35;color:rgba(255,255,255,.43)}
.hero-media-label{position:absolute;z-index:3;right:4vw;bottom:24px;font-size:7px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:8px}
.pulse{width:5px;height:5px;border-radius:50%;background:#c39b6d;box-shadow:0 0 0 5px rgba(195,155,109,.12);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(195,155,109,0)}}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);font-size:7px;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:8px}
.scroll-cue span{font-size:14px;line-height:0}

.rooms{padding-top:110px}
.section-head{margin-bottom:48px}
.section-head h2{font-size:clamp(58px,6.8vw,105px)}
.room-grid{grid-template-columns:1.38fr 1fr;grid-template-rows:570px 570px;gap:6px}
.room-card{isolation:isolate;cursor:pointer}
.room-image{transition:transform 1.6s var(--ease),filter 1.2s var(--ease)}
.room-card:hover .room-image{transform:scale(1.07);filter:saturate(.82) contrast(1.04)}
.room-grain{position:absolute;z-index:1;inset:0;opacity:.12;pointer-events:none;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.room-overlay{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.03) 22%,rgba(0,0,0,.2) 46%,rgba(0,0,0,.88) 100%);transition:background .6s var(--ease)}
.room-card:hover .room-overlay{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18) 42%,rgba(0,0,0,.93))}
.room-topline{position:absolute;z-index:3;left:29px;right:29px;top:25px;display:flex;justify-content:space-between;font-size:7px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.45)}
.room-info{z-index:3;left:29px;right:29px;bottom:29px}
.room-number{font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.55)}
.room-info h3{font-size:clamp(34px,3.7vw,57px);margin:11px 0 17px;line-height:.9}
.room-info h3 em{font-family:"Playfair Display",serif;font-weight:400;font-style:italic}
.room-meta{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.62)}
.room-tags{margin-top:14px}
.room-tags span{padding:5px 7px;font-size:7px;letter-spacing:.12em}
.room-arrow{position:absolute;z-index:4;right:27px;bottom:28px;width:52px;height:52px;border:1px solid rgba(255,255,255,.32);border-radius:50%;display:grid;place-items:center;font-size:19px;font-weight:300;transition:transform .55s var(--ease),background .4s,border-color .4s}
.room-card:hover .room-arrow{transform:translate(2px,-2px) rotate(0deg);background:#eee9df;color:#111;border-color:#eee9df}
.room-hover-note{position:absolute;z-index:4;right:29px;top:63px;font-size:7px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.0);transform:translateY(7px);transition:.45s var(--ease)}
.room-card:hover .room-hover-note{color:rgba(255,255,255,.65);transform:none}

.gallery-section{background:#0d0d0c;padding-top:150px;padding-bottom:160px}
.gallery-heading{display:grid;grid-template-columns:1fr 360px;gap:7vw;align-items:end;margin-bottom:52px}
.gallery-heading h2{font-size:clamp(60px,7vw,105px);margin-top:20px}
.gallery-heading-copy p{font-size:14px;color:#97938b;line-height:1.55}
.gallery-heading-copy span{display:block;margin-top:24px;font-size:7px;text-transform:uppercase;letter-spacing:.16em;color:#55534d}
.gallery-mosaic{display:grid;grid-template-columns:1.18fr .82fr .82fr;grid-template-rows:310px 310px;gap:6px}
.gallery-tile{position:relative;padding:0;border:0;background:#161614;overflow:hidden;cursor:zoom-in}
.gallery-tile img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.25s var(--ease),filter .8s}
.gallery-tile:hover img{transform:scale(1.045);filter:saturate(.84)}
.gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.65));pointer-events:none}
.gallery-tile-a{grid-row:span 2}
.gallery-tile-d{grid-column:2}
.gallery-tile-e{grid-column:3}
.gallery-tile-meta{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;display:flex;justify-content:space-between;align-items:center;color:#fff}
.gallery-tile-meta b{font-family:"Playfair Display",serif;font-size:17px;font-weight:400}
.gallery-tile-meta i{font-style:normal;font-size:7px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.62)}

.lightbox{background:rgba(6,6,5,.985);backdrop-filter:blur(10px)}
.lightbox-stage{width:min(78vw,1240px);height:min(78vh,790px);display:flex;align-items:center;justify-content:center}
.lightbox-image{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center}
.lightbox-topline,.lightbox-bottomline{position:absolute;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.48);font-size:7px;text-transform:uppercase;letter-spacing:.17em}
.lightbox-topline{top:25px}
.lightbox-bottomline{bottom:24px}
.lightbox-caption{color:#d1c5b5}
.lightbox-hint{color:rgba(255,255,255,.28)}
.lightbox-close{right:25px;top:48px;font-size:38px}
.lightbox-prev,.lightbox-next{width:58px;height:58px;border:1px solid rgba(255,255,255,.16);border-radius:50%;font-size:20px;transition:.35s}
.lightbox-prev:hover,.lightbox-next:hover{background:#eee9df;color:#111;border-color:#eee9df}
.lightbox-prev{left:30px}.lightbox-next{right:30px}
.lightbox-counter{position:static;transform:none;color:#b59b7c}

@media(max-width:1100px){
  .desktop-nav{gap:16px}.desktop-nav a{font-size:7px}
}
@media(max-width:900px){
  .site-header{grid-template-columns:1fr auto 1fr}
  .desktop-nav{display:none}
  .header-phone{display:none}
  .menu-button{display:grid;justify-self:end}
  .brand-center{justify-self:center}
  .hero{min-height:820px}
  .hero-media-label{display:none}
  .hero-content{padding:0 24px 128px}
  .hero h1{font-size:clamp(58px,16.5vw,92px)}
  .hero-proof{gap:18px;margin-top:38px}
  .hero-proof>div{gap:7px}
  .hero-proof strong{font-size:14px}
  .hero-proof span{font-size:6px}
  .hero-bottom{bottom:25px}
  .scroll-cue{display:none}
  .rooms{padding-top:85px}
  .room-grid{grid-template-columns:1fr;grid-template-rows:none;display:grid}
  .room-card,.room-card-large{height:590px;grid-row:auto}
  .room-info h3{font-size:41px}
  .room-arrow{width:47px;height:47px}
  .gallery-section{padding-top:100px;padding-bottom:115px}
  .gallery-heading{display:block}
  .gallery-heading-copy{margin-top:26px}
  .gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:310px 240px 240px}
  .gallery-tile-a{grid-column:span 2;grid-row:auto}
  .gallery-tile-d,.gallery-tile-e{grid-column:auto}
  .lightbox-stage{width:100vw;height:75vh}
  .lightbox-topline,.lightbox-bottomline{left:20px;right:20px}
  .lightbox-prev,.lightbox-next{width:42px;height:42px}
  .lightbox-prev{left:12px}.lightbox-next{right:12px}
}

.image-room-2{background-image:url('assets/room2/IMG_8848.jpg') !important;background-position:center 48%;}

/* ===== HOMEPAGE MASTER POLISH ===== */
.private-section{padding-top:145px;padding-bottom:155px;background:#0a0a09}
.private-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end;margin-bottom:58px}
.private-intro h2{font-size:clamp(62px,7vw,112px);line-height:.9;margin-top:22px;letter-spacing:-.055em}
.private-intro h2 em{display:block;font-family:"Playfair Display",serif;font-weight:400;font-style:italic;letter-spacing:-.035em}
.private-intro-copy{max-width:490px;padding-bottom:8px}
.private-intro-copy p{color:#8e8a82;font-size:13px;line-height:1.55}
.private-intro-copy .lead{font-size:18px;color:#d2cdc3;line-height:1.35;margin-bottom:18px}
.room-stack{display:grid;gap:7px}
.room-wide{position:relative;display:block;height:390px;overflow:hidden;background:#171715;color:#fff;isolation:isolate}
.room-wide-image{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s var(--ease),filter 1s var(--ease)}
.room-wide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.2) 48%,rgba(0,0,0,.34)),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.58));z-index:1}
.room-wide:hover .room-wide-image{transform:scale(1.045);filter:saturate(.82) contrast(1.04)}
.room-wide-1 .room-wide-image{background-image:url("https://images.unsplash.com/photo-1600566753051-f0b89df2dd90?auto=format&fit=crop&w=2400&q=90");background-position:center 56%}
.room-wide-2 .room-wide-image{background-image:url("assets/room2/IMG_8848.jpg");background-position:center 52%}
.room-wide-3 .room-wide-image{background-image:url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=2400&q=90");background-position:center}
.room-wide-top{position:absolute;z-index:3;left:31px;right:31px;top:25px;display:flex;justify-content:space-between;font-size:7px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.56)}
.room-wide-content{position:absolute;z-index:3;left:31px;bottom:30px;max-width:720px}
.room-wide-label{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.58);margin-bottom:11px}
.room-wide h3{font-size:clamp(40px,4.6vw,70px);line-height:.9;letter-spacing:-.055em;margin:0 0 20px}
.room-wide h3 em{font-family:"Playfair Display",serif;font-style:italic;font-weight:400}
.room-wide-meta{display:flex;align-items:center;gap:22px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.65)}
.room-wide-meta strong{font-weight:500;color:#efe8dc;margin-left:10px}
.room-wide-arrow{position:absolute;z-index:4;right:30px;bottom:28px;width:54px;height:54px;border:1px solid rgba(255,255,255,.32);border-radius:50%;display:grid;place-items:center;font-size:19px;transition:.5s var(--ease)}
.room-wide:hover .room-wide-arrow{background:#eee9df;color:#111;border-color:#eee9df;transform:translate(2px,-2px)}

/* hero typography: deliberate editorial rhythm, no collisions */
.hero-content{max-width:1240px}
.hero h1{max-width:980px;display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:clamp(68px,8.7vw,145px);line-height:.86;letter-spacing:-.065em;margin:25px 0 30px}
.hero h1 span,.hero h1 em{display:block}
.hero h1 em{font-family:"Playfair Display",serif;font-style:italic;font-weight:400;letter-spacing:-.045em;margin-left:7vw}
.hero h1 em:last-of-type{margin-left:12vw}
.hero h1 span:last-child{margin-left:18vw}
.hero-copy{max-width:510px;margin-left:2px}

/* public section becomes section 02 */
.public{padding-top:150px;padding-bottom:155px}
.public .section-head{display:grid;grid-template-columns:1fr 340px;gap:8vw;align-items:end}
.public .section-head h2{font-size:clamp(62px,7vw,110px);line-height:.9}
.public .section-head h2 em{font-family:"Playfair Display",serif;font-style:italic;font-weight:400}
.public-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,auto);gap:7px}
.public-card-feature{grid-row:auto;grid-column:span 2;display:grid;grid-template-columns:1.45fr .55fr}
.public-card-feature .public-image{height:430px}
.public-card:not(.public-card-feature) .public-image{height:360px}
.public-body{display:flex;flex-direction:column;justify-content:center;padding:42px 38px 44px}
.public-card-feature .public-body{padding:45px 42px}
.public-body h3{font-size:clamp(30px,3.2vw,48px);line-height:.92}
.public-body p{font-size:13px;line-height:1.5}
.ghost-link{margin-top:22px;align-self:flex-start}

/* reorder on homepage: public before steaming */
#steaming{margin-top:0}

@media(max-width:900px){
  .private-section{padding-top:100px;padding-bottom:105px}
  .private-intro{grid-template-columns:1fr;gap:28px;margin-bottom:38px}
  .private-intro h2{font-size:clamp(52px,14vw,82px)}
  .private-intro-copy .lead{font-size:16px}
  .room-wide{height:520px}
  .room-wide-shade{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.18) 35%,rgba(0,0,0,.86))}
  .room-wide-content{left:23px;right:23px;bottom:25px}
  .room-wide-top{left:23px;right:23px;top:20px}
  .room-wide h3{font-size:45px}
  .room-wide-meta{flex-wrap:wrap;gap:9px 16px;padding-right:58px}
  .room-wide-meta strong{margin-left:0}
  .room-wide-arrow{right:22px;bottom:23px;width:47px;height:47px}
  .hero{min-height:900px}
  .hero h1{font-size:clamp(54px,15.5vw,92px);line-height:.88;margin-top:24px}
  .hero h1 em{margin-left:5vw}
  .hero h1 em:last-of-type{margin-left:10vw}
  .hero h1 span:last-child{margin-left:15vw}
  .hero-copy{max-width:420px}
  .public{padding-top:105px;padding-bottom:110px}
  .public .section-head{display:block}
  .public-grid{grid-template-columns:1fr;grid-template-rows:none}
  .public-card-feature{grid-column:auto;display:block}
  .public-card-feature .public-image,.public-card:not(.public-card-feature) .public-image{height:330px}
  .public-body,.public-card-feature .public-body{padding:28px 25px 32px}
}
@media(max-width:560px){
  .hero h1{font-size:clamp(49px,14.8vw,75px)}
  .hero h1 em{margin-left:2vw}
  .hero h1 em:last-of-type{margin-left:6vw}
  .hero h1 span:last-child{margin-left:9vw}
  .hero-proof{margin-top:32px;gap:12px}
  .hero-proof>div{gap:5px}
  .hero-proof span{font-size:5.5px}
  .room-wide{height:470px}
  .room-wide h3{font-size:38px}
  .room-wide-meta{font-size:7px}
  .public .section-head h2{font-size:54px}
}
