/* Prototype v2 — thefire.computer (2026-10-18).
   Type scale: one ratio, 1.333 (perfect fourth) from 16px.
   Steps: 12 · 16 · 21.33 · 28.43 · 37.9 · 50.52 · 67.34 · 89.76
   Title = step 7 desktop / step 5 mobile, weight 600. Subtitle = step 2→3, weight 400, muted, flush under the title.
   Colour: --lit marks Canada now. Comparison values are bone-2. Nothing is coloured as good or bad. */
@font-face{font-family:'Satoshi';src:url(/assets/satoshi-variable.ttf) format('truetype-variations');font-weight:300 900;font-style:normal;font-display:swap}
:root{--ground:#0a0a0b;--ground-2:#0f0f10;--raise:#141416;--rule:#232326;--bone:#ece7dd;--bone-2:#b9b3a8;--muted:#807b72;--dim:#57544e;--lit:#ffcf8a;
  --s0:.75rem;--s1:1rem;--s2:1.333rem;--s3:1.777rem;--s4:2.369rem;--s5:3.157rem;--s6:4.209rem;--s7:5.61rem}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--bone);font-family:Satoshi,system-ui,sans-serif;font-weight:400;
  font-size:var(--s1);line-height:1.55;letter-spacing:-.011em;font-variant-numeric:tabular-nums}
em,i,cite{font-style:normal}
a{color:inherit;text-decoration-color:var(--dim);text-underline-offset:.2em}
a:hover{text-decoration-color:var(--lit)}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.25rem}

/* nav: logo left, links right; under 760px the links collapse into a hamburger */
header.top{position:sticky;top:0;z-index:10;background:rgba(10,10,11,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:500;letter-spacing:-.03em;font-size:var(--s1)}
.brand img{height:22px;width:auto;display:block}
.brand span{color:var(--muted)}
header.top nav{display:flex;gap:1.75rem;font-size:.875rem;color:var(--bone-2)}
header.top nav a{text-decoration:none}
header.top nav a:hover{color:var(--bone)}
.burger{display:none;width:40px;height:40px;margin-right:-8px;background:none;border:0;padding:0;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--bone);transition:transform .2s,opacity .2s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:23px}
.open .burger span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.open .burger span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.sheet{display:none}
@media (max-width:760px){
  header.top nav{display:none}
  .burger{display:block}
  .open .sheet{display:flex;flex-direction:column;position:fixed;inset:60px 0 0 0;background:var(--ground);padding:1.5rem 1.25rem;gap:.25rem;z-index:9}
  .sheet a{font-size:var(--s4);font-weight:600;letter-spacing:-.035em;text-decoration:none;padding:.35rem 0}
}

/* header */
.hero{text-align:center;padding:clamp(4.5rem,13vw,8.5rem) 0 clamp(3.5rem,9vw,6rem)}
.hero h1{margin:0;font-weight:600;font-size:clamp(var(--s5),9.5vw,var(--s7));line-height:1;letter-spacing:-.045em}
.hero .sub{margin:0;font-size:clamp(1.125rem,2.2vw,var(--s2));line-height:1.4;color:var(--muted);letter-spacing:-.015em;max-width:34rem;margin-inline:auto}
.lab{font-size:var(--s0);text-transform:uppercase;letter-spacing:.16em;font-weight:500;color:var(--muted)}

/* sections */
section{padding:clamp(3rem,8vw,5rem) 0;border-top:1px solid var(--rule)}
.sechead{text-align:center;margin-bottom:clamp(2rem,5vw,3rem)}
.sechead h2{margin:0;font-weight:600;font-size:clamp(var(--s3),4.2vw,var(--s5));line-height:1.05;letter-spacing:-.04em}
.sechead p{margin:0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.125rem)}

