/* Engine Room design tokens. Source of truth: brand/engine-room/DESIGN.md */
:root{
  --paper:#FBFAF6; --ink:#1B1B1B; --draft:#1747C9; --tint:#E9EEFB;
  --graphite:#5B5A55; --rule:#D8D4C8; --flag:#B42318;
  --serif:'Source Serif 4',Georgia,serif;
  --mono:'Red Hat Mono',ui-monospace,'Courier New',monospace;
  --max:1240px; --gutter:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--draft);text-underline-offset:3px}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.mono{font-family:var(--mono)}
.kick{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.kick b{color:var(--draft);font-weight:600}
.rule{border:0;border-top:1px solid var(--rule)}
.eng{mix-blend-mode:multiply}

/* preview ribbon */
.ribbon{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:8px 16px;border-bottom:1px solid var(--rule);color:var(--graphite)}
.ribbon b{color:var(--draft)}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--ink)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:30px;height:30px}
.brand span{font-weight:700;font-size:21px;letter-spacing:-.01em}
.nav ul{display:flex;gap:30px;list-style:none}
.nav ul a{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--draft)}
@media(max-width:760px){.nav ul li:not(.keep){display:none}}

/* type */
h1,h2,h3{font-weight:700;letter-spacing:-.018em;line-height:1.06}
h1{font-size:clamp(42px,6.2vw,80px)}
h2{font-size:clamp(32px,4vw,50px)}
h3{font-size:23px;line-height:1.2;letter-spacing:-.01em}
.lede{font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--graphite);max-width:34em}
.small{font-size:14px;color:var(--graphite)}

/* buttons and inputs */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;background:var(--draft);color:#fff;border:0;border-radius:2px;padding:16px 22px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:#1239A6}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.ghost:hover{border-color:var(--draft);color:var(--draft)}
.btn[disabled]{opacity:.5;cursor:wait}
.field{font-family:var(--mono);font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:2px;padding:15px 16px;width:100%}
.field:focus{outline:2px solid var(--draft);outline-offset:1px;border-color:var(--draft)}
.signup{display:flex;gap:8px;max-width:560px}
.signup .field{flex:1;min-width:0}
@media(max-width:560px){.signup{flex-direction:column}}

/* callout number */
.num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:50%;border:1.6px solid var(--draft);color:var(--draft);background:var(--paper);font-family:var(--mono);font-weight:600;font-size:13px}
.num.solid{background:var(--draft);color:#fff}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center;padding:72px 0 56px}
.hero h1{margin:20px 0 22px}
.hero .lede{margin-bottom:30px}
.hero .small{margin-top:12px}
@media(max-width:980px){.hero{grid-template-columns:1fr;padding-top:44px}}

/* engine figure with callouts */
.fig{position:relative}
.fig img{width:100%}
.fig .co{position:absolute;display:flex;align-items:center;gap:8px;transform:translate(-50%,-50%);font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.fig .co .num{width:30px;height:30px;font-size:12px}
.fig .co span:last-child{background:var(--paper);padding:2px 6px}
.fig .dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--draft);transform:translate(-50%,-50%)}
.fig svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.figcap{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);border-top:1px solid var(--rule);padding-top:10px;margin-top:8px;display:flex;justify-content:space-between}
@media(max-width:620px){.fig .co span:last-child{display:none}}

/* proof strip */
.proof{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.proof div{padding:26px 24px 24px 0}
.proof div+div{padding-left:24px;border-left:1px solid var(--rule)}
.proof b{display:block;font-size:clamp(28px,3vw,40px);letter-spacing:-.02em;line-height:1.1}
.proof span{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite)}
@media(max-width:700px){.proof{grid-template-columns:1fr}.proof div+div{border-left:0;border-top:1px solid var(--rule);padding-left:0}}

/* sections */
section{padding:96px 0}
.sec-head{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:40px;align-items:end;margin-bottom:48px}
.sec-head p{color:var(--graphite);font-size:19px}
@media(max-width:860px){.sec-head{grid-template-columns:1fr;gap:16px}}

