/* ═══════════════════════════════════════════════════════════
   DESIGN TOKENS — World-class constitutional identity
═══════════════════════════════════════════════════════════ */
:root {
  /* Surfaces — deep forest night with stage depth */
  --bg:#030605;--bg2:#09110c;--bg3:#121c14;
  --bg4:#1c2820;
  --glass:rgba(5,12,8,0.92);
  --parchment:rgba(232,197,71,0.06);
  /* Borders */
  --border:rgba(16,185,129,0.2);--border2:rgba(52,211,153,0.42);
  --border-gold:rgba(240,208,96,0.48);
  /* Brand */
  --em:#14d492;--em2:#45e8b0;--em3:#8af5cc;
  --gold:#e8c040;--gold2:#f5d76a;--red:#ef4444;--blue:#3b82f6;
  /* Text — WCAG-strong on near-black (never mute green-gray mush) */
  --text:#ffffff;--text2:#e6efe6;--text3:#c8d6c8;
  /* Type */
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --mono:'DM Mono',ui-monospace,'Cascadia Code',monospace;
  --sans:'Outfit',system-ui,-apple-system,sans-serif;
  --dyslexia:'Atkinson Hyperlegible',Verdana,Arial,sans-serif;
  /* Elevation */
  --shadow:0 28px 72px rgba(0,0,0,0.6);
  --shadow-sm:0 10px 28px rgba(0,0,0,0.4);
  --glow:0 0 40px rgba(18,199,138,0.28);
  --glow-gold:0 0 48px rgba(224,184,58,0.2);
  /* Scale */
  --space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;
  --space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;
  --radius-sm:0.5rem;--radius-md:0.875rem;--radius-lg:1.25rem;--radius-pill:100px;
  --nav-h:68px;--bottom-nav-h:64px;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --focus-ring:0 0 0 3px rgba(18,199,138,0.5);
}
[data-theme="light"]{
  --bg:#f4f6ef;--bg2:#ebefe4;--bg3:#e0e6d6;--bg4:#d5ddc8;
  --glass:rgba(244,246,239,0.92);
  --parchment:rgba(212,175,55,0.08);
  --border:rgba(16,185,129,0.22);--border2:rgba(16,185,129,0.4);
  --em:#059669;--em2:#047857;--em3:#10b981;
  --text:#142014;--text2:#2f3f2f;--text3:#4a5a4a;
  --shadow:0 20px 50px rgba(0,0,0,0.08);
  --shadow-sm:0 6px 18px rgba(0,0,0,0.06);
  --glow:0 0 28px rgba(16,185,129,0.12);
}
[data-theme="light"] body,
html[data-theme="light"] body{
  background:
    radial-gradient(ellipse 90% 50% at 50% -5%,rgba(5,150,105,.08),transparent 50%),
    radial-gradient(ellipse 40% 30% at 100% 20%,rgba(212,175,55,.06),transparent 45%),
    var(--bg)!important;
}
[data-theme="high-contrast"]{
  --bg:#000;--bg2:#0a0a0a;--bg3:#141414;--bg4:#1a1a1a;
  --glass:rgba(0,0,0,0.95);
  --border:rgba(16,185,129,0.7);--border2:rgba(16,185,129,0.95);
  --em:#00ff9d;--em2:#5dffc0;--em3:#a7ffdf;
  --gold:#ffd700;--text:#fff;--text2:#f0f0f0;--text3:#d0d0d0;
  --shadow:none;--glow:0 0 0 2px var(--em);
}
html.dyslexia-font,html.dyslexia-font body{
  --sans:var(--dyslexia);--serif:var(--dyslexia);--mono:var(--dyslexia);
  letter-spacing:0.02em;word-spacing:0.06em;line-height:1.85;
}

/* ═══════════════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;scroll-padding-top:calc(68px + var(--announce-h,0px));scroll-padding-bottom:1rem}
body{
  font-family:var(--sans);color:var(--text);line-height:1.75;overflow-x:hidden;cursor:none;
  padding-bottom:max(1rem,env(safe-area-inset-bottom,0));
  background:
    radial-gradient(ellipse 90% 55% at 50% -8%,rgba(18,199,138,.09),transparent 55%),
    radial-gradient(ellipse 50% 40% at 100% 30%,rgba(224,184,58,.04),transparent 50%),
    radial-gradient(ellipse 45% 35% at 0% 80%,rgba(18,199,138,.05),transparent 45%),
    var(--bg);
}
::selection{background:var(--em);color:#000}
a{color:inherit;text-decoration:none}
button{font-family:var(--sans);cursor:none;border:none;background:none}
input,select,textarea{font-family:var(--sans)}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--em2),var(--em));
  border-radius:4px;border:1px solid rgba(5,8,6,.4);
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--em3),var(--em2))}

/* ═══════════════════════════════════════════════════════════
   CURSOR
═══════════════════════════════════════════════════════════ */
/* Custom cursor — high contrast on dark emerald bg (no mix-blend; was vanishing black-on-black) */
#cursor{
  position:fixed;width:12px;height:12px;border-radius:50%;pointer-events:none;z-index:99999;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 35% 30%,#fff 0%,var(--em2) 45%,var(--em) 100%);
  border:1.5px solid #f0fff7;
  box-shadow:0 0 0 1px rgba(5,8,6,.55),0 0 14px rgba(16,185,129,.85),0 0 28px rgba(212,175,55,.25);
  transition:transform .08s,width .12s,height .12s;
}
#cursor-ring{
  position:fixed;width:36px;height:36px;border-radius:50%;pointer-events:none;z-index:99998;
  transform:translate(-50%,-50%);
  border:1.5px solid rgba(110,231,183,.85);
  box-shadow:0 0 0 1px rgba(5,8,6,.35),0 0 12px rgba(16,185,129,.35);
  transition:left .16s ease-out,top .16s ease-out,width .2s,height .2s,opacity .2s,border-color .2s;
  opacity:.75;
  background:transparent;
}
body:has(button:hover,a:hover) #cursor{width:14px;height:14px}
body:has(button:hover,a:hover) #cursor-ring{width:52px;height:52px;opacity:.95;border-color:var(--gold2)}
@media (hover:none),(pointer:coarse){
  body,button,a{cursor:auto!important}
  #cursor,#cursor-ring{display:none!important}
}

/* ═══════════════════════════════════════════════════════════
   READING PROGRESS
═══════════════════════════════════════════════════════════ */
#progress-bar{
  position:fixed;top:0;left:0;height:3px;z-index:9999;width:0%;
  background:linear-gradient(90deg,var(--em),var(--gold2),var(--em2));
  box-shadow:0 0 12px var(--em),0 0 24px rgba(224,184,58,.25);
  transition:width .08s linear;
}

/* ═══════════════════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════════════════ */
#main-nav{position:sticky;top:var(--announce-h,0px);z-index:500;border-bottom:1px solid rgba(52,211,153,.35);background:#050a07;transition:all .3s;pointer-events:auto}
#main-nav a,#main-nav button,#main-nav select{pointer-events:auto;cursor:pointer}
#main-nav.shrunk{box-shadow:var(--glow)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 2rem;height:68px;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.nav-logo{display:flex;align-items:center;gap:.75rem;flex-shrink:0;text-decoration:none;color:inherit}
.giveabit-brand-logo{height:40px;width:auto;display:block;flex-shrink:0;border-radius:6px}
.footer-brand .giveabit-brand-logo{height:36px}
.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--em),var(--em2));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#000;box-shadow:0 0 16px rgba(16,185,129,.3);flex-shrink:0}
.hero-share-official,.footer-social-official{display:flex;gap:.65rem;align-items:center;justify-content:center;flex-wrap:wrap}
.hero-share-official{margin-top:1.5rem;animation:fade-up .6s .65s both}
.footer-social-official{margin-top:1rem}
.social-official{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:100px;border:1px solid var(--border2);background:var(--bg3);color:var(--text2);font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;text-decoration:none;transition:all .2s;cursor:pointer}
.social-official:hover{border-color:var(--em);color:var(--em);background:rgba(16,185,129,.08)}
.social-official i{font-size:.85rem}
.footer-contact{margin-top:1rem;font-family:var(--mono);font-size:.68rem;color:var(--text3)}
.footer-contact a{color:var(--em2);text-decoration:none}
.footer-contact a:hover{color:var(--em);text-decoration:underline}
.logo-text{font-family:var(--serif);font-size:1.6rem;font-weight:700;letter-spacing:-.02em;line-height:1}
.logo-sub{font-family:var(--mono);font-size:.5rem;color:var(--em);letter-spacing:.2em;margin-top:.1rem}
.nav-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:100px;font-size:.75rem;font-weight:600;transition:all .2s;cursor:none;white-space:nowrap;border:none}
.btn-primary{background:var(--em);color:#000}.btn-primary:hover{background:var(--em2);box-shadow:0 0 18px rgba(16,185,129,.4)}
.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border2)}.btn-ghost:hover{border-color:var(--em);color:var(--em);background:rgba(16,185,129,.05)}
#progress-counter{font-family:var(--mono);font-size:.62rem;color:var(--em);border:1px solid var(--border);padding:.28rem .65rem;border-radius:100px;animation:pulse-num 2s infinite}
@keyframes pulse-num{0%,100%{opacity:1}50%{opacity:.6}}

/* ═══ LANG SWITCHER NAV ═══════════════════════════════════ */
.lang-switcher-nav{position:relative;display:inline-flex}
.lang-switcher-nav select{background:transparent;border:1px solid var(--border2);border-radius:100px;padding:.3rem 1.8rem .3rem .7rem;color:var(--text2);font-family:var(--mono);font-size:.68rem;cursor:none;outline:none;appearance:none;-webkit-appearance:none}
.lang-switcher-nav select:hover{border-color:var(--em);color:var(--em)}
.lang-switcher-nav::after{content:'▾';position:absolute;right:.6rem;top:50%;transform:translateY(-50%);font-size:.6rem;color:var(--text3);pointer-events:none}
.flag-display{font-size:1rem;vertical-align:middle}

