
/* Layout: a scroll film. Tall chapters with a pinned 100vh stage; one line at a time comes into focus over a living field of bronze light. The page ends by breaking into light. */
:root{
  --obsidian:#0A0A0C; --deep:#100E0C; --bone:#F2ECDF; --stone:#A79F90; --bronze:#B07D45; --gold:#E2B877; --ink:#141210;
  --glass:rgba(242,236,223,.06); --rule:rgba(242,236,223,.16);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif; --display:'Cinzel',Georgia,serif; --sans:'Montserrat','Helvetica Neue',Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--obsidian);color:var(--bone);font-family:var(--serif);font-size:20px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--obsidian)}
a{color:inherit}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
h1,h2,h3,p{margin:0;font-weight:300;text-wrap:balance}
.gut{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}

/* the living field */
#field{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#wash{position:fixed;inset:0;z-index:1;pointer-events:none;background:var(--bone);opacity:0}

/* chrome */
.top{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-block:20px;background:linear-gradient(180deg,rgba(10,10,12,.85),rgba(10,10,12,0));}
.lit .top{background:none}
.top{color:var(--bone);transition:color .4s}.lit .top{color:var(--ink)}.lit .dots i{background:var(--ink)}.lit .chip{border-color:rgba(20,18,16,.25)}
.top .wordmark{grid-column:2;font-family:var(--display);font-size:13px;letter-spacing:.42em;text-decoration:none;color:inherit;display:flex;align-items:center;gap:14px}
.top .wordmark img{width:28px;height:28px}
.top .right{justify-self:end;display:flex;align-items:center;gap:22px}
.chip{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:inherit;border-top:1px solid var(--rule);padding-top:10px;min-width:170px;display:block}
.chip b{display:block;height:1px;background:var(--gold);width:var(--p,0%);margin-top:-11px;margin-bottom:10px;transition:width .2s linear}
.dots{width:22px;height:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:none;border:0;padding:0;cursor:pointer}
.dots i{width:3px;height:3px;border-radius:50%;background:var(--bone);display:block}

.pill{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--ink);background:linear-gradient(180deg,var(--gold),var(--bronze));padding:16px 26px;border-radius:999px;border:0;box-shadow:0 0 0 1px rgba(226,184,119,.35),0 10px 40px rgba(176,125,69,.25)}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.7}
.pill.ghost{background:rgba(10,10,12,.35);color:var(--bone);box-shadow:0 0 0 1px var(--rule);backdrop-filter:blur(8px)}
.pill.ghost::before{background:var(--gold)}
.label{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.scrollcue{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:30;font-family:var(--sans);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--stone);display:flex;gap:10px;align-items:center;transition:opacity .6s}
.scrollcue::after{content:"↓"}

main{position:relative;z-index:2}

/* chapters: tall track, pinned stage */
.ch{position:relative}
.stage{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden}
.ch.t2{height:200vh}.ch.t3{height:300vh}.ch.t4{height:400vh}

/* hero: glass over a shadowed figure */
.hero .stage{place-items:stretch}
.figure{position:absolute;inset:0;z-index:0;will-change:transform,opacity}
.figure .vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 30%;filter:saturate(.9) contrast(1.05)}
@media (max-width:760px){.figure .vid{object-position:64% 20%}.hero .glass{background:linear-gradient(180deg,rgba(10,10,12,.1) 20%,rgba(10,10,12,.85) 75%)}}
.figure .ph{position:absolute;inset:0;background:
  radial-gradient(ellipse 22% 38% at 58% 46%,rgba(0,0,0,.92),transparent 70%),
  radial-gradient(ellipse 30% 55% at 60% 70%,rgba(0,0,0,.85),transparent 72%),
  radial-gradient(ellipse 55% 70% at 70% 35%,rgba(226,184,119,.28),transparent 70%),
  linear-gradient(110deg,#0b0a09 0%,#1d1610 45%,#3a2a19 100%)}
.ph-tag{position:absolute;right:max(20px,env(safe-area-inset-right,0px));top:96px;z-index:5;font-family:var(--sans);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px dashed rgba(226,184,119,.55);padding:6px 10px;max-width:min(320px,60%);background:rgba(10,10,12,.4)}
.glass{position:absolute;inset:0;z-index:1;backdrop-filter:blur(2px);background:linear-gradient(90deg,rgba(10,10,12,.55),rgba(10,10,12,.05) 70%)}
.hero .copy{position:relative;z-index:2;align-self:center;max-width:1240px;width:100%;margin:0 auto;padding-block:120px 110px;display:grid;gap:clamp(18px,3vh,30px);justify-items:start}
.hero h1{font-size:clamp(38px,min(5.4vw,8.4vh),92px);line-height:1;letter-spacing:-.005em;max-width:15ch}
.hero .tag{font-family:var(--display);font-size:clamp(13px,1.3vw,17px);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.hero .aside{position:absolute;z-index:2;right:max(24px,env(safe-area-inset-right,0px));bottom:150px;max-width:300px;font-family:var(--sans);font-size:14px;line-height:1.7;color:var(--bone);opacity:.85}

/* focus lines: one at a time, blur to sharp */
.lines{position:relative;width:100%;max-width:1200px;text-align:center}
.ln{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);font-size:clamp(40px,6.6vw,104px);line-height:1.18;padding-block:.12em;letter-spacing:-.01em;will-change:filter,opacity,transform}
.ln.small{font-size:clamp(30px,4vw,60px)}
.ln em{font-style:italic;color:var(--gold)}

/* the record: numbers */
.record{display:grid;gap:40px;justify-items:center;text-align:center;width:100%;max-width:1100px}
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,5vw,80px);width:100%}
.num{display:grid;gap:clamp(14px,2vh,22px);justify-items:center}
.num b{font-family:var(--serif);font-weight:300;font-size:clamp(60px,min(9vw,15vh),150px);line-height:1.12;padding-bottom:.06em;color:var(--bone);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:'lnum' 1,'tnum' 1;white-space:nowrap}
.num span{font-family:var(--sans);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--stone)}
.quote{font-size:clamp(30px,4vw,58px);font-style:italic;max-width:26ch;line-height:1.25;padding-block:.1em}
.src{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone)}

