@import url('https://fonts.googleapis.com/css2?family=Saira+Semi+Condensed:wght@500;600;700;800&display=swap');
/* A&I · ai.css v6 · Oct 4 2026
   One stylesheet for every page. Section 1 is the base layer (formerly site.css, pruned to rules still in use).
   Section 2 restyles the holdouts. Section 3 is the studio system (formerly studio.css), which wins on conflicts. */

/* 1 · base */
:root{--midnight: #0D0F1A; --surface:  #12141C; --surface-2:#1A1C26; --gold:     #C4993B; --gold-soft:#C4993B; --gold-pale:#E8E2D4; --violet:   #4B3F72; --violet-2: #885CA6; --plum:     #885CA6; --teal:     #177A7A; --forest:   #4B3F72; --copper:   #B87333; --gold-mid: #C4993B; --blood:    #8B2E2E; --cream:    #F0EBE0; --bone:     #E8E2D4; --cream-2:  #F0EBE0; --cream-mute: rgba(240, 235, 224, 0.74); --cream-soft: rgba(240, 235, 224, 0.58); --cream-dim:  rgba(240, 235, 224, 0.16); --rose:     #D4727A; --hot-red:  #E8503A; --f-display: 'Playfair Display', Georgia, 'Times New Roman', serif; --f-ui:      'Syne', 'Helvetica Neue', Arial, sans-serif; --f-read:    'Source Serif 4', Georgia, serif; --f-label:   'Space Mono', 'IBM Plex Mono', monospace; --f-data:    'IBM Plex Mono', monospace; --max-w: 1180px; --radius: 10px; --radius-sm: 6px;}
*{box-sizing: border-box;}
html,
body{margin: 0; padding: 0;}
img,
svg{display: block; max-width: 100%;}
a{color: inherit;}
body{background: var(--midnight); color: var(--cream); font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif; font-size: 17px; line-height: 1.62; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;}
h1,
h2,
h3,
h4,
h5{font-family: 'Space Mono', 'IBM Plex Mono', monospace; font-weight: 700; letter-spacing: -0.005em; color: var(--cream); margin: 0 0 16px;}
h1{font-size: 56px; line-height: 1.05; font-weight: 900; letter-spacing: -0.02em;}
h2{font-size: 36px; line-height: 1.15;}
h3{font-size: 24px; line-height: 1.25;}
h4{font-size: 18px;}
p{margin: 0 0 18px;}
em{font-family: 'Source Serif 4', Georgia, serif; font-style: italic;}
.eyebrow{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin: 0 0 12px;}
.label{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;}
.wrap{max-width: var(--max-w); margin: 0 auto; padding: 0 24px;}
.section{padding: 88px 0;}
.section-tight{padding: 56px 0;}
.nav{background: rgba(13, 15, 26, 0.88); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--cream-dim);}
.nav-inner{display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; max-width: var(--max-w); margin: 0 auto;}
.nav-links{display: flex; gap: 22px; align-items: center;}
.nav-links a{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cream-mute); text-decoration: none; transition: color 0.18s ease;}
.nav-links a:hover,
.nav-links a.active{color: var(--gold);}
.nav-cta{background: var(--gold); color: var(--midnight) !important; padding: 8px 14px; border-radius: var(--radius-sm); font-weight: 700;}
.nav-cta:hover{background: var(--gold-soft);}
@media (max-width: 720px){
.nav-links{display: none;}
.nav-cta{display: inline-flex;}
}
.btn-row{display: flex; gap: 14px; flex-wrap: wrap; margin-top: 36px;}
.btn{display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: var(--radius-sm); text-decoration: none; font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; transition: transform 0.15s ease, background 0.15s ease; border: 1px solid transparent; cursor: pointer;}
.btn:hover{transform: translateY(-1px);}
.btn-primary{background: var(--gold); color: var(--midnight);}
.btn-primary:hover{background: var(--gold-soft);}
.btn-ghost{border-color: var(--cream-dim); color: var(--cream); background: transparent;}
.btn-ghost:hover{border-color: var(--gold); color: var(--gold);}
.btn-secondary{background: var(--violet); color: var(--cream);}
.btn-secondary:hover{background: var(--violet-2);}
.btn-arrow::after{content: '→'; font-family: 'Source Serif 4', serif; font-style: italic; margin-left: 4px;}
.card{background: var(--surface); border: 1px solid var(--cream-dim); border-radius: var(--radius); padding: 28px 26px; transition: border-color 0.2s ease, transform 0.2s ease;}
.card:hover{border-color: var(--gold); transform: translateY(-2px);}
.card .price{font-family: 'IBM Plex Mono', monospace; color: var(--gold); font-size: 13px; letter-spacing: 0.12em; margin-top: 8px;}
.card h3 a{color: var(--cream); text-decoration: none;}
.card h3 a:hover{color: var(--gold);}
.grid-3{display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 22px;}
.grid-4{display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 20px;}
.grid-2{display: grid; grid-template-columns: 1fr 1fr; gap: 28px;}
@media (max-width: 900px){
.grid-3,
.grid-4{grid-template-columns: 1fr 1fr;}
}
@media (max-width: 600px){
.grid-3,
.grid-4,
.grid-2{grid-template-columns: 1fr;}
}
.verdict{display: inline-block; padding: 6px 14px; border-radius: 999px; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700;}
.verdict-hot{background: var(--forest); color: var(--cream);}
.verdict-warming{background: var(--copper); color: var(--midnight);}
.verdict-lukewarm{background: var(--gold-mid); color: var(--midnight);}
.verdict-cold{background: var(--blood); color: var(--cream);}
.spell{text-align: center; font-family: 'Source Serif 4', serif; font-style: italic; font-size: 22px; line-height: 1.6; color: var(--cream); padding: 56px 32px; border-top: 1px solid var(--cream-dim); border-bottom: 1px solid var(--cream-dim); margin: 80px 0; letter-spacing: 0.005em;}
.spell .so-cast{display: block; margin-top: 14px; font-style: normal; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.3em; color: var(--gold); text-transform: uppercase;}
.footer{padding: 48px 24px 32px; border-top: 1px solid var(--cream-dim); margin-top: 48px; font-size: 13px; color: var(--cream-mute);}
.footer-inner{max-width: var(--max-w); margin: 0 auto; display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; align-items: flex-start;}
.footer-col h5{font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px;}
.footer-col a{display: block; color: var(--cream-mute); text-decoration: none; padding: 4px 0; font-size: 13px;}
.footer-col a:hover{color: var(--gold);}
.footer-meta{font-size: 11px; color: var(--cream-soft); margin-top: 24px;}
.scorecard{background: var(--surface); border: 1px solid var(--cream-dim); border-radius: var(--radius); padding: 28px 26px; max-width: 420px;}
.scorecard .score-num{font-family: 'Space Mono', monospace; font-size: 48px; font-weight: 700; color: var(--gold); line-height: 1;}
.scorecard .score-out-of{font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: var(--cream-soft); margin-left: 4px;}
.scorecard .verdict{margin: 12px 0 18px;}
.scorecard ol{margin: 0; padding-left: 18px; color: var(--cream-mute); font-size: 14px; line-height: 1.6;}
.scorecard .sample-label{font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cream-soft); display: block; margin-top: 18px;}
.visual-card,
.visual-card img{display: block; width: 100%; max-width: 100%; border-radius: var(--radius);}
.visual-card img{border: 1px solid rgba(196, 153, 59, 0.45); box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);}
.hero-visual{margin-top: 28px;}
@media (min-width: 900px){
.hero-split{display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr); gap: 40px; align-items: center;}
.hero-split .hero-visual{margin-top: 0;}
}
.field-group{margin-bottom: 18px;}
.field-label{display: block; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px;}
.field-input,
.field-textarea{width: 100%; background: var(--surface-2); border: 1px solid var(--cream-dim); border-radius: var(--radius-sm); padding: 12px 14px; color: var(--cream); font-family: 'Source Serif 4', Georgia, serif; font-size: 15px; transition: border-color 0.15s ease;}
.field-input:focus,
.field-textarea:focus{outline: none; border-color: var(--gold);}
.field-textarea{min-height: 120px; resize: vertical;}
.field-hint{font-size: 12px; color: var(--cream-soft); margin-top: 6px;}
.oracle-loading,
.oracle-error{display: none;}
.oracle-loading.active,
.oracle-error.active{display: block;}
.oracle-result{display: none;}
.oracle-result.active{display: block;}
.oracle-error{background: rgba(232, 80, 58, 0.1); border-left: 3px solid var(--hot-red); padding: 14px 18px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-size: 14px; margin-top: 14px;}
.note{background: rgba(196, 153, 59, 0.09); border-left: 3px solid var(--gold); padding: 16px 20px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin: 22px 0; font-size: 14px;}
.note .label{color: var(--gold); display: block; margin-bottom: 6px;}
.center{text-align: center;}
.muted{color: var(--cream-mute);}
.gold{color: var(--gold);}
.mt-s{margin-top: 14px;}
.mt-m{margin-top: 28px;}
.article-hero{padding: 88px 0 24px;}
.article-meta{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.20em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px;}
.article-meta .dot{color: var(--cream-dim); margin: 0 10px;}
.article h1{font-size: 44px; line-height: 1.1; max-width: 820px;}
.article-hero .lede{font-size: 21px; max-width: 780px; color: var(--cream-mute);}
.article-body{max-width: 720px; margin: 0 auto; padding: 24px 0 48px;}
.article-body h2{font-family: 'Space Mono', monospace; font-size: 18px; letter-spacing: 0.14em; text-transform: uppercase; margin-top: 56px; margin-bottom: 16px; color: var(--gold);}
.article-body h3{font-size: 20px; margin-top: 36px; margin-bottom: 12px; color: var(--cream);}
.article-body p{font-size: 18px; line-height: 1.72; color: var(--cream-mute); margin-bottom: 20px;}
.article-body p strong,
.article-body p b{color: var(--cream); font-weight: 700;}
.article-body em{color: var(--cream); font-style: italic;}
.article-body ul,
.article-body ol{color: var(--cream-mute); padding-left: 22px; line-height: 1.7; font-size: 17px; margin-bottom: 22px;}
.article-body li{margin-bottom: 10px;}
.article-body li strong{color: var(--cream);}
.article-body a{color: var(--gold); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;}
.article-body blockquote{border-left: 3px solid var(--gold); padding: 6px 0 6px 22px; margin: 28px 0; font-family: 'Source Serif 4', serif; font-style: italic; font-size: 19px; line-height: 1.55; color: var(--cream);}
.prompt-block{background: var(--surface); border: 1px solid var(--cream-dim); border-left: 3px solid var(--gold); border-radius: var(--radius-sm); padding: 22px 24px; font-family: 'IBM Plex Mono', monospace; font-size: 13.5px; line-height: 1.7; color: var(--cream); margin: 18px 0 28px; white-space: pre-wrap;}
.prompt-label{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin: 26px 0 6px; display: block;}
.signoff{margin-top: 56px; font-family: 'Source Serif 4', serif; font-style: italic; color: var(--cream-mute); font-size: 17px;}
.post-foot{border-top: 1px solid var(--cream-dim); margin-top: 56px; padding-top: 28px; display: flex; justify-content: space-between; gap: 22px; flex-wrap: wrap; align-items: center; font-family: 'IBM Plex Mono', monospace; font-size: 13px;}
.post-foot a{color: var(--gold); text-decoration: none;}
.post-foot a:hover{color: var(--gold-soft);}
.article.memoir h1{color: var(--rose);}
.article.memoir .article-meta{color: var(--rose);}
.article.memoir blockquote{border-left-color: var(--rose);}
.article.memoir .prompt-block{border-left-color: var(--rose);}
@media (max-width: 720px){
.article h1{font-size: 34px;}
.article-body{padding: 16px 0 32px;}
.article-body p{font-size: 17px;}
}
.brand-band{width: 100%; overflow: hidden; line-height: 0; margin: 48px 0;}
.brand-band img,
.brand-band svg{width: 100%; height: 420px; object-fit: cover; object-position: center; display: block;}
.brand-band-tight{margin: 32px 0;}
.brand-band-tight img,
.brand-band-tight svg{height: 360px;}
.brand-band figcaption{line-height: 1.4; text-align: center; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cream-soft); padding: 12px 24px 0;}
@media (max-width: 720px){
.brand-band img,
.brand-band svg{height: 240px;}
.brand-band-tight img,
.brand-band-tight svg{height: 220px;}
}
.ninfographic{max-width: 720px; margin: 36px auto 12px; line-height: 0; text-align: center;}
.ninfographic img{width: 100%; height: auto; display: block; border-radius: var(--radius-sm); border: 1px solid var(--cream-dim);}
.ninfographic figcaption{line-height: 1.4; text-align: center; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cream-soft); padding: 14px 12px 0;}
@media (max-width: 720px){
.ninfographic{margin: 24px auto 8px;}
}
@media (max-width: 600px){
.wrap{padding: 0 16px;}
.nav-inner{padding: 14px 16px;}
.section{padding: 56px 0;}
.section-tight{padding: 40px 0;}
.article-hero{padding: 64px 0 16px;}
.footer-inner{padding: 40px 16px 28px;}
.footer-meta{padding-bottom: 28px;}
}
@media (max-width: 900px) and (min-width: 601px){
.section{padding: 72px 0;}
.section-tight{padding: 48px 0;}
}
body{font-family: var(--f-read);}
h1,
h2{font-family: var(--f-display); font-weight: 700; letter-spacing: -0.01em;}
h1{font-size: clamp(40px, 5.6vw, 64px); line-height: 1.04; font-weight: 800;}
h2{font-size: clamp(30px, 3.6vw, 42px); line-height: 1.12;}
h3,
h4,
h5{font-family: var(--f-ui); font-weight: 700; letter-spacing: -0.005em;}
h3{font-size: 22px; line-height: 1.25;}
h4{font-size: 17px; line-height: 1.3;}
h1 em,
h2 em{font-family: var(--f-display); font-style: italic; color: var(--gold); font-weight: 600;}
.eyebrow,
.label,
.article-meta,
.prompt-label,
.footer-col h5,
.field-label,
.sample-label{font-family: var(--f-label);}
.nav{background: rgba(13, 15, 26, 0.94);}
.nav .brandmark{display: flex; align-items: center; text-decoration: none;}
.nav .brandmark img{height: 32px; width: auto; display: block;}
.nav-links a{font-family: var(--f-ui); font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: none;}
.nav-cta,
.btn{font-family: var(--f-ui); letter-spacing: 0.06em;}
.nav-cta{font-size: 13px !important; padding: 9px 16px;}
.nav-cta:hover{background: var(--bone);}
.nav-toggle{display: none; background: transparent; border: 1px solid var(--cream-dim); color: var(--cream); font-family: var(--f-ui); font-weight: 600; font-size: 13px; letter-spacing: 0.06em; padding: 8px 14px; border-radius: var(--radius-sm); cursor: pointer;}
.nav-toggle:focus-visible,
.btn:focus-visible,
.nav-links a:focus-visible{outline: 2px solid var(--gold); outline-offset: 3px;}
@media (max-width: 900px){
.nav-toggle{display: inline-flex;}
.nav-links{display: none;}
.nav.open .nav-links{display: flex; flex-direction: column; align-items: flex-start; gap: 4px; position: absolute; left: 0; right: 0; top: 100%; background: var(--midnight); border-bottom: 1px solid var(--cream-dim); padding: 12px 24px 22px;}
.nav.open .nav-links a{font-size: 16px; padding: 10px 0;}
.nav.open .nav-links .nav-cta{margin-top: 8px; padding: 12px 18px;}
.nav .brandmark img{height: 26px;}
}
.btn{font-size: 13px; font-weight: 700; text-transform: none; letter-spacing: 0.03em; padding: 14px 22px;}
.btn:hover{transform: none;}
.btn-primary:hover{background: var(--bone);}
.card{border-radius: var(--radius);}
.card:hover{transform: none;}
.card h3{margin-bottom: 10px;}
.founder{display: grid; grid-template-columns: 340px 1fr; gap: 48px; align-items: center;}
.founder img{width: 100%; border-radius: var(--radius);}
@media (max-width: 800px){
.founder{grid-template-columns: 1fr; gap: 28px;}
.founder img{max-width: 300px;}
}
.footer .footer-logo{height: 40px; width: auto; margin-bottom: 14px;}
.footer-col .tagline{font-family: var(--f-display); font-style: italic; color: var(--cream); font-size: 16px; display: block; margin-bottom: 4px;}
.spell{font-family: var(--f-display);}
@media (max-width: 600px){
.nav.open .nav-links{padding: 10px 16px 20px;}
}
@media (max-width: 720px){
.menu,
.tier{grid-template-columns: 1fr !important; gap: 12px !important;}
.btn{white-space: normal;}
}

