/* ATCSTW design system — Paper/Ink. Tokens: assets/tokens.json
   Grotesk for prose. Monospace for every figure, ID, price, and source stamp.
   Signal Red #C1121F is rationed: Lux connections, alerts, the Lux mark. */
:root{
  --ink:#16161a; --paper:#f4f2ed; --card:#ffffff;
  --graphite-700:#3f3f46; --graphite-500:#71717a;
  --hairline:#d8d4cc; --red:#c1121f;
  --mono:"SF Mono","IBM Plex Mono",Menlo,Consolas,monospace;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
.mono{font-family:var(--mono)}
.stamp{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--graphite-500);text-transform:uppercase}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* header */
header.site{border-bottom:2px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:10}
.hd{display:flex;align-items:center;gap:18px;padding:12px 0}
.hd .mark{flex:none;display:flex;align-items:center;gap:12px;text-decoration:none}
.hd .wordmark{font-weight:800;font-size:24px;letter-spacing:5px;line-height:1}
.hd .descriptor{font-family:var(--mono);font-size:9.5px;letter-spacing:3.2px;color:var(--graphite-700);margin-top:4px}
nav.main{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap}
nav.main a{text-decoration:none;font-size:14.5px;font-weight:600;color:var(--graphite-700)}
nav.main a.on,nav.main a:hover{color:var(--ink);box-shadow:inset 0 -2px 0 var(--red)}
.hd .cta{flex:none}
@media(max-width:760px){nav.main{display:none}.hd .wordmark{font-size:20px}}

/* buttons */
.btn{display:inline-block;padding:11px 20px;border:2px solid var(--ink);font-weight:700;font-size:15px;text-decoration:none;background:var(--ink);color:var(--paper)}
.btn:hover{background:var(--paper);color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.small{padding:7px 14px;font-size:13.5px}

/* hero + sections */
.hero{padding:64px 0 8px}
.hero h1{font-size:52px;line-height:1.04;letter-spacing:-.5px;margin:14px 0 6px;font-weight:800}
.hero .tag{font-size:26px;font-weight:700;margin:0 0 18px}
.hero p.lede{font-size:19px;color:var(--graphite-700);max-width:46em;margin:0 0 26px}
section{padding:44px 0 8px}
h2.sec{font-size:30px;font-weight:800;letter-spacing:-.3px;margin:0 0 10px}
p.secsub{color:var(--graphite-700);max-width:44em;margin:0 0 22px}
.kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:3px;color:var(--graphite-500);text-transform:uppercase}

/* cards + grids */
.grid{display:grid;gap:16px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.grid.c3,.grid.c2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--hairline);padding:22px}
.card h3{margin:0 0 8px;font-size:19px}
.card p{margin:0 0 12px;color:var(--graphite-700);font-size:15.5px}
.card .links{font-size:14px;font-weight:600}
.lux{color:var(--red);font-weight:700}

/* tables */
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--hairline);font-size:15px}
th{font-family:var(--mono);font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;text-align:left;color:var(--graphite-700);border-bottom:2px solid var(--ink);padding:10px 14px}
td{border-bottom:1px solid var(--hairline);padding:10px 14px;vertical-align:top}
tr:last-child td{border-bottom:none}
td.mono,th.mono{font-family:var(--mono);font-size:13.5px}
.pack{font-family:var(--mono);font-size:10.5px;letter-spacing:1px;border:1px solid var(--ink);padding:2px 7px;white-space:nowrap}
.method{font-family:var(--mono);font-weight:700;font-size:13px}

/* pricing */
.price{font-family:var(--mono);font-size:30px;font-weight:700}
.price small{font-size:14px;color:var(--graphite-500)}
.tier h3{font-size:17px;margin:0}
.tier .who{color:var(--graphite-700);font-size:14.5px;min-height:44px}
.tier ul{margin:12px 0;padding-left:18px;font-size:14.5px;color:var(--graphite-700)}
.pop{border:2px solid var(--ink)}
.popflag{font-family:var(--mono);font-size:10.5px;letter-spacing:2px;color:var(--red);font-weight:700}

/* chain motif strip */
.chain{background:var(--card);border:1px solid var(--hairline);padding:18px;text-align:center}
.chain img{max-width:100%;height:auto}

/* figures strip */
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:860px){.figs{grid-template-columns:repeat(2,1fr)}}
.fig{background:var(--card);border:1px solid var(--hairline);padding:18px}
.fig .v{font-family:var(--mono);font-size:26px;font-weight:700}
.fig .k{font-size:13.5px;color:var(--graphite-700);margin-top:2px}

/* forms */
label{display:block;font-weight:600;font-size:14.5px;margin:16px 0 6px}
input,select{width:100%;padding:11px 12px;border:1.5px solid var(--graphite-700);background:#fff;font-size:15.5px;font-family:var(--sans)}
input:focus,select:focus{outline:2px solid var(--ink);outline-offset:1px}
.keybox{font-family:var(--mono);background:var(--ink);color:var(--paper);padding:16px;font-size:14px;word-break:break-all}

/* prose pages (terms, methodology...) */
.prose{max-width:46em}
.prose h2{font-size:23px;margin:34px 0 8px}
.prose h3{font-size:18px;margin:24px 0 6px}
.prose p,.prose li{color:#26262b}
.prose .shortver{background:var(--card);border:1px solid var(--hairline);border-left:4px solid var(--red);padding:16px 20px}
.roadmap{font-family:var(--mono);font-size:10.5px;letter-spacing:1.5px;border:1px solid var(--graphite-500);color:var(--graphite-700);padding:2px 7px}

/* footer */
footer.site{border-top:2px solid var(--ink);margin-top:64px;padding:30px 0 44px}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:22px}
@media(max-width:860px){.ft{grid-template-columns:1fr 1fr}}
.ft h4{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--graphite-500);margin:0 0 10px;text-transform:uppercase}
.ft a{display:block;text-decoration:none;font-size:14.5px;padding:2.5px 0;color:var(--graphite-700)}
.ft a:hover{color:var(--ink)}
.ft .legal{grid-column:1/-1;border-top:1px solid var(--hairline);padding-top:16px;font-size:13px;color:var(--graphite-500)}
.design-note{background:#fff8e6;border:1px dashed var(--graphite-500);padding:10px 14px;font-size:13.5px;color:var(--graphite-700);margin:18px 0}
