:root{--night:#12120f;--ivory:#ece7dc;--gold:#b8a178;--smoke:#25241f;--serif:'Times New Roman',Times,serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ivory);font-family:var(--sans)}a{color:inherit;text-decoration:none}img{display:block;width:100%}.skip{position:fixed;top:-5rem;left:1rem;background:var(--ivory);color:var(--night);padding:.8rem;z-index:30}.skip:focus{top:1rem}header{height:84px;position:absolute;z-index:10;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3vw;color:#fff;border-bottom:1px solid #ffffff35}.monogram{border:1px solid #ffffff80;width:42px;height:42px;display:grid;place-items:center;font:italic .8rem var(--serif)}nav{display:flex;gap:2.8rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.2em}nav a{position:relative}nav a:after{content:'';position:absolute;height:1px;background:currentColor;left:0;right:100%;bottom:-7px;transition:right .3s}nav a:hover:after{right:0}.reserve{text-align:right;text-transform:uppercase;font-size:.66rem;letter-spacing:.2em}.nav-toggle{display:none}.hero{height:100svh;min-height:680px;position:relative;overflow:hidden}.hero>img{height:100%;object-fit:cover}.veil{position:absolute;inset:0;background:linear-gradient(90deg,#080807ae 0%,transparent 60%),linear-gradient(0deg,#080807aa,transparent 50%)}.hero-copy{position:absolute;inset:0;padding:150px 7vw 5vw;display:flex;flex-direction:column}.hero-copy>p{text-transform:uppercase;font-size:.63rem;letter-spacing:.24em}.hero h1{font:clamp(5rem,11vw,11rem)/.68 var(--serif);letter-spacing:-.07em;margin:auto 0;color:#f8f3e9}.hero h1 i{font-weight:normal;color:var(--gold)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;margin-left:26vw}.hero-bottom>p{font:1.25rem/1.45 var(--serif)}.hero-bottom a,.line-link{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid #ffffff65;padding:.8rem 0;min-width:250px;display:flex;justify-content:space-between}.sound{position:absolute;right:2.5vw;top:50%;transform:rotate(90deg);background:none;border:0;color:#fff;text-transform:uppercase;letter-spacing:.17em;font-size:.58rem;cursor:pointer}.sound span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:.6rem}.sound[aria-pressed=true] span{box-shadow:0 0 0 6px #b8a17835}.prologue{position:relative;min-height:720px;padding:12rem 12vw;display:grid;grid-template-columns:1fr 2fr;align-content:center;background:var(--ivory);color:var(--night)}.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.61rem}.prologue-copy{max-width:700px}.prologue-copy p{display:inline;font:clamp(2.3rem,4vw,4.6rem)/1.12 var(--serif);letter-spacing:-.035em}.drop{font:italic 9rem/.65 var(--serif);float:left;margin-right:.25rem;color:#756a55}.side-note{position:absolute;right:3vw;bottom:3rem;writing-mode:vertical-rl;font-size:.57rem;text-transform:uppercase;letter-spacing:.18em}.rooms{display:grid;grid-template-columns:1.2fr .8fr;min-height:900px}.rooms-image{overflow:hidden;margin:8rem 0 8rem 7vw}.rooms-image img{height:100%;object-fit:cover;transform:scale(1.25);object-position:left center;filter:saturate(.75)}.rooms-copy{padding:13rem 7vw;background:var(--smoke);display:flex;flex-direction:column;justify-content:center}.rooms-copy h2,.section-title h2,.table h2,.booking h2{font:normal clamp(3.8rem,7vw,7rem)/.83 var(--serif);letter-spacing:-.055em;margin:3rem 0}.rooms-copy>p:not(.kicker),.table-copy>p:not(.kicker){font:1.05rem/1.7 var(--serif);color:#c9c2b6;max-width:390px}.rooms-copy .line-link{margin-top:3rem}.rituals{background:#25241f;padding:10rem 7vw;border-top:1px solid #ffffff20}.section-title{text-align:center}.section-title h2 i{color:var(--gold);font-weight:normal}.ritual-list{margin-top:8rem;border-top:1px solid #ffffff35}.ritual-list article{display:grid;grid-template-columns:.6fr 2fr auto;align-items:baseline;border-bottom:1px solid #ffffff35;padding:2rem 0}.ritual-list p,.ritual-list span{font-size:.6rem;text-transform:uppercase;letter-spacing:.18em}.ritual-list h3{font:normal 2rem var(--serif);margin:0}.table{min-height:850px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:10rem 7vw;background:#6a614e}.table .line-link{margin-top:3rem}.table blockquote{font:normal clamp(2.2rem,4.3vw,5rem)/1.05 var(--serif);margin:0;text-align:center}.table blockquote i{color:#1b1a16}.booking{text-align:center;padding:11rem 7vw;background:var(--ivory);color:var(--night)}.booking h2{font-size:clamp(5rem,11vw,11rem)}.booking form{max-width:1000px;margin:5rem auto 0;display:grid;grid-template-columns:1fr 1fr 1fr auto;border-top:1px solid #8a867c;border-bottom:1px solid #8a867c}.booking label{padding:1rem;text-align:left;border-right:1px solid #8a867c;font-size:.55rem;text-transform:uppercase;letter-spacing:.18em}.booking input,.booking select{display:block;width:100%;margin-top:.7rem;border:0;background:transparent;font:1rem var(--serif);color:var(--night)}.booking button{border:0;background:var(--night);color:var(--ivory);padding:1rem 2.5rem;text-transform:uppercase;letter-spacing:.13em;font-size:.6rem}.status{grid-column:1/-1;margin:.7rem;min-height:1rem;font-size:.8rem}.booking-note{font:italic 1rem var(--serif);margin-top:2.5rem}footer{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:2rem;padding:5rem 4vw;align-items:end}footer p,footer a{font-size:.58rem;text-transform:uppercase;letter-spacing:.17em;line-height:1.8;margin:0}.footer-name{font:italic 2.5rem var(--serif);text-transform:none;letter-spacing:-.04em}footer div{display:flex;flex-direction:column}.reveal{opacity:0;transform:translateY(28px);transition:1s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){header{height:70px;padding:0 1.1rem;grid-template-columns:1fr auto}.nav-toggle{display:block;background:none;color:#fff;border:0;font-size:.62rem;text-transform:uppercase;letter-spacing:.17em}.mini-reserve{display:none}header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--night);padding:2rem 1.1rem;flex-direction:column}header nav.open{display:flex}.hero{min-height:650px}.hero-copy{padding:120px 1.2rem 2rem}.hero h1{font-size:5.5rem}.hero-bottom{margin-left:0;display:block}.hero-bottom a{margin-top:2rem}.sound{display:none}.prologue{display:block;padding:8rem 1.2rem;min-height:650px}.prologue .kicker{margin-bottom:3rem}.side-note{display:none}.rooms{display:flex;flex-direction:column;min-height:0}.rooms-image{height:62vh;margin:0}.rooms-copy{padding:7rem 1.2rem}.rituals{padding:7rem 1.2rem}.ritual-list{margin-top:5rem}.ritual-list article{grid-template-columns:1fr auto}.ritual-list h3{grid-row:2;grid-column:1/-1;margin-top:1rem}.table{display:block;min-height:0;padding:7rem 1.2rem}.table blockquote{margin-top:7rem}.booking{padding:7rem 1.2rem}.booking h2{font-size:5rem}.booking form{display:block}.booking label{display:block;border-right:0;border-bottom:1px solid #8a867c}.booking button{width:100%;padding:1.5rem}footer{grid-template-columns:1fr 1fr;padding:4rem 1.2rem}footer>p{grid-column:1/-1}.footer-name{font-size:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
/* Identity refinement */
.housemark{display:inline-flex;align-items:center;gap:.8rem;width:max-content}
.arch{position:relative;width:27px;height:38px;border:1px solid #d3c6ab;border-radius:15px 15px 0 0;display:block}
.arch:before{content:'';position:absolute;inset:6px 5px 0;border:1px solid #d3c6ab;border-bottom:0;border-radius:10px 10px 0 0}
.arch:after{content:'';position:absolute;width:1px;height:12px;background:var(--gold);bottom:0;left:50%}
.house-name{display:flex;flex-direction:column}
.house-name small{font:.48rem var(--sans);text-transform:uppercase;letter-spacing:.29em;margin-left:.15rem}
.house-name b{font:normal italic 1.18rem/1.05 var(--serif);letter-spacing:-.025em}
.footer-name{font:inherit;text-transform:none;letter-spacing:0}
.hero h1{font-size:clamp(6.5rem,12vw,12.5rem);line-height:.62}
.rooms-copy h2,.section-title h2,.table h2{font-size:clamp(3rem,5.8vw,6.2rem);line-height:.88}
@media(max-width:760px){.hero h1{font-size:6rem}.house-name b{font-size:1rem}.house-name small{font-size:.42rem}.rooms-copy h2,.section-title h2,.table h2{font-size:3.75rem}}
/* Discreet concierge access */
.whatsapp-float{position:fixed;z-index:40;right:1.2rem;bottom:1.2rem;display:flex;align-items:center;gap:.7rem;background:#12120fd9;color:var(--ivory);border:1px solid #b8a17880;padding:.85rem 1rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;backdrop-filter:blur(10px)}
.whatsapp-float span{color:#4bd680}
@media(max-width:760px){.whatsapp-float{right:.7rem;bottom:.7rem}}

/* Spatial rhythm audit */
@media(min-width:761px){
  .prologue{min-height:620px;padding:8rem 12vw}
  .rooms{min-height:760px}
  .rooms-image{margin:5rem 0 5rem 7vw}
  .rooms-copy{padding:8rem 7vw}
  .rituals{padding:7rem 7vw}
  .ritual-list{margin-top:4.5rem}
  .table{min-height:700px;padding:7rem 7vw}
  .booking{padding:7rem 7vw}
  .booking h2{margin:1.5rem 0}
  .booking form{margin-top:3.5rem}
}
@media(max-width:760px){
  .prologue{padding:6rem 1.2rem;min-height:560px}.rooms-copy,.rituals,.table,.booking{padding-top:5.5rem;padding-bottom:5.5rem}
  .table blockquote{margin-top:4rem}
}

/* Collection navigation */
.catalog-return{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid #222;border-radius:24px;background:#fff;color:#222;box-shadow:0 3px 14px #00000018;font:500 12px/1.2 Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none;text-decoration:none}
.catalog-return:hover{background:#222;color:#fff}
.catalog-return:focus-visible{outline:3px solid #517ab9;outline-offset:3px}
body>footer{padding-bottom:max(5rem,calc(env(safe-area-inset-bottom) + 72px))}
@media(max-width:420px){.catalog-return{padding-inline:12px}.catalog-return-prefix{display:none}}

/* Collection controls occupy their own space below the page. */
.collection-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem max(1.2rem,4vw);border-top:1px solid currentColor}
.collection-tools .catalog-return,.collection-tools .whatsapp-float{position:static;inset:auto;transform:none;margin:0;min-height:44px;display:inline-flex;align-items:center;box-shadow:none;font-size:12px}
.collection-tools .catalog-return{background:transparent;color:inherit;border-color:currentColor;border-radius:0}
body>footer{padding-bottom:3rem}
a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:4px}


.demo-note{font:14px/1.6 var(--sans);max-width:550px;margin:1.5rem auto}.rooms-image img{transform:none;object-position:center}.hero h1{line-height:.85}.booking form{margin-top:2rem}

form.reveal{opacity:1;transform:none}
