/* The Office, site design system (site/08-feel), consolidated Oct 15 2026.
   Brand Standards Oct 14: ink ground, gold accent, ivory type, Cormorant Garamond Light
   for the voice, Montserrat for the rest, square corners, 1px borders, no shadows, no gradients.
   One size per type role, set once below. Gold italic belongs to the h1 and the closing line;
   section headings turn in ivory italic. The only gold fill is the button. */

/* 1. Tokens */
:root{
  --ink:#080808;--deep:#0d0d0d;--lift:#1a1a1a;
  --gold:#b0904e;--gold-dim:#7a6336;
  --ivory:#f8f5f0;--linen:#ede8e0;--stone:#c8c2ba;--warm:#a8a09a;--pewter:#8a8a8a;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',Arial,sans-serif;
  /* Brand Standards Oct 14, web sizes: headline 96, section 38, closing line 61,
     statement 32 italic, numeral 54 gold, eyebrow 14 at .28em, body 16 at 1.85 */
  --fs-hero:clamp(3.1rem,1.6rem + 5.2vw,6rem);
  --fs-display:clamp(2.7rem,1.6rem + 3.4vw,4.75rem);
  --fs-close:clamp(2.3rem,1.5rem + 1.9vw,3.25rem);
  --fs-h2:clamp(1.75rem,1.3rem + 1.1vw,2.125rem);
  --fs-h3:clamp(1.2rem,1.05rem + .4vw,1.375rem);
  --fs-statement:clamp(1.25rem,1rem + .6vw,1.5rem);
  --fs-serif:clamp(1.2rem,1.02rem + .45vw,1.45rem);
  --fs-price:clamp(2rem,1.6rem + 1vw,2.5rem);
  --fs-body:1rem;--fs-small:.875rem;--fs-label:.875rem;
  --gutter:clamp(1.25rem,5vw,4.5rem);
  --nav-h:84px;
  --veil:rgba(8,8,8,.62);
}

/* 2. Base */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:var(--nav-h);overflow-x:clip}
body{background:var(--ink);color:var(--stone);font-family:var(--sans);font-weight:300;font-size:var(--fs-body);line-height:1.85;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:1rem;top:-4rem;z-index:300;background:var(--gold);color:var(--ink);padding:.6rem 1rem;font-size:var(--fs-small);text-decoration:none}
.skip:focus{top:1rem}

/* 3. Type roles */
.eyebrow{display:block;font-weight:500;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.eyebrow.muted{color:var(--pewter)}
.rule{width:36px;height:1px;background:var(--gold-dim);margin:1.2rem 0 1.5rem}
.display,.h2,.h3{font-family:var(--serif);font-weight:300;color:var(--ivory)}
.display{font-size:var(--fs-display);line-height:1.05;letter-spacing:-.01em;max-width:18ch}
.hero-min .display{font-size:var(--fs-display);max-width:none}
.close .display{font-size:var(--fs-close)}
.h2{font-size:var(--fs-h2);line-height:1.18;max-width:48ch}
.h3{font-size:var(--fs-h3);line-height:1.3;font-weight:400}
.turn{display:block;font-style:italic;font-weight:300}
/* section titles stay on one line when they fit; the gold turn follows on the same line */
.h2 .turn,.h3 .turn{display:inline}
.display .turn,.display em,.h2 .turn,.h2 em{color:var(--gold);font-style:italic}
.statement,.hero-statement,.familiar p,.scene-cap,.way .why,.alt,.qa summary,.quote{font-family:var(--serif);font-weight:300;font-size:var(--fs-serif);line-height:1.5;color:var(--ivory)}
.statement,.hero-statement{font-size:var(--fs-statement);font-style:italic;line-height:1.5}
.statement,.scene-cap,.way .why,.alt,.quote{font-style:italic}
.lede{font-size:var(--fs-body);color:var(--stone);max-width:60ch}
.body{color:var(--stone);max-width:62ch}
.body+.body{margin-top:1.1rem}
.small,.terms{font-size:var(--fs-small);line-height:1.7;color:var(--pewter)}
.warm{color:var(--warm)}
.gold{color:var(--gold)}
.quote-by{margin-top:1rem;font-size:var(--fs-label);font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--warm)}

/* 4. Layout */
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:780px}
.sec{padding:clamp(3rem,5.5vw,5rem) 0}
.sec.tight{padding:clamp(2.25rem,4vw,3.5rem) 0}
.sec.deep{background:var(--deep)}
.sec.line{border-top:1px solid var(--lift)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.split.wide-left{grid-template-columns:1.15fr .85fr}
@media(max-width:900px){.split,.split.wide-left{grid-template-columns:minmax(0,1fr)}}

/* 5. Components */

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.nav.solid{background:rgba(8,8,8,.94);border-bottom-color:var(--lift)}
.nav .logo img{height:46px;width:auto}
.nav-links{display:flex;align-items:center;gap:2.4rem;list-style:none}
.nav-links a{font-size:.8rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--ivory);opacity:.72;transition:opacity .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{opacity:1}
.nav-links .nav-cta{opacity:1;color:var(--gold);border:1px solid var(--gold-dim);padding:.7rem 1.1rem;font-weight:500}
.nav-links .nav-cta:hover{border-color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:13px 9px;cursor:pointer;flex-direction:column;justify-content:space-between}
.nav-toggle span{display:block;height:1px;background:var(--ivory);transition:transform .25s,opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
@media(max-width:1020px){
  .nav-toggle{display:flex}
  .nav:not(.lp) .nav-links{position:fixed;inset:var(--nav-h) 0 0 0;background:var(--ink);flex-direction:column;justify-content:center;gap:2rem;transform:translateX(100%);visibility:hidden;transition:transform .35s ease,visibility 0s linear .35s}
  .nav:not(.lp) .nav-links.open{transform:none;visibility:visible;transition:transform .35s ease}
  .nav:not(.lp) .nav-links a{font-size:.95rem}
}
/* ad landing pages: phone and the one CTA, no menu */
.nav.lp .nav-links{gap:1.6rem}
.nav.lp .nav-links a{font-size:.72rem}
@media(max-width:560px){.nav.lp .lp-phone{display:none}.nav.lp .nav-cta{padding:.6rem .8rem;letter-spacing:.16em}.nav.lp .logo img{height:38px}}
@media(max-width:420px){.nav.lp .nav-cta{white-space:nowrap;font-size:.62rem;letter-spacing:.1em;padding:.55rem .7rem}}

/* buttons and links */
.btn{display:inline-block;background:var(--gold);color:var(--ink);font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;padding:1.1rem 1.9rem;border:1px solid var(--gold);transition:background .2s,color .2s;cursor:pointer}
.btn:hover{background:transparent;color:var(--gold)}
.cta-note{margin-top:.9rem;font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--warm)}
.link{font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim);padding-bottom:3px}
.link:hover{border-color:var(--gold)}
.signoff{margin-top:2rem;font-family:var(--serif);font-style:italic;color:var(--warm);letter-spacing:.1em;font-size:1rem}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero.short{min-height:78svh}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:drift 22s ease-out forwards}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--veil)}
.hero-min::before{background:rgba(8,8,8,.7)}
.hero-body{width:100%;max-width:1440px;margin:0 auto;padding:calc(var(--nav-h) + 3rem) var(--gutter) clamp(3.5rem,10vh,7rem)}
.hero .eyebrow{margin-bottom:1.4rem}
.hero .lede{margin-top:1.4rem;color:var(--linen)}
.hero-statement{margin-top:1.5rem;max-width:40ch;font-size:var(--fs-serif);color:var(--linen)}
.hero-actions{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:1.25rem 2rem;align-items:center}
@keyframes drift{to{transform:scale(1)}}