.slides{position:relative;width:100%;max-width:1100px;min-height:70vh}
.slide{position:absolute;inset:0;margin:auto;height:max-content;will-change:filter,opacity,transform}
.nums.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:0 auto}
/* the curve */
.curvebox{position:relative;width:min(1100px,100%);height:min(46vh,420px)}
#curve{width:100%;height:100%;display:block}
.curvecap{position:absolute;left:0;right:0;bottom:-90px;text-align:center;font-size:clamp(28px,3.6vw,52px)}
.axis{position:absolute;left:0;bottom:-26px;right:0;display:flex;justify-content:space-between;font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--stone)}

/* steps with + connectors */
.steps{width:100%;max-width:1200px;display:grid;gap:44px}
.steps ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:clamp(12px,2vw,28px)}
.step{display:grid;gap:16px;align-content:start;padding:28px;border-radius:22px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--rule);backdrop-filter:blur(10px)}
.step .n{font-family:var(--sans);font-size:11px;letter-spacing:.26em;color:var(--gold)}
.step h3{font-size:clamp(26px,2.4vw,36px);line-height:1.12}
.step p{font-family:var(--sans);font-size:13.5px;line-height:1.7;color:var(--stone)}
.plus{align-self:center;font-family:var(--sans);font-weight:300;font-size:30px;color:var(--gold)}

/* plain flow sections (not pinned) */
.flow{position:relative;padding-block:clamp(110px,16vh,180px);max-width:1240px;margin:0 auto}
.guide{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,100px);align-items:center}
.portrait{position:relative;aspect-ratio:4/5;max-width:100%;border-radius:22px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--rule)}
.portrait .ph{position:absolute;inset:0;background:radial-gradient(ellipse 30% 40% at 45% 40%,rgba(0,0,0,.9),transparent 70%),radial-gradient(ellipse 60% 60% at 70% 30%,rgba(226,184,119,.3),transparent 70%),linear-gradient(160deg,#2a2016,#0d0c0b)}
.portrait .ph-tag{top:auto;bottom:16px;right:16px}
.guide h2{font-size:clamp(36px,4.4vw,66px);line-height:1.04}
.guide .sub{margin-top:26px;font-size:clamp(22px,2vw,28px);color:var(--stone);max-width:30ch}
.values{margin-top:40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border-radius:18px;overflow:hidden}
.values div{background:rgba(10,10,12,.72);padding:22px;display:grid;gap:8px}
.values p{font-family:var(--sans);font-size:13.5px;line-height:1.65;color:var(--bone)}

.story{max-width:780px;margin:0 auto;display:grid;gap:1.1em}
.story p{font-size:clamp(22px,2vw,27px);line-height:1.6}
.story p:last-child{color:var(--stone)}

.rooms{position:relative;border-radius:28px;overflow:hidden;min-height:620px;display:flex;align-items:flex-end;box-shadow:inset 0 0 0 1px var(--rule)}
.rooms img,.rooms video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);will-change:transform}
.rooms::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,12,.1),rgba(10,10,12,.85) 70%)}
.rooms .in{position:relative;z-index:2;padding:clamp(24px,4vw,56px);width:100%;display:grid;gap:30px}
.rooms h2{font-size:clamp(34px,4.6vw,70px);line-height:1.02;max-width:14ch}
.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.door{padding:28px;border-radius:20px;background:rgba(10,10,12,.55);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--rule);display:grid;gap:12px;align-content:start}
.door h3{font-size:32px}
.door .meta{font-family:var(--sans);font-size:12px;letter-spacing:.08em;color:var(--gold);font-variant-numeric:tabular-nums}
.door p{font-family:var(--sans);font-size:13.5px;line-height:1.7;color:var(--bone)}
.door .pill{justify-self:start;margin-top:6px}

.notfor{display:grid;gap:26px;max-width:820px;margin:0 auto;text-align:center}
.notfor h2{font-size:clamp(34px,4vw,58px)}
.notfor p{font-size:clamp(22px,2vw,28px);color:var(--stone)}
.notfor p b{font-weight:400;color:var(--bone)}
.notfor .last{font-style:italic;color:var(--gold)}

/* the light: the page breaks open */
.light .stage{color:var(--bone);transition:color .3s}
.whiteout{position:absolute;inset:0;z-index:1;background:#FCFCFB;opacity:0;pointer-events:none}
.lightvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;z-index:0;opacity:0;pointer-events:none}
.light .end{position:relative;z-index:2;text-align:center;display:grid;gap:30px;justify-items:center;max-width:1100px}
.light h2{font-size:clamp(44px,7vw,112px);line-height:1;letter-spacing:-.01em}
.light .house{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;line-height:2;max-width:60ch;opacity:.75}

footer{position:relative;z-index:2;padding-block:40px;display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;justify-content:space-between;font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--stone);border-top:1px solid var(--rule)}
footer a{text-decoration:none}

.mocknote{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));opacity:.7;z-index:35;font-family:var(--sans);font-size:10.5px;letter-spacing:.08em;color:var(--ink);background:var(--bone);padding:7px 11px;border-radius:999px}

@media (max-width:860px){
  .chip{display:none}
  .top{grid-template-columns:auto 1fr auto}.top .wordmark{grid-column:1}
  .hero .aside{display:none}
  .steps ol{grid-template-columns:minmax(0,1fr)}.plus{justify-self:center;margin:-10px 0}
  .guide{grid-template-columns:minmax(0,1fr)}.portrait{max-width:420px}
  .values,.doors{grid-template-columns:minmax(0,1fr)}
  .nums,.nums.two{grid-template-columns:minmax(0,1fr);gap:18px}
  .ch.t3{height:260vh}.ch.t4{height:340vh}
}
@media (max-width:480px){ body{font-size:18px} .top .wordmark span{display:none} .ph-tag{font-size:9.5px} }
@media (prefers-reduced-motion:reduce){ .slides{min-height:0;display:grid;gap:90px}.slide{position:static}  .ch.t2,.ch.t3,.ch.t4{height:auto}.stage{position:relative;height:auto;padding-block:120px}.lines{display:grid;gap:30px}.ln{position:static;transform:none;filter:none!important;opacity:1!important}.scrollcue{display:none} }

