:root{
  --ink:#05070C;          /* shared with FortySix */
  --chalk:#ECEDE8;
  --chalk-2:#E2E4DD;
  --line:#C9CCC3;
  --slate:#565B62;
  --maple:#9A5A22;
  --maple-soft:#C88A4B;
  --band:#05070C;
  --band-text:#E9EAE5;
  --band-muted:#9EA3A8;
  --band-line:#1F242C;
  --display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --sans:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --hand:"Caveat","Segoe Print","Bradley Hand",cursive;
  --wrap:1140px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ink:#E9EAE5; --chalk:#0A0D12; --chalk-2:#12161D; --line:#252B34;
    --slate:#A0A5AC; --maple:#D8A064; --maple-soft:#D8A064;
    --band:#141920; --band-text:#E9EAE5; --band-muted:#A0A5AC; --band-line:#29303A;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#E9EAE5; --chalk:#0A0D12; --chalk-2:#12161D; --line:#252B34;
  --slate:#A0A5AC; --maple:#D8A064; --maple-soft:#D8A064;
  --band:#141920; --band-text:#E9EAE5; --band-muted:#A0A5AC; --band-line:#29303A;
}

*{box-sizing:border-box}
body{margin:0;background:var(--chalk);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--maple);outline-offset:3px}
img{max-width:100%;display:block}
figure{margin:0}
h1,h2,h3,p{margin:0}
h1,h2,h3{text-wrap:balance}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
.label{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--maple)}
.display{font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:.92}
.serif{font-family:var(--serif)}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--chalk) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}
.mark{font-family:var(--display);font-weight:700;font-size:24px;text-transform:uppercase;letter-spacing:.02em;text-decoration:none}
.top nav{display:flex;gap:26px;flex-wrap:wrap}
.top nav a{font-size:15px;font-weight:500;text-decoration:none;color:var(--slate)}
.top nav a:hover,.top nav a[aria-current="page"]{color:var(--ink)}
.top nav a[aria-current="page"]{border-bottom:2px solid var(--maple)}

/* home hero (unchanged) */
.hero{padding-block:64px 72px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:end}
.hero h1{font-size:clamp(44px,6.8vw,104px)}
.hero h1 span{display:block}
.hero h1 span:nth-child(2){color:var(--maple)}
.hero .sub{font-family:var(--hand);font-size:clamp(30px,3.6vw,40px);line-height:1.1;margin-top:18px}
.hero .lede{margin-top:26px;font-size:18.5px;color:var(--slate);max-width:46ch}
.frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.frame{position:relative;aspect-ratio:3/4.4;max-width:100%;background:#05070C;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;overflow:hidden}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,7,12,.78) 0%,rgba(5,7,12,0) 45%)}
.frame .room{position:relative;z-index:1;font-family:var(--display);font-weight:600;font-size:19px;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;color:#F2F2EE}
.frame .shot{position:relative;z-index:1;font-size:12.5px;line-height:1.35;margin-top:2px;color:#C9CCC6}
.frame:nth-child(2){transform:translateY(-28px)}

/* home: belief line */
.belief{border-block:1px solid var(--line);padding-block:64px}
.belief p{font-family:var(--serif);font-size:clamp(28px,3.6vw,44px);line-height:1.2;max-width:22ch}
.belief p em{font-style:italic;color:var(--maple)}

/* home: doors */
.doors{padding-block:72px 88px}
.door-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.door{text-decoration:none;display:flex;flex-direction:column;gap:14px}
.door .pic{aspect-ratio:4/5;overflow:hidden;background:var(--chalk-2)}
.door .pic img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.door:hover .pic img{transform:scale(1.03)}
.door .quoted{position:relative}
.door .quoted::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,7,12,.85) 0%,rgba(5,7,12,.2) 55%,rgba(5,7,12,0) 75%)}
.door .quoted q{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;font-family:var(--serif);font-size:clamp(20px,2vw,26px);line-height:1.25;color:#F2F2EE;quotes:"\201C" "\201D"}
.narrow{}
.narrow p{font-family:var(--serif);font-size:19px;line-height:1.6;max-width:46ch}
.narrow p + p{margin-top:1em}
.venn-tile{background:var(--chalk-2);color:var(--ink);position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:22px}
.venn-tile svg{width:100%;height:auto;max-height:62%}
.vt-core{fill:var(--maple)}
.vt-name{font-family:var(--display);font-weight:700;font-size:22px;text-transform:uppercase;fill:currentColor}
.venn-tile q{font-family:var(--serif);font-size:clamp(20px,2vw,25px);line-height:1.25;quotes:"\201C" "\201D"}
.door h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:34px;line-height:1}
.door p{color:var(--slate);font-size:16px}
.door .go{font-weight:600;font-size:15px;color:var(--maple)}
.door .quote{aspect-ratio:4/5;background:var(--band);color:var(--band-text);display:flex;flex-direction:column;justify-content:space-between;padding:26px}
.door .quote q{font-family:var(--serif);font-size:clamp(24px,2.4vw,30px);line-height:1.25;quotes:"\201C" "\201D"}
.door .quote span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--maple-soft);font-weight:600}