/* reveal */
.rv{opacity:0;transform:translateY(12px);transition:opacity 1.1s ease,transform 1.1s ease}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.15s}.rv.d2{transition-delay:.3s}.rv.d3{transition-delay:.45s}
.no-js .rv{opacity:1;transform:none}

/* introduction page */
.intro{position:relative;min-height:100svh;padding:calc(var(--nav-h) + clamp(2.5rem,6vh,4.5rem)) 0 clamp(3rem,8vh,5rem);display:flex;align-items:center;isolation:isolate;overflow:hidden}
.intro-media{position:absolute;inset:0 auto 0 0;width:58%;z-index:-2}
.intro-media img{width:100%;height:100%;object-fit:cover;object-position:88% 45%}
.intro::before{content:"";position:absolute;inset:0 auto 0 0;width:58%;z-index:-1;background:rgba(8,8,8,.72)}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center;width:100%}
.intro .lede{margin-top:1.4rem;color:var(--linen)}
.visit{list-style:none;counter-reset:v;margin-top:2.2rem;border-top:1px solid var(--lift)}
.visit li{counter-increment:v;position:relative;padding:1rem 0 1rem 2.6rem;border-bottom:1px solid var(--lift);font-size:.95rem;color:var(--stone)}
.visit li::before{content:"0" counter(v);position:absolute;left:0;top:.9rem;font-family:var(--serif);color:var(--warm);font-size:1.15rem}
.visit b{font-weight:500;color:var(--ivory)}
.intro-form{background:var(--deep);border:1px solid var(--lift);padding:clamp(1.6rem,3vw,2.6rem)}
.intro-form .form-head{font-family:var(--serif);font-weight:300;color:var(--ivory);font-size:var(--fs-h3);line-height:1.3}
.intro-form .form-head em{font-style:italic}
.intro-form .mf{margin:1.6rem 0 0;max-width:none}
.intro-form .form-alt{margin-top:1.2rem}
.intro-form .form-alt a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim)}
.cal{border-top:1px solid var(--lift);background:var(--deep)}
.cal summary{list-style:none;cursor:pointer;padding:1.6rem 0;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter)}
.cal summary::-webkit-details-marker{display:none}
.cal summary .wrap{display:block}
.cal-body{padding-bottom:3rem}
@media(max-width:900px){
  .intro{min-height:0;display:block}
  .intro-media,.intro::before{width:100%;height:56vh;bottom:auto}
  .intro::before{background:rgba(8,8,8,.68)}
  .intro-grid{grid-template-columns:minmax(0,1fr)}
}

/* the day */
.day-head{margin-bottom:clamp(2rem,4vw,3rem)}
.scene{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2rem,4vw,3rem) 0;border-top:1px solid var(--lift)}
.scene:nth-of-type(even) .scene-media{order:2}
.scene-media{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--deep)}
.scene-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s ease}
.scene:hover .scene-media img{transform:scale(1.02)}
.scene-time{font-family:var(--serif);font-weight:300;color:var(--gold);font-size:clamp(3.2rem,2rem + 3.6vw,5.2rem);line-height:1;letter-spacing:-.02em}
.scene-time small{font-size:.26em;color:var(--warm);letter-spacing:.2em;margin-left:.35em;text-transform:uppercase;font-family:var(--sans);font-weight:400}
.scene-cap{margin:.9rem 0 1rem}
.scene-tier{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--lift);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter)}
.scene-tier b{font-weight:500;color:var(--gold);white-space:nowrap}
.scene.now .scene-time::after{content:"now";margin-left:.7rem;font-family:var(--sans);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-dim);padding:.2rem .45rem;vertical-align:middle}
.swipe-hint{display:none}
@media(max-width:900px){.scene{grid-template-columns:minmax(0,1fr)}.scene:nth-of-type(even) .scene-media{order:0}.scene-media{aspect-ratio:4/3}}
@media(max-width:760px){
  .scenes{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 1rem;scrollbar-width:none}
  .scenes::-webkit-scrollbar{display:none}
  .scenes .scene{flex:0 0 86%;scroll-snap-align:start;display:block;border-top:0;padding:0}
  .scenes .scene-media{aspect-ratio:4/3;margin-bottom:1.2rem}
  .swipe-hint{display:block;margin-top:1rem;font-size:var(--fs-label);letter-spacing:.24em;text-transform:uppercase;color:var(--pewter)}
  .swipe-hint::after{content:"  \2192";color:var(--gold)}
  .day-head{margin-bottom:2rem}
}

.day-lead{margin-bottom:1.6rem;color:var(--warm)}
@media(max-width:760px){.scenes .scene-time{font-size:3rem}}

/* home: why we built it, then the room */
.story .statement{margin-top:1.4rem;max-width:46ch}
.story .h2{margin-bottom:.4rem}
.founder-line{margin-top:2.6rem;padding-top:1.8rem;border-top:1px solid var(--lift);font-family:var(--serif);font-style:italic;font-weight:300;font-size:var(--fs-statement);color:var(--warm);max-width:46ch}
.room{margin-top:clamp(4.5rem,9vw,7rem)}

/* reader doors (home row, membership list) */
.doorrow{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .8rem;margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--lift)}
.doorrow>.eyebrow{width:100%;margin-bottom:.4rem}
.door{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border:1px solid var(--lift);text-decoration:none;transition:border-color .2s}
.door:hover{border-color:var(--gold-dim)}
.door .eyebrow{font-size:.66rem;color:var(--stone)}