/* ===================== v2.03 shared chrome & pages ===================== */
.top .nav{justify-self:start;display:flex;gap:26px;font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.top .nav a{text-decoration:none;opacity:.8}.top .nav a:hover,.top .nav a[aria-current]{opacity:1;color:var(--gold)}
.lit .top .nav a:hover{color:var(--bronze)}
.top .door-sm{font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink);background:linear-gradient(180deg,var(--gold),var(--bronze));padding:11px 16px;border-radius:999px;white-space:nowrap}
.top .rule{position:absolute;left:0;right:0;bottom:0;height:1px;background:transparent}
.top .rule b{display:block;height:1px;width:0;background:linear-gradient(90deg,var(--bronze),var(--gold));opacity:.7}
.lit .top .door-sm{box-shadow:0 0 0 1px rgba(20,18,16,.15)}

/* menu */
#menu{position:fixed;inset:0;z-index:60;background:rgba(10,10,12,.96);backdrop-filter:blur(18px);display:grid;place-items:center;color:var(--bone)}
#menu[hidden]{display:none}
#menu nav{display:grid;gap:clamp(10px,2.4vh,22px);text-align:center}
#menu nav a{font-family:var(--serif);font-size:clamp(34px,5vw,56px);font-weight:300;text-decoration:none;line-height:1.1}
#menu nav a:hover{color:var(--gold)}
#menu nav a.small{font-family:var(--sans);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);margin-top:10px}
#menu .close{position:absolute;top:22px;right:max(20px,env(safe-area-inset-right,0px));background:none;border:0;color:var(--bone);font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;padding:10px}
#menu .pill{margin-top:22px;justify-self:center}
.menu-open{overflow:hidden}

/* focus reveal (motion is opt-in via html.js, so a failed script never hides the page) */
html.js .reveal{opacity:0;filter:blur(10px);transform:translateY(18px);transition:opacity 1.1s ease,filter 1.1s ease,transform 1.1s ease}
html.js .reveal.in{opacity:1;filter:none;transform:none}
@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;filter:none;transform:none;transition:none}}

/* home additions */
.records-note{position:absolute;left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom,0px));text-align:center;font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);opacity:.8}
.agreement{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:center;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.agreement b{font-weight:500;color:var(--gold)}
.agreement a{color:var(--bone);text-underline-offset:4px}
.trigger{max-width:860px;margin:0 auto;text-align:center;display:grid;gap:28px;justify-items:center}
.trigger p{font-size:clamp(28px,3.2vw,46px);line-height:1.2}
.lookfirst{max-width:860px;margin:0 auto;padding:clamp(28px,4vw,48px);border-radius:24px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--rule);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:center}
.lookfirst h3{font-size:clamp(28px,3vw,40px);line-height:1.1}
.lookfirst p{font-family:var(--sans);font-size:14px;line-height:1.7;color:var(--stone);margin-top:10px}
.textlink{font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:6px;white-space:nowrap}
.textlink:hover{color:var(--gold)}
@media (max-width:760px){.lookfirst{grid-template-columns:minmax(0,1fr)}}

