/* Art direction (taste-skill, direction "type-only-statement", seed 259888281):
   the fault code itself is the monument. Chivo only, stone paper, one blueprint-blue accent.
   No rules, no shadows, no gradients; surfaces separate by tone step. 16px gutters, equal. */

:root{
  --bg:#dfdedb;--surface:#d3d2ce;--ink:#26251e;--muted:#4f4d46;--accent:#2456d6;--accent-ink:#fff;
  --gutter:16px;
  --step-small:clamp(1rem,.98rem + .1vw,1.0625rem);
  --step-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --step-lead:clamp(1.25rem,1.1rem + .7vw,1.625rem);
  --step-head:clamp(2.5rem,1.2rem + 5vw,5.5rem);
  --step-code:clamp(4.5rem,2rem + 17vw,13rem);
  --gap:clamp(64px,10vw,160px);
}
@media (prefers-color-scheme:dark){:root{--bg:#1c1b17;--surface:#2a2924;--ink:#ecebe6;--muted:#b3b1a8;--accent:#8aa8ff;--accent-ink:#14161c}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--step-body)/1.45 "Chivo",system-ui,sans-serif;letter-spacing:-.01em}
a{color:var(--accent);text-underline-offset:.18em}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.site-header,main,.site-footer{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1440px;margin:0 auto}
.site-header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:20px;padding-bottom:20px}
.site-header .brand{font-weight:900;text-transform:uppercase;letter-spacing:-.03em;color:var(--ink);text-decoration:none;font-size:var(--step-body)}
.site-header nav a{margin-left:20px;font-weight:700;color:var(--ink);text-decoration:none}
main{padding-bottom:var(--gap)}
h1,h2,h3{margin:0;font-weight:900;letter-spacing:-.04em;line-height:.95}
h1{font-size:var(--step-lead);line-height:1.1;letter-spacing:-.02em;max-width:26ch;margin-top:12px}
.hub h1,.home h1{font-size:var(--step-head);line-height:.9;text-transform:uppercase;letter-spacing:-.05em;max-width:14ch}
h2{font-size:var(--step-lead);line-height:1.1;letter-spacing:-.02em;margin-bottom:20px}
h3{font-size:var(--step-body);line-height:1.2;letter-spacing:-.01em;margin:20px 0 6px}
p,li{max-width:62ch}
.crumbs{font-size:var(--step-small);color:var(--muted);padding-top:8px}
.crumbs a{color:var(--muted)}
/* the monument: the code as the display panel shows it */
.readout{margin:8px 0 0;font-weight:900;text-transform:uppercase;letter-spacing:-.05em;line-height:.85;font-size:var(--step-code);color:var(--accent);overflow-wrap:anywhere}
.hero-grid{display:grid;gap:24px;margin-top:24px}
.tldr{max-width:44ch;background:var(--surface);padding:20px;font-size:var(--step-lead);line-height:1.3;letter-spacing:-.02em}
.tldr .sev{display:inline-block;margin-top:14px;padding:6px 14px;font-size:var(--step-small);font-weight:700;background:var(--accent);color:var(--accent-ink)}
.tldr .sev-pro{background:var(--ink);color:var(--bg)}
.hero{margin:0}.hero img{display:block;width:100%;height:auto}.hero figcaption{font-size:var(--step-small);color:var(--muted);margin-top:6px}
.section{margin-top:var(--gap)}
.cols{display:grid;gap:32px}
.steps{padding:0;margin:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;padding:20px 0 20px 0;font-size:var(--step-lead);line-height:1.25;letter-spacing:-.02em;font-weight:700}
.steps li+li{margin-top:12px}
ul.plain{list-style:none;padding:0;margin:0}ul.plain li{padding:6px 0}
.causes li{font-size:var(--step-lead);line-height:1.25;font-weight:700;letter-spacing:-.02em;padding:6px 0}
table{border-collapse:separate;border-spacing:0 6px;width:100%;font-size:var(--step-body)}
th{text-align:left;font-size:var(--step-small);font-weight:700;color:var(--muted);padding:6px 14px}
td{background:var(--surface);padding:14px}
.btn,td a.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:12px 18px;font-weight:700;text-decoration:none}
.note{font-size:var(--step-small);color:var(--muted)}
.codelist a{display:block;padding:14px 0;color:var(--ink);text-decoration:none;font-weight:900;font-size:var(--step-lead);letter-spacing:-.03em}
.codelist a span{font-weight:400;color:var(--muted);margin-left:10px;letter-spacing:-.01em}
.codelist a:hover,.codelist a:focus-visible{color:var(--accent)}
.band{background:var(--surface);padding:20px var(--gutter);margin:0 calc(var(--gutter) * -1)}
.lede{font-size:var(--step-lead);line-height:1.3;max-width:34ch;margin:24px 0 0}
.site-footer{color:var(--muted);font-size:var(--step-small);padding-top:24px;padding-bottom:40px;background:var(--surface);max-width:none}
.site-footer p{margin:6px auto;max-width:1408px}
.site-footer a{color:var(--muted)}
@media (min-width:900px){
  :root{--gutter:32px}
  .hero-grid{grid-template-columns:5fr 7fr;align-items:start}
  .cols{grid-template-columns:5fr 7fr}
  .cols>h2{position:sticky;top:16px;align-self:start}
}
@media (prefers-reduced-motion:no-preference){.codelist a,.btn{transition:color .15s,transform .15s}.btn:active{transform:translateY(1px)}}