/* moments */
.moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--lift);border:1px solid var(--lift);margin-top:3rem}
.moments.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.moment{background:var(--ink);padding:2.2rem 2rem}
.sec.deep .moment{background:var(--deep)}
.moment .when{font-family:var(--serif);color:var(--warm);font-size:var(--fs-h3);font-weight:300;line-height:1}
.moment .when small{font-family:var(--sans);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;margin-left:.5rem}
.moment h3{font-family:var(--serif);font-weight:400;color:var(--ivory);font-size:var(--fs-h3);line-height:1.3;margin:1rem 0 .7rem}
.moment p{font-size:.95rem;color:var(--stone)}
@media(max-width:1000px){.moments.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.moments{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.moments.four{grid-template-columns:minmax(0,1fr)}}

/* the reader's week */
.familiar{border-left:1px solid var(--gold-dim);padding-left:clamp(1.25rem,3vw,2.5rem)}
.familiar p+p{margin-top:1rem}
.familiar p.gold{font-style:italic;color:var(--gold)}

/* tiers, ways in, price strip */
.ways{display:grid;grid-template-columns:1.25fr 1fr;gap:1px;background:var(--lift);border:1px solid var(--lift);margin-top:3rem}
.ways.one{grid-template-columns:minmax(0,560px);background:none;border:0}
.ways.one .way{border:1px solid var(--lift)}
.way{background:var(--ink);padding:2.4rem 2.2rem;display:flex;flex-direction:column}
.sec.deep .way{background:var(--deep)}
.way.pick{border-top:1px solid var(--gold-dim)}
.way .tag{font-size:.62rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-dim);align-self:flex-start;padding:.28rem .55rem;margin-bottom:1.2rem}
.way .tag.quiet{color:var(--pewter);border-color:var(--lift)}
.way .name{font-size:.75rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--ivory)}
.way .price{font-family:var(--serif);font-weight:300;color:var(--gold);font-size:var(--fs-price);line-height:1;margin-top:.8rem}
.way .per{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter);margin-top:.5rem}
.way .why{margin:1.2rem 0 1rem}
.way ul{list-style:none;flex:1}
.way li{position:relative;padding-left:1.3rem;font-size:.92rem;margin:.4rem 0}
.way li::before{content:"";position:absolute;left:0;top:.85em;width:9px;height:1px;background:var(--gold-dim)}
.way .btn,.way .link{margin-top:1.6rem;align-self:flex-start}
.tiers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--lift);border:1px solid var(--lift);margin-top:2.5rem}
.tiers .way{padding:2rem 1.5rem}
.alt{margin-top:1.4rem}
.alt a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim)}
.terms{margin-top:1.4rem;max-width:90ch}
.terms a{color:var(--gold)}
.strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--lift);border:1px solid var(--lift)}
.strip a{background:var(--deep);padding:1.8rem 1.3rem;text-decoration:none;display:flex;flex-direction:column;transition:background .3s}
.strip a:hover{background:var(--ink)}
.strip .name{font-size:.7rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory)}
.strip b{font-family:var(--serif);font-weight:300;color:var(--gold);font-size:var(--fs-price);line-height:1;margin:.8rem 0 .5rem}
.strip small{font-size:.78rem;color:var(--pewter);line-height:1.5}
@media(max-width:1180px){.tiers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.ways{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.tiers{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.strip{grid-template-columns:repeat(2,minmax(0,1fr))}.strip a:last-child{grid-column:1/-1}}

/* calculator */
.finder{border:1px solid var(--lift);background:var(--deep);padding:clamp(2rem,4vw,3rem);margin-top:3rem}
.finder fieldset{border:0;margin-bottom:1.8rem}
.finder legend{font-size:var(--fs-label);font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--warm);margin-bottom:1rem}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;border:1px solid var(--lift);padding:.7rem 1.05rem;font-size:.86rem;color:var(--stone);transition:border-color .2s,color .2s}
.chips input:checked+span{border-color:var(--gold);color:var(--ivory)}
.chips input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.range{display:flex;align-items:center;gap:1.2rem}
.range input{flex:1;accent-color:var(--gold)}
.range output{font-family:var(--serif);color:var(--ivory);font-size:1.4rem;min-width:7ch}
.answer{border-top:1px solid var(--lift);padding-top:1.8rem;display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:end}
.answer .name{font-size:.75rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--ivory)}
.answer .big{font-family:var(--serif);font-weight:300;color:var(--gold);font-size:var(--fs-price);line-height:1.1;margin-top:.5rem}
.answer p{font-size:.9rem;color:var(--stone);margin-top:.6rem;max-width:60ch}
@media(max-width:700px){.answer{grid-template-columns:minmax(0,1fr)}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--lift);background:var(--deep)}
.stat{padding:2rem 1.4rem;text-align:center;border-right:1px solid var(--lift)}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:var(--serif);font-weight:300;color:var(--gold);font-size:var(--fs-price);line-height:1}
.stat span{display:block;margin-top:.8rem;font-size:var(--fs-label);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--pewter)}
.stats-foot{margin-top:1rem;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--pewter);text-align:center}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--lift)}}