/* 2 · holdouts */
/* v6 · holdouts restyled to the studio system */
.signoff{font-family:var(--f-display);font-weight:700;font-size:22px;margin:32px 0 0}
.post-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin:40px 0 0;padding:20px 0 0;border-top:1px solid var(--rule-ink);font-family:var(--f-ui);font-size:16px;font-weight:600}
.post-foot a{color:var(--gold-ink);text-decoration:none}.post-foot a:hover{color:var(--ink);text-decoration:underline}
.spell{display:none}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.center{text-align:center}.center .btn-row{justify-content:center}
.mt-s{margin-top:16px}.mt-m{margin-top:32px}
.prompt-label{font-family:var(--f-ui);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-ink);margin:24px 0 8px}
.footer .tagline{display:block;font-family:var(--f-ui);font-size:15px;color:var(--cream-soft);margin-top:12px}

/* 3 · studio */

/* =====================================================
   A&I studio layer v4 · Oct 3 2026
   Loads after site.css. One ordered file:
   1 tokens + type  2 light scope ("dark frame")  3 layout
   4 components  5 case studies  6 nav + footer
   7 responsive (tablet ≤980, nav ≤900, phone ≤760, small ≤420)
   No !important except where site.css already uses it.
   ===================================================== */

/* 1 · tokens + type */
:root{--rule:rgba(240,235,224,.16);--rule-ink:rgba(13,15,26,.16);--ink:#0D0F1A;--ink-mute:rgba(13,15,26,.72);--paper:#F4EFE4;--gold-ink:#7A5C1C;--measure:640px;--nav-h:64px;--f-display:'Saira Semi Condensed',Arial,sans-serif;--f-ui:'Saira Semi Condensed',Arial,sans-serif}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-size:18px;line-height:1.6;text-wrap:pretty;overflow-x:clip}
img,svg,video{max-width:100%}
a{color:var(--gold);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--bone)}
h1,h2,h3{text-wrap:balance}
h1,h2,.list-row h3,.next h2{font-family:var(--f-display);font-weight:800;letter-spacing:-.005em}
h1{font-size:clamp(40px,6vw,84px);line-height:.98}
h2{font-size:clamp(30px,3.6vw,50px);line-height:1.02}
h3{font-family:var(--f-ui);font-weight:700;font-size:22px;letter-spacing:0}
.eyebrow{font-family:var(--f-ui);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--cream-soft);margin-bottom:14px}
.label{font-family:var(--f-ui);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:none}
.kicker{font-family:var(--f-ui);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--cream-soft);margin:0 0 20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kicker b{color:var(--gold);font-weight:700}
.lede{font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--cream-mute);max-width:var(--measure)}
.prose{max-width:var(--measure)}
.prose p{margin:0 0 1.1em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 2 · light scope. Dark frame: nav, page hero, closing CTA and footer stay midnight.
   Everything you read sits on bone, cream or paper. Tokens are swapped inside the
   scope so older components (Lab posts, tools) flip without per-page rewrites. */
main>section:not(.s-cream):not(.s-dark):not(.marquee-band),body>section.section,.article{
--cream:#0D0F1A;--cream-2:#0D0F1A;--cream-mute:rgba(13,15,26,.76);--cream-soft:rgba(13,15,26,.64);--cream-dim:rgba(13,15,26,.16);--rule:rgba(13,15,26,.16);
--surface:#FAF7F0;--surface-2:#E8E2D4;--gold:#7A5C1C;--gold-soft:#5E4715;--rose:#A23F49;--violet-2:#6B4790;
background:var(--bone);color:var(--ink)}
.article{background:var(--paper)}
.article .section{background:transparent}
:is(main>section:not(.s-cream):not(.s-dark):not(.marquee-band),body>section.section,.article) a:hover{color:var(--ink)}
:is(main>section:not(.s-cream):not(.s-dark):not(.marquee-band),body>section.section,.article) .btn-primary{background:var(--ink);color:var(--cream-light,#F0EBE0)}
:is(main>section:not(.s-cream):not(.s-dark):not(.marquee-band),body>section.section,.article) .btn-primary:hover{background:var(--violet);color:#F0EBE0}
:is(main>section:not(.s-cream):not(.s-dark):not(.marquee-band),body>section.section,.article) :is(.verdict-hot,.verdict-cold,.btn-secondary){color:#F0EBE0}
:is(main>section:not(.s-cream):not(.s-dark):not(.marquee-band),body>section.section,.article) .btn-secondary:hover{color:#F0EBE0}
.s-dark{background:var(--midnight);color:var(--cream)}
.cs h3{color:var(--ink)}

/* 3 · layout */
.wrap-narrow{max-width:var(--measure);margin:0 auto;padding:0 24px}
.bleed{max-width:1400px;margin:0 auto;padding:clamp(24px,3vw,40px) 24px}
.s{padding:clamp(56px,6.5vw,96px) 0}
.s-tight{padding:clamp(40px,4.5vw,64px) 0}
.s-cream{background:var(--cream);color:var(--ink)}
.s-cream h1,.s-cream h2,.s-cream h3,.s-cream h4{color:var(--ink)}
.s-cream a{color:var(--violet)}
.s-cream a:hover{color:var(--ink)}
.s-cream .kicker,.s-cream .meta,.s-cream .tile .meta,.s-cream .muted,.s-cream .lede{color:var(--ink-mute)}
.s-cream .kicker b{color:var(--violet)}
.s-cream .rule,.s-cream .facts,.s-cream .row,.s-cream .list-row{border-color:var(--rule-ink)}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:16px 24px;flex-wrap:wrap;margin-bottom:32px}
.head-row h2{margin:0}

/* 4 · components */
/* links + buttons */
.links{display:flex;gap:16px 28px;flex-wrap:wrap;align-items:center;margin-top:32px}
.go{font-family:var(--f-ui);font-weight:700;font-size:15px;text-decoration:none;color:var(--cream);border-bottom:1px solid var(--gold);padding-bottom:3px;display:inline-flex;gap:8px}
.go::after{content:'→'}
.go.ext::after{content:'↗'}
.go:hover{color:var(--gold)}
.s-cream .go{color:var(--ink);border-color:var(--violet)}
.s-cream .go:hover{color:var(--violet)}
.btn,.nav-cta{border-radius:4px}
.btn{font-family:var(--f-ui)}
.s-cream .btn-primary{background:var(--ink);color:var(--cream)}
.s-cream .btn-primary:hover{background:var(--violet);color:var(--cream)}

/* hero */
.hero-v3{padding:clamp(56px,7vw,104px) 0 clamp(48px,5vw,72px);background:var(--midnight)}
.hero-v3 h1{max-width:18ch}
.hero-v3 .lede{margin-top:28px}
.sprint-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}

/* screenshots */
.shot{margin:0;position:relative;border-radius:6px;overflow:hidden;background:var(--surface-2);aspect-ratio:16/10}
.shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.shot.natural{aspect-ratio:auto}.shot.natural img{height:auto}
.shot-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:var(--f-data);font-size:12px;letter-spacing:.06em;color:var(--cream-soft);background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(127,127,127,.08) 14px 15px)}
.s-cream .shot{background:var(--bone)}
.shot figcaption,.cap{font-family:var(--f-ui);font-size:13px;color:var(--cream-soft);margin-top:10px}
.s-cream .cap{color:var(--ink-mute)}
.studio-art{margin:0}.studio-art img{width:100%;height:auto;display:block;border-radius:6px}

/* work tiles (home) */
.work{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.tile{text-decoration:none;color:inherit;display:block}
.tile .shot{aspect-ratio:4/3;transition:transform .4s ease}
.tile:hover .shot{transform:translateY(-4px)}
.tile .t-head{display:flex;flex-direction:column;gap:2px;margin-top:16px}
.tile h3{font-size:18px;margin:0}
.tile .meta{font-family:var(--f-ui);font-size:12px;color:var(--cream-soft);order:-1}
.tile p{margin:6px 0 0;color:var(--cream-mute);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.s-cream .tile p{color:var(--ink-mute)}
.tile:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* facts */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-top:1px solid var(--rule);padding-top:20px;margin-top:40px}
.facts dt{font-family:var(--f-ui);font-size:13px;color:var(--cream-soft);margin-bottom:4px}
.facts dd{margin:0;font-size:16px;line-height:1.4}

/* label / content rows */
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px 48px;padding:32px 0;border-top:1px solid var(--rule)}
.row:first-child{border-top:0;padding-top:0}
.row h2{font-size:clamp(26px,2.6vw,34px);margin:0}
.row .prose p:last-child{margin-bottom:0}

/* quote */
.quote{margin:0;max-width:900px}
.quote p{font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(22px,2.8vw,38px);line-height:1.3;margin:0 0 24px;color:inherit}
.quote cite{font-family:var(--f-ui);font-style:normal;font-size:14px;color:var(--cream-soft)}
.s-cream .quote cite{color:var(--ink-mute)}

/* columns */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.cols.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols>div{border-top:1px solid var(--rule);padding-top:20px}
.s-cream .cols>div{border-color:var(--rule-ink)}
.cols h3{margin:0 0 4px}
.cols .price{font-family:var(--f-ui);font-size:14px;color:var(--gold);margin:0 0 12px}
.s-cream .cols .price{color:var(--violet)}
.cols p{font-size:17px;margin:0 0 14px}
ul.plain{list-style:none;padding:0;margin:0}ul.plain li{padding:8px 0;border-top:1px solid var(--rule);font-size:16px}.s-cream ul.plain li{border-color:var(--rule-ink)}

/* list rows (lab posts, menus) */
.list{border-top:1px solid var(--rule)}
.list-row{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:8px 32px;padding:22px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit;align-items:baseline}
.list-row .meta{font-family:var(--f-ui);font-size:13px;color:var(--cream-soft)}
.list-row h3{font-weight:700;font-size:clamp(20px,2vw,26px);margin:0;line-height:1.15}
.list-row .price{font-family:var(--f-ui);font-weight:700;color:var(--gold);white-space:nowrap}
.list-row p{grid-column:2;margin:4px 0 0;font-size:16px;color:var(--cream-mute)}
a.list-row:hover h3{color:var(--gold)}
.s-cream .list,.s-cream .list-row{border-color:var(--rule-ink)}
.s-cream .list-row .meta,.s-cream .list-row p{color:var(--ink-mute)}
.s-cream .list-row .price{color:var(--violet)}
.s-cream a.list-row:hover h3{color:var(--violet)}

/* founder */
.founder-v3{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:center}
.founder-v3 img{width:100%;border-radius:6px;aspect-ratio:4/5;object-fit:cover}

/* people */
.people{display:grid;gap:56px}
.person{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start;padding-top:40px;border-top:1px solid var(--rule-ink)}
.person:first-child{border-top:0;padding-top:0}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.person h3{font-size:28px;margin:0 0 10px}
.people-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-bottom:24px}
.people-4.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.people-4 img,.people-4 .shot{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;margin-bottom:14px}
.people-4 h3{margin:0 0 4px;font-size:20px}.people-4 p{font-size:16px;margin:0;color:var(--cream-mute)}.s-cream .people-4 p{color:var(--ink-mute)}
.dog-name{aspect-ratio:1;border-radius:4px;background:var(--surface);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:800;font-size:clamp(48px,6vw,88px);color:var(--gold);margin-bottom:14px}
.dog-row{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin-top:8px}
.dog-row img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.dog-row p{margin:0;font-size:16px;flex:1 1 220px}

/* credits */
.credits{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin-top:48px;border-top:1px solid var(--rule)}
.credits>div{padding:24px 24px 24px 0;border-bottom:1px solid var(--rule)}
.credits .yr{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gold);display:block;margin-bottom:10px}
.credits h3{margin:0 0 8px}
.credits h3 a{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold)}.credits h3 a:hover{color:var(--gold)}
.credits p{font-size:16px;color:var(--cream-mute);margin:0}
.liner h2{max-width:20ch}
/* timeline movement: line draws, entries rise in as you scroll */
.credits{position:relative}
.credits::before{content:'';position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.credits.in::before{transform:scaleX(1)}
.js-reveal .credits>div{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}
.js-reveal .credits.in>div{opacity:1;transform:none}
.credits .yr{position:relative;padding-left:16px}
.credits .yr::before{content:'';position:absolute;left:0;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--gold)}
@media (prefers-reduced-motion:reduce){.credits::before{transform:none;transition:none}.js-reveal .credits>div{opacity:1;transform:none;transition:none}}