/* --- taste pass: second visual, tiles, reveal, motion --- */
.visuals{display:grid;gap:16px;align-content:start}
.display{margin:0}.display figcaption{font-size:var(--step-small);color:var(--muted);margin-top:6px}
.display-badge{display:block;width:100%;height:auto;max-width:520px}
.db-bezel{fill:var(--ink)}.db-glass{fill:#0f1a33}
.db-code{fill:#9db8ff;font-family:"Chivo",system-ui,sans-serif;font-weight:900;letter-spacing:-.02em}
.sev-trust{background:var(--surface);color:var(--ink);margin-left:6px}
.tldr .sev{margin-top:14px}
.disclaimer{background:var(--surface);padding:16px;font-size:var(--step-body);max-width:62ch}
.note{font-size:var(--step-small)}
.lede-block .note{margin-top:12px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tile{display:block;background:var(--surface);color:var(--ink);text-decoration:none;overflow:hidden}
.tile picture,.tile img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.tile strong{display:block;padding:12px 12px 0;font-weight:900;font-size:var(--step-lead);letter-spacing:-.03em;line-height:1.05;overflow-wrap:anywhere}
.tile span{display:block;padding:4px 12px 14px;color:var(--muted);font-size:var(--step-small);line-height:1.3}
.tile:hover strong,.tile:focus-visible strong{color:var(--accent)}
.h2link{color:inherit;text-decoration:none}.h2like{font-size:var(--step-lead);line-height:1.1;letter-spacing:-.02em;margin:0}
.brandrow{margin-top:32px}
.lede-block .lede{margin-top:16px}
.hub .hero-grid{margin-top:16px}
.hero img,.tile img{background:var(--surface)}
.reveal{opacity:1}
@media (min-width:600px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.visuals{grid-template-columns:1fr 1fr}.hub .hero-grid,.home .hero-grid{grid-template-columns:5fr 7fr}}
@media (prefers-reduced-motion:no-preference){
  @keyframes settle{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  .readout{animation:settle .7s cubic-bezier(.2,.7,.2,1) both}
  h1{animation:rise .6s .08s cubic-bezier(.2,.7,.2,1) both}
  .tldr{animation:rise .6s .16s cubic-bezier(.2,.7,.2,1) both}
  .display{animation:rise .6s .24s cubic-bezier(.2,.7,.2,1) both}
  .hero{animation:rise .6s .32s cubic-bezier(.2,.7,.2,1) both}
  .lede{animation:rise .6s .16s cubic-bezier(.2,.7,.2,1) both}
  .tile{transition:transform .2s}.tile:hover{transform:translateY(-3px)}.tile:active{transform:translateY(0)}
    .crumbs,.note{animation:rise .6s .1s both}
  .tile,.codegrid a,.reveal{animation:rise .55s both}
  .tile:nth-child(4n+2),.codegrid a:nth-child(4n+2){animation-delay:70ms}
  .tile:nth-child(4n+3),.codegrid a:nth-child(4n+3){animation-delay:140ms}
  .tile:nth-child(4n),.codegrid a:nth-child(4n){animation-delay:210ms}
}

.codegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.codegrid a{display:block;background:var(--surface);color:var(--ink);text-decoration:none;padding:14px 12px;font-weight:900;letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}
.codegrid a span{display:block;font-weight:400;color:var(--muted);font-size:var(--step-small);margin-top:4px;letter-spacing:-.01em}
.codegrid a:hover,.codegrid a:focus-visible{color:var(--accent)}
.hub .hero img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:600px){.codegrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.codegrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1200px){.codegrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
body{color:var(--ink)}.lede,.note{color:var(--ink)}