/* notes, questions */
.note-bar{border:1px solid var(--lift);padding:1.3rem 1.7rem;display:flex;flex-wrap:wrap;gap:.6rem 2rem;align-items:center;justify-content:space-between}
.note-bar p{font-family:var(--serif);font-style:italic;color:var(--ivory);font-size:var(--fs-statement)}
.qa{border-top:1px solid var(--lift)}
.qa details{border-bottom:1px solid var(--lift)}
.qa summary{list-style:none;cursor:pointer;padding:1.3rem 2.5rem 1.3rem 0;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";position:absolute;right:.4rem;top:50%;width:12px;height:1px;background:var(--gold-dim)}
.qa summary::before{content:"";position:absolute;right:calc(.4rem + 5.5px);top:calc(50% - 5.5px);width:1px;height:12px;background:var(--gold-dim);transition:transform .25s}
.qa details[open] summary::before{transform:scaleY(0)}
.qa details p{padding:0 0 1.4rem;color:var(--stone);max-width:70ch}

/* close */
.close{position:relative;padding:clamp(3.5rem,6vw,5rem) 0;text-align:center;overflow:hidden;isolation:isolate}
.close>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.close::before{content:"";position:absolute;inset:0;background:rgba(8,8,8,.82);z-index:-1}
.close .display{margin-left:auto;margin-right:auto}
.close .rule{margin-left:auto;margin-right:auto}
.close .lede{margin-left:auto;margin-right:auto}
.close .btn{margin-top:2.4rem}

/* map, explore, footer */
.map{border:1px solid var(--lift);line-height:0;background:var(--deep)}
.map iframe{filter:grayscale(.35) contrast(1.05)}
.explore{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.explore h3{font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--ivory);margin-bottom:.8rem}
.explore ul{list-style:none;line-height:2.2;font-size:.9rem}
.explore a{text-decoration:none;color:var(--stone);border-bottom:1px solid var(--lift)}
.explore a:hover{color:var(--ivory)}
@media(max-width:760px){.explore{grid-template-columns:minmax(0,1fr)}}
.foot{background:var(--deep);border-top:1px solid var(--lift);padding:4rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.foot img{height:40px;width:auto;margin-bottom:1.2rem}
.foot .eyebrow{font-size:.66rem;margin-bottom:.9rem;color:var(--warm)}
.foot p,.foot a{font-size:.88rem;color:var(--pewter);text-decoration:none;line-height:1.95}
.foot a:hover{color:var(--ivory)}
.foot-sign{margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--lift);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}
.foot-sign em{font-family:var(--serif);font-style:italic;color:var(--warm);letter-spacing:.12em}
.foot-sign small{font-size:.75rem;color:var(--pewter)}
@media(max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.foot-grid{grid-template-columns:minmax(0,1fr)}}

/* sticky phone CTA */
.mcta{display:none}
@media(max-width:760px){
  .mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:rgba(8,8,8,.96);border-top:1px solid var(--lift);transform:translateY(110%);transition:transform .35s}
  .mcta.show{transform:none}
  .mcta .btn{display:block;text-align:center;padding:1rem}
  body{padding-bottom:76px}
  .btn{letter-spacing:.2em;padding:1.05rem 1.2rem}
  .answer .btn,.way .btn{display:block;text-align:center;align-self:stretch}
}


/* home flow (Oct 15): hours, the pang, the room, rates, the visit */
.sec-head{margin-bottom:clamp(2rem,4vw,2.75rem)}
.pang{margin-top:clamp(3rem,6vw,4.5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--lift);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 3rem}
.pang .statement{color:var(--ivory);max-width:none}
.room-split{align-items:start;gap:clamp(2rem,6vw,5rem)}
.room-split .story .statement{margin-top:0}
.room-split .story .statement+.statement{margin-top:1.2rem}
.proof .body{max-width:none}
.proof .quote{margin-top:2rem}
.doorlinks{margin-top:0}
.doorlinks .eyebrow{margin-bottom:1rem}
.doorlinks ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 2.2rem}
.doorlinks a.door{display:inline;padding:0;border:0;font-family:var(--serif);font-style:italic;font-size:var(--fs-serif);color:var(--ivory);text-decoration:none;border-bottom:1px solid var(--gold-dim)}
.doorlinks a.door:hover{color:var(--gold);border-color:var(--gold)}
.join-line{margin-top:2rem;font-family:var(--serif);font-style:italic;font-size:var(--fs-statement);color:var(--ivory)}
.close .founder-line{margin:1.6rem auto 0;border-top:0;padding-top:0;color:var(--ivory);max-width:44ch;font-size:clamp(1.15rem,1rem + .35vw,1.375rem)}
.close .story-link{margin-top:1.4rem}
.close .close-line{margin-top:clamp(2.2rem,4vw,3rem)}

.centered{text-align:center}
.centered .rule{margin-left:auto;margin-right:auto}
.centered .quote{margin:0 auto;max-width:40ch}
.sec-head+.quote{max-width:46ch}


/* compact footer (Oct 16): one block, everything on two rows */
.foot{padding:clamp(2.5rem,5vw,3.5rem) 0 1.4rem}
.foot-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.foot-id img{height:36px;width:auto;margin-bottom:1rem}
.foot-blurb{font-size:.82rem;line-height:1.7;color:var(--stone);max-width:52ch}
.foot-facts{margin-top:.8rem;font-size:.82rem;line-height:1.8;color:var(--pewter)}
.foot-id .link{display:inline-block;margin-top:.9rem;font-size:.66rem}
.foot-map iframe{height:220px}
.foot-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem 2rem;margin-top:clamp(2rem,4vw,2.75rem);padding-top:clamp(1.5rem,3vw,2rem);border-top:1px solid var(--lift)}
.foot-links .eyebrow{font-size:.64rem;letter-spacing:.24em;color:var(--warm);margin-bottom:.7rem}
.foot-links ul{list-style:none}
.foot-links li{font-size:.8rem;line-height:1.95;color:var(--pewter)}
.foot .foot-links a{font-size:.8rem;line-height:1.95}
.foot-sign{margin-top:clamp(1.5rem,3vw,2rem);padding-top:1.1rem}
@media(max-width:900px){.foot-top{grid-template-columns:minmax(0,1fr)}.foot-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.foot-map{display:none}.foot-links{gap:1.2rem 1.2rem}.foot-links li,.foot .foot-links a{font-size:.78rem;line-height:1.8}.foot-sign{flex-direction:column;align-items:flex-start;gap:.4rem}}


/* introduction page booking panel (Oct 16): Pick a time first, Leave your name second */
.intro-grid:has(.book){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}
.book{padding:clamp(1.1rem,2.2vw,1.8rem)}
.book-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--lift);margin-bottom:1.4rem}
.book-tabs button{background:none;border:0;border-bottom:1px solid transparent;margin-bottom:-1px;padding:1rem .6rem;font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--pewter);cursor:pointer;transition:color .2s,border-color .2s}
.book-tabs button[aria-selected="true"]{color:var(--ivory);border-bottom-color:var(--gold)}
.book-tabs button:hover{color:var(--ivory)}
.book .ghl-booking-wrapper{max-width:none!important}
.book .ghl-booking-wrapper iframe{min-height:640px!important;background:var(--ivory)!important}
.book .mf{margin-top:0}
.book .form-alt{margin-top:1.2rem;text-align:center;font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--warm)}
@media(max-width:900px){.intro-grid:has(.book){grid-template-columns:minmax(0,1fr);gap:0}.intro-grid:has(.book) .intro-copy{display:contents}.intro-grid:has(.book) .book{order:2;margin-top:1.8rem}.intro-grid:has(.book) .visit{order:3;margin-top:2.4rem}}

