@font-face{font-family:'Inter';src:url('../fonts/inter-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter-700.ttf') format('truetype');font-weight:700 800;font-style:normal;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('../fonts/space-grotesk-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('../fonts/space-grotesk-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('../fonts/space-grotesk-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
  :root{
    --paper:#0f1512; --paper2:#141b18; --card:#18211d; --cardline:#25322c;
    --ink:#f4f2ec; --muted:#a7b0a8; --dim:#7d867e;
    --teal:#3fbfa8; --teal-d:#0b5c53; --red:#ff6a52; --red-d:#b42318;
    --gold:#e8b04b; --sage:#9cc38a;
    --maxw:820px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{font-family:'Space Grotesk',Georgia,serif;line-height:1.08;margin:0;font-weight:600;letter-spacing:-.01em}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
  .kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:700}

  a{color:inherit}
  :focus-visible{outline:3px solid var(--teal);outline-offset:3px}
  .skip-link{
    position:fixed;z-index:999;top:12px;left:12px;transform:translateY(-150%);
    border-radius:8px;background:var(--ink);color:var(--paper);padding:10px 14px;
    font-weight:800;text-decoration:none;transition:transform .18s ease;
  }
  .skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}

  /* ambient glow */
  .glow{position:fixed;inset:0;z-index:0;pointer-events:none;
    background:
      radial-gradient(60% 40% at 15% 0%,rgba(63,191,168,.10),transparent 70%),
      radial-gradient(55% 45% at 90% 12%,rgba(255,106,82,.09),transparent 70%);}
  main{position:relative;z-index:1}

  section{padding:76px 0}
  section.wrap{padding:82px 22px}
  section + section{border-top:1px solid var(--cardline)}

  /* HERO */
  .hero{padding:84px 0 56px;text-align:center}
  .hero .kicker{margin-bottom:18px}
  .hero h1{font-size:clamp(38px,9vw,68px);font-weight:700;max-width:15ch;margin:0 auto}
  .hero .sub{font-size:clamp(18px,4.5vw,22px);color:var(--muted);max-width:34ch;margin:22px auto 0}
  .hero .cue{margin-top:40px;color:var(--teal);font-size:15px;font-weight:600;letter-spacing:.02em}
  .hero .cue span{display:block;font-size:26px;margin-top:6px;animation:bob 1.8s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

  /* BIG STAT CARDS */
  .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px}
  .stat{background:var(--card);border:1px solid var(--cardline);border-radius:18px;padding:22px 20px}
  .stat .n{font-family:'Space Grotesk',Georgia,serif;font-size:clamp(34px,10vw,52px);font-weight:700;line-height:.95}
  .stat .l{font-size:15px;color:var(--muted);margin-top:10px;line-height:1.35}
  .stat.big{grid-column:1 / -1;background:linear-gradient(135deg,#241512,#1a2420);border-color:#3a2420}
  .stat.big .n{color:var(--red);font-size:clamp(46px,15vw,80px)}
  .stat.big .l{font-size:17px;max-width:32ch}
  .stat .n.teal{color:var(--teal)}
  .stat .n.gold{color:var(--gold)}

  /* SECTION HEAD */
  .shead{padding-top:18px;margin-bottom:12px}
  .shead h2{font-size:clamp(28px,6.5vw,40px);margin-top:12px}
  .takeaway{font-size:clamp(19px,5vw,23px);font-weight:600;margin:16px 0 6px;line-height:1.3}
  .means{font-size:16.5px;color:var(--muted);max-width:52ch;margin:0 0 24px}
  .means b{color:var(--ink)}

  .panel{background:var(--card);border:1px solid var(--cardline);border-radius:18px;padding:20px}
  .canvwrap{position:relative;width:100%}

  /* debt ladder */
  .ladder{display:flex;flex-direction:column;gap:14px}
  .rung .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
  .rung .tag{font-weight:700;font-size:18px}
  .rung .amt{font-weight:700;font-variant-numeric:tabular-nums;font-size:18px;color:var(--ink)}
  .rung .track{height:20px;background:#0d1310;border-radius:99px;overflow:hidden}
  .rung .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal-d),var(--teal));transition:width 1.1s cubic-bezier(.2,.8,.2,1);width:0}
  .rung.max .fill{background:linear-gradient(90deg,var(--red-d),var(--red))}
  .rung .role{font-size:13.5px;color:var(--dim);margin-top:5px}

  /* loan feature */
  .loan{background:linear-gradient(150deg,#2a1512,#191f1c);border:2px solid var(--red-d);border-radius:22px;padding:30px 24px}
  .loan .big{font-family:'Space Grotesk',Georgia,serif;font-size:clamp(52px,17vw,88px);color:var(--red);font-weight:700;line-height:.92}
  .loan h3{font-size:clamp(22px,5.5vw,28px);margin:14px 0 10px}
  .loan p{font-size:17px;color:var(--ink);margin:0 0 8px}
  .loan p.small{font-size:14.5px;color:var(--muted)}
  .flow{display:flex;flex-direction:column;gap:10px;margin:20px 0}
  .flow .step{display:flex;align-items:center;gap:12px}
  .flow .dot{width:12px;height:12px;border-radius:99px;flex:0 0 auto}
  .flow .lbl{font-size:16px}
  .flow .val{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums;font-size:18px}
  .flow .a .dot{background:var(--teal)} .flow .a .val{color:var(--teal)}
  .flow .b .dot{background:var(--gold)} .flow .b .val{color:var(--gold)}
  .flow .c .dot{background:var(--red)} .flow .c .val{color:var(--red)}
  .flow .bar{height:8px;border-radius:99px;background:#0d1310;overflow:hidden;margin-left:24px}
  .flow .bar i{display:block;height:100%;border-radius:99px}

  /* all loans list */
  .loans{display:flex;flex-direction:column;gap:12px}
  .loanrow{background:var(--card);border:1px solid var(--cardline);border-radius:14px;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:baseline}
  .loanrow .nm{font-weight:700;font-size:17px}
  .loanrow .amt{font-weight:700;font-variant-numeric:tabular-nums;font-size:18px;text-align:right}
  .loanrow .meta{font-size:13.5px;color:var(--dim);grid-column:1 / -1;display:flex;gap:14px;flex-wrap:wrap}
  .loanrow .lnote{grid-column:1 / -1;font-size:13.5px;color:var(--muted);line-height:1.45}
  .loanrow .chip{background:#0d1310;border:1px solid var(--cardline);border-radius:99px;padding:2px 10px;font-weight:600;color:var(--muted)}
  .loanrow .chip.hot{color:var(--red);border-color:var(--red-d)}
  .loanrow.flag{border-color:var(--red-d)}

  /* mill chart cards */
.millnote{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
  .mn{background:var(--card);border:1px solid var(--cardline);border-radius:14px;padding:16px}
  .mn .n{font-family:'Space Grotesk',serif;font-size:32px;font-weight:700}
  .mn .l{font-size:14px;color:var(--muted);margin-top:6px}

  /* district cards */
  .dcards{display:grid;grid-template-columns:1fr;gap:14px}
  .dcard{background:var(--card);border:1px solid var(--cardline);border-radius:16px;padding:20px}
  .dcard.flag{border-color:var(--red-d)}
  .dcard .dh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
  .dcard h3{font-size:23px}
  .dcard .role{color:var(--muted);font-size:15px;margin:6px 0 14px}
  .dcard .flagtag{background:var(--red-d);color:#fff;font-size:11px;font-weight:800;padding:3px 9px;border-radius:6px;letter-spacing:.04em;white-space:nowrap}
  .kv{display:flex;justify-content:space-between;font-size:15.5px;padding:9px 0;border-top:1px solid var(--cardline)}
  .kv:first-of-type{border-top:none}
  .kv b{font-variant-numeric:tabular-nums;font-weight:700}

  /* sources */
  .srcgrid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
  .srcgrid a{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--card);border:1px solid var(--cardline);border-radius:12px;padding:15px 18px;color:var(--teal);text-decoration:none;font-weight:600;font-size:16px}
  .srcgrid a:hover{border-color:var(--teal);background:#1c2622}
  .srcgrid a .arw{color:var(--dim);font-weight:400;white-space:nowrap;flex:0 0 auto}
  .disc{font-size:14px;color:var(--dim);margin-top:24px;max-width:60ch;line-height:1.55}
  .site-footer{padding:56px 0 64px;color:var(--dim);font-size:13.5px;border-top:1px solid var(--cardline);text-align:left}
  .site-footer a{color:var(--teal);text-decoration:none}
  .footer-inner{max-width:var(--maxw);margin:0 auto;padding:0 22px}
  .footer-lede{max-width:62ch;margin-bottom:22px}
  .footer-lede h2{font-size:clamp(28px,7vw,40px);margin:8px 0 12px;color:var(--ink)}
  .footer-lede p{margin:0 0 8px;color:var(--muted);line-height:1.55}
  .footer-grid{display:grid;grid-template-columns:1fr;gap:12px}
  .footer-card{background:var(--card);border:1px solid var(--cardline);border-radius:14px;padding:16px 18px}
  .footer-card h3{font-family:'Space Grotesk',Georgia,serif;font-size:16px;line-height:1.2;margin:0 0 8px;color:var(--ink)}
  .footer-card p{margin:0;color:var(--muted);line-height:1.5}
  .footer-card a{color:var(--teal);font-weight:700;text-decoration:none}
  .footer-card a:hover{color:var(--ink)}
  .project-footer-bottom{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--cardline);margin-top:24px;padding-top:18px}
  .project-footer-bottom p{margin:0;color:var(--dim)}
  .project-footer-bottom nav{display:flex;flex-wrap:wrap;gap:14px}
  .project-footer-bottom a{color:var(--muted);font-weight:700;text-decoration:none}
  .project-footer-bottom a:hover{color:var(--teal)}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}

  /* public records banner */
  .pubbar{background:#1a2420;border:1px solid var(--teal-d);border-radius:14px;padding:16px 18px;margin-top:26px;display:flex;gap:14px;align-items:flex-start}
  .pubbar .ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:rgba(63,191,168,.14);display:flex;align-items:center;justify-content:center;color:var(--teal);font-size:19px;font-weight:800;font-style:italic;line-height:1}
  .pubbar p{margin:0;font-size:15px;color:var(--muted);line-height:1.5}
  .pubbar b{color:var(--ink)}

  /* observation tag */
  .obstag{display:inline-flex;align-items:center;gap:8px;background:rgba(63,191,168,.12);border:1px solid var(--teal-d);color:var(--teal);border-radius:99px;padding:6px 14px;font-size:13px;font-weight:700;letter-spacing:.02em;margin:22px 0 4px}
  .obstag .d{width:8px;height:8px;border-radius:99px;background:var(--teal)}
  .obstag + .shead{padding-top:8px}

  /* overlap chips */
  .overlap{display:flex;flex-direction:column;gap:12px}
  .oprow{background:var(--card);border:1px solid var(--cardline);border-radius:14px;padding:16px 18px}
  .oprow.max{border-color:var(--gold)}
  .oprow .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
  .oprow .nm{font-weight:700;font-size:18px}
  .oprow .ct{font-size:14px;color:var(--muted);font-weight:600}
  .oprow .ct b{color:var(--gold);font-size:20px;font-family:'Space Grotesk',serif}
  .dots{display:flex;gap:7px;flex-wrap:wrap}
  .dots .dd{font-size:12px;font-weight:700;background:#0d1310;border:1px solid var(--cardline);border-radius:8px;padding:5px 9px;color:var(--muted)}
  .dots .dd.on{background:rgba(232,176,75,.15);border-color:var(--gold);color:var(--gold)}

  /* board tables */
  .boards{display:grid;grid-template-columns:1fr;gap:14px}
  .bcard{background:var(--card);border:1px solid var(--cardline);border-radius:16px;padding:18px 18px 8px}
  .bcard h3{font-size:20px;margin-bottom:12px}
  .bcard .bh{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px}
  .bcard .cov{font-size:12.5px;color:var(--dim)}
  .brow{display:flex;justify-content:space-between;gap:10px;font-size:15.5px;padding:10px 0;border-top:1px solid var(--cardline)}
  .brow .who{font-weight:600}
  .brow .rol{color:var(--muted);font-size:14px;text-align:right}
  .brow.vac .who{color:var(--dim);font-style:italic;font-weight:400}

  /* vote card */
  .vote{background:var(--card);border:1px solid var(--cardline);border-radius:18px;padding:22px}
  .vote .line{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--cardline)}
  .vote .line:first-child{border-top:none}
.vote .dt{flex:0 0 auto;font-family:'Space Grotesk',serif;font-weight:700;font-size:16px;color:var(--teal);width:96px}
  .vote .ev{font-size:15.5px;color:var(--ink);line-height:1.45}
  .vote .ev b{color:var(--ink)}

@media(min-width:720px){
    .millnote{grid-template-columns:1fr 1fr}
    .dcards{grid-template-columns:repeat(2,1fr)}
    .srcgrid{grid-template-columns:repeat(2,1fr)}
    .boards{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
    .tie .spokes{grid-template-columns:repeat(4,1fr)}
  }
section.wrap.section-tight{padding-top:36px}
.chart-tall{height:300px}
.chart-mid{height:270px}
.red-text{color:var(--red)}
.mt-16{margin-top:16px}
.pubbar-centered{text-align:left;max-width:520px;margin-left:auto;margin-right:auto}
.loan-bar-borrowed{width:9%;background:var(--teal)}
.loan-bar-projected{width:100%;background:linear-gradient(90deg,var(--gold),var(--red))}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