/* oracle reads */
.oracle-reads{text-align:center}
.or-title{color:var(--gold);font-size:clamp(40px,6vw,72px);margin:0 0 8px;letter-spacing:.01em}
.or-sub{font-family:var(--f-ui);font-size:clamp(17px,1.6vw,21px);color:var(--cream);margin:0 0 clamp(28px,4vw,48px)}
.or-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"a f b" "c f d";gap:20px;align-items:stretch;max-width:1080px;margin:0 auto}
.or-a{grid-area:a}.or-b{grid-area:b}.or-c{grid-area:c}.or-d{grid-area:d}.or-fig{grid-area:f}
.or-card{border:1px solid rgba(196,153,59,.55);border-radius:4px;padding:24px 20px;display:flex;flex-direction:column;justify-content:center;gap:10px;background:rgba(240,235,224,.03)}
.or-card h3{font-family:var(--f-ui);font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0}
.or-card p{margin:0;font-size:18px;color:var(--cream)}
.or-fig{margin:0;align-self:center}
.or-fig img{width:100%;height:auto;display:block;border-radius:4px;-webkit-mask-image:radial-gradient(ellipse 75% 80% at 50% 45%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 75% 80% at 50% 45%,#000 60%,transparent 100%)}
.or-v{list-style:none;margin:0;padding:0;display:grid;gap:8px;text-align:left;font-family:var(--f-ui);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--cream)}
.or-v li{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center}
.or-v i{width:12px;height:12px;border-radius:50%}
.or-v b{font-weight:600;color:var(--cream-mute);letter-spacing:.02em}
.or-foot{font-family:var(--f-ui);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:14px;color:var(--cream);margin:clamp(28px,4vw,40px) 0 6px}
.or-foot span{color:var(--gold);margin:0 8px}
.or-free{font-family:var(--f-ui);letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--gold);margin:0}

/* people carousel (Hire) + hosts (Live Lab) */
.car-flush{margin-top:0}
.car-track.car-people{grid-auto-columns:calc((100% - 72px)/4)}
.pc{display:block;text-decoration:none;color:inherit}
.pc figure{margin:0 0 14px;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--surface-2)}
.pc img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;transition:transform .5s ease-out}
.pc:hover img{transform:scale(1.04)}
.pc-role{font-family:var(--f-data);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 4px}
.pc h3{margin:0 0 6px;font-size:21px}
.pc p:last-child{margin:0;font-size:16px;line-height:1.5;color:var(--cream-mute)}
.s-cream .pc p:last-child{color:var(--ink-mute)}
.s-cream .pc-role{color:#8A6A22}
.hosts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.host{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center}
.host img{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center 20%}
.host h3{margin:0 0 4px}.host p{margin:0;font-size:16px;color:var(--cream-mute)}

/* lab list with visuals */
.lab-list .list-row{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"f m" "f h" "f p";align-items:start;gap:4px 28px}
.lab-list .list-row .meta{grid-area:m;align-self:end}
.lab-list .list-row h3{grid-area:h}
.lab-list .list-row p{grid-area:p;grid-column:auto}
.lab-fig{grid-area:f;margin:0;position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--midnight);display:flex;align-items:flex-end;padding:12px}
.lab-fig[data-series="commonplace"]{background:var(--violet)}
.lab-fig[data-series="verdicts"]{background:#8B2E2E}
.lab-fig span{font-family:var(--f-ui);font-weight:700;font-size:15px;color:#F0EBE0;line-height:1.1}
.lab-fig span::before{content:'&';display:block;font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:34px;color:var(--gold);margin-bottom:6px}
.lab-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s ease-out}
.lab-list a.list-row:hover .lab-fig img{transform:scale(1.04)}
.lab-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lab-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}
.lab-card .lab-fig{margin-bottom:8px}
.lab-card .meta{font-family:var(--f-ui);font-size:13px;color:var(--ink-mute)}
.lab-card h3{margin:0;font-size:19px;line-height:1.25}
.lab-card:hover h3{color:var(--violet)}
.lab-card:hover .lab-fig img{transform:scale(1.04)}
.spell-feature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 32px;align-items:center;background:var(--midnight);color:var(--cream);text-decoration:none;border-radius:4px;padding:28px 32px;margin:0 0 40px;border-top:3px solid var(--gold)}
.spell-feature .sf-tag{font-family:var(--f-data);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.spell-feature .sf-t{font-family:var(--f-display);font-weight:800;font-size:clamp(26px,3vw,36px);line-height:1.05;grid-column:1}
.spell-feature .sf-d{grid-column:1;color:var(--cream-mute);font-size:16px;max-width:60ch}
.spell-feature .sf-go{grid-column:2;grid-row:1/4;font-family:var(--f-ui);font-weight:700;background:var(--gold);color:var(--midnight);padding:12px 18px;border-radius:4px;white-space:nowrap;transition:filter .2s}
.s-cream a.spell-feature,.s-cream a.spell-feature:hover{color:var(--cream)}
.spell-feature:hover .sf-go{filter:brightness(1.1)}
.faq-h{margin:0 0 16px}
.faqs{border-top:1px solid var(--rule-ink)}
details.faq{border-bottom:1px solid var(--rule-ink)}
details.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;font-family:var(--f-ui);font-weight:700;font-size:18px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';font-size:24px;color:var(--violet);line-height:1;transition:transform .25s}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq .prose{padding:0 0 18px;animation:mrIn .3s ease-out}
details.faq .prose p:last-child{margin:0}
.cols.process{margin-top:32px}
.car-nav .go{margin-right:12px;align-self:center}
/* scroll reveal for grids */
.js-reveal :is(.cols,.work,.cl-recent,.people-4,.steps-v3,.lab-cards,.cs-built ol)>*{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}
.js-reveal :is(.cols,.work,.cl-recent,.people-4,.steps-v3,.lab-cards,.cs-built ol).in>*{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-reveal :is(.cols,.work,.cl-recent,.people-4,.steps-v3,.lab-cards,.cs-built ol)>*{opacity:1;transform:none;transition:none}}

/* sprint tiers + steps */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rule)}
.tiers .tier{display:block;padding:32px 32px 32px 0;border-right:1px solid var(--rule)}.tiers .tier+.tier{padding-left:32px}.tiers .tier:last-child{border-right:0}
.tiers .tier h3{margin:6px 0 4px;font-size:28px}.tier-price{font-family:var(--f-display);font-weight:800;font-size:40px;color:var(--gold);margin:0 0 16px;line-height:1}
.tiers .tier ul.plain{margin-top:20px}
.steps-v3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.steps-v3>div{border-top:2px solid var(--gold);padding-top:18px}.steps-v3 h3{margin:6px 0 8px}.steps-v3 p{font-size:16px;margin:0}