/* 6. Carried-over GHL forms and calendars (their markup is unchanged) */
.legacy .label{display:block;font-size:var(--fs-label);font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.legacy h2,.legacy .serif-display{font-family:var(--serif)!important;font-weight:300!important;font-size:var(--fs-h2)!important;line-height:1.2!important;color:var(--ivory)}
.legacy .rule{margin-left:auto;margin-right:auto}
.legacy .body{margin-left:auto;margin-right:auto}
.legacy section{border-top:0!important}
.legacy .quote-form{padding:0}
.legacy .qf-inner{max-width:720px;margin:0 auto;padding:0 var(--gutter);text-align:center}
.legacy .qf-inner .rule{margin:0 auto 1.4rem}
.legacy form{text-align:left;margin-top:2.4rem}
.legacy .qf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem}
.legacy .qf-grid .full{grid-column:1/-1}
.legacy .qf-grid>div,.legacy form>.full,.legacy .fg{margin-bottom:1.2rem}
.legacy label,.legacy .fl{display:block;font-size:var(--fs-label);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--pewter);margin-bottom:.5rem}
.legacy input[type=text],.legacy input[type=email],.legacy input[type=tel],.legacy input[type=number],.legacy select,.legacy .fc{width:100%;background:var(--ink);border:1px solid var(--lift);color:var(--ivory);font-family:var(--sans);font-weight:300;font-size:1rem;padding:1rem 1.1rem;border-radius:0}
.legacy input:not([type=checkbox]):focus,.legacy select:focus{outline:none;border-color:var(--gold)}
.legacy input[type=checkbox]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.legacy .qf-submit{margin-top:1.4rem}
.legacy .f-submit{display:block;width:100%;background:var(--gold);color:var(--ink);border:1px solid var(--gold);font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;padding:1.1rem 2rem;cursor:pointer;margin-top:1rem}
.legacy .f-submit:hover{background:transparent;color:var(--gold)}
.legacy .f-note{font-size:.8rem;color:var(--pewter);margin-top:.8rem}
.legacy .f-success{display:none;margin-top:1.4rem;color:var(--gold);font-family:var(--serif);font-size:var(--fs-statement)}
.legacy .mem-form-section{max-width:720px;margin:0 auto;padding:clamp(4rem,8vw,6rem) var(--gutter)}
.legacy .mf-intro{text-align:center}
.legacy .mf{max-width:640px;margin:2.4rem auto 0}
.legacy .alt-note{margin-top:1rem;font-size:.9rem;color:var(--warm)}
.legacy .ghl-booking-wrapper iframe{border-radius:0!important;box-shadow:none!important;border:1px solid var(--lift)!important}
.legacy .note-toggle{max-width:720px;margin:0 auto clamp(4rem,8vw,6rem);padding:0 var(--gutter);text-align:center}
.legacy .note-toggle>summary{cursor:pointer;list-style:none;font-family:var(--serif);font-style:italic;color:var(--gold);font-size:var(--fs-statement);padding:1rem 0;border-top:1px solid var(--lift);border-bottom:1px solid var(--lift)}
.legacy .note-toggle>summary::-webkit-details-marker{display:none}
.legacy .note-toggle[open]>summary{color:var(--warm)}
.legacy .note-toggle .mem-form-section{padding-top:2.5rem}
.legacy .cal-toggle{max-width:960px}
.legacy label.consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.78rem;font-weight:300;line-height:1.55;letter-spacing:.01em;text-transform:none;color:var(--pewter);margin:.4rem 0 1rem;cursor:pointer}
.legacy .consent input{margin-top:.2rem;flex:0 0 auto;accent-color:var(--gold)}
.legacy .consent a{color:var(--gold)}
.legacy .f-error{display:none;color:#d47f6a;font-size:.85rem;margin-top:.6rem;text-align:center}
.legacy .f-success h2 em{font-style:italic}
.legacy .f-success p{margin-top:.8rem;font-family:var(--sans);font-size:.9rem;color:var(--warm)}
@media(max-width:600px){.legacy .qf-grid{grid-template-columns:minmax(0,1fr)}}

/* 7. Reduced motion (last, so nothing above can undo it) */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1!important;transform:none!important}
  .hero-media img{transform:none}
}

/* ── membership: five rows by when you play (membership.html) ── */
.mem-head{padding:calc(var(--nav-h) + clamp(3rem,7vw,5rem)) 0 0}
.mem-head .display{margin-top:1rem;font-size:clamp(2.6rem,6vw,4.8rem)}
.mem-head .lede{margin-top:1rem}
.rows{list-style:none;border-top:1px solid var(--lift)}
.row{display:grid;grid-template-columns:9rem 1fr auto;gap:1.5rem 2.5rem;align-items:baseline;padding:1.8rem 0;border-bottom:1px solid var(--lift)}
.row.pick{border-left:2px solid var(--gold);padding-left:1.2rem;margin-left:-1.2rem}
.row-when{font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.row-name{font-family:var(--serif);font-weight:400;color:var(--ivory);font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.1}
.row-facts{margin-top:.5rem;font-size:.92rem;color:var(--stone)}
.row-note{margin-top:.4rem;font-family:var(--serif);font-style:italic;color:var(--ivory);font-size:1.05rem}
.row-price{text-align:right;white-space:nowrap}
.row-price b{display:block;font-family:var(--serif);font-weight:300;color:var(--gold);font-size:clamp(2rem,3vw,2.6rem);line-height:1}
.row-price span{display:block;margin-top:.4rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter)}
.rows-cta{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}
.rows-cta .cta-note{margin:0}
@media(max-width:760px){
  .row{grid-template-columns:1fr auto;gap:.4rem 1rem}
  .row-when{grid-column:1/-1}
  .row-main{grid-column:1/2}
  .row-price{grid-column:2/3;grid-row:2/3}
  .row.pick{margin-left:0}
}
.mem-head-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:end}
.mem-head-photo{margin:0;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--lift)}
.mem-head-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.mem-head-grid{grid-template-columns:1fr}.mem-head-photo{aspect-ratio:16/9}}
@media(max-width:760px){
  .row-main{display:contents}
  .row-name{grid-column:1/2;grid-row:2/3;align-self:start}
  .row-price{grid-column:2/3;grid-row:2/3;white-space:normal}
  .row-price span{max-width:8.5rem;margin-left:auto;letter-spacing:.1em}
  .row-facts,.row-note{grid-column:1/-1}
  .row.pick{padding-left:1rem}
}