/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
#hero{position:relative;min-height:100svh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:calc(68px + var(--announce-h,0px) + env(safe-area-inset-top,0)) 0 5rem}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;opacity:.4}
.hero-glow{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(16,185,129,.1) 0%,transparent 70%);pointer-events:none}
.hero-inner{max-width:980px;margin:0 auto;padding:clamp(1rem,4vw,2rem);text-align:center;position:relative;z-index:2;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:.625rem;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.3);border-radius:100px;padding:.4rem 1.1rem;margin-bottom:2.5rem;animation:fade-up .6s .1s both}
.badge-dot{width:7px;height:7px;background:var(--em);border-radius:50%;animation:pulse 2s infinite;box-shadow:0 0 8px var(--em)}
.badge-text{font-family:var(--mono);font-size:.62rem;color:var(--em);letter-spacing:.18em}
.hero-year{font-family:var(--serif);font-size:clamp(5rem,13vw,10rem);line-height:.95;font-weight:300;letter-spacing:-.04em;color:var(--text3);display:block;animation:fade-up .6s .2s both}
.hero-h1{font-family:var(--serif);font-size:clamp(3.2rem,9vw,7.5rem);line-height:.97;font-weight:700;letter-spacing:-.03em;margin-bottom:1.5rem;animation:fade-up .6s .3s both}
.hero-h1 .accent{color:var(--em);font-style:italic}
.hero-sub{font-size:clamp(1rem,2vw,1.25rem);color:var(--text2);max-width:520px;margin:0 auto 3rem;line-height:1.65;animation:fade-up .6s .4s both}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fade-up .6s .5s both}
.cta-main{display:inline-flex;align-items:center;gap:.625rem;background:#fff;color:#000;padding:.875rem 2.25rem;border-radius:100px;font-weight:700;font-size:1rem;transition:all .2s;cursor:none;border:none}
.cta-main:hover{background:var(--em2);transform:translateY(-2px);box-shadow:0 12px 40px rgba(16,185,129,.25)}
.cta-sec{display:inline-flex;align-items:center;gap:.625rem;background:transparent;color:var(--text2);padding:.875rem 2.25rem;border-radius:100px;font-weight:500;font-size:1rem;border:1px solid rgba(255,255,255,.12);transition:all .2s;cursor:none}
.cta-sec:hover{border-color:rgba(255,255,255,.35);color:var(--text)}
.scroll-hint{position:absolute;bottom:max(1.25rem,env(safe-area-inset-bottom,0));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.4;animation:bounce 2s infinite;pointer-events:none}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
.scroll-hint span{font-family:var(--mono);font-size:.58rem;letter-spacing:.15em;color:var(--text3)}

/* ═══ HERO SHARE STRIP ════════════════════════════════════ */
.hero-share{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;animation:fade-up .6s .65s both}
.share-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-family:var(--mono);padding:.35rem .85rem;border-radius:100px;cursor:none;transition:all .2s;letter-spacing:.04em}
.share-x{background:#000;color:#fff;border:1px solid #333}.share-x:hover{background:#1a1a1a;border-color:#555}
.share-fb{background:#1877f2;color:#fff}.share-fb:hover{background:#1569d3}
.share-wa{background:#25d366;color:#000}.share-wa:hover{background:#20b954}
.share-li{background:#0a66c2;color:#fff}.share-li:hover{background:#084e96}
.share-tg{background:#2ca5e0;color:#fff}.share-tg:hover{background:#1b8fbf}
.share-cp{background:transparent;color:var(--text3);border:1px solid var(--border2)}.share-cp:hover{border-color:var(--em);color:var(--em)}
body.no-custom-cursor,body.no-custom-cursor *{cursor:auto!important}
body.no-custom-cursor #cursor,body.no-custom-cursor #cursor-ring{display:none!important}

/* ═══ RICH SHARE MODAL ═════════════════════════════════════ */
.sc-share-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:flex-end;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility .25s}
.sc-share-overlay.open{opacity:1;visibility:visible}
.sc-share-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}
.sc-share-panel{position:relative;width:min(520px,100%);max-height:min(92vh,720px);overflow-y:auto;background:linear-gradient(165deg,var(--bg2),var(--bg3));border:1px solid var(--border2);border-radius:1.25rem;padding:1.35rem 1.25rem 1.15rem;box-shadow:var(--shadow);animation:fade-up .35s var(--ease)}
.sc-share-close{position:absolute;top:.85rem;right:.85rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--border2);background:var(--bg3);color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center}
.sc-share-close:hover{border-color:var(--em);color:var(--em)}
.sc-share-preview{display:flex;gap:1rem;margin-bottom:1rem;padding-right:2rem}
.sc-share-og{width:120px;height:63px;object-fit:cover;border-radius:.65rem;border:1px solid var(--border2);flex-shrink:0;box-shadow:var(--shadow-sm)}
.sc-share-kicker{font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--em);margin-bottom:.35rem}
.sc-share-h2{font-family:var(--serif);font-size:1.35rem;line-height:1.15;margin:0 0 .45rem;color:var(--text)}
.sc-share-desc{font-size:.78rem;color:var(--text2);line-height:1.55;margin:0}
.sc-share-url{font-family:var(--mono);font-size:.58rem;color:var(--text3);margin-top:.5rem;word-break:break-all}
.sc-share-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}
.sc-share-tag{font-family:var(--mono);font-size:.58rem;padding:.22rem .55rem;border-radius:100px;background:rgba(16,185,129,.1);border:1px solid var(--border);color:var(--em2)}
.sc-share-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.sc-share-platform{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:72px;padding:.65rem .4rem;border-radius:.85rem;border:1px solid transparent;font-family:var(--mono);font-size:.58rem;letter-spacing:.04em;color:#fff;cursor:pointer;transition:transform .15s,box-shadow .15s}
.sc-share-platform:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.sc-share-platform i{font-size:1.25rem}
.sc-share-wa{background:linear-gradient(145deg,#25d366,#128c7e)}
.sc-share-x{background:linear-gradient(145deg,#111,#333)}
.sc-share-tg{background:linear-gradient(145deg,#2aabee,#229ed9)}
.sc-share-fb{background:linear-gradient(145deg,#1877f2,#0d65d9)}
.sc-share-li{background:linear-gradient(145deg,#0a66c2,#004182)}
.sc-share-rd{background:linear-gradient(145deg,#ff4500,#cc3700)}
.sc-share-sms{background:linear-gradient(145deg,#34c759,#248a3d)}
.sc-share-cp,.sc-share-native{background:var(--bg3);color:var(--text2);border-color:var(--border2)!important}
.sc-share-cp:hover,.sc-share-native:hover{color:var(--em);border-color:var(--em)!important}
.sc-share-foot{font-size:.65rem;color:var(--text3);text-align:center;margin:.85rem 0 0;line-height:1.5}
@media(max-width:480px){.sc-share-grid{grid-template-columns:repeat(2,1fr)}.sc-share-preview{flex-direction:column;align-items:flex-start}}

/* ═══════════════════════════════════════════════════════════
   TRUST BAR / STATS
═══════════════════════════════════════════════════════════ */
.trust-bar{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.875rem 0;overflow:hidden}
.trust-scroll{display:flex;gap:3.5rem;animation:scroll-left 30s linear infinite;white-space:nowrap}
.trust-scroll:hover{animation-play-state:paused}
.trust-item{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.62rem;color:var(--text3);letter-spacing:.08em;flex-shrink:0}
.trust-item i{color:var(--em);font-size:.68rem}
@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.stats-strip{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border)}
.stat-block{background:var(--bg2);padding:2.25rem 2rem;text-align:center}
.stat-num{font-family:var(--serif);font-size:3.2rem;font-weight:700;line-height:1;color:var(--em);letter-spacing:-.03em}
.stat-label{font-family:var(--mono);font-size:.6rem;color:var(--text3);letter-spacing:.15em;margin-top:.5rem;text-transform:uppercase}

/* ═══════════════════════════════════════════════════════════
   SECTIONS GENERIC
═══════════════════════════════════════════════════════════ */
.section{padding:5.5rem 2rem}
.section-max{max-width:1280px;margin:0 auto}
.section-label{font-family:var(--mono);font-size:.62rem;color:var(--em);letter-spacing:.25em;text-transform:uppercase;margin-bottom:.875rem;display:flex;align-items:center;gap:.6rem}
.section-label::before{content:'';display:block;width:22px;height:1px;background:var(--em)}
.section-h2{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.75rem);font-weight:700;line-height:1.05;letter-spacing:-.025em;margin-bottom:1.25rem}

/* ═══════════════════════════════════════════════════════════
   PILLARS
═══════════════════════════════════════════════════════════ */
.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px;background:var(--border);margin-top:2.5rem}
.pillar{background:var(--bg2);padding:2.25rem;transition:all .3s}
.pillar:hover{background:var(--bg3);transform:translateY(-2px)}
.pillar-num{font-family:var(--serif);font-size:3.5rem;font-weight:300;line-height:1;color:var(--border2);letter-spacing:-.04em;margin-bottom:.875rem}
.pillar-icon{width:44px;height:44px;background:rgba(16,185,129,.08);border:1px solid var(--border2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--em);margin-bottom:1.1rem}
.pillar h3{font-family:var(--serif);font-size:1.4rem;font-weight:700;margin-bottom:.625rem;letter-spacing:-.02em}
.pillar p{font-size:.85rem;color:var(--text2);line-height:1.75}

/* ═══════════════════════════════════════════════════════════
   ARTICLES BROWSER
═══════════════════════════════════════════════════════════ */
.articles-layout{display:grid;grid-template-columns:270px 1fr;gap:0;background:var(--border);margin-top:2.5rem;min-height:580px}
.articles-sidebar{background:var(--bg2);overflow-y:auto;max-height:660px}
.articles-sidebar::-webkit-scrollbar{width:2px}
.article-tab{display:block;padding:.7rem 1.1rem;font-size:.75rem;border-bottom:1px solid var(--border);color:var(--text2);cursor:none;transition:all .15s;font-family:var(--mono)}
.article-tab:hover{background:rgba(16,185,129,.05);color:var(--em)}
.article-tab.active{background:rgba(16,185,129,.1);color:var(--em);border-left:2px solid var(--em)}
.article-tab .art-num{color:var(--text3);font-size:.58rem;display:block;margin-bottom:.15rem}
.articles-main{background:var(--bg3);padding:2rem;overflow-y:auto;max-height:660px}
.article-display{display:none;animation:fade-in .25s ease}
.article-display.active{display:block}
.art-title{font-family:var(--serif);font-size:1.9rem;font-weight:700;letter-spacing:-.025em;margin-bottom:.4rem}
.art-subtitle{font-size:.75rem;color:var(--em);font-family:var(--mono);margin-bottom:1.1rem}
.art-body{font-size:.875rem;line-height:1.85;color:var(--text2)}
.art-body p{margin-bottom:.875rem}
.art-body strong{color:var(--text);font-weight:600}
.art-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.25rem}
.art-tag{font-family:var(--mono);font-size:.58rem;background:rgba(16,185,129,.07);border:1px solid var(--border);border-radius:100px;padding:.18rem .6rem;color:var(--em2)}
.art-actions{display:flex;gap:.4rem;margin-top:1.25rem;flex-wrap:wrap}
.art-action-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-family:var(--mono);background:transparent;border:1px solid var(--border2);color:var(--text2);padding:.38rem .75rem;border-radius:100px;cursor:none;transition:all .15s}
.art-action-btn:hover{border-color:var(--em);color:var(--em);background:rgba(16,185,129,.06)}
.art-action-btn.signed{background:rgba(16,185,129,.15);border-color:var(--em);color:var(--em)}
.ca-sherpa{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--border);font-size:.78rem;color:var(--em3);font-style:italic}
.ca-sherpa strong{color:var(--em);font-style:normal;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;display:block;margin-bottom:.3rem}
.ai-result{background:rgba(16,185,129,.05);border:1px solid var(--border2);border-radius:.75rem;padding:1rem 1.25rem;margin-top:.875rem;font-size:.8rem;line-height:1.75;color:var(--text2);font-style:italic;display:none}
.ai-result.visible{display:block;animation:fade-up .3s ease}
.ai-spinner{display:none;font-family:var(--mono);font-size:.62rem;color:var(--em);margin-top:.75rem}
.ai-spinner.visible{display:block}

/* ═══════════════════════════════════════════════════════════
   TIMELINE
═══════════════════════════════════════════════════════════ */
.timeline{position:relative;margin-top:2.5rem;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--em),var(--em),transparent)}
.timeline-item{position:relative;margin-bottom:2.75rem;padding-left:2rem}
.timeline-item::before{content:'';position:absolute;left:-2.375rem;top:.35rem;width:9px;height:9px;background:var(--bg);border:1.5px solid var(--em);border-radius:50%;box-shadow:0 0 10px var(--em)}
.tl-year{font-family:var(--mono);font-size:.62rem;color:var(--em);letter-spacing:.12em;margin-bottom:.4rem}
.tl-title{font-family:var(--serif);font-size:1.35rem;font-weight:700;margin-bottom:.4rem;letter-spacing:-.02em}
.tl-body{font-size:.83rem;color:var(--text2);line-height:1.75;max-width:540px}

/* ═══════════════════════════════════════════════════════════
   COMPARISON TABLE
═══════════════════════════════════════════════════════════ */
.comparison-table{margin-top:2rem;border:1px solid var(--border);border-radius:.875rem;overflow:hidden}
.cmp-head,.cmp-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border-bottom:1px solid var(--border)}
.cmp-head{background:var(--bg2)}
.cmp-row:last-child{border:none}
.cmp-row:hover{background:rgba(16,185,129,.03)}
.cmp-cell{padding:.875rem 1.1rem;font-size:.78rem}
.cmp-head .cmp-cell{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--text3)}
.cmp-head .cmp-cell.em{color:var(--em)}
.cmp-yes{color:var(--em)!important}.cmp-no{color:var(--red)!important}.cmp-part{color:var(--gold)!important}

/* ═══════════════════════════════════════════════════════════
   RIGHTS CALCULATOR
═══════════════════════════════════════════════════════════ */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}
.calc-card{background:var(--bg2);border:1px solid var(--border);border-radius:1.1rem;padding:1.75rem}
.calc-label{font-family:var(--mono);font-size:.65rem;color:var(--text3);letter-spacing:.1em;margin-bottom:.6rem;text-transform:uppercase}
.calc-select{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:.625rem;padding:.65rem .875rem;color:var(--text);font-family:var(--sans);font-size:.85rem;cursor:none;outline:none;transition:border-color .2s;appearance:none;margin-bottom:.875rem}
.calc-select:focus{border-color:var(--em)}
.calc-select option{background:var(--bg3)}
.calc-result{background:var(--bg3);border:1px solid var(--border2);border-radius:.875rem;padding:1.25rem;min-height:110px}
.calc-score{font-family:var(--serif);font-size:3.5rem;font-weight:700;color:var(--em);line-height:1;letter-spacing:-.04em}
.calc-verdict{font-size:.78rem;color:var(--text2);margin-top:.4rem}
.rights-meter{margin-top:.875rem;height:5px;background:var(--bg2);border-radius:3px;overflow:hidden}
.rights-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--gold),var(--em));border-radius:3px;transition:width .7s cubic-bezier(.34,1.56,.64,1)}

/* ═══════════════════════════════════════════════════════════
   VIDEO
═══════════════════════════════════════════════════════════ */
.video-wrapper{background:var(--bg2);border:1px solid var(--border);border-radius:1.25rem;overflow:hidden;margin-top:1.75rem}
.video-header{padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.video-title{font-family:var(--mono);font-size:.68rem;color:var(--em);letter-spacing:.08em}
.video-live{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.58rem;color:var(--red);letter-spacing:.1em}
.video-live::before{content:'';width:6px;height:6px;background:var(--red);border-radius:50%;animation:pulse 1.5s infinite}
/* Default video sizing — film player overrides max-height (BUILD 840) */
video{width:100%;display:block;max-height:min(70vh,720px);object-fit:contain;background:#000}
.video-caption{padding:.875rem 1.4rem;font-size:.75rem;color:var(--text3);font-style:italic;text-align:center;border-top:1px solid var(--border)}

/* ═══════════════════════════════════════════════════════════
   SIGN CHARTER
═══════════════════════════════════════════════════════════ */
.sign-section{background:var(--bg2);border:1px solid var(--border);border-radius:1.5rem;padding:2.5rem;margin-top:2.5rem;position:relative;overflow:hidden}
.sign-section::before{content:'"';position:absolute;right:1.5rem;top:-2rem;font-family:var(--serif);font-size:14rem;color:var(--border);line-height:1;pointer-events:none}
.signers-wall{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.25rem 0;max-height:100px;overflow:hidden}
.signer-pill{font-family:var(--mono);font-size:.6rem;background:rgba(16,185,129,.06);border:1px solid var(--border);border-radius:100px;padding:.2rem .55rem;color:var(--text3)}
.sign-form{display:flex;gap:.625rem;flex-wrap:wrap}
.sign-input{flex:1;min-width:180px;background:var(--bg3);border:1px solid var(--border2);border-radius:100px;padding:.65rem 1.1rem;color:var(--text);font-size:.85rem;outline:none;transition:border-color .2s;cursor:none}
.sign-input:focus{border-color:var(--em)}
.sign-submit{background:var(--em);color:#000;border:none;border-radius:100px;padding:.65rem 1.5rem;font-weight:700;font-size:.85rem;cursor:none;transition:all .2s;white-space:nowrap}
.sign-submit:hover{background:var(--em2);transform:translateY(-1px)}
.sign-count{font-family:var(--serif);font-size:2.25rem;font-weight:700;color:var(--em);letter-spacing:-.03em}

/* ═══════════════════════════════════════════════════════════
   LANGUAGE GRID
═══════════════════════════════════════════════════════════ */
.lang-grid{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.75rem}
.lang-btn{font-family:var(--mono);font-size:.62rem;background:transparent;border:1px solid var(--border);border-radius:100px;padding:.3rem .75rem;color:var(--text3);cursor:none;transition:all .15s;letter-spacing:.04em}
.lang-btn:hover,.lang-btn.active{background:rgba(16,185,129,.1);border-color:var(--em2);color:var(--em)}

/* ═══════════════════════════════════════════════════════════
   DONATION
═══════════════════════════════════════════════════════════ */
.donation-card{background:var(--bg2);border:1px solid var(--border);border-radius:1.25rem;padding:1.75rem;max-width:380px}
.btc-address{font-family:var(--mono);font-size:.65rem;color:var(--em2);word-break:break-all;line-height:1.6;background:var(--bg3);border-radius:.625rem;padding:.75rem .875rem;margin:.875rem 0;border:1px solid var(--border)}
.qr-placeholder{width:110px;height:110px;background:var(--bg3);border:1px solid var(--border2);border-radius:.875rem;display:flex;align-items:center;justify-content:center;margin:0 auto .875rem;flex-direction:column;gap:.3rem}
.copy-btn{width:100%;padding:.65rem;background:transparent;border:1px solid var(--em);border-radius:100px;color:var(--em);font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;cursor:none;transition:all .2s}
.copy-btn:hover{background:rgba(16,185,129,.1)}
.copy-btn.copied{background:var(--em);color:#000}

/* ═══════════════════════════════════════════════════════════
   MAP CANVAS
═══════════════════════════════════════════════════════════ */
.map-container{background:var(--bg2);border:1px solid var(--border);border-radius:1.25rem;overflow:hidden;margin-top:2rem;position:relative;min-height:280px;display:flex;align-items:center;justify-content:center}
.map-label{position:relative;z-index:2;text-align:center}
.map-label p{font-family:var(--mono);font-size:.7rem;color:var(--text3);margin-top:.4rem}

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
footer{background:var(--bg);border-top:1px solid var(--border);padding:2.5rem 2rem 0;margin-bottom:0}
footer .legal-footer{padding-bottom:max(1.75rem,env(safe-area-inset-bottom,0))}
.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}
.footer-brand p{font-size:.78rem;color:var(--text3);line-height:1.75;margin-top:.75rem;max-width:210px}
.footer-col h3{font-family:var(--mono);font-size:.58rem;color:var(--text3);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.875rem}
.footer-col a{display:block;font-size:.8rem;color:var(--text2);margin-bottom:.45rem;transition:color .15s;cursor:none}
.footer-col a:hover{color:var(--em)}

/* ═══ LEGAL FOOTER ════════════════════════════════════════ */
.legal-footer{max-width:1280px;margin:2.5rem auto 0;padding:1.5rem 0 2rem;border-top:1px solid var(--border)}
.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem}
.legal-block h5{font-family:var(--mono);font-size:.58rem;color:var(--em);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem}
.legal-block p{font-size:.72rem;color:var(--text3);line-height:1.65}
.legal-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.legal-bottom-left p{font-family:var(--mono);font-size:.58rem;color:var(--text3);letter-spacing:.05em;text-align:left}
.legal-bottom-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center}
.legal-links{justify-self:end}
@media(max-width:768px){
  .legal-bottom{grid-template-columns:1fr;justify-items:center;text-align:center}
  .legal-bottom-left p{text-align:center}
  .legal-links{justify-self:center;justify-content:center;flex-wrap:wrap}
}
.legal-links{display:flex;gap:1.25rem}
.legal-links a{font-family:var(--mono);font-size:.58rem;color:var(--text3);cursor:none;transition:color .15s}
.legal-links a:hover{color:var(--em)}

/* ═══ FOOTER SHARE ════════════════════════════════════════ */
.footer-share{margin-top:1.25rem;display:flex;gap:.4rem;flex-wrap:wrap}

/* ═══ FOOTER PAYMENT TABS ═════════════════════════════════ */
.footer-pay{margin-top:1.5rem;max-width:340px}
.pay-tabs{display:flex;gap:.35rem;margin-bottom:.75rem}
.pay-tab{flex:1;padding:.5rem .75rem;border-radius:100px;border:1px solid var(--border2);background:transparent;color:var(--text3);font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;transition:all .2s;min-height:44px}
.pay-tab:hover{border-color:var(--em);color:var(--em)}
.pay-tab.active{background:rgba(16,185,129,.12);border-color:var(--em);color:var(--em)}
.pay-pane{display:none}
.pay-pane.active{display:block}
.pay-address{font-family:var(--mono);font-size:.62rem;color:var(--em2);word-break:break-all;line-height:1.55;background:var(--bg3);border-radius:.625rem;padding:.7rem .8rem;border:1px solid var(--border)}
.pay-copy{width:100%;margin-top:.6rem;padding:.6rem;background:transparent;border:1px solid var(--em);border-radius:100px;color:var(--em);font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;transition:all .2s;min-height:44px}
.pay-copy:hover{background:rgba(16,185,129,.1)}
.pay-copy.copied{background:var(--em);color:#000}
.pay-note{font-size:.68rem;color:var(--text3);margin-top:.5rem;line-height:1.5}
.pay-warning{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);border-radius:.625rem;padding:.55rem .75rem;font-size:.68rem;color:#fca5a5;margin-bottom:.6rem;line-height:1.5}
.pay-qr-btn{width:100%;margin-top:.5rem;padding:.55rem;background:rgba(16,185,129,.08);border:1px solid var(--border2);border-radius:100px;color:var(--em2);font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;transition:all .2s;min-height:44px}
.pay-qr-btn:hover{border-color:var(--em);background:rgba(16,185,129,.15)}

/* ═══ QR MODAL ════════════════════════════════════════════ */
#qr-modal{display:none;position:fixed;inset:0;z-index:10000;padding:1.5rem}
#qr-modal.open{display:flex;align-items:center;justify-content:center}
.qr-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(20px);cursor:pointer}
.qr-card{position:relative;z-index:2;background:var(--bg2);border:1px solid var(--border2);border-radius:1.25rem;padding:2rem 2rem 1.5rem;max-width:360px;width:100%;text-align:center;box-shadow:var(--shadow)}
.qr-card h3{font-family:var(--serif);font-size:1.75rem;margin-bottom:.25rem;padding-right:2.5rem}
.qr-canvas-wrap{background:#fff;border-radius:.875rem;padding:1rem;margin:1rem auto;display:inline-block;min-height:220px;min-width:220px}
.qr-canvas-wrap canvas,.qr-canvas-wrap img{display:block;max-width:220px;height:auto}
.qr-close{position:absolute;top:.75rem;right:.75rem;z-index:3;width:44px;height:44px;border:1px solid var(--border2);border-radius:50%;color:var(--text2);background:var(--bg3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.qr-close:hover{border-color:var(--em);color:var(--em);background:var(--bg2)}

/* ═══ ENHANCEMENTS v2.2 ═════════════════════════════════ */
/* ═══ STATUS DOCK — BUILD + Online (sidebar removed BUILD 426) ═ */
#status-dock{position:fixed!important;z-index:480;pointer-events:auto;visibility:visible!important;opacity:1!important;right:max(.5rem,env(safe-area-inset-right,0));top:calc(var(--announce-h,0px) + 4.5rem);bottom:auto!important;left:auto!important;display:flex!important;flex-direction:row;align-items:center;gap:.45rem;background:rgba(11,17,11,.92);backdrop-filter:blur(12px);border:1px solid var(--border2);border-radius:100px;padding:.35rem .7rem;box-shadow:0 4px 20px rgba(0,0,0,.35)}
#left-ui-dock,.sticky-bc-cta,#sticky-bc-cta,#a11y-toggle-chip{display:none!important;visibility:hidden!important;pointer-events:none!important}
body>.build-badge,body>#net-badge{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important;height:0!important;overflow:hidden!important}
.a11y-toolbar{position:fixed;bottom:calc(1.25rem + env(safe-area-inset-bottom,0));left:max(.5rem,env(safe-area-inset-left,0));z-index:455;display:none;flex-direction:row;align-items:center;gap:.25rem;padding:.35rem .5rem;background:rgba(11,17,11,.94);backdrop-filter:blur(14px);border:1px solid var(--border2);border-radius:100px;box-shadow:0 4px 20px rgba(0,0,0,.35)}
.a11y-toolbar.visible{display:flex}
.a11y-toolbar button{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text2);font-size:.65rem;cursor:pointer;transition:all .2s;pointer-events:auto;flex-shrink:0}
.a11y-toolbar button:hover{border-color:var(--border2);color:var(--em);background:rgba(16,185,129,.08)}
.build-badge{position:static;font-family:var(--mono);font-size:.58rem;color:var(--text2);opacity:1;letter-spacing:.06em;cursor:pointer;pointer-events:auto;line-height:1.3;white-space:nowrap}
.build-badge:hover{color:var(--em)}
.net-badge{position:static;font-family:var(--mono);font-size:.58rem;padding:.2rem .45rem;border-radius:100px;border:1px solid var(--border2);opacity:1;color:var(--em2);pointer-events:auto;white-space:nowrap}
.net-badge.offline{border-color:var(--red);color:#fca5a5}
.announce-banner{position:fixed;top:0;left:0;right:0;z-index:600;background:#0a1f16;border-bottom:2px solid #3de0a8;padding:.65rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem;font-weight:600;color:#fff;box-shadow:0 4px 20px rgba(0,0,0,.4)}
.announce-banner a{color:#9ff5d0;font-weight:800;text-decoration:underline}
.announce-banner button{background:#145c3f;border:1px solid #3de0a8;color:#fff;cursor:pointer;padding:.4rem .55rem;border-radius:8px}

body.reading-mode .trust-bar,body.reading-mode #particle-canvas,body.reading-mode .hero-share-official{display:none!important}
body.reading-mode .section-max{max-width:680px}
body.high-contrast{--border:rgba(16,185,129,.5);--text:#fff;--text2:#e0e0e0}
.hash-footer{text-align:center;padding:.75rem 0;font-family:var(--mono);font-size:.55rem;color:var(--text3)}
.hash-val{cursor:pointer;color:var(--em2);margin:0 .5rem}
.hash-stamp-btn{background:transparent;border:1px solid var(--border2);border-radius:100px;padding:.2rem .5rem;color:var(--em);cursor:pointer;font-size:.55rem}
.confetti-piece{position:fixed;top:-10px;width:8px;height:14px;z-index:9999;pointer-events:none;animation:confetti-fall 2.5s ease-in forwards}
@keyframes confetti-fall{to{transform:translateY(100vh) rotate(720deg);opacity:0}}
.faq-search{width:100%;max-width:720px;padding:.75rem 1rem;background:var(--bg2);border:1px solid var(--border);border-radius:.75rem;color:var(--text);margin-bottom:1rem;font-size:.85rem}
.art-of-day{background:var(--bg2);border:1px solid var(--border);border-radius:1.25rem;padding:2.5rem 2rem;margin:0 2rem 2rem;max-width:1280px;margin-left:auto;margin-right:auto}
.art-of-day h3{font-family:var(--serif);font-size:1.5rem;margin:.5rem 0}
.art-of-day p{font-size:.85rem;color:var(--text2);line-height:1.7;margin-bottom:1rem}
.jump-article{display:flex;gap:.5rem;margin-top:1.5rem;max-width:400px}
.jump-article input{flex:1;padding:.6rem .8rem;background:var(--bg3);border:1px solid var(--border);border-radius:.75rem;color:var(--text);font-size:.8rem}
.jump-article button{padding:.6rem 1rem;background:var(--em);color:#000;border:none;border-radius:.75rem;font-weight:600;cursor:pointer}
.bc-fill{font-size:.7rem!important;margin-top:.5rem}
.charter-toc{background:var(--bg3);border:1px solid var(--border);border-radius:.75rem;padding:1rem;margin-bottom:1rem;max-height:120px;overflow-y:auto;font-family:var(--mono);font-size:.58rem}
.toc-label{color:var(--em);letter-spacing:.12em;margin-bottom:.5rem}
.toc-ch{color:var(--text3);margin:.5rem 0 .25rem}
.toc-art{display:inline-block;margin:.15rem .35rem .15rem 0;color:var(--text2);cursor:pointer}
.toc-art:hover{color:var(--em)}
.wc-badge{font-family:var(--mono);font-size:.5rem;color:var(--text3);margin-left:.5rem}

.shortcuts-list div{padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.85rem;display:flex;justify-content:space-between}
.shortcuts-list kbd{background:var(--bg3);border:1px solid var(--border2);border-radius:4px;padding:.15rem .45rem;font-family:var(--mono);font-size:.7rem}
.features-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;font-size:.72rem}
.feat-item{padding:.35rem .5rem;background:var(--bg3);border-radius:4px}
.feat-item span{color:var(--em);font-family:var(--mono);margin-right:.35rem}
.pillar.expanded{background:var(--bg3);border-color:var(--em)}
.amend-upvote{background:none;border:none;color:var(--em);cursor:pointer;font-size:.65rem;padding:0}
.read-time{font-family:var(--mono);font-size:.58rem;color:var(--text3);margin-top:.25rem}
.newsletter-note{font-size:.7rem;color:var(--text3);margin-top:.5rem}
/* ═══ ENHANCEMENTS v2.3 (101–200) ════════════════════════ */
/* Section rail — premium page dots (overridden/extended in BUILD 760) */
.section-dots{
  position:fixed;right:max(.85rem,env(safe-area-inset-right,0));top:50%;
  transform:translateY(-50%);z-index:450;
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  pointer-events:auto;padding:1rem .55rem;
  background:linear-gradient(165deg,rgba(10,20,14,.92),rgba(4,8,6,.94));
  backdrop-filter:blur(18px) saturate(1.45);
  -webkit-backdrop-filter:blur(18px) saturate(1.45);
  border:1px solid rgba(52,211,153,.4);
  border-radius:999px;
  box-shadow:
    0 0 0 1px rgba(224,184,58,.14),
    0 16px 48px rgba(0,0,0,.55),
    0 0 36px rgba(18,199,138,.14),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition:opacity .35s var(--ease),transform .35s var(--ease),box-shadow .35s;
}
.section-dots::before{
  content:'';position:absolute;top:1.15rem;bottom:1.15rem;left:50%;
  width:2px;transform:translateX(-50%);border-radius:2px;z-index:0;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(18,199,138,.35) 15%,
    rgba(224,184,58,.45) 50%,
    rgba(18,199,138,.35) 85%,
    transparent 100%);
  box-shadow:0 0 10px rgba(18,199,138,.25);
}
.section-dots.near-footer{opacity:.22;pointer-events:none;transform:translateY(-50%) scale(.96)}
.dot-link,.section-dot{
  position:relative;z-index:1;
  width:12px;height:12px;border-radius:50%;
  display:block;flex-shrink:0;
  background:rgba(18,199,138,.22);
  border:1.5px solid rgba(122,240,196,.65);
  box-shadow:0 0 0 3px rgba(4,7,6,.75),inset 0 1px 0 rgba(255,255,255,.12);
  transition:all .32s var(--ease);
  pointer-events:auto;cursor:pointer;
}
.dot-link:hover,.dot-link:focus-visible,
.section-dot:hover,.section-dot:focus-visible{
  background:var(--em2);border-color:var(--em3);
  transform:scale(1.4);
  box-shadow:0 0 0 3px rgba(4,7,6,.7),0 0 18px rgba(18,199,138,.7),0 0 28px rgba(224,184,58,.25);
  outline:none;
}
.dot-link.active,.section-dot.active{
  width:14px;height:14px;
  background:linear-gradient(145deg,var(--em3),var(--em));
  border-color:var(--gold2);
  transform:scale(1.2);
  box-shadow:
    0 0 0 3px rgba(4,7,6,.75),
    0 0 0 5px rgba(224,184,58,.2),
    0 0 20px rgba(18,199,138,.8),
    0 0 36px rgba(224,184,58,.35);
  animation:sc-dot-pulse 2.4s ease-in-out infinite;
}
@keyframes sc-dot-pulse{
  0%,100%{box-shadow:0 0 0 3px rgba(4,7,6,.75),0 0 0 5px rgba(224,184,58,.18),0 0 18px rgba(18,199,138,.75),0 0 32px rgba(224,184,58,.28)}
  50%{box-shadow:0 0 0 3px rgba(4,7,6,.75),0 0 0 7px rgba(224,184,58,.28),0 0 28px rgba(18,199,138,.9),0 0 48px rgba(224,184,58,.4)}
}
/* Floating section labels (left of rail) */
.dot-link::after,.section-dot::after{
  content:attr(data-label);
  position:absolute;right:calc(100% + 14px);top:50%;
  transform:translateY(-50%) translateX(6px);
  font-family:var(--mono);font-size:.58rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  color:var(--em3);
  padding:.28rem .65rem;border-radius:100px;
  background:linear-gradient(135deg,rgba(8,16,12,.96),rgba(4,8,6,.98));
  border:1px solid rgba(52,211,153,.4);
  box-shadow:0 8px 24px rgba(0,0,0,.45),0 0 16px rgba(18,199,138,.12);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.dot-link:not([data-label])::after,
.section-dot:not([data-label])::after,
.dot-link[data-label=""]::after,
.section-dot[data-label=""]::after{display:none}
.dot-link:hover::after,.dot-link:focus-visible::after,
.dot-link.active::after,
.section-dot:hover::after,.section-dot:focus-visible::after,
.section-dot.active::after{
  opacity:1;visibility:visible;transform:translateY(-50%) translateX(0);
}
.dot-link.active::after,.section-dot.active::after{
  color:var(--gold2);border-color:rgba(224,184,58,.5);
  box-shadow:0 8px 24px rgba(0,0,0,.45),0 0 18px rgba(224,184,58,.18);
}
.nav-scroll-pct{font-family:var(--mono);font-size:.55rem;color:var(--text3);padding:.2rem .45rem;border:1px solid var(--border);border-radius:100px}
.stars-panel,.coalition-box{margin-top:1.25rem}
.stars-list,.tag-cloud{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.star-pill,.tag-cloud-btn{font-family:var(--mono);font-size:.62rem;padding:.3rem .65rem;border-radius:100px;border:1px solid var(--border2);background:var(--bg3);color:#34d399;cursor:pointer}
.tag-cloud{margin:0 2rem 2rem;max-width:1280px;margin-left:auto;margin-right:auto;padding:1.5rem;background:var(--bg2);border:1px solid var(--border);border-radius:1rem}
.coalition-box{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.amend-search,.sign-filter{width:100%;padding:.55rem .75rem;background:var(--bg2);border:1px solid var(--border);border-radius:.625rem;color:var(--text);font-size:.78rem;margin-bottom:.5rem}
.charter-progress{height:3px;background:var(--border);border-radius:2px;margin-top:.5rem;overflow:hidden}
.charter-progress-fill{height:100%;background:var(--em);width:0%;transition:width .4s}
.scroll-minimap{position:fixed;right:2px;top:50%;width:4px;height:100px;background:var(--border);border-radius:2px;z-index:350;opacity:.4}
.minimap-thumb{position:absolute;width:100%;height:20%;background:var(--em);border-radius:2px;left:0}
.star-btn{background:none;border:none;color:var(--gold);cursor:pointer;font-size:.9rem;margin-left:.35rem;padding:0}
.calc-presets{margin-bottom:1rem}
.i18n-status-panel{margin-top:2rem;padding:1.25rem;background:var(--bg2);border:1px solid var(--border);border-radius:1rem;max-width:480px}
.i18n-bar-row{display:flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.58rem;color:var(--text2);margin:.35rem 0}
.i18n-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.i18n-bar-fill{height:100%;background:var(--em);border-radius:3px}
@media(max-width:768px){
  #status-dock{top:calc(var(--announce-h,0px) + 3.75rem);right:max(.35rem,env(safe-area-inset-right,0));font-size:.55rem;padding:.3rem .55rem}
  .a11y-toolbar{bottom:calc(4.5rem + env(safe-area-inset-bottom,0))}
  .scroll-minimap{display:none}
  .section-dots{
    right:max(.4rem,env(safe-area-inset-right,0));left:auto;
    gap:.55rem;padding:.75rem .42rem;
  }
  .dot-link,.section-dot{width:11px;height:11px}
  .dot-link.active,.section-dot.active{width:13px;height:13px}
  /* Labels open to the left still; on narrow screens hide permanent active label clutter */
  .dot-link.active::after,.section-dot.active::after{opacity:0;visibility:hidden}
  .dot-link:hover::after,.dot-link:focus-visible::after,
  .section-dot:hover::after,.section-dot:focus-visible::after{
    opacity:1;visibility:visible;
  }
  .announce-banner{font-size:.7rem;padding-top:calc(.55rem + env(safe-area-inset-top,0))}
  body{padding-bottom:max(1rem,env(safe-area-inset-bottom,0))}
  footer .legal-footer{padding-bottom:max(1rem,env(safe-area-inset-bottom,0))}
  #back-top{bottom:calc(1.25rem + env(safe-area-inset-bottom,0))}
}

/* ═══ MISSION BLOCK ═══════════════════════════════════════ */
.mission-block{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.mission-inner{max-width:900px;margin:0 auto}
.mission-quote{border-left:3px solid var(--em);padding:1.25rem 1.5rem;margin:2rem 0;background:rgba(16,185,129,.05);border-radius:0 .875rem .875rem 0}
.mission-quote p{font-family:var(--serif);font-size:clamp(1.2rem,2.5vw,1.55rem);font-style:italic;line-height:1.55;color:var(--text)}
.mission-quote cite{display:block;margin-top:.75rem;font-family:var(--mono);font-size:.62rem;color:var(--text3);letter-spacing:.12em;font-style:normal}
.mission-prose{font-size:.92rem;color:var(--text2);line-height:1.85}
.mission-prose p{margin-bottom:1.1rem}
.mission-prose strong{color:var(--em2)}

/* ═══ CANADA BC CHALLENGE ═════════════════════════════════ */
.challenge-banner{background:#0a1f16;border:1px solid #2a6b4f;border-radius:1.25rem;padding:2rem;margin-top:2rem;color:#eef5ee}
.challenge-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}
.challenge-step{background:#06140f;border:1px solid #2a6b4f;border-radius:.875rem;padding:1.25rem}
.challenge-step-num{font-family:var(--serif);font-size:2rem;color:#3de0a8;line-height:1}
.challenge-step h3{font-size:.9rem;margin:.5rem 0 .35rem;color:#fff;font-weight:700}
.challenge-step p{font-size:.8rem;color:#e2efe6;line-height:1.65}

/* ═══ NOSTR + AMENDMENTS ══════════════════════════════════ */
.nostr-panel{background:var(--bg3);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;margin-top:1.5rem}
.nostr-status{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.nostr-badge{font-family:var(--mono);font-size:.6rem;padding:.3rem .7rem;border-radius:100px;border:1px solid var(--border2);color:var(--text3)}
.nostr-badge.connected{border-color:var(--em);color:var(--em);background:rgba(16,185,129,.08)}
.amend-form textarea{width:100%;min-height:90px;background:var(--bg2);border:1px solid var(--border);border-radius:.75rem;padding:.875rem;color:var(--text);font-size:.82rem;resize:vertical;margin:.75rem 0}
.amend-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}
.amend-item{background:var(--bg2);border:1px solid var(--border);border-radius:.625rem;padding:.75rem;font-size:.78rem;color:var(--text2);line-height:1.6}
.amend-meta{font-family:var(--mono);font-size:.55rem;color:var(--text3);margin-top:.35rem}
.giveabit-footer{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;opacity:.55;transition:opacity .2s}
.giveabit-footer:hover{opacity:.85}
.giveabit-footer img{height:36px;width:auto;border-radius:6px}

/* ═══════════════════════════════════════════════════════════
   FLOATING ELEMENTS
═══════════════════════════════════════════════════════════ */
#float-assert{position:fixed;bottom:calc(1.25rem + env(safe-area-inset-bottom,0));left:50%;transform:translateX(-50%);z-index:400;background:var(--bg2);border:1px solid var(--em);border-radius:100px;padding:.65rem 1.1rem;display:none;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.62rem;color:var(--em);letter-spacing:.06em;cursor:none;box-shadow:0 0 20px rgba(16,185,129,.15);max-width:calc(100vw - 2rem);white-space:nowrap}
#float-assert:hover{background:var(--em);color:#000}

/* ═══ BACK TO TOP ═════════════════════════════════════════ */
#back-top{
  position:fixed;bottom:calc(1.25rem + env(safe-area-inset-bottom,0));
  right:calc(.75rem + env(safe-area-inset-right,0));z-index:461;
  width:44px;height:44px;display:none;align-items:center;justify-content:center;
  font-size:.8rem;color:var(--em2);cursor:none;
  background:linear-gradient(145deg,rgba(14,24,16,.95),rgba(6,12,8,.96));
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(52,211,153,.45);border-radius:50%;
  box-shadow:0 8px 28px rgba(0,0,0,.4),0 0 20px rgba(18,199,138,.12),inset 0 1px 0 rgba(255,255,255,.06);
  transition:all .25s var(--ease);
}
#back-top:hover{
  border-color:var(--gold2);color:var(--gold2);
  transform:translateY(-3px);
  box-shadow:var(--glow),0 0 24px rgba(224,184,58,.2);
}

/* ═══════════════════════════════════════════════════════════
   MODALS
═══════════════════════════════════════════════════════════ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.95);backdrop-filter:blur(24px);z-index:1000;overflow-y:auto}
.modal-overlay.open{display:block}
.modal-inner{max-width:860px;margin:3rem auto;padding:2rem;animation:fade-up .3s ease}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;position:sticky;top:0;background:rgba(6,10,6,.96);backdrop-filter:blur(12px);padding:1rem 0;z-index:10;border-bottom:1px solid var(--border)}
.modal-close{width:34px;height:34px;border-radius:50%;background:var(--bg2);border:1px solid var(--border2);color:var(--text2);font-size:.85rem;cursor:none;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.modal-close:hover{border-color:var(--em);color:var(--em)}
.modal-tools{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.25rem}

/* ═══ FULL CHARTER STYLES ═════════════════════════════════ */
.charter-section{margin-bottom:2.5rem}
.charter-chapter{font-family:var(--serif);font-size:.78rem;font-weight:700;color:var(--em);letter-spacing:.2em;text-transform:uppercase;padding:.625rem 1.1rem;border:1px solid var(--border);border-radius:100px;display:inline-block;margin-bottom:1.75rem}
.charter-article{background:var(--bg2);border:1px solid var(--border);border-radius:.875rem;padding:1.4rem 1.6rem;margin-bottom:.875rem;transition:all .25s;cursor:none}
.charter-article:hover{border-color:var(--border2);transform:translateX(3px)}
.ca-num{font-family:var(--mono);font-size:.58rem;color:var(--em);letter-spacing:.12em;margin-bottom:.4rem}
.ca-title{font-family:var(--serif);font-size:1.15rem;font-weight:700;margin-bottom:.4rem;letter-spacing:-.02em}
.ca-body{font-size:.8rem;line-height:1.8;color:var(--text2)}

/* ═══ COMMAND PALETTE ═════════════════════════════════════ */
.cmd-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(16px);z-index:2000;padding-top:14vh}
.cmd-overlay.open{display:block}
.cmd-box{max-width:560px;margin:0 auto;padding:0 1rem}
.cmd-input-wrap{background:var(--bg2);border:1px solid var(--em);border-radius:.875rem;padding:.75rem 1.1rem;display:flex;align-items:center;gap:.625rem;box-shadow:0 0 30px rgba(16,185,129,.12)}
.cmd-input{background:none;border:none;flex:1;color:var(--text);font-family:var(--sans);font-size:.95rem;outline:none}
.cmd-key{font-family:var(--mono);font-size:.58rem;color:var(--text3);background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:.12rem .38rem}
.cmd-results{background:var(--bg2);border:1px solid var(--border);border-radius:.875rem;margin-top:.4rem;overflow:hidden;max-height:360px;overflow-y:auto}
.cmd-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.1rem;cursor:none;transition:background .1s;border-bottom:1px solid var(--border)}
.cmd-item:last-child{border:none}
.cmd-item:hover,.cmd-item.focused{background:rgba(16,185,129,.07)}
.cmd-item-icon{width:30px;height:30px;border-radius:8px;background:rgba(16,185,129,.1);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--em);flex-shrink:0}
.cmd-item-text{font-size:.83rem;color:var(--text)}
.cmd-item-sub{font-family:var(--mono);font-size:.58rem;color:var(--text3)}
.cmd-group-label{font-family:var(--mono);font-size:.56rem;color:var(--text3);letter-spacing:.15em;padding:.625rem 1.1rem .25rem;text-transform:uppercase;background:var(--bg3);border-bottom:1px solid var(--border)}

/* ═══ TOAST ═══════════════════════════════════════════════ */
#toast-stack{position:fixed;bottom:2rem;right:2rem;z-index:9000;display:flex;flex-direction:column;gap:.4rem;pointer-events:none}
.toast{background:var(--bg2);border:1px solid var(--border2);border-radius:.875rem;padding:.65rem 1.1rem;font-size:.75rem;color:var(--text);display:flex;align-items:center;gap:.4rem;pointer-events:all;animation:toast-in .3s ease;max-width:300px;box-shadow:0 8px 32px rgba(0,0,0,.4)}
.toast i{color:var(--em)}.toast.error i{color:var(--red)}
@keyframes toast-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

/* ═══ COOKIE BANNER ═══════════════════════════════════════ */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:800;background:var(--bg2);border-top:1px solid var(--border);padding:1rem max(1rem,env(safe-area-inset-left,0)) calc(1rem + env(safe-area-inset-bottom,0)) max(1rem,env(safe-area-inset-right,0));display:none;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
#cookie-banner p{font-size:.78rem;color:var(--text2);max-width:600px}
.cookie-actions{display:flex;gap:.5rem}

/* ═══ NEWSLETTER ═══════════════════════════════════════════ */
.newsletter-section{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(52,211,153,.04));border:1px solid var(--border2);border-radius:1.5rem;padding:2.5rem;margin-top:2.5rem;position:relative;overflow:hidden}
.newsletter-section::after{content:'✉';position:absolute;right:-1rem;bottom:-2rem;font-size:10rem;opacity:.04;line-height:1;pointer-events:none}
.newsletter-form{display:flex;gap:.625rem;margin-top:1.25rem;flex-wrap:wrap}
.newsletter-input{flex:1;min-width:220px;background:var(--bg3);border:1px solid var(--border2);border-radius:100px;padding:.7rem 1.25rem;color:var(--text);font-size:.875rem;outline:none;cursor:none;transition:border-color .2s}
.newsletter-input:focus{border-color:var(--em)}

/* ═══ FAQ ACCORDION ═══════════════════════════════════════ */
.faq-item{border:1px solid var(--border);border-radius:.875rem;overflow:hidden;margin-bottom:.625rem}
.faq-q{padding:1.1rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .15s;width:100%;text-align:left;background:transparent;border:none;color:inherit;font-family:inherit}
.faq-q:hover{background:rgba(16,185,129,.04)}
.faq-q:focus-visible{outline:2px solid var(--em);outline-offset:-2px}
.faq-q i{color:var(--text3);transition:transform .3s;font-size:.75rem;flex-shrink:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;font-size:.83rem;color:var(--text2);line-height:1.75}
.faq-a.open{max-height:300px;padding:0 1.25rem 1.1rem}
.faq-item.active .faq-q i{transform:rotate(180deg)}
.faq-item.active .faq-q{color:var(--em)}

/* ═══ PRESS / MEDIA — centered grid ═══════════════════════ */
.press-section{background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 50%,var(--bg) 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4rem 0}
.press-section-inner{text-align:center;max-width:960px;margin:0 auto}
.press-header{margin-bottom:2.5rem}
.press-heading{font-family:var(--serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--text);letter-spacing:-.03em;margin:.5rem 0 .75rem;line-height:1.15}
.press-sub{font-size:.9rem;color:var(--text2);max-width:520px;margin:0 auto;line-height:1.7}
.press-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;justify-items:center;max-width:880px;margin:0 auto;padding:1.5rem 0}
a.press-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;width:100%;max-width:160px;padding:1.25rem 1rem 1.1rem;background:var(--bg2);border:1px solid var(--border);border-radius:16px;transition:transform .25s ease,border-color .25s,box-shadow .25s;text-decoration:none;color:var(--press-accent,var(--em));cursor:pointer}
a.press-card:hover{transform:translateY(-4px);border-color:var(--press-accent,var(--em2));box-shadow:0 12px 40px var(--press-glow,rgba(16,185,129,.15))}
a.press-card:focus-visible{outline:2px solid var(--press-accent,var(--em));outline-offset:3px}
.press-card-icon{width:52px;height:52px;margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border-radius:14px;border:1px solid var(--border)}
.press-brand-icon{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
[data-theme="light"] .press-brand-icon{filter:none}
.press-card-icon svg{color:var(--press-accent,var(--em))}
.press-card-name{font-family:var(--serif);font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.02em;text-align:center;line-height:1.25}
.press-card-tag{font-family:var(--mono);font-size:.5rem;color:var(--text3);letter-spacing:.08em;text-transform:uppercase;margin-top:.45rem;text-align:center;line-height:1.4}
.press-card-link-hint{position:absolute;top:.5rem;right:.5rem;font-size:.5rem;color:var(--text3);opacity:0;transition:opacity .2s}
a.press-card:hover .press-card-link-hint{opacity:1;color:var(--press-accent,var(--em2))}
.press-marquee{display:none;overflow:hidden;width:100%;max-width:100vw;margin:0 -1.25rem;padding:1rem 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.press-marquee-track{display:flex;gap:.75rem;width:max-content;animation:press-marquee 36s linear infinite}
.press-marquee.is-paused .press-marquee-track{animation-play-state:paused}
.press-marquee .press-card{flex:0 0 132px;max-width:132px;padding:1rem .65rem;pointer-events:none}
@keyframes press-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.press-footer{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}
.press-room-link{text-decoration:none;font-size:.8rem}
.press-disclaimer{font-size:.65rem;color:var(--text3);font-family:var(--mono);max-width:520px;line-height:1.6;margin:0}
.press-disclaimer a{color:var(--em2)}
/* legacy selectors for upgrade modules */
.press-bar{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:center;padding:2rem 0}
.press-item{font-family:var(--serif);font-size:1.1rem;font-weight:700;color:var(--text3)}
.press-label{font-family:var(--mono);font-size:.58rem;color:var(--text3);letter-spacing:.2em;margin-bottom:.875rem;text-align:center}
@media(max-width:640px){
  .press-section-inner{padding:0 1.25rem}
  .press-marquee{display:block}
  .press-grid{display:none}
}
@media(min-width:641px){
  .press-marquee{display:none!important}
}
@media(min-width:900px){
  .press-grid{grid-template-columns:repeat(7,1fr);gap:.85rem}
  a.press-card{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .press-marquee-track{animation:none}
}

/* ═══ QUOTE ROTATOR ═══════════════════════════════════════ */
#quote-display{min-height:80px;display:flex;align-items:center;justify-content:center}
#quote-text{font-family:var(--serif);font-size:clamp(1.2rem,3vw,1.8rem);font-style:italic;text-align:center;max-width:700px;line-height:1.4;letter-spacing:-.01em;transition:opacity .5s}
#quote-author{font-family:var(--mono);font-size:.65rem;color:var(--em);letter-spacing:.15em;text-align:center;margin-top:.75rem;transition:opacity .5s}
.quote-section{padding:4rem 2rem;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* ═══ PLEDGE / ORGANIZATIONS ══════════════════════════════ */
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--border);margin-top:2rem}
.org-card{background:var(--bg2);padding:1.5rem;transition:all .2s}
.org-card:hover{background:var(--bg3)}
.org-icon{font-size:1.5rem;margin-bottom:.625rem}
.org-name{font-weight:600;font-size:.875rem;margin-bottom:.25rem}
.org-type{font-family:var(--mono);font-size:.6rem;color:var(--em);letter-spacing:.1em}

/* ═══ PRINT STYLES ════════════════════════════════════════ */
@media print{
  #main-nav,#float-assert,#back-top,#cookie-banner,#cursor,#cursor-ring,#progress-bar,#toast-stack,footer .footer-share,.hero-ctas,.hero-share-official,.nav-actions{display:none!important}
  body{cursor:default!important;color:#000!important;background:#fff!important}
  .charter-article{page-break-inside:avoid;border:1px solid #ccc!important}
  .modal-overlay{position:static!important;display:block!important;background:#fff!important;backdrop-filter:none!important}
}

/* ═══ ANIMATIONS ══════════════════════════════════════════ */
@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.4)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ═══ MOBILE NAV ══════════════════════════════════════════ */
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border2);border-radius:12px;color:var(--text2);background:transparent;flex-shrink:0;transition:all .2s}
.nav-toggle:hover,.nav-toggle[aria-expanded="true"]{border-color:var(--em);color:var(--em)}
.donate-layout{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:start}
.cmd-key{display:inline}

/* ═══ TOUCH DEVICES — disable custom cursor ═══════════════ */
@media(hover:none),(pointer:coarse){
  body{cursor:auto}
  button,a,select,input,textarea{cursor:pointer}
  #cursor,#cursor-ring{display:none!important}
}

/* ═══ RESPONSIVE ══════════════════════════════════════════ */
@media(min-width:769px){
  body{padding-bottom:1rem}
  footer .legal-tagline{padding-bottom:1rem}
}
@media(max-width:900px){
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .articles-layout{grid-template-columns:1fr}
  .articles-sidebar{max-height:160px}
  .calc-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  .legal-grid{grid-template-columns:1fr}
  .cmp-head,.cmp-row{grid-template-columns:3fr 1fr 1fr}
  .cmp-head .cmp-cell:nth-child(3),.cmp-row .cmp-cell:nth-child(3){display:none}
  .donate-layout{grid-template-columns:1fr;gap:2rem}
  .donation-card{max-width:100%}
}
@media(max-width:768px){
  html{scroll-padding-top:calc(60px + var(--announce-h,0px))}
  #main-nav{top:var(--announce-h,0px)}
  #hero{padding-top:calc(60px + var(--announce-h,0px) + env(safe-area-inset-top,0))}
  .nav-toggle{display:flex}
  .nav-inner{padding:0 1rem;height:60px;position:relative}
  .nav-logo .logo-sub{display:none}
  .nav-logo .logo-text{font-size:1.3rem}
  .nav-actions,#nav-menu{
    position:absolute;top:100%;left:0;right:0;
    background:var(--glass);backdrop-filter:blur(32px);
    border-bottom:1px solid var(--border);
    padding:.75rem 1rem 1rem;gap:.5rem;
    flex-wrap:wrap;justify-content:flex-end;
    display:none;box-shadow:var(--shadow)
  }
  .nav-actions.open,#nav-menu.open{display:flex}
  #progress-counter{order:-1;width:100%;text-align:center}
  .btn{min-height:44px;padding:.55rem 1rem}
  .section{padding:3.5rem 1.25rem}
  .hero-year{font-size:clamp(3.5rem,18vw,5rem);margin-bottom:.25rem}
  .hero-h1{margin-bottom:1rem}
  .hero-sub{margin-bottom:2rem}
  .hero-ctas{flex-direction:column;width:100%;max-width:320px;margin:0 auto;gap:.75rem;position:relative;z-index:5}
  .cta-main,.cta-sec,.cta-canada{width:100%;justify-content:center;align-items:center;min-height:48px;text-align:center}
  .cta-canada{padding:.875rem 1.25rem}
  .hero-ctas .cta-main::after{display:none} /* avoid overlapping next buttons on mobile */
  .hero-share{margin-top:1rem}
  .articles-layout{min-height:0}
  .articles-sidebar{max-height:200px;border-bottom:1px solid var(--border)}
  .articles-main{max-height:none;min-height:280px;padding:1.25rem}
  #float-assert{font-size:.58rem;padding:.55rem .9rem}
}
@media(max-width:640px){
  .hero-h1{font-size:clamp(2.2rem,10vw,2.8rem)}
  .stats-strip{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr}
  .sign-form{flex-direction:column}
  .hero-share{gap:.3rem}
  .share-btn{font-size:.62rem;padding:.35rem .7rem;min-height:40px}
  .stat-block{padding:1.5rem 1rem}
  .stat-num{font-size:2.4rem}
  .cmd-key{display:none}
  .scroll-hint{display:none}
}
@media(max-width:420px){
  .hero-badge{padding:.35rem .85rem;margin-bottom:1.5rem}
  .badge-text{font-size:.55rem;letter-spacing:.12em}
  .hero-year{font-size:3.25rem}
  .nav-actions .btn{font-size:.7rem}
  .lang-switcher-nav select{max-width:130px}
}

/* ═══ HIGH CONTRAST MODE ══════════════════════════════════ */
@media(prefers-contrast:high){
  :root{--border:rgba(16,185,129,.4);--border2:rgba(16,185,129,.6)}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ═══ WAVE BACKGROUND (36% opacity) ═══════════════════════ */
#wave-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.36;overflow:hidden}
#wave-bg .wave-layer{position:absolute;left:0;width:200%;height:100%;bottom:0}
#wave-bg .wave-layer svg{display:block;width:100%;height:100%}
#wave-bg .wave-1{animation:wave-drift-1 18s ease-in-out infinite alternate;bottom:-5%}
#wave-bg .wave-2{animation:wave-drift-2 24s ease-in-out infinite alternate-reverse;bottom:-10%;opacity:.7}
#wave-bg .wave-3{animation:wave-drift-3 30s ease-in-out infinite alternate;bottom:-15%;opacity:.5}
@keyframes wave-drift-1{0%{transform:translateX(0) translateY(0)}100%{transform:translateX(-25%) translateY(-2%)}}
@keyframes wave-drift-2{0%{transform:translateX(-10%) translateY(0)}100%{transform:translateX(-30%) translateY(1%)}}
@keyframes wave-drift-3{0%{transform:translateX(-5%) translateY(0)}100%{transform:translateX(-20%) translateY(-1%)}}
body.waves-off #wave-bg{display:none}
body.battery-saver #wave-bg,#wave-bg.waves-paused{display:none}
#main-content,footer{position:relative;z-index:2}
.giveabit-footer-parent{display:inline-flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .25s,filter .25s,transform .25s}
.giveabit-footer-parent:hover{opacity:1;filter:drop-shadow(0 0 12px rgba(255,140,0,.45));transform:scale(1.04)}
.giveabit-footer-parent img{height:44px;width:auto;display:block;border-radius:0}
.parent-tagline{font-family:var(--mono);font-size:.5rem;color:var(--text3);letter-spacing:.12em;text-transform:uppercase}

/* ═══════════════════════════════════════════════════════════
   BUILD 689+ WORLD-CLASS DESIGN SYSTEM
═══════════════════════════════════════════════════════════ */

/* Focus visibility (WCAG) */
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--em);outline-offset:3px;box-shadow:var(--focus-ring)
}

/* Hero — captivating constitutional presence */
#hero{isolation:isolate}
.hero-glow{
  width:min(90vw,820px);height:min(90vw,820px);
  background:
    radial-gradient(circle at 40% 40%,rgba(16,185,129,.16) 0%,transparent 55%),
    radial-gradient(circle at 70% 60%,rgba(212,175,55,.08) 0%,transparent 50%);
  filter:blur(4px);
}
.hero-grid{opacity:.28;mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 20%,transparent 75%)}
.hero-badge{
  background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(212,175,55,.06));
  border-color:var(--border-gold);box-shadow:var(--glow-gold);
}
.hero-year{
  background:linear-gradient(180deg,var(--text3) 0%,rgba(90,106,90,.35) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  opacity:.9;
}
.hero-h1 .accent{
  background:linear-gradient(120deg,var(--em) 0%,var(--em2) 45%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  font-style:italic;
}
.hero-sub{max-width:560px;font-weight:400;color:var(--text2)}
.hero-proof{
  display:flex;flex-wrap:wrap;gap:.5rem .85rem;justify-content:center;
  margin:0 auto 2rem;max-width:640px;animation:fade-up .6s .45s both;
}
.hero-proof span{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text3);display:inline-flex;align-items:center;gap:.35rem;
}
.hero-proof span i{color:var(--em);font-size:.65rem}
.hero-ctas{gap:.85rem}
.cta-main{
  background:linear-gradient(135deg,#fff 0%,#e8fff5 100%);
  color:#041208;font-weight:700;letter-spacing:.01em;
  box-shadow:0 4px 24px rgba(16,185,129,.2);
  min-height:52px;padding:.95rem 2.4rem;
}
.cta-main:hover{
  background:linear-gradient(135deg,var(--em2) 0%,var(--em) 100%);
  color:#000;transform:translateY(-3px);
  box-shadow:0 16px 48px rgba(16,185,129,.35);
}
.cta-sec{
  border:1px solid var(--border2);color:var(--text);
  background:rgba(16,185,129,.04);min-height:52px;backdrop-filter:blur(8px);
}
.cta-sec:hover{border-color:var(--em);color:var(--em);background:rgba(16,185,129,.1);transform:translateY(-2px)}
.cta-canada{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:linear-gradient(135deg,rgba(212,175,55,.15),rgba(16,185,129,.1));
  border:1px solid var(--border-gold);color:var(--gold2);
  padding:.875rem 1.75rem;border-radius:var(--radius-pill);font-weight:600;font-size:.95rem;
  transition:all .25s var(--ease);min-height:52px;text-decoration:none;cursor:pointer;
  pointer-events:auto;position:relative;z-index:3;touch-action:manipulation;
  text-align:center;line-height:1.2;box-sizing:border-box;
}
.cta-canada:hover{background:rgba(212,175,55,.22);color:var(--gold);transform:translateY(-2px);box-shadow:var(--glow-gold)}
.cta-canada i{flex-shrink:0}
.hero-ctas .cta-main{position:relative;z-index:3}
.hero-ctas .cta-sec{position:relative;z-index:3}
.hero-ctas .cta-main::after{pointer-events:none}
.hero-urgency{
  margin-top:1.75rem;font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;
  color:var(--em2);animation:fade-up .6s .7s both;
}
.hero-urgency strong{color:var(--gold)}

/* Stats — honest & refined */
.stats-strip{gap:1px;background:var(--border);border-bottom:1px solid var(--border)}
.stat-block{
  background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);
  padding:2.5rem 1.5rem;position:relative;overflow:hidden;
}
.stat-block::after{
  content:'';position:absolute;inset:auto 0 0 0;height:2px;
  background:linear-gradient(90deg,transparent,var(--em),transparent);opacity:.5;
}
.stat-num{font-size:clamp(2.4rem,5vw,3.4rem);background:linear-gradient(180deg,var(--em2),var(--em));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-note{font-family:var(--mono);font-size:.5rem;color:var(--text3);margin-top:.35rem;letter-spacing:.08em}

/* Section breathing + chapter rhythm */
.section{padding:clamp(3.5rem,8vw,6.5rem) clamp(1.25rem,4vw,2rem)}
.section-h2 em{font-weight:300;color:var(--text2)}
.section-divider{
  height:1px;max-width:1280px;margin:0 auto;
  background:linear-gradient(90deg,transparent,var(--border2),transparent);
}

/* Sign section — conversion magnet */
#sign .sign-section{
  background:
    linear-gradient(145deg,rgba(16,185,129,.07) 0%,transparent 40%),
    var(--bg3);
  border:1px solid var(--border2);
  box-shadow:var(--glow),var(--shadow-sm);
  border-radius:1.75rem;padding:clamp(1.75rem,4vw,3rem);
}
#sign .sign-section::before{
  content:'§';right:1.25rem;top:-1.5rem;font-size:12rem;color:rgba(16,185,129,.06);
}
.sign-submit{
  min-height:48px;padding:.7rem 1.75rem;font-size:.9rem;
  box-shadow:0 4px 20px rgba(16,185,129,.25);
}
.sign-submit:hover{box-shadow:0 8px 32px rgba(16,185,129,.4)}
.sign-honesty{
  font-family:var(--mono);font-size:.62rem;color:var(--text3);margin-top:.75rem;line-height:1.6;
}
.sign-honesty i{color:var(--em)}

/* Coalition honesty redesign */
.org-section-note{
  max-width:640px;font-size:.9rem;color:var(--text2);line-height:1.7;margin:1rem 0 0;
}
.org-grid{gap:1px;border-radius:var(--radius-lg);overflow:hidden}
.org-card{
  background:var(--bg);padding:1.75rem 1.5rem;position:relative;
  border:none;transition:transform .25s var(--ease),background .25s;
}
.org-card:hover{background:var(--bg3);transform:translateY(-2px)}
.org-card.seek{border-left:2px solid var(--gold)}
.org-type{color:var(--text3)}
.org-status{
  display:inline-block;margin-top:.65rem;font-family:var(--mono);font-size:.52rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid var(--border-gold);
  padding:.2rem .55rem;border-radius:var(--radius-pill);
}
.org-join-cta{
  margin-top:2rem;padding:1.5rem 1.75rem;border-radius:var(--radius-lg);
  background:#0a1f16;border:1px solid #2a6b4f;display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:1rem;color:#fff;
}
.org-join-cta p{font-size:1rem;color:#ffffff;max-width:520px;line-height:1.7;margin:0;font-weight:500}
.org-join-cta strong{color:#9ff5d0;font-weight:800}
.org-join-cta .cta-main{color:#02140c!important}
.org-join-cta .cta-sec{color:#fff!important;background:#0f2a1e!important;border:1px solid #3de0a8!important}

/* Mobile bottom nav */
#mobile-bottom-nav{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:490;
  height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0));
  padding:0 .5rem env(safe-area-inset-bottom,0);
  background:var(--glass);backdrop-filter:blur(20px) saturate(1.2);
  border-top:1px solid var(--border2);
  box-shadow:0 -8px 32px rgba(0,0,0,.35);
}
#mobile-bottom-nav .mbn-inner{
  display:grid;grid-template-columns:repeat(4,1fr);height:var(--bottom-nav-h);max-width:520px;margin:0 auto;
}
.mbn-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;
  color:var(--text3);font-family:var(--mono);font-size:.52rem;letter-spacing:.06em;
  text-decoration:none;background:none;border:none;min-height:48px;cursor:pointer;transition:color .2s;
}
.mbn-btn i{font-size:1.05rem;margin-bottom:.1rem}
.mbn-btn:hover,.mbn-btn.active{color:var(--em)}
.mbn-btn.primary{
  color:#041208;background:var(--em);border-radius:var(--radius-pill);margin:.55rem .25rem;
  box-shadow:0 4px 16px rgba(16,185,129,.35);
}
.mbn-btn.primary:hover{color:#000;background:var(--em2)}
.mbn-btn.primary i{margin:0}
.mbn-btn.primary span{display:none}
@media(max-width:768px){
  #mobile-bottom-nav{display:block}
  body{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0) + .5rem)}
  #float-assert{bottom:calc(var(--bottom-nav-h) + 1rem + env(safe-area-inset-bottom,0))}
  #back-top{bottom:calc(var(--bottom-nav-h) + 1rem + env(safe-area-inset-bottom,0))}
  .a11y-toolbar{bottom:calc(var(--bottom-nav-h) + .75rem + env(safe-area-inset-bottom,0))}
  footer .legal-footer{padding-bottom:1rem}
}

/* Onboarding tour */
#onboard-overlay{
  display:none;position:fixed;inset:0;z-index:12000;
  background:rgba(0,0,0,.72);backdrop-filter:blur(10px);
  align-items:center;justify-content:center;padding:1.25rem;
}
#onboard-overlay.open{display:flex}
.onboard-card{
  max-width:420px;width:100%;background:var(--bg2);border:1px solid var(--border2);
  border-radius:1.5rem;padding:2rem 1.75rem;box-shadow:var(--shadow);position:relative;
  animation:fade-up .4s var(--ease);
}
.onboard-card h3{font-family:var(--serif);font-size:1.85rem;margin-bottom:.5rem;letter-spacing:-.02em}
.onboard-card p{font-size:.9rem;color:var(--text2);line-height:1.7;margin-bottom:1.5rem}
.onboard-steps{display:flex;gap:.4rem;margin-bottom:1.5rem}
.onboard-dot{width:8px;height:8px;border-radius:50%;background:var(--border2)}
.onboard-dot.active{background:var(--em);box-shadow:0 0 10px var(--em);width:22px;border-radius:4px}
.onboard-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.onboard-skip{font-family:var(--mono);font-size:.65rem;color:var(--text3);background:none;border:none;cursor:pointer;margin-top:1rem}
.onboard-skip:hover{color:var(--em)}

/* Charter modal product surface */
#charter-modal .modal-inner{max-width:920px}
#charter-modal .modal-header{
  background:linear-gradient(180deg,rgba(6,10,6,.98),rgba(6,10,6,.92));
  border-bottom:1px solid var(--border2);
}
.charter-seal{
  display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.5rem;
  font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;color:var(--gold);
  border:1px solid var(--border-gold);padding:.3rem .7rem;border-radius:var(--radius-pill);
}
.charter-article{
  background:linear-gradient(180deg,var(--bg2),var(--bg3));
  border:1px solid var(--border);
}
.charter-article:hover{
  border-color:var(--em);box-shadow:inset 3px 0 0 var(--em);
  transform:translateX(2px);
}
.charter-article[id^="art-"]{scroll-margin-top:6rem}
.charter-export-bar{
  display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;padding:.75rem;
  background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-md);
}
.charter-reading-width .ca-body{max-width:62ch;font-size:.9rem;line-height:1.9}

/* Theme menu chips */
.theme-chips{display:flex;gap:.35rem;flex-wrap:wrap}
.theme-chip{
  font-family:var(--mono);font-size:.58rem;padding:.35rem .65rem;border-radius:var(--radius-pill);
  border:1px solid var(--border2);background:var(--bg3);color:var(--text2);cursor:pointer;
}
.theme-chip.active,.theme-chip:hover{border-color:var(--em);color:var(--em)}

/* Parchment texture on mission quotes */
.mission-quote{
  background:
    linear-gradient(135deg,rgba(16,185,129,.06),rgba(212,175,55,.04)),
    var(--parchment);
  border-left-width:3px;box-shadow:var(--shadow-sm);
}

/* Pillars polish */
.pillar{
  background:linear-gradient(165deg,var(--bg2) 0%,var(--bg) 100%);
  position:relative;
}
.pillar:hover{box-shadow:inset 0 0 0 1px var(--em)}
.pillar-icon{box-shadow:0 0 20px rgba(16,185,129,.12)}

/* Reduced motion hardening */
@media(prefers-reduced-motion:reduce){
  .hero-glow,.hero-grid,#particle-canvas,.trust-scroll,.press-marquee-track,
  #wave-bg .wave-layer,.badge-dot,.audio-bar{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
  .cta-main:hover,.cta-sec:hover,.cta-canada:hover{transform:none}
}

/* Light theme contrast fixes */
[data-theme="light"] .hero-year{
  background:linear-gradient(180deg,var(--text3),rgba(106,122,106,.5));
  -webkit-background-clip:text;background-clip:text;
}
[data-theme="light"] .cta-sec{border-color:rgba(0,0,0,.12);color:var(--text2)}
[data-theme="light"] #status-dock,.a11y-toolbar{
  background:rgba(244,246,239,.94);
}
[data-theme="light"] .section-dots{
  background:linear-gradient(165deg,rgba(244,246,239,.96),rgba(232,238,224,.98));
  border-color:rgba(5,150,105,.4);
  box-shadow:0 12px 36px rgba(0,0,0,.1),0 0 0 1px rgba(212,175,55,.2);
}
[data-theme="light"] .section-dots::before{
  background:linear-gradient(180deg,transparent,rgba(5,150,105,.45),rgba(180,140,20,.4),transparent);
}
[data-theme="light"] .dot-link,.section-dot{
  background:rgba(5,150,105,.15);
  border-color:rgba(5,150,105,.55);
  box-shadow:0 0 0 2px rgba(244,246,239,.9);
}
[data-theme="light"] .dot-link::after,.section-dot::after{
  background:rgba(244,246,239,.98);color:#047857;border-color:rgba(5,150,105,.35);
}
[data-theme="light"] .stat-num{
  background:linear-gradient(180deg,#059669,var(--em));
  -webkit-background-clip:text;background-clip:text;
}

/* Print charter */
@media print{
  #mobile-bottom-nav,#onboard-overlay,.section-dots,#status-dock{display:none!important}
  .charter-article{break-inside:avoid;border:1px solid #999!important;background:#fff!important;color:#000!important}
  .ca-body,.ca-title{color:#000!important}
}

/* Utility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.text-balance{text-wrap:balance}

/* ═══ SIGN MAGNET + CONVERSION MICRO-UX ═══════════════════ */
@keyframes sign-glow-pulse{
  0%,100%{box-shadow:0 4px 20px rgba(16,185,129,.25)}
  50%{box-shadow:0 4px 36px rgba(16,185,129,.5),0 0 0 6px rgba(16,185,129,.08)}
}
#sign .sign-submit{animation:sign-glow-pulse 2.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
  #sign .sign-submit{animation:none}
}
.hero-ctas .cta-main{
  position:relative;
}
.hero-ctas .cta-main::after{
  content:'Free · 30 seconds';
  position:absolute;bottom:-1.35rem;left:50%;transform:translateX(-50%);
  font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;color:var(--text3);
  white-space:nowrap;opacity:.85;
}
@media(max-width:640px){
  .hero-ctas .cta-main::after{bottom:-1.2rem}
  .hero-ctas{margin-bottom:1.25rem}
}
/* Constitutional seal vignette on hero */
#hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse 80% 60% at 50% 40%,transparent 30%,rgba(5,8,6,.55) 100%);
}

/* ═══════════════════════════════════════════════════════════
   BUILD 734 — Flagship beauty lift (Digital Magna Carta)
   Emerald + gold parchment · HQ-aligned energy · mobile-safe
═══════════════════════════════════════════════════════════ */

/* Build badge (never hide — replaces old v2.0 product label) */
.sc-build-badge{
  display:inline-flex;align-items:center;vertical-align:middle;
  margin-left:.4rem;padding:.12rem .45rem;border-radius:99px;
  font-family:var(--mono);font-size:.48rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold2);background:rgba(212,175,55,.12);
  border:1px solid rgba(212,175,55,.4);
  box-shadow:0 0 14px rgba(212,175,55,.18);
}
.logo-text{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem .25rem}

/* Nav elevation */
#main-nav{
  border-bottom-color:rgba(16,185,129,.18);
  box-shadow:0 1px 0 rgba(212,175,55,.08),0 12px 40px -28px rgba(0,0,0,.65);
}
#main-nav.shrunk{
  box-shadow:var(--glow),0 1px 0 rgba(212,175,55,.12);
}
.nav-logo:hover .logo-text{color:var(--em2)}
.nav-logo:hover .sc-build-badge{
  border-color:rgba(212,175,55,.65);
  box-shadow:0 0 18px rgba(212,175,55,.3);
}
.logo-sub{color:var(--text3);letter-spacing:.12em}
.btn-primary{
  background:linear-gradient(135deg,var(--em),#0d9668);
  box-shadow:0 4px 18px rgba(16,185,129,.28);
}
.btn-primary:hover{
  background:linear-gradient(135deg,var(--em2),var(--em));
  transform:translateY(-1px);
}

/* Hero ribbon — parchment seal energy */
.hero-ribbon{
  display:inline-flex;align-items:center;justify-content:center;gap:.75rem;
  flex-wrap:wrap;margin:0 auto 1.25rem;animation:fade-up .55s .05s both;
}
.hero-ribbon-mark{
  font-family:var(--serif);font-size:.78rem;font-weight:700;
  letter-spacing:.06em;color:color-mix(in srgb,var(--gold) 70%,var(--text));
  display:inline-flex;align-items:center;gap:.4rem;
}
.hero-ribbon-mark i{color:var(--gold);font-size:.72rem}
.hero-ribbon-live{
  font-family:var(--mono);font-size:.55rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:.18rem .55rem;border-radius:99px;
  color:#86efac;border:1px solid rgba(34,197,94,.45);
  background:rgba(34,197,94,.12);
  box-shadow:0 0 14px rgba(34,197,94,.2);
}

/* Hero refinement */
.hero-badge{
  background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(212,175,55,.06));
  border-color:rgba(16,185,129,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 24px rgba(16,185,129,.08);
}
.hero-h1 .accent{
  background:linear-gradient(105deg,var(--em2),var(--gold2) 55%,var(--em));
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  font-style:italic;
}
.hero-year{
  background:linear-gradient(180deg,rgba(180,200,180,.95),rgba(100,130,100,.45));
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  opacity:1;
  filter:drop-shadow(0 0 40px rgba(18,199,138,.08));
}
.hero-proof{
  display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:center;
  margin:0 auto 1.75rem;max-width:640px;animation:fade-up .6s .42s both;
}
.hero-proof span{
  display:inline-flex;align-items:center;gap:.35rem;
  font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;
  color:var(--text2);padding:.35rem .7rem;border-radius:99px;
  background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.2);
  transition:border-color .2s,background .2s,transform .2s;
}
.hero-proof span i{color:var(--em);font-size:.55rem}
.hero-proof span:hover{
  border-color:rgba(212,175,55,.4);background:rgba(212,175,55,.06);
  transform:translateY(-1px);
}
.hero-urgency{
  margin-top:1.75rem;font-size:.78rem;color:var(--text3);
  animation:fade-up .6s .55s both;
}
.hero-urgency strong{color:var(--em2)}