/* inner pages */
.page-head{padding-block:64px 40px}
.page-head .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:end}
.page-head h1{font-size:clamp(56px,9vw,120px);margin-top:10px}
.page-head .kicker{font-family:var(--serif);font-size:21px;line-height:1.5;max-width:34ch}
.lead-photo{aspect-ratio:4/5;max-height:560px;overflow:hidden}
.lead-photo img{width:100%;height:100%;object-fit:cover}

.section{padding-block:56px}
.section + .section{border-top:1px solid var(--line)}
.section h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(32px,3.6vw,44px);line-height:1;margin-bottom:28px}

/* story chapters */
.chapters{display:grid;gap:0}
.chapter{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,1.3fr);gap:32px;padding-block:28px;border-top:1px solid var(--line)}
.chapter:last-child{border-bottom:1px solid var(--line)}
.chapter .when{font-family:var(--display);font-weight:600;font-size:18px;color:var(--maple);font-variant-numeric:tabular-nums}
.chapter h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:30px;line-height:1}
.chapter p{font-family:var(--serif);font-size:18px;line-height:1.55;max-width:48ch}

.mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:170px;gap:12px}
.mosaic figure{overflow:hidden;position:relative}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic figcaption{position:absolute;left:10px;bottom:8px;font-size:12.5px;font-weight:600;color:#F2F2EE;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.m-a{grid-column:span 3;grid-row:span 2}
.m-b{grid-column:span 3;grid-row:span 2}
.m-c{grid-column:span 2;grid-row:span 2}
.m-d{grid-column:span 2;grid-row:span 2}
.m-e{grid-column:span 2;grid-row:span 2}
.m-f{grid-column:span 3;grid-row:span 2}
.m-g{grid-column:span 3;grid-row:span 2}

/* steps / model */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
.step{border-top:2px solid var(--ink);padding-top:16px}
.step b{display:block;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.12em;color:var(--maple);margin-bottom:8px}
.step p{font-family:var(--serif);font-size:20px;line-height:1.35}
.model{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(30px,4vw,48px);line-height:1}
.model i{font-style:normal;color:var(--maple);font-weight:500}
.model-note{margin-top:18px;color:var(--slate);max-width:52ch}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ways div{background:var(--chalk-2);padding:22px}
.ways h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:26px;line-height:1;margin-bottom:8px}
.ways p{color:var(--slate);font-size:15.5px}
.proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.proof div{border-top:1px solid var(--line);padding-top:12px}
.proof b{display:block;font-family:var(--display);font-weight:600;font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}
.proof span{font-size:14.5px;color:var(--slate)}
.aside-story{font-family:var(--serif);font-size:20px;line-height:1.5;max-width:56ch}