/* inner pages */
.page{position:relative;z-index:2}
.phero{position:relative;min-height:min(86svh,820px);display:grid;align-items:end;padding-top:140px;padding-bottom:clamp(60px,10vh,110px);overflow:hidden}
.phero .bg{position:absolute;inset:0;z-index:0}
.phero .bg img,.phero .bg video{width:100%;height:100%;object-fit:cover}
.phero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,12,.35),rgba(10,10,12,.2) 40%,rgba(10,10,12,.92))}
.phero .in{position:relative;z-index:1;max-width:1240px;width:100%;margin:0 auto;display:grid;gap:24px;justify-items:start}
.phero h1{font-size:clamp(42px,min(6vw,9vh),100px);line-height:1;max-width:16ch}
.phero .lede{font-size:clamp(22px,2.1vw,30px);line-height:1.45;color:var(--bone);max-width:34ch;opacity:.9}
.phero .facts-line{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.sec{position:relative;max-width:1240px;margin:0 auto;padding-block:clamp(80px,12vh,140px);border-top:1px solid var(--rule)}
.sec.nb{border-top:0}
.sec .head{display:grid;gap:14px;margin-bottom:clamp(30px,5vh,56px);max-width:820px}
.sec h2{font-size:clamp(34px,4vw,60px);line-height:1.05}
.prose{max-width:720px;display:grid;gap:1.05em}
.prose p{font-size:clamp(21px,1.9vw,25px);line-height:1.6}
.prose p.quiet{color:var(--stone)}
.prose .sig{font-family:var(--display);font-size:14px;letter-spacing:.3em;color:var(--gold);margin-top:.4em}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:start}
.facts{display:grid;border-top:1px solid var(--rule)}
.facts div{display:grid;grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--rule)}
.facts dt{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);padding-top:5px}
.facts dd{margin:0;font-size:clamp(19px,1.6vw,22px);line-height:1.5}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.card{padding:28px;border-radius:22px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--rule);display:grid;gap:12px;align-content:start}
.card .k{font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.card h3{font-size:clamp(26px,2.4vw,34px);line-height:1.1}
.card p{font-family:var(--sans);font-size:14px;line-height:1.7;color:var(--stone)}
.card .meta{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--bone)}
.card.lit-card{box-shadow:inset 0 0 0 1px rgba(226,184,119,.45);background:rgba(226,184,119,.06)}
.ladder{counter-reset:r;display:grid;gap:0;border-top:1px solid var(--rule)}
.ladder li{list-style:none;display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,.9fr);gap:24px;padding:30px 0;border-bottom:1px solid var(--rule);align-items:start}
.ladder li::before{counter-increment:r;content:"0" counter(r);font-family:var(--sans);font-size:11px;letter-spacing:.24em;color:var(--gold);padding-top:10px}
.ladder h3{font-size:clamp(28px,2.6vw,38px);line-height:1.1}
.ladder .q{font-style:italic;color:var(--gold);font-size:clamp(20px,1.7vw,24px);margin-top:6px}
.ladder p{font-family:var(--sans);font-size:14px;line-height:1.7;color:var(--stone)}
.ladder .meta{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--bone);margin-top:10px;display:block}
.qa{display:grid;border-top:1px solid var(--rule);max-width:880px}
.qa details{border-bottom:1px solid var(--rule)}
.qa summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-size:clamp(22px,2vw,28px);line-height:1.3}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-family:var(--sans);font-weight:300;color:var(--gold);font-size:26px;line-height:1}
.qa details[open] summary::after{content:"–"}
.qa .a{padding:0 0 26px;max-width:700px;font-family:var(--sans);font-size:15px;line-height:1.75;color:var(--stone);display:grid;gap:.8em}
.houseline{text-align:center;font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;line-height:2;color:var(--stone);max-width:62ch;margin:0 auto}
.cta-band{text-align:center;display:grid;gap:26px;justify-items:center;max-width:900px;margin:0 auto}
.cta-band h2{font-size:clamp(36px,4.6vw,68px);line-height:1.05}
.cta-band p{font-size:clamp(21px,1.9vw,25px);color:var(--stone);max-width:38ch}
.rules-list{display:grid;gap:0;border-top:1px solid var(--rule);max-width:900px;counter-reset:n}
.rules-list li{list-style:none;display:grid;grid-template-columns:60px minmax(0,1fr);gap:20px;padding:26px 0;border-bottom:1px solid var(--rule)}
.rules-list li::before{counter-increment:n;content:"0" counter(n);font-family:var(--sans);font-size:11px;letter-spacing:.24em;color:var(--gold);padding-top:9px}
.rules-list h3{font-size:clamp(24px,2.2vw,32px);line-height:1.15}
.rules-list p{font-family:var(--sans);font-size:14.5px;line-height:1.75;color:var(--stone);margin-top:8px}
.portrait.sm{max-width:440px}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* forms */
.form{display:grid;gap:26px;max-width:680px}
.field{display:grid;gap:10px}
.field label{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.field .help{font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--stone)}
.field input,.field textarea,.field select{font:inherit;font-size:21px;color:var(--bone);background:transparent;border:0;border-bottom:1px solid var(--rule);padding:10px 0;border-radius:0;width:100%}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 8px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.field select option{background:var(--obsidian);color:var(--bone)}
.field textarea{min-height:150px;resize:vertical;line-height:1.55}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-bottom-color:var(--gold)}
.check{display:flex;gap:14px;align-items:flex-start;font-family:var(--sans);font-size:13.5px;line-height:1.65;color:var(--stone)}
.check input{margin-top:4px;accent-color:var(--bronze);width:16px;height:16px;flex:none}
.check a{color:var(--bone)}
.form .pill{justify-self:start;cursor:pointer}
.sent{display:grid;gap:18px;max-width:640px;padding:36px;border-radius:22px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--rule)}
.sent h3{font-size:clamp(28px,3vw,40px)}
.sent p{font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--stone)}
.sent[hidden]{display:none}
.hp{position:absolute;left:-9999px}

/* footer */
footer .fnav{display:flex;flex-wrap:wrap;gap:10px 22px}
footer .fnav a:hover{color:var(--gold)}

@media (max-width:980px){ .top .nav{display:none} }
@media (max-width:860px){
  .two{grid-template-columns:minmax(0,1fr)}
  .ladder li{grid-template-columns:44px minmax(0,1fr)}.ladder li > :last-child{grid-column:2}
  .facts div{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media (max-width:480px){ .top .door-sm{padding:10px 13px;font-size:9.5px;letter-spacing:.14em} .top .right{gap:14px} .phero{padding-top:120px} }
.prose p.label{font-size:11px;line-height:1.5}
.ladder p.q{font-family:var(--serif);font-size:clamp(20px,1.7vw,24px);color:var(--gold)}
.phero.short{min-height:min(66svh,640px)}
#menu nav a.pill{font-family:var(--sans);font-size:12px;letter-spacing:.2em;line-height:1}

/* the Gap Test as quiet text under the hero door */
.quietlink{font-family:var(--sans);font-size:12px;letter-spacing:.08em;color:var(--stone);margin-top:-4px}
.quietlink a{color:var(--bone);text-underline-offset:4px;text-decoration-color:var(--gold)}

/* the seal: the mark on heavy black, under a moving light */
.seal-hero{min-height:min(92svh,860px);align-items:center}
.seal-hero .bg{display:none}
.seal-in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(30px,6vw,90px)}
.seal-in > div:first-child{display:grid;gap:24px;justify-items:start}
.seal{position:relative;justify-self:center;width:min(420px,70vw);aspect-ratio:1;display:grid;place-items:center;isolation:isolate}
.seal-glow{position:absolute;inset:-30%;z-index:-2;background:radial-gradient(circle at 50% 46%,rgba(226,184,119,.30),rgba(176,125,69,.12) 32%,transparent 62%);filter:blur(10px);animation:sealbreathe 7s ease-in-out infinite}
.seal-ring{position:absolute;inset:4%;z-index:-1;border-radius:50%;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.06),transparent 55%),
    radial-gradient(circle at 50% 50%,#151311 0%,#0b0a09 70%);
  box-shadow:inset 0 2px 0 rgba(242,236,223,.08),inset 0 -14px 40px rgba(0,0,0,.8),0 30px 80px rgba(0,0,0,.7),0 0 0 1px rgba(226,184,119,.18),0 0 0 14px rgba(10,10,12,.6),0 0 0 15px rgba(226,184,119,.10)}
.seal-ring::after{content:"";position:absolute;inset:0;border-radius:50%;opacity:.35;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='.6'/></svg>")}
.seal img{width:68%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.75)) drop-shadow(0 0 22px rgba(226,184,119,.18));animation:sealfloat 9s ease-in-out infinite}
.seal-sheen{position:absolute;width:68%;aspect-ratio:1;pointer-events:none;
  -webkit-mask:url(icon.png) center/contain no-repeat;mask:url(icon.png) center/contain no-repeat;
  background:linear-gradient(115deg,transparent 35%,rgba(255,244,220,.75) 48%,transparent 60%) no-repeat;background-size:300% 100%;
  animation:sealsheen 6.5s ease-in-out infinite,sealfloat 9s ease-in-out infinite;mix-blend-mode:screen}