/* CTA elevation */
.cta-main{
  background:linear-gradient(135deg,var(--em),#0d9668)!important;
  box-shadow:0 8px 28px rgba(16,185,129,.3)!important;
  border:1px solid rgba(110,231,183,.25);
}
.cta-main:hover{
  box-shadow:0 14px 40px rgba(16,185,129,.4)!important;
}
.cta-sec{
  border:1px solid rgba(16,185,129,.35)!important;
  backdrop-filter:blur(8px);
}
.cta-canada{
  background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(16,185,129,.08))!important;
  border:1px solid rgba(212,175,55,.4)!important;
  color:var(--gold2)!important;
}
.cta-canada:hover{
  background:linear-gradient(135deg,rgba(212,175,55,.2),rgba(16,185,129,.12))!important;
  box-shadow:0 0 24px rgba(212,175,55,.2);
}

/* Stats strip — glass pods */
.stats-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:
    radial-gradient(ellipse 50% 80% at 20% 50%,rgba(16,185,129,.06),transparent 60%),
    radial-gradient(ellipse 40% 80% at 80% 50%,rgba(212,175,55,.05),transparent 55%),
    var(--bg2);
}
.stat-block{
  padding:1.75rem 1.25rem;text-align:center;
  border-right:1px solid var(--border);
  transition:background .25s;
}
.stat-block:last-child{border-right:none}
.stat-block:hover{background:rgba(16,185,129,.04)}
.stat-num{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.03em;
  background:linear-gradient(180deg,var(--em2),var(--em));
  -webkit-background-clip:text;background-clip:text;
  color:transparent;line-height:1.1;
}
.stat-label{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text2);margin-top:.45rem;
}
.stat-note{font-size:.68rem;color:var(--text3);margin-top:.2rem}