/* drawers */
details.prompts{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
details.prompts summary{cursor:pointer;list-style:none;padding:24px 0;font-family:var(--f-ui);font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px}
details.prompts summary::-webkit-details-marker{display:none}
details.prompts summary::after{content:'+';color:var(--gold);font-size:22px;line-height:1}
details.prompts[open] summary::after{content:'–'}
details.prompts ol{margin:0 0 24px;padding-left:22px;display:grid;gap:18px}
details.prompts li b{display:block;font-family:var(--f-ui);margin-bottom:4px}
details.prompts code{font-family:var(--f-data);font-size:14px;line-height:1.6;color:var(--cream-mute);display:block;overflow-wrap:anywhere}
.s-cream details.prompts{border-color:var(--rule-ink)}
.s-cream details.prompts code{color:var(--ink-mute)}
.more-results{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.more-results summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:12px 24px;align-items:center;padding:24px 0}
.more-results summary::-webkit-details-marker{display:none}
.mr-lab{font-family:var(--f-data);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.mr-peek{font-family:var(--f-display);font-size:clamp(18px,1.8vw,22px);color:var(--cream);transition:color .2s}
.more-results summary:hover .mr-peek{color:var(--gold)}
.mr-icon{width:36px;height:36px;border:1px solid var(--rule);border-radius:50%;position:relative;transition:transform .3s ease,border-color .2s}
.mr-icon::before,.mr-icon::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--cream);transform:translate(-50%,-50%)}
.mr-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s ease}
.more-results[open] .mr-icon{transform:rotate(180deg);border-color:var(--gold)}
.more-results[open] .mr-icon::after{transform:translate(-50%,-50%) rotate(0deg)}
.mr-body{padding:0 0 28px;max-width:72ch;animation:mrIn .35s ease-out}
.mr-body .meta{font-family:var(--f-ui);font-size:13px;color:var(--cream-soft);margin:0 0 8px}
.mr-body p{color:var(--cream-mute);font-size:17px;line-height:1.6}
@keyframes mrIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* next project */
.next{display:block;text-decoration:none;color:inherit;padding:clamp(48px,7vw,96px) 0}
.next .kicker{margin-bottom:8px}
.next h2{margin:0;transition:color .2s}
.next:hover h2{color:var(--gold)}

/* client name marquee */
.marquee-band{background:var(--cream);color:var(--ink);padding:24px 0 26px;border-bottom:1px solid var(--rule-ink)}
.marquee-band .lab{font-family:var(--f-data);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);text-align:center;margin:0 0 14px}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:mq 40s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.marquee-set{display:flex;align-items:center;gap:0;margin:0;padding:0;list-style:none}
.marquee-set li{display:flex;align-items:center;flex:none}
.marquee-set li::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);margin:0 36px;flex:none}
.mq-name{font-family:var(--f-display);font-weight:700;font-size:22px;letter-spacing:.01em;white-space:nowrap;color:var(--ink);text-decoration:none;line-height:1.2}
a.mq-name:hover{color:var(--violet)}
.mq-name small{font-family:var(--f-ui);font-weight:600;font-size:13px;color:var(--ink-mute);margin-left:8px;letter-spacing:.02em}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.marquee-track{animation:none}.marquee-set[aria-hidden]{display:none}}