/* ── journal: blog index and posts (blog/) ── */
.post-head{padding:calc(var(--nav-h) + clamp(3rem,7vw,5rem)) 0 clamp(2.5rem,5vw,3.5rem);border-bottom:1px solid var(--lift)}
.crumbs{font-size:var(--fs-small);color:var(--pewter);margin-bottom:1.6rem}
.crumbs a{color:var(--warm);text-decoration:none;border-bottom:1px solid var(--lift)}
.crumbs a:hover{color:var(--ivory)}
.post-head .display{max-width:24ch}
.post-head .lede{margin-top:1.4rem}
.post-meta{margin-top:1.4rem;font-size:var(--fs-label);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--pewter)}
.prose{font-size:1.0625rem;line-height:1.85;color:var(--stone)}
.prose>p{margin-top:1.3rem}
.prose h2{font-family:var(--serif);font-weight:300;color:var(--ivory);font-size:var(--fs-h2);line-height:1.2;margin:3.2rem 0 .2rem}
.prose strong{font-weight:500;color:var(--ivory)}
.prose a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim)}
.prose a:hover{border-color:var(--gold)}
.prose a.btn{color:var(--ink);border-bottom:1px solid var(--gold)}
.prose a.btn:hover{color:var(--gold)}
.prose blockquote{margin:3rem 0;padding-left:clamp(1.25rem,3vw,2.5rem);border-left:1px solid var(--gold-dim);font-family:var(--serif);font-style:italic;font-weight:300;font-size:var(--fs-statement);line-height:1.55;color:var(--ivory)}
.aside{margin:2.8rem 0;padding:clamp(1.5rem,3vw,2.2rem);border:1px solid var(--lift);background:var(--deep)}
.aside p{font-size:.95rem;margin-bottom:1.4rem}
.aside .statement{font-size:var(--fs-statement);margin-bottom:.6rem}
.aside .cta-note{margin:.9rem 0 0}
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--lift);border:1px solid var(--lift)}
.post{position:relative;background:var(--ink);padding:2.4rem 2.2rem;display:flex;flex-direction:column}
.post h2{font-family:var(--serif);font-weight:300;color:var(--ivory);font-size:var(--fs-h3);line-height:1.3;margin:1rem 0 .8rem}
.post p{font-size:.95rem;flex:1}
.post .link{margin-top:1.6rem;align-self:flex-start}
.post .link::after{content:"";position:absolute;inset:0}
.post:hover .link{border-color:var(--gold)}
.subscribe{text-align:center}
.subscribe .rule{margin-left:auto;margin-right:auto}
.subscribe .body{margin:1rem auto 2rem}
@media(max-width:760px){.posts{grid-template-columns:minmax(0,1fr)}.post{padding:2rem 1.5rem}}
@media(max-width:420px){.aside{padding:1.5rem 1.25rem}.aside .btn{display:block;text-align:center;padding-left:.8rem;padding-right:.8rem;letter-spacing:.16em}}

/* home: doors then the story */
#doors .doorrow{border-top:0;padding-top:0;margin-top:2.4rem}
#doors .story{margin-top:clamp(3.5rem,7vw,5rem);padding-top:clamp(2.5rem,5vw,3.5rem);border-top:1px solid var(--lift);max-width:780px}
#doors .story .statement:first-child{margin-top:0}

/* home hero aside: the sign-off line, gold italic behind a hairline, arriving a beat after the hero */
.hero-aside{margin-top:1rem;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.35rem,1.1rem + .7vw,1.7rem);line-height:1.3;letter-spacing:.015em;color:var(--gold);opacity:0;animation:aside-in 1.2s ease .6s forwards}
@keyframes aside-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-aside{opacity:1;animation:none}}

/* about: why we built it, set as one centred story */
.why-head{max-width:760px;margin:0 auto}
.why-head .h2{margin-left:auto;margin-right:auto}
.why-lead{margin:1.4rem auto 0;max-width:38ch;font-family:var(--serif);font-weight:300;font-size:var(--fs-serif);line-height:1.5;color:var(--stone)}
.why-three{list-style:none;margin:clamp(2.5rem,5vw,3.5rem) auto 0;padding:0;max-width:980px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.why-three li{padding:1.6rem clamp(1rem,2.5vw,2rem);text-align:center;font-family:var(--serif);font-style:italic;font-weight:300;font-size:var(--fs-h3);line-height:1.4;color:var(--ivory);border-top:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim)}
.why-three li+li{border-left:1px solid var(--lift)}
.why-turn{margin:clamp(2.5rem,5vw,3.5rem) auto 0;max-width:none;font-family:var(--serif);font-style:italic;font-weight:300;font-size:var(--fs-statement);line-height:1.35;color:var(--gold)}
.why-cols{margin:clamp(3rem,6vw,4.5rem) auto 0;max-width:1040px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,4rem)}
.why-cols .eyebrow{font-size:.75rem;letter-spacing:.2em;margin-bottom:1rem}
.why-cols .body{margin:0}
@media(max-width:760px){
  .why-three{grid-template-columns:minmax(0,1fr)}
  .why-three li{padding:1.1rem 0;border-bottom:0}
  .why-three li+li{border-left:0;border-top:1px solid var(--lift)}
  .why-three li:last-child{border-bottom:1px solid var(--gold-dim)}
  .why-cols{grid-template-columns:minmax(0,1fr)}
}

/* small gold labels hold one line on phones */
@media(max-width:480px){.eyebrow{font-size:.8125rem;letter-spacing:.2em}}

/* every hero sits exactly where home's does: content starts at the same height on screen, whatever its length */
.hero-min{align-items:flex-start}
.hero-min .hero-body{padding-top:calc(var(--nav-h) + 24vh)}
.hero-min .display .turn{display:inline}
@media(max-width:760px){.hero-min .hero-body{padding-top:calc(var(--nav-h) + 16vh)}}
@media(max-width:480px){.hero .ey-m{display:none}}
.crumbs-row{padding-top:2rem}
.crumbs-row .crumbs{margin-bottom:0}

/* One frame for the whole site (Oct 16, designer + developer + UI agreed): the logo, hero text and every section
   share one left edge, a 1440px frame centred on the screen. At 1440 and below that edge is the gutter. */
.nav{padding-left:max(var(--gutter),calc((100% - 1440px)/2 + var(--gutter)));padding-right:max(var(--gutter),calc((100% - 1440px)/2 + var(--gutter)))}
.hero-min .hero-body .display{max-width:1040px}
/* narrow reading columns keep their line length but start on the shared edge; centred closes stay centred */
.wrap.narrow:not(.close .wrap):not(.centered):not([style*="center"]){max-width:1440px}
.wrap.narrow:not(.close .wrap):not(.centered):not([style*="center"])>*{max-width:calc(780px - 2 * var(--gutter))}
/* headlines balance their lines, so no single word is left on a line of its own */
.display,.h2,.h3{text-wrap:balance}
/* membership hero: keep the four in the bay in frame on phones */
.hero-media img.pos-bay{object-position:50% 60%}
@media(max-width:760px){.hero-media img.pos-bay{object-position:30% 60%}}
/* a tall photo (Membership): on wide screens it takes the right side at close to its real size and fades into the ink;
   the label, headline and button stay exactly where every other hero has them */