/* Mission / sections */
.mission-quote{
  position:relative;
  border-left:3px solid transparent;
  border-image:linear-gradient(180deg,var(--gold),var(--em)) 1;
  background:linear-gradient(90deg,rgba(212,175,55,.06),transparent 70%);
  padding:1.25rem 1.5rem;margin:1.75rem 0;
  border-radius:0 var(--radius-md) var(--radius-md) 0;
}
.mission-quote p{
  font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.25rem);
  line-height:1.55;color:var(--text);font-style:italic;
}
.mission-quote cite{
  display:block;margin-top:.75rem;font-family:var(--mono);
  font-size:.62rem;letter-spacing:.08em;color:var(--gold);font-style:normal;
}
.section-label span{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--em);
  padding:.25rem .7rem;border-radius:99px;
  border:1px solid rgba(16,185,129,.3);background:rgba(16,185,129,.06);
}

/* Trust bar polish */
.trust-bar{
  background:linear-gradient(180deg,var(--bg2),var(--bg3));
  border-color:rgba(16,185,129,.16);
}
.trust-item{
  font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;
  color:var(--text2);white-space:nowrap;padding:0 1.25rem;
}
.trust-item i{color:var(--em);margin-right:.4rem}

/* Cards / articles / panels */
.charter-article,.feature-card,.ca-card,.sign-panel,.timeline-item{
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.charter-article:hover,.feature-card:hover{
  border-color:rgba(16,185,129,.35);
  box-shadow:0 12px 36px -16px rgba(0,0,0,.5),0 0 0 1px rgba(212,175,55,.08);
}

/* Social chips */
.social-official{
  backdrop-filter:blur(6px);
}
.social-official:hover{
  box-shadow:0 0 16px rgba(16,185,129,.15);
}

/* Status dock */
#status-dock{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;
  border:1px solid rgba(16,185,129,.28)!important;
  background:rgba(8,14,8,.92)!important;
  box-shadow:0 0 20px rgba(16,185,129,.12);
}

/* Gold hairline accents on key sections */
#mission.section::before,
#sign.section::before{
  content:'';display:block;height:1px;max-width:120px;margin:0 auto 1.5rem;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.55;
}