/* fortysix */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.split p{font-family:var(--serif);font-size:19px;line-height:1.6;max-width:46ch}
.split p + p{margin-top:1em}
.josh{max-width:440px}
.josh img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 60%}
.think{align-items:start}
.venn{max-width:560px;color:var(--ink)}
.venn svg{width:100%;height:auto;display:block}
.venn-name text{font-family:var(--display);font-weight:700;font-size:24px;text-transform:uppercase;fill:currentColor}
.venn-mid text{font-family:var(--hand);font-size:23px;fill:var(--maple)}
.venn-core{fill:var(--chalk);stroke:var(--maple);stroke-width:2.5}
.venn-core-t{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.03em;text-transform:uppercase;fill:var(--maple)}
.boards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;max-width:520px}
.board{margin:0}
.lead-wide{margin:0}
.lead-wide img{width:100%;aspect-ratio:4/3;object-fit:cover}
.board img{width:100%;aspect-ratio:3/4;object-fit:cover}
.board figcaption{font-size:13px;color:var(--slate);margin-top:6px}
.sayings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.sayings li{font-family:var(--serif);font-size:clamp(22px,2.4vw,28px);line-height:1.3;padding-block:16px;border-top:1px solid var(--line)}
.sayings li:first-child{color:var(--maple)}
@media (max-width:900px){.sayings{grid-template-columns:1fr}}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pair img{aspect-ratio:3/4;object-fit:cover;width:100%}
.verse{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.4;max-width:34ch}
.verse cite{display:block;margin-top:12px;font-style:normal;font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--maple)}
.button{display:inline-block;margin-top:28px;font-weight:600;font-size:16px;text-decoration:none;background:var(--ink);color:var(--chalk);padding:13px 20px}
.button:hover{background:var(--maple);color:#fff}

/* contact band (every page) */
.hello{background:var(--band);color:var(--band-text);padding-block:72px}
.hello .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end}
.hello h2{font-size:clamp(44px,6.4vw,84px)}
.hello p{margin-top:14px;color:var(--band-muted);max-width:40ch}
.hello-form{display:grid;gap:14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hello-form label{display:grid;gap:6px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--band-muted)}
.hello-form input,.hello-form textarea{font:400 16px var(--sans);color:var(--band-text);background:transparent;border:0;border-bottom:1.5px solid color-mix(in srgb,var(--band-muted) 45%,transparent);padding:8px 2px;border-radius:0;resize:vertical;text-transform:none;letter-spacing:0}
.hello-form input:focus,.hello-form textarea:focus{outline:none;border-bottom-color:var(--maple-soft)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px}
.send{font:600 15px var(--sans);background:var(--band-text);color:var(--band);border:0;padding:12px 22px;cursor:pointer}
.send:hover{background:var(--maple-soft)}
.send:disabled{opacity:.6;cursor:wait}
.form-status{margin:0;font-size:14px;color:var(--band-muted)}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}
footer{background:var(--band);color:var(--band-muted);border-top:1px solid var(--band-line);padding-block:22px;font-size:13.5px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover{color:var(--band-text)}

@media (max-width:900px){
  .hero .wrap,.page-head .wrap,.split,.hello .wrap{grid-template-columns:1fr;gap:36px}
  .door-grid,.steps,.ways{grid-template-columns:1fr}
  .proof{grid-template-columns:1fr 1fr}
  .chapter{grid-template-columns:1fr;gap:8px}
  .frame:nth-child(2){transform:none}
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}
  .m-a,.m-b{grid-column:span 2;grid-row:span 2}
  .m-c,.m-d,.m-e{grid-column:span 1;grid-row:span 2}
  .m-e{grid-column:span 2}
  .m-f,.m-g{grid-column:span 2;grid-row:span 2}
  .door .pic,.door .quote{aspect-ratio:4/3}
  .lead-photo{max-height:none;aspect-ratio:4/3}
}
@media (max-width:560px){
  .wrap{padding-inline:16px}
  .top nav{gap:14px}
  .top nav a{font-size:14px}
  .top nav a.nav-hide{display:none}
  .hero{padding-block:40px 56px}
  .hero h1{font-size:clamp(40px,11.5vw,64px)}
  .frames{gap:8px}
  .frame{padding:10px}
  .frame .room{font-size:15px}
  .frame .shot{display:none}
  .page-head h1{font-size:clamp(44px,13vw,72px)}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){.door .pic img{transition:none}}