/* work page: client cards */
.cl-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.cl-card{grid-column:span 2;display:flex;flex-direction:column;border:1px solid rgba(13,15,26,.18);background:var(--cl-bg);color:var(--cl-fg);text-decoration:none;border-radius:4px;overflow:hidden;transition:transform .25s ease-out,box-shadow .25s ease-out}
.cl-card:nth-child(1),.cl-card:nth-child(2){grid-column:span 3}
.cl-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(13,15,26,.5)}
.cl-fig{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--bone)}
.cl-fig img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .6s ease-out}
.cl-card:hover .cl-fig img{transform:scale(1.03)}
.cl-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.cl-client{font-family:var(--f-data);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--cl-ac);margin:0 0 8px}
.cl-card h2{color:var(--cl-fg);font-size:clamp(20px,1.7vw,24px);line-height:1.2;margin:0 0 10px;text-wrap:balance}
.cl-meta{font-family:var(--f-ui);font-size:13px;color:var(--cl-mu);margin:0 0 4px}
.cl-tagline{font-family:var(--f-ui);font-size:13px;color:var(--cl-mu);margin:0 0 20px}
.cl-btn{margin-top:auto;align-self:flex-start;font-family:var(--f-ui);font-weight:700;font-size:14px;padding:10px 16px;border-radius:4px;background:var(--cl-ac);color:var(--cl-bg);transition:filter .2s}
.cl-card:hover .cl-btn{filter:brightness(1.1)}
.cl-grid.cl-recent{grid-template-columns:repeat(3,minmax(0,1fr))}
.cl-recent .cl-card,.cl-recent .cl-card:nth-child(1),.cl-recent .cl-card:nth-child(2){grid-column:auto}
.cl-note .cl-tagline{font-family:inherit;font-size:16px;line-height:1.55}
.car{margin-top:clamp(56px,7vw,88px)}
.car-nav{display:flex;gap:8px}
.car-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--rule-ink);background:transparent;color:var(--ink);font-size:18px;cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.car-btn:hover:not(:disabled){background:var(--ink);color:var(--cream)}
.car-btn:disabled{opacity:.3;cursor:default}
.car-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;scrollbar-width:none;padding:4px 0 24px}
.car-track::-webkit-scrollbar{display:none}
.car-track>*{scroll-snap-align:start}
.car-track .cl-fig{aspect-ratio:16/9}
.car-track .cl-body{padding:16px 18px 18px}
.car-track .cl-card h2{font-size:18px}
.car-track .cl-tagline{display:none}
.car-track .cl-note .cl-tagline{display:block;font-size:14px;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.car-track .cl-btn{font-size:13px;padding:8px 12px}

/* 5 · case studies */
.cs{background:var(--cream);color:var(--ink)}
.cs a{color:var(--violet)}.cs a:hover{color:var(--ink)}
.cs-head{max-width:1120px;margin:0 auto;padding:clamp(48px,6vw,88px) 24px 0}
.cs-crumb{font-family:var(--f-ui);font-size:13px;color:var(--ink-mute);display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}
.cs-crumb a{color:var(--ink-mute);text-decoration:none}.cs-crumb a:hover{color:var(--ink)}
.cs-eyebrow{font-family:var(--f-data);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8A6A22;margin:0 0 14px}
.cs-head h1{color:var(--ink);max-width:22ch;margin:0 0 20px}
.cs-dek{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--ink-mute);max-width:60ch;margin:0}
.cs-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);margin:44px 0 0}
.cs-glance>div{padding:20px 24px 4px 0}
.cs-glance>div+div{padding-left:24px;border-left:1px solid var(--rule-ink)}
.cs-glance h2{font-family:var(--f-data);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8A6A22;margin:0 0 8px;font-weight:600}
.cs-glance p{font-size:17px;line-height:1.5;margin:0;color:var(--ink)}
.cs-meta{display:flex;flex-wrap:wrap;gap:8px 28px;font-family:var(--f-ui);font-size:14px;color:var(--ink-mute);border-top:1px solid var(--rule-ink);margin-top:20px;padding:16px 0 0}
.cs-meta b{color:var(--ink);font-weight:600}
.cs-fig{max-width:1120px;margin:48px auto;padding:0 24px}
.cs-fig img{width:100%;display:block;border-radius:4px;box-shadow:0 1px 0 var(--rule-ink),0 24px 48px -28px rgba(13,15,26,.35)}
.cs-fig figcaption{font-family:var(--f-ui);font-size:13px;color:var(--ink-mute);margin-top:12px;max-width:680px}
.cs-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.cs-pair figcaption{grid-column:1/-1}
.cs-body{max-width:720px;margin:0 auto;padding:0 24px}
.cs-sec{padding:40px 0 8px}
.cs-sec>.cs-eyebrow{margin-bottom:8px}
.cs-sec h2{color:var(--ink);font-size:clamp(24px,2.6vw,34px);margin:0 0 18px}
.cs-sec h3{color:var(--ink);font-size:21px;margin:28px 0 8px}
.cs-body p{font-size:19px;line-height:1.7;margin:0 0 1.15em}
.cs-body ul{margin:0 0 1.2em;padding-left:20px}.cs-body li{font-size:18px;line-height:1.6;margin:0 0 8px}
.cs-quote{max-width:900px;margin:56px auto;padding:0 24px}
.cs-quote blockquote{margin:0;border-top:2px solid var(--ink);padding-top:28px}
.cs-quote p{font-family:var(--f-display);font-style:italic;font-weight:600;font-size:clamp(22px,2.6vw,34px);line-height:1.3;color:var(--ink);margin:0 0 18px}
.cs-quote cite{font-family:var(--f-ui);font-style:normal;font-size:14px;color:var(--ink-mute)}
/* try-it (TEACH) box */
.cs-try{max-width:720px;margin:56px auto 0;padding:0 24px}
.cs-try-in{border:1px solid var(--rule-ink);border-top:3px solid var(--gold);background:#FAF7F0;padding:28px 28px 24px}
.cs-try h2{color:var(--ink);font-size:24px;margin:0 0 8px}
.cs-try-how{font-family:var(--f-ui);font-size:14px;color:var(--ink-mute);margin:0 0 14px}
.cs-try-how a,.cs-try-credit a{color:var(--violet)}
.cs-try-prompt{font-family:var(--f-data);font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);background:var(--bone);padding:16px 18px;margin:0 0 16px;border-radius:2px}
.cs-try-copy{font-family:var(--f-ui);font-weight:700;font-size:14px;background:var(--ink);color:var(--cream);border:0;border-radius:4px;padding:11px 18px;min-height:44px;cursor:pointer}
.cs-try-copy:hover{background:var(--violet)}
.cs-try-credit{font-family:var(--f-ui);font-size:13px;color:var(--ink-mute);margin:20px 0 0}
.cs-rules{background:var(--midnight);color:var(--cream);padding:18px 20px;margin:18px 0 6px;border-radius:2px}
.cs-rules h3{color:var(--gold);font-size:17px;margin:0 0 4px}
.cs-rules p{font-family:var(--f-ui);font-size:13px;color:var(--cream-mute);margin:0 0 12px}
.cs-rules .cs-try-prompt{background:rgba(244,239,228,.08);color:var(--cream)}
.cs-rules .cs-try-copy{background:var(--gold);color:var(--midnight)}
.cs-steps{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:20px}
.cs-step{border-top:1px solid var(--rule-ink);padding-top:18px}
.cs-step-h{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;margin-bottom:10px}
.cs-step-n{width:32px;height:32px;border-radius:50%;background:var(--midnight);color:var(--gold);font-family:var(--f-display);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.cs-step h3{color:var(--ink);font-size:18px;margin:2px 0}
.cs-step-h p{font-family:var(--f-ui);font-size:13px;color:var(--ink-mute);margin:0}
.cs-spell{font-family:var(--f-data);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8A6A22;margin-left:8px;font-style:italic;vertical-align:2px}
/* how we built it */
.cs-built{margin:40px 0 0;padding:28px 0 0;border-top:2px solid var(--ink)}
.cs-built ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;counter-reset:b}
.cs-built li{counter-increment:b;display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:17px;line-height:1.45;margin:0}
.cs-built li::before{content:counter(b,decimal-leading-zero);font-family:var(--f-data);font-size:12px;color:#8A6A22;padding-top:4px}
.cs-built dl{display:flex;flex-wrap:wrap;gap:12px 40px;margin:24px 0 0;padding:16px 0 0;border-top:1px solid var(--rule-ink)}
.cs-built dt{font-family:var(--f-data);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8A6A22;margin:0 0 2px}
.cs-built dd{margin:0;font-family:var(--f-ui);font-size:15px;color:var(--ink)}
.cs-try-bar{display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 4px}
.cs .cs-try-bar a.btn-primary{background:var(--ink);color:var(--cream);text-decoration:none}
.cs .cs-try-bar a.btn-primary:hover{background:var(--violet);color:var(--cream)}
.cs-try-more{margin-top:18px;border-top:1px solid var(--rule-ink)}
.cs-try-more summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:48px;font-family:var(--f-ui);font-weight:700;font-size:15px;color:var(--ink)}
.cs-try-more summary::-webkit-details-marker{display:none}
.cs-try-more summary::after{content:'+';font-size:22px;color:#8A6A22;line-height:1}
.cs-try-more[open] summary::after{content:'–'}
.cs-try-more[open]>*:not(summary){animation:mrIn .35s ease-out}
/* kit card */
.cs-kit{max-width:1120px;margin:40px auto 0;padding:0 24px}
.cs-kit-in{background:var(--midnight);color:var(--cream);border-radius:4px;padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px 48px;align-items:center}
.cs-kit .cs-eyebrow{color:var(--gold)}
.cs-kit h2{color:var(--cream);font-size:clamp(24px,2.6vw,34px);margin:0 0 10px}
.cs-kit p{color:var(--cream-mute);font-size:17px;line-height:1.55;margin:0}
.cs-kit ul{margin:0;padding:0;list-style:none;font-family:var(--f-ui);font-size:14px;color:var(--cream-mute);display:grid;gap:8px}
.cs-kit li::before{content:'—  ';color:var(--gold)}
.cs-kit .btn{margin-top:24px;display:inline-block}
.cs .cs-kit a.btn-primary{color:var(--midnight);text-decoration:none}
.cs-next{max-width:1120px;margin:0 auto;padding:56px 24px 72px}
.cs-next a{display:block;border-top:1px solid var(--rule-ink);padding-top:20px;text-decoration:none;color:var(--ink)}
.cs-next h2{color:var(--ink);margin:6px 0 0}.cs-next a:hover h2{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
/* closing CTA (dark band) */
.cs>section.s-dark h2{color:var(--cream);margin:0 0 12px}
.cs>section.s-dark .lede{color:var(--cream-mute);margin:0}
.cs>section.s-dark a.btn-primary{color:var(--midnight);text-decoration:none}
.cs>section.s-dark a.go{color:var(--cream);border-bottom-color:var(--gold)}
.cs>section.s-dark a.go:hover{color:var(--gold)}
/* brand panels (Hickory Run, Hillbilly Einstein). True Potential uses .tpb in its own page. */
.bp{border-radius:4px;overflow:hidden}
.bp-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.bp-mark{padding:clamp(32px,5vw,56px);display:flex;align-items:center;justify-content:center}
.bp-mark img{width:min(380px,100%);height:auto}
.bp-lock{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.bp-lock p{margin:0}
.bp-sw{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr))}
.bp-sw>div{padding:56px 14px 14px;font-size:11px;letter-spacing:.06em;line-height:1.5;overflow-wrap:anywhere}
.bp-sw b{display:block;font-size:13px;letter-spacing:0}
.bp-hr{background:#F4F0E8;color:#2B2620;font-family:'Work Sans',sans-serif}
.bp-hr .bp-top{border-bottom:1px solid rgba(43,38,32,.16)}
.bp-hr .bp-mark{border-right:1px solid rgba(43,38,32,.16)}
.bp-hr .bp-lab{font-family:'Archivo',sans-serif;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#9E2B25}
.bp-hr .bp-head{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(26px,3vw,36px);line-height:1.15}
.bp-hr .bp-note{font-size:15px;line-height:1.6;color:#5A534A}
.bp-hr .bp-sw>div{font-family:'Archivo',sans-serif}
.bp-hep{background:#14151A;color:#F4EFE4}
.bp-hep .bp-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:end;padding:clamp(32px,5vw,64px)}
.bp-hep .bp-top img{width:100%;max-width:560px;height:auto;display:block}
.bp-hep .bp-meta{font-family:var(--f-data);font-size:13px;line-height:1.7;color:#C9C4B8}
.bp-hep .bp-meta span{color:#FFB238}
.bp-hep .bp-sw{--n:4}
.bp-hep .bp-sw>div{font-family:var(--f-data);font-size:12px;padding:56px 16px 14px}
.bp-hep .bp-sw b{font-family:var(--f-ui);font-size:14px}

/* 6 · nav + footer */
.nav{z-index:1000}
.nav-group{position:relative;display:flex;align-items:center}
.nav-sub{position:absolute;top:100%;left:-16px;padding:12px 16px;min-width:150px;background:var(--midnight);border:1px solid var(--cream-dim);border-radius:4px;display:none;flex-direction:column;gap:8px;margin-top:10px}
.nav-sub::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-group:hover .nav-sub,.nav-group:focus-within .nav-sub{display:flex}
.nav-group>a::after{content:'▾';font-size:10px;margin-left:5px;opacity:.7}
@media (min-width:761px){.nav-toggle{display:none}.nav-links{display:flex;gap:20px}.nav-links a{white-space:nowrap}}
@media (min-width:761px) and (max-width:900px){.nav-links{gap:14px}.nav-links a{font-size:12px}.nav-cta{padding:8px 12px}}
.nav-toggle{min-height:44px;min-width:64px;justify-content:center;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.footer{margin-top:0;background:var(--midnight)}
.footer .sig{font-family:var(--f-display);font-style:italic;font-size:15px;line-height:1.6;color:var(--cream-soft);margin-top:16px}
.footer-logo{width:160px;height:auto;max-width:100%}
.footer-col .socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.footer-col .socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(244,239,228,.22);border-radius:50%;color:var(--cream);transition:color .2s,border-color .2s}
.footer-col .socials a:hover{color:var(--gold);border-color:var(--gold)}
.footer-col .socials svg{width:18px;height:18px;display:block;flex:none}

/* legacy components still on older pages */
.card{background:transparent;border:0;border-top:1px solid var(--cream-dim);border-radius:0;padding:20px 0 0}
.receipt,.note,.pullquote,.oracle-error{border-left:0;border-radius:4px}
.receipt{background:transparent;border-top:1px solid var(--cream-dim);padding:20px 0 0;border-radius:0}
.pullquote{padding:0;font-family:var(--f-display)}
.prompt-block{border-left:1px solid var(--cream-dim);overflow-wrap:anywhere}
.funnel-step{border-top-width:1px}
.spell{display:none}
.article-body table,main table{max-width:100%}

/* 7 · responsive. All breakpoints live here. */
@media (max-width:980px){
.work,.steps-v3{grid-template-columns:repeat(2,minmax(0,1fr))}
.cl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cl-card,.cl-card:nth-child(1),.cl-card:nth-child(2){grid-column:span 1}
.cl-grid.cl-recent{grid-template-columns:repeat(2,minmax(0,1fr))}
.cl-recent .cl-card:nth-child(1){grid-column:1/-1}
.car-track{grid-auto-columns:calc((100% - 48px)/2.6)}
.cols,.tiers{grid-template-columns:1fr;gap:32px}
.tiers{gap:0}
.tiers .tier,.tiers .tier+.tier{padding:28px 0;border-right:0;border-bottom:1px solid var(--rule)}
.sprint-hero{grid-template-columns:1fr;gap:32px}
.people-4,.people-4.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.car-track.car-people{grid-auto-columns:calc((100% - 48px)/2.6)}
.or-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"f f" "a b" "c d"}
.or-fig{width:100%;max-width:340px;margin:0 auto}
}
@media (max-width:760px){
.nav-toggle{display:inline-flex}
.nav-links{display:none}
.nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--midnight)}
.nav-inner{height:var(--nav-h);padding:0 20px}
.nav .brandmark img{height:26px}
.nav.open .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;padding:8px 20px 32px;background:var(--midnight);border-top:1px solid var(--cream-dim);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:1001}
.nav.open .nav-links a{display:flex;align-items:center;min-height:52px;font-size:19px;padding:0;border-bottom:1px solid var(--cream-dim)}
.nav.open .nav-links .nav-cta{justify-content:center;margin-top:20px;border-bottom:0;font-size:16px}
.nav.open .nav-group{display:block}
.nav.open .nav-group>a::after{content:none}
.nav.open .nav-sub{display:flex;position:static;margin:0;padding:0 0 0 20px;border:0;background:none;min-width:0;gap:0}
.nav.open .nav-sub a{font-size:17px;min-height:48px}
html.nav-locked,html.nav-locked body{overflow:hidden}
body{font-size:17px}
.wrap,.wrap-narrow,.bleed,.cs-head,.cs-fig,.cs-body,.cs-try,.cs-quote,.cs-kit,.cs-next{padding-left:20px;padding-right:20px}
h1{font-size:clamp(34px,9.6vw,44px);line-height:1.02}
h2{font-size:clamp(28px,7.6vw,34px)}
.s{padding:56px 0}.s-tight{padding:40px 0}
.hero-v3{padding:48px 0 44px}
.hero-v3 .lede{margin-top:20px}
.lede{font-size:18px}
.links{flex-direction:column;align-items:flex-start;gap:18px}
.links .btn{width:100%;text-align:center;justify-content:center;white-space:normal}
.head-row{margin-bottom:24px}
.work{grid-template-columns:1fr;gap:32px}
.tile p{-webkit-line-clamp:unset;display:block}
.facts{grid-template-columns:1fr 1fr}
.row{grid-template-columns:1fr;gap:12px;padding:28px 0}
.cols.cols-2{grid-template-columns:1fr}
.list-row{grid-template-columns:1fr;gap:4px;padding:20px 0}
.list-row p{grid-column:1}
.list-row .price{order:-1;font-size:14px}
.founder-v3{grid-template-columns:1fr;gap:28px}
.founder-v3 img{max-width:320px}
.person{grid-template-columns:1fr;gap:20px}
.person img{max-width:240px}
.people-4,.people-4.g-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
.people-4 h3{font-size:18px}.people-4 p{font-size:15px}
.steps-v3{grid-template-columns:1fr;gap:24px}
.cl-grid,.cl-grid.cl-recent{grid-template-columns:1fr;gap:20px}
.car-track.car-people{grid-auto-columns:72%}
.hosts{grid-template-columns:1fr;gap:20px}
.lab-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.lab-cards::-webkit-scrollbar{display:none}
.lab-cards>*{scroll-snap-align:start}
.spell-feature{grid-template-columns:1fr;padding:22px 20px}
.spell-feature .sf-go{grid-column:1;grid-row:auto;text-align:center;margin-top:10px}
.car-nav .go{display:none}
.host{grid-template-columns:88px minmax(0,1fr);gap:16px}
.host img{width:88px;height:88px}
.or-grid{gap:12px}
.or-card{padding:18px 14px}
.or-card h3{font-size:12px}
.or-card p{font-size:16px}
.or-foot{font-size:12px}
.lab-list .list-row{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"f m" "f h" "p p";gap:4px 16px}
.lab-list .list-row p{margin-top:8px}
.lab-fig{padding:8px}
.lab-fig span{font-size:11px}
.lab-fig span::before{font-size:22px;margin-bottom:2px}
.car-track{grid-auto-columns:72%;gap:16px}
.car-btn{width:40px;height:40px}
.cs-built ol{grid-template-columns:1fr;gap:12px}
.cs-built li{font-size:16px}
.cs-built dl{flex-direction:column;gap:12px}
.cs-try-bar .btn{width:100%;text-align:center}
.cl-body{padding:18px 18px 20px}
.more-results summary{grid-template-columns:1fr auto}
.mr-lab{grid-column:1/-1}
.marquee-band{padding:18px 0 20px}
.marquee-band .lab{font-size:11px;margin-bottom:10px}
.mq-name{font-size:18px}
.mq-name small{display:none}
.marquee-set li::after{margin:0 24px}
.marquee-track{animation-duration:30s}
/* case studies */
.cs-head{padding-top:36px}
.cs-crumb{font-size:12px;margin-bottom:18px}
.cs-glance{grid-template-columns:1fr;margin-top:28px}
.cs-glance>div{padding:14px 0 12px}
.cs-glance>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule-ink)}
.cs-glance p{font-size:16px}
.cs-meta{gap:6px 18px;font-size:13px}
.cs-fig{margin:32px auto}
.cs-pair{grid-template-columns:1fr}
.cs-sec{padding:28px 0 4px}
.cs-body p{font-size:17px}
.cs-body li{font-size:17px}
.cs-try{margin-top:40px}
.cs-try-in{padding:20px 16px}
.cs-try h2{font-size:21px}
.cs-try-prompt{font-size:13px;padding:12px}
.cs-try-copy{width:100%}
.cs-rules{padding:16px}
.cs-kit-in{grid-template-columns:1fr;padding:24px 20px}
.cs-kit .btn{width:100%;text-align:center}
.cs-next{padding:40px 20px 56px}
.cs-next h2{font-size:24px}
.cs-quote p{font-size:22px}
.bp-top,.bp-hep .bp-top{grid-template-columns:1fr}
.bp-hr .bp-mark{border-right:0;border-bottom:1px solid rgba(43,38,32,.16)}
.bp-lock{padding:24px}
.bp-hep .bp-top{padding:24px;gap:20px}
.bp-sw{grid-template-columns:repeat(3,minmax(0,1fr))}
.bp-hep .bp-sw{grid-template-columns:repeat(2,minmax(0,1fr))}
.bp-sw>div,.bp-hep .bp-sw>div{padding:36px 10px 10px;font-size:10px}
.bp-sw b{font-size:12px}
/* Lab posts and older pages */
.article h1{font-size:clamp(32px,8.6vw,40px)}
.article-hero{padding:48px 0 16px}
.article-hero .lede{font-size:18px}
.article-body h2{font-size:16px;margin-top:44px}
.article-body blockquote{font-size:18px;padding-left:16px}
.section{padding:48px 0}.section-tight{padding:36px 0}
main table,.article-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* footer */
.footer{padding:44px 0 28px}
.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:32px 20px;padding:0 20px}
.footer-col:first-child,.footer-col:last-child{grid-column:1/-1}
.footer-col a{font-size:15px;padding:6px 0}
.footer-col a[href^="mailto"]{overflow-wrap:anywhere}
.footer-logo{width:140px}
.footer-meta{padding:0 20px}
}
@media (max-width:420px){
.wrap,.wrap-narrow,.bleed,.cs-head,.cs-fig,.cs-body,.cs-try,.cs-quote,.cs-kit,.cs-next,.nav-inner,.footer-inner,.footer-meta{padding-left:16px;padding-right:16px}
.nav.open .nav-links{padding-left:16px;padding-right:16px}
.facts{grid-template-columns:1fr}
.people-4 p{font-size:14px}
}

