/* Vinay's October review: one warm, dark room. Booking keeps its existing skin. */
:root{--paper:#151211;--white:#211a17;--ink:#cbb9a7;--muted:#a3978c;--line:#493b32;--dark:#151211;--red:#923c2c;--red-bright:#d79a7e;--gold:#c39d6c;--soft:#b8aba0;--act:#923c2c;--act-ink:#e1c8b8;--glow2:#bd8066;--room:#151211;--room-raised:#211a17;--room-text:#b8aba0;--room-heading:#cbb9a7;--room-accent:#d19b7f}
html{color-scheme:dark;scrollbar-color:#756052 var(--room)}
body{background:var(--room);color:var(--room-text)}
main h1,main h2,main h3{color:var(--room-heading)}
::selection{background:#80503c;color:#e1c8b8}
:focus-visible{outline-color:var(--room-accent)}
.skip{background:#cbb9a7;color:#151211}
.site-header{color:#cbb9a7;background:linear-gradient(#15121199,transparent)}
.site-header.is-scrolled,.site-header.is-menu{background:#151211f7;color:#cbb9a7;border-color:#493b32;box-shadow:0 6px 25px #0002}
.site-header .brand-light,.site-header.is-scrolled .brand-light,.site-header.is-menu .brand-light{opacity:1}
.site-header .brand-dark{display:none}
.header-book,.site-header.is-scrolled .header-book,.site-header.is-menu .header-book{color:#d9b59e;background:#30221b;border:1px solid #75503d;padding:0 20px}
.header-book:hover,.site-header.is-scrolled .header-book:hover{background:#493024;color:#e1c8b8}
.cta{background:var(--red);color:#e1c8b8}
.cta-arrow{border-left:1px solid #e1c8b83d}
.cta:hover{background:#843525}.cta:hover .cta-arrow{background:#793020}
.hero{background:#151211;color:#cbb9a7}
.hero h1{color:#cbb9a7}
.hero-intro p,.hero-intro strong{color:#c5b7aa}
.hero-topline,.scroll-cue{color:#c5b7aa}
.hero-topline{font-size:11px}
.hero-topline>span{background:#151211c7;padding:5px 7px;margin:-5px -7px}
.hero .scroll-cue{border-color:#c5b7aa66}
.hero-media:after{background:linear-gradient(90deg,#100d0bbb,transparent 68%),linear-gradient(0deg,#100d0bd9,transparent 58%)}
.intro-screen{background:#151211;color:#cbb9a7}
.intro-wordmark>span,.intro-kicker{color:#b8aba0}
.intro-logo .intro-light{display:none}
.ticker{background:#211a17;border-color:var(--line);color:#b8aba0}
.ticker-track i{color:#c18d70}
.ticker-pause{background:#211a17;color:#cbb9a7;border-color:#755d4d}
.ticker-pause:hover{background:#30251e}

/* The two photographs now have the scale of a spread, rather than thumbnails. */
.introduction{display:grid;grid-template-columns:1.5fr 1fr;gap:60px 6%;padding:112px var(--gut) 100px;min-height:0;background:#151211;align-items:start}
.intro-title{grid-column:1;grid-row:1;text-align:left;align-self:start}
.intro-title h2{margin:0;max-width:18ch;font-size:clamp(44px,4.7vw,72px);letter-spacing:-.045em}
.intro-title .eyebrow{margin:0 0 24px;color:var(--muted)}
.intro-note{grid-column:2;grid-row:1;width:auto;margin:0;padding:0;background:none;box-shadow:none;border:0}
.intro-note::before,.intro-note::after{display:none}
.intro-note h3{font-size:clamp(25px,2.2vw,34px);color:var(--room-heading);letter-spacing:-.035em}
.intro-note>p:not(.eyebrow){color:var(--room-text);font-size:16px;line-height:1.6}
.float-photo{position:relative;inset:auto;width:100%;height:clamp(350px,36vw,530px);border:0;box-shadow:none;transform:none}
.float-one{grid-column:1;grid-row:2}.float-two{grid-column:2;grid-row:2}
.float-one img{object-position:50% 50%}.float-two img{object-position:50% 55%}
.float-three{display:none}

#experience{background:#1b1613;border-top:1px solid #3a2d26}
#experience .experience-card,#experience .experience-card:hover,#experience .experience-card:focus-within{background:#211a17;color:#b8aba0}
#experience .card-meta>span,.experience-instruction,.experience-chapters button>span{color:#a3978c}
#experience .experience-scene-copy h3{color:#cbb9a7}
.experience-chapters button{border-color:#695142;color:#b8aba0}
.experience-chapters button[aria-pressed=true],.experience-chapters button[aria-pressed=true]>span,.experience-chapters button:hover{color:#d19b7f}
.experience-chapters button::after{background:#bd8066}
.experience-card .text-link{color:#c8b09c}

/* A quiet portrait of the actual bed replaces the controls and 3D illustration. */
#light-study{background:#151211;padding-top:105px;padding-bottom:75px;border-top:1px solid #3a2d26}
.bed-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;padding-bottom:24px}
.bed-heading h2{font-size:clamp(48px,5.5vw,86px);letter-spacing:-.05em;line-height:1}
.bed-heading>p{font-size:16px;line-height:1.65;max-width:32ch;padding-bottom:5px}
.bed-portrait{position:relative;padding:25px 5% 0;isolation:isolate}
.bed-portrait::before{content:'';position:absolute;left:12%;right:12%;bottom:12%;height:8%;border-radius:50%;background:#000;filter:blur(25px);z-index:-1;opacity:.65}
.bed-portrait>img{position:relative;width:min(100%,1250px);height:auto;object-fit:contain;margin:0 auto;filter:drop-shadow(0 22px 18px #0007)}
.bed-portrait figcaption{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:20px 0 0;font-size:12px;color:var(--muted)}
.research{margin:0;background:#1b1613;color:#b8aba0;padding-top:100px;padding-bottom:24px}
.research-opening h2{color:#cbb9a7}
.research-copy h3{color:#cbb9a7}
.research-copy .eyebrow,.research-copy>p.research-caution{color:#a3978c}
.research-copy>p:not(.eyebrow){color:#b8aba0}
.research-copy .text-link{color:#c8b09c}
.research-image figcaption{color:#cbb9a7}
.research-image:after{background:linear-gradient(transparent,#0f0b09d9)}
.light-spectrum{background:#241e19;color:#b8aba0;border:1px solid #564233}
.spectrum-intro,.spectrum-footer{border-color:#564233}
.spectrum-intro>.eyebrow,.spectrum-footer p,.spectrum-guide,.spectrum-ends{color:#b8aba0}
.spectrum-intro h3,.spectrum-readout strong{color:#cbb9a7}
.spectrum-field::after{background:linear-gradient(90deg,#241e19,transparent 4%,transparent 96%,#241e19)}
.spectrum-baseline{stroke:#897260}.spectrum-wave-back{stroke:#a38a70;opacity:.35}
#spectrumWave{stroke:#ce8e73;stroke-width:2}
.spectrum-sightline{border-color:#806b59;color:#b8aba0}
.spectrum-sightline i{background:#a18a70}
.spectrum-indicator{background:#b97155;border-color:#ce8e73;box-shadow:0 0 0 6px #b9715511}
.light-spectrum[data-spectrum=infrared] #spectrumWave{stroke:#bcab91}
.light-spectrum[data-spectrum=infrared] .spectrum-indicator{border-color:#bcab91;box-shadow:none}
.spectrum-glow{background:radial-gradient(ellipse,#a34a2e22,transparent 68%)}
.spectrum-controls input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#ce8e73,#98735f 49%,#806c58 51%,#bcab91)}
.spectrum-controls input::-moz-range-track{background:linear-gradient(90deg,#ce8e73,#98735f 49%,#806c58 51%,#bcab91)}
.spectrum-controls input::-webkit-slider-thumb{border-color:#ce8e73;background:#241e19;box-shadow:inset 0 0 0 9px #241e19,inset 0 0 0 11px #ce8e73}
.spectrum-controls input::-moz-range-thumb{border-color:#ce8e73;background:#241e19;box-shadow:inset 0 0 0 9px #241e19,inset 0 0 0 11px #ce8e73}
.spectrum-controls input:focus-visible{outline-color:#d19b7f}
#visit{background:#151211}
.visit-step p,.visit-step>div p{color:#b8aba0}
.visit-step summary i,.faq-item summary>span{color:#d19b7f}
#visit .visit-step[open]{border-top-color:#bd8066}
#visit .visit-step[open] summary,#visit .visit-step[open] summary h3,.visit-step summary:hover h3{color:#d19b7f}
.visit-preview{background:#211a17}
.visit-route::before{background:#725b4a}
.visit-route-fill{background:#bd8066}
.visit-route>span:not(.visit-route-fill){border-color:#7c6553;background:#211a17;color:#cbb9a7}
.visit-route>span.is-current{background:#923c2c;border-color:#bd8066;color:#e1c8b8}
.visit-route>span.is-past{color:#d19b7f;border-color:#bd8066}
.sessions{background:#1b1613;padding-top:65px;padding-bottom:90px}
.sessions-visual.real-bed{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:540px;overflow:visible}
.real-bed img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 18px 14px #0006)}
.real-bed figcaption{font-size:12px;color:var(--muted);padding:15px 0;border-bottom:1px solid var(--line)}
.sessions-content h2{color:#cbb9a7}
.session-row{color:#cbb9a7}.session-row small,.sessions-content p.session-note{color:#a3978c}
.session-price i{color:#d19b7f}
.session-row:hover,.session-row:focus-visible{background:#241d17;color:#d19b7f}
.questions{background:#151211;border-top:1px solid #3a2d26}
.faq-item,.faq-item:last-child{border-color:var(--line)}
.faq-item summary{color:#cbb9a7}
.faq-item>div{color:#b8aba0}
.questions .faq-item[open] summary,.questions .faq-item summary:hover{color:#d19b7f}
.finale{background:#151211;color:#cbb9a7;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,4vw,96px);min-height:720px;padding:80px max(var(--gut),calc((100% - 2080px)/2));text-align:left}
.finale-content{grid-column:1;grid-row:1;min-width:0;padding:0}
.finale h2{color:#cbb9a7;font-size:clamp(56px,5.2vw,100px);line-height:1.02;max-width:12ch;margin:28px 0 40px}
/* Room around the full photo contains the existing 1.06 scale and vertical drift. */
.finale-media{position:relative;inset:auto;z-index:auto;grid-column:2;grid-row:1;width:100%;padding:8% 4%;overflow:visible}
.finale-media img{width:100%;height:auto;object-fit:contain}
.finale-media:after{background:none}
@media(max-width:1000px){
 .finale{grid-template-columns:minmax(0,1fr);gap:32px;min-height:0;padding-block:64px}
 .finale-media{grid-column:1;grid-row:2;max-width:760px}
 .finale-content{width:100%;max-width:760px}
 .finale h2{font-size:clamp(46px,8vw,72px)}
}
.site-menu{background:#151211;color:#cbb9a7;scrollbar-color:#756052 #151211}
.menu-content>.eyebrow,.menu-bottom>span{color:#a3978c}
.menu-content nav a[aria-current=location],.menu-content nav a:hover,.menu-content nav sup{color:#d19b7f}
.menu-feature p{color:#cbb9a7}
.booking-context{background:#181a18;color:#bec1b7}.booking-context .eyebrow{color:#cbb9a7}
.booking-context .booking-address{color:#cbb9a7;font-size:14px;margin-bottom:8px}
.book-dock{background:#923c2c;color:#e1c8b8}

/* Freeze the existing booking colours inherited from the former root palette. */
#book{--paper:#f3f3ef;--white:#fff;--ink:#f3f3ef;--muted:#64665f;--line:#d5d6d0;--dark:#181a18;--red:#d52f1d;--red-bright:#e9412b;--gold:#f3f3ef;--soft:#b4b8ad;--act:#d52f1d;--act-ink:#fff;--glow2:#ed654f}
#book h2,#book h3{color:var(--ink)}
#book .foot{color:#b8aba0}
#book .foot address{font-style:normal;font-size:14px;line-height:1.65;text-transform:none}
#book .foot li:has(a[href^="mailto:"]){display:block}
#book .foot .copy{color:#a3978c;max-width:76ch;line-height:1.6}

@media(max-width:1000px){
 .introduction{gap:45px 5%}.intro-title h2{font-size:50px}.float-photo{height:370px}
 .bed-heading{gap:30px}.bed-heading h2{font-size:64px}.bed-heading>p{font-size:14px}
}
@media(max-width:760px){
 .introduction{display:grid;grid-template-columns:1fr;gap:30px;padding:65px var(--gut) 60px}
 .intro-title{grid-row:1;grid-column:1}.intro-title h2{font-size:clamp(39px,10vw,64px);max-width:16ch}
 .intro-title .eyebrow{margin-bottom:20px}
 .float-one{grid-row:2;grid-column:1;height:auto;aspect-ratio:1.2}
 .intro-note{grid-row:3;grid-column:1;padding-block:8px}
 .intro-note h3{font-size:29px}.intro-note>p:not(.eyebrow){font-size:15px}
 .float-two{grid-row:4;grid-column:1;height:340px;object-position:center}
 #light-study{padding-top:65px;padding-bottom:48px}
 .bed-heading{display:block;padding-bottom:0}.bed-heading h2{font-size:clamp(46px,12vw,65px);max-width:15ch}
 .bed-heading>p{margin-top:24px;font-size:15px}
 .bed-portrait{padding:25px 0 0;margin-inline:calc(-1 * var(--gut))}
 .bed-portrait>img{width:100%;aspect-ratio:1.18;object-fit:contain}
 .bed-portrait figcaption{margin-inline:var(--gut);display:block;font-size:11px;line-height:1.7}
 .bed-portrait figcaption>span{display:block}
 .research{margin:0;padding-top:60px}.research-opening h2{font-size:17.5vw}
 .light-spectrum{margin-inline:0;padding-inline:20px}
 .sessions{padding-top:34px;padding-bottom:60px}
 .sessions-visual.real-bed{min-height:0;aspect-ratio:1.15;justify-content:center}
 .real-bed figcaption{margin-top:0;font-size:11px}
 .sessions-content{padding-top:30px}
 .questions{padding-block:60px}
 .header-book,.site-header.is-scrolled .header-book,.site-header.is-menu .header-book{padding-inline:12px}
}
@media(max-width:600px){
 .hero-media:after{background:linear-gradient(180deg,#100d0ba8,transparent 36%,transparent 56%,#100d0bee)}
 .hero-intro p{color:#c5b7aa}
}
@media(prefers-reduced-motion:reduce){
 .intro-screen{display:none!important}.hero-media img{transform:none!important}
 .bed-portrait img,.real-bed img{transform:none!important}
}