@keyframes sealsheen{0%,55%{background-position:120% 0}85%,100%{background-position:-60% 0}}
@keyframes sealfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sealbreathe{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
@media (prefers-reduced-motion:reduce){.seal img,.seal-sheen,.seal-glow{animation:none}}
@media (max-width:860px){.seal-in{grid-template-columns:minmax(0,1fr)}.seal{order:-1;width:min(300px,72vw)}.seal-hero{padding-top:110px}}

/* the mark, under a shaft of light (Private by design) */
.markhero{position:relative;min-height:100svh;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;text-align:center;padding-top:90px;padding-bottom:clamp(50px,8vh,90px);overflow:hidden}
.markstage{position:relative;width:100%;max-width:1240px;display:grid;place-items:center;min-height:min(62svh,620px)}
.beam{position:absolute;left:-20%;top:-30%;width:70%;height:150%;transform:rotate(-28deg);transform-origin:top left;
  background:linear-gradient(90deg,transparent,rgba(226,184,119,.10) 30%,rgba(242,224,190,.16) 50%,rgba(226,184,119,.08) 70%,transparent);
  filter:blur(18px);mix-blend-mode:screen;animation:beam 9s ease-in-out infinite;pointer-events:none}
.dust{position:absolute;inset:0;pointer-events:none;opacity:.7;
  background-image:radial-gradient(1.4px 1.4px at 12% 22%,rgba(242,224,190,.8),transparent 60%),radial-gradient(1px 1px at 22% 48%,rgba(242,224,190,.7),transparent 60%),radial-gradient(1.6px 1.6px at 30% 14%,rgba(242,224,190,.6),transparent 60%),radial-gradient(1px 1px at 8% 64%,rgba(242,224,190,.6),transparent 60%),radial-gradient(1.2px 1.2px at 36% 36%,rgba(242,224,190,.7),transparent 60%),radial-gradient(1px 1px at 18% 8%,rgba(242,224,190,.6),transparent 60%),radial-gradient(1.3px 1.3px at 44% 26%,rgba(242,224,190,.5),transparent 60%);
  background-size:100% 100%;animation:dust 14s linear infinite;-webkit-mask:linear-gradient(115deg,#000 0%,#000 40%,transparent 62%);mask:linear-gradient(115deg,#000 0%,#000 40%,transparent 62%)}
.floor{position:absolute;left:0;right:0;bottom:-6%;height:34%;background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(226,184,119,.10),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.015),transparent);pointer-events:none}
.markwrap{position:relative;width:min(380px,62vw);aspect-ratio:1;animation:rise 2.4s cubic-bezier(.2,.7,.2,1) both,float 8s ease-in-out 2.4s infinite}
.markwrap .mark{width:100%;height:100%;display:block;filter:drop-shadow(0 30px 40px rgba(0,0,0,.8)) drop-shadow(0 0 30px rgba(226,184,119,.16))}
.mark-sheen{position:absolute;inset:0;pointer-events:none;-webkit-mask:url(mark.png) center/contain no-repeat;mask:url(mark.png) center/contain no-repeat;
  background:linear-gradient(115deg,transparent 38%,rgba(255,246,226,.85) 49%,transparent 60%) no-repeat;background-size:320% 100%;mix-blend-mode:screen;animation:sheen 7s ease-in-out 2.6s infinite;background-position:130% 0}
.mark-shadow{position:absolute;bottom:4%;left:50%;width:min(300px,48vw);height:22px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.85),transparent);filter:blur(4px);animation:shadow 8s ease-in-out 2.4s infinite}
.markcopy{position:relative;display:grid;gap:20px;justify-items:center;max-width:900px}
.markcopy h1{font-size:clamp(40px,5.4vw,88px);line-height:1}
.markcopy .lede{font-size:clamp(20px,1.9vw,27px);color:var(--stone);max-width:40ch}
@keyframes rise{from{opacity:0;filter:blur(14px) brightness(.4);transform:translateY(30px) scale(.96)}to{opacity:1;filter:none;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes shadow{0%,100%{opacity:1;transform:translateX(-50%) scaleX(1)}50%{opacity:.7;transform:translateX(-50%) scaleX(.9)}}
@keyframes sheen{0%,50%{background-position:130% 0}80%,100%{background-position:-60% 0}}
@keyframes beam{0%,100%{opacity:.85}50%{opacity:1;transform:rotate(-26deg)}}
@keyframes dust{from{transform:translateY(0)}to{transform:translateY(-40px)}}
@media (prefers-reduced-motion:reduce){.beam,.dust,.markwrap,.mark-sheen,.mark-shadow{animation:none}}
@media (max-width:760px){.markstage{min-height:48svh}.beam{width:120%;left:-40%}}
.phero .bg.door::after{background:linear-gradient(90deg,rgba(10,10,12,.85),rgba(10,10,12,.2) 60%),linear-gradient(180deg,transparent 60%,rgba(10,10,12,.95))}
.phero .bg.door video{object-position:62% 50%}
.floor{left:-20%;right:-20%;background:radial-gradient(ellipse 45% 60% at 50% 0%,rgba(226,184,119,.12),transparent 70%)}
.beam{background:linear-gradient(90deg,transparent,rgba(226,184,119,.16) 30%,rgba(242,224,190,.24) 50%,rgba(226,184,119,.12) 70%,transparent)}
.floor{background:radial-gradient(ellipse 40% 50% at 50% 35%,rgba(226,184,119,.10),transparent 70%);-webkit-mask:linear-gradient(180deg,transparent,#000 35%);mask:linear-gradient(180deg,transparent,#000 35%)}
/* the mark signs every page, above the footer */
.signoff{position:relative;z-index:2;display:grid;justify-items:center;gap:0;padding-block:70px 40px}
.signoff img{width:64px;height:64px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(226,184,119,.25));opacity:.92}
.signoff span{display:block;width:1px;height:40px;margin-top:22px;background:linear-gradient(var(--gold),transparent)}
.lit .signoff img{filter:drop-shadow(0 8px 14px rgba(0,0,0,.25))}
/* Given or Chosen: the book as the hero */
.bookhero{position:relative;z-index:2;max-width:1320px;margin:0 auto;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(20px,4vw,60px);padding-top:100px;padding-bottom:60px}
.bookcopy{display:grid;gap:22px;justify-items:start}
.bookcopy h1{font-size:clamp(46px,6vw,96px);line-height:1}
.bookcopy .lede{font-size:clamp(21px,2vw,28px);line-height:1.45;max-width:30ch;color:var(--bone);opacity:.9}
.bookcopy .facts-line{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.bookcopy .firstwin{font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--bone);opacity:.82;max-width:46ch;margin:14px 0 22px}
.bookshot{position:relative;aspect-ratio:1040/941}
.bookshot img{width:100%;height:100%;object-fit:cover;display:block;
  -webkit-mask:radial-gradient(ellipse 62% 66% at 50% 50%,#000 58%,transparent 100%);mask:radial-gradient(ellipse 62% 66% at 50% 50%,#000 58%,transparent 100%);
  animation:bookin 1.8s cubic-bezier(.2,.7,.2,1) both}
@keyframes bookin{from{opacity:0;transform:translateY(24px) scale(.97);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){.bookshot img{animation:none}}
@media (max-width:860px){.bookhero{grid-template-columns:minmax(0,1fr);padding-top:90px}.bookshot{order:-1;margin:0 -20px}}

/* v2.03b — the name stands out; three simple steps; three doors */
.ln .tsq{color:var(--gold);font-weight:400;text-shadow:0 0 30px rgba(226,184,119,.35)}
.steps-head{display:grid;gap:14px;max-width:900px}
.steps-head h2{font-size:clamp(34px,4.2vw,62px);line-height:1.05}
.step{position:relative;overflow:hidden;transition:transform .5s ease,box-shadow .5s ease}
.step::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}
.step .n{font-family:var(--serif);font-size:clamp(46px,4.6vw,72px);line-height:1;letter-spacing:0;color:var(--gold);font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1;opacity:.9}
.step:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px rgba(226,184,119,.45),0 24px 60px rgba(0,0,0,.5)}
.plus{font-size:40px;text-shadow:0 0 20px rgba(226,184,119,.6)}
.doors.three{grid-template-columns:repeat(2,minmax(0,1fr))}
.door-book{box-shadow:inset 0 0 0 1px rgba(226,184,119,.5);background:rgba(20,16,12,.7)}
.bookthumb{display:block;margin:-28px -28px 8px;aspect-ratio:16/9;overflow:hidden;border-radius:20px 20px 0 0}
.bookthumb img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transition:transform .8s ease}
.door-book:hover .bookthumb img{transform:scale(1.04)}
.door-private{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;box-shadow:inset 0 0 0 1px rgba(226,184,119,.35);background:linear-gradient(100deg,rgba(176,125,69,.16),rgba(10,10,12,.6) 55%)}
.door-private > div{display:grid;gap:12px;max-width:640px}
.door-private .pill{margin-top:0}
@media (max-width:860px){.doors.three{grid-template-columns:minmax(0,1fr)}}
.rooms .bookthumb img{position:static;inset:auto;transform:none;will-change:auto}.rooms .door-book:hover .bookthumb img{transform:scale(1.04)}
/* equal step cards; matched door images */
.steps ol{align-items:stretch}
.steps ol .step{height:100%}
.doors.three .door{align-content:start}
.bookthumb{aspect-ratio:16/8;background:radial-gradient(ellipse at 50% 60%,#2a1d12,#0b0a09 70%)}
.door-book .bookthumb img{object-fit:contain;object-position:50% 50%;padding:10px 0 0}
.door-ws .bookthumb img{object-fit:cover;object-position:50% 60%}
.door-ws:hover .bookthumb img{transform:scale(1.04)}

/* ===== v2.03 final: carried pages ===== */
.skip{position:absolute;left:-9999px;top:10px;z-index:100;background:var(--bone);color:var(--ink);padding:10px 14px;border-radius:8px;font-family:var(--sans);font-size:13px}
.skip:focus{left:16px}
.sublede{font-family:var(--sans);font-size:15px;line-height:1.75;color:var(--stone);max-width:52ch}
.phero .sublede{color:var(--bone);opacity:.82}
.prose-k{font-size:clamp(22px,2vw,28px);line-height:1.45;color:var(--bone)}
.fine{font-family:var(--sans);font-size:13px;line-height:1.7;color:var(--stone)}
.fine a,.sublede a,.prose a,.facts a,.ladder a,.houseline a,.prose-k a{color:var(--bone);text-decoration-color:var(--gold);text-underline-offset:4px}
.field .opt{text-transform:none;letter-spacing:.04em;color:var(--stone)}
.ticks{list-style:none;padding:0;margin:.4em 0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:26px;font-size:clamp(19px,1.6vw,22px);line-height:1.5}
.ticks li::before{content:"";position:absolute;left:2px;top:.62em;width:12px;height:1px;background:var(--gold)}
.tsqname{color:var(--gold)}
.bookcover{max-width:320px;justify-self:center}
.bookcover img{width:100%;height:auto;display:block;border-radius:6px;box-shadow:0 30px 60px rgba(0,0,0,.6),0 0 0 1px var(--rule)}
.phero .bg.desk::after{background:linear-gradient(90deg,rgba(10,10,12,.9),rgba(10,10,12,.35) 65%),linear-gradient(180deg,rgba(10,10,12,.3),transparent 40%,rgba(10,10,12,.95))}
.phero .bg.desk video{object-position:60% 50%}
.ladder li > div:last-child p{margin-bottom:0}
.markcopy h1{max-width:22ch}
/* the transparent book */
.bookshot img{-webkit-mask:none;mask:none;object-fit:contain;filter:drop-shadow(0 40px 60px rgba(0,0,0,.75)) drop-shadow(0 0 40px rgba(176,125,69,.18))}
.bookshot{aspect-ratio:auto;padding:4% 8%}
.door-book .bookthumb img{padding:14px 0 6px}
/* legal pages */
.legal{max-width:820px}
.legal h1{font-size:clamp(40px,5vw,72px);line-height:1.05;margin:14px 0 6px}
.legal h2,.legal h3{font-size:clamp(24px,2.2vw,32px);line-height:1.2;margin:1.6em 0 .4em;color:var(--bone)}
.legal p,.legal li{font-family:var(--sans);font-size:15px;line-height:1.8;color:var(--stone);margin:0 0 1em}
.legal a{color:var(--bone);text-decoration-color:var(--gold)}
.legal > p:first-child{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.legal{padding-top:140px}
/* the questions pages (carried markup) */
.qpage{max-width:760px;margin:0 auto;padding:140px max(20px,env(safe-area-inset-left,0px)) 40px}
.qpage .L-eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.qpage h1{font-size:clamp(38px,5.4vw,72px)!important;line-height:1.02}
.qpage .L-q{font-style:italic;color:var(--gold);font-size:clamp(24px,2.6vw,34px);margin:18px 0}
.qpage .L-lede{font-size:clamp(21px,2vw,26px);line-height:1.55}
.qpage .L-under{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--stone);margin-top:16px}
.qpage .L-ch{border-top:1px solid var(--rule);padding:56px 0 20px;margin-top:40px}
.qpage .L-num{font-family:var(--sans);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.qpage h2{font-size:clamp(28px,3.2vw,44px);line-height:1.1;margin:.5em 0 .6em}
.qpage p{font-size:clamp(19px,1.7vw,22px);line-height:1.65;margin:0 0 1em;color:var(--stone)}
.qpage p.L-k{color:var(--bone)}
.qpage em{color:var(--bone)}
.qpage .L-small{font-family:var(--sans);font-size:13px;line-height:1.7}
.qpage .L-offer{border-top:1px solid var(--rule);margin:22px 0}
.qpage .L-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--rule);font-family:var(--sans);font-size:14px}
.qpage .L-l{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:11px;padding-top:3px}
.qpage .L-cta-inline{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0}
.qpage .btn{display:inline-flex;align-items:center;font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--ink);background:linear-gradient(180deg,var(--gold),var(--bronze));padding:15px 24px;border-radius:999px}
.qpage .btn.L-ghost{background:transparent;color:var(--bone);box-shadow:inset 0 0 0 1px var(--rule)}
.qpage .L-qa dt{font-size:clamp(21px,1.9vw,25px);color:var(--bone);margin-top:1.4em}
.qpage .L-qa dd{margin:.5em 0 0;font-family:var(--sans);font-size:15px;line-height:1.75;color:var(--stone)}
.bookshot{padding:0;max-width:640px;justify-self:center;width:100%}
.bookshot img{height:auto;max-height:74vh;width:auto;max-width:100%;margin:0 auto}
/* footer: the menu first, the copyright under it, on solid ground */
footer{display:grid;justify-items:center;gap:22px;text-align:center;background:var(--obsidian);padding-block:44px calc(40px + env(safe-area-inset-bottom,0px))}
footer .fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;max-width:1000px}
footer .fnav a{color:var(--stone);text-decoration:none}
footer .copy{margin:0;padding-top:20px;border-top:1px solid var(--rule);width:min(100%,560px);font-size:11.5px;letter-spacing:.08em;color:rgba(167,159,144,.75)}
footer .copy em{font-style:normal;color:var(--gold);opacity:.85}
.signoff{background:linear-gradient(transparent,var(--obsidian))}
.lit footer,.lit .signoff{background:transparent}
footer .fnav{max-width:1240px}
footer .copy{width:min(100%,760px)}
footer .legal-links{display:inline-flex;gap:16px;margin-left:16px}
footer .legal-links a{color:var(--stone);text-decoration:none}
footer .legal-links a:hover,footer .fnav a:hover{color:var(--gold)}
@media (max-width:560px){footer .legal-links{display:flex;justify-content:center;margin:10px 0 0}}
footer{justify-content:center;grid-template-columns:minmax(0,1fr)}
/* phones and tablets: the three steps are not pinned, so all three show */
@media (max-width:860px){
  .ch[data-scene="steps"]{height:auto!important}
  .ch[data-scene="steps"] .stage{position:relative;height:auto;overflow:visible;padding-block:110px 70px;display:block}
  .steps ol .step{height:auto}
}
/* footer: two rows at every width */
footer{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:center;justify-content:center}
footer .fnav,footer .copy{grid-column:1}
/* footer when the page has turned to light */
.lit footer .fnav a,.lit footer .legal-links a{color:#4a443c}
.lit footer .copy{color:#5f584e;border-top-color:rgba(20,18,16,.15)}
.lit footer .copy em{color:var(--bronze);opacity:1}
.lit .scrollcue{display:none}

/* ===== phones: a normal scroll (no pinned scenes) ===== */
html.nofilm .ch.t2,html.nofilm .ch.t3,html.nofilm .ch.t4,html.nofilm .ch[data-scene]{height:auto!important}
html.nofilm .stage{position:relative;height:auto;padding-block:90px;overflow:visible}
html.nofilm .hero .stage{min-height:100svh;height:100svh;padding-block:0}
html.nofilm .lines{display:grid;gap:56px}
html.nofilm .ln{position:static;transform:none!important;filter:none;opacity:1}
html.nofilm .slides{min-height:0;display:grid;gap:110px}
html.nofilm .slide{position:static;transform:none!important}
html.nofilm .curvecap{position:static;margin-top:60px}
html.nofilm .curvebox{margin-bottom:20px}
/* fade in as they arrive */
html.nofilm .ln,html.nofilm .slide,html.nofilm .curvebox{opacity:0;filter:blur(8px);transform:translateY(16px)!important;transition:opacity 1s ease,filter 1s ease,transform 1s ease}
html.nofilm .ln.in,html.nofilm .slide.in,html.nofilm .curvebox.in{opacity:1;filter:none;transform:none!important}
html.nofilm .slide .quote{opacity:1!important;filter:none!important}
/* the light: plays once, then the page turns white and the End arrives */
html.nofilm .light .stage{min-height:100svh;height:100svh;display:grid;place-items:center;padding:0;overflow:hidden}
html.nofilm .light .lightvid{opacity:1}
html.nofilm .light .whiteout{opacity:0;transition:opacity 1.2s ease}
html.nofilm .light .end{opacity:0;filter:blur(10px);transition:opacity 1.2s ease .5s,filter 1.2s ease .5s}
html.nofilm .light.done .whiteout{opacity:1}
html.nofilm .light.done .end{opacity:1;filter:none}
html.nofilm .light.done .stage{color:var(--ink)}
html.nofilm .light.done .house{color:var(--ink)!important}
@media (prefers-reduced-motion:reduce){ .light .whiteout{opacity:1!important} .light .end{opacity:1!important;filter:none!important} .light .stage{color:var(--ink)} }

/* v2.05 · Given or Chosen: the kit (program, not a book) */
.kitshot{margin:0;justify-self:center;width:100%;max-width:760px;position:relative}
.kitshot img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 40px 90px rgba(0,0,0,.65),0 0 0 1px rgba(226,184,119,.14),0 0 60px rgba(176,125,69,.16)}
.kitshot figcaption{margin-top:14px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold,#B98A4E);text-align:center}
.sidebook{margin-top:28px;max-width:300px}
.sidebook img{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7))}
.sidekit{margin-top:28px;max-width:360px}
.sidekit img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px rgba(226,184,119,.12)}
@media (max-width:860px){.kitshot figcaption{letter-spacing:.14em;font-size:9.5px}.kitshot{order:-1;margin:0 -4px}.kitshot img{border-radius:10px}.sidebook{max-width:200px;margin:18px auto 0}.sidekit{display:none}}