/* v4.8 · dark frame for case-study heads, button + eyebrow fixes */
.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-align:center}
.cs-head{position:relative;background:var(--midnight);box-shadow:0 0 0 100vmax var(--midnight);clip-path:inset(0 -100vmax);padding-bottom:clamp(32px,4vw,48px)}
.cs-head h1{color:#F0EBE0}
.cs-head .cs-dek{color:rgba(240,235,224,.82)}
.cs-head .cs-eyebrow{color:#E2B85A}
.cs-crumb,.cs-crumb a{color:rgba(240,235,224,.72)}.cs-crumb a:hover{color:#F0EBE0}
.cs-head .cs-glance{border-top-color:rgba(240,235,224,.5)}
.cs-head .cs-glance>div{border-color:rgba(240,235,224,.16)!important}
.cs-head .cs-glance h2{color:#E2B85A}
.cs-head .cs-glance p{color:#F0EBE0}
.cs-head .cs-meta{color:rgba(240,235,224,.75);border-top-color:rgba(240,235,224,.16)}
.cs-head .cs-meta b{color:#F0EBE0}
.cs .cs-head .cs-meta a{color:#E2B85A}
.cs .cs-head .cs-meta a:hover{color:#F0EBE0}
.cs-sec>.cs-eyebrow,.cs-eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;color:#7A5C1C}
.cs-built ol{counter-reset:b}
@media (max-width:760px){.cs-head{padding-bottom:32px}.btn{white-space:normal}}
.hero-v3 h1 em{font-style:normal;color:var(--gold)}
.name-band .name-cols>div{border-top:2px solid var(--ink);padding-top:18px}
.nm-word{font-family:var(--f-data);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#7A5C1C;margin:0 0 6px}
.nm-amp{font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:28px;letter-spacing:0;text-transform:none;line-height:.8}
.name-band h3{font-size:clamp(28px,3vw,40px);margin:0 0 10px}
.xp{margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--rule-ink)}
.xp-lead{font-size:clamp(19px,1.8vw,23px);line-height:1.45;max-width:46ch;margin:0 0 24px;color:var(--ink)}
.xp-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.xp-row b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(36px,4vw,52px);line-height:1;color:var(--ink)}
.xp-row span{display:block;margin-top:6px;font-family:var(--f-ui);font-size:14px;line-height:1.4;color:var(--ink-mute)}
@media (max-width:980px){.xp-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.xp-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}}
.work.car-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px}
@media (max-width:980px){.work.car-track{grid-auto-columns:calc((100% - 24px)/2)}}
@media (max-width:640px){.work.car-track{grid-auto-columns:82%;gap:16px}}
/* v4.8 · Lab posts: one system. Dark-frame header, one 720px column, one meta/title style */
.article .article-hero{background:var(--midnight);padding:clamp(48px,6vw,88px) 0 clamp(36px,4vw,56px);margin-bottom:clamp(32px,4vw,48px)}
.article .article-hero .wrap,.article .article-body,.article .section .wrap>.article-body{max-width:720px;margin-left:auto;margin-right:auto}
.article .article-hero .wrap{max-width:768px;padding-left:24px;padding-right:24px}
.article .article-meta,.article.memoir .article-meta{font-family:var(--f-data);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#E2B85A!important}
.article .article-meta .dot{color:rgba(240,235,224,.4);margin:0 8px}
.article .article-hero h1,.article.memoir .article-hero h1{color:#F0EBE0!important;font-size:clamp(34px,4.6vw,56px);line-height:1.05;max-width:20ch;margin:14px 0 18px}
.article .article-hero .lede{color:rgba(240,235,224,.84)!important;max-width:60ch}
.article .article-hero .ninfographic{max-width:720px;margin:32px auto 0;padding:0 24px}
.article .article-hero .ninfographic figcaption{color:rgba(240,235,224,.7)}
.article .article-body img{max-width:100%;height:auto}
@media (max-width:760px){.article .article-hero .wrap{padding-left:20px;padding-right:20px}}
.lab-fig img{object-position:left center}
.name-band .name-cols{gap:clamp(24px,4vw,56px)}
.nm{border-top:2px solid var(--ink);padding-top:20px}
.nm h3{font-size:clamp(36px,4.4vw,56px);line-height:1;margin:0 0 8px}
.nm-pr{font-family:var(--f-data);font-size:14px;color:var(--ink-mute);margin:0 0 14px}
.nm-et{font-size:16px;line-height:1.55;color:var(--ink-mute);margin:0 0 10px}
.nm p{margin:0 0 10px}
.nm-lens{margin-top:16px!important;padding-top:14px;border-top:1px solid var(--rule-ink)}
.nm-lens b{color:#7A5C1C}
.nm-amp-line{display:flex;align-items:center;gap:14px;margin:clamp(28px,4vw,40px) 0 0;font-size:18px;color:var(--ink)}
.nm-amp-line span{font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:48px;line-height:1;color:#7A5C1C}
/* xp v2 */
.xp{margin-top:clamp(48px,6vw,80px);padding:clamp(32px,4vw,56px);border:0;border-radius:6px;background:var(--midnight);color:#F0EBE0;position:relative;overflow:hidden}
.xp::after{content:'&';position:absolute;right:-20px;bottom:-120px;font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:380px;line-height:1;color:rgba(196,153,59,.07);pointer-events:none}
.xp .xp-lead{color:#F0EBE0;font-size:clamp(22px,2.4vw,30px);line-height:1.25;max-width:30ch;margin:0 0 clamp(28px,3vw,40px)}
.xp .xp-lead b{color:#E2B85A}
.xp .xp-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative;z-index:1}
.xp .xp-row li{border-top:1px solid rgba(240,235,224,.2);padding-top:16px}
.xp .xp-row b{color:#E2B85A;font-size:clamp(52px,6vw,84px);letter-spacing:-.01em}
.xp .xp-row span{color:rgba(240,235,224,.86);font-size:15px;margin-top:10px}
.xp-go{display:inline-flex;gap:8px;margin-top:clamp(24px,3vw,36px);font-family:var(--f-ui);font-weight:700;color:#E2B85A!important;text-decoration:none;position:relative;z-index:1}
.xp-go:hover{color:#F0EBE0!important}
.xp-go span{transition:transform .2s}.xp-go:hover span{transform:translateX(4px)}
@media (max-width:980px){.xp .xp-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.xp{padding:28px 20px}.xp .xp-row{gap:20px 16px}.xp .xp-row b{font-size:48px}}
.nm-h{margin:0 0 clamp(28px,3vw,40px);max-width:22ch}
.nm-lab{font-family:var(--f-data);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin:18px 0 4px!important}
.nm-dict{font-size:17px;color:var(--ink-mute)}
.nm-ours{font-size:clamp(19px,1.7vw,22px);line-height:1.45;color:var(--ink)}
.nm-ours b{color:#7A5C1C}
.nm-pr{font-size:13px}
/* name flashcards */
.nmc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nmc{position:relative;min-height:380px;perspective:1400px;border:0;padding:0;background:none;cursor:pointer;text-align:left;font:inherit;color:inherit}
.nmc-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,.7,.2,1)}
.nmc[aria-pressed="true"] .nmc-in{transform:rotateY(180deg)}
.nmc:hover:not([aria-pressed="true"]) .nmc-in{transform:translateY(-6px) rotate(-.6deg)}
.nmc-f,.nmc-b{position:absolute;inset:0;border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;gap:10px;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
.nmc-f{background:radial-gradient(120% 80% at 50% 0%,#1d2140 0%,#0D0F1A 60%);border:1px solid rgba(196,153,59,.55);box-shadow:0 18px 40px -20px rgba(0,0,0,.6),inset 0 0 0 6px #0D0F1A,inset 0 0 0 7px rgba(196,153,59,.3);color:#F0EBE0}
.nmc-f::after{content:'';position:absolute;right:-30px;bottom:-40px;width:200px;height:228px;background:url(logo/ampersand-gold.svg) center/contain no-repeat;opacity:.07;pointer-events:none}
.nmc-amp .nmc-f::after{display:none}
.nmc-b{transform:rotateY(180deg);background:#F4EFE4;border:1px solid #C4993B;color:#0D0F1A;box-shadow:0 18px 40px -20px rgba(0,0,0,.35)}
.nmc-k{font-family:var(--f-data);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#E2B85A}
.nmc-w{font-family:var(--f-display);font-weight:800;font-size:clamp(40px,4.4vw,60px);line-height:.95;letter-spacing:-.01em;margin-top:auto}
.nmc-r{font-family:var(--f-data);font-size:13px;color:#CFC8B8}
.nmc-cast{align-self:flex-start;margin-top:14px;display:inline-flex;gap:8px;font-family:var(--f-ui);font-weight:800;font-size:14px;color:#0D0F1A;background:#E2B85A;padding:9px 16px;border-radius:999px}
.nmc-ampimg{width:52%;max-width:170px;height:auto;margin:auto auto 0;display:block}
.nmc-lab{font-family:var(--f-data);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7A5C1C;margin-top:4px}
.nmc-d{font-size:16px;line-height:1.5;color:rgba(13,15,26,.72);padding-bottom:12px;border-bottom:1px solid rgba(13,15,26,.14)}
.nmc-o{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(18px,1.5vw,21px);line-height:1.45;color:#0D0F1A}
.nmc-o b{color:#7A5C1C}
.nmc-back{margin-top:auto;font-family:var(--f-ui);font-weight:700;font-size:13px;color:rgba(13,15,26,.6)}
.nmc:focus-visible{outline:none}.nmc:focus-visible .nmc-f,.nmc:focus-visible .nmc-b{outline:2px solid #C4993B;outline-offset:4px}
.spark{position:fixed;width:8px;height:8px;pointer-events:none;z-index:1200;border-radius:50%;background:radial-gradient(circle,#FFF4D6 0%,#E8C26A 45%,rgba(196,153,59,0) 70%)}
.spark.star{background:none;width:auto;height:auto;color:#F3D488;font-size:16px;line-height:1;text-shadow:0 0 8px rgba(243,212,136,.9)}
@media (max-width:980px){.nmc-grid{grid-template-columns:1fr 1fr}.nmc-amp{grid-column:1/-1;min-height:260px}.nmc-amp .nmc-ampimg{width:auto;height:120px}}
@media (max-width:640px){.nmc-grid{grid-template-columns:1fr;gap:16px}.nmc{min-height:340px}.nmc-amp{min-height:260px}}
@media (prefers-reduced-motion:reduce){.nmc-in{transition:none}}
/* Josh's ampersand on decorative marks */
.xp::after{content:'';width:300px;height:340px;right:-40px;bottom:-80px;background:url(logo/ampersand-gold.svg) center/contain no-repeat;opacity:.08;font-size:0}
.lab-fig span::before{content:'';width:30px;height:34px;background:url(logo/ampersand-gold.svg) left center/contain no-repeat;font-size:0}
.lab-fig{aspect-ratio:1200/630!important;padding:0!important}
.lab-fig img{object-fit:cover;object-position:center!important}
.lab-list .list-row{grid-template-columns:280px minmax(0,1fr)}
@media (max-width:760px){.lab-list .list-row{grid-template-columns:1fr;grid-template-areas:"f" "m" "h" "p"}.lab-list .lab-fig{margin-bottom:12px}}
/* nav v5 */
.nav-links .nl-t{display:block}
.nav-links>a .nl-d,.nav-group>a .nl-d{display:none}
.nav-links a.active .nl-t,.nav-group>a.active .nl-t{color:#E2B85A}
@media (min-width:761px){
.nav-links{align-items:center;gap:26px!important}
.nav-links>a,.nav-group>a{position:relative;padding:8px 0}
.nav-links>a:not(.nav-cta)::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:#E2B85A;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links>a:not(.nav-cta):hover::after,.nav-links>a.active::after{transform:scaleX(1)}
.nav-group>a::after{content:'';display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:8px;opacity:.7;font-size:0}
.nav-group>a{display:inline-flex;align-items:center}
.nav-sub{left:50%!important;transform:translateX(-50%);top:calc(100% + 10px)!important;min-width:300px!important;padding:10px!important;gap:2px!important;background:#11142A!important;border:1px solid rgba(196,153,59,.35)!important;border-radius:10px!important;box-shadow:0 24px 48px -16px rgba(0,0,0,.6)}
.nav-sub::before{top:-14px!important;height:14px!important}
.nav-sub a{display:block;padding:12px 14px;border-radius:6px;white-space:normal!important}
.nav-sub a:hover{background:rgba(240,235,224,.06)}
.nav-sub .nl-t{font-family:var(--f-ui);font-weight:700;font-size:15px;color:#F0EBE0}
.nav-sub .nl-d{display:block;font-size:13px;color:rgba(240,235,224,.7);margin-top:2px;text-transform:none;letter-spacing:0}
.nav-sub a:hover .nl-t{color:#E2B85A}
.nav-cta{background:#E2B85A!important;color:#0A0C16!important;border-radius:999px!important;padding:10px 20px!important;font-weight:800}
.nav-cta:hover{background:#F0CB73!important}
}
@media (max-width:760px){
.nav-toggle{border:1px solid rgba(240,235,224,.35);border-radius:999px;padding:0 18px;font-family:var(--f-ui);font-weight:700;font-size:15px;color:#F0EBE0;background:transparent}
.nav.open .nav-toggle{background:#E2B85A;border-color:#E2B85A;color:#0A0C16}
.nav.open .nav-links{background:#0A0C16!important;padding:12px 20px calc(28px + env(safe-area-inset-bottom))!important;overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid rgba(196,153,59,.35)!important}
.nav.open .nav-links>a,.nav.open .nav-group>a{display:block!important;min-height:0!important;padding:16px 0!important;border-bottom:1px solid rgba(240,235,224,.1)!important;animation:navIn .35s cubic-bezier(.2,.7,.2,1) both}
.nav.open .nav-links .nl-t{font-family:var(--f-display);font-weight:800;font-size:30px;line-height:1.05;color:#F0EBE0}
.nav.open .nav-links .nl-d{display:block;font-family:var(--f-ui);font-size:14px;color:rgba(240,235,224,.66);margin-top:4px}
.nav.open .nav-group{border-bottom:1px solid rgba(240,235,224,.1)}
.nav.open .nav-group>a{border-bottom:0!important;padding-bottom:6px!important}
.nav.open .nav-sub{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;padding:4px 0 16px!important}
.nav.open .nav-sub a{display:block!important;min-height:0!important;padding:14px!important;border:1px solid rgba(196,153,59,.35)!important;border-radius:10px;background:rgba(240,235,224,.03)}
.nav.open .nav-sub .nl-t{font-family:var(--f-ui);font-size:16px;font-weight:700}
.nav.open .nav-sub .nl-d{font-size:12.5px}
.nav.open .nav-links .nav-cta{display:flex!important;justify-content:center;align-items:center;min-height:56px!important;margin-top:24px;background:#E2B85A!important;color:#0A0C16!important;border-radius:999px!important;font-size:17px!important;font-weight:800;border:0!important}
.nav.open .nav-links>*:nth-child(1){animation-delay:.02s}.nav.open .nav-links>*:nth-child(2){animation-delay:.06s}.nav.open .nav-links>*:nth-child(3){animation-delay:.1s}.nav.open .nav-links>*:nth-child(4){animation-delay:.14s}.nav.open .nav-links>*:nth-child(5){animation-delay:.18s}.nav.open .nav-links>*:nth-child(6){animation-delay:.22s}
.nav.open .nav-group{animation:navIn .35s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes navIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.nav.open .nav-links>*,.nav.open .nav-group>a{animation:none!important}}

/* v6 · About path */
.produced{margin-top:48px;max-width:var(--measure)}.produced p:last-child{margin:0;color:var(--cream-mute)}
.produced .side-h{font-family:var(--f-ui);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}

.era-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 0}
.era-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 18px;border:1px solid var(--rule);border-radius:999px;background:transparent;color:var(--cream);font:inherit;cursor:pointer;text-align:left}
.era-tabs button b{font-family:var(--f-display);font-weight:800;font-size:17px}
.era-tabs button span{font-family:var(--f-ui);font-size:13px;color:var(--cream-soft)}
.era-tabs button:hover{border-color:var(--gold)}
.era-tabs button[aria-selected="true"]{background:var(--cream);color:var(--bone,#E8E2D4);border-color:var(--cream)}
.era-tabs button[aria-selected="true"] span{color:inherit;opacity:.8}
.era-panel .credits{margin-top:24px}
.row-d{border-top:1px solid var(--rule)}.row-d:last-of-type{border-bottom:1px solid var(--rule)}
.row-d summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0}
.row-d summary::-webkit-details-marker{display:none}
.row-d summary h3{margin:0}
.row-d summary::after{content:'+';font-family:var(--f-display);font-weight:800;font-size:26px;line-height:1;color:var(--gold)}
.row-d[open] summary::after{content:'–'}
.row-d .prose{padding:0 0 24px}

.story-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:56px;align-items:start}
.story-grid .studio-art{position:sticky;top:calc(var(--nav-h) + 32px)}
@media (max-width:900px){.story-grid{grid-template-columns:1fr;gap:28px}.story-grid .studio-art{position:static;order:-1}.story-grid .studio-art img{max-height:240px;object-fit:cover}}

.team-strip{list-style:none;margin:24px 0 32px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.team-strip a{display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;text-decoration:none;color:inherit}
.team-strip img,.team-strip .ts-init{grid-row:1/3;width:56px;height:56px;border-radius:50%;object-fit:cover;display:block}
.team-strip .ts-init{display:grid;place-items:center;background:var(--surface-2);font-family:var(--f-display);font-weight:800;color:var(--gold)}
.team-strip b{font-family:var(--f-ui);font-size:16px;align-self:end}
.team-strip span{font-family:var(--f-ui);font-size:13px;color:var(--cream-soft);align-self:start}
.team-strip a:hover b{text-decoration:underline}

/* Results: one featured card, the rest small */
.cl-grid.cl-featured{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.cl-featured .cl-card,.cl-featured .cl-card:nth-child(1),.cl-featured .cl-card:nth-child(2){grid-column:auto}
.cl-featured .cl-card:first-child{grid-column:1/-1;flex-direction:row}
.cl-featured .cl-card:first-child .cl-fig{flex:0 0 58%;margin:0}
.cl-featured .cl-card:first-child .cl-fig img{height:100%;object-fit:cover}
.cl-featured .cl-card:first-child .cl-body{padding:32px 36px;justify-content:center}
.cl-featured .cl-card:first-child h2{font-size:clamp(24px,2.4vw,34px)}
.cl-featured .cl-card:not(:first-child) .cl-body{padding:16px 18px 18px}
.cl-featured .cl-card:not(:first-child) h2{font-size:18px}
.cl-featured .cl-card:not(:first-child) .cl-tagline{display:none}
@media (max-width:980px){.cl-grid.cl-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.cl-featured .cl-card:first-child{flex-direction:column}.cl-featured .cl-card:first-child .cl-fig{flex:none}}
@media (max-width:560px){.cl-grid.cl-featured{grid-template-columns:1fr}}

/* v6 home result tiles */
.work.car-track{grid-auto-columns:calc((100% - 60px)/4);gap:20px}
.work .tile .shot{aspect-ratio:16/10;overflow:hidden;margin:0;border-radius:4px;border:1px solid rgba(13,15,26,.18)}
.work .tile .shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.work .tile .t-head{margin-top:12px}
.work .tile h3{font-size:17px}
.work .tile p{font-size:14px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:980px){.work.car-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media (max-width:640px){.work.car-track{grid-auto-columns:72%;gap:14px}}

.article-body pre.prompt{background:var(--midnight,#0D0F1A);color:#F0EBE0;border:1px solid rgba(196,153,59,.4);border-radius:6px;padding:22px 24px;overflow-x:auto;margin:28px 0;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap}
.article-body .signoff{font-family:var(--f-display);font-weight:800;font-size:22px;margin-top:32px}

/* v6 compact name cards */
.nmc-grid{gap:18px}
.nmc{min-height:270px}
.nmc-f,.nmc-b{padding:20px 20px;gap:6px;border-radius:12px}
.nmc-f::after{width:130px;height:150px;right:-20px;bottom:-26px}
.nmc-w{font-size:clamp(30px,3vw,42px)}
.nmc-cast{margin-top:8px;padding:7px 13px;font-size:13px}
.nmc-ampimg{max-width:110px}
.nmc-d{font-size:14px;padding-bottom:8px}
.nmc-o{font-size:15.5px;line-height:1.42}
.nmc-back{font-size:12px}
@media (max-width:980px){.nmc-amp{min-height:200px}.nmc-amp .nmc-ampimg{height:90px}}
@media (max-width:640px){.nmc{min-height:260px}.nmc-amp{min-height:180px}}

.anchor-alias{position:relative;top:calc(-1 * var(--nav-h,72px));display:block;height:0}

/* v6b name cards: compact */
.name-band .nm-h{font-size:clamp(24px,2.4vw,32px);margin-bottom:20px}
.nmc-grid{gap:14px;max-width:960px}
.nmc{min-height:200px}
.nmc-f,.nmc-b{padding:16px 16px;gap:4px;border-radius:10px}
.nmc-f::after{width:96px;height:110px;right:-14px;bottom:-18px}
.nmc-k{font-size:11px}
.nmc-w{font-size:clamp(24px,2.3vw,32px)}
.nmc-r{font-size:12px}
.nmc-cast{margin-top:6px;padding:5px 11px;font-size:12px}
.nmc-ampimg{max-width:80px}
.nmc-lab{font-size:10.5px}
.nmc-d{font-size:13px;line-height:1.4;padding-bottom:6px}
.nmc-o{font-size:14px;line-height:1.4}
.nmc-back{font-size:11px}
@media (max-width:980px){.nmc-amp{min-height:150px}.nmc-amp .nmc-ampimg{height:70px}}
@media (max-width:640px){.nmc{min-height:210px}.nmc-amp{min-height:140px}}

.nmc-grid{grid-template-columns:minmax(0,1fr) minmax(0,.6fr) minmax(0,1fr)}
@media (max-width:980px){.nmc-grid{grid-template-columns:minmax(0,1fr) minmax(0,.6fr) minmax(0,1fr)}.nmc-amp{grid-column:auto;min-height:200px}}
@media (max-width:700px){.nmc-grid{grid-template-columns:1fr 1fr;gap:12px}.nmc{min-height:220px}.nmc-amp{grid-column:1/-1;min-height:120px}.nmc-amp .nmc-ampimg{height:56px}}

.xp-band .xp{margin-top:0}

/* home hero seal (Josh's circle mark) */
.hero-seal .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:56px;align-items:center}
.hs-seal{margin:0;width:clamp(200px,24vw,320px);aspect-ratio:1;display:grid;place-items:center;position:relative}
.hs-seal::before{content:'';position:absolute;inset:-14px;border:1px solid rgba(196,153,59,.35);border-radius:50%}
.hs-seal img{width:100%;height:auto;display:block;transition:transform .8s cubic-bezier(.3,.7,.2,1)}

@keyframes hs-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.hs-seal img{animation:none}}
@media (max-width:860px){.hero-seal .wrap{grid-template-columns:1fr;gap:32px}.hs-seal{order:-1;width:150px}.hs-seal::before{inset:-10px}}

/* seal stamps */
.seal-stamp{margin:48px 0 0;display:flex;align-items:center;gap:16px}
.seal-stamp img{width:88px;height:auto;opacity:.9;transform:rotate(-8deg)}
.seal-stamp figcaption{font-family:var(--f-data,'IBM Plex Mono',monospace);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#C4993B)}
.post-seal{margin:40px 0 8px}
.post-seal img{width:72px;height:auto;opacity:.85;transform:rotate(-8deg);display:block}
.s-cream .post-seal img,.article-body .post-seal img{filter:none}

/* poof */
[data-poof]{cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
[data-poof]:focus-visible{outline:2px solid #C4993B;outline-offset:8px;border-radius:50%}

@keyframes poof-flip{0%{transform:perspective(600px) rotateY(0) scale(1)}45%{transform:perspective(600px) rotateY(200deg) scale(1.08)}100%{transform:perspective(600px) rotateY(360deg) scale(1)}}

@keyframes poof-flip-tilt{0%{transform:perspective(600px) rotate(-8deg) rotateY(0)}45%{transform:perspective(600px) rotate(-8deg) rotateY(200deg) scale(1.08)}100%{transform:perspective(600px) rotate(-8deg) rotateY(360deg)}}
.poof-spark{position:absolute;left:50%;top:50%;pointer-events:none;color:#E2B85A;font-size:18px;line-height:1;transform:translate(-50%,-50%);animation:poof-spark .8s ease-out forwards;z-index:2}
@keyframes poof-spark{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.1) rotate(90deg)}}
.poof-word{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font-family:var(--f-ui);font-weight:800;font-size:14px;color:#E2B85A;pointer-events:none;animation:poof-word .9s ease-out forwards;white-space:nowrap}
@keyframes poof-word{0%{opacity:0;transform:translate(-50%,8px)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,-22px)}}
@media (prefers-reduced-motion:reduce){.poof-spark,.poof-word{display:none}}

/* poof card v3: scaleX flip, no backface, never mirrored */
.poof-card{display:grid}
.poof-card>img,.poof-card>.poof-back{grid-area:1/1}
.poof-card>.poof-back{visibility:hidden}
.poof-card>img.poof-back{filter:brightness(1.12) saturate(1.2)}
[data-poof].show-back .poof-card>.poof-back{visibility:visible}
[data-poof].show-back .poof-card>img:not(.poof-back){visibility:hidden}
[data-poof].is-turning .poof-card{animation:poof-turn .7s cubic-bezier(.4,0,.2,1)}
@keyframes poof-turn{0%{transform:scaleX(1)}50%{transform:scaleX(0)}100%{transform:scaleX(1)}}
.seal-stamp .poof-card,.post-seal .poof-card{rotate:-8deg}
.poof-cm{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#F0CF7E 0%,#C4993B 72%);color:#0D0F1A;text-decoration:none;text-align:center;aspect-ratio:1;box-shadow:inset 0 0 0 6px rgba(13,15,26,.14)}
.poof-cm .cm-k{font-family:var(--f-data,'IBM Plex Mono',monospace);font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.poof-cm .cm-w{font-family:var(--f-display);font-weight:800;font-size:clamp(26px,2.8vw,40px);line-height:.95}
.poof-cm .cm-go{font-family:var(--f-ui);font-weight:700;font-size:13px;border-bottom:1px solid currentColor}
@media (prefers-reduced-motion:reduce){[data-poof].is-turning .poof-card{animation:none}}

.pup-ad{margin-top:56px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:32px;align-items:center;padding:32px;border:2px dashed #C4993B;border-radius:18px;background:#FBF4E4}
.pup-ad h3{margin:6px 0 10px}
.pup-ad p{text-wrap:pretty;max-width:60ch}
.pup-tag{width:132px;aspect-ratio:1;border-radius:50%;background:#C4993B;color:#0D0F1A;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--f-ui);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1.1;rotate:-8deg}
.pup-tag b{font-family:var(--f-display);font-size:48px;line-height:1;letter-spacing:0}
@media (max-width:640px){.pup-ad{grid-template-columns:1fr;padding:24px}}

.xp .xp-row{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:20px}
.xp .xp-row b{font-size:clamp(34px,3.4vw,48px)!important}
.xp .xp-row span{font-size:14px}
.xp-ship{position:relative;z-index:1;margin:clamp(32px,3.5vw,44px) 0 0;padding-top:20px;border-top:1px solid rgba(240,235,224,.2);font-family:var(--f-ui);font-size:15px;line-height:1.5;color:rgba(240,235,224,.86);max-width:64ch}
@media (max-width:980px){.xp .xp-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:640px){.xp .xp-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.xp .xp-row b{font-size:36px!important}}

.byline{display:flex;align-items:center;gap:12px;margin-top:24px;font-family:var(--f-ui);font-size:15px;line-height:1.35;color:var(--ink)}
.byline img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.byline a{color:inherit;font-weight:700;text-decoration:none;border-bottom:1px solid #C4993B}
.byline a:hover{color:#8a6a22}
.byline small{font-size:13px;color:var(--ink-mute)}

.article-hero .byline{color:#F0EBE0}.article-hero .byline small{color:rgba(240,235,224,.78)}.article-hero .byline a{color:#F0EBE0}.article-hero .byline a:hover{color:#E2B85A}

.lab-rail{position:relative}
.lab-cards.lab-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);grid-template-columns:none;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.lab-track::-webkit-scrollbar{display:none}
.lab-track>.lab-card{scroll-snap-align:start;min-width:0}
.rail-ctl{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}
.rail-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--rule-ink);background:transparent;color:var(--ink);font-size:18px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.rail-btn:hover{background:#0D0F1A;color:#F0EBE0;border-color:#0D0F1A}
@media (max-width:900px){.lab-cards.lab-track{grid-auto-columns:calc((100% - 24px)/2)}}
@media (max-width:600px){.lab-cards.lab-track{grid-auto-columns:82%}}

/* poof back face: fill the seal, keep text inside the circle */
.hs-seal .poof-card{width:100%;height:100%}
.poof-cm{width:100%;height:100%;box-sizing:border-box;padding:16%;gap:10px}
.poof-cm .cm-k{font-size:clamp(9px,.8vw,11px);letter-spacing:.12em;max-width:100%}
.poof-cm .cm-w{font-size:clamp(24px,2.6vw,38px)}

/* v6.1 mobile fixes */
.nav.open .nav-links>a{height:auto!important;line-height:normal!important;overflow:visible!important}
.nav.open .nav-links>a .nl-t{line-height:1.05}
@media (max-width:640px){
.nmc-grid{grid-template-columns:1fr!important;gap:14px}
.nmc,.nmc-amp{grid-column:auto!important;width:100%;min-height:230px!important}
.nmc-amp{min-height:220px!important}
.nmc-amp .nmc-ampimg{height:90px;width:auto}
#work{padding-bottom:24px}
#work + .s{padding-top:48px}
}

/* v6.1 global mobile pass */
img,svg,video,iframe{max-width:100%}
h1,h2,h3,p,li,a{overflow-wrap:break-word}
table{display:block;max-width:100%;overflow-x:auto}
@media (max-width:860px){
.hero-seal .wrap{justify-items:center;text-align:center}
.hs-seal{margin:0 auto}
.hero-seal .kicker{justify-content:center}
.hero-seal .hs-text .lede{margin-left:auto;margin-right:auto}
.hero-seal .hs-text>div:last-child,.hero-seal .cta-row,.hero-seal .btn-row{justify-content:center}
}
@media (max-width:640px){
.wrap{padding-left:20px;padding-right:20px}
.s{padding-top:64px;padding-bottom:64px}
.s-tight{padding-top:40px;padding-bottom:40px}
.head-row{flex-wrap:wrap;gap:12px}
.list-row{grid-template-columns:1fr!important;gap:6px!important}
.list-row .price{justify-self:start}
.btn{white-space:normal;text-align:center}
.footer-inner{grid-template-columns:1fr 1fr!important;gap:28px}
.footer-col:first-child{grid-column:1/-1}
.article-body{font-size:18px}
.pullquote{font-size:22px;padding-left:18px}
}

/* v6 illustrations */
.illo{background:#F4EFE4;border-radius:6px;object-fit:contain!important;aspect-ratio:1!important;height:auto!important}
.hero-art{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(32px,5vw,72px);align-items:center}
.hero-art.wide{grid-template-columns:minmax(0,1fr) minmax(0,520px)}
.hero-art>img{width:100%;height:auto;background:#F4EFE4;border-radius:6px;display:block}
.scene{margin:40px 0 0}.scene img{width:100%;height:auto;display:block;background:#F4EFE4;border-radius:6px}
.cols .illo{width:100%;height:auto;aspect-ratio:16/10!important;margin-bottom:18px;display:block}
.byline img[src*="v6/"]{background:#F4EFE4;object-fit:cover;object-position:50% 18%}
.team-strip img[src*="v6/"]{background:#F4EFE4;object-position:50% 18%}
@media (max-width:720px){.hero-art,.hero-art.wide{grid-template-columns:1fr}.hero-art>img{max-width:260px}.hero-art.wide>img{max-width:100%}}
