@import url('https://fonts.googleapis.com/css2?family=Anton&family=Oswald:wght@500;600;700&display=swap');
/* Sitewide header and menu. Loaded after each page's own styles so it wins ties. */
.site-header{position:fixed;top:0;left:0;right:0;z-index:11000;background:var(--bg-card,#1a1f25);border-bottom:1px solid var(--border,#2d3748);box-shadow:0 2px 8px var(--shadow,rgba(0,0,0,.3));height:60px}
.site-header .header-inner{display:flex;align-items:center;gap:8px;height:100%;padding:0 14px;max-width:1100px;margin:0 auto}
.site-header .header-brand{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1rem;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-right:auto}
.site-header .header-brand a{color:var(--brand-accent,#D4A017);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.hb{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:8px;font-family:'Inter',sans-serif;font-size:.86rem;font-weight:700;border:1.5px solid var(--border-light,#374151);color:var(--text-primary,#e8eaed);background:transparent;white-space:nowrap;cursor:pointer;text-decoration:none;line-height:1}
.hb:hover{text-decoration:none}
.hb.menu{gap:8px}
.hb.menu svg{width:18px;height:18px;fill:currentColor}
.hdr-links{display:flex;gap:8px;align-items:center}
@media(max-width:640px){
  .hdr-links .hb.alerts,.hdr-links .hb.meeting{display:none}
  .hb{padding:0 12px;font-size:.84rem}
}
.menu-scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:199999;display:none}
.menu-scrim.open{display:block}
.menu-panel{position:fixed;top:0;right:0;width:min(320px,88vw);height:100%;background:var(--bg-card,#1a1f25);border-left:1px solid var(--border,#2d3748);z-index:200000;transform:translateX(105%);transition:transform .22s ease;overflow-y:auto;padding:14px 16px 24px;font-family:'Inter',sans-serif}
.menu-panel:not(.open){visibility:hidden}
.menu-panel.open{transform:translateX(0);visibility:visible}
.menu-head{display:flex;align-items:center;justify-content:space-between;height:46px;margin-bottom:8px}
.menu-head b{font-family:'Montserrat',sans-serif;color:var(--brand-accent,#D4A017)}
.menu-close{background:none;border:1px solid var(--border-light,#374151);border-radius:8px;color:var(--text-primary,#e8eaed);width:40px;height:40px;font-size:1.3rem;cursor:pointer}
.menu-panel a.mi{display:block;padding:14px 12px;border-radius:8px;font-size:1.02rem;font-weight:600;color:var(--text-primary,#e8eaed);border:1px solid transparent;text-decoration:none}
.menu-panel a.mi:hover{background:var(--bg-card-hover,#242a32);text-decoration:none}
.menu-panel a.mi small{display:block;font-weight:400;font-size:.8rem;color:var(--text-secondary,#9aa0a6);margin-top:2px}
.menu-panel .mgroup{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-accent,#D4A017);margin:16px 12px 6px}
.menu-panel .mrow{display:flex;gap:8px;padding:12px;flex-wrap:wrap;align-items:center}
.menu-panel .theme-switch{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-secondary,#9aa0a6);background:none;border:1px solid var(--border-light,#374151);border-radius:8px;padding:8px 10px;cursor:pointer;min-height:40px;font-family:'Inter',sans-serif}
.menu-panel .theme-track{width:30px;height:16px;border-radius:20px;background:var(--bg-card-hover,#242a32);border:1px solid var(--border,#2d3748);position:relative}
.menu-panel .theme-track::after{content:'';position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--text-dim,#9aa0a6);transition:left .2s,background .2s}
html.light .menu-panel .theme-track::after{left:16px;background:var(--brand-accent,#D4A017)}
@media print{.site-header,.menu-panel,.menu-scrim{display:none!important}}

/* Readability: brighter dark palette, softer light palette. Loaded last so it wins. */
:root,html.dark{--bg-primary:#131a23;--bg-card:#1d252f;--bg-card-hover:#28323e;--bg-table-alt:#222c37;--text-primary:#f1f3f5;--text-secondary:#c9ced5;--text-dim:#aab2bb;--border:#3b4757;--border-light:#4a5769;--chart-grid:#3b4757;--link-blue:#7cc7f7}
html.light{--brand-accent:#8a5a00;--bg-primary:#f2efe6;--bg-card:#faf8f1;--bg-card-hover:#ebe7dc;--bg-table-alt:#ece8de;--text-primary:#151a20;--text-secondary:#3a424c;--text-dim:#5b6470;--border:#d5cfc2;--border-light:#c2bbac;--chart-grid:#d5cfc2;--link-gold:#8a5a00;--link-blue:#0b6bb0}
.hb.theme{padding:0 10px;min-width:40px}
.hb.theme svg{width:18px;height:18px;fill:currentColor}

.hb.theme .ic-moon{display:none}
html.light .hb.theme .ic-sun{display:none}
html.light .hb.theme .ic-moon{display:block}

/* Raised buttons. One system: slate cards raised, Donate raised gold. */
.hb,.cta{border-radius:10px;font-weight:700;transition:transform .06s ease,box-shadow .06s ease,filter .12s ease}
.hb{background:var(--bg-card-hover);border:1px solid var(--border-light);box-shadow:0 3px 7px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.09)}
.hb:hover{filter:brightness(1.12);background:var(--bg-card-hover)}
.hb:active{transform:translateY(2px);box-shadow:0 1px 3px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.hb.donate,.cta.donate{background:linear-gradient(180deg,#e9b92f,#d4a017);border:0;border-bottom:3px solid #8a5a00;color:#1a1206;box-shadow:0 4px 10px rgba(0,0,0,.45)}
.hb.donate:hover,.cta.donate:hover{filter:brightness(1.06);background:linear-gradient(180deg,#e9b92f,#d4a017)}
.hb.donate:active,.cta.donate:active{transform:translateY(2px);border-bottom-width:1px;box-shadow:0 1px 4px rgba(0,0,0,.4)}
html.light .hb{box-shadow:0 3px 7px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.8)}
html.light .hb:active{box-shadow:0 1px 3px rgba(0,0,0,.18)}

/* ===== CLASSIC BRAND (2026-09-08): navy / red / cream, light default. Loaded last, wins. ===== */
:root,html.light{
  --bg-primary:#f5f3ee;--bg-card:#ffffff;--bg-card-hover:#eceae2;--bg-table-alt:#f0ede5;
  --text-primary:#20242e;--text-secondary:#3f4859;--text-dim:#525a68;
  --border:#dcd7cb;--border-light:#c9c3b4;--chart-grid:#dcd7cb;--shadow:rgba(30,42,82,.12);
  --brand-primary:#1e2a52;--brand-accent:#a32320;--brand-teal:#1e2a52;
  --link-gold:#a32320;--link-blue:#0b6bb0;--on-gold:#ffffff;--accent-cyan:#0b6bb0;
}
html.dark{
  --bg-primary:#141b2f;--bg-card:#1d2544;--bg-card-hover:#28315a;--bg-table-alt:#222c50;
  --text-primary:#f1f3f5;--text-secondary:#c9ced9;--text-dim:#aab2c5;
  --border:#3b4677;--border-light:#4a568c;--chart-grid:#3b4677;--shadow:rgba(0,0,0,.4);
  --brand-primary:#2c3a6e;--brand-accent:#f0716b;--brand-teal:#8fa2e8;
  --link-gold:#f0857f;--link-blue:#7cc7f7;--on-gold:#1a0505;--accent-cyan:#7cc7f7;
}
h1,h2,h3{font-family:'Oswald','Montserrat',sans-serif;letter-spacing:.015em}
.site-header{background:var(--bg-card);border-bottom:4px solid var(--brand-primary);box-shadow:none;height:60px}
html.dark .site-header{border-bottom-color:var(--brand-accent)}
.header-brand a{font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-primary)}
html.dark .header-brand a{color:var(--text-primary)}
.hb,.cta{border-radius:3px;font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:transparent;border:2px solid var(--brand-primary);color:var(--brand-primary);box-shadow:none}
html.dark .hb,html.dark .cta{border-color:var(--text-secondary);color:var(--text-primary)}
.hb:hover,.cta:hover{background:var(--brand-primary);color:#fff;filter:none;text-decoration:none}
.hb:active,.cta:active{transform:translateY(1px)}
.hb.donate,.cta.donate{background:var(--brand-accent);border:2px solid var(--brand-accent);color:#fff;box-shadow:0 3px 0 rgba(0,0,0,.28)}
.hb.donate:hover,.cta.donate:hover{background:#8c1f24;border-color:#8c1f24;filter:none}
html.dark .hb.donate,html.dark .cta.donate{color:#1a0505}
.hb.theme{border-color:var(--border-light);color:var(--text-dim)}
.menu-panel{background:var(--bg-card)}
.menu-head b{color:var(--brand-primary)}
html.dark .menu-head b{color:var(--text-primary)}
.menu-panel .mgroup{color:var(--brand-accent)}

/* CLASSIC BRAND FIX2 */
html.light .hb,html.dark .hb,html.light .cta,html.dark .cta{box-shadow:none}
html.light .hb.donate,html.dark .hb.donate,html.light .cta.donate,html.dark .cta.donate{box-shadow:0 3px 0 rgba(0,0,0,.28)}
html.light .hb:active,html.light .cta:active{box-shadow:none}

/* CLASSIC BRAND: header nav links (Platform / Your Money / Housing / Records) */
.hb.navtx,html.light .hb.navtx,html.dark .hb.navtx{border:0;background:transparent;box-shadow:none;border-radius:0;padding:6px 7px;min-height:auto;border-bottom:3px solid transparent;color:var(--brand-primary,#1e2a52);font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:13.6px}
html.dark .hb.navtx{color:var(--text-primary,#f1f3f5)}
.hb.navtx:hover{border-bottom-color:var(--brand-accent,#c22a26);text-decoration:none;background:transparent;filter:none;transform:none}
@media(max-width:1279px){.hdr-links .hb.navtx{display:none}}

/* CLASSIC BRAND: header width so the brand never clips into the nav */
@media(min-width:1280px){.site-header .header-inner{max-width:1340px}}
.site-header .header-brand{flex-shrink:0;overflow:visible;text-overflow:clip}
@media(max-width:560px){.hdr-links .hb.donate{display:none}.site-header .header-brand{font-size:.9rem}}
@media(max-width:420px){.site-header .header-brand{font-size:.8rem}.hdr-links{gap:6px}.hb{padding:0 10px}}
@media(max-width:420px){.site-header .header-brand{font-size:12px}.site-header .header-brand a{letter-spacing:.03em}.hb.menu{font-size:0;gap:0;padding:0 11px}}
@media(max-width:340px){.site-header .header-brand{font-size:10.5px}.site-header .header-brand a{letter-spacing:.01em}}

/* CLASSIC BRAND: Calendar and Alerts match the homepage text-link style */
.hdr-links .hb.meeting,.hdr-links .hb.alerts{border:0;background:transparent;box-shadow:none;border-radius:0;padding:6px 7px;min-height:auto;border-bottom:3px solid transparent;color:var(--brand-primary,#1e2a52)}
html.dark .hdr-links .hb.meeting,html.dark .hdr-links .hb.alerts{color:var(--text-primary,#f1f3f5)}
.hdr-links .hb.meeting:hover,.hdr-links .hb.alerts:hover{border-bottom-color:var(--brand-accent,#c22a26);background:transparent;color:var(--brand-primary,#1e2a52);text-decoration:none;filter:none;transform:none}
html.dark .hdr-links .hb.meeting:hover,html.dark .hdr-links .hb.alerts:hover{color:var(--text-primary,#f1f3f5)}
.hdr-links .hb.meeting,.hdr-links .hb.alerts{font-size:13.6px}
/* CLASSIC BRAND: theme button same outline style on every page */
.hb.theme,html.light .hb.theme{border:2px solid var(--brand-primary,#1e2a52);color:var(--brand-primary,#1e2a52);background:transparent}
html.dark .hb.theme{border-color:var(--text-secondary,#c9ced9);color:var(--text-primary,#f1f3f5)}
.hb.theme:hover{background:var(--brand-primary,#1e2a52);color:#fff}
/* CLASSIC BRAND: wordmark navy like the homepage */
.site-header .header-brand a,html.light .site-header .header-brand a{color:var(--brand-primary,#1e2a52)}
html.dark .site-header .header-brand a{color:var(--text-primary,#f1f3f5)}
/* CLASSIC BRAND: desktop header = homepage exactly (no theme or menu button at full width) */
@media(min-width:1280px){.hdr-links .hb.menu{display:none}}

/* CLASSIC BRAND: pixel-match the homepage topbar */
.site-header{height:62px}
.site-header .header-inner{max-width:1120px;padding:0 20px;gap:22px}
.site-header .header-brand a{font-size:1.15rem;min-height:62px}
.hdr-links{gap:20px}
@media(min-width:1280px){.hdr-links{gap:20px}}
.hdr-links .hb.navtx,.hdr-links .hb.meeting,.hdr-links .hb.alerts{padding:6px 0}
.hdr-links .hb.donate{padding:10px 22px;min-height:auto;border-radius:0;border:0;box-shadow:0 3px 0 #8c1f24}
html.dark .hdr-links .hb.donate{box-shadow:0 3px 0 rgba(0,0,0,.4)}
.hb.theme{border-radius:3px}

/* CLASSIC BRAND FINAL: high-specificity header lockdown so page CSS can never override */
html body .site-header{position:fixed;top:0;left:0;right:0;height:auto;min-height:62px;background:var(--bg-card,#fff);border-bottom:4px solid var(--brand-primary,#1e2a52);box-shadow:none}
html.dark body .site-header{border-bottom-color:#f0716b}
html body .site-header .header-inner{display:flex;align-items:center;height:100%;max-width:1120px;margin:0 auto;padding:0 20px;gap:22px}
html body .site-header .header-brand{font-family:'Oswald',sans-serif;font-weight:700;font-size:18.4px;white-space:nowrap;flex-shrink:0;overflow:visible;text-overflow:clip;margin-right:auto}
html body .site-header .header-brand a{font-family:'Oswald',sans-serif;font-weight:700;font-size:18.4px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-primary,#1e2a52);display:inline-flex;align-items:center;min-height:62px}
html.dark body .site-header .header-brand a{color:var(--text-primary,#f1f3f5)}
html body .site-header .hdr-links{display:flex;gap:20px;align-items:center}
html body .site-header .hb{font-family:'Oswald',sans-serif;font-weight:600;font-size:13.6px;letter-spacing:.08em;text-transform:uppercase;line-height:1}
html body .site-header .hb.navtx,html body .site-header .hb.meeting,html body .site-header .hb.alerts{border:0;background:transparent;box-shadow:none;border-radius:0;padding:6px 0;min-height:auto;border-bottom:3px solid transparent;color:var(--brand-primary,#1e2a52)}
html.dark body .site-header .hb.navtx,html.dark body .site-header .hb.meeting,html.dark body .site-header .hb.alerts{color:var(--text-primary,#f1f3f5)}
html body .site-header .hb.navtx:hover,html body .site-header .hb.meeting:hover,html body .site-header .hb.alerts:hover{border-bottom-color:var(--brand-accent,#c22a26);background:transparent;color:inherit;text-decoration:none;filter:none;transform:none}
html body .site-header .hb.donate{background:#c22a26;border:0;border-radius:0;color:#fff;padding:10px 22px;min-height:auto;box-shadow:0 3px 0 #a32320}
html body .site-header .hb.donate:hover{background:#a32320}
html body .site-header .hb.theme{border:2px solid var(--brand-primary,#1e2a52);border-radius:3px;color:var(--brand-primary,#1e2a52);background:transparent;padding:0 11px;min-height:40px}
html.dark body .site-header .hb.theme{border-color:var(--text-secondary,#c9ced9);color:var(--text-primary,#f1f3f5)}
html body .site-header .hb.menu{border:2px solid var(--brand-primary,#1e2a52);border-radius:3px;color:var(--brand-primary,#1e2a52);background:transparent}
html.dark body .site-header .hb.menu{border-color:var(--text-secondary,#c9ced9);color:var(--text-primary,#f1f3f5)}
@media(min-width:1280px){html body .site-header .hb.menu{display:none}}
@media(max-width:1279px){html body .site-header .hb.navtx{display:none}}
@media(max-width:640px){html body .site-header .hb.alerts,html body .site-header .hb.meeting{display:none}}
@media(max-width:560px){html body .site-header .hb.donate{display:none}html body .site-header .header-brand,html body .site-header .header-brand a{font-size:.95rem}}
@media(max-width:420px){html body .site-header .header-brand,html body .site-header .header-brand a{font-size:12px}html body .site-header .hb.menu{font-size:0;gap:0;padding:0 11px}}
@media(max-width:340px){html body .site-header .header-brand,html body .site-header .header-brand a{font-size:10.5px;letter-spacing:.01em}}

/* header group separators */
.hdr-links .hsep{display:block;width:1px;height:18px;background:currentColor;opacity:.3;align-self:center;margin:0 4px;color:var(--brand-primary,#1e2a52)}
html.dark .hdr-links .hsep{color:var(--text-primary,#f1f3f5)}
@media(max-width:1279px){html body .site-header .hsep{display:none}}

/* social bar (Facebook + Instagram), sitewide footer strip */
html body .social-bar{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:18px 20px;background:#0f1a3a;color:#e6ebf7;font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;border-top:1px solid rgba(255,255,255,.12)}
html body .social-bar .sb-label{color:#aeb8d2}
html body .social-bar a.sb-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid #e6ebf7;color:#e6ebf7;background:transparent;text-decoration:none;transition:background .15s,color .15s}
html body .social-bar a.sb-ic:hover,html body .social-bar a.sb-ic:focus-visible{background:#e6ebf7;color:#0f1a3a;outline:none}
html body .social-bar svg{display:block}