/* Treasury / static pages body class polish (when .tr used) */
body.tr{
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%,rgba(16,185,129,.08),transparent 50%),
    radial-gradient(ellipse 60% 40% at 100% 100%,rgba(212,175,55,.05),transparent 45%),
    var(--bg);
}
body.tr .card{
  border-color:rgba(16,185,129,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 12px 40px -20px rgba(0,0,0,.55);
  background:linear-gradient(165deg,var(--bg2),var(--bg3));
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
body.tr .card:hover{
  border-color:rgba(212,175,55,.3);
  box-shadow:0 16px 48px -18px rgba(0,0,0,.6),0 0 28px rgba(212,175,55,.08);
  transform:translateY(-2px);
}
body.tr h1{
  background:linear-gradient(105deg,var(--text),color-mix(in srgb,var(--gold) 40%,var(--text)));
  -webkit-background-clip:text;background-clip:text;
}
body.tr .rail.live .tag,
body.tr .tag.live{
  box-shadow:0 0 10px rgba(16,185,129,.25);
}

/* Canada pages */
body.ca-page .hero-ca,
.canada-hero{
  position:relative;
}
body .ca-hero-ribbon{
  display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  margin-bottom:1rem;
}
body .ca-hero-ribbon .mark{
  font-family:var(--serif);font-size:.8rem;color:var(--gold2);
}
body .ca-hero-ribbon .live{
  font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;
  text-transform:uppercase;padding:.15rem .5rem;border-radius:99px;
  color:#86efac;border:1px solid rgba(34,197,94,.4);background:rgba(34,197,94,.1);
}

/* Responsive */
@media(max-width:900px){
  .stats-strip{grid-template-columns:1fr 1fr}
  .stat-block:nth-child(2){border-right:none}
  .stat-block:nth-child(1),.stat-block:nth-child(2){border-bottom:1px solid var(--border)}
  .sc-build-badge{font-size:.42rem;padding:.1rem .35rem}
}
@media(max-width:540px){
  .stats-strip{grid-template-columns:1fr}
  .stat-block{border-right:none;border-bottom:1px solid var(--border)}
  .stat-block:last-child{border-bottom:none}
  .hero-ribbon-mark{font-size:.7rem}
  .logo-text{font-size:1.35rem}
}
@media(prefers-reduced-motion:reduce){
  .hero-ribbon,.hero-proof,.hero-urgency{animation:none}
  body.tr .card:hover{transform:none}
  .btn-primary:hover{transform:none}
}

/* Ambient control removed */
#audio-indicator{display:none!important}

/* ═══════════════════════════════════════════════════════════
   BUILD 760 — Hardcore beauty upgrade
   Emerald–gold luxury · rail nav · high-signal contrast · sexy motion
═══════════════════════════════════════════════════════════ */

/* Build badge pulse */
.sc-build-badge{
  color:var(--gold2)!important;
  background:linear-gradient(135deg,rgba(224,184,58,.18),rgba(18,199,138,.1))!important;
  border-color:rgba(224,184,58,.55)!important;
  box-shadow:0 0 18px rgba(224,184,58,.28)!important;
}

/* Nav glass richer */
#main-nav{
  background:linear-gradient(180deg,rgba(6,12,8,.94),rgba(6,12,8,.88))!important;
  border-bottom:1px solid rgba(52,211,153,.22)!important;
  box-shadow:0 1px 0 rgba(224,184,58,.1),0 16px 48px -28px rgba(0,0,0,.75)!important;
}
.logo-icon{
  box-shadow:0 0 22px rgba(18,199,138,.45),0 0 40px rgba(224,184,58,.12)!important;
}
.btn-primary{
  background:linear-gradient(135deg,var(--em2),var(--em) 55%,#0b9a6a)!important;
  color:#02140c!important;font-weight:700;
  box-shadow:0 6px 24px rgba(18,199,138,.35),inset 0 1px 0 rgba(255,255,255,.25)!important;
  border:1px solid rgba(122,240,196,.35)!important;
}
.btn-primary:hover{
  background:linear-gradient(135deg,var(--em3),var(--em2))!important;
  box-shadow:0 10px 36px rgba(18,199,138,.5),0 0 20px rgba(224,184,58,.15)!important;
  transform:translateY(-1px);
}
.btn-ghost:hover{
  box-shadow:0 0 18px rgba(18,199,138,.2);
}

/* Hero atmosphere */
.hero-glow{
  width:min(95vw,900px)!important;height:min(95vw,900px)!important;
  background:
    radial-gradient(circle at 38% 38%,rgba(18,199,138,.22) 0%,transparent 52%),
    radial-gradient(circle at 72% 58%,rgba(224,184,58,.12) 0%,transparent 48%),
    radial-gradient(circle at 50% 50%,rgba(18,199,138,.06) 0%,transparent 70%)!important;
  filter:blur(2px)!important;
}
.hero-badge{
  background:linear-gradient(135deg,rgba(18,199,138,.16),rgba(224,184,58,.08))!important;
  border-color:rgba(224,184,58,.4)!important;
  box-shadow:0 0 28px rgba(18,199,138,.15),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.badge-dot{
  width:8px!important;height:8px!important;
  box-shadow:0 0 12px var(--em),0 0 22px rgba(18,199,138,.6)!important;
}
.hero-h1 .accent{
  background:linear-gradient(110deg,var(--em3) 0%,var(--em2) 30%,var(--gold2) 55%,var(--em) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;
  filter:drop-shadow(0 0 24px rgba(18,199,138,.25));
}
.cta-main{
  background:linear-gradient(135deg,var(--em2) 0%,var(--em) 50%,#0c9d6c 100%)!important;
  color:#02140c!important;
  border:1px solid rgba(122,240,196,.4)!important;
  box-shadow:0 10px 36px rgba(18,199,138,.38),inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.cta-main:hover{
  background:linear-gradient(135deg,#9ff5d0,var(--em2))!important;
  box-shadow:0 18px 52px rgba(18,199,138,.5),0 0 28px rgba(224,184,58,.18)!important;
}
.cta-sec{
  border-color:rgba(52,211,153,.42)!important;
  background:rgba(18,199,138,.07)!important;
  backdrop-filter:blur(12px);
}
.cta-canada{
  background:linear-gradient(135deg,rgba(224,184,58,.18),rgba(18,199,138,.1))!important;
  border-color:rgba(224,184,58,.5)!important;
  color:var(--gold2)!important;
  box-shadow:0 0 24px rgba(224,184,58,.12)!important;
}
.cta-canada:hover{
  box-shadow:0 0 36px rgba(224,184,58,.28)!important;
}
.scroll-hint{opacity:.65!important}
.scroll-hint span{color:var(--em2)!important;letter-spacing:.18em}

/* Stats pods */
.stat-num{
  background:linear-gradient(180deg,var(--em3),var(--em))!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;
  filter:drop-shadow(0 0 18px rgba(18,199,138,.2));
}
.stat-block:hover{
  background:linear-gradient(180deg,rgba(18,199,138,.08),transparent)!important;
}
.stat-block::after{
  height:2px!important;opacity:.75!important;
  background:linear-gradient(90deg,transparent,var(--em2),var(--gold),transparent)!important;
}
.stat-label{color:var(--text2)!important}
.stat-note{color:#9aaf9a!important}

/* Pillars — tactile */
.pillar{
  background:linear-gradient(165deg,var(--bg3) 0%,var(--bg2) 55%,var(--bg) 100%)!important;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s!important;
}
.pillar:hover{
  transform:translateY(-4px)!important;
  box-shadow:inset 0 0 0 1px rgba(52,211,153,.45),0 20px 48px -20px rgba(0,0,0,.55),0 0 32px rgba(18,199,138,.1)!important;
}
.pillar-num{
  background:linear-gradient(180deg,rgba(52,211,153,.55),rgba(52,211,153,.12));
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}
.pillar-icon{
  background:linear-gradient(145deg,rgba(18,199,138,.16),rgba(224,184,58,.06))!important;
  border-color:rgba(52,211,153,.45)!important;
  box-shadow:0 0 24px rgba(18,199,138,.2)!important;
}

/* Mission parchment */
.mission-quote{
  background:
    linear-gradient(90deg,rgba(224,184,58,.1),rgba(18,199,138,.04) 55%,transparent),
    var(--parchment)!important;
  box-shadow:0 12px 40px -20px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04)!important;
}

/* Sign magnet */
#sign .sign-submit{
  background:linear-gradient(135deg,var(--em2),var(--em))!important;
  color:#02140c!important;
  box-shadow:0 6px 28px rgba(18,199,138,.4)!important;
  border:1px solid rgba(122,240,196,.3);
}
.sign-panel,.calc-card,.feature-card,.charter-article,.nostr-panel,.video-wrapper{
  border-color:rgba(52,211,153,.22)!important;
}
.sign-panel:hover,.calc-card:hover,.feature-card:hover{
  border-color:rgba(52,211,153,.42)!important;
  box-shadow:0 16px 48px -18px rgba(0,0,0,.55),0 0 0 1px rgba(224,184,58,.1)!important;
}

/* Timeline nodes */
.timeline-item::before{
  width:11px!important;height:11px!important;
  border-width:2px!important;
  box-shadow:0 0 14px var(--em),0 0 24px rgba(18,199,138,.35)!important;
}

/* Trust / press chips */
.trust-item{color:var(--text2)!important}
.trust-item i{color:var(--em2)!important;filter:drop-shadow(0 0 6px rgba(18,199,138,.5))}
.star-pill,.tag-cloud-btn{
  color:var(--em2)!important;
  border-color:rgba(52,211,153,.4)!important;
  background:linear-gradient(135deg,rgba(18,199,138,.1),rgba(8,14,10,.9))!important;
}
.star-pill:hover,.tag-cloud-btn:hover{
  border-color:var(--gold)!important;color:var(--gold2)!important;
  box-shadow:0 0 16px rgba(224,184,58,.2);
}

/* Float assert + status dock */
#float-assert{
  background:linear-gradient(135deg,rgba(12,22,14,.96),rgba(6,12,8,.97))!important;
  border-color:var(--em)!important;
  box-shadow:0 0 28px rgba(18,199,138,.25),0 12px 36px rgba(0,0,0,.4)!important;
}
#status-dock{
  border-color:rgba(52,211,153,.4)!important;
  background:linear-gradient(145deg,rgba(8,16,12,.95),rgba(4,8,6,.96))!important;
  box-shadow:0 0 24px rgba(18,199,138,.18),inset 0 1px 0 rgba(255,255,255,.05)!important;
}

/* Section labels */
.section-label{color:var(--em2)!important}
.section-label::before{
  background:linear-gradient(90deg,var(--em),var(--gold))!important;
  width:28px!important;height:2px!important;
  box-shadow:0 0 8px rgba(18,199,138,.5);
}

/* Links underline sexy */
.footer-contact a,.mission-prose a,a[href^="mailto"]{
  text-decoration-color:rgba(18,199,138,.45);
  text-underline-offset:3px;
}

/* Prefer-reduced-motion */
@media(prefers-reduced-motion:reduce){
  .dot-link.active,.section-dot.active{animation:none!important}
  .pillar:hover,#back-top:hover,.btn-primary:hover{transform:none!important}
}

/* High-contrast mode keeps rail readable */
body.high-contrast .section-dots,
[data-theme="high-contrast"] .section-dots{
  border-color:var(--em)!important;background:#000!important;
}
body.high-contrast .dot-link,
body.high-contrast .section-dot,
[data-theme="high-contrast"] .dot-link{
  border-color:var(--em3)!important;background:rgba(0,255,157,.25)!important;
}

/* ═══════════════════════════════════════════════════════════
   BUILD 770 — Phase A flagship surfaces
   Institutional nav · ceremonial hero · type clarity · mobile
═══════════════════════════════════════════════════════════ */

/* ——— Type clarity (global) ——— */
body{font-size:16.5px;line-height:1.7;color:var(--text)}
.section-h2{color:var(--text);text-shadow:0 2px 40px rgba(0,0,0,.35)}
.section-label{color:var(--em2)!important;font-weight:600}
.mission-prose,.art-body,.pillar p,.tl-body{color:var(--text2)!important}
.mission-prose strong,.art-body strong{color:var(--text)!important}
.stat-label,.trust-item{color:var(--text2)!important}
.stat-note,.logo-sub,.footer-contact{color:var(--text3)}

/* ——— Header: institution, not toolbar ——— */
#main-nav{
  border-bottom:1px solid rgba(52,211,153,.22)!important;
  background:linear-gradient(180deg,rgba(4,10,7,.96),rgba(4,10,7,.88))!important;
  backdrop-filter:blur(28px) saturate(1.35)!important;
  -webkit-backdrop-filter:blur(28px) saturate(1.35)!important;
  box-shadow:0 1px 0 rgba(240,208,96,.1),0 16px 48px -28px rgba(0,0,0,.75)!important;
}
#main-nav.shrunk{
  box-shadow:0 1px 0 rgba(240,208,96,.14),0 0 32px rgba(20,212,146,.12),0 12px 40px -20px rgba(0,0,0,.7)!important;
}
.nav-inner{
  max-width:1200px;height:72px;padding:0 1.5rem;
  display:flex;align-items:center;gap:1rem;
}
.nav-logo{gap:.7rem;min-width:0}
.nav-logo .giveabit-brand-logo{
  height:38px;width:38px;border-radius:10px;
  box-shadow:0 0 0 1px rgba(52,211,153,.35),0 0 20px rgba(20,212,146,.25);
}
.nav-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;min-width:0}
.logo-text{
  font-family:var(--serif)!important;font-size:1.55rem!important;font-weight:700;
  letter-spacing:-.02em;color:var(--text);line-height:1;display:block!important;
}
.logo-sub{
  font-family:var(--mono)!important;font-size:.52rem!important;font-weight:500;
  letter-spacing:.16em!important;text-transform:uppercase;
  color:var(--gold2)!important;opacity:.95;margin:0!important;
  padding-bottom:1px;
  border-bottom:1px solid rgba(240,208,96,.35);
}
.nav-logo:hover .logo-text{color:var(--em3)}
.nav-logo:hover .logo-sub{border-bottom-color:var(--gold2)}

/* Desktop primary text links */
.nav-primary{
  display:none;align-items:center;gap:.15rem;flex:1;justify-content:center;
}
.nav-link{
  font-family:var(--sans);font-size:.88rem;font-weight:550;
  color:var(--text2);padding:.5rem .95rem;border-radius:100px;
  background:transparent;border:none;text-decoration:none;
  transition:color .2s,background .2s;cursor:pointer;
  letter-spacing:.01em;
}
.nav-link:hover,.nav-link:focus-visible{
  color:var(--text);background:rgba(20,212,146,.08);
  outline:none;
}

.nav-end{
  display:flex;align-items:center;gap:.4rem;flex-shrink:0;margin-left:auto;
}
.nav-signed,#progress-counter.nav-signed{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;
  color:var(--em2);padding:.28rem .6rem;border-radius:100px;
  border:1px solid rgba(52,211,153,.35);background:rgba(20,212,146,.08);
  white-space:nowrap;animation:none;
}
.nav-icon-btn{
  display:none;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(52,211,153,.28);background:transparent;
  color:var(--text2);transition:all .2s;cursor:pointer;
}
.nav-icon-btn:hover{border-color:var(--em);color:var(--em2);background:rgba(20,212,146,.08)}

/* The one CTA that matters in the header */
.btn-sign{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.55rem 1.25rem;min-height:42px;border-radius:100px;
  font-size:.82rem;font-weight:700;letter-spacing:.02em;
  color:#02140c!important;border:1px solid rgba(143,245,204,.45)!important;
  background:linear-gradient(135deg,var(--em3),var(--em) 55%,#0c9d6c)!important;
  box-shadow:0 4px 20px rgba(20,212,146,.4),0 0 0 1px rgba(240,208,96,.15),inset 0 1px 0 rgba(255,255,255,.3)!important;
  transition:transform .2s,box-shadow .2s;
  cursor:pointer;white-space:nowrap;
}
.btn-sign:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 28px rgba(20,212,146,.5),0 0 24px rgba(240,208,96,.2),inset 0 1px 0 rgba(255,255,255,.35)!important;
}

/* Mobile sheet — full ceremony panel */
.nav-actions,#nav-menu{
  /* desktop: hidden (tools live in nav-end / sheet only mobile) */
}
@media(min-width:769px){
  .nav-primary{display:flex}
  .nav-icon-btn{display:inline-flex}
  .nav-actions,#nav-menu{display:none!important}
  .nav-toggle{display:none!important}
}
@media(max-width:768px){
  .nav-primary{display:none!important}
  .nav-icon-btn{display:none}
  .nav-signed{display:none}
  .nav-inner{height:60px;padding:0 .85rem;gap:.5rem}
  .logo-text{font-size:1.28rem!important}
  .logo-sub{font-size:.45rem!important;letter-spacing:.12em!important}
  .btn-sign{padding:.45rem .9rem;min-height:40px;font-size:.78rem}
  .btn-sign span{/* keep label on mobile — critical */}
  .nav-toggle{
    display:flex!important;width:42px;height:42px;border-radius:12px;
    border:1px solid rgba(52,211,153,.4);color:var(--em2);
    background:rgba(20,212,146,.06);
  }
  .nav-actions,#nav-menu{
    position:fixed!important;top:calc(60px + var(--announce-h,0px));
    left:0;right:0;bottom:0;z-index:499;
    display:none;flex-direction:column;align-items:stretch;
    gap:.35rem;padding:1rem 1.1rem 2rem;
    background:linear-gradient(180deg,rgba(4,10,7,.98),rgba(3,6,5,.99))!important;
    backdrop-filter:blur(24px)!important;
    border-bottom:none!important;
    box-shadow:none!important;
    overflow-y:auto;
    justify-content:flex-start!important;
  }
  .nav-actions.open,#nav-menu.open{display:flex!important}
  body.nav-open{overflow:hidden}
  .nav-sheet-head{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:.75rem;padding-bottom:.75rem;
    border-bottom:1px solid rgba(52,211,153,.2);
  }
  .nav-sheet-kicker{
    font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;
    text-transform:uppercase;color:var(--gold2);
  }
  .nav-sheet-link{
    display:flex;align-items:center;gap:.75rem;
    padding:1rem 1.1rem;min-height:52px;border-radius:14px;
    font-size:1.05rem;font-weight:600;color:var(--text);
    text-decoration:none;background:rgba(18,28,20,.65);
    border:1px solid rgba(52,211,153,.18);
    transition:border-color .2s,background .2s;
    cursor:pointer;width:100%;text-align:left;
  }
  .nav-sheet-link i{color:var(--em2);width:1.25rem;text-align:center}
  .nav-sheet-link:hover,.nav-sheet-link:active{
    border-color:rgba(52,211,153,.45);background:rgba(20,212,146,.1);
  }
  .nav-sheet-sign{
    background:linear-gradient(135deg,rgba(20,212,146,.22),rgba(240,208,96,.1))!important;
    border-color:rgba(52,211,153,.45)!important;color:#e8fff5!important;
    box-shadow:0 8px 28px rgba(20,212,146,.2);
  }
  .nav-sheet-tools{
    display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;
    border-top:1px solid rgba(52,211,153,.15);
  }
  .nav-sheet-tools .btn{flex:1;min-width:120px;justify-content:center}
  .nav-sheet-tools .lang-switcher-nav{flex:1 1 100%}
  .nav-sheet-tools select{width:100%;min-height:48px;padding:.65rem 1rem;font-size:.9rem}
}

/* ——— Hero ceremony ——— */
#hero{
  min-height:min(100svh,920px);
  padding:calc(72px + var(--announce-h,0px) + 1.5rem) 1.25rem 4.5rem;
  isolation:isolate;
}
.hero-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-vignette{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 85% 70% at 50% 42%,transparent 0%,rgba(3,6,5,.25) 55%,rgba(3,6,5,.82) 100%),
    linear-gradient(180deg,rgba(3,6,5,.2) 0%,transparent 30%,rgba(3,6,5,.55) 100%);
}
.hero-parchment{
  position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);
  width:min(920px,92vw);height:min(520px,62vh);
  background:
    radial-gradient(ellipse at center,rgba(232,197,71,.07) 0%,rgba(20,212,146,.06) 40%,transparent 70%);
  filter:blur(2px);
}
.hero-shaft{
  position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(480px,70vw);height:55%;
  background:linear-gradient(180deg,rgba(20,212,146,.14) 0%,rgba(240,208,96,.04) 40%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
}
.hero-glow{
  width:min(100vw,980px)!important;height:min(100vw,980px)!important;
  top:38%!important;
  background:
    radial-gradient(circle at 40% 40%,rgba(20,212,146,.28) 0%,transparent 48%),
    radial-gradient(circle at 68% 55%,rgba(240,208,96,.14) 0%,transparent 42%)!important;
  filter:blur(6px)!important;opacity:1!important;
}
.hero-grid{
  opacity:.22!important;
  background-size:56px 56px!important;
  mask-image:radial-gradient(ellipse 65% 55% at 50% 45%,#000 15%,transparent 72%)!important;
}
.hero-inner{max-width:820px;z-index:2;padding:clamp(.5rem,3vw,1.5rem)}

.hero-kicker{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem .55rem;
  margin:0 auto 1.5rem;padding:.4rem .95rem;
  font-family:var(--mono);font-size:.68rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--text2);
  background:linear-gradient(135deg,rgba(20,212,146,.12),rgba(240,208,96,.08));
  border:1px solid rgba(240,208,96,.4);
  border-radius:100px;
  box-shadow:0 0 28px rgba(20,212,146,.12),inset 0 1px 0 rgba(255,255,255,.06);
  animation:fade-up .55s .05s both;
}
.hero-kicker-line{color:var(--gold2);letter-spacing:.14em}
.hero-kicker-dot{
  width:4px;height:4px;border-radius:50%;background:var(--em2);
  box-shadow:0 0 8px var(--em);opacity:.9;
}
.hero-kicker-live{
  color:#86efac;padding:.12rem .45rem;border-radius:99px;
  border:1px solid rgba(34,197,94,.5);background:rgba(34,197,94,.14);
  font-size:.58rem;letter-spacing:.14em;
}

/* Kill legacy dual chrome if any leftover */
.hero-ribbon,.hero-badge,.hero-year{display:none!important}

.hero-h1{
  font-family:var(--serif)!important;
  font-size:clamp(2.65rem,8.5vw,5.75rem)!important;
  line-height:.98!important;font-weight:700;letter-spacing:-.03em;
  color:var(--text)!important;margin:0 auto 1.25rem!important;
  text-shadow:0 4px 48px rgba(0,0,0,.45);
  animation:fade-up .6s .15s both;
}
.hero-h1 .accent{
  font-style:italic;
  background:linear-gradient(115deg,var(--em3) 0%,var(--em2) 28%,var(--gold2) 52%,var(--em) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 32px rgba(20,212,146,.35));
}
.hero-sub{
  font-size:clamp(1.05rem,2.2vw,1.3rem)!important;
  line-height:1.65!important;font-weight:400;
  color:var(--text2)!important;max-width:34em!important;
  margin:0 auto 1.75rem!important;
  text-shadow:0 2px 24px rgba(0,0,0,.35);
  animation:fade-up .6s .25s both;
}
.hero-proof{
  display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;
  margin:0 auto 2rem!important;max-width:560px;
  animation:fade-up .6s .32s both;
}
.hero-proof span{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--mono);font-size:.7rem!important;font-weight:500;
  letter-spacing:.04em;color:var(--text)!important;
  padding:.45rem .85rem!important;border-radius:100px;
  background:rgba(12,22,16,.75)!important;
  border:1px solid rgba(52,211,153,.4)!important;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.hero-proof span i{color:var(--em2)!important;font-size:.65rem}

.hero-ctas{
  display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;
  margin:0 auto;animation:fade-up .6s .4s both;
}
.cta-main{
  min-height:56px!important;padding:1rem 2.35rem!important;
  font-size:1.05rem!important;font-weight:700!important;
  color:#02140c!important;
  background:linear-gradient(135deg,#b8fce0 0%,var(--em2) 35%,var(--em) 100%)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:100px;
  box-shadow:
    0 10px 40px rgba(20,212,146,.45),
    0 0 0 1px rgba(240,208,96,.2),
    inset 0 1px 0 rgba(255,255,255,.45)!important;
  position:relative;z-index:3;
}
.cta-main:hover{
  transform:translateY(-3px)!important;
  background:linear-gradient(135deg,#e0fff1,var(--em3) 40%,var(--em2))!important;
  box-shadow:0 18px 52px rgba(20,212,146,.55),0 0 32px rgba(240,208,96,.22)!important;
}
.cta-main::after{display:none!important} /* kill "Free · 30 seconds" under CTA clutter */
.cta-sec{
  min-height:56px!important;padding:1rem 1.85rem!important;
  font-size:1rem!important;font-weight:600!important;
  color:var(--text)!important;
  background:rgba(8,16,12,.55)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:100px;backdrop-filter:blur(12px);
}
.cta-sec:hover{
  border-color:var(--em2)!important;color:var(--em3)!important;
  background:rgba(20,212,146,.1)!important;transform:translateY(-2px);
}
.hero-canada-link{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  margin:1.15rem auto 0;font-family:var(--mono);font-size:.72rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  color:var(--gold2)!important;transition:color .2s,gap .2s;
  animation:fade-up .55s .48s both;
}
.hero-canada-link:hover{color:var(--gold)!important;gap:.65rem}
.hero-canada-link i{font-size:.65rem}
.hero-urgency{
  margin-top:1.35rem!important;font-size:.8rem!important;
  color:var(--text3)!important;letter-spacing:.02em;
  animation:fade-up .55s .55s both;
}
.hero-urgency strong{color:var(--em2)!important;font-weight:700}
.scroll-hint{
  opacity:.75!important;bottom:max(1.5rem,env(safe-area-inset-bottom))!important;
  z-index:3;
}
.scroll-hint i{color:var(--em2);font-size:.75rem;margin-bottom:.25rem}
.scroll-hint span{color:var(--em2)!important;font-size:.62rem!important;letter-spacing:.18em}

/* Meta bar below fold */
.hero-meta-bar{
  padding:1.25rem 1.25rem 1.5rem;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,rgba(9,17,12,.9),var(--bg2));
}
.hero-meta-bar .hero-share{margin:0 auto .75rem;justify-content:center}
.hero-meta-bar .hero-share-official{margin:0;justify-content:center}
.hero-share-official{margin-top:0!important;animation:none!important}
.social-official{
  color:var(--text2)!important;border-color:rgba(52,211,153,.3)!important;
  background:rgba(12,20,14,.7)!important;
}
.social-official:hover{color:var(--em2)!important;border-color:var(--em)!important}

/* ——— Mobile hero ——— */
@media(max-width:768px){
  #hero{
    min-height:auto;
    padding:calc(60px + var(--announce-h,0px) + 1.25rem) 1rem calc(5.5rem + env(safe-area-inset-bottom));
    align-items:flex-start;
  }
  .hero-parchment{height:70%;width:100%}
  .hero-kicker{
    font-size:.58rem;padding:.35rem .7rem;margin-bottom:1.15rem;
    gap:.3rem .4rem;max-width:100%;
  }
  .hero-h1{
    font-size:clamp(2.4rem,11vw,3.1rem)!important;
    margin-bottom:1rem!important;
  }
  .hero-sub{
    font-size:1.05rem!important;margin-bottom:1.35rem!important;
    max-width:100%!important;
  }
  .hero-proof{margin-bottom:1.5rem!important;gap:.4rem}
  .hero-proof span{font-size:.62rem!important;padding:.4rem .7rem!important}
  .hero-ctas{
    flex-direction:column;width:100%;max-width:100%;gap:.65rem;
  }
  .cta-main,.cta-sec{
    width:100%;justify-content:center;min-height:54px!important;
    font-size:1rem!important;padding:.95rem 1.25rem!important;
  }
  .hero-canada-link{margin-top:1rem;font-size:.68rem}
  .hero-urgency{font-size:.72rem!important;margin-top:1.1rem!important;padding:0 .5rem}
  .scroll-hint{display:none!important}
  .hero-meta-bar{padding:1rem .85rem 1.25rem}
  .hero-meta-bar .social-official{font-size:.58rem;padding:.35rem .6rem}
  /* room for mobile bottom nav */
  body{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0) + .75rem)!important}
}

