/* Genesis site. Same language as the investigation console: ink, bone, blood; Big Shoulders + blackletter + JetBrains Mono.
   Static pages, no scripts, no ambient motion. */
:root{
  --ink:#03070a; --ink2:#060d13; --ink3:#0a141c; --bone:#dce5ea; --bone2:#b9c6cd; --ash:#7f8e97; --dust:#24313b; --dust2:#33434f;
  --line:rgba(190,215,228,.11); --line2:rgba(190,215,228,.22);
  --blood:#b3121b; --blood2:#e3252f; --blood-ink:#2a0507;
  --heavy:'Big Shoulders Display',Impact,'Arial Narrow',sans-serif; --black:'UnifrakturMaguntia',serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gut:32px; --max:1180px; --top:60px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--bone);font:400 15px/1.65 var(--mono);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
::selection{background:var(--blood);color:var(--bone)}
:focus-visible{outline:1px solid var(--blood2);outline-offset:3px}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.bl{font-family:var(--black);text-transform:none;letter-spacing:0}
.red{color:var(--blood2)} .ash{color:var(--ash)} .num{font-variant-numeric:tabular-nums}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--bone);color:var(--ink);padding:8px 12px;font:500 12px var(--mono)}
.skip:focus{top:12px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}

/* top bar */
.site{position:sticky;top:0;z-index:100;background:rgba(3,7,10,.95);border-bottom:1px solid var(--line)}
.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--top);flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;font:800 14px var(--heavy);letter-spacing:.32em;text-transform:uppercase}
.brand .bl{font-size:30px;line-height:1}
.nav{display:flex;flex-wrap:wrap}
.nav a{color:var(--ash);text-decoration:none;padding:8px 14px;border-left:1px solid var(--line)}
.nav a:last-child{border-right:1px solid var(--line)}
.nav a:hover{color:var(--bone)}
.nav a[aria-current="page"]{color:var(--bone);box-shadow:inset 0 -2px 0 var(--blood2)}

/* type */
h1{font:900 clamp(46px,8.4vw,128px)/.88 var(--heavy);text-transform:uppercase;letter-spacing:-.01em}
h2{font:800 clamp(32px,4.4vw,64px)/.92 var(--heavy);text-transform:uppercase}
h3{font:700 22px/1.1 var(--heavy);text-transform:uppercase;letter-spacing:.03em}
p+p{margin-top:14px}
.lede{max-width:860px;font:500 clamp(18px,1.9vw,26px)/1.38 var(--heavy);letter-spacing:.02em;text-transform:uppercase;color:var(--bone2)}
.lede b{color:var(--bone);font-weight:700} .lede em{font-style:normal;color:var(--blood2)}
.kick{color:var(--ash);margin-bottom:18px} .kick i{font-style:normal;color:var(--blood2)}
.copy{max-width:760px;color:var(--bone2)} .copy b{color:var(--bone);font-weight:500}
.small{font-size:12.5px;line-height:1.75;color:var(--ash);max-width:820px} .small b{color:var(--bone2);font-weight:500}

/* blocks */
.hero{padding:96px 0 56px}
.hero h1{margin:6px 0 30px -.03em}
.block{padding:76px 0;border-top:1px solid var(--line)}
.block>.wrap>h2{margin:0 0 30px}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.btn{display:inline-block;border:1px solid var(--line2);padding:14px 22px;text-decoration:none;color:var(--bone)}
.btn:hover{border-color:var(--bone)}
.btn.pri{background:var(--blood);border-color:var(--blood);color:var(--bone)} .btn.pri:hover{background:var(--blood2);border-color:var(--blood2)}

/* strip + stats */
.strip{display:block;width:100%;height:auto;margin:10px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.stat{padding:28px 24px 26px 0}
.stat+.stat{padding-left:24px;border-left:1px solid var(--line)}
.stat b{display:block;font:900 clamp(40px,5.2vw,76px)/.95 var(--heavy);letter-spacing:-.005em}
.stat b em{font-style:normal;color:var(--blood2)}
.stat span{display:block;margin-top:10px;color:var(--ash)}
.stat small{display:block;margin-top:6px;color:var(--ash);font-size:12px;line-height:1.5}

/* grids + cards */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.cols.two{grid-template-columns:repeat(2,1fr)} .cols.four{grid-template-columns:repeat(4,1fr)}
.card{padding:28px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -1px -1px 0}
.card .n{font:900 56px/.8 var(--heavy);color:var(--dust);margin-bottom:16px;display:block}
.card h3{margin-bottom:12px}
.card p{color:var(--bone2);font-size:14px}
.steps{border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:96px 1fr 1fr;gap:28px;padding:34px 0;border-bottom:1px solid var(--line)}
.step .n{font:900 72px/.8 var(--heavy);color:var(--dust)}
.step h3{margin-bottom:10px}
.step p{color:var(--bone2);font-size:14px}
.step .proof{color:var(--ash);font-size:12.5px;line-height:1.75;border-left:1px solid var(--line);padding-left:20px}
.step .proof b{color:var(--bone2);font-weight:500}

/* tables + chips */
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{text-align:left;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ash);padding:10px 14px 10px 0;border-bottom:1px solid var(--line2)}
.tbl td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--bone2)}
.tbl td:first-child{color:var(--bone)}
.chip{display:inline-block;padding:2px 8px;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line2);color:var(--ash);white-space:nowrap}
.chip.supported{background:var(--blood);border-color:var(--blood);color:var(--bone)}
.chip.partial{border-color:var(--blood2);color:var(--blood2)}
.chip.rejected{color:var(--ash);text-decoration:line-through}
.list{list-style:none;border-top:1px solid var(--line)}
.list li{padding:14px 0;border-bottom:1px solid var(--line);color:var(--bone2);display:grid;grid-template-columns:28px 1fr;gap:10px}
.list li::before{content:"\2715";color:var(--blood2);font-size:12px;padding-top:3px}
.list.yes li::before{content:"\2713";color:var(--bone)}
.callout{border:1px solid var(--line2);border-left:3px solid var(--blood);padding:22px 26px;background:var(--ink2);max-width:900px}
.callout p{color:var(--bone2)}

/* footer */
footer{border-top:1px solid var(--line);padding:44px 0 60px;color:var(--ash)}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
footer a{text-decoration:none;display:block;padding:3px 0} footer a:hover{color:var(--bone)}
footer p{font-size:12.5px;line-height:1.75;max-width:520px}

@media (max-width:860px){
  :root{--gut:20px}
  .stats{grid-template-columns:1fr 1fr} .stat:nth-child(3){border-left:0;padding-left:0}
  .cols,.cols.two,.cols.four{grid-template-columns:1fr}
  .step{grid-template-columns:1fr;gap:12px} .step .proof{border-left:0;padding-left:0}
  footer .wrap{grid-template-columns:1fr}
  .nav a{padding:8px 10px}
  .hero{padding-top:56px}
}