/* parts grid */
.parts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.part{padding:22px 20px 26px 0;border-bottom:1px solid var(--rule)}
.part:not(:nth-child(4n+1)){padding-left:20px;border-left:1px solid var(--rule)}
.part .num{margin-bottom:14px}
.part h3{font-size:20px;margin-bottom:6px}
.part p{font-size:16px;color:var(--graphite);line-height:1.45}
.part.on .num{background:var(--draft);color:#fff}
@media(max-width:980px){.parts{grid-template-columns:repeat(2,1fr)}.part:not(:nth-child(4n+1)){padding-left:0;border-left:0}.part:nth-child(2n){padding-left:20px;border-left:1px solid var(--rule)}}
@media(max-width:560px){.parts{grid-template-columns:1fr}.part:nth-child(2n){padding-left:0;border-left:0}}

/* blue band (one per page) */
.band{background:var(--draft);color:#fff;padding:72px 0}
.band .kick{color:#C9D5F7}
.band h2{color:#fff;margin:14px 0 16px;max-width:16em}
.band p{color:#DCE4FA;max-width:36em;font-size:19px}
.band .btn{background:#fff;color:var(--draft);margin-top:28px}
.band .btn:hover{background:var(--tint)}
.band-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}
.band-sheet{background:var(--paper);color:var(--ink);padding:24px;border-radius:2px;font-family:var(--mono);font-size:14px}
.band-sheet .row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--rule)}
.band-sheet .row:last-child{border:0}
@media(max-width:860px){.band-grid{grid-template-columns:1fr}}

/* status pills */
.st{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:2px;white-space:nowrap}
.st.ok{color:var(--draft);background:var(--tint)}
.st.look{color:var(--ink);background:#EFECE3}
.st.leak{color:#fff;background:var(--flag)}

/* issue anatomy */
.issue{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:start}
.issue-card{border:1px solid var(--ink);background:#fff}
.issue-card .top{padding:14px 18px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between}
.issue-card .body{padding:26px 26px 30px}
.issue-card h3{font-size:28px;margin:10px 0 12px}
.issue-card p{font-size:17px;color:var(--graphite)}
.check{background:var(--tint);border-left:3px solid var(--draft);padding:18px 20px;margin-top:20px}
.check ol{list-style:none;counter-reset:c}
.check li{counter-increment:c;display:flex;gap:12px;font-size:16px;padding:6px 0}
.check li::before{content:counter(c,decimal-leading-zero);font-family:var(--mono);font-weight:600;color:var(--draft);font-size:13px;padding-top:3px}
.steps{list-style:none;border-top:1px solid var(--ink)}
.steps li{display:grid;grid-template-columns:56px 1fr;gap:6px;padding:20px 0;border-bottom:1px solid var(--rule)}
.steps li b{display:block;font-size:20px;margin-bottom:4px}
.steps li span{color:var(--graphite);font-size:16px}
@media(max-width:860px){.issue{grid-template-columns:1fr}}

/* about */
.about{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px;align-items:start}
.about figure img{border:1px solid var(--ink)}
.about figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);margin-top:10px}
.about .copy p{font-size:20px;margin-bottom:18px;max-width:32em}
@media(max-width:860px){.about{grid-template-columns:1fr}.about figure{max-width:360px}}

/* ladder */
.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.ladder > div{padding:26px 24px 30px 0}
.ladder > div+div{padding-left:24px;border-left:1px solid var(--rule)}
.ladder h3{margin:12px 0 8px}
.ladder p{color:var(--graphite);font-size:16px}
@media(max-width:860px){.ladder{grid-template-columns:1fr}.ladder > div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}

/* footer */
footer{border-top:1px solid var(--ink);padding:40px 0 60px;margin-top:40px}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{color:var(--ink);font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;margin-right:20px}

/* tool pages (check, welcome) */
.tool{max-width:820px;margin:0 auto;padding:56px var(--gutter) 80px}
.tool h1{font-size:clamp(38px,5vw,60px);margin:16px 0 18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin-top:34px}
.grid2 label{display:block}
.grid2 .lab{display:flex;gap:10px;align-items:baseline;font-size:17px;font-weight:600;margin-bottom:4px}
.grid2 .lab .mono{font-size:12px;color:var(--draft);font-weight:600}
.grid2 .hint{display:block;font-size:14px;color:var(--graphite);margin-bottom:8px;line-height:1.35}
.full{grid-column:1/-1}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.prefix{position:relative}
.prefix i{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-style:normal;font-family:var(--mono);color:var(--graphite)}
.prefix .field{padding-left:30px}
.suffix{position:relative}
.suffix i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;font-family:var(--mono);color:var(--graphite)}
textarea.field{min-height:92px;resize:vertical;font-size:15px;line-height:1.45}
.report{margin-top:48px;border-top:1px solid var(--ink)}
.rrow{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid var(--rule)}
.rrow h3{font-size:19px;margin-bottom:3px}
.rrow p{font-size:16px;color:var(--graphite)}
.rrow .val{font-family:var(--mono);font-size:14px;color:var(--ink)}
.gate{border:1.5px solid var(--ink);background:#fff;padding:28px;margin-top:36px}
.gate h2{font-size:30px;margin:10px 0 10px}
.memo{background:#fff;border:1px solid var(--ink);padding:30px 32px;margin-top:30px}
.memo p{margin-bottom:14px;font-size:18px}
.memo .small{margin-top:16px}


/* survey */
.q{margin-top:40px}
.q h2{font-size:clamp(26px,3vw,34px);margin:10px 0 18px}
.opts{display:flex;flex-wrap:wrap;gap:10px}
.opt{font-family:var(--serif);font-size:17px;background:#fff;border:1.5px solid var(--ink);border-radius:2px;padding:13px 18px;cursor:pointer;color:var(--ink);text-align:left}
.opt:hover{border-color:var(--draft);color:var(--draft)}
.opt[aria-pressed=true]{background:var(--draft);border-color:var(--draft);color:#fff}
.progress{display:flex;gap:6px;margin-top:26px}
.progress span{height:4px;flex:1;background:var(--rule)}
.progress span.on{background:var(--draft)}
.card{border:1px solid var(--ink);background:#fff;padding:26px 28px;margin-top:22px}
.card h3{font-size:24px;margin:10px 0 8px}
.card p{color:var(--graphite);font-size:17px}
.card .btn{margin-top:18px}
[hidden]{display:none!important}

/* QA fixes */
.grid2 label{display:flex;flex-direction:column}
.grid2 .hint{flex:1;text-wrap:pretty}
.prefix i,.suffix i{font-size:14px;color:var(--graphite);line-height:1}
.field::placeholder{color:#A9A69D}
.grid2 .full{margin-top:14px}
@media(max-width:560px){.part{padding-top:18px;padding-bottom:22px}.part .num{margin-bottom:10px}}

/* v2: Adam-led hero */
.brand span{font-size:22px}
.me{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:48px;align-items:end;padding-top:56px}
.me-copy{padding-bottom:64px}
.me h1{font-size:clamp(52px,6.6vw,92px);letter-spacing:-.03em;line-height:.95;margin:18px 0 26px}
.me-line{font-size:clamp(22px,2.1vw,28px);line-height:1.32;max-width:21em;margin-bottom:18px}
.me .lede{font-size:clamp(17px,1.4vw,19px);margin-bottom:28px;max-width:32em}
.me .small{margin-top:12px}
.me-photo{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-height:540px;background:var(--tint);border:1px solid var(--rule);border-bottom:0;overflow:hidden}
.me-eng{display:none}
.me-adam{position:relative;width:min(100%,500px);height:auto}
.me-photo::after{content:'Adam Gillman · Co-founder, Hiya Health';position:absolute;left:0;right:0;bottom:0;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--paper);border-top:1px solid var(--ink);padding:9px 14px}
.proof{border-top:1px solid var(--ink)}
@media(max-width:900px){.me{grid-template-columns:1fr;gap:0;padding-top:28px}.me-copy{padding-bottom:36px;order:2}.me-photo{order:1;min-height:0;height:380px;margin-bottom:28px;border-bottom:1px solid var(--rule)}.me-adam{width:300px}}
.about-photo{background:var(--tint);border:1px solid var(--ink);overflow:hidden}
.about figure.about-photo img{border:0;width:100%}
.about-photo figcaption{background:var(--paper);border-top:1px solid var(--ink);margin:0;padding:10px 12px}
.last{padding-top:40px}
.sign{display:grid;grid-template-columns:120px 1fr;gap:32px;align-items:start;border-top:1px solid var(--ink);padding-top:48px;max-width:860px}
.sign img{width:120px;height:120px;border-radius:50%;background:var(--tint);border:1px solid var(--ink);object-fit:cover}
.sign h2{margin-bottom:8px}.sign .lede{margin-bottom:22px}
@media(max-width:560px){.sign{grid-template-columns:1fr;gap:18px}.sign img{width:88px;height:88px}}
.byline{display:flex;gap:14px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--rule)}
.byline img{width:44px;height:44px;border-radius:50%;background:var(--tint);border:1px solid var(--ink);flex:none}
footer{border-top:0;padding-top:0}
footer .wrap{border-top:1px solid var(--ink);padding-top:36px;align-items:baseline}
.progress span{background:#CFCABD}
.opts{max-width:640px}

/* v3: post-survey offer pages */
.sent{background:var(--tint);border-bottom:1px solid var(--rule);padding:14px 0;font-size:17px}
.sent .kick{margin-right:10px}
.offer{padding-top:48px;padding-bottom:40px}
.offer-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:start;padding-bottom:56px;border-bottom:1px solid var(--ink)}
.offer-hero h1{font-size:clamp(40px,5vw,64px);margin:16px 0 14px}
.offer-hero .lede{margin-bottom:26px}
.why{font-size:19px;color:var(--draft);margin-bottom:10px}
.inside{border:1px solid var(--ink);background:#fff;padding:22px 24px 6px}
.inside .steps{border-top:1px solid var(--ink);margin-top:12px}
.inside .steps li:last-child{border-bottom:0}
.preview-note{margin-top:10px}
.form-err{margin-top:10px;color:var(--flag)}
.done-note{font-size:18px;background:var(--tint);border-left:3px solid var(--draft);padding:14px 18px}
.offer-sec{padding:48px 0;border-bottom:1px solid var(--rule)}
.offer-sec .steps{margin-top:16px}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.fit p:not(.kick){font-size:19px;margin-top:10px;max-width:30em}
.also{padding-top:18px}
.adv label{display:block;margin-bottom:14px}.adv .lab{display:block;font-weight:600;font-size:16px;margin-bottom:6px}
@media(max-width:860px){.offer-hero,.fit{grid-template-columns:1fr;gap:32px}}

/* v4: one spacing scale for the home page (8px base: 8/16/24/32/48/64/96) */
:root{--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--sec:clamp(64px,8vw,96px)}
section{padding:var(--sec) 0}
section .kick + h2{margin:var(--s2) 0 var(--s3)}
.me{padding-top:var(--s6)}
.me-copy{padding-bottom:var(--s6)}
.me h1{margin:var(--s2) 0 var(--s3)}
.me-line{margin-bottom:var(--s2)}
.me .lede{margin-bottom:var(--s4)}
.me .small{margin-top:var(--s2)}
.issue .steps{margin-bottom:var(--s4)}
.band{padding:var(--sec) 0}
.band h2{margin:var(--s2) 0 var(--s3)}
.band .btn{margin-top:var(--s4)}
.last{padding-top:0}
.sign{padding-top:var(--s5)}
footer{margin-top:var(--s6)}
.btn-sm{padding:10px 16px;font-size:13px}
.nav ul{align-items:center}
/* topics */
.topics{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s6);align-items:center}
.topics p:not(.kick){font-size:19px;color:var(--graphite);max-width:30em}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.chips li{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ink);background:#fff;padding:10px 16px 10px 10px;font-size:17px;font-weight:500;line-height:1}
.chips span{font-family:var(--mono);font-size:12px;font-weight:600;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--draft);color:var(--draft);display:inline-flex;align-items:center;justify-content:center}
.chips li.on span{background:var(--draft);color:#fff}
@media(max-width:900px){.topics{grid-template-columns:1fr;gap:var(--s4)}}
/* about */
.about{align-items:center}
.about figure.about-photo img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.about h2{font-size:clamp(36px,4.2vw,56px);font-weight:700;letter-spacing:-.025em;line-height:1.02;max-width:12em}
.about .copy p:last-child{margin-bottom:0}
.nav ul a.btn{color:#fff;font-size:13px}.nav ul a.btn:hover{color:#fff}
/* v4b: .wrap's padding shorthand was zeroing section padding */
section.wrap{padding-top:var(--sec);padding-bottom:var(--sec)}
section.wrap + section.wrap{padding-top:0}
#parts{padding-top:var(--sec)!important}
.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.chips li{justify-content:flex-start}
@media(max-width:560px){.chips{grid-template-columns:repeat(2,minmax(0,1fr))}.chips li{font-size:15px;padding:8px 10px 8px 8px}}
.about h2{letter-spacing:-.015em}
.about figure.about-photo img{object-fit:contain;object-position:50% 100%;padding-top:28px}
.issue{align-items:center}
footer .wrap > div{display:flex;flex-wrap:wrap;gap:8px 28px}
footer a{margin-right:0}
section.last{padding-bottom:var(--s6)}footer{margin-top:0}
/* v5: headlines run the full measure; no orphans */
h1,h2,h3{text-wrap:pretty;max-width:none}
.band h2,.about h2{max-width:none}
.me h1{font-size:clamp(44px,5.4vw,76px);line-height:1;letter-spacing:-.025em}
.me-line{max-width:none}
.about h2{font-size:clamp(34px,3.6vw,50px);line-height:1.05}
#work h2{margin-bottom:var(--s5)}
.ladder > div{display:flex;flex-direction:column}
.ladder p:not(.kick){flex:1;margin-bottom:var(--s3)}
.more{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--draft);text-decoration:none}
.more::after{content:" →"}
.more:hover{text-decoration:underline}
.me .small a{color:var(--draft)}
@media(max-width:760px){.nav ul{gap:16px}.nav ul a{font-size:12px}}
p,li{text-wrap:pretty}
.offer-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.offer-hero h1{font-size:clamp(38px,4.2vw,58px)}
.me{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.me h1{font-size:clamp(40px,4.5vw,64px);line-height:1.02}
@media(max-width:560px){.offer-hero h1{font-size:34px}}
@media(max-width:900px){.me{grid-template-columns:1fr}}
@media(max-width:860px){.offer-hero{grid-template-columns:1fr}}
.me h1{font-size:clamp(40px,4vw,58px)}
.me h1{font-size:clamp(38px,3.9vw,54px)}
.me h1{font-size:clamp(38px,3.9vw,50px)}
/* v6 */
.me h1{font-size:clamp(52px,6.6vw,92px);line-height:.95;letter-spacing:-.03em}
.me{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
@media(max-width:900px){.me{grid-template-columns:1fr}}
.heard{padding-top:var(--s5);padding-bottom:var(--s5);display:grid;grid-template-columns:auto 1fr;gap:var(--s4);align-items:center}
.shows{list-style:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2) var(--s4)}
.shows li{font-family:var(--serif);font-weight:700;font-size:clamp(17px,1.6vw,22px);letter-spacing:-.01em;color:var(--graphite);white-space:nowrap}
@media(max-width:860px){.heard{grid-template-columns:1fr;gap:var(--s2)}.shows{justify-content:flex-start}}
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
.quote{border:1px solid var(--ink);background:#fff;padding:var(--s4) var(--s3);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s3)}
.quote blockquote{font-family:var(--serif);font-size:20px;line-height:1.4}
.quote figcaption{font-family:var(--mono);font-size:12.5px;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}.quote figcaption b{color:var(--ink)}.quote .nw{white-space:nowrap}@media(max-width:600px){.quote .sep{display:none}.quote .nw{display:block}}
.quote.todo{border-style:dashed;background:transparent}.quote.todo blockquote{color:var(--graphite)}
.todo-note{margin-top:var(--s2);color:var(--draft)}
@media(max-width:860px){.quotes{grid-template-columns:1fr}}
.shows{flex-wrap:nowrap;gap:var(--s3)}.shows li{font-size:clamp(15px,1.2vw,18px)}@media(max-width:1100px){.shows{flex-wrap:wrap}}
/* v7 */
.me-photo::after{content:none;display:none}
.me-photo{border-bottom:1px solid var(--rule)}
.heard{grid-template-columns:auto 1fr;gap:var(--s5)}
.heard .kick{white-space:nowrap}
.shows{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:var(--s3)}
.shows li{line-height:0}
.shows img{width:64px;height:64px;border-radius:10px;border:1px solid var(--rule);filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}
.shows img:hover{filter:none;opacity:1}
@media(max-width:600px){.shows img{width:52px;height:52px}.shows{gap:var(--s2)}}
#said{padding-bottom:var(--s6)}
#said + section{padding-top:var(--s6)!important}
.topics{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
#issue h2{white-space:nowrap;font-size:clamp(30px,3.2vw,44px)}
#said{padding-bottom:0}
#said + section{padding-top:var(--sec)!important}
@media(max-width:560px){#issue h2{white-space:normal;font-size:30px}#parts h2{font-size:30px}}
@media(max-width:900px){.topics{grid-template-columns:1fr}}
.chips li{white-space:nowrap;font-size:clamp(14px,1.15vw,17px);padding:10px 12px 10px 8px;gap:8px}
.topics{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s5)}@media(max-width:900px){.topics{grid-template-columns:1fr}}@media(min-width:901px) and (max-width:1100px){.chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* about page */
.ab-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s6);align-items:end;padding-top:var(--s6);padding-bottom:var(--sec)}
.ab-hero h1{font-size:clamp(40px,5vw,68px);line-height:1.02;letter-spacing:-.02em;margin:10px 0 20px}
.ab-photo{margin:0;background:var(--tint);border-bottom:1px solid var(--rule)}
.ab-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:50% 100%}
.tl{list-style:none;padding:0;margin:var(--s5) 0 0;border-top:1px solid var(--ink)}
.tl li{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:var(--s5);padding:var(--s4) 0;border-bottom:1px solid var(--rule)}
.tl-when{font-family:"Red Hat Mono",monospace;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--draft);margin:4px 0 0}
.tl h3{font-size:22px;margin:0 0 6px}.tl p{margin:0;max-width:40em}
.rules{list-style:none;padding:0;margin:var(--s5) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s6);counter-reset:r}
.rules li{counter-increment:r;padding:var(--s4) 0 var(--s4) 56px;border-top:1px solid var(--rule);position:relative}
.rules li::before{content:counter(r,decimal-leading-zero);position:absolute;left:0;top:calc(var(--s4) + 4px);font-family:"Red Hat Mono",monospace;font-size:13px;color:var(--draft)}
.rules h3{font-size:20px;margin:0 0 4px}.rules p{margin:0}
.pull{margin:0;font-family:"Source Serif 4",serif;font-size:clamp(28px,3.4vw,44px);line-height:1.15;letter-spacing:-.015em;border-left:3px solid var(--draft);padding-left:var(--s4);max-width:24em}
.ab-life{margin:var(--s5) 0 0;max-width:36em;color:var(--graphite)}
.ab-sign{border-top:1px solid var(--ink);padding-top:var(--s5);max-width:860px}
.ab-sign h2{margin:8px 0 22px}
@media(max-width:900px){.ab-hero{grid-template-columns:1fr}.ab-photo{max-width:360px}}
@media(max-width:700px){.tl li{grid-template-columns:1fr;gap:6px}.rules{grid-template-columns:1fr}}
.ab-hero{align-items:center}
/* offer ladder: investment meter (no prices) */
.meter{display:inline-flex;gap:3px;vertical-align:middle;margin-left:8px}
.meter i{display:inline-block;width:14px;height:8px;border:1.3px solid var(--draft);border-radius:1px}
.meter i.on{background:var(--draft)}
.meter.free{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--draft);font-weight:600;margin-left:6px}
.tier-meta{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);margin:0 0 18px}
.ladder .tier-meta{flex:0 0 auto!important;margin:0 0 var(--s3)!important;color:var(--graphite);font-size:11.5px}
.ladder-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.ladder-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ladder-4 > div:nth-child(3){padding-left:0;border-left:0}.ladder-4 > div:nth-child(n+3){border-top:1px solid var(--rule)}}
@media(max-width:860px){.ladder-4{grid-template-columns:1fr}.ladder-4 > div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}
.tiers h2{margin:10px 0 22px}
.tier-table{width:100%;border-collapse:collapse;font-size:16px}
.tier-table th{text-align:left;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);font-weight:500;padding:0 16px 10px 0;border-bottom:1.5px solid var(--ink)}
.tier-table td{padding:16px 16px 16px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.tier-table tr.cur td{background:var(--tint)}
.tier-table tr.cur td:first-child{box-shadow:inset 3px 0 0 var(--draft);padding-left:14px}
.tt-name a,.tt-name b{font-weight:700;color:var(--ink)}
.tt-name a{text-decoration:underline;text-decoration-color:var(--rule)}
.tt-here{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--draft);margin-top:4px}
.tt-inv{white-space:nowrap}
.tt-inv .meter{margin-left:0}
@media(max-width:760px){.tier-table thead{display:none}.tier-table tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--rule);padding:14px 0}.tier-table td{border:0;padding:2px 0}.tier-table td:nth-child(2),.tier-table td:nth-child(3){grid-column:1/-1;color:var(--graphite);font-size:15px}.tier-table td.tt-inv{grid-row:1;grid-column:2}.tier-table tr.cur{background:var(--tint);padding-left:12px;box-shadow:inset 3px 0 0 var(--draft)}.tier-table tr.cur td{background:none;box-shadow:none;padding-left:0}}
.meter i{width:16px;height:10px}

