/*
Theme Name: Daly City Partnership
Theme URI: https://www.dcpartnership.org
Author: Daly City Partnership
Description: Service-first redesign of dcpartnership.org — warm community editorial design with the DCP navy/gold/teal brand system. Built from the 2026 prototype.
Version: 1.0.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: dcp
*/
/* Daly City Partnership — local redesign prototype v5
   Direction: warm community editorial. Owari whitespace + label rows,
   Arc-style marker highlights / stat chips / organic shapes,
   Karuna photo hero + impact trio, Little Palms saturated impact panel.
   Brand tokens: action blue #0077B2 (the logo blue, 12% deeper) is WCAG-safe on
   white (4.9:1) and paper (4.6:1); on light-teal tints use --action-deep #00699E (5.1:1);
   bright teal #00A4B5 is decorative only.
   Single-theme by decision: clients use this in daylight, on shared and older
   devices — one committed light theme, painted explicitly. */
:root{
  --navy:#272e65;
  --navy-deep:#1e2450;
  --teal-action:#0077b2;   /* the site's action colour: buttons, links, labels */
  --action-deep:#00699e;   /* same blue for small text on light-teal tints */
  --teal-bright:#00a4b5;
  --teal-band:#e0f1f2;
  --coral:#c9391f;
  --gold:#f2b736;
  --gold-soft:rgba(242,183,54,.5);
  --paper:#faf7f2;          /* warm paper, Arc-inspired */
  --card:#ffffff;
  --ink:#1e2440;
  --ink-soft:#48506e;
  --ink-faint:#5f6684;
  --line:#e4ded2;
  --radius:16px;
  --shadow:0 1px 2px rgba(30,36,80,.05);   /* cards rest flat on their border; clickable cards lift on hover */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "Public Sans",system-ui,-apple-system,sans-serif;caret-color:var(--teal-action);accent-color:var(--teal-action)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:"Raleway",system-ui,sans-serif;color:var(--navy);text-wrap:balance;line-height:1.15;margin:0}