@media(max-width:420px){
  .hero-h1{font-size:2.25rem!important}
  .btn-sign span{/* always show */}
  .nav-logo .logo-sub{display:none}
}

/* ——— Mobile bottom nav — premium sticky Sign ——— */
#mobile-bottom-nav{
  background:linear-gradient(180deg,rgba(6,14,10,.94),rgba(3,6,5,.98))!important;
  border-top:1px solid rgba(52,211,153,.35)!important;
  box-shadow:0 -12px 40px rgba(0,0,0,.5),0 -1px 0 rgba(240,208,96,.1)!important;
  backdrop-filter:blur(24px) saturate(1.3)!important;
}
#mobile-bottom-nav .mbn-inner{
  grid-template-columns:1fr 1.35fr 1fr 1fr;max-width:560px;gap:.15rem;
  padding:0 .35rem;
}
.mbn-btn{
  color:var(--text2)!important;font-size:.55rem!important;font-weight:500;
  min-height:52px;gap:.25rem;border-radius:12px;
}
.mbn-btn i{font-size:1.15rem;color:var(--text2)}
.mbn-btn:hover,.mbn-btn:active{color:var(--em2)!important}
.mbn-btn:hover i,.mbn-btn:active i{color:var(--em2)}
.mbn-btn.primary{
  color:#02140c!important;font-weight:700;
  margin:.45rem .2rem!important;min-height:48px;
  background:linear-gradient(135deg,var(--em3),var(--em))!important;
  border:1px solid rgba(255,255,255,.25)!important;
  border-radius:100px!important;
  box-shadow:0 6px 22px rgba(20,212,146,.45),0 0 0 1px rgba(240,208,96,.15)!important;
}
.mbn-btn.primary i{color:#02140c!important;font-size:1.2rem}
.mbn-btn.primary span{display:inline!important;font-size:.62rem;letter-spacing:.06em}

/* Section breathing after hero */
.trust-bar{
  background:linear-gradient(180deg,var(--bg2),var(--bg3))!important;
  border-color:rgba(52,211,153,.2)!important;
}
.trust-item{color:var(--text2)!important;font-size:.7rem!important}
.trust-item i{color:var(--em2)!important}

/* Pillars / mission first content lift */
.pillar h3,.tl-title,.art-title{color:var(--text)!important}
.pillar p{color:var(--text2)!important}
.mission-quote p{color:var(--text)!important;font-size:clamp(1.15rem,2.4vw,1.4rem)!important}

/* Light theme Phase A */
[data-theme="light"] #main-nav{
  background:linear-gradient(180deg,rgba(244,246,239,.97),rgba(244,246,239,.92))!important;
  border-bottom-color:rgba(5,150,105,.2)!important;
}
[data-theme="light"] .logo-text{color:var(--text)!important}
[data-theme="light"] .logo-sub{color:#b8860b!important;border-bottom-color:rgba(184,134,11,.4)}
[data-theme="light"] .nav-link{color:var(--text2)}
[data-theme="light"] .btn-sign{color:#042!important}
[data-theme="light"] .hero-kicker{background:rgba(5,150,105,.08);color:var(--text2)}
[data-theme="light"] .hero-sub{color:var(--text2)!important}
[data-theme="light"] .cta-sec{background:rgba(255,255,255,.7)!important;color:var(--text)!important}
[data-theme="light"] .hero-vignette,
[data-theme="light"] .hero-shaft{opacity:.45}

@media(prefers-reduced-motion:reduce){
  .hero-kicker,.hero-h1,.hero-sub,.hero-proof,.hero-ctas,.hero-canada-link,.hero-urgency{animation:none!important}
  .cta-main:hover,.cta-sec:hover,.btn-sign:hover{transform:none!important}
}

/* ═══════════════════════════════════════════════════════════
   BUILD 772 — Header + background rescue
   Opaque cinema bar · no light wash · deep hero stage
═══════════════════════════════════════════════════════════ */

/* Always-dark product surface under first fold (kills pale bleed) */
html,body{
  background-color:#030605!important;
}
html[data-theme="light"],html[data-theme="light"] body{
  background-color:var(--bg)!important;
}

/* ——— HEADER: solid, opaque, high-contrast (never translucent wash) ——— */
#main-nav,
#main-nav.shrunk{
  background:#050a07!important;
  background-image:
    linear-gradient(180deg,#0a1410 0%,#050a07 100%)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-bottom:1px solid rgba(52,211,153,.35)!important;
  box-shadow:
    0 1px 0 rgba(240,208,96,.18),
    0 12px 40px rgba(0,0,0,.65)!important;
}
/* Gold + emerald edge rail under header */
#main-nav::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--gold) 20%,var(--em) 50%,var(--gold) 80%,transparent 100%);
  opacity:.85;pointer-events:none;z-index:2;
}
#main-nav{position:sticky;isolation:isolate}
#main-nav .nav-inner{position:relative;z-index:3}

/* Hard-coded light text so light-theme tokens can never wash the bar */
#main-nav .logo-text{
  color:#f5faf6!important;
  text-shadow:0 1px 12px rgba(0,0,0,.55);
  display:block!important;
}
#main-nav .logo-sub{
  color:#f0d060!important;
  border-bottom-color:rgba(240,208,96,.55)!important;
  opacity:1!important;
}
#main-nav .nav-link{
  color:#d7e4d7!important;
  font-weight:600;
}
#main-nav .nav-link:hover,
#main-nav .nav-link:focus-visible{
  color:#ffffff!important;
  background:rgba(20,212,146,.14)!important;
}
#main-nav .nav-icon-btn{
  color:#d7e4d7!important;
  border-color:rgba(52,211,153,.4)!important;
  background:rgba(0,0,0,.25)!important;
}
#main-nav .nav-icon-btn:hover{
  color:#7af0c4!important;
  border-color:rgba(122,240,196,.7)!important;
  background:rgba(20,212,146,.12)!important;
}
#main-nav .nav-signed,
#main-nav #progress-counter{
  color:#7af0c4!important;
  border-color:rgba(52,211,153,.5)!important;
  background:rgba(0,0,0,.35)!important;
}
#main-nav .nav-toggle{
  color:#7af0c4!important;
  border-color:rgba(52,211,153,.5)!important;
  background:rgba(0,0,0,.35)!important;
}
#main-nav .btn-sign{
  color:#02140c!important;
  background:linear-gradient(135deg,#b8fce0,#14d492 50%,#0b9a6a)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 4px 22px rgba(20,212,146,.55),0 0 0 1px rgba(240,208,96,.25)!important;
}
#main-nav .nav-logo .giveabit-brand-logo{
  box-shadow:0 0 0 1px rgba(52,211,153,.5),0 0 22px rgba(20,212,146,.4)!important;
  background:#0a1410;
}

/* Light theme: keep cinema header dark (readable always) OR solid ink bar */
html[data-theme="light"] #main-nav,
html[data-theme="light"] #main-nav.shrunk{
  background:#050a07!important;
  background-image:linear-gradient(180deg,#0a1410,#050a07)!important;
}
html[data-theme="light"] #main-nav .logo-text{color:#f5faf6!important}
html[data-theme="light"] #main-nav .logo-sub{color:#f0d060!important}
html[data-theme="light"] #main-nav .nav-link{color:#d7e4d7!important}

/* Mobile sheet stays deep solid */
@media(max-width:768px){
  #main-nav .nav-actions,
  #main-nav #nav-menu{
    background:#040806!important;
    background-image:linear-gradient(180deg,#0a1410 0%,#030605 40%,#020403 100%)!important;
    backdrop-filter:none!important;
  }
  #main-nav .nav-sheet-link{
    color:#f2f6f2!important;
    background:rgba(12,22,16,.9)!important;
    border-color:rgba(52,211,153,.28)!important;
  }
  #main-nav .nav-sheet-link i{color:#7af0c4!important}
  #main-nav .nav-sheet-kicker{color:#f0d060!important}
  #main-nav .nav-sheet-sign{
    color:#e8fff5!important;
    background:linear-gradient(135deg,rgba(20,212,146,.28),rgba(240,208,96,.12))!important;
  }
}

/* ——— HERO BACKGROUND: cinematic stage (not washed mint) ——— */
#hero{
  background:#030605!important;
  overflow:hidden;
}
.hero-atmosphere{z-index:0}
.hero-bg-base{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 120% 80% at 50% 100%,#0a1812 0%,#030605 55%,#020403 100%),
    #030605;
}
/* Aurora kept BELOW the header fold so sticky nav never goes pale */
.hero-bg-aurora{
  position:absolute;left:-10%;right:-10%;top:18%;bottom:-20%;
  background:
    radial-gradient(ellipse 50% 40% at 30% 40%,rgba(20,212,146,.16) 0%,transparent 60%),
    radial-gradient(ellipse 45% 35% at 75% 55%,rgba(240,208,96,.1) 0%,transparent 55%),
    radial-gradient(ellipse 60% 50% at 50% 70%,rgba(16,100,70,.2) 0%,transparent 65%);
  filter:blur(8px);
  opacity:.95;
}
.hero-bg-orb{
  position:absolute;border-radius:50%;pointer-events:none;
  filter:blur(40px);opacity:.55;
}
.hero-bg-orb-a{
  width:min(55vw,420px);height:min(55vw,420px);
  left:50%;top:48%;transform:translate(-50%,-40%);
  background:radial-gradient(circle,rgba(20,212,146,.35) 0%,rgba(20,212,146,.08) 40%,transparent 70%);
}
.hero-bg-orb-b{
  width:min(40vw,280px);height:min(40vw,280px);
  right:8%;top:55%;
  background:radial-gradient(circle,rgba(240,208,96,.18) 0%,transparent 70%);
}
.hero-bg-orb-c{
  width:min(35vw,240px);height:min(35vw,240px);
  left:6%;top:60%;
  background:radial-gradient(circle,rgba(52,211,153,.14) 0%,transparent 70%);
}
/* Kill old bright top shaft that washed the header */
.hero-shaft{
  top:22%!important;height:50%!important;opacity:.55!important;
  background:linear-gradient(180deg,rgba(20,212,146,.08) 0%,rgba(240,208,96,.04) 45%,transparent 100%)!important;
}
.hero-glow{
  top:52%!important;opacity:.85!important;
  background:
    radial-gradient(circle at 45% 45%,rgba(20,212,146,.2) 0%,transparent 50%),
    radial-gradient(circle at 60% 55%,rgba(240,208,96,.1) 0%,transparent 45%)!important;
}
.hero-vignette{
  background:
    radial-gradient(ellipse 90% 75% at 50% 48%,transparent 0%,rgba(3,6,5,.35) 50%,rgba(2,4,3,.92) 100%),
    linear-gradient(180deg,rgba(3,6,5,.75) 0%,transparent 18%,transparent 70%,rgba(3,6,5,.9) 100%)!important;
}
.hero-parchment{
  top:50%!important;
  background:radial-gradient(ellipse at center,rgba(240,208,96,.05) 0%,rgba(20,212,146,.04) 35%,transparent 68%)!important;
}
.hero-grid{
  opacity:.14!important;top:12%;
  background-image:
    linear-gradient(rgba(52,211,153,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(52,211,153,.12) 1px,transparent 1px)!important;
}
/* Seal watermark — constitutional mark */
.hero-seal{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:min(520px,88vw);height:min(520px,88vw);
  opacity:.09;pointer-events:none;
  background:
    radial-gradient(circle,transparent 38%,rgba(240,208,96,.5) 39%,rgba(240,208,96,.5) 40%,transparent 41%),
    radial-gradient(circle,transparent 52%,rgba(20,212,146,.45) 53%,rgba(20,212,146,.45) 54%,transparent 55%),
    conic-gradient(from 0deg,transparent 0 8deg,rgba(240,208,96,.35) 8deg 10deg,transparent 10deg 28deg,rgba(20,212,146,.3) 28deg 30deg,transparent 30deg 48deg,rgba(240,208,96,.3) 48deg 50deg,transparent 50deg 68deg,rgba(20,212,146,.3) 68deg 70deg,transparent 70deg 88deg,rgba(240,208,96,.3) 88deg 90deg,transparent 90deg 100%);
  border-radius:50%;
  mask-image:radial-gradient(circle,black 0%,black 58%,transparent 72%);
  -webkit-mask-image:radial-gradient(circle,black 0%,black 58%,transparent 72%);
}

/* Global wave bg — quieter so page doesn't go mint */
#wave-bg{opacity:.18!important}
#wave-bg .wave-1 path,
#wave-bg .wave-layer{opacity:.7}

/* Hero type stays bright on deep stage */
#hero .hero-h1{color:#f7faf7!important}
#hero .hero-sub{color:#cdd9cd!important}
#hero .hero-kicker{
  background:linear-gradient(135deg,rgba(0,0,0,.55),rgba(10,20,14,.75))!important;
  border-color:rgba(240,208,96,.5)!important;
  color:#e2ebe2!important;
  box-shadow:0 8px 32px rgba(0,0,0,.45),0 0 24px rgba(20,212,146,.1)!important;
}
#hero .hero-proof span{
  background:rgba(0,0,0,.55)!important;
  border-color:rgba(52,211,153,.45)!important;
  color:#f0f5f0!important;
}

/* Mobile bottom nav solid dark */
#mobile-bottom-nav{
  background:#050a07!important;
  backdrop-filter:none!important;
  border-top:1px solid rgba(52,211,153,.4)!important;
}

@media(max-width:768px){
  .hero-bg-aurora{top:14%;opacity:.9}
  .hero-seal{opacity:.07;width:min(420px,95vw);height:min(420px,95vw)}
  .hero-vignette{
    background:
      radial-gradient(ellipse 100% 80% at 50% 45%,transparent 0%,rgba(3,6,5,.4) 55%,rgba(2,4,3,.94) 100%),
      linear-gradient(180deg,rgba(3,6,5,.85) 0%,transparent 14%,transparent 75%,rgba(3,6,5,.95) 100%)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-bg-orb,.hero-bg-aurora{filter:none}
}

/* ═══════════════════════════════════════════════════════════
   BUILD 780 — Readable header + hero type (contrast first)
   White primary · bright secondary · solid panels · no ghost text
═══════════════════════════════════════════════════════════ */

/*
 * DO NOT force white text on all p/li globally — it nukes light panels.
 * Dark theme uses bright tokens; light theme uses dark ink below (BUILD 790).
 */
html[data-theme="dark"] body,
html:not([data-theme="light"]) body{
  color:#ffffff!important;
  background-color:#030605!important;
}
html[data-theme="dark"] .mission-prose,
html[data-theme="dark"] .art-body,
html[data-theme="dark"] .pillar p,
html[data-theme="dark"] .tl-body,
html[data-theme="dark"] .hero-sub,
html[data-theme="dark"] .stat-note,
html:not([data-theme="light"]) .mission-prose,
html:not([data-theme="light"]) .art-body,
html:not([data-theme="light"]) .pillar p,
html:not([data-theme="light"]) .hero-sub,
html:not([data-theme="light"]) .stat-note{
  color:#eef5ee!important;
}
html[data-theme="dark"] .stat-label,
html[data-theme="dark"] .trust-item,
html[data-theme="dark"] .section-label,
html:not([data-theme="light"]) .stat-label,
html:not([data-theme="light"]) .trust-item,
html:not([data-theme="light"]) .section-label{
  color:#e2f0e6!important;
}

/* ——— WORLD-CLASS HEADER ——— */
#main-nav{
  position:sticky!important;
  top:var(--announce-h,0px)!important;
  z-index:500!important;
  height:auto!important;
  background:#020805!important;
  background-image:none!important;
  border-bottom:1px solid #1a3d2e!important;
  box-shadow:0 4px 24px rgba(0,0,0,.75)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#main-nav::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,#0b1611 0%,#020805 100%);
}
#main-nav::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:3px;z-index:2;
  background:linear-gradient(90deg,#0a1410 0%,#e8c040 22%,#14d492 50%,#e8c040 78%,#0a1410 100%);
  opacity:1!important;
}
#main-nav .nav-inner{
  position:relative;z-index:3;
  max-width:1180px;margin:0 auto;
  min-height:68px;height:68px;
  padding:0 1.25rem;
  display:flex;align-items:center;gap:1rem;
}
#main-nav .nav-logo{
  display:flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0;
}
#main-nav .giveabit-brand-logo{
  width:40px;height:40px;border-radius:10px;
  background:#0c1a14;
  border:1px solid #2a6b4f;
  box-shadow:0 0 16px rgba(20,212,146,.35)!important;
}
#main-nav .nav-wordmark{display:flex;flex-direction:column;gap:2px}
#main-nav .logo-text{
  font-family:var(--serif)!important;
  font-size:1.5rem!important;font-weight:700!important;
  color:#ffffff!important;
  letter-spacing:-.02em;line-height:1;
  text-shadow:none!important;
  display:block!important;
}
#main-nav .logo-sub{
  font-family:var(--mono)!important;
  font-size:.55rem!important;font-weight:600!important;
  letter-spacing:.14em!important;text-transform:uppercase;
  color:#f5d76a!important;
  border-bottom:none!important;
  padding:0!important;margin:0!important;opacity:1!important;
}
#main-nav .nav-primary{
  display:none;flex:1;justify-content:center;align-items:center;gap:.25rem;
}
@media(min-width:769px){
  #main-nav .nav-primary{display:flex!important}
}
#main-nav .nav-link{
  font-family:var(--sans)!important;
  font-size:.9rem!important;font-weight:600!important;
  color:#f0f7f0!important;
  padding:.5rem 1rem!important;
  border-radius:8px;border:none;background:transparent;
  text-decoration:none;cursor:pointer;
}
#main-nav .nav-link:hover,
#main-nav .nav-link:focus-visible{
  color:#ffffff!important;
  background:#143d2c!important;
  outline:none;
}
#main-nav .nav-end{
  display:flex;align-items:center;gap:.45rem;margin-left:auto;flex-shrink:0;
}
#main-nav .nav-signed,
#main-nav #progress-counter{
  font-family:var(--mono)!important;font-size:.6rem!important;font-weight:600;
  color:#8af5cc!important;
  background:#0a1f16!important;
  border:1px solid #2a6b4f!important;
  padding:.3rem .65rem!important;border-radius:100px;
  animation:none!important;
}
#main-nav .nav-icon-btn{
  width:40px;height:40px;border-radius:10px;
  display:none;align-items:center;justify-content:center;
  color:#ffffff!important;
  background:#0a1f16!important;
  border:1px solid #2a6b4f!important;
  cursor:pointer;
}
@media(min-width:769px){
  #main-nav .nav-icon-btn{display:inline-flex!important}
}
#main-nav .nav-icon-btn:hover{
  background:#145c3f!important;border-color:#14d492!important;color:#ffffff!important;
}
#main-nav .btn-sign{
  display:inline-flex!important;align-items:center;gap:.4rem;
  min-height:42px;padding:.55rem 1.2rem!important;
  border-radius:100px;font-size:.85rem!important;font-weight:800!important;
  color:#02140c!important;
  background:#3de0a8!important;
  background-image:linear-gradient(135deg,#9ff5d0,#14d492)!important;
  border:2px solid #ffffff!important;
  box-shadow:0 4px 20px rgba(20,212,146,.5)!important;
  cursor:pointer;white-space:nowrap;
}
#main-nav .btn-sign:hover{
  background:#b8fce0!important;transform:translateY(-1px);
}
#main-nav .nav-toggle{
  display:none;width:42px;height:42px;border-radius:10px;
  color:#ffffff!important;background:#0a1f16!important;
  border:1px solid #2a6b4f!important;cursor:pointer;
  align-items:center;justify-content:center;font-size:1.1rem;
}
@media(max-width:768px){
  #main-nav .nav-toggle{display:inline-flex!important}
  #main-nav .nav-inner{min-height:60px;height:60px;padding:0 .85rem}
  #main-nav .logo-text{font-size:1.25rem!important}
  #main-nav .logo-sub{display:none}
  #main-nav .nav-signed{display:none!important}
  #main-nav .btn-sign{min-height:40px;padding:.45rem .95rem!important;font-size:.8rem!important}
  #main-nav .nav-actions,
  #main-nav #nav-menu{
    background:#020805!important;
    border-top:1px solid #1a3d2e!important;
  }
  #main-nav .nav-sheet-link{
    color:#ffffff!important;
    background:#0c1a14!important;
    border:1px solid #2a6b4f!important;
    font-size:1.05rem!important;font-weight:600!important;
  }
  #main-nav .nav-sheet-link i{color:#3de0a8!important}
  #main-nav .nav-sheet-kicker{color:#f5d76a!important}
  #main-nav .nav-sheet-sign{
    background:linear-gradient(135deg,#145c3f,#0a1f16)!important;
    color:#ffffff!important;border-color:#3de0a8!important;
  }
  #main-nav .nav-sheet-tools .btn{
    color:#ffffff!important;border-color:#2a6b4f!important;background:#0c1a14!important;
  }
  #main-nav .nav-sheet-tools select{
    color:#ffffff!important;background:#0c1a14!important;border-color:#2a6b4f!important;
  }
}

/* Light theme still keeps dark cinema header */
html[data-theme="light"] #main-nav,
html[data-theme="light"] #main-nav.shrunk{
  background:#020805!important;
}
html[data-theme="light"] #main-nav .logo-text,
html[data-theme="light"] #main-nav .nav-link{color:#ffffff!important}
html[data-theme="light"] #main-nav .logo-sub{color:#f5d76a!important}

/* ——— HERO secondary copy that must be readable ——— */
#hero .hero-sub{
  color:#eef5ee!important;
  font-size:clamp(1.08rem,2.2vw,1.32rem)!important;
  font-weight:450!important;
  text-shadow:0 2px 16px rgba(0,0,0,.8)!important;
}
#hero .hero-canada-link{
  display:inline-flex!important;
  align-items:center;gap:.5rem;
  margin-top:1.25rem!important;
  padding:.55rem 1.1rem!important;
  border-radius:100px;
  font-family:var(--sans)!important;
  font-size:.9rem!important;font-weight:700!important;
  letter-spacing:.04em!important;text-transform:none!important;
  color:#02140c!important;
  background:linear-gradient(135deg,#f5d76a,#e8c040)!important;
  border:1px solid #fff3b0!important;
  text-decoration:none!important;
  box-shadow:0 4px 20px rgba(232,192,64,.35)!important;
}
#hero .hero-canada-link:hover{
  background:#ffe28a!important;color:#02140c!important;gap:.65rem;
}
#hero .hero-canada-link i{color:#02140c!important;font-size:.75rem!important}
#hero .hero-urgency{
  margin-top:1.15rem!important;
  padding:.55rem 1rem!important;
  display:inline-block;
  max-width:100%;
  font-size:.88rem!important;font-weight:500!important;
  line-height:1.5!important;
  color:#ffffff!important;
  background:rgba(0,0,0,.72)!important;
  border:1px solid #2a6b4f!important;
  border-radius:12px;
  letter-spacing:.01em!important;
  text-shadow:none!important;
}
#hero .hero-urgency strong{
  color:#9ff5d0!important;font-weight:800!important;
}
#hero .hero-kicker{
  color:#ffffff!important;
  background:#0a1f16!important;
  border:1px solid #3d7a5c!important;
}
#hero .hero-kicker-line{color:#f5d76a!important}
#hero .hero-kicker-live{
  color:#02140c!important;background:#3de0a8!important;border-color:#9ff5d0!important;
}
#hero .hero-proof span{
  color:#ffffff!important;
  background:#0a1f16!important;
  border:1px solid #2a6b4f!important;
  font-weight:600!important;
}
#hero .hero-proof span i{color:#3de0a8!important}
#hero .cta-sec{
  color:#ffffff!important;
  background:#0a1f16!important;
  border:2px solid #3de0a8!important;
  font-weight:700!important;
}
#hero .cta-sec:hover{
  background:#145c3f!important;color:#ffffff!important;
}
#hero .cta-main{
  color:#02140c!important;
  background:linear-gradient(135deg,#b8fce0,#14d492)!important;
  border:2px solid #ffffff!important;
  font-weight:800!important;
}