/* real photos (not cut-outs): fill the frame, caption underneath */
.about figure.about-photo.shot img{object-fit:cover;object-position:50% 60%;padding-top:0;aspect-ratio:4/5}
.tl-shot{margin:18px 0 0;max-width:280px;border:1px solid var(--ink);background:var(--paper)}
.tl-shot img{display:block;width:100%;height:auto}
.tl-shot figcaption{border-top:1px solid var(--ink);padding:8px 10px;margin:0}

/* newsletter archive */
.nl-hero{padding-top:64px;padding-bottom:40px;max-width:calc(760px + 2 * var(--gutter))}
.nl-hero h1{margin:18px 0 18px}
.nl-hero .lede{margin-bottom:26px}
.issues{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--rule)}
.issues li a{display:grid;grid-template-columns:130px 1fr;gap:4px 24px;padding:18px 0;border-bottom:1px solid var(--rule);color:inherit;text-decoration:none}
.issues li a:hover b{color:var(--draft)}
.issues .when{grid-row:span 2;font-family:var(--mono);font-size:13px;color:var(--draft)}
.issues b{font-size:20px}
@media(max-width:640px){.issues li a{grid-template-columns:1fr}.issues .when{grid-row:auto}}
/* checkout buttons */
.buy{margin-top:6px}
.buy .btn{display:inline-block}
.buy-note{color:var(--graphite);margin:12px 0 0}
.alt-buy{margin:6px 0 0}
.alt-buy a{color:var(--draft);text-decoration:underline;text-underline-offset:3px}
.buy-err{color:#9a2a1c;margin-top:10px}
.thanks h1{margin-bottom:14px}
.kit-open{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,300px));gap:12px;margin:28px 0 8px}
.kit-open .btn{display:flex;align-items:center;justify-content:center;text-align:center}
@media (max-width:600px){.kit-open{grid-template-columns:1fr}}