/* square cards */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.sq{aspect-ratio:1/1;background:var(--ground-2);border:1px solid var(--rule);display:flex;flex-direction:column;padding:clamp(1.25rem,3.4vw,2.25rem);text-decoration:none;position:relative;overflow:hidden;container-type:inline-size}
a.sq:hover{border-color:var(--dim)}
.sq .k{font-size:clamp(.66rem,2.3cqi,.8rem);text-transform:uppercase;letter-spacing:.16em;font-weight:500;color:var(--muted)}
.sq .head{margin:.6em 0 0;font-weight:600;font-size:clamp(1.15rem,6cqi,2.1rem);line-height:1.1;letter-spacing:-.035em;color:var(--bone)}
.sq .viz{flex:1;display:flex;align-items:flex-end;gap:7cqi;padding:6cqi 0 4cqi;min-height:0}
.sq .foot{display:flex;justify-content:space-between;align-items:center;font-size:clamp(.66rem,2.3cqi,.8rem);color:var(--muted);border-top:1px solid var(--rule);padding-top:3.5cqi}
.sq .foot img{height:1.35em;width:auto;opacity:.9;display:block}
.sq .foot .mark{display:flex;align-items:center;gap:.45em;color:var(--bone-2)}
/* bar pair */
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}
.bar .v{font-weight:600;font-size:clamp(1.6rem,11cqi,4.2rem);line-height:1;letter-spacing:-.05em;color:var(--bone-2)}
.bar .l{font-size:clamp(.7rem,2.8cqi,.95rem);color:var(--muted);margin:.35em 0 .7em;line-height:1.25}
.bar .b{background:var(--dim);width:100%}
.bar.now .v{color:var(--lit)}.bar.now .b{background:var(--lit)}
/* dot field: 700 dots, one lit */
.dots{display:grid;grid-template-columns:repeat(35,1fr);gap:.9cqi;width:100%;align-self:center}
.dots i{aspect-ratio:1;border-radius:50%;background:var(--dim)}
.dots i.on{background:var(--lit);box-shadow:0 0 2.2cqi var(--lit)}
.big{font-weight:600;font-size:clamp(2.2rem,17cqi,6.5rem);line-height:.95;letter-spacing:-.055em;color:var(--lit)}

/* claims */
.claimcard{display:block;border:1px solid var(--rule);padding:clamp(1.25rem,3.4vw,2.25rem);text-decoration:none;max-width:44rem;margin:0 auto;background:var(--ground-2)}
.claimcard:hover{border-color:var(--dim)}
.claimcard .q{font-size:clamp(1.15rem,2.6vw,var(--s3));font-weight:600;letter-spacing:-.03em;line-height:1.2;margin:.6rem 0 1.1rem}
.tally{display:flex;gap:.5rem;flex-wrap:wrap}
.tag{font-size:var(--s0);text-transform:uppercase;letter-spacing:.14em;font-weight:500;padding:.3rem .55rem;border:1px solid var(--rule);color:var(--bone-2)}
.tag.holds{border-color:var(--bone-2);color:var(--bone)}
.tag.no{color:var(--muted)}
.gap{border:1px dashed var(--dim);padding:1.4rem 1.5rem;color:var(--muted);max-width:44rem;margin:2rem auto 0;text-align:center}
.gap strong{color:var(--bone-2);font-weight:500}
footer{border-top:1px solid var(--rule);padding:2rem 0 3rem;font-size:.8rem;color:var(--muted);text-align:center}

/* claim page */
.claimquote{font-size:clamp(1.25rem,3vw,var(--s3));font-weight:500;letter-spacing:-.025em;line-height:1.3;margin:2rem auto 0;max-width:40rem;color:var(--bone-2)}
.origin{font-size:.875rem;color:var(--muted);margin:1rem auto 0;max-width:34rem}
.rows{border-top:1px solid var(--rule);max-width:56rem;margin:0 auto}
.row{display:grid;grid-template-columns:13rem 8.5rem 1fr;gap:1.5rem;padding:1.6rem 0;border-bottom:1px solid var(--rule);align-items:start}
.row .claim{font-weight:600;font-size:1.1rem;letter-spacing:-.02em}
.row .body p{margin:0 0 .6rem;color:var(--bone-2)}
.row .src{font-size:.8rem;color:var(--muted)}
.summary{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:56rem;margin:0 auto}
.summary h3{font-weight:600;font-size:var(--s2);margin:0 0 .4rem;letter-spacing:-.03em}
.summary p{color:var(--bone-2);margin:0}

@media (max-width:760px){
  .cards,.summary{grid-template-columns:1fr}
  .row{grid-template-columns:1fr;gap:.5rem}
}