/* v2.06 · Home hero: the P's second half sits under the headline (working, Josh 10-16) */
.hero .after{font-family:var(--serif,'Cormorant Garamond',serif);font-size:clamp(22px,min(2.6vw,4.2vh),40px);line-height:1.15;color:var(--bone,#F2ECDF);opacity:.88;margin-top:clamp(10px,1.6vh,20px);max-width:32ch}
.hero .after em{font-style:italic}

/* v2.07 · Home doors: the border runs all the way round, over the images */
.doors.three .door{position:relative;overflow:hidden}
.doors.three .door::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inherit;pointer-events:none;z-index:4}
.door-ws{box-shadow:inset 0 0 0 1px rgba(226,184,119,.35)}
/* v2.08 · Home: the Given or Chosen door shows the kit, not just the book */
.door-book .bookthumb img{object-fit:cover;object-position:50% 55%;padding:0}

/* v2.09 · Doors: the open room gets the big room; the private rooms get the long table */
.door-book .bookthumb img{object-position:68% 60%}
.door-private{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;align-items:center;gap:28px 36px;padding:0 28px 0 0}
.door-private .privthumb{display:block;align-self:stretch;min-height:220px;position:relative;overflow:hidden;border-radius:20px 0 0 20px}
.door-private .privthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;transition:transform .8s ease}
.door-private:hover .privthumb img{transform:scale(1.04)}
.door-private > div{padding:28px 0}
@media (max-width:860px){.door-private{grid-template-columns:minmax(0,1fr);padding:0 0 28px}.door-private .privthumb{min-height:200px;border-radius:20px 20px 0 0}.door-private > div,.door-private > .pill{margin-left:28px;margin-right:28px}.door-private > div{padding:4px 0 0}}
.door-private > .pill{justify-self:start;white-space:nowrap}

