/* Fintech Lab hub — the parent masthead. Newsreader + Plex Sans + Plex Mono, ink on paper, verified green as the one accent. */
:root{--paper:#F7F6F2;--surface:#fff;--tint:#EEEDE7;--ink:#14161A;--ink2:#3C3F46;--mute:#686B72;--line:#E1DFD8;--line2:#C9C6BC;--ok:#0F7A4A;--cobalt:#1B3F8F;--violet:#4B2E83;--gold:#B07D0A;--r:4px;--fd:"Newsreader",Georgia,serif;--fs:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--fm:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:16.5px/1.6 var(--fs);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:var(--ink);text-underline-offset:3px}a:hover{color:var(--ok)}
:focus-visible{outline:2px solid var(--ok);outline-offset:2px}
.skip{position:absolute;left:-999px;width:1px;height:1px;overflow:hidden}.skip:focus{left:8px;top:8px;width:auto;height:auto;background:var(--ink);color:#fff;padding:8px 12px;z-index:99}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--fd);font-weight:500;letter-spacing:-.015em;line-height:1.1;margin:0 0 .4em}
h1{font-size:clamp(2.4rem,5.2vw,4rem);letter-spacing:-.025em;max-width:16ch}h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}h3{font-size:1.4rem;font-weight:600}
.kicker{display:block;font:500 12px/1.4 var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:0 0 14px}
.lede{font-size:1.15rem;color:var(--ink2);max-width:58ch;margin:0 0 26px}.sub{color:var(--ink2);max-width:62ch;margin:0}
.fine{font-size:13px;color:var(--mute)}.note{font-size:14px;color:var(--mute);margin:18px 0 0}
.c-mint{color:var(--ok)}.c-gold{color:var(--gold)}.c-violet{color:var(--violet)}.c-cobalt{color:var(--cobalt)}
section{padding:64px 0}
/* header */
header.nav{background:var(--paper);border-bottom:1px solid var(--ink);position:sticky;top:0;z-index:30}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand span{font-family:var(--fd);font-size:1.35rem;font-weight:600;letter-spacing:-.01em}
header nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}header nav a{text-decoration:none;color:var(--ink2);font-size:15px}header nav a:hover{color:var(--ink);text-decoration:underline}header nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--ok);text-decoration-thickness:2px}
header nav a.btn{color:#fff}
@media (max-width:640px){.hide-sm{display:none}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 15px/1.2 var(--fs);padding:11px 18px;border-radius:var(--r);border:1px solid var(--ink);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn-ink,header nav a.btn{background:var(--ink);color:#fff}.btn-ink:hover,header nav a.btn:hover{background:#2F3238;color:#fff;text-decoration:none}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line2)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.ctas{display:flex;flex-wrap:wrap;gap:10px}
/* hero */
.hero{padding:64px 0 56px;border-bottom:1px solid var(--line)}
.hero>.wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start}
@media (max-width:920px){.hero>.wrap{grid-template-columns:1fr;gap:40px}.hero{padding-top:40px}}
.stack{border-top:3px solid var(--ink);padding-top:14px}
.proof{padding:16px 0;border-bottom:1px solid var(--line)}
.proof .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.proof .site{font:500 12px var(--fm);letter-spacing:.05em;text-transform:uppercase;color:var(--mute)}
.proof .num{font-family:var(--fd);font-size:1.5rem;font-weight:500}.proof .num small{font-size:.9rem;color:var(--mute)}
.proof .big{font-size:1.02rem;color:var(--ink);margin:4px 0 6px}.stamp{display:inline-flex;align-items:center;gap:6px;font:500 12px var(--fm);color:var(--ok)}
/* sites */
.sec-head{margin-bottom:28px}.sec-head h2{margin-bottom:8px}
.props{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.prop{padding:26px 28px 28px 0;display:flex;flex-direction:column;gap:10px}.prop+.prop{padding-left:28px;border-left:1px solid var(--line)}
.prop .tile{line-height:0}.aud{font:500 12px var(--fm);letter-spacing:.05em;text-transform:uppercase;color:var(--mute)}.prop h3{margin:0}.prop p{margin:0;color:var(--ink2)}
.prop ul{margin:4px 0 8px;padding-left:18px;color:var(--ink2);font-size:15px}.prop li{margin:3px 0}
.go{margin-top:auto;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}
.prop.cobalt .go{text-decoration-color:var(--cobalt)}.prop.violet .go{text-decoration-color:var(--violet)}.prop.gold .go{text-decoration-color:var(--gold)}
@media (max-width:860px){.props{grid-template-columns:1fr}.prop,.prop+.prop{padding:24px 0;border-left:0;border-top:1px solid var(--line)}.prop:first-child{border-top:0}}
/* pillars */
.light{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.pillar .ic{display:block;font:500 12px var(--fm);letter-spacing:.06em;color:var(--ok);margin-bottom:10px;padding-top:12px;border-top:1px solid var(--ink)}.pillar p{margin:0;color:var(--ink2)}
@media (max-width:860px){.pillars{grid-template-columns:1fr;gap:28px}}
/* signup */
.signup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 56px;border-top:1px solid var(--ink);padding-top:28px}
.field{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.field input{flex:1 1 220px;min-width:0;font:inherit;padding:11px 12px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface);color:var(--ink)}.field input:focus{outline:none;border-color:var(--ok);box-shadow:0 0 0 3px rgba(15,122,74,.15)}
.msg{margin:8px 0 0}
.briefs{border:0;margin:0;padding:0;display:flex;flex-direction:column}
.brief{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}.brief:first-of-type{border-top:1px solid var(--line)}.brief input{accent-color:var(--ink);margin-top:5px;width:16px;height:16px;flex:none}
.brief b{display:flex;justify-content:space-between;gap:10px;font-weight:600}.brief span{display:block;color:var(--ink2);font-size:15px}.when{font:500 12px var(--fm)!important;display:inline!important}
@media (max-width:860px){.signup{grid-template-columns:1fr}}
/* band */
.band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ok);padding:26px 28px;border-radius:0 var(--r) var(--r) 0}.band h2{font-size:1.7rem}
/* advertise */
.ph{padding:56px 0 40px;border-bottom:1px solid var(--line)}.ph h1{max-width:20ch}
.aud3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--ink);padding-top:20px}
.audc h3{display:flex;align-items:center;gap:10px;font-size:1.2rem}.audc p{margin:0;color:var(--ink2);font-size:15px}.dot{width:10px;height:10px;border-radius:2px;display:inline-block;flex:none}
@media (max-width:860px){.aud3{grid-template-columns:1fr;gap:20px}}
.plans{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.plan{padding:24px 26px 26px 0;display:flex;flex-direction:column;gap:8px}.plan+.plan{padding-left:26px;border-left:1px solid var(--line)}
.plan.hot{background:var(--surface);padding-left:26px;padding-right:26px;border-top:3px solid var(--ok);margin-top:-1px}
.ribbon{font:500 11.5px var(--fm);letter-spacing:.05em;text-transform:uppercase;color:var(--ok)}
.plan h3{margin:0}.price{font-family:var(--fd);font-size:2.8rem;font-weight:500;line-height:1;margin-top:6px}.price small{font:400 15px var(--fs);color:var(--mute)}
.was{font:500 12.5px var(--fm);color:var(--mute)}.plan ul{padding-left:18px;margin:6px 0 14px;color:var(--ink2);font-size:15px}.plan .btn{margin-top:auto}
@media (max-width:900px){.plans{grid-template-columns:1fr}.plan,.plan+.plan{padding:24px 0;border-left:0;border-top:1px solid var(--line)}.plan.hot{padding:24px 20px}}
.tblw{overflow-x:auto;border-top:1px solid var(--ink)}.tbl{width:100%;border-collapse:collapse;font-size:15px}.tbl th,.tbl td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font:500 12px var(--fm);letter-spacing:.05em;text-transform:uppercase;color:var(--mute)}.tbl td:first-child{font-weight:600;white-space:nowrap}.tbl .n{font-family:var(--fm);font-size:14px;white-space:nowrap}
.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;border-top:1px solid var(--ink)}.rule{padding:16px 0;border-bottom:1px solid var(--line)}.rule b{display:block;margin-bottom:2px}.rule span{color:var(--ink2);font-size:15px}
@media (max-width:760px){.rules{grid-template-columns:1fr}}
details{border-bottom:1px solid var(--line);padding:14px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600}details p{margin:8px 0 0;color:var(--ink2)}
.prose{max-width:760px}.prose li{margin:8px 0;color:var(--ink2)}.prose p{color:var(--ink2)}
/* footer */
footer{background:var(--surface);border-top:1px solid var(--ink);padding:44px 0 28px;font-size:14.5px;color:var(--ink2)}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:32px}.fabout{margin:12px 0 0;max-width:40ch;color:var(--mute)}
footer h4{font:500 12px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0 0 10px}footer ul{list-style:none;margin:0;padding:0}footer li{margin:5px 0}footer a{color:var(--ink2);text-decoration:none}footer a:hover{text-decoration:underline;color:var(--ink)}
.legal{border-top:1px solid var(--line);margin:28px 0 0;padding-top:16px;font-size:13px;color:var(--mute)}
@media (max-width:760px){.fgrid{grid-template-columns:1fr 1fr}.fgrid>div:first-child{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* hub brief links */
ul.briefs{list-style:none}.briefs a.brief{border-top:0}a.brief{color:inherit;text-decoration:none}a.brief:hover b{text-decoration:underline;text-underline-offset:3px}a.brief:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.briefs li:first-child a.brief{border-top:1px solid var(--line)}.brief div{flex:1}
