  /* Layout: mobile-first, single column bands. Light pages for donors, dark pages for the initiatives.
     One red moment per headline, red never used as a background. Committed single look (brand rule), not OS-theme driven. */
  :root{
    --ink:#1A1A1A; --paper:#F5F0E8; --black:#0A0A0A; --red:#E02020;
    --display:'Bebas Neue','Arial Narrow',Impact,sans-serif;
    --serif:'DM Serif Display',Georgia,serif;
    --mono:'IBM Plex Mono','Courier New',monospace;
    --body:'Lora',Georgia,serif;
    --bg:var(--paper); --fg:var(--ink); --muted:#5F5A52; --line:#D8D3CB; --card:#FBF8F2;
    color-scheme:light;
  }
  body.dark{ --bg:var(--black); --fg:var(--paper); --muted:#A19D95; --line:#262626; --card:#121212; }

  [hidden]{display:none!important}
  *,*::before,*::after{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.7;-webkit-text-size-adjust:100%}
  body.menu-open{overflow:hidden}
  body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
  a{color:inherit}
  :focus-visible{outline:2px solid var(--red);outline-offset:3px}
  .skip{position:absolute;left:-999px;top:8px;background:var(--black);color:var(--paper);padding:10px 14px;font-family:var(--mono);font-size:.75rem;z-index:100}
  .skip:focus{left:8px}

  .wrap{width:100%;max-width:1100px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}

  /* Header */
  .bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
  .bar-in{display:flex;align-items:center;gap:10px;min-height:60px}
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);margin-right:auto;min-width:0}
  .brand svg{width:34px;height:34px;flex:none;--core:var(--bg)}
  .brand-t{font-family:var(--display);font-size:1.1rem;letter-spacing:.12em;line-height:1.02}
  .brand-t span{display:block}
  .brand-t .i{color:var(--red)}
  .nav-d{display:none;gap:24px;margin-right:12px}
  .nav-d a{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:8px 0}
  .nav-d a:hover,[aria-current="page"]{color:var(--red)}
  .menu-btn{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;background:none;color:var(--fg);border:1px solid var(--line);min-height:44px;padding:0 14px;cursor:pointer}
  @media(min-width:1020px){.nav-d{display:flex}.menu-btn{display:none}}

  .menu{position:fixed;inset:0;z-index:45;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto;
    padding:calc(72px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}
  .menu a.big{font-family:var(--display);font-size:clamp(2.6rem,12vw,4rem);line-height:1;letter-spacing:.04em;text-decoration:none;padding:.3em 0;border-bottom:1px solid var(--line)}
  .menu .follow{margin-top:28px}

  /* Type */
  .eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin:0 0 18px}
  .eyebrow::after{content:"";width:44px;height:1px;background:var(--red);flex:none}
  .h1{font-family:var(--display);font-weight:400;font-size:clamp(2.7rem,11.5vw,6.75rem);line-height:.95;letter-spacing:.03em;margin:0 0 24px;text-wrap:balance}
  .h1 em{font-style:normal;color:var(--red)}
  .h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,5.2vw,2.8rem);line-height:1.12;margin:0 0 20px;max-width:24ch;text-wrap:balance}
  .lede{font-family:var(--serif);font-size:clamp(1.2rem,3.6vw,1.7rem);line-height:1.35;max-width:34ch;margin:0 0 32px}
  .copy{max-width:62ch;font-size:1.02rem;margin:0 0 1.1em}
  .mono{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

  /* Bands */
  .sec{padding-block:clamp(56px,9vw,104px)}
  .sec + .sec{border-top:1px solid var(--line)}
  .band-dark{background:var(--black);color:var(--paper);--fg:var(--paper);--muted:#A19D95;--line:#2a2a2a}
  .hero{position:relative;overflow:hidden;overflow:clip;padding-block:clamp(40px,9vw,112px)}
  .hero .wrap{position:relative;z-index:1}
  .hero-flower{position:absolute;right:-22%;top:-8%;width:min(78vw,560px);height:auto;opacity:.07;pointer-events:none;--core:var(--bg)}

  /* Buttons + chips */
  .cta{display:flex;flex-direction:column;gap:14px;align-items:stretch;max-width:420px}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;background:var(--red);color:var(--paper);font-family:var(--mono);font-weight:500;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--red);cursor:pointer}
  .btn:hover{filter:brightness(.92)}
  .btn.is-off{background:transparent;color:var(--muted);border:1px dashed var(--muted);cursor:not-allowed;filter:none}
  .socials{display:flex;flex-wrap:wrap;gap:10px}
  .chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--fg);font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--fg)}
  a.chip:hover{background:var(--fg);color:var(--bg)}
  .chip.is-off{border:1px dashed var(--muted);color:var(--muted)}
  .follow-label{margin:22px 0 10px}

  /* Ticker */
  .ticker{background:var(--black);color:var(--paper);overflow:hidden;border-block:1px solid #1d1d1d}
  .track{display:flex;width:max-content;animation:slide 40s linear infinite}
  .track span{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:15px 0;white-space:nowrap}
  .track span::after{content:"/";color:var(--red);padding:0 26px}
  @keyframes slide{to{transform:translateX(-50%)}}
  @media(prefers-reduced-motion:reduce){.track{animation:none}}

  /* Cards */
  .cards{display:grid;gap:16px;grid-template-columns:1fr}
  @media(min-width:900px){.cards{grid-template-columns:repeat(3,1fr)}}
  .card{display:flex;flex-direction:column;gap:14px;min-width:0;background:var(--black);color:var(--paper);--fg:var(--paper);--muted:#8F8B83;--line:#262626;padding:28px 24px;border:1px solid #1f1f1f;text-decoration:none}
  .card:hover{border-color:#444}
  .card h3{font-family:var(--display);font-weight:400;font-size:3.2rem;line-height:1;letter-spacing:.04em;margin:0}
  .card p{margin:0;color:#B9B5AD;font-size:.97rem}
  .card .go{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}

  /* Redacted record */
  .rd{display:grid;grid-template-columns:7rem 1fr;gap:8px 12px;margin:4px 0 0;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
  .rd dt{color:var(--muted)}
  .rd dd{margin:0;min-width:0}
  .x{display:inline-block;width:var(--w,8ch);max-width:100%;height:.95em;vertical-align:-.12em;background:#2e2e2e}

  /* Fact lists */
  .facts{margin:0}
  .facts div{display:grid;grid-template-columns:minmax(7.5rem,32%) 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
  .facts dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding-top:.35em}
  .facts dd{margin:0;min-width:0;overflow-wrap:anywhere}

  .attrib{display:flex;flex-direction:column;gap:4px;margin:0 0 28px;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .attrib span{color:var(--fg)}
  .pull{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,5.5vw,2.8rem);line-height:1.2;margin:0 0 20px;max-width:24ch;text-wrap:balance;border-left:3px solid var(--red);padding-left:20px}
  .pull-sub{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;padding-left:23px;max-width:46ch;line-height:1.7}

  .trio{display:grid;gap:28px;grid-template-columns:1fr}
  @media(min-width:760px){.trio{grid-template-columns:repeat(3,1fr);gap:36px}}
  .trio > div{border-top:1px solid var(--line);padding-top:18px;min-width:0}
  .trio h3{font-family:var(--display);font-weight:400;font-size:2.1rem;letter-spacing:.04em;line-height:1;margin:0 0 10px}
  .trio p{margin:0;color:var(--muted);font-size:.97rem}

  .receipt{border:1px dashed var(--muted);background:var(--card);padding:22px;max-width:520px;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
  .receipt h4{margin:0 0 14px;font-weight:500;font-size:.72rem;letter-spacing:.2em;color:var(--muted)}
  .receipt .rl{display:flex;gap:8px;align-items:baseline;line-height:2}
  .receipt .rl i{flex:1;border-bottom:1px dotted var(--muted);min-width:12px}

  .two{display:grid;gap:36px;grid-template-columns:1fr}
  @media(min-width:860px){.two{grid-template-columns:1fr 1fr;gap:64px}}
  .two > *{min-width:0}

  /* Footer */
  .foot{background:var(--black);color:var(--paper);--fg:var(--paper);--muted:#8F8B83;--line:#262626;padding-block:48px 36px}
  .foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
  .foot .brand-t{font-size:1.6rem}
  .foot .brand svg{--core:var(--black);width:40px;height:40px}
  .foot p{margin:0;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#8F8B83;line-height:2;max-width:46ch}
  .foot nav{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:24px}
  .foot nav a{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--paper);padding:8px 0}
  .foot nav a:hover{color:var(--red)}
  .counter{margin-top:8px;padding-top:28px;border-top:1px solid var(--line);max-width:640px}
  .counter .count{font-family:var(--display);font-size:clamp(3.6rem,17vw,7.5rem);line-height:.95;letter-spacing:.03em;margin:6px 0 12px;font-variant-numeric:tabular-nums}
  .counter .unit{font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-left:.8em}
  .counter .fine{font-size:.82rem;line-height:1.6;color:var(--muted);margin:0;max-width:56ch}
  .shot{margin:0;min-width:0}
  .shot img{display:block;width:100%;height:auto;background:#1a1a1a}
  .shot figcaption{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:10px;line-height:1.6}
  .shot.wide img{aspect-ratio:16/9;object-fit:cover}
  .shots{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin-top:20px}
  .shots .shot img{aspect-ratio:4/5;object-fit:cover}
  @media(min-width:760px){.shots{grid-template-columns:repeat(4,1fr)}}
  .foot .dedication{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,3.4vw,1.4rem);line-height:1.4;letter-spacing:0;text-transform:none;color:var(--paper);max-width:42ch;margin:40px 0 0;padding-top:28px;border-top:1px solid #262626;text-wrap:balance}
  .foot .copyright{margin-top:22px}