@media(min-width:900px){
  .hero-portrait{background:var(--ink)}
  .hero-portrait .hero-media{left:auto;width:min(48%,920px)}
  .hero-portrait::before{background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 52%,rgba(8,8,8,.55) 64%,rgba(8,8,8,.25) 100%)}
}

/* The day in one row (Oct 17 review: designer, marketing, member panel). Four columns, morning to night,
   read like a scorecard: time, photo, caption, story, then the price on one shared baseline. */
@media(min-width:761px){
  .scenes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,2.4vw,2.5rem);border-top:1px solid var(--gold-dim);padding-top:clamp(1.6rem,2.4vw,2.2rem)}
  .scenes .scene{display:flex;flex-direction:column;gap:0;padding:0;border-top:0;align-items:stretch}
  .scenes .scene>div:not(.scene-media){display:contents}
  .scenes .scene .scene-time{order:1;font-size:clamp(2.2rem,1.4rem + 1.3vw,2.65rem);margin-bottom:1.1rem}
  .scenes .scene .scene-media{order:2;aspect-ratio:3/4}
  .scenes .scene:nth-of-type(even) .scene-media{order:2}
  .scenes .scene .scene-cap{order:3;margin:1.1rem 0 .6rem;font-size:clamp(1.15rem,1rem + .3vw,1.3rem);line-height:1.35}
  .scenes .scene .body{order:4;font-size:.9375rem;line-height:1.7}
  .scenes .scene .scene-tier{order:5;margin-top:auto;padding-top:1rem;flex-direction:column;align-items:flex-start;gap:.35rem;font-size:.6875rem}
  .scenes .scene .body{margin-bottom:1.4rem}
}
@media(min-width:761px) and (max-width:1180px){
  .scenes{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3rem}
  .scenes .scene .scene-media{aspect-ratio:4/3}
}
@media(max-width:760px){.scenes .scene-time{font-size:2.6rem}}
/* tall photos beside text (About: The room; TrackMan: 400 courses) sit at 4:5, about 460 wide, not a full screen */
.split>.scene-media[style*="3/4"]{aspect-ratio:4/5!important;max-width:460px;width:100%;align-self:center}

/* The day, redesigned (Oct 17): one line from 6am to midnight with the four moments at their real hours,
   and one moment at a time on the stage below. Phones keep the swipe; without scripts the row of four stays. */
.dayline{display:none}
@media(min-width:761px){
  .dayline{display:block;position:relative;height:104px;margin:0 0 clamp(1.8rem,3vw,2.6rem)}
  .dl-track{position:absolute;left:0;right:0;top:46px;height:1px;background:linear-gradient(90deg,var(--gold-dim),var(--gold) 50%,var(--gold-dim))}
  .dl-end{position:absolute;top:14px;font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;color:var(--pewter)}
  .dl-start{left:0;display:none}.dl-stop{right:0}
  .dl-stop-btn{position:absolute;top:0;background:none;border:0;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit;max-width:190px}
  .dl-time{display:block;height:40px;font-family:var(--serif);font-weight:300;font-size:1.875rem;line-height:40px;color:var(--warm);transition:color .3s}
  .dl-time small{font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;margin-left:.3em;font-weight:400}
  .dl-tick{position:absolute;left:0;top:41px;width:11px;height:11px;border-radius:50%;background:var(--ink);border:1px solid var(--gold-dim);transition:all .3s}
  .dl-cap{display:block;margin-top:22px;font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.3;color:var(--pewter);transition:color .3s}
  .dl-stop-btn:hover .dl-time,.dl-stop-btn:focus-visible .dl-time{color:var(--ivory)}
  .dl-stop-btn.on .dl-time{color:var(--gold)}
  .dl-stop-btn.on .dl-tick{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px rgba(176,144,78,.18)}
  .dl-stop-btn.on .dl-cap{color:var(--ivory)}
  .dl-now{position:absolute;top:36px;transform:translateX(-50%);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);pointer-events:none;padding-top:28px}
  .dl-now i{position:absolute;left:50%;top:0;width:1px;height:21px;background:var(--gold)}

  .scenes.staged{display:grid;grid-template-columns:minmax(0,1fr);border-top:0;padding-top:0}
  .scenes.staged .scene{grid-area:1/1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,4.5vw,4.5rem);align-items:center;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
  .scenes.staged .scene.on{opacity:1;visibility:visible;transition:opacity .7s ease}
  .scenes.staged .scene>div:not(.scene-media){display:block;opacity:1;transform:none}
  .scenes.staged .scene .scene-media,.scenes.staged .scene:nth-of-type(even) .scene-media{order:0;aspect-ratio:4/3;opacity:1;transform:none}
  .scenes.staged .scene .scene-time{font-size:clamp(2.6rem,1.8rem + 1.3vw,3.25rem);margin:0}
  .scenes.staged .scene .scene-cap{margin:.8rem 0 1rem;font-size:var(--fs-statement)}
  .scenes.staged .scene .body{font-size:1rem;line-height:1.8;max-width:52ch;margin:0}
  .scenes.staged .scene .scene-tier{margin-top:1.6rem;flex-direction:row;align-items:baseline;justify-content:space-between;font-size:.75rem;max-width:52ch}
}
@media(min-width:761px) and (max-width:1100px){.dl-cap{display:none}.dayline{height:76px}}
@media(prefers-reduced-motion:reduce){.scenes.staged .scene{transition:none}}
/* events: a real photo on each night */
.moment .m-photo{aspect-ratio:4/3;overflow:hidden;margin:0 0 1.2rem;background:var(--deep)}
.moment .m-photo img{width:100%;height:100%;object-fit:cover}
.moment .m-photo+h3{margin-top:0}
.ready-line{margin-top:1.4rem;font-size:var(--fs-small);color:var(--stone)}
.ready-line a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim)}
@media(min-width:761px){.dl-stop-btn{max-width:min(240px,26%)}.dl-stop-btn:last-of-type{max-width:13.5%}.dl-cap{text-wrap:balance}}

/* The whole site, one step smaller on desktop (Oct 17: "every page feels like you zoomed in").
   Every size is in rem, so this scales type, spacing, buttons and cards together, like the browser's 90% zoom.
   Body copy keeps a hair more so light Montserrat on ink stays easy to read. Phones are unchanged. */