/* v2.12 · review pass */
.rooms .deskline,.deskline{font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--bone);opacity:.85;margin:-6px 0 26px}
.deskline a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.facts dd .stack{list-style:none;margin:2px 0 14px;padding:0;font-size:clamp(17px,1.35vw,19px)}
.facts dd .stack li{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--rule)}
.facts dd .stack li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--stone)}
.facts dd .stack li.sum{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border-bottom:0;padding-top:10px}
.facts dd .stack li.sum span:last-child{color:var(--gold)}
.facts dd .stack li.pay{border-top:1px solid var(--gold);border-bottom:0;padding-top:12px;font-size:clamp(21px,1.7vw,25px);color:var(--bone)}
.facts dd .stack li.pay span:last-child{color:var(--bone);font-weight:600}
.facts dd .out{display:block;margin-top:8px;font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--gold);opacity:.95}

/* v2.13 */
.story .afterlist{display:grid;gap:.5em;margin:.6em 0;padding:1.2em 0 1.2em 1.4em;border-left:1px solid var(--bronze)}
.story .afterlist p{color:var(--bone)}
.story .afterlist .label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.story .afterlist p:last-child{color:var(--bone)}
.notfor .last a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
html.nofilm .ln,html.nofilm .ln.small{font-size:clamp(28px,8vw,40px)}