a{color:var(--teal-action);text-underline-offset:2px}
::selection{background:var(--navy);color:#fff}
:focus-visible{outline:3px solid var(--teal-action);outline-offset:2px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 18px;z-index:100;border-radius:0 0 8px 0}
.skip:focus{left:0}

/* marker highlight (Arc style) */
.hl{background:linear-gradient(transparent 58%, var(--gold-soft) 58%);padding:0 .1em}
/* highlighter swipe: marks start unpainted (JS-gated) and sweep in left-to-right */
body.hl-anim .hl{background-repeat:no-repeat;background-position:0 0;background-size:0% 100%;transition:background-size .7s cubic-bezier(.25,.1,.25,1) .2s}
body.hl-anim .hl.hl-in{background-size:100% 100%}
body.hl-anim .partner-band h2 .hl{background:none;transition:none}

/* photo placeholder — swap for real photography */
.ph{background:var(--teal-band);border:2px dashed var(--teal-bright);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;overflow:hidden}
.ph span{font-size:.85rem;color:var(--teal-action);font-weight:600;max-width:32ch}
.ph span::before{content:"📷";display:block;font-size:1.4rem;margin-bottom:6px}

/* ---------- header ---------- */
.help-band{background:var(--navy);color:#fff;text-align:center;font-size:.95rem;padding:5px 16px}
.help-band a{color:#ffd88a;font-weight:600;text-decoration-color:rgba(255,216,138,.5);display:inline-block;padding:10px 2px}
.help-band .lang{margin-left:10px}
.lang-pick{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.4);border-radius:99px;padding:7px 12px;font:600 .85rem "Raleway",system-ui,sans-serif;min-height:38px;cursor:pointer}
.lang-pick option{color:var(--ink);background:#fff}
.lang-pick:focus-visible{outline:3px solid var(--gold)}
.translate-note{margin:0;background:#fff7e3;border-bottom:1px solid #ecd9a0;color:#6b5416;text-align:center;font-size:.92rem;padding:10px 16px}
.cform input:user-invalid,.cform textarea:user-invalid,.cform select:user-invalid{border-color:#b3261e}
.cform input:user-invalid:focus-visible,.cform textarea:user-invalid:focus-visible{outline-color:#b3261e}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:20px}
.site-inner > .btn{margin-left:8px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}
.brand img{width:92px;height:92px;object-fit:contain}
.brand b{font-family:"Raleway";font-weight:800;font-size:1.18rem;letter-spacing:.01em;white-space:nowrap}
/* compact once the visitor scrolls (body.scrolled set in app.js) */
body.scrolled .site-inner{padding:9px 20px}
body.scrolled .brand img{width:50px;height:50px}
body.scrolled .brand b{font-size:1rem}
@media (prefers-reduced-motion: no-preference){
  .site-inner{transition:padding .25s ease}
  .brand img{transition:width .25s ease,height .25s ease}
  .brand b{transition:font-size .25s ease}
}
nav.main{margin-left:auto;display:flex;gap:2px;align-items:center;flex-wrap:wrap}
nav.main a{font-family:"Raleway";font-weight:600;font-size:.93rem;color:var(--ink);text-decoration:none;padding:10px 9px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
nav.main a:hover{background:var(--teal-band);color:var(--teal-action)}
.nav-toggle{display:none;background:none;border:2px solid var(--navy);border-radius:8px;width:48px;height:48px;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);flex:none}
.nav-toggle svg{width:24px;height:24px}
.nav-toggle .icon-close{display:none}
body.nav-open .nav-toggle .icon-open{display:none}
body.nav-open .nav-toggle .icon-close{display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:"Raleway";font-weight:700;font-size:1rem;text-decoration:none;border-radius:99px;padding:12px 26px;min-height:48px;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn:hover{transform:none}}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#f5c355}
.btn-teal{background:var(--teal-action);color:#fff}
.btn-teal:hover{background:#005f8f}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#37407f}
.btn-light{background:#fff;color:var(--navy)}
.btn-light:hover{background:#faeecd}
/* azure — the third logo color; used for "Get directions" (5.3:1 with white text) */
.btn-blue{background:var(--teal-action);color:#fff}
.btn-blue:hover{background:#005f8f}
.btn:focus-visible{outline-color:var(--navy)}

/* ---------- hero: full-bleed photo with navy scrim ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy);min-height:560px;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(92deg,rgba(24,29,66,.93) 0%,rgba(24,29,66,.78) 42%,rgba(24,29,66,.38) 75%,rgba(24,29,66,.15) 100%)}
.hero-inner{max-width:1200px;margin:0 auto;padding:88px 20px 84px;position:relative;width:100%}
.hero-inner > div{max-width:640px}
.hero h1{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;color:#fff}
.hero h1 .hl{background-image:linear-gradient(transparent 58%, rgba(242,183,54,.65) 58%)}
.hero p.sub{font-size:1.13rem;color:#dbe1f7;max-width:52ch;margin:20px 0 30px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-langs{margin-top:16px;font-size:.95rem;color:#aab3dd;display:flex;flex-wrap:wrap;gap:2px 6px;align-items:center}
.hero-langs a{color:#fff;font-weight:600;display:inline-flex;align-items:center;min-height:44px;padding:0 8px;text-decoration-color:rgba(255,255,255,.45)}
.stat-chip{position:absolute;right:36px;bottom:32px;background:#fff;border-radius:14px;box-shadow:0 10px 34px rgba(20,24,55,.35);padding:16px 20px;max-width:230px;transform:rotate(-1.2deg)}
.stat-chip b{display:block;font-family:"Raleway";font-weight:800;font-size:1.6rem;color:var(--navy);font-variant-numeric:tabular-nums}
.stat-chip span{font-size:.83rem;color:var(--ink-soft);line-height:1.4}
.stat-chip small{display:block;margin-top:4px;font-size:.68rem;color:var(--ink-faint)}

/* ---------- services (service-first cards, photo-topped) ---------- */
section .inner{max-width:1200px;margin:0 auto;padding:72px 20px}
h2.sec{font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:800;margin-bottom:12px}
p.sec-sub{color:var(--ink-soft);max-width:64ch;margin:0 0 38px}
.center{text-align:center}
.center p.sec-sub{margin-left:auto;margin-right:auto}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.card .ph{border-radius:0;border-left:0;border-right:0;border-top:0;aspect-ratio:16/8}
.card .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.15rem;margin-bottom:8px}
.card h3 a{color:inherit;text-decoration:none}
.card h3 a:hover{color:var(--teal-action);text-decoration:underline}
.card p{color:var(--ink-soft);margin:0 0 16px;font-size:.97rem}
.card .foot{margin-top:auto;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
a.more{font-family:"Raleway";font-weight:700;font-size:.92rem;color:var(--teal-action);display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:rgba(0,119,178,.35);text-decoration-thickness:1.5px;text-underline-offset:4px}
a.more:hover{text-decoration-color:var(--teal-action)}
/* inside fully-clickable tiles the arrow text is a cue, styled the same way */
a.news-card .more,a.event-card .more{text-decoration:underline;text-decoration-color:rgba(0,119,178,.35);text-decoration-thickness:1.5px;text-underline-offset:4px}
a.news-card:hover .more,a.event-card:hover .more{text-decoration-color:var(--teal-action)}
a.news-card--nl .more{text-decoration-color:rgba(242,183,54,.45)}
a.news-card--nl:hover .more{text-decoration-color:var(--gold)}
a.more:hover{text-decoration:underline}
.card--navy{background:var(--navy);border-color:var(--navy)}
.card--navy h3{color:#fff}
.card--navy p{color:#c3caea}
.card--navy .body{justify-content:center}
.chip{display:inline-block;background:var(--teal-band);color:var(--teal-action);font-size:.75rem;font-weight:600;border-radius:99px;padding:3px 12px;letter-spacing:.03em}

/* ---------- impact: photo band with scrim + big counted numbers ---------- */
.impact{position:relative;color:#fff;overflow:hidden;background:var(--navy-deep)}
.impact-bg{position:absolute;inset:0;border-radius:0;border-width:0;padding:0}
.impact-bg img{width:100%;height:100%;object-fit:cover}
.impact-scrim{position:absolute;inset:0;background:linear-gradient(115deg,rgba(24,29,66,.95) 0%,rgba(24,29,66,.86) 55%,rgba(0,84,94,.82) 100%)}
.bg-tag{position:absolute;top:14px;right:14px;z-index:2;background:rgba(255,247,227,.95);color:#6b5416;font-size:.75rem;font-weight:600;border-radius:8px;padding:4px 12px}
.impact-inner{position:relative;max-width:1200px;margin:0 auto;padding:78px 20px 70px}
.impact h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.impact .lead{color:#dbe1f7;margin:14px 0 0;max-width:60ch}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:30px 0;margin-top:48px}
.stats-row .stat{padding:6px 30px;border-left:3px solid var(--gold)}
.stats-row .stat b{display:block;font-family:"Raleway";font-weight:800;font-size:clamp(2.3rem,3.8vw,3.3rem);color:#fff;font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.01em}
.stats-row .stat b .mark{color:var(--gold)}
.stats-row .stat span.lbl{display:block;margin-top:8px;color:#dbe1f7;font-size:.95rem;max-width:26ch}
.impact .note{margin-top:34px;font-size:.85rem;color:#aab3dd}
.impact .note a{color:#ffd88a}

/* ---------- editorial label rows (Owari) ---------- */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:30px 0;border-bottom:1px solid var(--line)}
.row h3{font-size:1rem;font-weight:700}
.row p{margin:0;color:var(--ink-soft);max-width:68ch}

/* ---------- full-bleed photo band with overlay ---------- */
.band{position:relative}
.band .ph{border-radius:0;border-left:0;border-right:0;aspect-ratio:21/7;min-height:340px}
.band .overlay{position:absolute;inset:0;display:flex;align-items:center}
.band .overlay .inner{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}
.band .panel{background:var(--navy);color:#fff;border-radius:var(--radius);padding:34px 38px;max-width:440px;box-shadow:0 14px 40px rgba(30,36,80,.3)}
.band .panel h2{color:#fff;font-size:1.5rem;margin-bottom:10px}
.band .panel p{color:#c3caea;margin:0 0 20px}
.btn-row{display:flex;flex-wrap:wrap;gap:10px}
.btn-sm{padding:8px 16px;min-height:40px;font-size:.86rem}
.btn-lightline{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-lightline:hover{background:#faeecd}
.ph-link{display:block;text-decoration:none}
a.event-card,a.news-card,a.card,a.story-card{text-decoration:none;color:inherit;cursor:pointer}
a.card .more,a.story-card .more,span.more{color:var(--teal-action);font-family:"Raleway";font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:rgba(0,119,178,.35);text-decoration-thickness:1.5px;text-underline-offset:4px}
a.card:hover .more,a.story-card:hover .more{text-decoration-color:var(--teal-action)}
a.news-card .more{color:var(--teal-action);font-family:"Raleway";font-weight:700}
a.news-card--nl .more{color:var(--gold)}
a.event-card .more{color:var(--teal-action);font-family:"Raleway";font-weight:700}
/* soft callout for program house rules */
.prog-note{background:#fff7e3;border:1px solid #ecd9a0;border-radius:12px;padding:14px 20px;margin-top:18px}
.prog-note h4{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:#6b5416;margin:0 0 6px}
.prog-note ul{margin:0;padding-left:20px;color:#6b5416;font-size:.95rem}
/* three-steps sequence: a slower, more deliberate fade-up than the default reveal */
.step-seq.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s ease}
.step-seq.reveal .n{transform:scale(.6);opacity:0;transition:transform .45s cubic-bezier(.34,1.56,.64,1) calc(var(--seq-delay,0ms) + .25s),opacity .3s ease calc(var(--seq-delay,0ms) + .25s)}
.step-seq.reveal.in{opacity:1;transform:none}
.step-seq.reveal.in .n{transform:scale(1);opacity:1}
@media(prefers-reduced-motion:reduce){
  .step-seq.reveal,.step-seq.reveal .n{opacity:1;transform:none;transition:none}
}
/* split band: solid panel beside an unobstructed photo.
   The panel's content sets the band height; the photo fills its cell
   (absolutely positioned) so tall images never stretch the band. */
.band-split{display:grid;grid-template-columns:1fr 1.5fr;background:var(--navy)}
.band-split .panel{position:static;max-width:none;border-radius:0;box-shadow:none;display:flex;align-items:center;padding:48px clamp(24px,5vw,72px)}
.band-split .ph{aspect-ratio:auto;min-height:320px;height:auto;position:relative}
.band-split .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
  .band-split{grid-template-columns:1fr}
  .band-split .ph{min-height:0;aspect-ratio:16/9}
}

/* steps */
.steps .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;margin-top:34px}
.steps .n{font-family:"Raleway";font-weight:800;font-size:2.4rem;color:var(--gold);-webkit-text-stroke:1px var(--navy);font-variant-numeric:tabular-nums}
.steps h3{font-size:1.08rem;margin:6px 0 8px}
.steps p{color:var(--ink-soft);margin:0;font-size:.96rem}

/* story: photo + overlapping navy quote card (Arc) */
.story{background:#fff}
.story .inner{display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:center}
.story .ph{aspect-ratio:4/3}
.story .quote-card{background:var(--navy);color:#fff;border-radius:var(--radius);padding:36px 40px;margin-left:-70px;box-shadow:0 16px 44px rgba(30,36,80,.28);position:relative;z-index:2}
.story .quote-card h2{color:var(--gold);font-size:1.05rem;font-weight:700;margin-bottom:14px}
.story .quote-card blockquote{font-family:"Raleway";font-weight:600;font-size:clamp(1.15rem,2vw,1.45rem);margin:0 0 16px;line-height:1.45;color:#fff}
.story .quote-card .who{color:#aab3dd;font-size:.95rem}
.story .quote-card a.more{color:#ffd88a;margin-top:8px}
.story .bubble{position:absolute;top:-18px;right:26px;width:44px;color:var(--gold)}

/* ---------- footer socials + newsletter ---------- */
.foot-top{max-width:1200px;margin:0 auto;padding:42px 20px 0}
.socials{display:flex;gap:12px;align-items:center;justify-content:center;padding:22px 0 4px}
.socials a{width:48px;height:48px;border-radius:99px;border:1.5px solid rgba(255,255,255,.35);color:#dfe4fb;display:inline-flex;align-items:center;justify-content:center;padding:0}
.socials a:hover{border-color:var(--gold);color:var(--gold)}
.socials svg{width:22px;height:22px}
.foot-nl{background:rgba(255,255,255,.06);border-radius:var(--radius);padding:24px 26px;margin:0 0 8px}
.foot-nl h4{margin-bottom:6px}
.foot-nl p{margin:0 0 14px;font-size:.9rem;color:#aab3dd}
.foot-nl form{display:flex;gap:10px;flex-wrap:wrap}
.foot-nl input{flex:1;min-width:170px;font:16px/1.4 "Public Sans",system-ui,sans-serif;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.95);color:var(--ink);border-radius:99px;padding:12px 18px;min-height:48px}
.foot-nl input:focus-visible{outline:3px solid var(--gold);outline-offset:1px}
.nl-form-inline{display:flex;gap:10px;flex-wrap:wrap;flex:1;min-width:280px}
.nl-form-inline input{flex:1;min-width:160px;font:16px/1.4 "Public Sans",system-ui,sans-serif;border:1.5px solid rgba(255,255,255,.35);background:#fff;color:var(--ink);border-radius:99px;padding:12px 18px;min-height:48px}
.nl-form-inline input:focus-visible{outline:3px solid var(--gold);outline-offset:1px}

/* trust */
.trust{background:var(--teal-band)}
.trust .row2{display:flex;gap:28px;flex-wrap:wrap;align-items:center;margin-top:24px}
.badge{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 22px;font-family:"Raleway";font-weight:700;color:var(--navy);font-size:.95rem}
.badge small{display:block;font-weight:500;color:var(--ink-faint);font-family:"Public Sans";font-size:.8rem}

/* footer */
footer{background:var(--navy-deep);color:#c3caea;font-size:.95rem;position:relative;overflow:hidden}
footer > *{position:relative;z-index:1}
footer .wm{position:absolute;z-index:0;right:-30px;bottom:-80px}
.foot-logo{width:150px;height:auto;margin-bottom:14px}
.wm{position:absolute;right:-30px;bottom:-80px;width:min(430px,52vw);pointer-events:none;user-select:none}
.wm-light{right:-50px;bottom:-60px}
.wm-host{position:relative;overflow:hidden}
.wm-host .inner{position:relative}
.steps{position:relative;overflow:hidden}
.steps .inner{position:relative}
footer .inner{max-width:1200px;margin:0 auto;padding:52px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
footer h4{color:#fff;font-size:.95rem;margin-bottom:14px}
footer a{color:#dfe4fb;text-decoration:none;display:inline-block;padding:10px 0}
footer a:hover{text-decoration:underline}
footer .legal{border-top:1px solid rgba(255,255,255,.15);text-align:center;padding:14px 18px;font-size:.85rem;color:#8f98c6}
footer .legal a{padding:12px 4px;color:#dfe4fb}

/* ---------- get-help page ---------- */
.link-gold{color:#ffd88a;font-weight:600;display:inline-block;padding:10px 2px;margin:-10px 0}
.draft-note{background:#fff7e3;border:1px solid #ecd9a0;color:#6b5416;border-radius:10px;padding:12px 18px;font-size:.9rem;max-width:1160px;margin:20px auto 0}
.needbar{position:sticky;top:68px;z-index:40;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(30,36,80,.06)}
.needbar .inner{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.needbar span.lbl,.needbar label.lbl{font-family:"Raleway";font-weight:700;font-size:.85rem;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;margin-right:6px}
a.need,button.need{font-family:"Raleway";font-weight:600;font-size:.93rem;background:var(--paper);color:var(--ink);border:1.5px solid var(--line);border-radius:99px;padding:10px 18px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
a.need:hover,button.need:hover{border-color:var(--teal-action);color:var(--teal-action)}
.need[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.svc[hidden]{display:none}
.filter-status{margin-left:auto;font-size:.85rem;color:var(--ink-faint)}

.gh-list{max-width:1200px;margin:0 auto;padding:12px 20px 80px}

/* Community resources partner directory */
.res-search{flex:1;min-width:240px;max-width:440px;font:inherit;font-size:.95rem;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:99px;padding:10px 20px;min-height:44px}
.res-search:focus-visible{outline:3px solid var(--teal-action);outline-offset:2px;border-color:var(--teal-action)}
.res-group{padding-top:36px}
.res-item{align-items:flex-start;gap:14px}
.res-item::after{content:"\2197";flex:none;margin-left:auto;align-self:center;font-size:1.05rem;color:var(--teal-action)}
.res-item .res-desc{font-family:"Public Sans",system-ui,sans-serif;font-weight:400;color:var(--ink-soft);font-size:.92rem}
.res-item[hidden],.res-group[hidden]{display:none}

/* Our partners — donor tiles + homepage marquee */
.ptile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:18px}
.ptile{display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;text-align:center}
.ptile:hover{border-color:var(--teal-action)}
.ptile b{font-family:"Raleway";font-weight:700;font-size:.95rem;color:var(--navy)}
.ptile .plogo{aspect-ratio:5/2;border-radius:8px}
.ptile .plogo span{font-size:.72rem}
.ptile .plogo-img{display:flex;align-items:center;justify-content:center;aspect-ratio:5/2}
.ptile .plogo-img img{max-height:76px;max-width:82%;width:auto;object-fit:contain}
.partner-band{position:relative;background:var(--navy);color:#fff;padding:30px 0 34px;overflow:hidden}
.partner-band .pb-head{max-width:1200px;margin:0 auto 18px;padding:0 20px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.partner-band h2{color:#fff;font-size:1.25rem;margin:0}
.partner-band h2 .hl{color:var(--gold);background:none}
.partner-band .pb-head a{margin-left:auto;font-family:"Raleway";font-weight:700;color:var(--gold);text-decoration:none}
.partner-band .pb-head a:hover{text-decoration:underline}
.pchips{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pchips-track{display:flex;width:max-content;animation:pchips-scroll 55s linear infinite}
.pchips-track span{margin-right:10px}
.partner-band:hover .pchips-track,.pchips-track:focus-within{animation-play-state:paused}
.pchips-track span{flex:none;display:flex;align-items:center;background:#fff;border:1px solid rgba(242,183,54,.45);border-radius:12px;padding:9px 20px;white-space:nowrap}
.pchips-track span img{height:40px;max-width:170px;width:auto;object-fit:contain;display:block}
@keyframes pchips-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .pchips{overflow-x:auto;-webkit-mask-image:none;mask-image:none;padding:0 20px 8px}
  .pchips-track{animation:none}
  .pchips-track span[aria-hidden]{display:none}
}
.svc{padding-top:44px;scroll-margin-top:150px}
.svc-head{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:end;margin-bottom:22px}
.svc-head .ph{aspect-ratio:16/7}
.svc h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800}
.svc .svc-sub{color:var(--ink-soft);max-width:64ch;margin:10px 0 0}
.svc .options{display:flex;flex-direction:column;gap:22px}

.prog{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.prog .head{padding:24px 30px 0}
.prog .head .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.prog h3{font-size:1.25rem;font-weight:800}
.prog .head p.lede{color:var(--ink-soft);margin:10px 0 0;max-width:75ch}
.prog .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0;margin-top:20px;border-top:1px solid var(--line)}
.prog .col{padding:20px 30px;border-top:1px solid var(--line)}
@media(min-width:860px){.prog .col{border-top:none;border-left:1px solid var(--line)}.prog .col:first-child{border-left:none}}
.prog h4{font-size:.82rem;font-family:"Raleway";font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-action);margin:0 0 12px}
.prog ul{margin:0;padding-left:20px;color:var(--ink-soft);font-size:.95rem}
.prog ul li{margin:7px 0}
.prog ol{margin:0;padding-left:22px;color:var(--ink-soft);font-size:.95rem}
.prog ol li{margin:9px 0}
.prog table{border-collapse:collapse;font-size:.92rem;width:100%;font-variant-numeric:tabular-nums}
.prog td{padding:5px 12px 5px 0;color:var(--ink-soft);vertical-align:top}
.prog td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
.confirm{display:inline-block;background:#fff3e8;color:#9a4a00;border:1px dashed #d99a5b;font-size:.72rem;font-weight:600;border-radius:6px;padding:1px 8px;vertical-align:1px}
.prog .actions{background:var(--paper);border-top:1px solid var(--line);padding:14px 30px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.prog .actions .tel{font-family:"Raleway";font-weight:700;color:var(--navy);font-size:1.05rem;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.runby{margin-left:auto;font-size:.8rem;color:var(--ink-faint)}
.gh-faq{background:var(--card);border-top:1px solid var(--line)}
.gh-faq details{border-bottom:1px solid var(--line);padding:6px 0}
.gh-faq summary{font-family:"Raleway";font-weight:700;color:var(--navy);cursor:pointer;padding:14px 4px;font-size:1.02rem}
.gh-faq summary:hover{color:var(--teal-action)}
.gh-faq p{color:var(--ink-soft);margin:0 0 16px;padding:0 4px;max-width:75ch}

/* ---------- header CTA trio ---------- */
.header-ctas{display:flex;gap:6px;margin-left:6px;align-items:center}
.header-ctas .btn{padding:10px 16px;min-height:44px;font-size:.93rem}
.mobile-only,nav.main a.mobile-only{display:none}

/* ---------- events ---------- */
.events-sec{background:#fff}
.event-feature{display:grid;grid-template-columns:1.05fr .95fr;background:var(--navy);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:26px}
.event-feature .ph{border-radius:0;border:0;min-height:280px}
.event-feature .body{padding:36px 40px;color:#fff;display:flex;flex-direction:column;gap:12px;justify-content:center}
.event-feature .when{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-family:"Raleway";font-weight:700;font-size:.95rem}
.event-feature h3{color:#fff;font-size:clamp(1.3rem,2.4vw,1.8rem)}
.event-feature p{color:#c3caea;margin:0}
.event-feature .foot{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.event-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.event-card .ph{border-radius:0;border-left:0;border-right:0;border-top:0;aspect-ratio:16/8}
.event-card .body{padding:20px 22px 22px;display:flex;gap:16px;flex:1}
.date-badge{flex:none;background:var(--teal-band);border-radius:12px;padding:10px 12px;text-align:center;height:fit-content;min-width:60px}
.date-badge b{display:block;font-family:"Raleway";font-weight:800;font-size:1.4rem;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.date-badge span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-action)}
.event-card h3{font-size:1.05rem;margin-bottom:6px}
.event-card p{color:var(--ink-soft);font-size:.92rem;margin:0 0 10px}
.event-card .meta{font-size:.85rem;color:var(--ink-faint);margin:0 0 8px}

/* ---------- news teasers ---------- */
.news-sec{background:var(--paper)}
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.news-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.news-card .ph{border-radius:0;border-left:0;border-right:0;border-top:0;aspect-ratio:16/8}
.news-card .body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.news-card time{font-size:.82rem;color:var(--ink-faint);margin-bottom:6px;display:block}
.news-card .kind{display:inline-block;background:var(--teal-band);color:var(--teal-action);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:99px;padding:3px 12px;margin-bottom:10px;width:fit-content}
/* photo-free newsletter card: auto-feeds from Mailchimp, no featured image needed */
.news-card--nl{background:var(--navy)}
.news-card--nl .nl-head{aspect-ratio:16/8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--gold);border-bottom:1px solid rgba(255,255,255,.12)}
.news-card--nl .nl-head svg{width:52px;height:52px}
.news-card--nl .nl-head span{font-family:"Raleway";font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#c3caea}
.news-card--nl h3,.news-card--nl h3 a{color:#fff}
.news-card--nl p{color:#c3caea}
.news-card--nl time{color:#9aa3cc}
.news-card--nl .kind{background:rgba(242,183,54,.18);color:var(--gold)}
.news-card--nl .more{color:var(--gold)}
.news-card h3{font-size:1.05rem;margin-bottom:8px}
.news-card p{color:var(--ink-soft);font-size:.93rem;margin:0 0 12px}
.news-card a.more{margin-top:auto}
.newsletter-strip{background:var(--navy);border-radius:var(--radius);padding:30px 34px;margin-top:28px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.newsletter-strip h3{color:#fff;font-size:1.15rem}
.newsletter-strip p{color:#c3caea;margin:4px 0 0;font-size:.95rem}
.newsletter-strip .grow{flex:1;min-width:240px}

/* ---------- page hero (interior pages): navy, type-led, no decoration ---------- */
.page-hero{background:linear-gradient(150deg,var(--navy) 0%,var(--navy-deep) 100%)}
.page-hero .inner{max-width:1200px;margin:0 auto;padding:58px 20px 54px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.hero-icon{width:clamp(120px,15vw,190px);height:auto;color:var(--gold);opacity:.92;transform:rotate(-2deg);margin-right:24px}
.hero-logo{width:clamp(150px,17vw,220px);aspect-ratio:1913/2391;background:var(--gold);-webkit-mask:url("assets/brand/logo-mono-navy.png") center/contain no-repeat;mask:url("assets/brand/logo-mono-navy.png") center/contain no-repeat;margin-right:24px}
@media(max-width:760px){.hero-icon,.hero-logo{display:none}.page-hero .inner{grid-template-columns:1fr}}
.page-hero h1{color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:22ch}
.page-hero p{color:#cdd4f0;max-width:60ch;font-size:1.08rem;margin:16px 0 0}
.page-hero a:not(.btn){color:#ffd88a}
@media(max-width:900px){
  .page-hero .inner{padding:44px 20px 44px}
}

/* ---------- motion layer (all skipped under prefers-reduced-motion) ---------- */
@media (prefers-reduced-motion: no-preference){
  @keyframes heroUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  .page-hero .inner > div{animation:heroUp .55s ease both}
  .hero .hero-inner > div{animation:heroUp .6s ease both}
  @keyframes iconDraw{from{stroke-dashoffset:120}to{stroke-dashoffset:0}}
  .hero-icon path,.hero-icon rect,.hero-icon circle{stroke-dasharray:120;stroke-dashoffset:120;animation:iconDraw 1.1s ease-out .25s forwards}
  @keyframes logoWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
  .hero-logo{animation:logoWipe 1.2s ease-out .2s both}
  @keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  body.nav-open nav.main{animation:menuIn .22s ease}
  @media (hover:hover){
    .card,.event-card,.news-card,.story-card,.doc-item,.nl-item{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
    .card:hover,.event-card:hover,.news-card:hover,.story-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(30,36,80,.14)}
  }
}

/* ---------- print: the Get Help lists become a handout ---------- */
@media print{
  .help-band,header.site,.needbar,footer,.socials,.btn,.hero-icon,.ph,.reveal.ph,.newsletter-strip,.band{display:none!important}
  body{background:#fff;color:#000;font-size:11.5pt}
  .reveal{opacity:1!important;transform:none!important}
  .page-hero{background:none;border-bottom:2px solid #000}
  .page-hero h1{color:#000}
  .page-hero p{color:#222}
  .page-hero a,.prog a{color:#000}
  .prog{box-shadow:none;border:1px solid #888;break-inside:avoid;margin-bottom:14pt}
  .prog h4,.svc h2{color:#000}
  .chip,.confirm{border:1px solid #888;background:none;color:#000}
}

/* ---------- newsletters list ---------- */
.nl-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.nl-item{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 20px;text-decoration:none}
.nl-item:hover{border-color:var(--teal-action)}
.nl-item time{flex:none;font-size:.85rem;color:var(--ink-faint);font-variant-numeric:tabular-nums;width:88px}
.nl-item span{font-family:"Raleway";font-weight:600;color:var(--navy)}

/* ---------- contact page ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.cform{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 32px}
.cform .field{margin-bottom:18px}
.cform label{display:block;font-family:"Raleway";font-weight:700;font-size:.9rem;color:var(--navy);margin-bottom:6px}
.cform label .req{color:var(--coral)}
.cform input,.cform select,.cform textarea{width:100%;font:16px/1.5 "Public Sans",system-ui,sans-serif;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px}
.cform textarea{min-height:130px;resize:vertical}
.check-label{display:flex;gap:10px;align-items:center}
.check-label input{width:20px;height:20px;min-height:0;flex:none}
.cform input:focus-visible,.cform select:focus-visible,.cform textarea:focus-visible{outline:3px solid var(--teal-action);outline-offset:1px;border-color:var(--teal-action)}
.route-hint{background:var(--teal-band);border-radius:10px;padding:12px 16px;font-size:.9rem;color:var(--teal-action);margin-bottom:18px}
.route-hint b{color:var(--navy)}
.contact-aside .block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;margin-bottom:20px}
.contact-aside h3{font-size:1.05rem;margin-bottom:10px}
.contact-aside p{color:var(--ink-soft);margin:0 0 6px;font-size:.95rem}
.contact-aside .ph{aspect-ratio:16/9;margin-bottom:20px}

/* ---------- about section subnav ---------- */
a.need[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff}

/* ---------- members (board / staff) ---------- */
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:28px 22px;margin-top:8px}
.member{background:none;border:0;padding:0;cursor:pointer;text-align:center;font:inherit;border-radius:14px}
.member .ph{aspect-ratio:1;border-radius:50%;margin-bottom:12px}
.member .headshot{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;margin-bottom:12px;border:3px solid var(--teal-band)}
.member .headshot,.member .ph{transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
.member:hover .headshot,.member:focus-visible .headshot,.member:hover .ph,.member:focus-visible .ph{border-color:var(--gold);box-shadow:0 0 0 7px rgba(242,183,54,.32),0 12px 34px rgba(242,183,54,.5);transform:scale(1.03)}
@media (prefers-reduced-motion: reduce){.member .headshot,.member .ph{transition:none}.member:hover .headshot,.member:hover .ph{transform:none}}
.member .ph span{font-size:.72rem}
.member b{display:block;font-family:"Raleway";font-weight:800;font-size:.98rem;color:var(--navy);letter-spacing:.02em}
.member span.role{display:block;font-size:.85rem;color:var(--ink-soft);margin-top:2px}
.member .hint{display:block;font-size:.75rem;color:var(--teal-action);font-weight:600;margin-top:6px}
.member:hover b{color:var(--teal-action)}
.bio-src{display:none}
dialog.bio-dialog{border:0;border-radius:18px;max-width:600px;width:calc(100% - 40px);padding:0;box-shadow:0 24px 70px rgba(30,36,80,.35);background:var(--card);color:var(--ink)}
dialog.bio-dialog::backdrop{background:rgba(30,36,80,.55)}
.bio-inner{padding:32px 36px 34px}
.bio-inner h2{font-size:1.35rem;margin-bottom:2px}
.bio-inner .role{color:var(--teal-action);font-family:"Raleway";font-weight:700;font-size:.95rem;display:block;margin-bottom:14px}
.bio-inner p{color:var(--ink-soft);margin:0 0 12px;line-height:1.65}
.bio-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:99px;border:1.5px solid var(--line);background:var(--card);color:var(--navy);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center}
.bio-close:hover{border-color:var(--teal-action);color:var(--teal-action)}

/* ---------- about page ---------- */
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.value-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.value-card h3{font-size:1.08rem;margin-bottom:8px;color:var(--teal-action)}
.value-card p{color:var(--ink-soft);font-size:.95rem;margin:0}

/* ---------- financials docs ---------- */
.doc-item{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;text-decoration:none}
.doc-item:hover{border-color:var(--teal-action)}
.doc-item svg{flex:none;width:28px;height:28px;stroke:var(--teal-action)}
.doc-item b{font-family:"Raleway";font-weight:700;color:var(--navy);display:block}
.doc-item small{color:var(--ink-faint);font-size:.82rem}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}

/* story quote cards (success stories page) */
.story-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.story-card .ph{border-radius:0;border-left:0;border-right:0;border-top:0;aspect-ratio:16/9}
.story-card .body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.story-card h3{font-size:1.1rem;margin-bottom:12px}
.story-card blockquote{font-family:"Raleway";font-weight:600;color:var(--navy);margin:0 0 14px;font-size:1rem;line-height:1.55}
.story-card p{color:var(--ink-soft);font-size:.93rem;margin:0 0 12px}

/* ---------- full calendar ---------- */
.cal-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:30px}
.cal-month{font-size:1.1rem;font-weight:800;color:var(--teal-action);margin:30px 0 14px;text-transform:uppercase;letter-spacing:.08em}
.cal-item{display:flex;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin-bottom:12px}
.cal-item[hidden],.cal-group[hidden]{display:none}
.cal-item h4{font-size:1.05rem;font-weight:800;margin-bottom:4px}
.cal-item .meta{color:var(--ink-faint);font-size:.88rem;margin:0 0 8px}
.cal-item p{color:var(--ink-soft);font-size:.94rem;margin:0 0 10px}
.cal-body{flex:1}

.cal-more{margin-top:12px;border-top:1px dashed var(--line);padding-top:4px}
.cal-more summary{font-family:"Raleway";font-weight:700;font-size:.9rem;color:var(--teal-action);cursor:pointer;padding:10px 2px;min-height:44px;display:flex;align-items:center}
.cal-more summary:hover{text-decoration:underline}
.cal-more-body{padding:4px 2px 8px}
.cal-more-body p{margin:0 0 12px}
.cal-more-body .btn{margin:0 10px 10px 0}
.map-embed{border-radius:12px;overflow:hidden;border:1px solid var(--line);margin-top:6px}
.map-embed iframe{display:block;width:100%;height:260px;border:0}

/* ---------- tier-2 motion: storytelling & funder pages ---------- */
@media (prefers-reduced-motion: no-preference){
  /* charts draw themselves in when scrolled into view */
  .chart .hbar,.chart .seg,.chart .propseg{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.22,.9,.38,1)}
  .chart.in .hbar,.chart.in .seg,.chart.in .propseg{transform:scaleX(1)}
  .chart.in .hbar-row:nth-child(2) .hbar{transition-delay:.06s}
  .chart.in .hbar-row:nth-child(3) .hbar{transition-delay:.12s}
  .chart.in .hbar-row:nth-child(4) .hbar{transition-delay:.18s}
  .chart.in .hbar-row:nth-child(5) .hbar{transition-delay:.24s}
  .chart.in .hbar-row:nth-child(6) .hbar{transition-delay:.3s}
  .chart.in .hbar-row:nth-child(7) .hbar{transition-delay:.36s}
  .chart.in .hbar-row:nth-child(8) .hbar{transition-delay:.42s}
  .chart.in .hbar-row:nth-child(9) .hbar{transition-delay:.48s}
  .chart.in .hbar-row:nth-child(10) .hbar{transition-delay:.54s}
  .chart.in .hbar-row:nth-child(11) .hbar{transition-delay:.6s}
  .chart.in .seg:nth-child(2){transition-delay:.15s}
  .chart.in .seg:nth-child(3){transition-delay:.3s}
  .chart.in .seg:nth-child(4){transition-delay:.45s}
  .chart.in .seg:nth-child(5){transition-delay:.6s}
  .chart.in .propseg:nth-child(2){transition-delay:.25s}
  .chart.in .stackrow:nth-child(odd) .seg{transition-duration:1s}
  /* photos breathe on hover inside their frames */
  .news-card .has-img img,.story-card .has-img img,.card .has-img img{transition:transform .5s ease}
  .news-card:hover .has-img img,.story-card:hover .has-img img,.card:hover .has-img img{transform:scale(1.05)}
  /* pointer tilt targets (JS drives the angles) */
  .tilt{transition:transform .25s ease;will-change:transform}
  /* parallax backgrounds */
  .impact-bg img,.hero-bg img{will-change:transform}
}

/* reveal animation (JS adds .in) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}

/* touch input */
@media (pointer: coarse){
  a.need{padding:12px 20px}
  nav.main a{min-height:48px}
}

/* responsive */
@media(max-width:980px){
  .impact-inner{grid-template-columns:1fr;gap:36px}
  .story .inner{grid-template-columns:1fr}
  .story .quote-card{margin:-40px 20px 0}
  .svc-head{grid-template-columns:1fr}
}
@media(max-width:1260px){
  /* keep the whole header on one row before the CTAs collapse at 1080 */
  .brand img{width:68px;height:68px}
  .brand b{font-size:1.02rem}
  nav.main a{padding:10px 7px;font-size:.9rem}
  .header-ctas .btn{padding:10px 12px}
}
@media(max-width:1080px){
  .header-ctas .btn-help,.header-ctas .btn-vol{display:none}
}
@media(max-width:980px){
  .event-feature{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .mobile-only,nav.main a.mobile-only{display:inline-flex}
  .hero-inner{grid-template-columns:1fr;padding:48px 20px 56px;gap:44px}
  .hero-media .main-photo{transform:none}
  .stat-chip{left:10px;bottom:-20px}
  .hero-media .mini-ph{display:none}
  .row{grid-template-columns:1fr;gap:8px;padding:22px 0}
  .site-inner{justify-content:space-between;gap:10px}
  .brand img{width:60px;height:60px}
  nav.main{display:none}
  .nav-toggle{display:inline-flex}
  body.nav-open nav.main{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:8px 12px 16px;gap:2px}
  body.nav-open nav.main a{min-height:48px;font-size:1.05rem}
  .needbar{top:68px}
  .stat-chip{position:static;margin-top:20px;transform:none;max-width:280px}
  .band .panel{max-width:none}
}
@media(max-width:480px){
  .brand b{display:none}
  .site-inner > .btn{padding:12px 18px;margin-left:auto}
}

/* ---------- financial charts ---------- */
.chart{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 30px;margin:0 0 26px}
.chart figcaption h3{font-size:1.15rem;margin-bottom:4px}
.chart figcaption p{color:var(--ink-soft);font-size:.92rem;margin:0 0 20px;max-width:70ch}
.chart-note{color:var(--ink-soft);font-size:.92rem;margin:22px 0 12px}
.hbar-row{display:grid;grid-template-columns:minmax(120px,210px) 1fr 76px;align-items:center;gap:12px;padding:3px 0;border-radius:6px}
.hbar-row:focus-visible{outline:3px solid var(--teal-action);outline-offset:1px}
.hlab{font-size:.88rem;color:var(--ink-soft);text-align:right}
.htrack{background:none}
.hbar{display:block;height:16px;border-radius:0 4px 4px 0;min-width:2px}
.hval{font-size:.88rem;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}
.proprow{display:flex;gap:2px;height:26px;border-radius:6px;overflow:hidden;margin-bottom:10px}
.propseg{display:block}
.propseg:focus-visible{outline:3px solid var(--navy);outline-offset:-3px}
.proplegend{display:flex;gap:20px;flex-wrap:wrap;font-size:.88rem;color:var(--ink-soft);margin-bottom:6px}
.proplegend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.chart-legend{margin-bottom:16px}
.stackrow{display:grid;grid-template-columns:56px 1fr 64px;align-items:center;gap:12px;padding:3px 0}
.stacktrack{display:flex;gap:2px;height:16px}
.seg{display:block;border-radius:2px}
.seg:last-child{border-radius:0 4px 4px 0}
.seg:focus-visible{outline:3px solid var(--navy);outline-offset:1px}
.data-table{margin-top:18px;border-top:1px dashed var(--line);padding-top:6px}
.data-table summary{font-family:"Raleway";font-weight:700;font-size:.85rem;color:var(--teal-action);cursor:pointer;padding:8px 2px;min-height:44px;display:flex;align-items:center}
.data-table table{border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums;margin-top:6px}
.data-table th,.data-table td{text-align:left;padding:6px 16px 6px 0;border-bottom:1px solid var(--line);color:var(--ink-soft)}
.data-table th{color:var(--ink-faint);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.chart-tip{position:fixed;z-index:200;background:var(--navy);color:#fff;font-size:.84rem;padding:7px 12px;border-radius:8px;pointer-events:none;max-width:280px;box-shadow:0 6px 20px rgba(20,24,55,.35)}
.chart-tip[hidden]{display:none}

/* real photos inside placeholder frames + candid seal */
.ph.has-img{border:0;padding:0;background:none}
.ph.has-img img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.badge-seal{display:flex;align-items:center;gap:14px;text-decoration:none}
.badge-seal img{flex:none}
.badge-seal span small{display:block;font-weight:500;color:var(--ink-faint);font-family:"Public Sans";font-size:.8rem}
.foot-seal{display:inline-block;margin:10px 0 14px;background:#fff;border-radius:8px;padding:6px}

/* ---- Gravity Forms bridge (form 26 on Contact + future embeds) ---- */
.cform-gf .gform_wrapper{margin:0}
.cform-gf .gfield{margin-bottom:18px}
.cform-gf .gfield_label{display:block;font-family:"Raleway";font-weight:700;font-size:.9rem;color:var(--navy);margin-bottom:6px}
.cform-gf .gfield_required{color:var(--coral);padding-left:2px}
.cform-gf .gform_required_legend{display:none}
.cform-gf .gfield_description{font-size:.85rem;color:var(--ink-faint)}
.cform-gf input[type=submit],.cform-gf .gform_button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:"Raleway";font-weight:700;font-size:1rem;border-radius:99px;padding:12px 26px;min-height:48px;border:2px solid transparent;cursor:pointer;white-space:nowrap;background:var(--gold);color:var(--navy);width:auto;transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease}
.cform-gf input[type=submit]:hover,.cform-gf .gform_button:hover{background:#f5c355;transform:translateY(-1px);box-shadow:var(--shadow)}
@media (prefers-reduced-motion: reduce){.cform-gf input[type=submit],.cform-gf .gform_button{transition:none}.cform-gf input[type=submit]:hover{transform:none}}
.cform-gf .gform_validation_errors{background:#fdeceb;border:1.5px solid #b3261e;border-radius:10px;padding:12px 16px;margin-bottom:18px}
.cform-gf .gform_validation_errors h2{font-size:.95rem;color:#b3261e;margin:0}
.cform-gf .gfield_validation_message,.cform-gf .validation_message{color:#b3261e;font-size:.85rem;margin-top:6px}
.cform-gf .gfield_error input,.cform-gf .gfield_error select,.cform-gf .gfield_error textarea{border-color:#b3261e}
.cform-gf .gform_confirmation_message{font-size:1.05rem}
.cform-gf .gform_confirmation_message h3{color:var(--navy);margin-bottom:8px}
.cform-gf .gform_ajax_spinner{margin-left:10px}

/* GF Orbital theme override — the submit button must be the DCP gold pill */
.cform-gf .gform_footer button.gform_button,.cform-gf .gform_footer input[type=submit]{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:"Raleway",system-ui,sans-serif!important;font-weight:700!important;font-size:1rem!important;border-radius:99px!important;padding:12px 26px!important;min-height:48px!important;border:2px solid transparent!important;background:var(--gold)!important;color:var(--navy)!important;cursor:pointer;white-space:nowrap}
.cform-gf .gform_footer button.gform_button:hover,.cform-gf .gform_footer input[type=submit]:hover{background:#f5c355!important;transform:translateY(-1px);box-shadow:var(--shadow)}
.cform-gf .gform_footer{margin:0!important;padding:0!important}

/* ---- Events Manager list + legacy block-button styling under the new theme ---- */
.em.em-view-container{font-family:"Public Sans",system-ui,sans-serif}
.em .em-item{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;margin-bottom:20px}
.em .em-item-title a{font-family:"Raleway",system-ui,sans-serif;font-weight:800;color:var(--navy);text-decoration:none}
.em .em-item-title a:hover{color:var(--teal-action);text-decoration:underline}
.em .em-item-image img{border-radius:12px}
.em h2{font-family:"Raleway",system-ui,sans-serif;color:var(--navy)}
.em .em-item-meta{color:var(--ink-soft)}
.em a{color:var(--teal-action)}
.em .em-search-submit{background:var(--teal-action)!important;color:#fff!important;border-radius:99px!important;font-family:"Raleway",system-ui,sans-serif;font-weight:700;border:none;cursor:pointer}
.em .em-search-submit:hover{background:#005f8f!important}
main .wp-block-button__link{background:var(--navy);color:#fff;border-radius:99px;font-family:"Raleway",system-ui,sans-serif;font-weight:700;font-size:1rem;padding:12px 26px;text-decoration:none;transition:background-color .15s ease}
main .wp-block-button__link:hover{background:#37407f}

/* Live EM feed rows inside the designed calendar */
.cal-item .ev-cats{margin:8px 0 0}
.cal-item .ev-cats a{display:inline-block;background:var(--teal-band);color:var(--teal-action);font-family:"Raleway",system-ui,sans-serif;font-weight:700;font-size:.78rem;padding:4px 12px;border-radius:99px;text-decoration:none;margin:0 6px 6px 0}
.cal-item .ev-cats a:hover{background:var(--teal-action);color:#fff}
.em-live-item h4 a{color:var(--navy);text-decoration:none;font-family:"Raleway",system-ui,sans-serif}
.em-live-item h4 a:hover{color:var(--teal-action);text-decoration:underline}
.cal-item .ev-cats ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cal-item .ev-cats li{margin:0}

/* ---- Newsletter signup popup (A/B variants, once per year) ---- */
.nlpop{position:fixed;inset:0;z-index:300;pointer-events:none;font-family:"Public Sans",system-ui,sans-serif}
.nlpop--b{inset:auto 0 0 auto}
.nlpop .nlpop-overlay{position:absolute;inset:0;background:rgba(20,25,60,.55);opacity:0;transition:opacity .3s ease;pointer-events:auto}
.nlpop.in .nlpop-overlay{opacity:1}
.nlpop .nlpop-card{position:relative;pointer-events:auto;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(20,25,60,.35);padding:30px 28px}
.nlpop--a .nlpop-card{max-width:420px;margin:14vh auto 0;opacity:0;transform:translateY(14px);transition:opacity .3s ease,transform .3s ease}
.nlpop--a.in .nlpop-card{opacity:1;transform:none}
.nlpop--b .nlpop-card{margin:0 18px 18px auto;max-width:340px;opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease}
.nlpop--b.in .nlpop-card{opacity:1;transform:none}
.nlpop-icon{width:34px;height:34px;color:var(--teal-action);margin-bottom:8px}
.nlpop h3{font-family:"Raleway",system-ui,sans-serif;color:var(--navy);font-size:1.25rem;margin:0 0 6px}
.nlpop p{color:var(--ink-soft);font-size:.93rem;margin:0 0 16px}
.nlpop-form{display:flex;gap:8px;flex-wrap:wrap;position:relative}
.nlpop-form input[type=email]{flex:1;min-width:150px;font:16px/1.4 "Public Sans",system-ui,sans-serif;border:1.5px solid var(--line);border-radius:99px;padding:11px 16px;min-height:46px}
.nlpop-form input[type=email]:focus-visible{outline:3px solid var(--teal-action);outline-offset:1px}
.nlpop-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:26px;line-height:1;color:var(--ink-faint);cursor:pointer;padding:6px;min-width:44px;min-height:44px}
.nlpop-close:hover{color:var(--navy)}
.nlpop-no{background:none;border:0;color:var(--ink-faint);font-size:.85rem;margin-top:12px;cursor:pointer;text-decoration:underline;padding:8px}
.nlpop-no:hover{color:var(--navy)}
@media (prefers-reduced-motion: reduce){.nlpop .nlpop-overlay,.nlpop .nlpop-card{transition:none}}
@media (max-width:480px){.nlpop--a .nlpop-card{margin:18vh 14px 0}.nlpop--b .nlpop-card{margin:0 10px 10px 10px;max-width:none}}


/* ---- Help finder bar (homepage hero) ---- */
.helpbar{position:relative;max-width:560px;margin:22px 0 14px}
.helpbar input{width:100%;font:16px/1.4 "Public Sans",system-ui,sans-serif;color:var(--ink);background:#fff;border:2px solid transparent;border-radius:99px;padding:16px 62px 16px 22px;min-height:56px;box-shadow:0 10px 30px rgba(20,25,60,.28)}
.helpbar input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.helpbar input::placeholder{color:#77808f}
.helpbar-go{position:absolute;top:8px;right:8px;width:40px;height:40px;border-radius:99px;border:0;background:var(--navy);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .15s ease}
.helpbar-go:hover{background:#37407f;transform:translateX(2px)}
.helpbar-go svg{width:19px;height:19px}
.helpbar-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(20,25,60,.3);padding:10px;z-index:60;max-height:min(58vh,430px);overflow:auto}
.hb-hit{display:block;padding:12px 14px;border-radius:12px;text-decoration:none;color:var(--ink)}
.hb-hit:hover,.hb-hit:focus-visible{background:var(--paper)}
.hb-hit b{display:block;font-family:"Raleway",system-ui,sans-serif;font-weight:800;color:var(--navy);font-size:.98rem;margin-bottom:2px}
.hb-hit span{display:block;font-size:.87rem;color:var(--ink-soft);line-height:1.45}
.hb-none{padding:12px 14px;font-size:.9rem;color:var(--ink-soft)}
.hb-call{display:flex;gap:10px;align-items:center;margin-top:6px;padding:12px 14px;border-top:1px solid var(--line);font-size:.88rem;color:var(--ink-soft)}
.hb-call a{color:var(--teal-action);font-weight:700;text-decoration:none}
.hb-call a:hover{text-decoration:underline}
@media (max-width:900px){.helpbar{max-width:none}}

/* ---- Animated trust cards ---- */
.trust-anim{padding:10px 0 55px}
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:820px){.tcards{grid-template-columns:1fr;max-width:440px;margin:0 auto}}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px 26px;text-align:center;box-shadow:var(--shadow)}
.tcard h3{font-family:"Raleway",system-ui,sans-serif;font-weight:800;color:var(--navy);font-size:1.06rem;margin:0 0 8px}
.tcard p{font-size:.9rem;color:var(--ink-soft);margin:0;line-height:1.55}
.tanim{position:relative;width:78px;height:78px;border-radius:24px;display:grid;place-items:center;margin:0 auto 16px}
.tanim svg{width:40px;height:40px}
.tanim-heart{background:#fdf3dc;color:var(--gold)}
.tanim-shield{background:var(--teal-band);color:var(--teal-action)}
.tanim-lang{background:#eaf0fa;color:var(--navy)}
.tanim-lang svg{position:absolute;width:52px;height:52px}
.tl-words{position:relative;z-index:1;width:100%;text-align:center;transform:translateY(-4px)}
.tl-words span{position:absolute;left:0;right:0;top:-9px;font-family:"Raleway",system-ui,sans-serif;font-weight:800;font-size:.78rem;color:var(--navy);opacity:0}
.tl-words span:nth-child(1){animation-delay:0s}
.tl-words span:nth-child(2){animation-delay:4s}
.tl-words span:nth-child(3){animation-delay:8s}
.tl-words span:nth-child(4){animation-delay:12s}
@media (prefers-reduced-motion: no-preference){
  .th-heart{transform-origin:50% 60%;animation:tbeat 2.8s ease-in-out infinite}
  @keyframes tbeat{0%,30%,100%{transform:scale(1)}8%{transform:scale(1.14)}16%{transform:scale(1.04)}24%{transform:scale(1.1)}}
  .ts-check{stroke-dasharray:100;animation:tsdraw 4.5s ease-in-out infinite}
  @keyframes tsdraw{0%{stroke-dashoffset:100;opacity:0}12%{opacity:1}30%{stroke-dashoffset:0;opacity:1}75%{stroke-dashoffset:0;opacity:1}88%,100%{stroke-dashoffset:0;opacity:0}}
  .tl-words span{animation:tlcycle 16s infinite}
  @keyframes tlcycle{0%{opacity:0;transform:translateY(6px)}3%,22%{opacity:1;transform:translateY(0)}26%,100%{opacity:0;transform:translateY(-6px)}}
  .rh-env{animation:rhnudge 5.5s ease-in-out infinite}
  @keyframes rhnudge{0%,72%,100%{transform:translateX(0) rotate(0)}80%{transform:translateX(5px) rotate(-6deg)}88%{transform:translateX(0) rotate(0)}}
  .rh-flap{stroke-dasharray:100;animation:rhflap 5.5s ease-in-out infinite}
  @keyframes rhflap{0%{stroke-dashoffset:100}18%{stroke-dashoffset:0}72%,100%{stroke-dashoffset:0}}
}
@media (prefers-reduced-motion: reduce){.tl-words span:nth-child(1){opacity:1}}
.route-hint--anim{display:flex;gap:12px;align-items:flex-start}
.route-hint--anim p{margin:0}
.rh-env{width:30px;height:30px;flex:none;color:var(--teal-action);margin-top:1px}

.tanim--img{background:none}
.tanim--img img{width:78px;height:78px;border-radius:24px;display:block}

/* ---------- v6 clean & readable pass ---------- */
:root{--ink-soft:#3f4663}
.hero p.sub{font-size:1.2rem;line-height:1.55;margin:18px 0 0;max-width:46ch}
.hero .helpbar{margin:26px 0 6px}
.hero-langs{margin-top:10px}
.hero-langs a.hero-browse{padding-left:0;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45)}
.hero-sep{width:1px;height:18px;background:rgba(255,255,255,.3);margin:0 6px}
h2 .hl,body.hl-anim h2 .hl{background:none!important}
p.sec-sub{font-size:1.08rem;line-height:1.65}
.card p,.steps p{font-size:1rem;line-height:1.65}
.page-hero p{font-size:1.12rem;line-height:1.6}
.news-card--nl p{color:#dfe4fb}
.steps .wm{display:none}
.card:not(.card--navy) .foot{flex-direction:column;align-items:stretch;gap:10px;margin-top:auto;padding-top:4px}
.card:not(.card--navy) .foot .btn{justify-content:flex-start;gap:10px;width:100%;white-space:normal;text-align:left;min-height:50px;padding:10px 11px 10px 18px;border-radius:12px;font-size:.95rem;line-height:1.3}
.card:not(.card--navy) .foot .btn::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;margin-left:auto;background-size:contain}
.card:not(.card--navy) .foot .btn-teal{background:var(--teal-action);color:#fff;border-color:var(--teal-action)}
.card:not(.card--navy) .foot .btn-teal::after{background-color:rgba(255,255,255,.18);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10m-4-4 4 4-4 4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.card:not(.card--navy) .foot .btn-teal:hover{background:#005f8f;border-color:#005f8f}
.card:not(.card--navy) .foot .btn-lightline{background:#fff;color:var(--teal-action);border:1.5px solid rgba(0,119,178,.4);font-weight:700}
.card:not(.card--navy) .foot .btn-lightline::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V3h6v1M8.5 12l2 2 4-4M8.5 17.5h7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V3h6v1M8.5 12l2 2 4-4M8.5 17.5h7'/%3E%3C/svg%3E") center/contain no-repeat}
.card:not(.card--navy) .foot .btn-lightline::after{background-color:var(--teal-band);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10m-4-4 4 4-4 4' fill='none' stroke='%2300727e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.card:not(.card--navy) .foot .btn-lightline:hover{background:var(--teal-band);border-color:var(--teal-action)}
@media (prefers-reduced-motion: no-preference){
  .card:not(.card--navy) .foot .btn::after{transition:transform .18s ease}
  .card:not(.card--navy) .foot .btn:hover::after{transform:translateX(3px)}
}
@media (min-width:980px){
  .cards > .card--navy:last-child:nth-child(3n+1){grid-column:1/-1}
  .cards > .card--navy:last-child:nth-child(3n+1) .body{flex-direction:row;align-items:center;gap:32px;padding:28px 34px}
  .cards > .card--navy:last-child:nth-child(3n+1) .body p{margin:0;flex:1;max-width:60ch}
  .cards > .card--navy:last-child:nth-child(3n+1) .body h3{margin:0;flex:none}
  .cards > .card--navy:last-child:nth-child(3n+1) .foot{margin:0;flex-wrap:nowrap}
}
.page-hero .ctas .btn:nth-child(n+3):not(.btn-gold){background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.page-hero .ctas .btn:nth-child(n+3):not(.btn-gold):hover{background:rgba(255,255,255,.1);border-color:#fff}
@media (prefers-reduced-motion: no-preference){.reveal{transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}}
@media (prefers-reduced-motion: no-preference) and (hover:hover){
  .card:hover,.event-card:hover,.news-card:hover,.story-card:hover{transform:translateY(-2px)}
}
.pchips-track{animation-duration:80s}
@media (prefers-reduced-motion: reduce){.pchips-track{animation:none}.pchips{overflow-x:auto}}
.nowrap{white-space:nowrap}
.hero h1 .hl{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em}

/* ---------- photo-free art: icon tiles, band art, initials ---------- */
.card-art{aspect-ratio:16/8;display:grid;place-items:center;border-bottom:1px solid var(--line)}
.story-card .card-art{aspect-ratio:16/9}
.card-art svg{width:68px;height:68px}
.card-art--gold{background:linear-gradient(135deg,#fdf4dc,#f7e0a8);color:#8a5d00}
.card-art--teal{background:linear-gradient(150deg,#e3f3f1,#c2e4e6);color:var(--teal-action)}
.card-art--blue{background:linear-gradient(140deg,#edf1fb,#d0dbf2);color:var(--navy)}
@media (prefers-reduced-motion: no-preference) and (hover:hover){
  .card-art svg{transition:transform .3s ease}
  a:hover > .card-art svg{transform:scale(1.07) rotate(-2deg)}
}
.band-art{background:radial-gradient(circle at 60% 40%,#343d80 0%,var(--navy-deep) 70%);display:grid;place-items:center;min-height:320px;color:var(--gold)}
.band-art svg{width:clamp(120px,14vw,170px);height:auto;opacity:.92}
@media(max-width:900px){.band-art{min-height:200px}}
.member .initials{aspect-ratio:1;border-radius:50%;margin-bottom:12px;background:linear-gradient(150deg,var(--navy),#3c4a92);color:var(--gold);display:grid;place-items:center;font-family:"Raleway",system-ui,sans-serif;font-weight:800;font-size:clamp(1.6rem,4vw,2.5rem);letter-spacing:.04em;border:3px solid var(--teal-band);transition:box-shadow .25s ease,border-color .25s ease}
.member:hover .initials,.member:focus-visible .initials{border-color:var(--gold);box-shadow:0 0 0 7px rgba(242,183,54,.32)}
@media (min-width:700px) and (max-width:1099px){.cards:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.cards:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}}
a.card .foot{width:100%}
a.card .foot .more{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:10px 11px 10px 18px;border-radius:12px;background:var(--teal-action);color:#fff;font-family:"Raleway",system-ui,sans-serif;font-weight:700;font-size:.95rem;line-height:1.3;text-decoration:none;transition:background-color .15s ease}
a.card .foot .more::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;margin-left:auto;background:rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10m-4-4 4 4-4 4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
a.card:hover .foot .more{background:#005f8f}
@media (prefers-reduced-motion: no-preference){a.card .foot .more::after{transition:transform .18s ease}a.card:hover .foot .more::after{transform:translateX(3px)}}

/* ---------- news: lead story, button cues, articles, archive ---------- */
a.news-card .body{display:flex;flex-direction:column;flex:1}
a.news-card .body .more{margin-top:auto;display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:9px 11px 9px 18px;border-radius:12px;background:var(--teal-action);color:#fff;font-family:"Raleway",system-ui,sans-serif;font-weight:700;font-size:.95rem;text-decoration:none;transition:background-color .15s ease}
a.news-card .body .more::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;margin-left:auto;background:rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10m-4-4 4 4-4 4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
a.news-card:hover .body .more{background:#005f8f}
a.news-card--nl .body .more{background:var(--gold);color:var(--navy)}
a.news-card--nl .body .more::after{background:rgba(39,46,101,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10m-4-4 4 4-4 4' fill='none' stroke='%23272e65' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
a.news-card--nl:hover .body .more{background:#f5c355}
@media (prefers-reduced-motion: no-preference){a.news-card .body .more::after{transition:transform .18s ease}a.news-card:hover .body .more::after{transform:translateX(3px)}}
.news-grid--lead .news-card--lead{grid-column:1/-1}
@media (min-width:900px){
  .news-grid--lead{grid-template-columns:repeat(3,1fr)}
  .news-card--lead{flex-direction:row}
  .news-card--lead .ph{flex:1.25;aspect-ratio:auto;min-height:340px;border-bottom:0}
  .news-card--lead .ph img{width:100%;height:100%;object-fit:cover}
  .news-card--lead .body{flex:1;padding:34px 36px;justify-content:center}
  .news-card--lead h3{font-size:1.6rem;line-height:1.2}
  .news-card--lead p{font-size:1.05rem}
  .news-card--lead .body .more{margin-top:18px;width:auto;align-self:flex-start;min-width:230px}
}
.article-hero .inner{grid-template-columns:1fr}
.article-hero h1{max-width:28ch}
.article-kicker{margin:0 0 12px!important;font-family:"Raleway",system-ui,sans-serif;font-weight:700;font-size:.9rem!important;letter-spacing:.04em;color:var(--gold)!important}
.article-kicker a{color:var(--gold)!important;text-decoration:none}
.article{max-width:760px;margin:0 auto;padding:40px 20px 80px}
.article-lead{margin:0 0 30px}
.article-lead img{width:100%;height:auto;border-radius:var(--radius)}
.article-body{font-size:1.1rem;line-height:1.75;color:var(--ink)}
.article-body h2{font-size:1.6rem;margin:1.6em 0 .5em}
.article-body h3{font-size:1.25rem;margin:1.4em 0 .4em}
.article-body p,.article-body ul,.article-body ol{margin:0 0 1.1em}
.article-body img{max-width:100%;height:auto;border-radius:12px}
.article-body a{color:var(--teal-action)}
.article-body blockquote{margin:1.4em 0;padding:4px 0 4px 22px;border-left:4px solid var(--gold);font-family:"Raleway",system-ui,sans-serif;font-weight:600;font-size:1.2rem;color:var(--navy)}
.article-back{margin-top:44px}
.archive-pager{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.archive-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--navy);font-family:"Raleway",system-ui,sans-serif;font-weight:700;text-decoration:none}
.archive-pager .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}
.archive-pager a.page-numbers:hover{border-color:var(--teal-action);color:var(--teal-action)}
a.event-card .body > div:last-child{display:flex;flex-direction:column;flex:1;min-width:0}
a.event-card .body .more{margin-top:auto;display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px 10px 8px 16px;border-radius:12px;background:var(--teal-action);color:#fff;font-size:.93rem;text-decoration:none;transition:background-color .15s ease}
a.event-card .body .more::after{content:"";flex:none;width:26px;height:26px;border-radius:50%;margin-left:auto;background:rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10m-4-4 4 4-4 4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
a.event-card:hover .body .more{background:#005f8f}
@media (prefers-reduced-motion: no-preference){a.event-card .body .more::after{transition:transform .18s ease}a.event-card:hover .body .more::after{transform:translateX(3px)}}
.nlpop-form input[type=text]:not([tabindex="-1"]){flex:1 1 100%;font:16px/1.4 "Public Sans",system-ui,sans-serif;border:1.5px solid var(--line);border-radius:99px;padding:11px 16px;min-height:46px}
.nlpop-form input[type=text]:focus-visible{outline:3px solid var(--teal-action);outline-offset:1px}
.nl-status{margin:10px 0 0;font-size:.95rem;font-weight:600;min-height:1.4em}
.nl-status:empty{display:none}
.nl-status.is-error{color:#ffb4a6}
.nl-status.is-ok{color:#9fe3d9;font-size:1.02rem}
.nlpop .nl-status.is-error{color:var(--coral)}
.nlpop .nl-status.is-ok{color:var(--teal-action)}
.nlpop .nl-status{color:var(--ink-soft)}
.nl-signup button:disabled,.nlpop-form button:disabled{opacity:.6;cursor:wait}

/* ---------- DCP animated icon set (drawn in-house, 48-pt grid) ---------- */
.di{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.di .l{stroke:var(--ln)}
.di .a{stroke:var(--acc)}
.di .mask{fill:var(--bg);stroke:none}
.di .l,.di .a.draw{stroke-dasharray:1 2;stroke-dashoffset:0}
.di *{transform-box:fill-box;transform-origin:center}
.di .l2{stroke:var(--ln)}
@media (prefers-reduced-motion: no-preference){
  .di.play .l,.di.play .a.draw{stroke-dashoffset:1;animation:dDraw .8s cubic-bezier(.65,0,.35,1) forwards;animation-delay:calc(var(--d,0) * 1s)}
  .di.play .pop{opacity:0;transform:scale(.3);animation:dPop .55s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:calc(var(--d,.8) * 1s)}
  /* per-icon finishing touches */
  .di.play .beat{opacity:0;transform:scale(.3);animation:dPop .55s cubic-bezier(.34,1.56,.64,1) forwards,dBeat 1s ease-in-out forwards;animation-delay:calc(var(--d,.8) * 1s),calc(var(--d,.8) * 1s + .6s)}
  .di.play .grow{transform-origin:50% 100%;transform:scaleY(0);animation:dGrow .6s cubic-bezier(.34,1.4,.64,1) forwards;animation-delay:calc(var(--d,.8) * 1s)}
  .di.play .sway{transform-origin:50% 0;animation:dSway 1.6s ease-in-out .8s}
  .di.play .hop{transform-origin:50% 100%;animation:dHop .7s cubic-bezier(.34,1.4,.64,1) 1.35s}
  .di.play .drop{opacity:0;animation:dDrop .75s cubic-bezier(.34,1.5,.64,1) forwards;animation-delay:calc(var(--d,.8) * 1s)}
  .di.play .rise{opacity:0;animation:dRise 1s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--d,.8) * 1s)}
  .di.play .swing{transform-origin:0 50%;transform:scaleX(0);animation:dSwing .6s cubic-bezier(.34,1.4,.64,1) forwards;animation-delay:calc(var(--d,.8) * 1s)}
  .di.play .swingL{transform-origin:100% 50%;transform:scaleX(0);animation:dSwing .6s cubic-bezier(.34,1.4,.64,1) forwards;animation-delay:calc(var(--d,.8) * 1s)}
  .di.play .search{animation:dSearch 1.8s ease-in-out .6s}
  .di.play .fade{opacity:0;animation:dFade .25s ease forwards;animation-delay:calc(var(--d,.8) * 1s)}
  .di.play .spin{opacity:0;transform:scale(.3) rotate(-90deg);animation:dSpin .7s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:calc(var(--d,.8) * 1s)}
}
@keyframes dDraw{to{stroke-dashoffset:0}}
@keyframes dPop{to{opacity:1;transform:scale(1)}}
@keyframes dBeat{0%,40%,100%{transform:scale(1)}15%{transform:scale(1.18)}28%{transform:scale(1.05)}}
@keyframes dGrow{to{transform:scaleY(1)}}
@keyframes dSway{0%,100%{transform:rotate(0)}30%{transform:rotate(-4deg)}65%{transform:rotate(3deg)}}
@keyframes dHop{0%,100%{transform:translateY(0)}40%{transform:translateY(-3px)}}
@keyframes dDrop{0%{opacity:0;transform:translateY(-12px)}60%{opacity:1;transform:translateY(1px)}100%{opacity:1;transform:translateY(0)}}
@keyframes dRise{0%{opacity:0;transform:translateY(8px) scale(.6)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dSwing{to{transform:scaleX(1)}}
@keyframes dSearch{0%,100%{transform:translate(0,0)}25%{transform:translate(-3px,1px)}55%{transform:translate(3px,-1px)}80%{transform:translate(-1px,0)}}
@keyframes dFade{to{opacity:1}}
@keyframes dSpin{to{opacity:1;transform:scale(1) rotate(0)}}
.di{overflow:visible}
.page-hero .di{width:clamp(120px,15vw,180px);height:auto;flex:none;margin-right:24px;--ln:#fff;--acc:var(--gold);--bg:#232a5c}
@media(max-width:760px){.page-hero .di{display:none}}
.gform_confirmation_message .di-confirm{display:block;width:64px;height:64px;margin:0 0 12px;--ln:var(--navy);--acc:var(--gold);--bg:#fff}
.nl-status.has-icon{display:flex;align-items:center;gap:12px}
.nl-status .di-status{width:44px;height:44px;flex:none;--ln:#fff;--acc:var(--gold);--bg:#2c315b}
.nlpop .nl-status .di-status{--ln:var(--navy);--bg:#fff}
form.nl-signup[hidden],form.nlpop-form[hidden]{display:none!important}
@media (prefers-reduced-motion: no-preference){.di.play .whoosh{animation:dWhoosh .9s cubic-bezier(.34,1.3,.64,1) .95s}}
@keyframes dWhoosh{0%,100%{transform:translateX(0)}35%{transform:translateX(-1.5px)}70%{transform:translateX(2.5px)}}
.confirm-again{margin:20px 0 0}

/* ---------- launch welcome bar + /verify/ page ---------- */
.welcome-bar{position:relative;background:#fdf3dc;color:var(--navy);border-bottom:1px solid #f0dca8;padding:10px 52px 10px 20px;text-align:center;font-size:.95rem;line-height:1.45}
.welcome-bar p{margin:0}
.welcome-bar a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.welcome-bar .wb-x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:10px;background:none;color:var(--navy);font-size:1.5rem;line-height:1;cursor:pointer}
.welcome-bar .wb-x:hover{background:rgba(39,46,101,.08)}
@media (max-width:640px){.welcome-bar .wb-long{display:none}}
.verify-lead{font-size:1.15rem;line-height:1.65;color:var(--ink);margin:0 0 28px;max-width:62ch}
.verify-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 28px}
@media (max-width:760px){.verify-grid{grid-template-columns:1fr}}
.verify-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}
.verify-item h2{font-size:1.12rem;margin:0 0 8px}
.verify-item p{margin:0;color:var(--ink-soft);line-height:1.6}
.verify-call{background:var(--navy);color:#fff;border-radius:var(--radius);padding:28px 30px;margin:0 0 24px}
.verify-call h2{color:#fff;font-size:1.3rem;margin:0 0 8px}
.verify-call p{color:#dfe4fb;margin:0 0 16px;line-height:1.6}
.verify-call p a:not(.btn){color:#ffd88a}
.verify-call .btn-row{margin:0}
.verify-note{font-size:.95rem;color:var(--ink-soft);margin:0 0 10px}

/* ---------- /new-website/ video tour ---------- */
.ns-video{margin:0 0 34px}
.ns-video video{display:block;width:100%;aspect-ratio:16/9;background:var(--navy);border-radius:var(--radius);box-shadow:var(--shadow)}
.ns-video.is-tall video{aspect-ratio:9/16;width:auto;max-width:100%;max-height:82vh;margin:0 auto}
.ns-video figcaption{font-size:.95rem;color:var(--ink-soft);margin-top:10px;text-align:center}
.ns-h{font-size:1.5rem;margin:0 0 16px}
.ns-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:0 0 26px}
@media (max-width:760px){.ns-grid{grid-template-columns:1fr}}
.ns-grid .verify-item{display:flex;flex-direction:column}
.ns-grid .verify-item p{flex:1;margin-bottom:16px}
.ns-grid .btn{align-self:flex-start}
.ns-ic{width:46px;height:46px;margin:0 0 10px;--ln:var(--navy);--acc:var(--gold);--bg:var(--card)}
.ns-soon{background:var(--teal-band);border-radius:var(--radius);padding:22px 26px;margin:0 0 24px}
.ns-soon .ns-tag{display:inline-block;margin:0 0 8px;background:var(--gold);color:var(--navy);font-family:"Raleway";font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:4px 12px}
.ns-soon ul{margin:0;padding-left:20px;line-height:1.7}
.welcome-bar .wb-dot{margin:0 4px}
.cal-empty{background:var(--card);border:1.5px dashed var(--line);border-radius:var(--radius);padding:26px 24px;text-align:center;color:var(--ink-soft);margin-top:14px}
.cal-empty p{margin:0 0 14px;font-size:1.02rem}
.cal-empty p:last-child{margin:0}

/* ---------- calendar event pages (Events Manager single) ---------- */
body.single-event .em.em-item-single .em-item-header{display:block}
body.single-event .em.em-item-single .em-item-image{margin:0 0 22px;max-width:none}
body.single-event .em.em-item-single .em-item-image img{display:block;max-width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}
body.single-event .em.em-item-single .em-item-meta{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 6px;padding:0;background:none;border:0;box-shadow:none}
body.single-event .em.em-item-single .em-item-meta-column{flex:1 1 260px;min-width:0;margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px}
body.single-event .em.em-item-single .em-event-content{flex:1 1 100%;margin-top:10px}
body.single-event .em.em-item.em-item-single .em-item-header .em-item-meta h3{font-family:"Raleway",system-ui,sans-serif;font-weight:800;font-size:.8rem!important;line-height:1.2!important;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-action);margin:0 0 10px!important}
body.single-event .em.em-item-single .em-item-meta-column > section{margin:0!important;padding:0!important}
body.single-event .em.em-item-single .em-event-location a{font-style:normal;text-decoration:underline;text-decoration-style:solid}
body.single-event .em.em-item-single .em-item-meta-line{display:flex;align-items:flex-start;gap:10px;font-size:1.05rem;line-height:1.5;color:var(--ink);margin:0 0 6px}
body.single-event .em.em-item-single .em-item-meta-line a{color:var(--teal-action);font-weight:600}
body.single-event .em.em-item-single .em-event-add-to-calendar{display:inline-flex;align-items:center;gap:8px;margin-top:12px;background:var(--teal-action);color:#fff;border:0;border-radius:99px;font:700 .95rem/1 "Raleway",system-ui,sans-serif;padding:12px 20px;min-height:44px;cursor:pointer;box-shadow:none}
body.single-event .em.em-item-single .em-event-add-to-calendar:hover{background:#005f8f}
body.single-event .em.em-item-single .em-event-add-to-calendar .em-icon{filter:brightness(0) invert(1)}
body.single-event .em.em-item-single .em-location-map-container{border-radius:var(--radius);overflow:hidden;margin-top:26px}
.event-back{margin:30px 0 0}

/* ---------- filter chips: check on the chosen one; one swipeable row on phones ---------- */
.need[aria-pressed="true"]::before{content:"";flex:none;width:14px;height:14px;margin:0 6px 0 -2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:760px){
  .needbar .inner,.cal-filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .needbar .inner::-webkit-scrollbar,.cal-filters::-webkit-scrollbar{display:none}
  .needbar .inner > *,.cal-filters > *{flex:none}
  .needbar .filter-status,.cal-filters .filter-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .needbar .inner.fade-r,.cal-filters.fade-r{-webkit-mask-image:linear-gradient(to right,#000 80%,transparent);mask-image:linear-gradient(to right,#000 80%,transparent)}
  .needbar .inner.fade-l,.cal-filters.fade-l{-webkit-mask-image:linear-gradient(to left,#000 80%,transparent);mask-image:linear-gradient(to left,#000 80%,transparent)}
  .needbar .inner.fade-l.fade-r,.cal-filters.fade-l.fade-r{-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent)}
}

/* ---------- accordions (FAQ, "view as table") ---------- */
.gh-faq details:first-of-type{border-top:1px solid var(--line)}
.gh-faq summary,details.data-table > summary{list-style:none}
.gh-faq summary::-webkit-details-marker,details.data-table > summary::-webkit-details-marker{display:none}
.gh-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px}
details.data-table > summary{gap:6px}
.gh-faq summary::after,details.data-table > summary::after{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .26s cubic-bezier(.4,0,.2,1)}
details.data-table > summary::after{width:16px;height:16px}
.gh-faq details[open]:not(.closing) > summary::after,details.data-table[open]:not(.closing) > summary::after{transform:rotate(180deg)}
@media (prefers-reduced-motion: reduce){.gh-faq summary::after,details.data-table > summary::after{transition:none}}

/* small action-coloured text on light-teal tints: the deeper blue keeps 4.5:1 */
nav.main a:hover,.chip,.news-card:not(.news-card--nl) .kind,.route-hint,.cal-item .ev-cats a,.date-badge span,.ph span,.card:not(.card--navy) .foot .btn-lightline:hover{color:var(--action-deep)}

/* ---------- how it works: three-step stepper + promises (one panel) ---------- */
.howto{padding:16px 0 64px}
.howto-panel{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:46px 50px 0;overflow:hidden}
.howto-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 40px;margin:0 0 38px}
.howto-head .sec{margin:0}
.howto-head .sec-sub{margin:0;max-width:38ch}
.stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.st{position:relative;margin:0}
.st-n{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;font:800 1.08rem/1 "Raleway",system-ui,sans-serif;box-shadow:0 0 0 6px var(--card)}
.st:not(:last-child)::before,.st:not(:last-child)::after{content:"";position:absolute;top:22px;left:62px;right:-26px;height:2px;border-radius:2px}
.st:not(:last-child)::before{background:var(--line)}
.st:not(:last-child)::after{background:var(--gold);transform-origin:0 50%;transform:scaleX(0);transition:transform .75s cubic-bezier(.65,0,.35,1) calc(var(--seq-delay,0ms) + .4s)}
.st.in:not(:last-child)::after{transform:scaleX(1)}
.st h3{font-size:1.18rem;margin:20px 0 6px}
.st p{margin:0 0 18px;color:var(--ink-soft);line-height:1.6}
.st .btn{font-size:.93rem;padding:10px 20px;min-height:44px}
.st-btn{background:#fff;color:var(--teal-action);border:1.5px solid rgba(0,119,178,.35)}
.st-btn:hover{border-color:var(--teal-action);background:#f3f8fc}
.promises{list-style:none;margin:42px -50px 0;padding:26px 50px 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px 36px;background:var(--paper);border-top:1px solid var(--line)}
.promises li{display:flex;gap:12px;align-items:flex-start;margin:0}
.pr-check{flex:none;width:26px;height:26px;border-radius:50%;background:var(--teal-band);display:grid;place-items:center;margin-top:1px}
.pr-check::after{content:"";display:block;width:14px;height:14px;background:var(--action-deep);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.promises b{display:block;font-family:"Raleway",system-ui,sans-serif;font-weight:800;color:var(--navy);font-size:1rem;line-height:1.3;margin:0 0 3px}
.promises span:not(.pr-check){display:block;color:var(--ink-soft);font-size:.93rem;line-height:1.5}
@media (max-width:860px){
  .howto-panel{padding:32px 22px 0;border-radius:22px}
  .howto-head{margin-bottom:28px}
  .stepper{grid-template-columns:1fr;gap:0}
  .st{display:grid;grid-template-columns:46px 1fr;gap:0 16px;padding-bottom:28px}
  .st:last-child{padding-bottom:0}
  .st h3{margin-top:10px}
  .st:not(:last-child)::before,.st:not(:last-child)::after{top:56px;bottom:6px;left:22px;right:auto;width:2px;height:auto}
  .st:not(:last-child)::after{transform:scaleY(0);transform-origin:50% 0}
  .st.in:not(:last-child)::after{transform:scaleY(1)}
  .promises{grid-template-columns:1fr;margin:30px -22px 0;padding:24px 22px 26px}
}
@media (prefers-reduced-motion: reduce){.st:not(:last-child)::after{transition:none;transform:none}}

/* ---------- button system: one main action per group, outline for the rest, gold = giving ----------
   light backgrounds: .btn-teal (solid blue) + .btn-outline     dark backgrounds: .btn-light (white) + .btn-ghost */
.btn-outline{background:#fff;color:var(--teal-action);border:1.5px solid rgba(0,119,178,.4)}
.btn-outline:hover{background:#f3f8fc;border-color:var(--teal-action)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
/* Get Help program rows: the first action after the phone number leads, the rest are outlines */
.prog .actions .btn{background:#fff;color:var(--teal-action);border:1.5px solid rgba(0,119,178,.4)}
.prog .actions .btn:hover{background:#f3f8fc;border-color:var(--teal-action)}
.prog .actions .tel + .btn{background:var(--teal-action);color:#fff;border-color:var(--teal-action)}
.prog .actions .tel + .btn:hover{background:#005f8f;border-color:#005f8f}

/* card actions: pills that hug their label, arrow right beside the words; phones keep full width */
.card:not(.card--navy) .foot{flex-direction:column;align-items:flex-start;gap:10px}
.card:not(.card--navy) .foot .btn{width:auto;max-width:100%;border-radius:99px;padding:10px 12px 10px 20px;min-height:46px}
.card:not(.card--navy) .foot .btn::after{margin-left:2px}
a.event-card .body .more,a.news-card .body .more,a.card .foot .more{width:auto;align-self:flex-start;border-radius:99px;padding:8px 10px 8px 18px}
a.event-card .body .more::after,a.news-card .body .more::after,a.card .foot .more::after{margin-left:2px}
@media (max-width:560px){
  .card:not(.card--navy) .foot{align-items:stretch}
  .card:not(.card--navy) .foot .btn,a.event-card .body .more,a.news-card .body .more,a.card .foot .more{width:100%;align-self:stretch;justify-content:center}
}

/* three steps: buttons sit on one line regardless of text length (desktop) */
@media (min-width:861px){
  .st{display:flex;flex-direction:column}
  .st-body{flex:1;display:flex;flex-direction:column}
  .st-body .btn{margin-top:auto;align-self:flex-start;border-width:1.5px}
}

/* give strip: a calm Donate ask at the bottom of program pages */
.give-strip{padding:0;background:#fdf5e1;border-top:1px solid rgba(242,183,54,.35)}
.give-strip .inner{padding-top:30px;padding-bottom:30px}
.give-strip .gs{display:flex;align-items:center;gap:16px 24px}
.give-strip .gs-ic{flex:none;width:56px;height:56px;border-radius:50%;background:#fff;color:#b07d0b;display:grid;place-items:center}
.give-strip .gs-ic svg{width:26px;height:26px}
.give-strip .gs-copy{flex:1}
.give-strip h2{font-size:1.35rem;margin:0 0 4px}
.give-strip p{margin:0;color:var(--ink-soft)}
.give-strip .btn{flex:none}
@media (max-width:640px){
  .give-strip .inner{padding-top:28px;padding-bottom:28px}
  .give-strip .gs{display:grid;grid-template-columns:44px 1fr;align-items:start;gap:16px 14px}
  .give-strip .gs-ic{width:44px;height:44px}
  .give-strip .gs-ic svg{width:22px;height:22px}
  .give-strip .btn{grid-column:1/-1;width:100%;justify-content:center}
}

/* give strip heart: draws itself in, fills gold, then a soft heartbeat with a ripple every few seconds */
.give-strip .gs-ic{position:relative;color:var(--gold-ink,#b07d0b)}
.give-strip .gs-ic::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(242,183,54,.6);opacity:0;pointer-events:none}
.give-strip .gs-ic svg{overflow:visible;transform-origin:50% 55%}
.give-strip .gs-ic path{stroke-dasharray:1;stroke-dashoffset:1;fill:rgba(242,183,54,0);transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1) .25s,fill .5s ease 1.25s}
.give-strip .gs.in .gs-ic path{stroke-dashoffset:0;fill:var(--gold)}
.give-strip .gs.in .gs-ic svg{animation:gs-beat 4.8s ease-in-out 1.7s infinite}
.give-strip .gs.in .gs-ic::after{animation:gs-ring 4.8s ease-out 1.7s infinite}
@keyframes gs-beat{0%{transform:scale(1)}7%{transform:scale(1.2)}14%{transform:scale(.97)}21%{transform:scale(1.12)}30%,100%{transform:scale(1)}}
@keyframes gs-ring{0%{opacity:.85;transform:scale(1)}32%,100%{opacity:0;transform:scale(1.5)}}
@media (prefers-reduced-motion: reduce){
  .give-strip .gs-ic path{transition:none;stroke-dashoffset:0;fill:var(--gold)}
  .give-strip .gs.in .gs-ic svg,.give-strip .gs.in .gs-ic::after{animation:none}
}

/* Project DASH: start panel on the page + application dialog */
.dash-start{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 30px}
.dash-start h3{font-size:1.15rem;margin:0 0 10px}
.dash-start ul{margin:0 0 22px;padding-left:20px;color:var(--ink-soft)}
.dash-start li{margin:0 0 6px}
html.dlg-open{overflow:hidden}
.apply-dlg{padding:0;border:0;background:transparent;width:min(680px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;overflow:visible;color:var(--ink)}
.apply-dlg::backdrop{background:rgba(20,25,60,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.apply-dlg-card{display:flex;flex-direction:column;max-height:calc(100dvh - 48px);background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(20,25,60,.4);overflow:hidden}
.apply-dlg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 26px 18px;border-bottom:1px solid var(--line)}
.apply-dlg-kicker{font:800 .76rem/1 "Raleway",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--action-deep);margin:4px 0 8px}
.apply-dlg-head h2{font-size:1.4rem;margin:0}
.apply-dlg-close{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--paper);color:var(--navy);font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center}
.apply-dlg-close:hover{background:#efe8da}
.apply-dlg-close:focus-visible{outline:3px solid var(--teal-action);outline-offset:2px}
.apply-dlg-body.cform{overflow-y:auto;overscroll-behavior:contain;padding:22px 26px 26px;background:none;border:0;border-radius:0;box-shadow:none}
.apply-dlg-alt{color:var(--ink-soft);font-size:.9rem;margin:18px 0 0}
.apply-dlg[open] .apply-dlg-card{animation:dlg-in .3s cubic-bezier(.2,.8,.2,1)}
.apply-dlg[open]::backdrop{animation:dlg-fade .25s ease}
@keyframes dlg-in{from{opacity:0;transform:translateY(18px) scale(.98)}}
@keyframes dlg-fade{from{opacity:0}}
.apply-dlg--inline{position:static;width:auto;max-height:none;margin:28px 0 0}
.apply-dlg--inline .apply-dlg-card{max-height:none;box-shadow:var(--shadow);border:1px solid var(--line)}
.apply-dlg--inline .apply-dlg-close{display:none}
@media (max-width:560px){
  .apply-dlg{width:100%;margin:auto 0 0;max-height:94dvh}
  .apply-dlg-card{max-height:94dvh;border-radius:20px 20px 0 0}
  .apply-dlg-head{padding:18px 18px 14px}
  .apply-dlg-body.cform{padding:18px 18px 28px}
  .dash-start{padding:22px 20px}
  .dash-start .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion: reduce){.apply-dlg[open] .apply-dlg-card,.apply-dlg[open]::backdrop{animation:none}}

/* "Coming soon" label (online applications not open yet) */
.soon-pill{display:inline-block;font:800 .8rem/1.2 "Raleway",system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;background:var(--gold);color:var(--navy);border-radius:99px;padding:5px 12px;margin:0 0 12px}
.dash-soon{color:var(--ink-soft);margin:0 0 20px}
.dash-start div.dash-soon{border-top:1px solid var(--line);padding-top:18px}
.dash-soon .soon-pill{margin-bottom:10px}
.dash-soon p{margin:0}

/* ---------- The Partnership Table popup (through Oct 15, 2026) ---------- */
.ptpop{padding:0;border:0;background:transparent;width:min(880px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;overflow:visible;color:#1E2A5A}
.ptpop::backdrop{background:rgba(12,16,40,.74);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;transition:opacity .35s ease}
.ptpop.dim::backdrop{opacity:1}
.ptpop.out::backdrop{opacity:0;transition-duration:.25s}
.ptp-card{position:relative;display:grid;grid-template-columns:5fr 6fr;max-height:calc(100dvh - 32px);background:#FBF6EA;border-radius:26px;overflow:hidden;box-shadow:0 30px 90px rgba(8,10,30,.55);opacity:0;transform:translateY(26px) scale(.95)}
.ptpop.in .ptp-card{opacity:1;transform:none;transition:opacity .45s ease,transform .6s cubic-bezier(.2,.9,.25,1.05)}
.ptpop.out .ptp-card{opacity:0;transform:translateY(14px) scale(.97);transition:opacity .25s ease,transform .25s ease}
.ptp-close{position:absolute;top:14px;right:14px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(30,42,90,.08);color:#1E2A5A;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center}
.ptp-close:hover{background:rgba(30,42,90,.16)}
.ptp-close:focus-visible{outline:3px solid #C9A227;outline-offset:2px}

/* stage: navy, grain, toast rings settle in, the jersey rises into the big ring */
.ptp-stage{position:relative;min-height:440px;background:radial-gradient(circle at 46% 46%,#34427f 0%,#1E2A5A 52%,#121a3d 100%);overflow:hidden}
.ptp-grain{position:absolute;inset:0;width:100%;height:100%;opacity:.4;mix-blend-mode:overlay;pointer-events:none}
.ptp-glow{position:absolute;left:46%;top:46%;width:62%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.5);background:radial-gradient(circle,rgba(255,199,44,.38) 0%,rgba(255,199,44,0) 68%);opacity:0}
.ptp-rings{position:absolute;inset:6%;width:88%;height:88%;overflow:visible}
.ptp-ring{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.55) rotate(-50deg)}
.ptp-spark{transform-box:fill-box;transform-origin:0 100%;opacity:0;transform:scale(.2)}
.ptp-jersey{position:absolute;left:46%;top:47%;width:min(52%,230px);transform:translate(-50%,-50%)}
.ptp-jersey > .ptp-float{opacity:0;transform:translateY(46px) rotate(-7deg) scale(.9)}
.ptp-jersey svg{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 26px rgba(0,0,0,.45))}
.ptp-sig{stroke-dasharray:1;stroke-dashoffset:1}
.ptpop.in .ptp-r1{animation:ptp-land .8s cubic-bezier(.3,1.35,.5,1) .2s forwards}
.ptpop.in .ptp-r2{animation:ptp-land .8s cubic-bezier(.3,1.35,.5,1) .38s forwards}
.ptpop.in .ptp-r3{animation:ptp-land .8s cubic-bezier(.3,1.35,.5,1) .54s forwards}
.ptpop.in .ptp-spark{animation:ptp-clink .55s cubic-bezier(.3,1.6,.5,1) .95s forwards}
.ptpop.in .ptp-glow{animation:ptp-glow 1.1s ease-out .7s forwards,ptp-breathe 4.5s ease-in-out 2s infinite}
.ptpop.in .ptp-jersey > .ptp-float{animation:ptp-rise .9s cubic-bezier(.25,1.4,.45,1) .65s forwards,ptp-hover 5s ease-in-out 1.7s infinite}
.ptpop.in .ptp-sig{animation:ptp-sign 1.3s ease-in-out 1.35s forwards}
@keyframes ptp-land{to{opacity:1;transform:none}}
@keyframes ptp-clink{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:none}}
@keyframes ptp-glow{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ptp-breathe{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08)}}
@keyframes ptp-rise{to{opacity:1;transform:none}}
@keyframes ptp-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes ptp-sign{to{stroke-dashoffset:0}}

/* copy */
.ptp-body{padding:46px 44px 30px;overflow-y:auto;display:flex;flex-direction:column;align-items:flex-start}
.ptp-a{opacity:0;transform:translateY(12px)}
.ptpop.in .ptp-a{animation:ptp-up .5s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.35s + var(--i,0) * .09s)}
@keyframes ptp-up{to{opacity:1;transform:none}}
.ptp-eyebrow{font:800 .78rem/1.3 "Raleway",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#A84A22;margin:0 0 12px;font-feature-settings:"lnum"}
.ptpop h2:focus{outline:none}
.ptpop h2{font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.08;color:#1E2A5A;margin:0 0 12px;letter-spacing:-.01em}
.ptp-sub{color:#4a5070;margin:0 0 20px;line-height:1.55}
.ptp-prize{position:relative;overflow:hidden;width:100%;background:#1E2A5A;color:#fff;border-radius:16px;padding:16px 18px;margin:0 0 16px}
.ptp-prize::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,215,110,.22) 50%,transparent 65%);transform:translateX(-120%)}
.ptpop.in .ptp-prize::after{animation:ptp-shine 4.2s ease-in-out 2.2s infinite}
@keyframes ptp-shine{0%{transform:translateX(-120%)}35%,100%{transform:translateX(120%)}}
.ptp-prize-k{display:block;font:800 .72rem/1 "Raleway",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#E3C766;margin:0 0 7px;font-feature-settings:"lnum"}
.ptp-prize strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:1.28rem;line-height:1.2;margin:0 0 5px}
.ptp-prize span:last-child{display:block;color:#c9cfe8;font-size:.9rem;line-height:1.45}
.ptp-meta{font-size:.92rem;color:#4a5070;margin:0 0 20px;font-feature-settings:"lnum"}
.ptp-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 6px}
.ptp-ghost{background:transparent;color:#1E2A5A;border:1.5px solid rgba(30,42,90,.35)}
.ptp-ghost:hover{background:rgba(30,42,90,.06);border-color:#1E2A5A}
.ptp-later{background:none;border:0;padding:10px 2px;margin-top:4px;font:600 .9rem "Public Sans",system-ui,sans-serif;color:#5c6283;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ptp-later:hover{color:#1E2A5A}

/* story entrance (tickets version): the three rings fly in huge from different angles, shrink with sparks, settle into the logo */
.ptp-fly{position:fixed;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible}
.ptp-fly-r{opacity:0}
.ptp-sparks{position:fixed;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.ptpop.story .ptp-card{transform:none}
.ptpop.story.in .ptp-card{transition:opacity .3s ease}
.ptpop.story.in .ptp-ring{opacity:0;transform:none;animation:none}
.ptpop.story.in .ptp-ring.on{opacity:1;animation:ptp-thunk .45s cubic-bezier(.3,1.7,.5,1)}
@keyframes ptp-thunk{0%{transform:scale(1.07)}100%{transform:none}}
.ptpop.story.in .ptp-spark,.ptpop.story.in .ptp-date,.ptpop.story.in .ptp-glow{animation:none}
.ptpop.story.in.clinked .ptp-spark{animation:ptp-clink .5s cubic-bezier(.3,1.6,.5,1) forwards}
.ptpop.story.in.dated .ptp-date{animation:ptp-pop .6s cubic-bezier(.3,1.7,.5,1) forwards}
.ptpop.story.in.dated .ptp-glow{animation:ptp-glow .9s ease-out forwards,ptp-breathe 4.5s ease-in-out 1s infinite}
@keyframes ptp-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.ptpop.story.in .ptp-a{animation:none;opacity:0;transform:translateY(-24px)}
.ptpop.story.in .ptp-a:not(.drop){pointer-events:none}
.ptpop.story.in .ptp-a.drop{animation:ptp-drop .55s cubic-bezier(.3,1.55,.5,1) forwards}
@keyframes ptp-drop{0%{opacity:0;transform:translateY(-24px)}35%{opacity:1}100%{opacity:1;transform:none}}
.ptpop.story .ptp-prize.drop .ptp-prize-logo img{animation:ptp-spin .8s cubic-bezier(.3,1.35,.5,1) .05s both}
@keyframes ptp-spin{from{transform:rotate(-220deg) scale(.3)}to{transform:none}}

/* tickets version: the date sits inside the big ring; the grand prize card carries the Warriors logo */
.ptp-date{position:absolute;left:46%;top:46%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;color:#F2E7CE;opacity:0}
.ptp-date span{font:800 .78rem/1 "Raleway",system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#E3C766}
.ptp-date b{font:800 clamp(78px,10vw,118px)/.92 "Playfair Display",Georgia,serif;font-feature-settings:"lnum";margin:6px 0 8px;text-shadow:0 8px 30px rgba(0,0,0,.35)}
.ptpop.in .ptp-date{animation:ptp-date .8s cubic-bezier(.2,.9,.3,1.15) .75s forwards}
@keyframes ptp-date{from{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.ptp-stage--tickets .ptp-glow{width:58%;background:radial-gradient(circle,rgba(242,231,206,.16) 0%,rgba(242,231,206,0) 70%)}
.ptp-when{margin:0 0 18px;color:#4a5070;font-size:.95rem;line-height:1.5;font-feature-settings:"lnum"}
.ptp-when strong{display:block;color:#1E2A5A;font-size:1.02rem}
.ptp-prize--logo{display:flex;align-items:center;gap:14px}
.ptp-prize-logo{flex:none;width:58px;height:58px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 3px rgba(255,199,44,.55)}
.ptp-prize-logo img{width:44px;height:44px;object-fit:contain}
.ptp-prize-txt{display:block;min-width:0}
.ptp-prize.ptp-prize--logo > .ptp-prize-txt{color:#fff;font-size:1rem;line-height:1.3}
.ptp-prize--logo strong{color:#fff;font-size:1.2rem}
.ptp-prize--logo .ptp-prize-txt > span:last-child{display:block;color:#c9cfe8;font-size:.9rem;line-height:1.45}
.ptp-fine{margin:10px 0 0;font-size:.85rem;color:#5c6283}
@media (max-width:700px){
  .ptpop{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .ptp-card{grid-template-columns:1fr;max-height:calc(100dvh - 20px);overflow-y:auto;border-radius:22px}
  .ptp-stage{min-height:0;height:210px}
  .ptp-rings{inset:5% 0;width:100%;height:90%}
  .ptp-jersey{width:auto;height:66%;aspect-ratio:300/340}
  .ptp-date b{font-size:52px;margin:4px 0 0}
  .ptp-date span{font-size:.58rem;letter-spacing:.18em}
  .ptp-date span:last-child{display:none}
  .ptp-stage--tickets{height:168px}
  .ptp-eyebrow .ptp-hide-sm{display:none}
  .ptpop h2{font-size:1.75rem;margin-bottom:8px}
  .ptp-sub{margin-bottom:14px;font-size:.95rem}
  .ptp-when{margin-bottom:14px;font-size:.9rem}
  .ptp-prize{padding:14px 15px;margin-bottom:14px}
  .ptp-prize-logo{width:48px;height:48px}
  .ptp-prize-logo img{width:36px;height:36px}
  .ptp-prize--logo strong{font-size:1.08rem}
  .ptp-ctas{gap:10px}
  .ptp-fine{margin-top:8px}
  .ptp-close{background:rgba(255,255,255,.14);color:#fff}
  .ptp-close:hover{background:rgba(255,255,255,.24)}
  .ptp-body{padding:24px 22px 18px;overflow:visible}
  .ptp-ctas{width:100%}
  .ptp-ctas .btn{flex:1 1 100%;justify-content:center}
}
@media (prefers-reduced-motion: reduce){
  .ptp-card,.ptp-a,.ptp-ring,.ptp-spark,.ptp-jersey > .ptp-float{opacity:1;transform:none}
  .ptp-date{opacity:1}
  .ptpop.in .ptp-date{animation:none}
  .ptp-glow{opacity:1;transform:translate(-50%,-50%)}
  .ptp-sig{stroke-dashoffset:0}
  .ptpop.in .ptp-card,.ptpop.in .ptp-a,.ptpop.in .ptp-ring,.ptpop.in .ptp-spark,.ptpop.in .ptp-glow,.ptpop.in .ptp-jersey > .ptp-float,.ptpop.in .ptp-sig,.ptpop.in .ptp-prize::after{animation:none;transition:none}
}