/* Video walkthrough banner — solid high-contrast card */
.video-cta-banner{
  display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:.75rem 1rem!important;
  margin:1.35rem auto 0!important;
  max-width:640px;
  padding:.85rem 1.15rem!important;
  border-radius:16px!important;
  border:1px solid #2a6b4f!important;
  border-style:solid!important;
  background:#0a1f16!important;
  color:#ffffff!important;
  font-size:.85rem!important;font-weight:500!important;
  line-height:1.45!important;
  box-shadow:0 8px 28px rgba(0,0,0,.45)!important;
  animation:fade-up .5s .7s both;
}
.video-cta-banner .video-cta-copy{
  color:#ffffff!important;flex:1 1 220px;text-align:left;
}
.video-cta-banner .video-cta-copy strong{color:#9ff5d0!important;font-weight:800}
.video-cta-banner .video-cta-copy i{color:#3de0a8!important;margin-right:.35rem}
.video-cta-actions{display:inline-flex;gap:.45rem;flex-wrap:wrap}
.video-cta-btn{
  appearance:none;cursor:pointer;
  min-height:36px;padding:.4rem .85rem;
  border-radius:100px;font-size:.75rem!important;font-weight:700!important;
  color:#02140c!important;
  background:#3de0a8!important;border:1px solid #9ff5d0!important;
}
.video-cta-btn:hover{background:#9ff5d0!important}
.video-cta-dismiss{
  color:#ffffff!important;
  background:transparent!important;
  border:1px solid #5a8f72!important;
}
.video-cta-dismiss:hover{background:#145c3f!important;border-color:#3de0a8!important}

/* Toasts readable */
.toast{
  color:#ffffff!important;background:#0a1f16!important;
  border:1px solid #2a6b4f!important;font-weight:500!important;
}

/* Cookie banner */
#cookie-banner{
  color:#ffffff!important;background:#0a1f16!important;
  border:1px solid #2a6b4f!important;
}
#cookie-banner p{color:#e6efe6!important}

@media(max-width:768px){
  #hero .hero-canada-link{
    width:100%;justify-content:center;font-size:.88rem!important;
  }
  #hero .hero-urgency{
    display:block;width:100%;box-sizing:border-box;
    font-size:.82rem!important;text-align:center;
  }
  .video-cta-banner{
    border-radius:14px!important;padding:.75rem!important;
    font-size:.8rem!important;
  }
  .video-cta-banner .video-cta-copy{text-align:center;flex-basis:100%}
  .video-cta-actions{width:100%;justify-content:center}
}

/* ═══════════════════════════════════════════════════════════
   BUILD 781 — Share · stats · mission contrast (must read)
   Kill gradient-clip ghosts · solid cards · pure bright type
═══════════════════════════════════════════════════════════ */

/* Share / social bar */
.hero-meta-bar{
  background:#07140f!important;
  border-top:1px solid #1a3d2e!important;
  border-bottom:1px solid #1a3d2e!important;
  padding:1.35rem 1.25rem 1.5rem!important;
}
.hero-meta-bar .hero-share,
.hero-meta-bar .hero-share-official{
  gap:.55rem!important;
}
.hero-meta-bar .share-btn,
.hero-share .share-btn{
  min-height:40px!important;
  padding:.45rem .9rem!important;
  font-size:.78rem!important;
  font-weight:700!important;
  font-family:var(--sans)!important;
  color:#ffffff!important;
  background:#0f2a1e!important;
  border:1px solid #3d7a5c!important;
  border-radius:100px!important;
  letter-spacing:.02em!important;
}
.hero-meta-bar .share-btn:hover,
.hero-share .share-btn:hover{
  background:#145c3f!important;
  border-color:#3de0a8!important;
  color:#ffffff!important;
}
/* Platform share colors stay brand but force readable white */
.hero-meta-bar .share-x,
.hero-share .share-x{background:#111!important;border-color:#555!important;color:#fff!important}
.hero-meta-bar .share-wa,
.hero-share .share-wa{background:#128c7e!important;border-color:#25d366!important;color:#fff!important}
.hero-meta-bar .share-tg,
.hero-share .share-tg{background:#1b8fbf!important;border-color:#2ca5e0!important;color:#fff!important}
.hero-meta-bar .share-cp,
.hero-share .share-cp{background:#0f2a1e!important;color:#ffffff!important;border-color:#3de0a8!important}

.social-official,
.hero-share-official .social-official,
.footer-social-official .social-official{
  min-height:40px!important;
  padding:.5rem 1rem!important;
  font-size:.8rem!important;
  font-weight:700!important;
  font-family:var(--sans)!important;
  color:#ffffff!important;
  background:#0f2a1e!important;
  border:1px solid #3d7a5c!important;
  border-radius:100px!important;
  letter-spacing:.02em!important;
  box-shadow:0 2px 12px rgba(0,0,0,.35)!important;
}
.social-official i{color:#3de0a8!important;font-size:.9rem!important}
.social-official:hover,
.hero-share-official .social-official:hover{
  color:#ffffff!important;
  background:#145c3f!important;
  border-color:#3de0a8!important;
}

/* Trust marquee */
.trust-bar{
  background:#050c09!important;
  border-color:#1a3d2e!important;
}
.trust-item{
  color:#ffffff!important;
  font-size:.75rem!important;
  font-weight:600!important;
}
.trust-item i{color:#3de0a8!important}

/* Stats strip — solid pods, NO transparent gradient text */
.stats-strip{
  background:#050c09!important;
  border-top:1px solid #1a3d2e!important;
  border-bottom:1px solid #1a3d2e!important;
  gap:0!important;
}
.stat-block{
  background:#0a1a14!important;
  border-right:1px solid #1a3d2e!important;
  padding:2rem 1.25rem!important;
  position:relative;
}
.stat-block:hover{background:#0f2a1e!important}
.stat-block::after{
  background:linear-gradient(90deg,transparent,#3de0a8,transparent)!important;
  opacity:1!important;height:3px!important;
}
/* CRITICAL: solid fill numbers — gradient-clip was invisible */
.stat-num,
.stats-strip .stat-num,
.stat-block .stat-num{
  font-family:var(--serif)!important;
  font-weight:800!important;
  font-size:clamp(2.4rem,5vw,3.4rem)!important;
  line-height:1.05!important;
  color:#3de0a8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
  -webkit-text-fill-color:#3de0a8!important;
  text-fill-color:#3de0a8!important;
  filter:none!important;
  text-shadow:0 0 24px rgba(61,224,168,.35)!important;
}
.stat-label,
.stats-strip .stat-label{
  font-family:var(--sans)!important;
  font-size:.85rem!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:#ffffff!important;
  margin-top:.65rem!important;
}
.stat-note,
.stats-strip .stat-note{
  font-family:var(--sans)!important;
  font-size:.78rem!important;
  font-weight:500!important;
  color:#d4e8d8!important;
  margin-top:.35rem!important;
  letter-spacing:.02em!important;
}
/* CC0 block inline style override */
.stat-block .stat-num[style],
.stat-block .stat-num{
  -webkit-text-fill-color:#3de0a8!important;
  color:#3de0a8!important;
  font-size:clamp(2rem,4vw,2.8rem)!important;
}

/* Mission section — readable essay */
#mission.mission-block,
.mission-block{
  background:#06110c!important;
  border-top:1px solid #1a3d2e!important;
  border-bottom:1px solid #1a3d2e!important;
}
#mission .section-h2,
.mission-block .section-h2{
  color:#ffffff!important;
  text-shadow:none!important;
}
#mission .section-h2 em,
.mission-block .section-h2 em,
#mission-heading em,
.mission-em{
  color:#9ff5d0!important;
  font-style:italic;
  font-weight:400!important;
  font-size:.9em!important;
}
#mission .section-label span,
.mission-block .section-label span{
  color:#9ff5d0!important;
  border-color:#3d7a5c!important;
  background:#0a1f16!important;
  font-weight:700!important;
}
.mission-prose{
  font-size:1.08rem!important;
  line-height:1.85!important;
  color:#f0f5f0!important;
  max-width:42em;
}
.mission-prose p{
  color:#f0f5f0!important;
  margin-bottom:1.25rem!important;
}
.mission-prose strong{
  color:#9ff5d0!important;
  font-weight:700!important;
}
.mission-quote{
  background:#0a1f16!important;
  border-left:4px solid #e8c040!important;
  border-image:none!important;
  box-shadow:0 8px 28px rgba(0,0,0,.35)!important;
  padding:1.35rem 1.5rem!important;
}
.mission-quote p{
  color:#ffffff!important;
  font-size:clamp(1.15rem,2.2vw,1.4rem)!important;
  line-height:1.55!important;
}
.mission-quote cite{
  color:#f5d76a!important;
  font-size:.75rem!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
}

/* Pillars / generic section body for same pass */
.pillar{
  background:#0a1a14!important;
}
.pillar h3{color:#ffffff!important}
.pillar p{color:#e8f0e8!important;font-size:.92rem!important}
.pillar-num{
  color:#3de0a8!important;
  background:none!important;
  -webkit-text-fill-color:#3de0a8!important;
  opacity:.9!important;
}
.section-h2{color:#ffffff!important}
.section-h2 em{color:#c8e6d4!important}

@media(max-width:900px){
  .stat-block{border-right:none!important;border-bottom:1px solid #1a3d2e!important}
  .stat-block:last-child{border-bottom:none!important}
}
@media(max-width:768px){
  .social-official,
  .hero-meta-bar .share-btn{
    font-size:.75rem!important;
    min-height:42px!important;
  }
  .mission-prose{font-size:1.02rem!important}
  .stat-label{font-size:.78rem!important}
  .stat-note{font-size:.72rem!important}
}

/* ═══════════════════════════════════════════════════════════
   BUILD 790 — Landing contrast rescue (no white-on-white)
   Solid dark panels for Canada / footer / announce · light theme ink
═══════════════════════════════════════════════════════════ */

/* ——— Light theme: dark ink on cream (recover from white-force bug) ——— */
html[data-theme="light"]{
  --text:#0f1a12!important;
  --text2:#1c2e22!important;
  --text3:#3a4d40!important;
  --bg:#f2f5ef!important;
  --bg2:#e8eee4!important;
  --bg3:#dde6d8!important;
}
html[data-theme="light"] body{
  color:#0f1a12!important;
  background:#f2f5ef!important;
}
html[data-theme="light"] p,
html[data-theme="light"] li,
html[data-theme="light"] .mission-prose,
html[data-theme="light"] .mission-prose p,
html[data-theme="light"] .pillar p,
html[data-theme="light"] .challenge-step p,
html[data-theme="light"] .stat-label,
html[data-theme="light"] .stat-note,
html[data-theme="light"] .footer-col a,
html[data-theme="light"] .footer-brand p,
html[data-theme="light"] .legal-block p,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3{
  color:#0f1a12!important;
  -webkit-text-fill-color:#0f1a12!important;
}
html[data-theme="light"] .section-h2{color:#0f1a12!important}
html[data-theme="light"] .stat-num{
  color:#047857!important;
  -webkit-text-fill-color:#047857!important;
}
html[data-theme="light"] .btn-ghost{
  color:#0f1a12!important;
  border-color:#2a6b4f!important;
  background:#fff!important;
}
html[data-theme="light"] a{color:#047857}
/* Keep header dark even in light mode (already) */

/* ——— Announce bar: solid dark, white type ——— */
.announce-banner,
#announce-banner{
  background:#0a1f16!important;
  background-image:none!important;
  border-bottom:2px solid #3de0a8!important;
  color:#ffffff!important;
  font-size:.85rem!important;
  font-weight:600!important;
  padding:.7rem 1rem!important;
  box-shadow:0 4px 20px rgba(0,0,0,.45)!important;
}
.announce-banner span,
#announce-banner span,
.announce-banner strong,
#announce-banner strong{
  color:#ffffff!important;
}
.announce-banner a,
#announce-banner a{
  color:#9ff5d0!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}
.announce-banner button,
#announce-banner button{
  color:#ffffff!important;
  background:#145c3f!important;
  border:1px solid #3de0a8!important;
  border-radius:8px!important;
  min-width:36px;min-height:36px;
}

/* ——— Canada challenge: solid dark cards, bright type ——— */
#canada-bc{
  background:#050c09!important;
  border-color:#1a3d2e!important;
}
#canada-bc .section-h2,
#canada-bc h2{
  color:#ffffff!important;
}
#canada-bc .section-h2 em,
#canada-bc h2 em,
#challenge-heading em{
  color:#9ff5d0!important;
  font-style:italic;
}
#canada-bc .section-label span{
  color:#9ff5d0!important;
  background:#0a1f16!important;
  border-color:#3d7a5c!important;
}
#canada-bc p,
#canada-bc .challenge-banner p,
#canada-bc .challenge-step p{
  color:#eef5ee!important;
  -webkit-text-fill-color:#eef5ee!important;
}
#canada-bc strong{
  color:#9ff5d0!important;
}
.challenge-banner{
  background:#0a1f16!important;
  background-image:none!important;
  border:1px solid #2a6b4f!important;
  border-radius:1.25rem!important;
  padding:1.75rem!important;
  box-shadow:0 12px 40px rgba(0,0,0,.4)!important;
}
.challenge-banner > div:first-child,
.challenge-banner [style*="gold"],
.challenge-banner .challenge-kicker{
  color:#f5d76a!important;
  font-weight:700!important;
}
.challenge-step{
  background:#06140f!important;
  border:1px solid #2a6b4f!important;
  border-radius:.875rem!important;
  padding:1.25rem!important;
}
.challenge-step h3{
  color:#ffffff!important;
  font-size:1rem!important;
  font-weight:700!important;
}
.challenge-step p{
  color:#e2efe6!important;
  font-size:.85rem!important;
  line-height:1.65!important;
}
.challenge-step-num{
  color:#3de0a8!important;
  font-weight:700!important;
}
#canada-bc .btn-ghost{
  color:#ffffff!important;
  border:1px solid #3d7a5c!important;
  background:#0a1f16!important;
}
#canada-bc .btn-ghost:hover{
  border-color:#3de0a8!important;
  background:#145c3f!important;
  color:#ffffff!important;
}
#canada-bc .btn-primary{
  color:#02140c!important;
  background:#3de0a8!important;
  border:1px solid #9ff5d0!important;
  font-weight:800!important;
}
#canada-bc a[href]{
  color:#9ff5d0!important;
}
#canada-bc .canada-lead,
#canada-bc .challenge-lead,
#canada-bc .challenge-foot{
  color:#eef5ee!important;
  font-size:.95rem!important;
  line-height:1.8!important;
  max-width:700px;
  margin-top:1rem;
}
#canada-bc .challenge-kicker{
  font-family:var(--mono)!important;
  font-size:.7rem!important;
  font-weight:700!important;
  color:#f5d76a!important;
  letter-spacing:.12em!important;
  margin-bottom:.65rem!important;
}
#canada-bc .challenge-foot{
  margin-top:1.15rem!important;
  font-size:.85rem!important;
}


/* Inline style overrides in Canada section HTML */
#canada-bc [style*="color:var(--text2)"],
#canada-bc [style*="color: var(--text2)"],
#canada-bc [style*="color:var(--text3)"],
#canada-bc [style*="color: var(--text3)"]{
  color:#eef5ee!important;
}
#canada-bc [style*="color:var(--gold)"],
#canada-bc [style*="color: var(--gold)"]{
  color:#f5d76a!important;
}
#canada-bc [style*="color:var(--em2)"],
#canada-bc [style*="color: var(--em2)"]{
  color:#9ff5d0!important;
}
#canada-bc [style*="color:var(--text)"],
#canada-bc [style*="color: var(--text)"]{
  color:#ffffff!important;
}

/* ——— Pillars section ——— */
#pillars{
  background:#06110c!important;
}
#pillars .section-h2,
#pillars h2{color:#ffffff!important}
#pillars .section-h2 em{color:#9ff5d0!important}
#pillars .pillar{
  background:#0a1a14!important;
  border:1px solid #1a3d2e!important;
}
#pillars .pillar h3{color:#ffffff!important}
#pillars .pillar p{color:#e8f0e8!important}

