/* Capital Consortium · Lines of Credit (dev site)
   Loaded AFTER styles.css (r3, copied verbatim from ~/CapitalConsortium-Site/public/styles.css @ 7181f86).
   Everything here is additive: same tokens, fonts and components, plus the pieces this niche needs.

   AA note: r3 light tokens --accent #0e8f68 (3.83:1 on --bg) and --muted #66758c (4.40:1) miss WCAG AA
   for the 11-12px mono text they colour. Deepened one step for text use only; hue unchanged. */
:root{--accent:#0b7a59;--muted:#5a6880;--accent-fill:#0e8f68;--warn:#b42318;--warn-bg:#fdf1ef;--focus:var(--accent-2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--accent:#34d3a0;--muted:#8a99ae;--accent-fill:#34d3a0;--warn:#ff8a7a;--warn-bg:#2a1414}}
:root[data-theme="dark"]{--accent:#34d3a0;--muted:#8a99ae;--accent-fill:#34d3a0;--warn:#ff8a7a;--warn-bg:#2a1414}
:root{--mk1:#0b2a5b;--mk2:#0e8f68}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--mk1:#e9f0fb;--mk2:#34d3a0}}
:root[data-theme="dark"]{--mk1:#e9f0fb;--mk2:#34d3a0}

body{margin:0}
h3{line-height:1.22}
[hidden]{display:none!important}   /* class display rules (.f, .confirm) must never override the hidden attribute */
img{max-width:100%;height:auto}   /* width/height attrs reserve space; CSS aspect-ratio then governs */
a{color:var(--accent-2)}
.skip{position:absolute;left:-999px;top:8px;z-index:20;background:var(--surface);color:var(--ink);padding:10px 14px;border-radius:10px;border:1px solid var(--line)}
.skip:focus{left:12px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header additions */
.links a[aria-current]{color:var(--ink);font-weight:500}
.tbtn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none;padding:0}
.tbtn svg{width:18px;height:18px}
.tbtn .moon{display:none}
:root[data-theme="dark"] .tbtn .sun{display:none}:root[data-theme="dark"] .tbtn .moon{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tbtn .sun{display:none}:root:not([data-theme="light"]) .tbtn .moon{display:block}}
.nav .wrap{gap:18px}
@media (max-width:980px){.mnav{margin-left:0}.nav .tbtn{margin-left:auto}}

/* home hero: full-bleed photograph, copy set on the image's empty wall */
.xhero{position:relative;isolation:isolate;min-height:min(86vh,820px);display:grid;align-items:end;overflow:hidden;border-bottom:1px solid var(--line)}
.xhero>picture,.xhero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-2}
.xhero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 88%,transparent) 34%,color-mix(in srgb,var(--bg) 0%,transparent) 66%),linear-gradient(0deg,var(--bg) 0%,transparent 22%)}
.xhero .wrap{width:100%;display:grid;grid-template-columns:minmax(0,640px) 1fr;gap:40px;align-items:end;padding-block:120px 64px}
.xhero .copy{display:grid;gap:22px}
.xhero .lede{font-size:19px;color:var(--ink-2)}
.xhero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.micro{font-size:13px;color:var(--muted);max-width:60ch}
.ledger{justify-self:end;width:min(380px,100%);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px;padding:20px 20px 18px;display:grid;gap:12px;box-shadow:0 24px 60px -30px rgba(7,16,34,.45)}
.ledger .eyebrow{font-size:11px}
@media (max-width:980px){
  .xhero{min-height:0;display:block}
  .xhero>picture{position:relative;display:block;aspect-ratio:3/2}
  .xhero>picture img{position:absolute}
  .xhero::before{background:linear-gradient(0deg,var(--bg) 0%,transparent 30%);bottom:auto;height:calc(100vw*2/3)}
  .xhero .wrap{grid-template-columns:1fr;padding-block:8px 48px}
  .ledger{justify-self:stretch;width:auto}
}