@media(min-width:1024px){
  html{font-size:90%}
  :root{--fs-body:1.0625rem}
  .nav .logo img{height:42px}
  :root{--nav-h:76px}
}
/* a single membership card (the reader pages) reads as one wide row on desktop instead of a tall card beside empty space */
@media(min-width:1024px){
  .ways.one{display:block;max-width:none}
  .ways.one .way{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) auto;grid-template-areas:"a w k" "b w k" "c u k" "d u k";column-gap:clamp(2rem,4vw,4rem);align-items:start;padding:2rem 2.4rem}
  .ways.one .way .tag{grid-area:a}
  .ways.one .way .name{grid-area:b}
  .ways.one .way .price{grid-area:c}
  .ways.one .way .per{grid-area:d}
  .ways.one .way .why{grid-area:w;margin:0 0 .6rem}
  .ways.one .way ul{grid-area:u;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;align-content:start}
  .ways.one .way .btn{grid-area:k;align-self:center;margin:0}
}
@media(min-width:1024px){.ways.one .way .tag{justify-self:start;margin-bottom:.9rem}}
/* events: the private-event strip (four cells, same look as the home price strip) */
.buy-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
.buy-strip>div{background:var(--deep);padding:1.8rem 1.3rem;display:flex;flex-direction:column}
@media(max-width:760px){.buy-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.close-sub{margin:1.2rem auto 0;max-width:52ch;color:var(--linen)}
/* lessons: the coaching team */
.coaches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--lift);border:1px solid var(--lift);margin-top:2.4rem}
.coach{background:var(--ink);padding:2rem 1.8rem;display:flex;flex-direction:column}
.coach.lead{border-top:1px solid var(--gold-dim)}
.coach .tag{font-size:.62rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-dim);align-self:flex-start;padding:.28rem .55rem;margin-bottom:1.1rem}
.coach .tag.quiet{color:var(--pewter);border-color:var(--lift)}
.coach h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);color:var(--ivory)}
.coach-role{margin:.4rem 0 1rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--warm)}
.coach p{font-size:.95rem}
.confirm{margin-top:1rem;padding:.6rem .8rem;border:1px dashed var(--gold-dim);color:var(--gold)!important;font-size:.8rem!important}
@media(max-width:900px){.coaches{grid-template-columns:minmax(0,1fr)}}
.coach-links{margin-top:auto;padding-top:1.2rem;font-size:.75rem!important;letter-spacing:.14em;text-transform:uppercase}
.coach-links a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim)}
#fitness .coach-links{margin-top:1.2rem}
.coach-photo{aspect-ratio:4/5;overflow:hidden;margin:-2rem -1.8rem 1.6rem;background:var(--deep)}
.coach-photo img{width:100%;height:100%;object-fit:cover}
.coach-photo.monogram{display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--lift)}
.coach-photo.monogram span{font-family:var(--serif);font-weight:300;font-size:4rem;color:var(--gold);letter-spacing:.06em}
.fit-photo{margin:0;max-width:340px;aspect-ratio:4/5}
.coach-logo{display:block;height:34px;width:auto;margin-bottom:.9rem;opacity:.9}
.coach-logo.wide{height:30px}
/* coach photos: smaller, toned to the site, edges fading into the ink */
.coach-photo{position:relative;aspect-ratio:5/4;margin:-2rem -1.8rem 1.4rem;max-height:260px}
.coach-photo img{filter:saturate(.78) brightness(.86) contrast(1.04);transition:filter .6s ease}
.coach:hover .coach-photo img{filter:saturate(.95) brightness(.95) contrast(1.04)}
.coach-photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,8,8,0) 45%,rgba(8,8,8,.75) 85%,var(--ink) 100%),
             radial-gradient(ellipse at 50% 40%,rgba(8,8,8,0) 55%,rgba(8,8,8,.45) 100%)}
.coach-photo.monogram{aspect-ratio:5/4}
.coach-photo.monogram::after{display:none}
.fit-photo{max-width:260px;aspect-ratio:4/5;max-height:none;margin:0}
.fit-photo::after{background:linear-gradient(180deg,rgba(8,8,8,0) 50%,rgba(8,8,8,.7) 88%,var(--ink) 100%),radial-gradient(ellipse at 50% 40%,rgba(8,8,8,0) 55%,rgba(8,8,8,.45) 100%)}
.legacy textarea{width:100%;background:var(--ink);border:1px solid var(--lift);color:var(--ivory);font-family:var(--sans);font-weight:300;font-size:1rem;padding:1rem 1.1rem;border-radius:0;resize:vertical;min-height:7rem}
.legacy textarea:focus{outline:none;border-color:var(--gold)}
.legacy select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 1.3rem) 50%,calc(100% - .95rem) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.6rem}
.lesson-price{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--lift)}
.lesson-price>p:first-child{font-family:var(--serif);font-weight:300;font-size:var(--fs-serif);color:var(--ivory)}
.lesson-price b{font-weight:300;color:var(--gold)}
.fitgrid .moment{padding:1.6rem 1.6rem;display:flex;flex-direction:column}
.fitgrid .moment .when{font-size:var(--fs-label);font-family:var(--sans);font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.fitgrid .moment p:not(.when){flex:1;color:var(--stone)}
.fitgrid .moment .link{align-self:flex-start;margin-top:1rem}
.coaches.four,.coaches:has(> .coach:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.coaches:has(> .coach:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.coaches:has(> .coach:nth-child(4)){grid-template-columns:minmax(0,1fr)}}
.coach{padding:1.8rem 1.5rem}
.coach-photo{margin:-1.8rem -1.5rem 1.3rem}
/* A true club (home band, membership close line) */
.true-club-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:end}
@media(max-width:860px){.true-club-band{grid-template-columns:minmax(0,1fr)}}
.true-club-line{margin-top:clamp(2.2rem,4vw,3rem);font-family:var(--serif);font-weight:300;font-size:var(--fs-statement);line-height:1.35;color:var(--ivory)}
.true-club-line .turn{font-style:italic;color:var(--gold)}
.club-list{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--lift);border:1px solid var(--lift)}
.club-list li{background:var(--ink);padding:1.2rem 1.1rem;font-family:var(--serif);font-weight:300;font-size:var(--fs-serif);line-height:1.35;color:var(--ivory)}
@media(max-width:1000px){.club-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.club-list{grid-template-columns:minmax(0,1fr)}}

/* Ad landing page: proof line under the hero button, and the booking step after the form */
.lp-proof{margin-top:.35rem;font-size:.95rem}
.lp-proof a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.legacy .lp-book{margin-top:.5rem}
.legacy .lp-book .body{margin-top:1rem}
.legacy .lp-book-frame{margin-top:1.8rem;border:1px solid rgba(176,144,78,.25);border-radius:6px;overflow:hidden}
