
:root{--paper:#0D0D0F;--ink:#F4F2ED;--crimson:#E11B36;--crimdeep:#C41230;--steel:#9B968D;
--line:#2A2A2E;--live:#3FBF7F;--amber:#E09A2D;--build:#9B968D;--maxw:74rem;--prose:46rem}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--ink);font-family:'Archivo',system-ui,sans-serif;
font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--crimson);text-underline-offset:3px}
a:hover{color:var(--crimson)}
a:focus-visible,button:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--crimdeep);color:#fff;
padding:.6rem 1rem;z-index:100;font-family:'IBM Plex Mono',monospace;font-size:.8rem}
.skip:focus{left:0}
/* nav */
.nav{position:sticky;top:0;background:rgba(13,13,15,.92);backdrop-filter:blur(8px);
border-bottom:1px solid var(--line);z-index:50}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:.85rem 1.25rem;display:flex;
align-items:baseline;gap:1.5rem;flex-wrap:wrap}
.nav a{text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:.78rem;
letter-spacing:.04em}
.nav .brand{font-weight:700;font-size:.9rem;color:var(--crimson)}
.nav .links{display:flex;gap:1.1rem;flex-wrap:wrap;margin-left:auto}
.nav .links a[aria-current]{color:var(--crimson)}
/* layout */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
section{border-top:1px solid var(--line);padding:4.5rem 0}
section:first-of-type{border-top:0}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--crimson);margin-bottom:1.1rem}
h1{font-weight:900;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.02;
letter-spacing:-.025em;max-width:22ch}
h2{font-weight:800;font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.12;
letter-spacing:-.015em;margin-bottom:1.4rem;max-width:26ch}
h3{font-weight:700;font-size:1.05rem;margin-bottom:.4rem}
p,li{max-width:var(--prose)}
p+p{margin-top:1rem}
.lede{font-size:1.2rem;line-height:1.55}
.hero{padding:5.5rem 0 4.5rem}
.fade{animation:up 1.21s cubic-bezier(.2,.7,.2,1) both}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.fade{animation:none}}
/* buttons */
.btns{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2rem}
.btn{display:inline-block;padding:.8rem 1.3rem;text-decoration:none;
font-family:'IBM Plex Mono',monospace;font-size:.82rem;letter-spacing:.03em;border:1.5px solid var(--ink)}
.btn.red{background:var(--crimdeep);border-color:var(--crimdeep);color:#fff}
.btn.red:hover{background:var(--crimson)}
.btn:hover{background:var(--ink);color:var(--paper)}
/* ledger (signature element) */
.ledger{border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line);
font-family:'IBM Plex Mono',monospace;font-size:.85rem;margin:2.5rem 0}
.ledger .row{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;
padding:.7rem 0;border-top:1px solid var(--line)}
.ledger .row:first-child{border-top:0}
.ledger .k{color:var(--steel)}
.ledger .v{font-weight:600}
.ledger .v .red{color:var(--crimson)}
/* chips */
.chip{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.68rem;
letter-spacing:.08em;padding:.15rem .5rem;border:1px solid currentColor;border-radius:2px;
vertical-align:2px;margin-left:.5rem}
.chip.live{color:var(--live)}.chip.con{color:var(--amber)}
.chip.build{color:var(--build)}.chip.plan{color:var(--build)}
/* grids */
.grid{display:grid;gap:2rem;margin-top:2rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.card{border-top:1.5px solid var(--ink);padding-top:1rem}
.card .n{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--crimson);
letter-spacing:.1em;display:block;margin-bottom:.5rem}
.card p{font-size:.98rem}
.card a.more{font-family:'IBM Plex Mono',monospace;font-size:.8rem}
/* criteria list */
.crit{border-top:1.5px solid var(--ink);margin-top:2rem}
.crit>div{border-bottom:1px solid var(--line);padding:1.6rem 0}
.crit .num{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--crimson);
letter-spacing:.1em}
.crit h3{font-size:1.25rem;margin:.3rem 0 .5rem}
.note{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--steel);
margin-top:.7rem;max-width:60ch}
/* pull quote */
.pull{border-left:3px solid var(--crimson);padding:.4rem 0 .4rem 1.4rem;margin:2.5rem 0;
font-size:1.25rem;line-height:1.5;font-weight:500;max-width:38rem}
.pull .who{display:block;margin-top:.8rem;font-family:'IBM Plex Mono',monospace;
font-size:.78rem;font-weight:400;color:var(--steel)}
/* stat strip */
.stats{display:flex;gap:2.5rem;flex-wrap:wrap;border-top:1.5px solid var(--ink);
border-bottom:1px solid var(--line);padding:1.4rem 0;margin:2.5rem 0}
.stats div{min-width:7rem}
.stats .big{font-weight:900;font-size:2rem;letter-spacing:-.02em;line-height:1.1}
.stats .lab{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--steel);
letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem}
/* changelog table */
table{border-collapse:collapse;width:100%;margin-top:2rem;font-size:.95rem}
th{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;
text-transform:uppercase;text-align:left;color:var(--crimson);
border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line);padding:.7rem .8rem .7rem 0}
td{border-bottom:1px solid var(--line);padding:.9rem .8rem .9rem 0;vertical-align:top}
td.now{font-weight:600}
/* faq */
.faq div{border-top:1px solid var(--line);padding:1.4rem 0}
.faq h3{font-size:1.05rem}
/* geo tool */
.tool{border:1.5px solid var(--ink);padding:2rem;margin:2.5rem 0;max-width:40rem}
.tool p{font-size:.95rem}
/* traffic mix */
.mix{display:flex;height:14px;border:1px solid var(--line);margin:1.5rem 0 .6rem;max-width:40rem}
.mix i{display:block;height:100%}
.mixlab{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--steel);
display:flex;gap:1.6rem;flex-wrap:wrap}
.mixlab b{color:var(--ink)}
/* jennifer read widget */
.jread{border:1.5px solid var(--line);padding:1.6rem;max-width:26rem;
font-family:'IBM Plex Mono',monospace;font-size:.85rem;margin:2.5rem 0}
.jread .jt{color:var(--steel);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.jread .jv{font-weight:600;font-size:1.05rem;margin:.5rem 0 1rem;color:var(--ink)}
.jread .row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:.55rem 0}
.jread .ok{color:var(--live)}
.jread .sum{margin-top:1rem;color:var(--live)}
/* footer */
footer{border-top:1.5px solid var(--ink);margin-top:5rem;padding:3rem 0 4rem;
font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--steel)}
footer .sig{color:var(--ink);font-weight:600;margin-bottom:.6rem}
footer p{max-width:60rem}
footer .legal{margin-top:1.6rem;font-size:.72rem;line-height:1.7}
footer a{color:inherit}
/* misc */
.small{font-size:.9rem;color:var(--steel)}
hr.mini{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
.big404{font-family:'IBM Plex Mono',monospace;font-weight:600;
font-size:clamp(3rem,12vw,7rem);letter-spacing:.05em;color:var(--crimson)}