/* revolving-line diagram (pure CSS; illustrative, no figures) */
.lbar{display:grid;gap:6px}
.lbar .lbl{display:flex;justify-content:space-between;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lbar .track{height:14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--navy) 45%,var(--line));background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--navy) 9%,transparent) 6px 7px);overflow:hidden}
.lbar .fill{height:100%;width:var(--w,40%);background:linear-gradient(90deg,var(--navy),color-mix(in srgb,var(--navy) 70%,var(--accent-fill)));border-radius:999px 0 0 999px}
@media (prefers-reduced-motion:no-preference){.lbar.live .fill{animation:revolve 9s ease-in-out infinite}}
@keyframes revolve{0%,8%{width:18%}30%,42%{width:72%}62%,74%{width:30%}92%,100%{width:18%}}
.legend{display:flex;gap:16px;flex-wrap:wrap;font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.legend .d{background:var(--navy)}.legend .a{border:1px solid color-mix(in srgb,var(--navy) 45%,var(--line))}
.states{display:grid;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.states .st{display:grid;gap:8px}
.states .st h3{font-size:16px}
.states .st p{font-size:14px}

/* stats band: words, not statistics */
.stats.words .stat b{font-size:26px;letter-spacing:-.02em}
.stats .stat small{font-size:12px;color:var(--muted)}

/* product pair */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pair .card img{aspect-ratio:16/10}
.pair .card .body{padding:26px 26px 26px;gap:12px}
.pair .card h3{font-size:24px;letter-spacing:-.02em}
.metric small{display:block;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.card .metric{flex-wrap:wrap}
@media (max-width:820px){.pair{grid-template-columns:1fr}}

/* horizontal use-case strip */
.strip{list-style:none;margin:0;padding:0 0 6px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.strip li{scroll-snap-align:start;min-width:0}
.strip figure{margin:0;height:100%;scroll-snap-align:start;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.strip img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.strip figcaption{padding:12px 14px;font:500 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}

/* photo CTA band (image darkened under white text in both themes) */
.band.photo{position:relative;isolation:isolate;overflow:hidden}
.band.photo picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band.photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,18,40,.9),rgba(6,18,40,.62))}
.band .btn.light{background:#fff;color:#0a1a33}
.band .btn.ghostw{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.band p{color:#dbe5f3}
.band .micro{color:#c4d2e6}

/* inner page hero with image */
.phero.img .wrap{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding-block:56px}
.phero.img .copy{display:grid;gap:18px;min-width:0}
.phero.img figure{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line);aspect-ratio:3/2}
.phero.img figure img{width:100%;height:100%;object-fit:cover;display:block}
.phero h1{font-size:clamp(38px,5.2vw,68px)}
.phero .lede{font-size:18px}
@media (max-width:980px){.phero.img .wrap{grid-template-columns:1fr;gap:28px;padding-block:40px}}

/* numbered steps (mechanics) */
.steps-n{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.steps-n li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:6px 14px;padding:18px 0;border-top:1px solid var(--line)}
.steps-n li:last-child{border-bottom:1px solid var(--line)}
.steps-n li::before{content:counter(s,decimal-leading-zero);font:500 13px var(--f-mono);color:var(--accent);padding-top:3px;grid-row:span 2}
.steps-n b{font:600 17px var(--f-display);color:var(--ink);letter-spacing:-.01em}
.steps-n p{font-size:15px}

/* comparison table */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table.cmp{width:100%;border-collapse:collapse;min-width:640px;font-size:15px}
.cmp th,.cmp td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp thead th{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--bg) 60%,var(--surface))}
.cmp thead th:not(:first-child){color:var(--ink)}
.cmp tbody th{font:500 12px var(--f-mono);letter-spacing:.06em;color:var(--muted);width:22%;font-weight:500}
.cmp td{color:var(--ink-2)}
.cmp tr:last-child>*{border-bottom:0}
.cmp .mono{font-family:var(--f-mono);font-size:14px;color:var(--ink)}
.fine{font-size:13px;color:var(--muted);margin-top:14px;max-width:80ch}

/* structure cards */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.duo .card .body{padding:28px;gap:12px}
.duo .card h3{font-size:24px}
@media (max-width:820px){.duo{grid-template-columns:1fr}}
.card.noimg .body{padding-top:30px}
.card .kicker{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}

/* formula */
.formula{margin:0;background:var(--navy);color:#e8f0fb;border-radius:var(--r);padding:24px 26px;font:500 14px/1.9 var(--f-mono);overflow-x:auto;white-space:pre}
:root[data-theme="dark"] .formula{background:#0d1f3c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .formula{background:#0d1f3c}}
.formula .k{color:#9ee6c9}
.figure-r{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.figure-r img{width:100%;display:block;aspect-ratio:3/2;object-fit:cover}
.aside-note{border-left:3px solid var(--accent-fill);padding:4px 0 4px 16px;font-size:14px;color:var(--ink-2)}

/* seven terms */
.terms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;counter-reset:t}
.terms li{counter-increment:t;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:8px;align-content:start}
.terms li::before{content:counter(t,decimal-leading-zero);font:500 12px var(--f-mono);color:var(--accent)}
.terms li b{font:600 18px var(--f-display);color:var(--ink);letter-spacing:-.01em}
.terms li p{font-size:15px}
.terms li.wide{grid-column:1/-1}
@media (max-width:720px){.terms{grid-template-columns:1fr}}

/* five stages timeline */
.stages{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.stage{display:grid;grid-template-columns:64px 1.2fr 1fr .8fr;gap:22px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.stage .n{font:600 28px var(--f-display);color:var(--accent);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stage h3{font-size:19px;margin-bottom:6px}
.stage p{font-size:15px}
.stage .lab{display:block;font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.stage .dur{font:500 14px/1.55 var(--f-body);font-variant-numeric:tabular-nums;color:var(--ink)}
@media (max-width:980px){.stage{grid-template-columns:48px 1fr;gap:10px 16px}.stage>div:nth-child(n+3){grid-column:2}}

/* qualifies */
.qual{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px}
.qcol{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:14px;align-content:start}
.qcol h3{font-size:18px}
.qcol ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.qcol li{position:relative;padding-left:24px;color:var(--ink-2);font-size:15px}
.qcol li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:3px;background:var(--accent-fill)}
.qcol.no li::before{background:transparent;border:1.5px solid var(--muted)}
.qcol.lead{border-color:color-mix(in srgb,var(--navy) 40%,var(--line))}
@media (max-width:980px){.qual{grid-template-columns:1fr}}
.ecoa{font-size:13px;color:var(--muted);margin-top:18px}

/* documents checklist */
.docs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.docs .qcol li::before{border-radius:2px;background:transparent;border:1.5px solid var(--accent-fill);width:11px;height:11px}
@media (max-width:980px){.docs{grid-template-columns:1fr}}

/* industries */
.ind{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind .card .body{gap:10px}
.ind .card h3{font-size:18px}
.ind .card p{font-size:14.5px}
.ind .uses{margin:0;padding:12px 0 0;border-top:1px solid var(--line);list-style:none;display:grid;gap:6px;margin-top:auto}
.ind .uses li{font-size:13.5px;color:var(--ink-2);padding-left:14px;position:relative}
.ind .uses li::before{content:"–";position:absolute;left:0;color:var(--accent)}
.ind .card img{aspect-ratio:4/3}
@media (max-width:1100px){.ind{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.ind{grid-template-columns:1fr}}

.callout{background:var(--chip);border:1px solid color-mix(in srgb,var(--accent-fill) 30%,var(--line));border-radius:var(--r);padding:20px 22px;display:grid;gap:8px}
.callout b{font:600 15px var(--f-display);color:var(--ink)}
.callout p{font-size:15px}

/* FAQ */
.faq{display:grid;gap:34px}
.faq h3{font:500 12px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.faq details{border-top:1px solid var(--line)}
.faq .grp details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:18px 2px;font:600 18px/1.35 var(--f-display);color:var(--ink);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 22px/1 var(--f-mono);color:var(--accent);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 2px 20px;font-size:16px}

/* CTA strip */
.ctastrip{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:34px 36px}
.ctastrip h2{font-size:clamp(26px,3vw,40px)}

/* contact block */
.cblock{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.mail{font:500 16px var(--f-mono);color:var(--ink)}
@media (max-width:820px){.cblock{grid-template-columns:1fr}}

/* footer */
footer{padding-block:40px}
footer .wrap{display:grid;gap:14px}
footer .frow{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--ink)}
footer .fdisc{max-width:none;font-size:12px;line-height:1.65;color:var(--muted)}
footer .fnav{display:flex;gap:16px;flex-wrap:wrap}

/* ===== Apply ===== */
.apply{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start;padding-block:48px 88px}
.apply .head{margin-bottom:24px}
.apply h1{font-size:clamp(36px,4.6vw,60px)}
.devnote{border:1px dashed color-mix(in srgb,var(--accent-fill) 60%,var(--line));background:var(--chip);border-radius:12px;padding:12px 14px;font:500 12.5px/1.5 var(--f-mono);color:var(--ink)}
.prog{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.prog li{display:grid;gap:8px;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.prog li::before{content:"";height:4px;border-radius:4px;background:var(--line)}
.prog li.done::before{background:var(--accent-fill)}
.prog li[aria-current]::before{background:var(--navy)}
.prog li[aria-current]{color:var(--ink)}
.stepcount{font:500 13px var(--f-mono);color:var(--muted);margin-bottom:22px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px}
.panel h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:6px}
.panel>p.sub{margin-bottom:22px;font-size:15px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.fgrid .full{grid-column:1/-1}
@media (max-width:620px){.fgrid{grid-template-columns:1fr}.panel{padding:22px 18px}}
.f{display:grid;gap:7px;min-width:0}
.f>label,.f legend{font:600 14px var(--f-body);color:var(--ink);padding:0}
.f .opt{font:400 12.5px var(--f-body);color:var(--muted);margin-left:6px}
.f .hint{font-size:13px;color:var(--muted)}
.f input[type=text],.f input[type=email],.f input[type=tel],.f input[type=url],.f input[type=number],.f select,.f textarea{width:100%;font:16px var(--f-body);padding:12px 13px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ink) 22%,var(--line));background:var(--bg);color:var(--ink);min-height:46px}
.f textarea{min-height:110px;resize:vertical}
.f select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.f [aria-invalid=true]{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}
.err{font-size:13.5px;color:var(--warn);font-weight:500}
.err:empty{display:none}
fieldset.f{border:0;margin:0;padding:0;min-width:0}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice span{display:block;padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ink) 18%,var(--line));background:var(--bg);font-size:14.5px;color:var(--ink);min-height:44px;line-height:22px}
.choice input:checked+span{border-color:var(--navy);background:color-mix(in srgb,var(--navy) 10%,var(--surface));box-shadow:inset 0 0 0 1px var(--navy)}
.choice input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
fieldset[aria-invalid=true] .choice span{border-color:var(--warn)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cards3 .choice span{padding:16px;display:grid;gap:4px;height:100%}
.cards3 .choice b{font:600 15px var(--f-display);color:var(--ink)}
.cards3 .choice small{font-size:13px;color:var(--muted)}
@media (max-width:620px){.cards3{grid-template-columns:1fr}}
.f>label.check{font:400 14.5px/1.55 var(--f-body);color:var(--ink-2)}
.check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:14.5px;color:var(--ink-2);line-height:1.55}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy)}
.check b{color:var(--ink)}
.consents{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:20px;margin-top:4px}
.softnote{font-size:13.5px;color:var(--ink-2);background:var(--chip);border-radius:10px;padding:10px 12px}
.softnote[hidden]{display:none}
.counter{font:500 12px var(--f-mono);color:var(--muted);text-align:right}
.errsum{border:1px solid var(--warn);background:var(--warn-bg);border-radius:12px;padding:14px 16px;margin-bottom:20px}
.errsum h2{font-size:15px;letter-spacing:0;color:var(--warn)}
.errsum ul{margin:8px 0 0;padding-left:18px}
.errsum a{color:var(--warn)}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}
.actions .btn{min-height:46px;font-size:15px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.final{font-size:13.5px;color:var(--ink-2);margin-top:18px}
.rv{display:grid;gap:12px}
.rvcard{border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;gap:10px;background:var(--bg)}
.rvcard header{display:flex;justify-content:space-between;align-items:center}
.rvcard h3{font-size:16px}
.rvcard dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:6px 14px;margin:0;font-size:14px}
.rvcard dt{color:var(--muted)}
.rvcard dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.linkbtn{background:none;border:0;color:var(--accent-2);font:500 14px var(--f-body);cursor:pointer;padding:6px 4px;text-decoration:underline;text-underline-offset:3px}
.confirm{display:grid;gap:18px}
.ref{font:500 14px var(--f-mono);letter-spacing:.08em;color:var(--accent)}
.devcallout{border:1px solid var(--accent-fill);border-left-width:4px;border-radius:12px;padding:14px 16px;font-size:14.5px;color:var(--ink)}
.side{position:sticky;top:92px;display:grid;gap:16px}
.summary{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:12px}
.summary dl{margin:0;display:grid;gap:10px}
.summary .row2{display:grid;gap:2px}
.summary dt{font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.summary dd{margin:0;font-size:14.5px;color:var(--ink)}
.summary dd.empty{color:var(--muted);font-size:0}
.summary dd.empty::before{content:"—";font-size:14.5px;color:var(--muted)}
.side figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.side figure img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.sumbar{display:none}
@media (max-width:980px){
  .apply{grid-template-columns:1fr;gap:20px;padding-block:32px 64px}
  .side{display:none}
  .sumbar{display:block;font:500 12.5px var(--f-mono);color:var(--ink-2);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:20px}
  .prog li span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
dialog{border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);max-width:460px;padding:26px}
dialog::backdrop{background:rgba(7,16,34,.55)}
dialog h2{font-size:22px;margin-bottom:10px}
dialog p{font-size:15px;margin-bottom:18px}
.nojs{border:1px solid var(--warn);border-radius:12px;padding:14px;color:var(--ink)}

/* 404 */
.nf{padding-block:120px;display:grid;gap:20px;justify-items:start}
.nf .code{font:500 14px var(--f-mono);color:var(--accent);letter-spacing:.14em}

/* card bodies with no image or in a pair of unequal height: keep copy at the top */
.duo .card .body,.card.noimg .body{align-content:start}
.duo .card.noimg{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--navy) 5%,var(--surface)))}
.stats.words .stat span{line-height:1.5}
.opt-ill{font:500 11px var(--f-mono);letter-spacing:.06em;color:var(--muted)}

/* ===== P5 (counsel + design review) ===== */
/* Simon H1: secured photo as an r3 wide image under the structure pair */
.wide-img img{object-position:50% 60%}
@media (max-width:620px){.wide-img img{aspect-ratio:3/2}}
/* Simon H2: photographs a stop darker in dark mode */
:root[data-theme="dark"] :is(.card img,.strip img,.phero.img figure img,.figure-r img,.wide-img img,.side figure img){filter:brightness(.86) saturate(.92)}
:root[data-theme="dark"] .xhero>picture img{filter:brightness(.62) saturate(.85)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) :is(.card img,.strip img,.phero.img figure img,.figure-r img,.wide-img img,.side figure img){filter:brightness(.86) saturate(.92)}
  :root:not([data-theme="light"]) .xhero>picture img{filter:brightness(.62) saturate(.85)}
}
/* Simon H3: one-line brand tagline on phones */
.brand b{white-space:nowrap}
@media (max-width:620px){.brand small .xl{display:none}}
/* Simon H4: comparison table stacks per row on phones */
@media (max-width:620px){
  .tablewrap{overflow:visible}
  table.cmp{min-width:0}
  .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cmp tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
  .cmp tr:last-child{border-bottom:0}
  .cmp tbody th{grid-column:1/-1;width:auto;padding:16px 16px 6px;border:0;color:var(--ink)}
  .cmp td{padding:4px 16px 16px;border:0;font-size:14px}
  .cmp td::before{content:attr(data-label);display:block;margin-bottom:4px;font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
}
/* Simon M1: three-line home headline */
@media (min-width:981px){.xhero .wrap{grid-template-columns:minmax(0,700px) 1fr}}
.xhero h1{font-size:clamp(40px,5.4vw,76px)}
/* Simon M2: stats band on phones */
@media (max-width:620px){.stats.words .stat{padding:18px 16px}.stats.words .stat b{font-size:22px}}
/* Simon M3: draw/repay diagram stays in view */
@media (min-width:981px){.split>.states{position:sticky;top:96px}}
/* Simon M4: formula fits a phone */
@media (max-width:620px){.formula{font-size:13px;padding:18px 18px}}
/* Simon M5: industries as a numbered typographic index */
.ind{counter-reset:i}
.ind .card{counter-increment:i}
.ind .card .tag::before{content:counter(i,decimal-leading-zero) "\00a0\00a0";color:var(--accent)}
.ind .card.noimg .body{padding-top:24px}
/* Simon M7: next stages on the confirmation */
.confirm .steps-n{margin-top:4px;counter-reset:s 1}
/* Robert M1/M2/M4: values pending a decision from Joe show as visible placeholders, never as facts */
.tbd{font-family:var(--f-mono);font-size:.92em;border-bottom:1px dashed currentColor;white-space:normal}
/* Robert M4: full ECOA notice on Apply step 4 */
.ecoa-notice{border-top:1px solid var(--line);padding-top:16px;margin-top:4px;display:grid;gap:8px}
.ecoa-notice h3{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ecoa-notice p{font-size:12.5px;line-height:1.6;color:var(--ink-2)}
dialog .ecoa-notice{border-top:0;padding-top:0;margin-top:0}
.consents .hint{font-size:13px;color:var(--muted);margin:6px 0 0 34px}

/* go-live 2026-11-12: honeypot, send error, legal pages */
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.senderr{border:1px solid var(--warn);border-left-width:4px;border-radius:12px;padding:12px 14px;margin:8px 0 0;color:var(--ink);background:color-mix(in srgb,var(--warn) 9%,transparent)}
.legal{padding-block:56px 72px}
.legal article{max-width:74ch}
.legal h1{margin:0 0 12px}
.legal h2{font-size:22px;margin:36px 0 10px}
.legal p,.legal li{color:var(--ink-2);line-height:1.6}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 14px}
.legal ul{padding-left:1.2em;display:grid;gap:6px}