/* ——— Footer: solid dark, readable everything ——— */
footer{
  background:#020805!important;
  border-top:2px solid #1a3d2e!important;
  color:#ffffff!important;
}
footer .logo-text{color:#ffffff!important}
footer .logo-sub{color:#f5d76a!important;border:none!important}
footer .footer-brand p,
footer .footer-contact,
footer .footer-contact span{
  color:#d4e8d8!important;
  font-size:.85rem!important;
  max-width:280px!important;
}
footer .footer-contact a,
footer a[href^="mailto"]{
  color:#9ff5d0!important;
  font-weight:600!important;
}
footer .footer-col h3{
  color:#f5d76a!important;
  font-size:.65rem!important;
  letter-spacing:.12em!important;
}
footer .footer-col a{
  color:#e8f0e8!important;
  font-size:.88rem!important;
  font-weight:500!important;
}
footer .footer-col a:hover{color:#9ff5d0!important}
footer .legal-footer{
  border-top:1px solid #1a3d2e!important;
}
footer .legal-block h4{
  color:#9ff5d0!important;
  font-size:.8rem!important;
}
footer .legal-block p,
footer .legal-bottom p,
footer .legal-tagline,
footer .parent-tagline{
  color:#c8dccf!important;
  font-size:.78rem!important;
  line-height:1.65!important;
}
footer .legal-links a{
  color:#e8f0e8!important;
}
footer .legal-links a:hover{color:#9ff5d0!important}
footer .giveabit-brand-logo,
footer .giveabit-footer-parent img{
  background:#0a1f16!important;
  border:1px solid #3d7a5c!important;
  border-radius:10px!important;
  padding:4px!important;
  box-shadow:0 0 16px rgba(61,224,168,.25)!important;
}
footer .pay-tab{
  color:#e8f0e8!important;
  border-color:#2a6b4f!important;
}
footer .pay-tab.active{
  color:#02140c!important;
  background:#3de0a8!important;
  border-color:#9ff5d0!important;
  font-weight:700!important;
}
footer .pay-address{
  color:#9ff5d0!important;
  background:#0a1f16!important;
  border-color:#2a6b4f!important;
}
footer .pay-copy,
footer .pay-qr-btn{
  color:#02140c!important;
  background:#3de0a8!important;
  border-color:#9ff5d0!important;
  font-weight:700!important;
}
footer .pay-note{color:#c8dccf!important}
footer .social-official{
  color:#ffffff!important;
  background:#0f2a1e!important;
  border-color:#3d7a5c!important;
}

/* Generic section headings on dark */
.section .section-h2{color:#ffffff!important}
.section .section-h2 em{color:#9ff5d0!important}
.section .section-label span{
  color:#9ff5d0!important;
}

/* Any pale translucent banners → solid dark */
.challenge-banner,
.org-join-cta,
.i18n-status-panel,
.nostr-panel,
.sign-panel,
.calc-card{
  background-color:#0a1f16!important;
}
.org-card,
.feature-card,
.charter-article{
  background:#0a1a14!important;
  color:#eef5ee!important;
}
.org-name,.org-card h3{color:#ffffff!important}
.org-type{color:#9ff5d0!important}






/* BUILD772-rescue 1786426429 opaque-nav */
/* BUILD781-force 1786427217 share-stats-mission */

/* ═══════════════════════════════════════════════════════════
   BUILD 800 — FULL SITE READABLE DARK SYSTEM
   One rule set for entire landing page: solid dark + bright type
═══════════════════════════════════════════════════════════ */

/* Tokens always bright enough on near-black */
html:not([data-theme="light"]){
  color-scheme:dark;
  --text:#ffffff;
  --text2:#e8f0e8;
  --text3:#c8dccf;
  --bg:#030605;
  --bg2:#0a1410;
  --bg3:#101c16;
  --border:rgba(52,211,153,.28);
  --border2:rgba(52,211,153,.42);
}

html:not([data-theme="light"]) body{
  color:#ffffff!important;
  background-color:#030605!important;
}

/* Main content + footer: every common text node */
html:not([data-theme="light"]) #main-content,
html:not([data-theme="light"]) footer{
  color:#f2f6f2!important;
}

html:not([data-theme="light"]) #main-content p,
html:not([data-theme="light"]) #main-content li,
html:not([data-theme="light"]) #main-content td,
html:not([data-theme="light"]) #main-content th,
html:not([data-theme="light"]) #main-content label,
html:not([data-theme="light"]) #main-content .faq-a,
html:not([data-theme="light"]) #main-content .faq-q,
html:not([data-theme="light"]) #main-content .tl-body,
html:not([data-theme="light"]) #main-content .tl-title,
html:not([data-theme="light"]) #main-content .cmp-cell,
html:not([data-theme="light"]) #main-content .press-sub,
html:not([data-theme="light"]) #main-content .press-disclaimer,
html:not([data-theme="light"]) #main-content .press-card-tag,
html:not([data-theme="light"]) #main-content .org-section-note,
html:not([data-theme="light"]) #main-content .org-join-cta,
html:not([data-theme="light"]) #main-content .org-join-cta p,
html:not([data-theme="light"]) #main-content .org-name,
html:not([data-theme="light"]) #main-content .org-type,
html:not([data-theme="light"]) #main-content .sign-honesty,
html:not([data-theme="light"]) #main-content .calc-verdict,
html:not([data-theme="light"]) #main-content .calc-label,
html:not([data-theme="light"]) #main-content .calc-score,
html:not([data-theme="light"]) #main-content .map-label p,
html:not([data-theme="light"]) #main-content #quote-text,
html:not([data-theme="light"]) #main-content #quote-author,
html:not([data-theme="light"]) #main-content .art-body,
html:not([data-theme="light"]) #main-content .art-title,
html:not([data-theme="light"]) #main-content .article-tab,
html:not([data-theme="light"]) #main-content .donation-card,
html:not([data-theme="light"]) #main-content .donation-card p,
html:not([data-theme="light"]) #main-content .video-caption,
html:not([data-theme="light"]) #main-content .sign-section,
html:not([data-theme="light"]) #main-content .sign-section p,
html:not([data-theme="light"]) footer p,
html:not([data-theme="light"]) footer li,
html:not([data-theme="light"]) footer a{
  color:#eef4ee!important;
  -webkit-text-fill-color:#eef4ee!important;
}

html:not([data-theme="light"]) #main-content h1,
html:not([data-theme="light"]) #main-content h2,
html:not([data-theme="light"]) #main-content h3,
html:not([data-theme="light"]) #main-content h4,
html:not([data-theme="light"]) #main-content .section-h2,
html:not([data-theme="light"]) #main-content .press-heading,
html:not([data-theme="light"]) #main-content .press-card-name,
html:not([data-theme="light"]) #main-content .faq-q,
html:not([data-theme="light"]) footer h3,
html:not([data-theme="light"]) footer h4{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

html:not([data-theme="light"]) #main-content strong,
html:not([data-theme="light"]) #main-content b,
html:not([data-theme="light"]) #main-content .org-join-cta strong{
  color:#9ff5d0!important;
  -webkit-text-fill-color:#9ff5d0!important;
}

html:not([data-theme="light"]) #main-content em,
html:not([data-theme="light"]) #main-content .section-h2 em,
html:not([data-theme="light"]) #main-content .mission-em{
  color:#b8f5d4!important;
  -webkit-text-fill-color:#b8f5d4!important;
}

/* Kill pale wash panels sitewide */
html:not([data-theme="light"]) .org-join-cta,
html:not([data-theme="light"]) .org-section-note,
html:not([data-theme="light"]) .sign-section,
html:not([data-theme="light"]) .donation-card,
html:not([data-theme="light"]) .calc-card,
html:not([data-theme="light"]) .calc-result,
html:not([data-theme="light"]) .faq-item,
html:not([data-theme="light"]) .faq-q,
html:not([data-theme="light"]) .video-wrapper,
html:not([data-theme="light"]) .articles-sidebar,
html:not([data-theme="light"]) .articles-main,
html:not([data-theme="light"]) .comparison-table,
html:not([data-theme="light"]) .map-container,
html:not([data-theme="light"]) .nostr-panel,
html:not([data-theme="light"]) .i18n-status-panel,
html:not([data-theme="light"]) .art-of-day,
html:not([data-theme="light"]) .bc-cta-row,
html:not([data-theme="light"]) #bc-tracks-dash > div{
  background:#0a1f16!important;
  background-image:none!important;
  border-color:#2a6b4f!important;
  color:#eef4ee!important;
}

html:not([data-theme="light"]) .org-card,
html:not([data-theme="light"]) .pillar,
html:not([data-theme="light"]) .challenge-step,
html:not([data-theme="light"]) a.press-card,
html:not([data-theme="light"]) .cmp-head,
html:not([data-theme="light"]) .cmp-row{
  background:#0a1a14!important;
  color:#eef4ee!important;
  border-color:#1a3d2e!important;
}

html:not([data-theme="light"]) .org-name,
html:not([data-theme="light"]) .org-card h3,
html:not([data-theme="light"]) .pillar h3{
  color:#ffffff!important;
}
html:not([data-theme="light"]) .org-type,
html:not([data-theme="light"]) .org-status{
  color:#9ff5d0!important;
  border-color:#3d7a5c!important;
}

/* Ghost buttons = high contrast chips */
html:not([data-theme="light"]) .btn-ghost,
html:not([data-theme="light"]) a.btn-ghost{
  color:#ffffff!important;
  background:#0a1f16!important;
  border:1px solid #3d7a5c!important;
  font-weight:600!important;
}
html:not([data-theme="light"]) .btn-ghost:hover,
html:not([data-theme="light"]) a.btn-ghost:hover{
  color:#ffffff!important;
  background:#145c3f!important;
  border-color:#3de0a8!important;
}
html:not([data-theme="light"]) .btn-primary,
html:not([data-theme="light"]) a.btn-primary{
  color:#02140c!important;
  background:#3de0a8!important;
  border:1px solid #9ff5d0!important;
  font-weight:800!important;
}

/* CTA secondary used in org join */
html:not([data-theme="light"]) .cta-sec{
  color:#ffffff!important;
  background:#0f2a1e!important;
  border:2px solid #3de0a8!important;
}
html:not([data-theme="light"]) .cta-main{
  color:#02140c!important;
}

/* Inline style traps (var(--text2/3) on dark wash) */
html:not([data-theme="light"]) #main-content [style*="color:var(--text2)"],
html:not([data-theme="light"]) #main-content [style*="color: var(--text2)"],
html:not([data-theme="light"]) #main-content [style*="color:var(--text3)"],
html:not([data-theme="light"]) #main-content [style*="color: var(--text3)"],
html:not([data-theme="light"]) footer [style*="color:var(--text2)"],
html:not([data-theme="light"]) footer [style*="color: var(--text2)"],
html:not([data-theme="light"]) footer [style*="color:var(--text3)"],
html:not([data-theme="light"]) footer [style*="color: var(--text3)"]{
  color:#e8f0e8!important;
  -webkit-text-fill-color:#e8f0e8!important;
}

/* Inputs readable */
html:not([data-theme="light"]) input,
html:not([data-theme="light"]) select,
html:not([data-theme="light"]) textarea,
html:not([data-theme="light"]) .sign-input,
html:not([data-theme="light"]) .calc-select,
html:not([data-theme="light"]) .faq-search,
html:not([data-theme="light"]) .amend-search{
  color:#ffffff!important;
  background:#06140f!important;
  border-color:#2a6b4f!important;
}
html:not([data-theme="light"]) input::placeholder,
html:not([data-theme="light"]) textarea::placeholder{
  color:#a8c4b4!important;
  opacity:1!important;
}

/* Sections with alternating bg still dark enough */
html:not([data-theme="light"]) .section,
html:not([data-theme="light"]) #orgs,
html:not([data-theme="light"]) #faq,
html:not([data-theme="light"]) #sign,
html:not([data-theme="light"]) #donate,
html:not([data-theme="light"]) #pillars{
  background-color:#050c09!important;
}
html:not([data-theme="light"]) #orgs,
html:not([data-theme="light"]) section[style*="background:var(--bg2)"],
html:not([data-theme="light"]) .section[style*="background:var(--bg2)"]{
  background:#0a1410!important;
}

/* Press cards names always white */
html:not([data-theme="light"]) .press-card-name{color:#ffffff!important}
html:not([data-theme="light"]) .press-card-tag{color:#c8dccf!important}
html:not([data-theme="light"]) .press-disclaimer{color:#d4e8d8!important}
html:not([data-theme="light"]) .press-disclaimer a{color:#9ff5d0!important}

/* FAQ open answers */
html:not([data-theme="light"]) .faq-a.open,
html:not([data-theme="light"]) .faq-a{
  color:#eef4ee!important;
}
html:not([data-theme="light"]) .faq-item.active .faq-q{
  color:#9ff5d0!important;
}

/* Cookie / status / float */
html:not([data-theme="light"]) #cookie-banner{
  background:#0a1f16!important;
  border-top:2px solid #3de0a8!important;
  color:#fff!important;
}
html:not([data-theme="light"]) #cookie-banner p{color:#eef4ee!important}
html:not([data-theme="light"]) #status-dock{
  background:#0a1f16!important;
  color:#9ff5d0!important;
  border-color:#2a6b4f!important;
}
html:not([data-theme="light"]) .build-badge,
html:not([data-theme="light"]) .net-badge{
  color:#9ff5d0!important;
}

/* Light theme remains dark-ink (already in 790) — reinforce org join */
html[data-theme="light"] .org-join-cta{
  background:#e8eee4!important;
  border:1px solid #2a6b4f!important;
}
html[data-theme="light"] .org-join-cta p{
  color:#0f1a12!important;
  -webkit-text-fill-color:#0f1a12!important;
}
html[data-theme="light"] .org-join-cta strong{
  color:#047857!important;
  -webkit-text-fill-color:#047857!important;
}
html[data-theme="light"] .org-join-cta .cta-sec{
  color:#0f1a12!important;
  background:#fff!important;
  border:1px solid #047857!important;
}

/* ═══════════════════════════════════════════════════════════
   BUILD 810 — Centered institutional footer
═══════════════════════════════════════════════════════════ */
footer.site-footer,
footer{
  background:#020805!important;
  border-top:1px solid #1a3d2e!important;
  padding:3.5rem 1.25rem 0!important;
  margin:0!important;
  color:#eef4ee!important;
  text-align:center!important;
}
.footer-wrap{
  max-width:960px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2.25rem;
  padding-bottom:0;
}

/* Brand hero */
.footer-hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.85rem;
  width:100%;
  max-width:36rem;
}
.footer-brand-link{
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  text-decoration:none;
  color:inherit;
}
.footer-mark,
footer .footer-mark.giveabit-brand-logo{
  width:48px!important;
  height:48px!important;
  border-radius:12px!important;
  background:#0a1f16!important;
  border:1px solid #3d7a5c!important;
  padding:4px!important;
  box-shadow:0 0 20px rgba(61,224,168,.3)!important;
}
.footer-wordmark{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.15rem;
  text-align:left;
}
footer .footer-wordmark .logo-text,
footer .logo-text{
  font-family:var(--serif)!important;
  font-size:1.65rem!important;
  font-weight:700!important;
  color:#ffffff!important;
  line-height:1!important;
  display:block!important;
}
footer .footer-wordmark .logo-sub,
footer .logo-sub{
  font-family:var(--mono)!important;
  font-size:.58rem!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#f5d76a!important;
  border:none!important;
  padding:0!important;
  margin:0!important;
}
.footer-tagline{
  margin:0!important;
  font-size:1.02rem!important;
  line-height:1.65!important;
  color:#e8f0e8!important;
  font-weight:450!important;
  max-width:28rem;
}
.footer-contact{
  margin:0!important;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.5rem .75rem;
  font-size:.88rem!important;
}
.footer-contact a{
  color:#9ff5d0!important;
  font-weight:700!important;
  text-decoration:none!important;
  padding:.35rem .85rem;
  border-radius:100px;
  background:#0a1f16;
  border:1px solid #2a6b4f;
}
.footer-contact a:hover{
  border-color:#3de0a8!important;
  background:#145c3f!important;
}
.footer-contact-note{
  color:#a8c4b4!important;
  font-family:var(--mono);
  font-size:.72rem!important;
}

/* Nav columns — centered 3-col */
.footer-nav{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem 2rem;
  width:100%;
  max-width:720px;
  text-align:center;
  padding:1.75rem 0 0;
  border-top:1px solid #1a3d2e;
}
.footer-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.35rem;
}
.footer-col h3{
  font-family:var(--mono)!important;
  font-size:.65rem!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:#f5d76a!important;
  margin:0 0 .55rem!important;
}
.footer-col a{
  display:block!important;
  font-size:.88rem!important;
  font-weight:500!important;
  color:#e8f0e8!important;
  text-decoration:none!important;
  padding:.2rem 0!important;
  margin:0!important;
  transition:color .15s;
}
.footer-col a:hover{
  color:#9ff5d0!important;
}

/* Donate card centered */
.footer-donate,
footer #footer-pay.footer-donate,
footer .footer-pay{
  width:100%;
  max-width:400px!important;
  margin:0 auto!important;
  padding:1.35rem 1.25rem!important;
  background:#0a1f16!important;
  border:1px solid #2a6b4f!important;
  border-radius:1.15rem!important;
  box-shadow:0 12px 40px rgba(0,0,0,.35)!important;
  text-align:center!important;
}
.footer-donate-label{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#f5d76a;
  margin-bottom:.85rem;
}
footer .pay-tabs{
  display:flex!important;
  gap:.4rem!important;
  margin-bottom:.85rem!important;
  justify-content:center;
}
footer .pay-tab{
  flex:1;
  color:#e8f0e8!important;
  background:#06140f!important;
  border:1px solid #2a6b4f!important;
  font-weight:600!important;
  cursor:pointer;
}
footer .pay-tab.active{
  color:#02140c!important;
  background:#3de0a8!important;
  border-color:#9ff5d0!important;
  font-weight:800!important;
}
footer .pay-address{
  color:#9ff5d0!important;
  background:#06140f!important;
  border:1px solid #2a6b4f!important;
  text-align:center!important;
  font-size:.7rem!important;
  word-break:break-all;
}
footer .pay-actions{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  margin-top:.65rem;
}
footer .pay-copy,
footer .pay-qr-btn{
  width:100%!important;
  margin:0!important;
  color:#02140c!important;
  background:#3de0a8!important;
  border:1px solid #9ff5d0!important;
  font-weight:800!important;
  cursor:pointer;
}
footer .pay-qr-btn{
  background:#0f2a1e!important;
  color:#ffffff!important;
  border-color:#3d7a5c!important;
}
footer .pay-note{
  color:#c8dccf!important;
  text-align:center!important;
  margin-top:.65rem!important;
  font-size:.75rem!important;
}

/* Social row */
footer .footer-social-official{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:.55rem!important;
  margin:0!important;
  width:100%;
  max-width:640px;
}
footer .social-official{
  color:#ffffff!important;
  background:#0f2a1e!important;
  border:1px solid #3d7a5c!important;
  font-weight:700!important;
  font-size:.8rem!important;
  min-height:40px!important;
  padding:.45rem 1rem!important;
}

/* Legal */
footer .legal-footer{
  width:100%;
  max-width:880px;
  margin:0 auto!important;
  padding:2rem 0 max(2rem,env(safe-area-inset-bottom,0))!important;
  border-top:1px solid #1a3d2e!important;
  text-align:center!important;
}
footer .legal-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1.25rem!important;
  margin-bottom:1.75rem!important;
  text-align:center!important;
}
footer .legal-block h4{
  color:#9ff5d0!important;
  font-family:var(--mono)!important;
  font-size:.65rem!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  margin:0 0 .5rem!important;
}
footer .legal-block p{
  color:#d4e8d8!important;
  font-size:.78rem!important;
  line-height:1.65!important;
  margin:0!important;
}
footer .legal-bottom{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:1rem!important;
  padding-top:1.25rem!important;
  border-top:1px solid #1a3d2e!important;
  grid-template-columns:none!important;
}
footer .legal-copy{
  margin:0!important;
  font-family:var(--mono)!important;
  font-size:.68rem!important;
  color:#c8dccf!important;
  letter-spacing:.04em!important;
  text-align:center!important;
}
footer .giveabit-footer-parent{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:.4rem!important;
  text-decoration:none!important;
  opacity:1!important;
}
footer .giveabit-footer-parent img{
  height:40px!important;
  width:auto!important;
  border-radius:8px!important;
  border:1px solid #3d7a5c!important;
  background:#0a1f16!important;
  padding:4px 8px!important;
}
footer .parent-tagline{
  color:#a8c4b4!important;
  font-family:var(--mono)!important;
  font-size:.58rem!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
footer .legal-links{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:.35rem .9rem!important;
  justify-self:center!important;
}
footer .legal-links a{
  color:#e8f0e8!important;
  font-family:var(--mono)!important;
  font-size:.68rem!important;
  font-weight:600!important;
  text-decoration:none!important;
}
footer .legal-links a:hover{color:#9ff5d0!important}
footer .legal-tagline{
  margin:1.25rem 0 0!important;
  padding:1rem 0 0!important;
  border-top:1px solid #1a3d2e!important;
  font-family:var(--mono)!important;
  font-size:.58rem!important;
  font-weight:600!important;
  letter-spacing:.1em!important;
  line-height:1.7!important;
  color:#a8c4b4!important;
  text-align:center!important;
  max-width:36rem;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Kill old left-biased footer grid leftovers */
footer .footer-inner{
  display:contents!important;
}
footer .footer-brand{
  display:contents!important;
}

@media(max-width:720px){
  footer.site-footer{padding:2.5rem 1rem 0!important}
  .footer-nav{
    grid-template-columns:1fr!important;
    gap:1.5rem!important;
    max-width:280px;
  }
  footer .legal-grid{
    grid-template-columns:1fr!important;
    gap:1.25rem!important;
    text-align:center!important;
  }
  .footer-tagline{font-size:.95rem!important}
  .footer-wordmark{align-items:center;text-align:center}
  .footer-brand-link{flex-direction:column;text-align:center}
}

/* ═══════════════════════════════════════════════════════════
   BUILD 812 — Adoption heatmap (demo / temp, honest)
═══════════════════════════════════════════════════════════ */
.map-section .map-honest{
  max-width:640px;
  margin:.75rem 0 1.25rem;
  font-size:.9rem;
  line-height:1.65;
  color:#d4e8d8!important;
}
.map-container{
  position:relative;
  width:100%;
  min-height:320px;
  height:clamp(280px,42vw,400px);
  border-radius:1.25rem;
  overflow:hidden;
  border:1px solid #2a6b4f;
  background:#06140f;
  box-shadow:0 16px 48px rgba(0,0,0,.4);
}
#map-canvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  display:block;
}
.map-label{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  text-align:center;
  pointer-events:none;
  padding:1.1rem 1.5rem;
  border-radius:1rem;
  background:rgba(2,8,5,.78);
  border:1px solid rgba(61,224,168,.35);
  backdrop-filter:blur(10px);
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  max-width:min(90%,360px);
}
.map-badge{
  display:inline-block;
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#02140c;
  background:#f5d76a;
  padding:.22rem .65rem;
  border-radius:100px;
  margin-bottom:.55rem;
}
.map-stat{
  font-family:var(--serif);
  font-size:clamp(1.6rem,4vw,2.35rem);
  font-weight:700;
  color:#3de0a8!important;
  line-height:1.1;
  letter-spacing:-.02em;
}
.map-label p,
#map-stat-sub{
  font-family:var(--mono)!important;
  font-size:.68rem!important;
  color:#d4e8d8!important;
  margin-top:.45rem!important;
  line-height:1.45!important;
  letter-spacing:.02em;
}
.map-legend{
  list-style:none;
  margin:1.25rem 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:.5rem .75rem;
}
.map-legend-item{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem .5rem;
  padding:.55rem .7rem;
  background:#0a1f16;
  border:1px solid #1a3d2e;
  border-radius:.75rem;
  font-size:.78rem;
  color:#eef4ee;
}
.map-legend-item.is-hot{
  border-color:#3d7a5c;
  box-shadow:inset 0 0 0 1px rgba(245,215,106,.15);
}
.map-dot{
  width:8px;height:8px;border-radius:50%;
  background:#3de0a8;
  box-shadow:0 0 8px rgba(61,224,168,.5);
  flex-shrink:0;
}
.map-legend-item.is-hot .map-dot{background:#f5d76a;box-shadow:0 0 8px rgba(245,215,106,.45)}
.map-legend-name{font-weight:700;color:#fff}
.map-legend-note{font-size:.68rem;color:#a8c4b4;width:100%;padding-left:1rem}
@media(max-width:640px){
  .map-container{min-height:260px}
  .map-legend{grid-template-columns:1fr 1fr}
  .map-legend-note{font-size:.62rem}
}

/* ═══════════════════════════════════════════════════════════
   BUILD 820 — International-first home (Canada as offering)
═══════════════════════════════════════════════════════════ */
.hero-paths{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:.5rem .75rem;margin:1.15rem auto 0;animation:fade-up .55s .5s both;
}
.hero-path-link{
  font-family:var(--sans);font-size:.88rem;font-weight:700;
  color:#9ff5d0!important;text-decoration:none;
  padding:.4rem .85rem;border-radius:100px;
  border:1px solid #2a6b4f;background:rgba(10,31,22,.85);
  display:inline-flex;align-items:center;gap:.4rem;
  transition:border-color .2s,background .2s,color .2s;
}
.hero-path-link:hover{border-color:#3de0a8;background:#145c3f;color:#fff!important}
.hero-path-ca{
  color:#f5d76a!important;border-color:rgba(245,215,106,.45);
  background:rgba(20,16,6,.75);
}
.hero-path-ca:hover{color:#02140c!important;background:#f5d76a;border-color:#fff3b0}
.hero-path-sep{color:#5a8f72;font-weight:300}
/* retire old gold Canada mega-chip if residual */
#hero .hero-canada-link{display:none!important}

.world-tracks{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:.75rem;
  margin:1.5rem 0 1.75rem;
}
.world-track{
  display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;
  padding:1rem 1.1rem;border-radius:1rem;text-decoration:none;
  background:#0a1f16;border:1px solid #1a3d2e;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.world-track:hover{
  border-color:#3de0a8;transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.world-track.is-live{
  border-color:rgba(245,215,106,.5);
  box-shadow:inset 0 0 0 1px rgba(245,215,106,.12);
}
.world-track-flag{font-size:1.35rem;line-height:1}
.world-track-title{font-weight:800;color:#fff;font-size:.95rem}
.world-track-note{font-size:.72rem;color:#a8c4b4;line-height:1.4}
.jurisdictions-home .challenge-actions{
  margin-top:1.5rem;display:flex;gap:.75rem;flex-wrap:wrap;
}
.jurisdictions-home .canada-lead{max-width:720px}
@media(max-width:640px){
  .world-tracks{grid-template-columns:1fr 1fr}
  .hero-paths{flex-direction:column;gap:.5rem}
  .hero-path-sep{display:none}
}

/* ═══════════════════════════════════════════════════════════
   BUILD 830 — Official film player on home
═══════════════════════════════════════════════════════════ */
.sc-film-intro{
  color:#e8f0e8!important;
  font-size:.95rem!important;
  line-height:1.75!important;
  max-width:640px;
  margin:.75rem 0 1.35rem!important;
}
.sc-film-player{
  position:relative;
  background:#000;
  aspect-ratio:16/9;
  width:100%;
  overflow:hidden;
}
/* Override global video{max-height:400px} so 16:9 frame fills */
.sc-film-player video,
#film video,
#sherpacarta-film video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  background:#000!important;
  vertical-align:middle;
}
/* Companion YouTube embed — same 16:9 box as official film */
.sc-film-embed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  overflow:hidden;
}
.sc-film-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
  background:#000;
}
.sc-film-primary .video-title{color:#3de0a8!important;letter-spacing:.1em}
.sc-film-primary .video-live{color:#9ff5d0!important}
.sc-film-primary .video-live::before{background:#3de0a8}
.sc-film-secondary .video-title{color:#a8c4b4!important}
#film .video-caption{color:#d4e8d8!important;font-style:normal!important}
#film .video-caption a{color:#9ff5d0!important}

/* ═══════════════════════════════════════════════════════════
   BUILD 840 — Film fit · YouTube companion · Art. 114 layout
═══════════════════════════════════════════════════════════ */
/* content-visibility was blanking sections after #articles (Art. 114)
   and starving IntersectionObserver .reveal — keep all sections painted */
.section,
.mission-block,
section.section,
#articles,
#film,
#orgs,
#faq,
#sign,
#timeline,
#main-content .section{
  content-visibility:visible!important;
  contain:none!important;
}

/* Articles browser: room for last articles (113–114 + extension) */
.articles-layout{
  min-height:580px;
}
.articles-sidebar{
  max-height:min(78vh,760px);
}
.articles-main{
  max-height:min(78vh,760px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.article-display.active{
  display:block;
  min-height:240px;
  padding-bottom:.5rem;
}
.art-body,
.art-body p{
  color:#eef4ee!important;
  -webkit-text-fill-color:#eef4ee!important;
  line-height:1.85;
}
.ca-sherpa{
  color:#9ff5d0!important;
  -webkit-text-fill-color:#9ff5d0!important;
  margin-top:1.1rem;
  padding:1rem 1.1rem;
  background:rgba(16,185,129,.08);
  border:1px solid rgba(52,211,153,.28);
  border-radius:.75rem;
  font-style:normal!important;
}
.ca-sherpa strong{
  color:#3de0a8!important;
  -webkit-text-fill-color:#3de0a8!important;
  display:block;
  margin-bottom:.45rem;
}
.art-actions{
  margin-top:1.35rem;
  padding-bottom:.25rem;
}
/* Safety: never leave .reveal stuck invisible below the fold */
.reveal.visible,
#articles ~ .section .reveal,
#articles ~ section .reveal{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important}
}

/* ═══════════════════════════════════════════════════════════
   BUILD 860 — Film mobile + poster + relay UI
═══════════════════════════════════════════════════════════ */
#film .sc-film-player,
#film .sc-film-embed{
  max-height:min(56.25vw, 70vh);
  min-height:180px;
}
@media(max-width:640px){
  #film .video-header{
    flex-direction:column;
    align-items:flex-start;
    gap:.35rem;
    padding:.85rem 1rem;
  }
  #film .video-title{font-size:.62rem;letter-spacing:.06em}
  #film .sc-film-player,
  #film .sc-film-embed{
    max-height:none;
    aspect-ratio:16/9;
  }
  .nostr-status{
    flex-wrap:wrap;
    gap:.35rem;
  }
  .articles-sidebar{max-height:200px}
  .articles-main{max-height:min(70vh,520px)}
}
#nostr-relay-health{white-space:nowrap}