/* v3.0 doors */
.door-feature{grid-column:1/-1}
.door-feature .bookthumb{aspect-ratio:16/6}
.door-feature .bookthumb img{object-position:50% 45%}
.door-th .bookthumb img{object-fit:cover;object-position:50% 45%}
.door-th{box-shadow:inset 0 0 0 1px rgba(226,184,119,.25)}
.firstwin-k{opacity:.9}
.begin-two{display:grid;gap:16px}
.begin-two .door .pill{justify-self:start}
.begin-two .textlink{font-family:var(--sans);font-size:13px;color:var(--gold)}
.phero .bg.bright::after{background:linear-gradient(90deg,rgba(10,10,12,.9),rgba(10,10,12,.62) 42%,rgba(10,10,12,.12) 78%),linear-gradient(180deg,rgba(10,10,12,.35),transparent 25%,transparent 62%,rgba(10,10,12,.96))}
@media (max-width:860px){.phero .bg.bright::after{background:linear-gradient(180deg,rgba(10,10,12,.45),rgba(10,10,12,.78) 45%,rgba(10,10,12,.96))}}
.daysfilm{margin:0 auto;max-width:1180px}
.daysfilm video{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px rgba(226,184,119,.14)}
.daysfilm figcaption{margin-top:14px;font-family:var(--sans);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-align:center}
@media (max-width:860px){.daysfilm video{border-radius:12px}.daysfilm figcaption{letter-spacing:.14em;font-size:9.5px}}