.ab-home{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s6);align-items:center}
.ab-home .pull{margin-top:0}
.ab-home .ab-life{margin:var(--s4) 0 0}
.ab-fam{margin:0;border:1px solid var(--rule);background:var(--tint)}
.ab-fam img{display:block;width:100%;height:auto}
@media(max-width:700px){.ab-home{grid-template-columns:1fr;gap:var(--s4)}.ab-fam{max-width:420px}}
.legal{max-width:68ch}.legal h2{font-size:22px;margin-top:var(--s5)}.legal p,.legal ul{margin-top:var(--s2)}.legal ul{padding-left:1.2em}.legal li+li{margin-top:var(--s1)}

/* review round 1: about spacing, journey photo, homepage tiers, linked shows */
.ab-hero{padding-bottom:var(--s5)}
.ab-hero + section.wrap{padding-top:var(--s5)}
.journey{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s6,64px);align-items:end;margin-top:var(--s5)}
.journey .tl{margin-top:0}
.jr-shot{margin:0 0 var(--s4);border:1px solid var(--ink);background:var(--paper)}
.jr-shot img{display:block;width:100%;height:auto}
.jr-shot figcaption{border-top:1px solid var(--ink);padding:10px 12px;margin:0}
@media(max-width:860px){.journey{grid-template-columns:1fr;gap:var(--s4)}.jr-shot{max-width:380px;margin:0}}
.shows a{display:block;border-radius:10px}
.shows a:focus-visible{outline:2px solid var(--draft);outline-offset:3px}
.shows img{filter:none;opacity:1}
.shows a:hover img{transform:translateY(-2px);box-shadow:0 6px 18px rgba(27,27,27,.14)}
.shows img{transition:transform .2s,box-shadow .2s}
.tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin-top:var(--s5);align-items:stretch}
.tier{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:16px;padding:clamp(28px,3vw,44px);background:#fff}
.tier-band{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--draft);margin:0}
.tier h3{font-size:clamp(26px,2.4vw,32px);margin:10px 0 10px;letter-spacing:-.01em}
.tier-promise{font-size:19px;line-height:1.4;color:var(--ink);margin:0;min-height:2.8em}
.tier-inc{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin:var(--s4) 0 0;padding-top:var(--s3);border-top:1px solid var(--rule)}
.tier-list{list-style:none;margin:14px 0 var(--s4);padding:0;flex:1}
.tier-list li{position:relative;padding:0 0 0 30px;margin:0 0 14px;font-size:16px;line-height:1.5;color:var(--graphite)}
.tier-list li b{color:var(--ink);font-weight:600}
.tier-list li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.5L13 6.5' fill='none' stroke='%231747C9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.tier .btn{align-self:flex-start;min-width:200px;justify-content:center}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.tier-room{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 24px 48px -28px rgba(27,27,27,.55)}
.tier-room h3,.tier-room .tier-promise,.tier-room .tier-list li b{color:#fff}
.tier-room .tier-band{color:#9DB4F2}
.tier-room .tier-inc{color:rgba(255,255,255,.6);border-top-color:rgba(255,255,255,.18)}
.tier-room .tier-list li{color:rgba(255,255,255,.72)}
.tier-room .tier-list li::before{background-color:rgba(255,255,255,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.5L13 6.5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tier-room .btn{background:#fff;color:var(--ink)}
.tier-room .btn:hover{background:var(--tint)}
.tier-promise{text-wrap:balance}
.tier-more{margin:var(--s4) 0 0;color:var(--graphite)}
.tier-more a{color:var(--ink)}
@media(max-width:860px){.tiers{grid-template-columns:1fr}.tier-promise{min-height:0}}
.tiers + .tier-more{margin-top:var(--s4)}
#work h2{text-wrap:balance}
@media(max-width:600px){.heard{grid-template-columns:1fr;gap:var(--s2)}.shows{justify-content:space-between;gap:8px}.shows li{flex:0 0 auto}}
.quote blockquote p{margin:0}
.quote blockquote p+p{margin-top:.8em}
.quote blockquote b{font-weight:700;color:var(--ink)}

/* ---------- Builder's Room: sales page, application and answer pages ---------- */
.room-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center;padding:24px 0 64px;border-bottom:1px solid var(--ink)}
.room-hero h1{font-size:clamp(44px,5.6vw,76px);line-height:1.02;letter-spacing:-.01em;margin:16px 0 22px}
.room-hero h1 span{display:block}
.room-hero .lede{max-width:30em;margin-bottom:28px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.cta-row .small{color:var(--graphite)}
.price-card{background:#fff;border:1px solid var(--ink);padding:26px 26px 24px}
.price-card .kick{display:flex;justify-content:space-between;gap:12px}
.pc-price{display:flex;align-items:baseline;gap:8px;margin:14px 0 4px}
.pc-price b{font-size:56px;line-height:1;font-weight:700;letter-spacing:-.02em}
.pc-price span{font-family:var(--mono);font-size:14px;color:var(--graphite);letter-spacing:.04em}
.pc-was{font-size:16px;color:var(--graphite);margin:6px 0 0}
.pc-list{list-style:none;margin:18px 0 22px;padding:16px 0 0;border-top:1px solid var(--rule)}
.pc-list li{position:relative;padding-left:28px;margin:0 0 10px;font-size:16px;line-height:1.45}
.pc-list li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.5L13 6.5' fill='none' stroke='%231747C9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.spots-note{font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:18px}
.spots-note b{color:var(--draft);font-weight:700}
.pc-then{font-size:15px;color:var(--graphite);border-top:1px solid var(--rule);padding-top:14px;margin-top:18px}
.price-card .btn{width:100%;justify-content:center}
.get{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--ink);margin-top:22px}
.get div{padding:22px 0 24px;border-bottom:1px solid var(--rule)}
.get h3{font-size:22px;margin:8px 0 6px}
.get p{color:var(--graphite);font-size:17px;max-width:30em}
.get .wide{grid-column:1/-1}
.faq{border-top:1px solid var(--ink);margin-top:22px}
.faq details{border-bottom:1px solid var(--rule);padding:18px 0}
.faq summary{font-size:20px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--draft);font-weight:500}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--graphite);margin-top:10px;max-width:38em}
.room-close{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center;border-top:1px solid var(--ink);padding-top:56px}
.room-close h2{font-size:clamp(32px,3.6vw,46px);text-wrap:balance}
.room-close p{color:var(--graphite);margin-top:12px;max-width:30em}
.vslot{position:relative;aspect-ratio:16/9;background:var(--ink);margin:0 0 28px;overflow:hidden}
.vslot iframe,.vslot video{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:900px){.room-hero,.room-close{grid-template-columns:1fr;gap:36px}.get{grid-template-columns:1fr}}

.apply{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:64px;align-items:start;max-width:var(--max);margin:0 auto;padding:40px var(--gutter) 96px}
.apply h1{font-size:clamp(36px,4.4vw,54px);line-height:1.06;margin:14px 0 14px;text-wrap:balance}
.apply .lede{max-width:30em}
.apply aside{position:sticky;top:24px;display:grid;gap:18px}
.apply .q{margin-top:34px}
.apply .q h2{text-wrap:balance}
.apply .q .hint{color:var(--graphite);font-size:16px;margin:-8px 0 16px;max-width:34em}
.opts.stack{flex-direction:column;align-items:stretch;max-width:560px}
.opts.stack .opt{display:flex;justify-content:space-between;align-items:center;gap:16px}
.opts.stack .opt small{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.fields{display:grid;gap:14px;max-width:560px}
.fields label{display:grid;gap:6px;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.fields textarea.field{min-height:150px;resize:vertical;font-family:var(--serif);font-size:18px;line-height:1.5}
.step-nav{display:flex;align-items:center;gap:22px;margin-top:22px}
.opts[data-name=channels] .opt::after{content:"";width:18px;height:18px;flex:none;border:1.5px solid currentColor;border-radius:2px}
.opts[data-name=channels] .opt::after{display:grid;place-items:center;font-size:14px;line-height:1;font-family:var(--mono)}
.opts[data-name=channels] .opt[aria-pressed=true]::after{content:"\2713";background:#fff;color:var(--draft);border-color:#fff}
.fields label.commit{display:flex;align-items:flex-start;gap:12px;margin-top:6px;font-family:var(--serif);font-size:17px;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1.4;cursor:pointer}
.fields label.commit input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--draft)}
.link-back{background:none;border:0;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);cursor:pointer;padding:8px 0}
.link-back:hover{color:var(--ink)}
.apply .form-err{margin-top:14px}
.next-card{border:1px solid var(--rule);padding:20px 22px}
.next-card ol{list-style:none;counter-reset:n;margin-top:10px}
.next-card li{counter-increment:n;display:grid;grid-template-columns:30px 1fr;padding:9px 0;font-size:16px;border-top:1px solid var(--rule)}
.next-card li:first-child{border-top:0}
.next-card li::before{content:counter(n,decimal-leading-zero);font-family:var(--mono);font-size:12.5px;color:var(--graphite);padding-top:3px}
@media(max-width:900px){.apply{grid-template-columns:1fr;gap:40px}.apply aside{position:static}}

.answer{max-width:var(--max);margin:0 auto;padding:40px var(--gutter) 96px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:64px;align-items:start}
.answer h1{font-size:clamp(38px,4.6vw,58px);line-height:1.05;margin:14px 0 16px;text-wrap:balance}
.answer .lede{max-width:30em;margin-bottom:30px}
.answer .steps{margin-top:14px}
.answer aside{position:sticky;top:24px;display:grid;gap:18px}
.stamp{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--draft);font-weight:600}
.stamp::before{content:"";width:9px;height:9px;background:var(--draft);border-radius:50%}
@media(max-width:900px){.answer{grid-template-columns:1fr;gap:40px}.answer aside{position:static}}

/* homepage close: The 12 Leaks */
.leaks-cta{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px;align-items:center;border-top:1px solid var(--ink);padding-top:var(--s6)}
.leaks-cover{margin:0;justify-self:center;width:min(100%,300px);border:1px solid var(--ink);background:#fff;box-shadow:0 1px 0 var(--ink),0 28px 56px -30px rgba(27,27,27,.45);transform:rotate(-2deg)}
.leaks-cover img{display:block;width:100%;height:auto}
.leaks-cta h2{margin:14px 0 16px}
.leaks-cta .lede{max-width:32em;margin-bottom:26px}
.leaks-cta .small{margin-top:14px;color:var(--graphite)}
@media(max-width:860px){.leaks-cta{grid-template-columns:1fr;gap:40px}.leaks-cover{width:min(64%,240px)}}

/* Builder's Room welcome: the numbers form */
.welcome .intake{margin-top:8px;border-top:1px solid var(--ink);padding-top:28px}
.intake h2{font-size:clamp(28px,3vw,36px);line-height:1.1;margin:10px 0 10px;text-wrap:balance}
.intake .hint{color:var(--graphite);max-width:34em;margin-bottom:8px}
.in-block{border:0;border-top:1px solid var(--rule);padding:24px 0 6px;margin:22px 0 0;min-width:0}
.in-block legend{font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:0;margin-bottom:6px;float:left;width:100%}
.in-block legend+*{clear:left}
.in-block>.small{margin:0 0 16px;max-width:40em}
.num-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.num-f{display:grid;grid-template-rows:auto auto 1fr;gap:3px;min-width:0}
.num-f .lab{font-size:16.5px;font-weight:600}
.num-f .sub{font-size:13.5px;color:var(--graphite);line-height:1.35}
.num-f .in{min-width:0;display:flex;align-items:center;gap:8px;margin-top:6px;align-self:end;background:#fff;border:1.5px solid var(--ink);border-radius:2px;padding:0 12px}
.num-f .in:focus-within{border-color:var(--draft);box-shadow:0 0 0 3px var(--tint)}
.num-f .in i{font-style:normal;font-family:var(--mono);font-size:13px;color:var(--graphite);white-space:nowrap}
.num-f .in input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:var(--mono);font-size:16px;padding:13px 0;color:var(--ink)}
.num-f .pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-self:end;min-width:0}
.num-f .pair .in{margin-top:6px}
.drop{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;border:1.5px dashed var(--ink);border-radius:2px;background:#fff;text-align:center;padding:20px;cursor:pointer;transition:background .15s,border-color .15s}
.drop:hover,.drop.over{background:var(--tint);border-color:var(--draft)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop span{font-size:17px;color:var(--graphite)}
.drop b{color:var(--draft)}
.file-list{list-style:none;margin:12px 0 0;display:grid;gap:8px}
.file-list:empty{display:none}
.file-list li{position:relative;display:flex;align-items:center;gap:14px;min-height:48px;border:1px solid var(--rule);background:#fff;padding:11px 14px;overflow:hidden}
.file-list .fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
.file-list .fm{font-family:var(--mono);font-size:12.5px;color:var(--graphite);white-space:nowrap}
.file-list .fx{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:none;border:0;color:var(--draft);cursor:pointer;padding:12px 4px;margin:-12px -4px}
.file-list li i{position:absolute;left:0;bottom:0;height:3px;background:var(--draft);transition:width .2s}
.note-f{display:grid;gap:8px;margin-top:26px;border-top:1px solid var(--rule);padding-top:24px}
.note-f .lab{font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.note-f em{font-style:normal;font-weight:400;color:var(--graphite);margin-left:6px}
.note-f textarea{min-height:110px;resize:vertical;font-family:var(--serif);font-size:17px;line-height:1.5}
.intake .step-nav{flex-wrap:wrap;margin-top:24px}
.intake-done,.intake-locked{margin-top:8px;border-top:1px solid var(--ink);padding-top:28px;max-width:36em}
.intake-done h2,.intake-locked h2{font-size:clamp(28px,3vw,36px);margin:10px 0 10px}
.intake-done p+p{margin-top:10px}
@media(max-width:620px){.num-grid{grid-template-columns:minmax(0,1fr)}}

/* How this compares (Builder's Room): what each option gets you from Adam */
.compare h2{margin:10px 0 0;text-wrap:balance}
.cmp-wrap{margin-top:var(--s4);border:1px solid var(--rule);border-radius:16px;background:#fff;overflow:hidden}
.cmp{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px}
.cmp th,.cmp td{padding:18px 20px;border-bottom:1px solid var(--rule);text-align:center;vertical-align:middle}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp thead td{width:40%}
.cmp thead th{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ink);padding-top:24px;padding-bottom:20px;line-height:1.35}
.cmp thead th a{color:var(--ink);text-decoration:none}
.cmp thead th a:hover{text-decoration:underline;text-underline-offset:4px}
.cmp-s{display:none}
.cmp tbody th{text-align:left;font-weight:500;color:var(--ink)}
.cmp .cur{background:var(--tint)}
.cmp thead th.cur{box-shadow:inset 0 3px 0 var(--draft)}
.cmp-here{display:block;margin-top:6px;font-size:11px;letter-spacing:.08em;color:var(--draft);font-weight:600}
.cmp-yes,.cmp-no{display:inline-block;width:22px;height:22px;vertical-align:middle}
.cmp-yes{border-radius:50%;background:var(--draft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.4l3 2.9 6-6.3' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat}
.cmp-no{position:relative}.cmp-no::after{content:"";position:absolute;left:6px;right:6px;top:10px;height:2px;border-radius:1px;background:#B9B6AD}
.cmp-more{margin-top:var(--s3);color:var(--graphite)}
.cmp-more a{color:var(--ink)}
@media(max-width:640px){.cmp{font-size:14.5px}.cmp th,.cmp td{padding:14px 6px}.cmp tbody th{padding-left:14px}.cmp thead td{width:36%}.cmp thead th{font-size:10px;letter-spacing:0;overflow-wrap:normal;word-break:normal;hyphens:none}.cmp-l{display:none}.cmp-s{display:inline}.cmp-here{font-size:10px}}

/* hunt 3: experience fixes (EXP-7, 10, 11, 12, 13, 14, 15) */
/* Georgia sized to Source Serif 4, so the page doesn't jump when the web font swaps in. Two faces because Georgia
   Bold runs much wider than Georgia next to Source Serif. Ascent/descent are Source Serif 4's (1.036/0.335), divided
   by the size-adjust. */
@font-face{font-family:"Source Serif Fallback";src:local("Georgia");font-weight:100 599;font-style:normal;size-adjust:102%;ascent-override:101.6%;descent-override:32.8%;line-gap-override:0%}
@font-face{font-family:"Source Serif Fallback";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:600 900;font-style:normal;size-adjust:84%;ascent-override:123.3%;descent-override:39.9%;line-gap-override:0%}
:root{--serif:'Source Serif 4',"Source Serif Fallback",Georgia,serif}
/* skip link and screen-reader-only text */
.skip{position:absolute;left:12px;top:-100px;z-index:100;background:var(--ink);color:#fff;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:14px 18px;border-radius:2px}
.skip:focus{top:12px;outline:2px solid var(--draft);outline-offset:2px}
.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}
/* one focus ring everywhere, white on the dark and blue surfaces */
:focus-visible{outline:2px solid var(--draft);outline-offset:2px}
.band :focus-visible,.tier-room :focus-visible,.vslot :focus-visible{outline-color:#fff}
[tabindex="-1"]:focus{outline:none}
/* placeholders at 4.8:1 on white; textareas at 16px so iOS doesn't zoom in */
.field::placeholder{color:#74726B}
textarea.field{font-size:16px}
/* the phone header stays one line */
.brand span,.nav ul a{white-space:nowrap}
@media(max-width:400px){.brand span{font-size:19px}.nav ul{gap:12px}.nav ul a{font-size:11px;letter-spacing:.06em}.nav ul a.btn{font-size:12px;padding:10px 12px}}
@media(max-width:340px){.brand span{font-size:17px}.nav ul{gap:8px}.nav ul a.btn{padding:10px 9px}}
/* touch: primary controls at least 44px */
@media(pointer:coarse){
  footer a{display:inline-block;padding:12px 0;min-width:44px}
  .brand{min-height:44px}
  footer .wrap > div{gap:0 28px}
  .btn-sm{min-height:44px}
  .nav ul li.keep > a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
  .cmp thead th a{display:block;padding:12px 0;min-height:44px;line-height:20px}
}
.fig img{height:auto}
