/* --- css/fonts.css --- */
/* Self-hosted sponsor portal typography. Fontsource packages are OFL-licensed;
   license texts ship in /static/licenses. */
@font-face {
  font-family: "Goldman";
  src: url("/static/fonts/goldman-latin-400-normal.woff2?v=47db53f64d") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Raleway";
  src: url("/static/fonts/raleway-latin-600-normal.woff2?v=0a66971e5a") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Raleway";
  src: url("/static/fonts/raleway-latin-700-normal.woff2?v=05844cd75b") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Raleway";
  src: url("/static/fonts/raleway-latin-800-normal.woff2?v=12ba99eb12") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("/static/fonts/roboto-latin-400-normal.woff2?v=425c0713a8") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("/static/fonts/roboto-latin-500-normal.woff2?v=5bcc3aa180") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("/static/fonts/roboto-latin-700-normal.woff2?v=b9d66d1708") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

/* --- css/brand.css --- */
/* Shared GLET / CoSN GA foundation, with CyberCon GA circuit accents. */
:root {
  --navy: #1d4e6b;
  --navy-deep: #143a52;
  --navy-abyss: #0e2a3c;
  --blue: #266081;
  --indigo: #365f7c;
  --cyan: #a9d6db;
  --cyan-soft: #d3ebee;
  --sky: #3b93ad;
  --gold: #7ebec5;
  --gold-soft: #e3f1f3;
  --gold-ink: #1f4f5a;
  --bg: #f4f6fb;
  --surface: #fff;
  --surface-tint: #edf3f6;
  --border: #d8dfec;
  --text: #1a2233;
  --text-muted: #56617a;
  --accent: var(--blue);
  --accent-hover: var(--indigo);
  --accent-contrast: #fff;
  --danger: #a1362c;
  --ok: #1e7a34;
  --warn: #8a5b00;
  --radius: 12px;
  --shadow: 0 2px 3px #1d4e6b05, 0 8px 24px #1d4e6b08;
  --font-body: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-heading: "Raleway", var(--font-body);
  --font-display: "Goldman", "Raleway", var(--font-body);
  --hex-tex: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='168' height='168'%3E%3Cg fill='none' stroke='%2320e5f6' stroke-opacity='.13'%3E%3Cpath d='M42 10 70 26 70 58 42 74 14 58 14 26z'/%3E%3Cpath d='M126 78 154 94 154 126 126 142 98 126 98 94z'/%3E%3Cpath d='M70 42 98 58M42 74 42 110 70 126'/%3E%3C/g%3E%3Cg fill='%2320e5f6' fill-opacity='.22'%3E%3Ccircle cx='70' cy='26' r='2.2'/%3E%3Ccircle cx='98' cy='126' r='2.2'/%3E%3Ccircle cx='42' cy='110' r='1.8'/%3E%3C/g%3E%3Cg fill='%23f8a71b' fill-opacity='.25'%3E%3Ccircle cx='14' cy='58' r='1.8'/%3E%3Ccircle cx='154' cy='94' r='1.8'/%3E%3C/g%3E%3C/svg%3E");
}

/* --- css/home.css --- */
* { box-sizing:border-box; }html { scroll-behavior:smooth;scroll-padding-top:105px; }body.public-home { margin:0;background:#fff;color:var(--text);font-family:var(--font-body);line-height:1.6; }button,input { font:inherit; }button,a { -webkit-tap-highlight-color:transparent; }a { color:inherit; }[hidden] { display:none!important; }:focus-visible { outline:3px solid var(--gold);outline-offset:4px; }h1,h2,h3,p,figure { margin:0; }h1,h2,h3 { font-family:var(--font-heading);line-height:1.12; }button { cursor:pointer; }.home-skip { position:fixed;top:10px;left:12px;z-index:200;transform:translateY(-180%);padding:12px 18px;color:var(--navy);background:#fff;border:2px solid var(--gold); }.home-skip:focus { transform:translateY(0); }
.home-header { position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px max(28px,calc((100vw - 1320px)/2));background:#fffffffa;border-bottom:1px solid var(--border);box-shadow:0 3px 18px #1d4e6b08;min-height:94px; }.home-logo { display:flex;align-items:center;gap:22px;text-decoration:none;flex:none; }.home-logo img { width:205px;height:auto; }.home-logo span { display:block;color:var(--navy);font-family:var(--font-display);font-size:.86rem;max-width:110px;line-height:1.2;border-left:1px solid var(--border);padding-left:20px; }.home-navigation { display:flex;align-items:center;gap:26px;font-size:.8rem;font-weight:700; }.home-navigation>a { text-decoration:none;white-space:nowrap; }.home-navigation>a:not(.home-button):hover { color:var(--blue);text-decoration:underline;text-underline-offset:6px; }.home-menu-toggle { display:none;color:var(--navy);border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 12px;font-size:1.3rem; }
.home-button { display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 20px;border-radius:8px;text-decoration:none;font-size:.85rem;font-weight:700;transition:box-shadow .2s,transform .2s; }.home-button:hover { box-shadow:0 7px 20px #143a5224;transform:translateY(-2px); }.home-button-gold { background:var(--gold);color:var(--navy-deep); }.home-button-navy { background:var(--navy);color:#fff; }.home-nav-cta { padding:12px 16px;font-size:.75rem; }.home-eyebrow { font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-ink); }.home-inline-link { display:inline-block;color:var(--navy);font-size:.85rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--sky);padding-bottom:5px;margin-top:24px; }.home-text-link { color:#e4edfc;font-size:.85rem;text-decoration:none;border-bottom:1px solid #ffffff55;padding-bottom:4px; }
.home-hero { position:relative;background-color:var(--navy);background-image:var(--hex-tex),linear-gradient(115deg,var(--navy),var(--navy-abyss));color:#fff;overflow:hidden; }.home-hero-inner { max-width:1320px;padding:64px 28px 44px;margin:auto;display:grid;grid-template-columns:1.04fr 1fr;gap:50px;align-items:center; }.home-hero-copy { padding:12px 0; }.home-hero .home-eyebrow { color:var(--gold); }.home-hero h1 { font-size:clamp(2.3rem,3.7vw,3.85rem);font-weight:800;letter-spacing:-.035em;max-width:680px;line-height:1.08; }.home-hero h1 span { color:#d3ebee; }.home-hero-description { max-width:510px;color:#d8e3f6;font-size:1rem;line-height:1.8;margin:24px 0 28px; }.home-hero-actions { display:flex;align-items:center;gap:26px;flex-wrap:wrap; }.home-program-facts { display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-top:1px solid #ffffff25;padding-top:22px;margin-top:38px;font-size:.74rem;color:#cbd9f3; }.home-program-facts strong { font-family:var(--font-display);font-size:1.05rem;color:#fff;margin-right:5px; }.home-program-facts span+span { border-left:1px solid #ffffff30;padding-left:18px; }.home-hero-image { position:relative;isolation:isolate;border-radius:18px;overflow:hidden;min-width:0;box-shadow:0 20px 45px #143a5240; }.home-hero-image img { display:block;width:100%;height:490px;object-fit:cover;object-position:center; }.home-hero-image::after { content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#143a52cc);z-index:1;pointer-events:none; }.home-hero-image figcaption { position:absolute;bottom:26px;left:26px;right:26px;z-index:2; }.home-image-label { display:block;font-family:var(--font-heading);font-size:1.7rem;font-weight:700;color:#fff; }.home-image-subtitle { display:block;color:#edf2fb;font-size:.8rem;max-width:300px;margin-top:5px; }.home-hero-footer { display:flex;justify-content:center;gap:75px;border-top:1px solid #ffffff1c;padding:20px 28px;font-size:.74rem;text-transform:uppercase;letter-spacing:.13em;color:#cbd9f3; }
.home-section { max-width:1260px;margin:auto;padding:88px 28px; }.home-section-heading h2 { color:var(--navy);font-size:clamp(2rem,3vw,2.85rem);letter-spacing:-.025em;margin:14px 0 20px; }.home-section-heading>p:not(.home-eyebrow) { color:var(--text-muted);font-size:.95rem;max-width:440px;line-height:1.8; }.home-section-heading-wide { max-width:760px; }.home-section-heading-wide>p:not(.home-eyebrow) { max-width:700px; }
.home-orientation { display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center; }.home-role-workbench { border-top:3px solid var(--sky);background:#f4f7fb;border-radius:0 0 14px 14px; }.home-role-tabs { display:flex;border-bottom:1px solid var(--border); }.home-role-tabs button { padding:18px 14px;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--text-muted);font-size:.78rem;font-weight:700;flex:1; }.home-role-tabs button[aria-selected=true] { color:var(--navy);border-bottom-color:var(--gold);background:#fff; }.home-role-workbench [role=tabpanel] { padding:28px 32px; }.home-panel-kicker { color:var(--blue);font-size:.73rem;font-weight:600;margin-bottom:15px; }.home-role-workbench h3 { font-size:1.6rem;color:var(--navy);margin-bottom:17px; }.home-role-workbench [role=tabpanel]>p:not(.home-panel-kicker) { font-size:.85rem;color:var(--text-muted);line-height:1.8; }.home-role-workbench ul { padding-left:20px;color:var(--text);font-size:.82rem;margin:20px 0 0; }.home-role-workbench li { margin:8px 0; }
.home-foundation { background:#eef3f8;border-top:1px solid #e1e8f0;border-bottom:1px solid #e1e8f0; }.home-foundation-inner { display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center; }.home-rubric-map { background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 7px 30px #1d4e6b08; }.home-map-heading { display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border); }.home-map-heading span { color:var(--navy);font-size:.8rem;font-weight:700; }.home-map-heading small { color:var(--text-muted);font-size:.7rem; }.home-function-selector { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:22px 0; }.home-function-selector button { background:#f3f6fb;color:var(--navy);border:1px solid var(--border);padding:14px 10px;border-radius:8px;text-align:left;font-size:.83rem;font-weight:700; }.home-function-selector button span { display:block;font-family:var(--font-display);font-size:.66rem;color:var(--text-muted);margin-bottom:5px; }.home-function-selector button[aria-pressed=true] { background:var(--navy);border-color:var(--navy);color:#fff; }.home-function-selector button[aria-pressed=true] span { color:var(--cyan-soft); }.home-focus-detail { min-height:165px;border-left:3px solid var(--gold);padding:3px 0 3px 17px; }.home-focus-detail h3 { color:var(--navy);font-size:1.2rem;margin-bottom:10px; }.home-focus-detail p { color:var(--text-muted);font-size:.82rem; }.home-focus-detail span { display:block;margin-top:16px;font-size:.65rem;color:var(--text-muted); }
.home-process-track { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:46px 0 0;counter-reset:none; }.home-process-track li { position:relative; }.home-process-track li:not(:last-child)::after { content:'';position:absolute;left:50px;right:-30px;top:24px;border-top:1px solid #b5c7e2;z-index:0; }.home-process-node { display:grid;place-items:center;width:48px;height:48px;border:1px solid #b5c7e2;background:#fff;border-radius:50%;font-family:var(--font-display);font-size:.9rem;color:var(--navy); }.home-process-track li:first-child .home-process-node { border-color:var(--gold);background:var(--gold); }.home-process-track h3 { font-size:1.2rem;margin:22px 0 12px;color:var(--navy); }.home-process-track p { font-size:.85rem;color:var(--text-muted);line-height:1.8; }.home-process-track a { display:inline-block;margin-top:20px;font-size:.8rem;font-weight:700;color:var(--navy);text-decoration:none; }
.home-pathways { background-color:var(--navy-abyss);background-image:var(--hex-tex);color:#fff; }.home-pathways .home-eyebrow { color:var(--gold); }.home-pathways h2 { color:#fff; }.home-pathways .home-section-heading>p:not(.home-eyebrow) { color:#d1ddf0; }.home-pathway-comparison { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:40px;border:1px solid #ffffff28;border-radius:14px;overflow:hidden; }.home-pathway-comparison article { padding:32px;background:#ffffff05; }.home-pathway-comparison article+article { border-left:1px solid #ffffff28; }.home-pathway-comparison .home-pathway-highlight { background:#1d4e6b7a;border-top:3px solid var(--gold);padding-top:29px; }.home-pathway-level { font-size:.75rem;color:var(--gold);font-weight:700; }.home-pathway-comparison h3 { font-size:1.6rem;color:#fff;margin:14px 0; }.home-pathway-comparison article>p { font-size:.85rem;color:#d1ddf0;line-height:1.8;min-height:80px; }.home-pathway-comparison dl { margin:24px 0 0; }.home-pathway-comparison dt { font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:#a9bfdc;margin-top:20px; }.home-pathway-comparison dd { font-size:.82rem;margin:5px 0 0;color:#e6edfa; }
.home-working-tools { display:grid;grid-template-columns:1.02fr 1fr;gap:70px;align-items:center; }.home-working-tools figure { border-radius:16px;overflow:hidden;position:relative; }.home-working-tools figure img { display:block;width:100%;height:530px;object-fit:cover; }.home-working-tools figcaption { position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#143a52e6);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:1.3rem;padding:60px 28px 24px; }.home-working-tools h2 { font-size:clamp(2rem,3vw,2.85rem);color:var(--navy);margin:14px 0 25px; }.home-tool-list article { display:flex;gap:17px;padding:20px 0;border-bottom:1px solid var(--border); }.home-tool-list article>span { display:grid;place-items:center;width:36px;height:36px;border:1px solid #c7d7eb;border-radius:9px;color:var(--navy);font-size:1rem;flex:none; }.home-tool-list h3 { font-size:1.05rem;color:var(--navy);margin-bottom:8px; }.home-tool-list p { font-size:.82rem;color:var(--text-muted);line-height:1.8; }
.home-community { display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--border);padding-top:75px; }.home-community-identity>img { width:260px;height:auto;margin-bottom:24px; }.home-community-identity h2 { font-size:2.1rem;color:var(--navy);margin:15px 0 20px; }.home-community-identity>p { color:var(--text-muted);font-size:.88rem;max-width:440px;line-height:1.8; }.home-community-links { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px; }.home-community-links a { border:1px solid var(--border);border-radius:8px;padding:16px;text-decoration:none; }.home-community-links strong { display:block;color:var(--navy);font-size:.85rem; }.home-community-links span { display:block;color:var(--text-muted);font-size:.72rem;margin-top:6px; }.home-community-links a:hover { border-color:var(--sky);background:#f4f7fb; }.home-faq h3 { font-size:1.5rem;color:var(--navy);margin:5px 0 20px; }.home-faq details { border-bottom:1px solid var(--border);padding:18px 0; }.home-faq summary { cursor:pointer;font-weight:700;color:var(--navy);font-size:.88rem; }.home-faq p { color:var(--text-muted);font-size:.82rem;padding:14px 0 0;line-height:1.8; }
.home-final-cta { background-color:var(--navy);background-image:var(--hex-tex),linear-gradient(110deg,var(--navy),var(--navy-abyss));color:#fff;padding:64px 28px;text-align:center; }.home-final-cta>div { max-width:850px;margin:auto; }.home-final-cta .home-eyebrow { color:var(--gold); }.home-final-cta h2 { color:#fff;font-size:clamp(1.9rem,3vw,2.8rem);margin:18px 0; }.home-final-cta p:not(.home-eyebrow) { color:#cbd9f3;font-size:.9rem; }.home-final-cta .home-button { margin-top:26px; }.home-footer { max-width:1260px;margin:auto;padding:35px 28px;display:grid;grid-template-columns:auto 1fr auto;gap:20px 30px;align-items:center; }.home-footer img { width:90px;height:auto; }.home-footer strong { font-size:.85rem;color:var(--navy); }.home-footer p { font-size:.72rem;color:var(--text-muted); }.home-footer nav { display:flex;gap:22px;font-size:.75rem; }.home-footer nav a { text-decoration:none; }.home-footer small { grid-column:1/-1;font-size:.64rem;color:var(--text-muted);border-top:1px solid var(--border);padding-top:16px; }
@media(max-width:1150px){.home-header{padding:18px 24px;gap:20px;}.home-logo span{display:none;}.home-navigation{gap:20px;}.home-hero-inner{gap:28px;}.home-orientation,.home-foundation-inner{gap:45px;}.home-working-tools{gap:40px;}.home-community{gap:55px;}.home-hero-image img{height:470px;}}
@media(max-width:860px){html{scroll-padding-top:84px;}.home-header{min-height:82px;padding:15px 22px;}.home-menu-toggle{display:block;}.home-logo img{width:190px;}.home-navigation{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:14px 22px 22px;border-bottom:2px solid var(--gold);box-shadow:0 10px 20px #143a5215;}.home-navigation>a{padding:14px 10px;}.home-navigation[data-open=true]{display:flex;}.home-navigation .home-nav-cta{margin-top:8px;}.home-hero-inner{grid-template-columns:1fr;padding-top:45px;gap:34px;}.home-hero-copy{max-width:680px;}.home-hero h1{font-size:3.25rem;}.home-hero-image img{height:430px;}.home-program-facts{margin-top:28px;}.home-hero-footer{gap:35px;}.home-section{padding:64px 24px;}.home-orientation,.home-foundation-inner,.home-working-tools,.home-community{grid-template-columns:1fr;gap:36px;}.home-section-heading>p:not(.home-eyebrow){max-width:600px;}.home-process-track{grid-template-columns:1fr 1fr;gap:40px;}.home-process-track li:not(:last-child)::after{display:none;}.home-pathway-comparison article{padding:24px;}.home-pathway-comparison h3{font-size:1.25rem;}.home-pathway-comparison article>p{min-height:110px;}.home-working-tools figure img{height:410px;}.home-community-identity{max-width:650px;}.home-footer{grid-template-columns:auto 1fr;}.home-footer nav{grid-column:1/-1;flex-wrap:wrap;}}
@media(max-width:580px){.home-hero-inner{padding:36px 22px 30px;}.home-hero h1{font-size:2.4rem;}.home-hero-description{font-size:.9rem;}.home-hero-actions{gap:20px;}.home-program-facts{gap:12px;font-size:.67rem;}.home-program-facts span+span{padding-left:12px;}.home-program-facts span:last-child{border-left:0;padding-left:0;width:100%;}.home-hero-image img{height:315px;}.home-hero-image figcaption{left:20px;bottom:20px;}.home-image-label{font-size:1.4rem;}.home-image-subtitle{font-size:.73rem;}.home-hero-footer{justify-content:space-between;gap:15px;font-size:.58rem;letter-spacing:.07em;padding:17px 22px;}.home-section{padding:54px 22px;}.home-section-heading h2,.home-working-tools h2{font-size:2rem;}.home-role-tabs button{padding:14px 9px;font-size:.67rem;}.home-role-workbench [role=tabpanel]{padding:23px;}.home-role-workbench h3{font-size:1.4rem;}.home-map-heading{align-items:start;flex-direction:column;gap:4px;}.home-rubric-map{padding:20px;}.home-function-selector{gap:8px;}.home-function-selector button{font-size:.73rem;padding:12px 8px;}.home-focus-detail{min-height:185px;}.home-process-track{grid-template-columns:1fr;gap:30px;margin-top:32px;}.home-process-track li{display:grid;grid-template-columns:48px 1fr;gap:0 20px;}.home-process-node{grid-row:1/4;}.home-process-track h3{margin-top:5px;margin-bottom:10px;}.home-process-track li p,.home-process-track li a{grid-column:2;}.home-pathway-comparison{grid-template-columns:1fr;}.home-pathway-comparison article+article{border-left:0;border-top:1px solid #ffffff28;}.home-pathway-comparison .home-pathway-highlight{border-top:3px solid var(--gold);padding-top:24px;}.home-pathway-comparison article>p{min-height:0;}.home-pathway-comparison h3{font-size:1.6rem;}.home-pathway-comparison dl{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:start;}.home-pathway-comparison dt{margin-top:0;line-height:1.5;}.home-pathway-comparison dd{margin:0;line-height:1.6;}.home-working-tools figure img{height:340px;}.home-working-tools figcaption{font-size:1.1rem;padding-left:22px;}.home-community-identity h2{font-size:1.8rem;}.home-community-links{grid-template-columns:1fr;}.home-final-cta{padding:48px 22px;}.home-footer{padding:28px 22px;gap:20px;}.home-footer nav{gap:12px 20px;}}
/* Comfortable public reading scale, with stronger contrast than secondary portal labels. */
.home-hero-description { font-size:1.12rem;color:#edf2fc;max-width:560px;line-height:1.75; }
.home-section-heading>p:not(.home-eyebrow) { font-size:1.04rem;color:#34435b; }
.home-role-workbench [role=tabpanel]>p:not(.home-panel-kicker),.home-focus-detail p,.home-tool-list p,.home-faq p { font-size:.95rem;color:#34435b;line-height:1.75; }
.home-role-workbench ul,.home-process-track li p { font-size:.95rem;color:#34435b; }
.home-community-identity>p { font-size:1rem;color:#34435b; }
.home-community-links span { font-size:.82rem;color:#34435b; }
.home-faq summary { font-size:1rem; }
.home-pathway-comparison article>p { font-size:.97rem;color:#e5edf9; }
.home-pathway-comparison dd { font-size:.89rem;color:#e5edf9; }
.home-final-cta p:not(.home-eyebrow) { font-size:1.04rem;color:#e5edf9; }
.home-image-subtitle { font-size:.88rem; }
@media(max-width:580px){.home-hero-description{font-size:1rem;}.home-section-heading>p:not(.home-eyebrow){font-size:1rem;}.home-image-subtitle{font-size:.82rem;}.home-role-workbench ul{padding-left:17px;}.home-pathway-comparison dl{grid-template-columns:85px 1fr;gap:10px;}}
.home-hero-copy { position:relative;isolation:isolate; }
.home-hero-copy::before { content:'';position:absolute;right:-10px;bottom:35px;width:300px;height:300px;background:url('/static/img/sectors/municipal/mark-reverse.svg?v=6b9bf6e9a0') center/contain no-repeat;opacity:.045;z-index:-1;pointer-events:none; }
.home-audience { position:relative;isolation:isolate;background:#f6f8fb;overflow:hidden;border-block:1px solid #e0e7f0; }
.home-audience::before { content:'';position:absolute;left:-75px;bottom:5px;width:440px;height:440px;background:url('/static/img/sectors/municipal/mark-color.svg?v=5c23677b2c') center/contain no-repeat;opacity:.035;z-index:-1;pointer-events:none; }
.home-audience-heading { display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:60px;margin-bottom:32px; }
.home-audience-heading h2 { margin-bottom:0; }
.home-audience-heading>p { max-width:440px;font-size:1.04rem;line-height:1.75;color:#34435b;padding-bottom:4px; }
.home-audience-infographic { background:#fff;border:1px solid #d9e1ed;border-radius:16px;overflow:hidden;box-shadow:0 14px 35px #1d4e6b08; }
.home-audience-hub { display:flex;align-items:center;justify-content:center;gap:17px;padding:25px;text-align:left;background:#fafbfe;border-bottom:1px solid var(--border); }
.home-audience-hub-mark { width:55px;display:flex;align-items:center; }
.home-audience-hub-mark img { width:100%;height:auto; }
.home-audience-hub p { color:#526179;font-size:.85rem; }
.home-audience-hub strong { color:var(--navy);font-family:var(--font-heading);font-size:1.13rem; }
.home-audience-people { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-audience-people article { min-width:0;padding:22px 26px 29px;position:relative; }
.home-audience-people article+article { border-left:1px solid var(--border); }
.home-audience-art { height:208px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:9px;margin-bottom:24px;background:#faf9f4; }
.home-audience-art img { display:block;width:100%;height:auto;max-height:100%;object-fit:contain; }
.home-audience-role { display:flex;align-items:center;gap:11px;margin-bottom:13px; }
.home-audience-role>span { width:31px;height:31px;display:grid;place-items:center;background:#e5f6fa;border-radius:50%;color:var(--navy);font-size:.72rem;font-weight:700; }
.home-audience-role h3 { font-size:1.48rem;color:var(--navy); }
.home-audience-people h4 { font-family:var(--font-heading);font-size:1.07rem;line-height:1.3;color:#12213a;margin:0 0 13px; }
.home-audience-people ul { list-style:none;padding:0;margin:0; }
.home-audience-people li { position:relative;padding-left:16px;color:#34435b;font-size:.91rem;line-height:1.7; }
.home-audience-people li+li { margin-top:12px; }
.home-audience-people li::before { content:'';position:absolute;top:.65em;left:0;width:5px;height:5px;background:#2584a7;border-radius:50%; }
.home-audience-shared { display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 30px;background:var(--navy);background-image:var(--hex-tex);color:#fff;border-top:3px solid var(--gold); }
.home-audience-shared>p { max-width:260px;color:#e6eefb;font-size:.9rem;line-height:1.5; }
.home-audience-shared ol { display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0; }
.home-audience-shared li { display:flex;align-items:center;gap:11px;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;white-space:nowrap;position:relative; }
.home-audience-shared li+li::before { content:'→';color:#9cdef3;position:absolute;left:-26px;font-size:1.05rem; }
.home-audience-shared li>span { font-family:var(--font-body);font-size:.7rem;color:var(--gold);width:25px;height:25px;border:1px solid #ffffff45;border-radius:50%;display:grid;place-items:center; }
.home-audience-resources { display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:28px; }
.home-audience-resources strong { display:block;color:var(--navy);font-size:1rem;margin-bottom:4px; }
.home-audience-resources p>span { display:block;color:#34435b;font-size:.92rem;max-width:620px;line-height:1.7; }
.home-audience-resources>a { flex-shrink:0; }
@media(max-width:1100px){.home-audience-people article{padding:20px;}.home-audience-art{height:175px;}.home-audience-shared{padding:24px;}.home-audience-shared ol{gap:30px;}.home-audience-shared li{font-size:.97rem;gap:8px;}}
@media(max-width:860px){.home-audience-heading{grid-template-columns:1fr;gap:18px;}.home-audience-heading>p{max-width:590px;}.home-audience-art{height:140px;}.home-audience-role h3{font-size:1.18rem;}.home-audience-role{gap:8px;}.home-audience-people h4{font-size:1rem;}.home-audience-people article{padding:16px;}.home-audience-people li{font-size:.87rem;}.home-audience-shared{flex-direction:column;align-items:start;gap:18px;}.home-audience-shared>p{max-width:none;}.home-audience-resources{gap:25px;}.home-audience-resources p>span{font-size:.88rem;}}
@media(max-width:580px){.home-hero-copy::before{width:220px;height:220px;right:-25px;bottom:80px;}.home-audience-people{grid-template-columns:1fr;}.home-audience-people article{padding:22px;}.home-audience-people article+article{border-left:0;border-top:1px solid var(--border);}.home-audience-art{height:auto;max-height:230px;}.home-audience-art img{max-height:230px;}.home-audience-role h3{font-size:1.5rem;}.home-audience-people h4{font-size:1.1rem;}.home-audience-people li{font-size:.95rem;}.home-audience-hub{padding:20px;gap:12px;}.home-audience-hub strong{font-size:.99rem;}.home-audience-hub-mark{width:45px;flex-shrink:0;}.home-audience-shared{padding:22px;}.home-audience-shared ol{width:100%;justify-content:space-between;gap:10px;}.home-audience-shared li{font-size:.82rem;gap:5px;}.home-audience-shared li>span{display:none;}.home-audience-shared li+li::before{left:-16px;font-size:.85rem;}.home-audience-resources{flex-direction:column;align-items:start;gap:18px;}.home-audience-resources>a{width:100%;}.home-audience::before{width:300px;height:300px;bottom:35px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.home-button{transition:none;}.home-button:hover{transform:none;}}

/* --- css/privacy.css --- */
/* Privacy notice — plain-language policy page (2026-10-10). Builds on home.css tokens. */
.privacy-page{background:#f4f6fb}
.privacy-topnav{display:flex;align-items:center;gap:22px;font-weight:600}
.privacy-topnav a{color:var(--navy);text-decoration:none}
.privacy-topnav a:hover{text-decoration:underline}
.privacy-topnav .home-button{color:#fff;text-decoration:none}
.privacy-wrap{max-width:860px;margin:0 auto;padding:0 24px}
.privacy-hero{background-color:var(--navy-deep,#143a52);background-image:var(--hex-tex);color:#fff;padding:64px 0 56px;border-bottom:4px solid var(--gold,#7ebec5)}
.privacy-hero .home-eyebrow{color:var(--gold,#7ebec5)}
.privacy-hero h1{color:#fff;font-size:clamp(32px,4.6vw,52px);line-height:1.05;margin:10px 0 18px;letter-spacing:-.02em}
.privacy-lede{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:#dbe6ff;max-width:680px;margin:0 0 18px}
.privacy-meta{font-size:14px;color:#aebfe6;margin:0}
.privacy-body{padding:40px 24px 72px}
.privacy-body section{background:#fff;border:1px solid #d8dfec;border-radius:16px;padding:28px 32px;margin:0 0 20px;scroll-margin-top:24px}
.privacy-body h2{color:var(--navy,#1d4e6b);font-size:24px;margin:0 0 14px}
.privacy-body h3{color:var(--navy,#1d4e6b);font-size:17px;margin:0 0 8px}
.privacy-body p,.privacy-body li{font-size:16px;line-height:1.7;color:#26314a}
.privacy-body a{color:#0754a3}
.privacy-short{background:#fff8ea;border:1px solid #f6d595;border-left:6px solid var(--gold,#7ebec5);border-radius:16px;padding:24px 30px;margin:0 0 20px}
.privacy-short h2{margin:0 0 10px}
.privacy-short ul{margin:0;padding-left:20px}
.privacy-short li{margin:8px 0}
.privacy-toc{background:#fff;border:1px solid #d8dfec;border-radius:16px;padding:20px 30px;margin:0 0 20px}
.privacy-toc p{font-weight:800;color:var(--navy,#1d4e6b);margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.privacy-toc ol{columns:2;column-gap:32px;margin:0;padding-left:22px}
.privacy-toc li{margin:4px 0;font-size:15px}
.privacy-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 16px}
.privacy-cards article{border:1px solid #d8dfec;border-top:4px solid var(--sky,#3b93ad);border-radius:12px;padding:18px 20px;background:#fbfcff}
.privacy-cards article:nth-child(2n){border-top-color:var(--gold,#7ebec5)}
.privacy-cards p{font-size:15px;margin:0}
.privacy-callout,.privacy-note{border-radius:12px;padding:14px 18px;margin:12px 0 0}
.privacy-callout{background:#fdf0ee;border:1px solid #efc2bc}
.privacy-note{background:#edf3f6;border:1px solid #c5d1ec}
.privacy-table-wrap{overflow-x:auto;margin:10px 0 14px}
.privacy-table{width:100%;border-collapse:collapse;font-size:15px}
.privacy-table caption{text-align:left;font-weight:700;color:var(--navy,#1d4e6b);padding:0 0 8px}
.privacy-table th{background:var(--navy,#1d4e6b);color:#fff;text-align:left;padding:10px 12px;font-size:14px}
.privacy-table td{border-bottom:1px solid #e3e8f2;padding:10px 12px;vertical-align:top;line-height:1.55}
.privacy-table tr:nth-child(even) td{background:#f7f9fd}
.privacy-table code{font-size:14px;background:#edf3f6;border-radius:4px;padding:1px 6px;color:#1d4e6b;white-space:nowrap}
.privacy-list{padding-left:22px}
.privacy-list li{margin:6px 0}
.privacy-never li::marker{content:"✕  ";color:#a1362c;font-weight:700}
.privacy-contact{font-weight:600}
@media(max-width:720px){
  .privacy-topnav a:not(.home-button){display:none}
  .privacy-cards{grid-template-columns:1fr}
  .privacy-toc ol{columns:1}
  .privacy-body section,.privacy-short,.privacy-toc{padding:20px}
  .privacy-hero{padding:44px 0 40px}
}
.privacy-topnav .home-button{white-space:nowrap}
@media(max-width:420px){.privacy-topnav .home-button{padding:10px 14px;font-size:14px}.home-logo span{display:none}}

/* --- css/registration.css --- */
.join-page { min-height:100dvh;background-color:var(--navy-abyss);background-image:var(--hex-tex),linear-gradient(115deg,var(--navy),var(--navy-abyss));color:#fff; }
.join-header { max-width:1200px;margin:auto;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px; }.join-header img { width:260px;height:auto; }.join-header a { color:#fff;font-size:var(--cf-text-sm); }
.join-layout { display:grid;grid-template-columns:1fr 1.05fr;gap:70px;max-width:1120px;margin:32px auto 50px;padding:0 28px;align-items:start; }
.join-intro { padding-top:28px; }.join-intro .eyebrow { color:var(--gold);font-size:var(--cf-font-size-label);text-transform:uppercase;letter-spacing:.12em;font-weight:700; }
.join-intro h1 { color:#fff;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.15;margin:12px 0 25px; }.join-intro p { font-size:1.05rem;color:#d8e3f6;max-width:400px; }
.join-intro ul { padding:12px 0 12px 20px;font-size:.9rem;color:#d8e3f6; }.join-intro li { margin:14px 0; }.join-intro a { color:var(--cyan-soft);font-size:var(--cf-text-sm); }
.join-form-card { background:#fff;color:var(--text);padding:32px;border-radius:16px;border-top:4px solid var(--gold);box-shadow:0 16px 50px #143a5255; }
.join-form-card .eyebrow { font-size:var(--cf-font-size-label);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-weight:700; }.join-form-card h2 { margin:6px 0 22px;font-size:1.5rem; }
.join-form-card form>label { margin:14px 0; }.join-form-card label { font-size:var(--cf-text-sm);font-weight:600; }.join-form-card input:not([type=checkbox]) { width:100%;background:#fff;color:var(--text); }.join-field-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.join-form-card fieldset { border:1px solid var(--border);border-radius:10px;padding:16px;margin:20px 0; }.join-form-card legend { font-size:var(--cf-text-sm);font-weight:700;padding:0 6px; }.join-form-card fieldset label { display:flex;gap:10px;align-items:center;font-weight:400;margin:10px 0; }.join-form-card input[type=checkbox] { width:16px;height:16px;flex:none;accent-color:var(--navy); }
.join-consent { display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-weight:400!important; }.join-consent input { margin-top:3px; }.join-privacy { font-size:var(--cf-text-sm);color:var(--text-muted);line-height:1.5; }
.join-honeypot { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.join-form-card #join-submit { width:100%;margin-top:5px; }.join-receipt-status { background:#eef4fa;border-left:4px solid var(--sky);padding:18px;margin:25px 0; }.join-receipt-status span { display:block;color:var(--text-muted);font-size:var(--cf-text-xs); }.join-receipt-status strong { display:block;font-size:1.2rem;color:var(--cf-text-strong);margin-top:5px; }
.join-footer { max-width:1200px;margin:auto;padding:26px 28px;color:#d8e3f6;font-size:var(--cf-text-sm);display:flex;justify-content:space-between;gap:20px; }.join-footer span { color:#aebfd9;font-size:var(--cf-text-sm); }
.registration-pagination { display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 0;color:var(--cf-text-muted);font-size:var(--cf-text-sm); }
.registration-card { margin:var(--cf-space-6) 0 0; }.registration-card .registration-identity { display:flex;justify-content:space-between;gap:20px;align-items:start; }.registration-contact { font-size:var(--cf-text-sm);line-height:1.7; }.registration-history { margin-top:var(--cf-space-5); }.registration-history summary { cursor:pointer;font-weight:600;margin-bottom:var(--cf-space-3); }
.registration-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }.registration-form-grid .wide { grid-column:1/-1; }.registration-form-grid input,.registration-form-grid textarea,.registration-form-grid select { width:100%; }.registration-form-grid textarea { min-height:110px; }.registration-form-grid .registration-check { display:flex;gap:10px;align-items:start; }.registration-check input { width:18px;flex:none; }
.registration-invitation { background:var(--cf-info-bg);border-left:4px solid var(--cf-info);border-radius:0 var(--cf-radius-md) var(--cf-radius-md) 0;padding:20px;margin:20px 0; }.registration-invitation textarea { width:100%;min-height:175px;background:var(--cf-surface);color:var(--cf-text);font-family:var(--font-body);font-size:var(--cf-text-sm); }.registration-matches { margin:16px 0; }
@media(max-width:850px){.join-layout{grid-template-columns:1fr;gap:25px;max-width:630px;margin-top:0;}.join-intro{padding-top:8px;}.join-intro ul{display:none;}.join-intro h1{margin-bottom:16px;}.join-footer{flex-direction:column;}}
@media(max-width:450px){.join-header{padding:20px;}.join-header img{width:195px;}.join-header a{font-size:var(--cf-text-sm);}.join-layout{padding:0 18px;}.join-form-card{padding:23px;}.join-field-grid,.registration-form-grid{grid-template-columns:1fr;}.registration-form-grid .wide{grid-column:auto;}.registration-card .registration-identity{align-items:start;flex-direction:column;}.registration-pagination{align-items:start;flex-direction:column;}.join-footer{padding:20px;}}

/* --- css/site.css --- */
/* Public website (public-web track). Builds on brand.css tokens and home.css components.
   Served inside the public CSS bundle (core/static_assets.py BUNDLES). No inline styles anywhere (CSP style-src 'self'). */

/* Metric-matched fallbacks keep text from jumping when the web fonts arrive (PERF-04). */
@font-face { font-family:"Raleway Fallback"; src:local("Arial"); ascent-override:88.6%; descent-override:22%; line-gap-override:0%; size-adjust:106%; }
@font-face { font-family:"Roboto Fallback"; src:local("Arial"); ascent-override:92.5%; descent-override:24.3%; line-gap-override:0%; size-adjust:100.3%; }
:root { --font-body:"Roboto","Roboto Fallback",system-ui,-apple-system,"Segoe UI",sans-serif; --font-heading:"Raleway","Raleway Fallback",var(--font-body); --site-max:1260px; }

.site-page { background:#fff; }
.site-wrap { max-width:var(--site-max);margin:0 auto;padding:0 28px; }
.visually-hidden { position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }
.site-page a:not(.home-button):not(.home-inline-link):not(.home-text-link) { text-underline-offset:3px; }
.site-page main a:not([class]) { color:var(--blue);text-decoration-thickness:1px; }
.site-page main a:not([class]):hover { color:var(--indigo);text-decoration-thickness:2px; }
.site-page :focus-visible { outline:3px solid var(--gold);outline-offset:3px;border-radius:2px; }
#main:focus { outline:none; }

/* ------------------------------------------------------------------ header + brand */
.site-header { gap:22px;min-height:84px;padding-top:14px;padding-bottom:14px; }
.site-brand { gap:0; }
.site-brand img { display:block;height:auto; }
.site-brand .site-brand-host { width:196px; }
.site-brand .site-brand-program { width:236px;margin-left:24px;padding-left:24px;box-sizing:content-box; }
.site-brand .site-brand-cobrand { width:300px; }
.site-navigation { gap:22px; }
.site-navigation>a:not(.home-button),.site-nav-group>summary { color:var(--navy);font-size:1rem;font-weight:700;white-space:nowrap; }
.site-navigation>a[aria-current=page]:not(.home-button) { color:var(--blue);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:8px; }
.site-navigation .home-nav-cta[aria-current=page] { box-shadow:0 0 0 3px var(--gold); }
.site-nav-signin { color:var(--text-muted)!important; }
.site-nav-group { position:relative; }
.site-nav-group>summary { list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:6px 0; }
.site-nav-group>summary::-webkit-details-marker { display:none; }
.site-nav-group>summary::after { content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s; }
.site-nav-group[open]>summary::after { transform:rotate(-135deg) translateY(-1px); }
.site-nav-group>summary.is-current { color:var(--blue); }
.site-nav-group ul { position:absolute;top:calc(100% + 16px);left:-20px;z-index:120;list-style:none;margin:0;padding:10px;width:330px;background:#fff;border:1px solid var(--border);border-top:3px solid var(--gold);border-radius:0 0 14px 14px;box-shadow:0 18px 40px #143a5222; }
.site-nav-group li a { display:grid;gap:2px;padding:12px 14px;border-radius:10px;text-decoration:none; }
.site-nav-group li a:hover,.site-nav-group li a[aria-current=page] { background:var(--surface-tint); }
.site-nav-group li strong { color:var(--navy);font-size:1rem; }
.site-nav-group li span { color:var(--text-muted);font-size:.88rem;font-weight:400; }

/* ------------------------------------------------------------------ breadcrumbs */
.site-crumb-bar { background:var(--navy-deep);border-bottom:1px solid #ffffff14; }
.site-breadcrumbs ol { max-width:var(--site-max);margin:0 auto;padding:11px 28px;list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.74rem;color:#b9c8e4; }
.site-breadcrumbs li+li::before { content:"/";margin-right:6px;color:#6f84ad; }
.site-page .site-crumb-bar .site-breadcrumbs a { color:#dce6f7;text-decoration:none; }
.site-breadcrumbs a:hover { text-decoration:underline; }
.site-breadcrumbs [aria-current] { color:#fff;font-weight:600; }

/* ------------------------------------------------------------------ heroes */
.site-hero { background-color:var(--navy);background-image:var(--hex-tex),linear-gradient(115deg,var(--navy),var(--navy-abyss));color:#fff;padding:64px 0 70px;overflow:hidden; }
.site-hero-compact { padding:52px 0 56px; }
.site-hero .home-eyebrow { color:var(--gold); }
.site-hero h1 { font-size:clamp(2.1rem,3.4vw,3.35rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;max-width:820px;margin:14px 0 20px; }
.site-lede { font-size:1.08rem;line-height:1.75;color:#d8e3f6;max-width:700px; }
.site-hero-grid { display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center; }
.site-hero-actions,.site-cta-actions { display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px; }
.site-cta-actions { justify-content:center; }
.site-hero-figure { margin:0;border-radius:18px;overflow:hidden;box-shadow:0 20px 45px #143a5250;aspect-ratio:4/3; }
.site-hero-figure img { display:block;width:100%;height:100%;object-fit:cover; }
.site-hero-stats { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0; }
.site-hero-stats div { background:#ffffff0d;border:1px solid #ffffff22;border-radius:14px;padding:22px; }
.site-hero-stats dt { font-family:var(--font-display);font-size:2.4rem;color:var(--cyan-soft);line-height:1; }
.site-hero-stats dd { margin:8px 0 0;color:#d8e3f6;font-size:.86rem; }
.site-about-card { background:#ffffff0d;border:1px solid #ffffff22;border-radius:18px;padding:30px; }
.site-about-card img { width:220px;height:auto;margin-bottom:18px; }
.site-about-card dl { margin:0;display:grid;gap:0; }
.site-about-card dl div { display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #ffffff1f; }
.site-about-card dt { color:#b9c8e4;font-size:.8rem; }
.site-about-card dd { margin:0;color:#fff;font-weight:700;font-size:.86rem;text-align:right; }

/* ------------------------------------------------------------------ shared section pieces */
.site-section-head { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px; }
.site-section-head h2 { color:var(--navy);font-size:clamp(1.8rem,2.6vw,2.4rem);letter-spacing:-.02em;margin:12px 0 0; }
.site-section-head .home-inline-link { margin-top:0; }
.site-section-note { color:var(--text-muted);font-size:.85rem; }
.site-section-foot { margin-top:34px; }
.site-split { display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start; }
.site-split-dark h2 { color:#fff; }
.site-prose p { color:#34435b;font-size:1rem;line-height:1.8;margin:0 0 18px; }
.site-prose p:last-child { margin-bottom:0; }
.site-lede-dark { font-size:1.12rem;line-height:1.8;color:#24324a; }
.site-intro-band { padding-top:70px;padding-bottom:70px; }
.site-intro-grid { display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start; }
.site-intro-grid h2 { color:var(--navy);font-size:clamp(1.8rem,2.6vw,2.35rem);letter-spacing:-.02em;margin-top:12px; }
.site-intro-boundary { margin-top:18px;padding-left:16px;border-left:3px solid var(--gold);color:var(--text-muted);font-size:.92rem; }
.site-panel-link { display:inline-block;margin-top:20px;color:var(--navy);font-weight:700;font-size:.85rem;text-decoration:none;border-bottom:1px solid var(--sky);padding-bottom:3px; }
.site-function-categories { margin-top:14px!important;font-size:.84rem!important;color:#34435b!important;line-height:1.7!important; }
.site-function-categories strong { color:var(--navy); }
.site-map-note { margin-top:18px;font-size:.72rem;color:var(--text-muted); }

/* Feature lists */
.site-feature-list { list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.site-feature-list li { display:grid;gap:6px;padding:20px 22px;background:#f6f8fc;border:1px solid var(--border);border-radius:14px; }
.site-feature-list strong { color:var(--navy);font-family:var(--font-heading);font-size:1.02rem; }
.site-feature-list span { color:#34435b;font-size:.9rem;line-height:1.65; }
.site-feature-list-dark li { background:#ffffff0a;border-color:#ffffff22; }
.site-feature-list-dark strong { color:#fff; }
.site-feature-list-dark span { color:#d1ddf0; }
.site-page .site-feature-list-dark a { color:var(--cyan-soft); }

/* Benefit cards */
.site-benefit-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px; }
.site-benefit-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.site-benefit-grid article { background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow);position:relative; }
.site-benefit-grid article::before { content:"";position:absolute;left:26px;top:0;width:44px;height:3px;background:var(--gold);border-radius:0 0 3px 3px; }
.site-benefit-grid h3 { color:var(--navy);font-size:1.18rem;margin:6px 0 10px; }
.site-benefit-grid p { color:#34435b;font-size:.92rem;line-height:1.7; }
.site-benefit-grid p+p { margin-top:14px; }

/* Numbered lists */
.site-numbered { margin:0;padding:0;list-style:none;counter-reset:n;display:grid;gap:14px; }
.site-numbered li { counter-increment:n;position:relative;padding:18px 20px 18px 66px;background:#fff;border:1px solid var(--border);border-radius:14px;color:#34435b;font-size:.95rem;line-height:1.7; }
.site-numbered li::before { content:counter(n);position:absolute;left:18px;top:16px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font-display);font-size:.85rem; }
.site-numbered strong { color:var(--navy); }

/* Improvement cycle */
.site-cycle { list-style:none;margin:44px 0 0;padding:0;display:grid;gap:18px; }
.site-cycle>li { display:grid;grid-template-columns:64px 1fr;gap:24px;padding:26px 28px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow); }
.site-cycle-node { display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid #b5c7e2;font-family:var(--font-display);color:var(--navy); }
.site-cycle>li:first-child .site-cycle-node { background:var(--gold);border-color:var(--gold); }
.site-cycle h3 { color:var(--navy);font-size:1.3rem;margin:4px 0 10px; }
.site-cycle p { color:#34435b;font-size:.95rem;line-height:1.75; }
.site-cycle-tip { margin-top:12px!important;font-size:.86rem!important;color:var(--text-muted)!important; }
.site-cycle-tip strong { color:var(--gold-ink); }

/* Function grid */
.site-function-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px; }
.site-function-grid article { background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px; }
.site-function-index { font-family:var(--font-display);color:var(--text-muted);font-size:.75rem; }
.site-function-grid h3 { color:var(--navy);font-size:1.3rem;margin:6px 0 10px; }
.site-function-grid p { color:#34435b;font-size:.9rem;line-height:1.7; }
.site-function-count { margin-top:12px!important;color:var(--gold-ink)!important;font-weight:700;font-size:.78rem!important;text-transform:uppercase;letter-spacing:.08em; }
.site-pathway-note { margin-top:26px;color:#cbd9f3;font-size:.88rem;max-width:760px; }

/* Cards (articles) */
.site-card-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.site-card { display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s,transform .2s;position:relative; }
.site-card:hover { border-color:var(--sky);box-shadow:0 14px 30px #1d4e6b14;transform:translateY(-2px); }
.site-card-kicker { color:var(--gold-ink);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em; }
.site-card h3 { font-size:1.2rem;line-height:1.3;margin:12px 0 10px; }
.site-card h3 a { color:var(--navy);text-decoration:none; }
.site-card h3 a::after { content:"";position:absolute;inset:0;border-radius:16px; }
.site-card p { color:#34435b;font-size:.9rem;line-height:1.7; }
.site-card-meta { margin-top:auto!important;padding-top:16px;color:var(--text-muted)!important;font-size:.76rem!important; }
.site-resource-hub .site-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

/* Why it matters */
.site-why { background:#f6f8fc;border-top:1px solid #e1e8f0;border-bottom:1px solid #e1e8f0; }
.site-why-head { max-width:820px; }
.site-why-head h2 { color:var(--navy);font-size:clamp(1.8rem,2.6vw,2.4rem);letter-spacing:-.02em;margin:12px 0 16px; }
.site-why-head p:not(.home-eyebrow) { color:#34435b;font-size:1rem;line-height:1.8; }
.site-stat-grid { list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.site-stat-grid li { display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow); }
.site-stat-grid strong { font-family:var(--font-display);font-weight:400;color:var(--navy);font-size:1.75rem;line-height:1.1; }
.site-stat-grid span { color:#34435b;font-size:.88rem;line-height:1.65; }
.site-stat-grid a { margin-top:auto;color:var(--blue);font-size:.74rem;font-weight:600; }
.site-why-foot { margin-top:20px;color:var(--text-muted);font-size:.78rem; }
.site-why-foot a { color:var(--blue); }

/* FAQ */
.site-faq-section { display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;border-top:1px solid var(--border); }
.site-faq-list,.site-faq-group,.site-article-faq { border-top:1px solid var(--border); }
.site-faq-item { border-bottom:1px solid var(--border);padding:0; }
.site-faq-item summary { cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 2px;font-weight:700;color:var(--navy);font-size:1rem;line-height:1.45;min-height:44px; }
.site-faq-item summary::-webkit-details-marker { display:none; }
.site-faq-item summary::after { content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);color:var(--navy);font-weight:400;font-size:1.2rem;transition:transform .2s,background .2s; }
.site-faq-item[open] summary::after { content:"−";background:var(--navy);color:#fff;border-color:var(--navy); }
.site-faq-item p { color:#34435b;font-size:.95rem;line-height:1.8;padding:0 48px 22px 2px; }
.site-faq-item p a { color:var(--blue); }
.site-faq-page { max-width:920px; }
.site-faq-group { margin-bottom:46px;border-top:0; }
.site-faq-group h2 { color:var(--navy);font-size:1.6rem;margin-bottom:10px;scroll-margin-top:110px; }
.site-faq-group .site-faq-item:first-of-type { border-top:1px solid var(--border); }
.site-chip-nav { display:flex;flex-wrap:wrap;gap:10px;margin-top:28px; }
.site-chip-nav a { color:#fff;text-decoration:none;border:1px solid #ffffff40;border-radius:999px;padding:9px 16px;font-size:.82rem;font-weight:600; }
.site-chip-nav a:hover { background:#ffffff14;border-color:var(--gold); }

/* Pool */
.site-pool { background:var(--navy-abyss);background-image:var(--hex-tex);color:#fff; }
.site-pool .home-eyebrow { color:var(--gold); }
.site-pool h2 { color:#fff; }
.site-pool .home-section-heading>p:not(.home-eyebrow) { color:#d1ddf0; }
.site-pool-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center; }
.site-pool-layers { display:grid;gap:12px; }
.site-pool-layer { position:relative;border-radius:16px;padding:22px 24px 22px 120px;background:#ffffff0d;border:1px solid #ffffff26; }
.site-pool-layer span { position:absolute;left:24px;top:24px;font-family:var(--font-display);font-size:.78rem;color:var(--cyan-soft); }
.site-pool-layer h3 { font-size:1.15rem;margin-bottom:6px; }
.site-pool-layer p { color:#d1ddf0;font-size:.9rem;line-height:1.65; }
.site-pool-layer-excess { background:#ffffff14;margin-left:28px; }
.site-pool-layer-people { border-color:#7ebec566; }
.site-pool-layer-people span { color:var(--gold); }
.site-boundary { margin-top:36px;border:1px solid #7ebec580;border-left:5px solid var(--gold);border-radius:12px;background:#7ebec512;padding:22px 26px; }
.site-boundary h3 { color:var(--gold);font-size:1.05rem;margin-bottom:8px; }
.site-boundary p { color:#eaf0fb;font-size:.95rem;line-height:1.75;max-width:900px; }

/* Principles */
.site-principles { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:40px;border-top:1px solid var(--border); }
.site-principles article { padding:28px 28px 28px 0;border-bottom:1px solid var(--border); }
.site-principles article:not(:nth-child(3n+1)) { padding-left:28px;border-left:1px solid var(--border); }
.site-principles h3 { color:var(--navy);font-size:1.15rem;margin-bottom:8px; }
.site-principles p { color:#34435b;font-size:.92rem;line-height:1.7; }

/* Link grid */
.site-link-grid { list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.site-link-grid a { display:grid;gap:4px;height:100%;padding:20px 22px;background:#fff;border:1px solid var(--border);border-radius:14px;text-decoration:none; }
.site-link-grid a:hover { border-color:var(--sky);background:#f4f7fb; }
.site-link-grid strong { color:var(--navy);font-size:.98rem; }
.site-link-grid span { color:var(--text-muted);font-size:.84rem; }

/* Events */
.site-event-list { display:grid;gap:18px; }
.site-event { display:grid;grid-template-columns:180px 1fr;gap:30px;padding:28px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow); }
.site-event-date { display:flex;flex-direction:column;justify-content:center;gap:6px;padding:20px;border-radius:14px;background:var(--navy);background-image:var(--hex-tex);color:#fff;text-align:center; }
.site-event-date span { color:var(--gold);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em; }
.site-event-date strong { font-family:var(--font-display);font-weight:400;font-size:1.2rem; }
.site-event h3 { color:var(--navy);font-size:1.35rem;margin-bottom:10px; }
.site-event p { color:#34435b;font-size:.94rem;line-height:1.75; }
.site-event-meta { margin-top:10px;color:var(--text-muted)!important;font-size:.82rem!important; }
.site-event .home-inline-link { margin-top:14px; }

/* ------------------------------------------------------------------ forms (contact + join) */
.site-contact-layout { display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start;padding-top:48px;padding-bottom:80px; }
.site-form-card { background:#fff;border:1px solid var(--border);border-top:4px solid var(--gold);border-radius:18px;padding:36px;box-shadow:0 16px 50px #1d4e6b12; }
.site-form-card h2 { color:var(--navy);font-size:1.6rem;margin:8px 0 6px; }
.site-form-legend { color:var(--text-muted);font-size:.8rem;margin-bottom:18px; }
.site-form-legend span,.site-field label span[aria-hidden],.site-consent label span[aria-hidden] { color:var(--danger); }
.site-field-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.site-field { display:flex;flex-direction:column;gap:6px;margin-bottom:16px; }
.site-field label { font-size:.86rem;font-weight:600;color:var(--text); }
.site-optional { color:var(--text-muted);font-weight:400; }
.site-form input:not([type=checkbox]),.site-form select,.site-form textarea,.join-form-card input:not([type=checkbox]) { width:100%;font:inherit;font-size:.95rem;color:var(--text);background:#fff;border:1px solid #b9c4d8;border-radius:10px;padding:12px 14px;min-height:46px; }
.site-form textarea { resize:vertical;min-height:150px;line-height:1.6; }
.site-form input:focus,.site-form select:focus,.site-form textarea:focus,.join-form-card input:focus { outline:2px solid var(--blue);outline-offset:2px;border-color:var(--blue); }
.site-form [aria-invalid=true] { border-color:var(--danger);background:#fff8f7; }
.site-field-error { color:var(--danger);font-size:.8rem;font-weight:600;min-height:0; }
.site-field-error:empty { display:none; }
.site-field-help { color:var(--text-muted);font-size:.78rem;display:flex;justify-content:space-between;gap:12px; }
.site-field-help span { white-space:nowrap; }
.site-privacy-hint { background:#eef4fa;border-left:4px solid var(--sky);padding:12px 14px;font-size:.85rem;color:#24324a;margin:-4px 0 16px;border-radius:0 8px 8px 0; }
.site-consent { flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px; }
.site-consent input { width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--navy); }
.site-consent label { flex:1;font-weight:400;line-height:1.55;font-size:.86rem; }
.site-consent .site-field-error { flex-basis:100%; }
.site-error-summary { border:2px solid var(--danger);border-radius:12px;padding:16px 20px;margin-bottom:20px;background:#fff8f7; }
.site-error-summary h3 { color:var(--danger);font-size:1rem;margin-bottom:8px; }
.site-error-summary ul { margin:0;padding-left:18px; }
.site-error-summary a { color:var(--danger);font-weight:600; }
.site-form-status { min-height:1.4em;font-size:.88rem;color:var(--text-muted);margin:4px 0 10px; }
.site-submit { width:100%;border:0;font:inherit;font-weight:700;font-size:.95rem;padding:16px 20px;cursor:pointer; }
.site-submit:disabled { opacity:.55;cursor:not-allowed;transform:none;box-shadow:none; }
#contact-done:focus { outline:none; }
#contact-done h2 { margin-bottom:14px; }
#contact-done p { color:#34435b;line-height:1.75; }
.site-contact-aside { display:grid;gap:16px; }
.site-contact-block { border:1px solid var(--border);border-radius:16px;padding:24px;background:#f6f8fc; }
.site-contact-block h2 { color:var(--navy);font-size:1.1rem;margin-bottom:8px; }
.site-contact-block p { color:#34435b;font-size:.9rem;line-height:1.7; }
.site-contact-block .home-button,.site-contact-block .home-inline-link { margin-top:14px; }
.site-contact-block:first-child { background:var(--navy);background-image:var(--hex-tex);border-color:var(--navy); }
.site-contact-block:first-child h2 { color:#fff; }
.site-contact-block:first-child p { color:#d8e3f6; }

/* Join page inside the public layout (form markup/IDs unchanged for join.js) */
.site-join-band { background-color:var(--navy-abyss);background-image:var(--hex-tex),linear-gradient(115deg,var(--navy),var(--navy-abyss));color:#fff;padding:20px 0 40px; }
.site-join-band .join-layout { margin-top:36px; }
.site-join-band .join-intro .eyebrow,.join-form-card .eyebrow { display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em; }
.site-join-band .join-intro h1 { font-weight:800;letter-spacing:-.03em; }
.site-join-next { margin-top:18px;padding:16px 18px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff0d;font-size:.9rem!important;max-width:440px!important; }
.site-join-next strong { color:var(--gold); }
.site-join-links { font-size:.85rem!important;margin-top:16px; }
.site-page .site-join-links a { color:var(--cyan-soft); }
.join-form-card h2 { color:var(--navy); }
.join-form-card form>label:not(.join-consent),.join-form-card .join-field-grid label { display:flex;flex-direction:column;gap:6px; }
.join-form-card .join-consent { flex-direction:row;font-size:.84rem; }
.join-form-card .join-consent input { width:20px;height:20px;flex:none;accent-color:var(--navy); }
.join-form-card .btn { display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:700;font-size:.9rem;border-radius:10px;padding:12px 18px;border:1px solid var(--border);background:#fff;color:var(--navy);cursor:pointer;min-height:44px; }
.join-form-card .btn.primary { background:var(--navy);border-color:var(--navy);color:#fff; }
.join-form-card .btn:disabled { opacity:.55;cursor:not-allowed; }
.join-form-card .actions { display:flex;flex-wrap:wrap;gap:10px; }
.join-form-card .error { color:var(--danger);font-weight:600;font-size:.86rem;min-height:1.2em; }
.join-form-card .error:empty { min-height:0; }
.join-form-card .join-privacy a { color:var(--blue); }

/* ------------------------------------------------------------------ articles */
.site-article-hero { background-color:var(--navy);background-image:var(--hex-tex),linear-gradient(115deg,var(--navy),var(--navy-abyss));color:#fff;padding:56px 0 60px; }
.site-article-hero .home-eyebrow { color:var(--gold); }
.site-article-hero h1 { font-size:clamp(2rem,3.2vw,3.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;max-width:900px;margin:14px 0 18px; }
.site-article-meta { margin-top:22px;color:#b9c8e4;font-size:.84rem;line-height:1.8; }
.site-article-meta span { color:#d8e3f6; }
.site-article-layout { display:grid;grid-template-columns:260px minmax(0,760px);gap:60px;justify-content:center;padding-top:50px;padding-bottom:70px; }
.site-article-aside { position:relative; }
.site-toc { position:sticky;top:110px;border-left:2px solid var(--border);padding-left:18px; }
.site-toc p { font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:12px; }
.site-toc ol { list-style:none;margin:0;padding:0;display:grid;gap:10px; }
.site-toc a { color:#34435b;font-size:.85rem;text-decoration:none;line-height:1.45;display:block; }
.site-toc a:hover { color:var(--blue);text-decoration:underline; }
.site-aside-cta { margin-top:36px;padding:20px;border-radius:14px;background:#f6f8fc;border:1px solid var(--border); }
.site-aside-cta p { font-size:.84rem;color:#34435b;line-height:1.6;margin-bottom:14px; }
.site-aside-cta .home-button { padding:12px 14px;font-size:.8rem; }
.site-article-layout>* { min-width:0; }
.site-article-body { font-size:1.04rem;line-height:1.85;color:#24324a; }
.site-article-body>section { scroll-margin-top:110px; }
.site-article-body h2 { color:var(--navy);font-size:1.7rem;letter-spacing:-.015em;margin:48px 0 16px; }
.site-article-body h3 { color:var(--navy);font-size:1.2rem;margin:30px 0 10px; }
.site-article-body p { margin:0 0 18px; }
.site-article-body ul,.site-article-body ol { margin:0 0 20px;padding-left:24px; }
.site-article-body li { margin:6px 0; }
.site-article-body a:not(.site-cite) { color:var(--blue);text-decoration:underline;text-underline-offset:3px; }
.site-article-body strong { color:#14213a; }
.site-cite { font-size:.72em;vertical-align:super;line-height:0;text-decoration:none;color:var(--blue);font-weight:700;margin-left:1px; }
.site-takeaways { background:#f6f8fc;border:1px solid var(--border);border-left:5px solid var(--gold);border-radius:0 14px 14px 0;padding:24px 28px;margin-bottom:10px; }
.site-takeaways h2 { margin:0 0 10px!important;font-size:1.1rem!important;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-ink)!important; }
.site-takeaways ul { margin:0!important; }
.site-takeaways li { margin:10px 0!important;font-size:.98rem; }
.site-callout { background:#eef4fa;border-left:4px solid var(--sky);border-radius:0 12px 12px 0;padding:18px 22px;margin:24px 0; }
.site-callout p { margin:0!important; }
.site-checklist { list-style:none;padding-left:0!important; }
.site-checklist li { position:relative;padding-left:36px;margin:12px 0!important; }
.site-checklist li::before { content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border:2px solid var(--navy);border-radius:5px;background:#fff; }
.site-checklist li::after { content:"";position:absolute;left:7px;top:7px;width:6px;height:11px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg); }
.site-steps { list-style:none;padding-left:0!important;counter-reset:s; }
.site-steps li { counter-increment:s;position:relative;padding-left:52px;margin:16px 0!important; }
.site-steps li::before { content:counter(s);position:absolute;left:0;top:0;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font-display);font-size:.85rem; }
.site-table { width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem;line-height:1.6;display:block;overflow-x:auto; }
.site-table caption { text-align:left;font-weight:700;color:var(--navy);padding-bottom:10px;font-size:.95rem; }
.site-table th,.site-table td { padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left; }
.site-table thead th { background:var(--navy);color:#fff;font-size:.82rem;font-weight:700; }
.site-table tbody th { color:var(--navy);white-space:nowrap; }
.site-table tbody tr:nth-child(even) { background:#f8fafd; }
.site-article-body dl { margin:0 0 20px; }
.site-article-body dt { font-weight:700;color:var(--navy);margin-top:12px; }
.site-article-body dd { margin:4px 0 0; }
.site-article-faq h2 { margin-top:56px; }
.site-article-faq { border-top:0; }
.site-article-faq .site-faq-item:first-of-type { border-top:1px solid var(--border); }
.site-sources { margin-top:56px;padding-top:30px;border-top:2px solid var(--navy); }
.site-sources h2 { margin-top:0!important;font-size:1.3rem!important; }
.site-sources ol { font-size:.86rem;line-height:1.6;padding-left:22px; }
.site-sources li { margin:10px 0;scroll-margin-top:110px; }
.site-sources li:target { background:var(--gold-soft);border-radius:6px; }
.site-sources li span { display:block;color:var(--text-muted);font-size:.8rem; }
.site-sources-note { color:var(--text-muted);font-size:.8rem!important;margin-top:20px!important; }
.site-related { background:#f6f8fc;border-top:1px solid #e1e8f0;padding:64px 0; }
.site-related h2 { color:var(--navy);font-size:1.8rem;margin-bottom:28px; }

/* ------------------------------------------------------------------ footer */
.site-footer { background:#f6f8fc;border-top:1px solid var(--border); }
.site-footer-inner { max-width:var(--site-max);margin:0 auto;padding:56px 28px 30px;display:grid;grid-template-columns:1fr 2.2fr;gap:56px; }
.site-footer-logo img { width:200px;height:auto; }
.site-footer-brand p { margin-top:14px;color:#34435b;font-size:.88rem;line-height:1.7;max-width:330px; }
.site-footer-host { display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border); }
.site-footer-host img { width:150px;height:auto; }
.site-footer-host span { font-size:.78rem;color:var(--text-muted); }
.site-footer-updated { font-size:.8rem!important;color:var(--text-muted)!important; }
.site-footer-nav { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px; }
.site-footer-nav h2 { font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:14px; }
.site-footer-nav ul { list-style:none;margin:0;padding:0;display:grid;gap:4px; }
.site-footer-nav a { display:inline-block;padding:5px 0;color:var(--navy);font-size:.86rem;text-decoration:none;line-height:1.4; }
.site-footer-nav a:hover { text-decoration:underline; }
.site-footer small { grid-column:1/-1;border-top:1px solid var(--border);padding-top:20px;color:var(--text-muted);font-size:.74rem; }

/* 404 */
.site-404-hero { padding:80px 0; }

/* ------------------------------------------------------------------ responsive */
@media (max-width:1380px) {
  .site-navigation { gap:15px; }
  .site-navigation>a:not(.home-button),.site-nav-group>summary { font-size:.9rem; }
  .site-brand .site-brand-host { width:168px; }
  .site-brand .site-brand-program { width:200px;margin-left:18px;padding-left:18px; }
}
@media (max-width:1240px) {
  .site-brand .site-brand-host { width:146px; }
  .site-brand .site-brand-program { width:176px;margin-left:14px;padding-left:14px; }
  .site-navigation { gap:12px; }
  .site-navigation>a:not(.home-button),.site-nav-group>summary { font-size:.86rem; }
}
@media (max-width:1100px) {
  .site-header .home-menu-toggle { display:block; }
  .site-header .site-navigation { position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:12px 22px 22px;border-bottom:2px solid var(--gold);box-shadow:0 10px 20px #143a5215;max-height:calc(100dvh - 84px);overflow-y:auto; }
  .site-header .site-navigation[data-open=true] { display:flex; }
  .site-navigation>a:not(.home-button),.site-nav-group>summary { padding:14px 6px;font-size:.92rem;border-bottom:1px solid #eef1f6; }
  .site-navigation .home-nav-cta { margin-top:12px;border-bottom:0;padding:14px 16px; }
  .site-nav-group ul { position:static;width:auto;box-shadow:none;border:0;border-radius:0;padding:4px 0 8px 8px; }
  .site-function-grid,.site-benefit-grid,.site-card-grid,.site-resource-hub .site-card-grid,.site-link-grid { grid-template-columns:1fr 1fr; }
  .site-stat-grid { grid-template-columns:1fr 1fr; }
  .site-footer-inner { grid-template-columns:1fr;gap:36px; }
  .site-article-layout { grid-template-columns:1fr;gap:20px; }
  .site-article-aside { order:2; }
  .site-toc { position:static; }
  .site-article-aside .site-toc { display:none; }
}
@media (max-width:860px) {
  .site-hero-grid,.site-split,.site-intro-grid,.site-faq-section,.site-pool-grid,.site-contact-layout { grid-template-columns:1fr;gap:32px; }
  .site-hero { padding:48px 0 52px; }
  .site-hero-figure { max-height:340px; }
  .site-principles { grid-template-columns:1fr 1fr; }
  .site-principles article,.site-principles article:not(:nth-child(3n+1)) { padding:22px 20px 22px 0;border-left:0; }
  .site-principles article:nth-child(even) { padding-left:20px;border-left:1px solid var(--border); }
  .site-event { grid-template-columns:1fr;gap:18px; }
  .site-event-date { flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 16px; }
  .site-footer-nav { grid-template-columns:1fr 1fr; }
  .site-section-head { flex-direction:column;align-items:flex-start; }
}
@media (max-width:580px) {
  .site-wrap { padding:0 22px; }
  .site-brand .site-brand-host { width:118px; }
  .site-brand .site-brand-program { width:118px;margin-left:12px;padding-left:12px; }
  .site-header { min-height:72px; }
  .site-hero h1 { font-size:2.05rem; }
  .site-lede { font-size:1rem; }
  .site-hero-stats { grid-template-columns:1fr 1fr; }
  .site-hero-stats div { padding:16px; }
  .site-hero-stats dt { font-size:1.9rem; }
  .site-function-grid,.site-benefit-grid,.site-card-grid,.site-resource-hub .site-card-grid,.site-link-grid,.site-stat-grid,.site-feature-list,.site-principles,.site-field-grid { grid-template-columns:1fr; }
  .site-principles article:nth-child(even) { padding-left:0;border-left:0; }
  .site-cycle>li { grid-template-columns:1fr;gap:12px;padding:22px; }
  .site-form-card { padding:24px 20px; }
  .site-pool-layer { padding:56px 20px 20px; }
  .site-pool-layer-excess { margin-left:0; }
  .site-numbered li { padding:16px 16px 16px 58px; }
  .site-faq-item p { padding-right:4px; }
  .site-article-body { font-size:1rem; }
  .site-article-body h2 { font-size:1.45rem; }
  .site-takeaways { padding:20px; }
  .site-footer-nav { grid-template-columns:1fr; gap:20px; }
  .site-breadcrumbs ol { padding:10px 22px; }
}
@media (prefers-reduced-motion:reduce) { .site-card,.site-nav-group>summary::after,.site-faq-item summary::after { transition:none; } .site-card:hover { transform:none; } }
@media print { .site-header,.site-footer,.site-crumb-bar,.site-article-aside,.home-final-cta,.site-related { display:none!important; } .site-article-hero { background:none;color:#000; } .site-article-hero h1 { color:#000; } }

/* --- css/site-graphics.css --- */
/* Graphics track, above-the-fold part (inside the render-blocking public.css bundle): tour hero, article hero art,
   hero art for text-only heroes and light chip links. Everything below the fold lives in public-graphics.css, linked
   from the page body right after the hero so it never delays first paint (core/public_site.py). */
/* Hero chip links (FAQ topics, tour stops) stay light on navy despite the generic main-link colour. */
.site-page main .site-chip-nav a,.site-page main .tour-chips a { color:#fff; }
/* ------------------------------------------------------------------ hero art for text-only heroes */
.page-faq .site-hero,.page-resources .site-hero { position:relative; }
.page-faq .site-hero::after,.page-resources .site-hero::after { content:"";position:absolute;right:max(20px,calc((100vw - 1260px)/2));top:50%;width:min(36vw,420px);aspect-ratio:520/420;transform:translateY(-50%);background:url("/static/img/art/hero-faq.svg?v=7019a3f6f7") center/contain no-repeat;pointer-events:none; }
.page-resources .site-hero::after { background-image:url("/static/img/art/hero-resources.svg?v=4c47dba54a"); }
.page-faq .site-hero .site-wrap>*,.page-resources .site-hero .site-wrap>* { max-width:min(680px,58%); }
.page-faq .site-hero .site-wrap,.page-resources .site-hero .site-wrap { position:relative;z-index:1; }
.site-article-hero-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:48px;align-items:center; }
.site-article-art { display:block;width:100%;height:auto; }
.tour-hero { background-color:var(--navy);background-image:var(--hex-tex),radial-gradient(1000px 600px at 85% 30%,#3b93ad33,transparent 60%),linear-gradient(115deg,var(--navy),var(--navy-abyss));color:#fff;overflow:hidden;padding:56px 0 0; }
.tour-hero-grid { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:center; }
.tour-hero .home-eyebrow { color:var(--gold); }
.tour-hero h1 { font-size:clamp(2.2rem,3.6vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:14px 0 20px; }
.tour-hero h1 span { color:var(--cyan-soft); }
.tour-hero-figure { margin:0 0 56px;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px #00000055,0 0 0 1px #ffffff1f; }
.tour-hero-figure img,.tour-shot img { display:block;width:100%;height:auto; }
.tour-chips { display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;padding:0;list-style:none; }
.tour-chips li { border:1px solid #ffffff33;border-radius:999px;padding:7px 13px;font-size:.78rem;color:#dce6f7; }
.tour-chips a { color:inherit;text-decoration:none; }
.tour-chips a:hover { color:#fff; }
@media (max-width:860px) {
  .tour-hero-grid { grid-template-columns:1fr; }
  .tour-hero-figure { margin:0 -22px; }
  .site-article-hero-grid { grid-template-columns:1fr;gap:22px; }
  .site-article-art { max-width:320px;max-height:200px;width:auto;order:-1; }
  .page-faq .site-hero::after,.page-resources .site-hero::after { display:none; }
  .page-faq .site-hero .site-wrap>*,.page-resources .site-hero .site-wrap>* { max-width:none; }
}

/* --- css/kids-magazine-public.css --- */
/* MAGAZINE track: public teaser /kids-magazine (bundled into public.css by core/static_assets.py). */
.km-hero-in { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); gap: 36px; align-items: center; }
.km-mast { display: block; font: 800 clamp(48px, 7vw, 84px)/.9 "Raleway", sans-serif; color: #7ebec5; margin-bottom: 10px; letter-spacing: -.01em; }
.km-hero-cover { width: 100%; max-width: 360px; height: auto; justify-self: center; border-radius: 10px; box-shadow: 0 22px 40px #0006; transform: rotate(2deg); }
.km-note { font-weight: 700; }
.km-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 34px; }
.km-issue h3 { font-size: 22px; margin: 0 0 6px; }
.km-issue p { max-width: 70ch; margin: 0 0 14px; }
.km-pages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.km-pages img { width: 100%; height: auto; border-radius: 8px; box-shadow: 0 10px 22px #1d4e6b26; }
.km-features li { padding: 16px 18px; }
.km-features strong { display: block; margin-bottom: 4px; }
@media (max-width: 760px) {
  .km-hero-in { grid-template-columns: 1fr; }
  .km-hero-cover { max-width: 240px; }
  .km-pages { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
}
