/* Commonground: civic cobalt, sunflower, coral, teal. Bricolage Grotesque display, Figtree text. */
:root{
  --chalk:#FBFAF6;--white:#fff;--mist:#EEF1FB;--cobalt:#1E3FAE;--cobalt-dk:#152C7A;--cobalt-ink:#0E1E57;
  --sun:#F4B740;--sun-lt:#FCEBC4;--coral:#EA6A4F;--coral-lt:#FBDCD4;--teal:#11847C;--teal-dk:#0B5F59;--teal-lt:#D3EEEA;
  --ink:#111827;--slate:#4B5563;--line:#E6E2D6;
  --display:"Bricolage Grotesque",system-ui,sans-serif;--sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1240px;--gut:clamp(1.25rem,5vw,3.5rem);--band:clamp(4rem,8vw,7.5rem);--r:28px;--ease:cubic-bezier(.22,.8,.24,1);
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--chalk);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.97rem + .2vw,1.09rem);line-height:1.68;-webkit-font-smoothing:antialiased}
::selection{background:var(--sun);color:var(--ink)}
a{color:var(--cobalt);text-underline-offset:.18em;text-decoration-thickness:2px;text-decoration-color:rgba(30,63,174,.3);transition:text-decoration-color .2s,color .2s}
a:hover{text-decoration-color:var(--cobalt)}
.cg-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut);box-sizing:border-box;width:100%}
.front-content>*,.site-main>*,.wp-site-blocks>*{margin-block:0}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.025em;color:var(--ink);font-variation-settings:"opsz" 96}

/* Header */
.site-header{background:var(--chalk);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .header-inner{display:flex;justify-content:space-between;align-items:center;min-height:78px;gap:1.5rem}
.site-header .brand{margin:0;font-family:var(--display);font-weight:800;font-size:1.25rem;letter-spacing:-.02em}
.site-header .brand a{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:.7rem}
.site-header .brand a::before{content:"";width:26px;height:26px;border-radius:7px;background:
  linear-gradient(var(--sun),var(--sun)) 0 0/11px 11px no-repeat,linear-gradient(var(--coral),var(--coral)) 15px 0/11px 11px no-repeat,
  linear-gradient(var(--teal),var(--teal)) 0 15px/11px 11px no-repeat,linear-gradient(var(--cobalt),var(--cobalt)) 15px 15px/11px 11px no-repeat}
.site-nav{color:var(--ink);font-weight:600;font-size:.95rem}
.site-nav .wp-block-navigation__container{gap:.4rem}
.site-nav .wp-block-navigation-item__content{text-decoration:none;padding:.55rem 1rem;border-radius:999px;transition:background-color .25s var(--ease)}
.site-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{background:var(--mist);color:var(--cobalt)}
.site-nav .wp-block-navigation-item:last-child .wp-block-navigation-item__content.wp-block-navigation-item__content{background:var(--ink);color:#fff}
.site-nav .wp-block-navigation-item:last-child .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{background:var(--cobalt);color:#fff}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--cobalt)!important;color:#fff!important;padding:2rem var(--gut)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{color:#fff!important;background:none!important;font-family:var(--display);font-size:2.2rem;font-weight:800}

/* Buttons */
.wp-block-button .wp-block-button__link{border-radius:999px;font-weight:700;font-size:1rem;padding:1rem 1.7rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s}
.cg-btn-sun .wp-block-button__link{background:var(--sun);color:var(--ink);box-shadow:0 6px 0 0 #C98F1B}
.cg-btn-sun .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 9px 0 0 #C98F1B}
.cg-btn-outline .wp-block-button__link{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.cg-btn-outline .wp-block-button__link:hover{box-shadow:inset 0 0 0 2px #fff;transform:translateY(-3px)}
.cg-btn-ink .wp-block-button__link{background:var(--ink);color:#fff}
.cg-btn-ink .wp-block-button__link:hover{background:var(--cobalt);transform:translateY(-3px)}
.cg-actions{gap:1rem;margin-top:2.2rem!important}

.cg-pill{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .9rem;border-radius:999px;background:var(--mist);color:var(--cobalt);margin:0 0 1.2rem!important}

/* Hero */
.cg-hero{background:var(--cobalt);color:#fff;padding-block:clamp(3.5rem,8vw,7rem) clamp(7rem,12vw,10rem);position:relative;overflow:hidden}
.cg-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 15% 0%,rgba(143,178,255,.35),transparent 60%),radial-gradient(700px 400px at 100% 100%,rgba(17,132,124,.35),transparent 60%);pointer-events:none}
.cg-hero-cols{position:relative;align-items:center!important;gap:clamp(2rem,5vw,5rem)!important}
.cg-kicker{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:.45rem 1rem;border-radius:999px;margin:0 0 1.8rem}
.cg-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(244,183,64,.25)}
.cg-title{color:#fff;font-size:clamp(2.6rem,1.2rem + 4.4vw,5.9rem);overflow-wrap:normal;word-break:normal;hyphens:manual;line-height:.92;margin:0;letter-spacing:-.032em;text-wrap:balance}
.cg-lede{font-size:clamp(1.08rem,1rem + .4vw,1.3rem);color:rgba(255,255,255,.86);max-width:33em;margin:1.8rem 0 0}
.cg-hero-copy>*{animation:cg-up .8s var(--ease) both}
.cg-hero-copy>*:nth-child(2){animation-delay:.07s}.cg-hero-copy>*:nth-child(3){animation-delay:.14s}.cg-hero-copy>*:nth-child(4){animation-delay:.21s}
@keyframes cg-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.cg-art{margin:0}
.cg-art img{width:100%;max-width:560px;height:auto;display:block;margin-left:auto;filter:drop-shadow(0 30px 40px rgba(8,18,60,.35));animation:cg-pop 1s var(--ease) both .15s}
@keyframes cg-pop{from{opacity:0;transform:scale(.94) rotate(-2deg)}to{opacity:1;transform:none}}

/* Stats */
.cg-stats-band{position:relative;z-index:2;margin-top:clamp(-6rem,-8vw,-4.5rem)!important}
.cg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.cg-stat{background:#fff;border-radius:var(--r);padding:1.9rem 1.9rem 1.7rem;box-shadow:0 1px 0 var(--line),0 24px 50px -30px rgba(17,24,39,.35);margin:0!important;border-top:6px solid var(--sun)}
.cg-stat:nth-child(2){border-top-color:var(--coral)}.cg-stat:nth-child(3){border-top-color:var(--teal)}
.cg-stat-num{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,2rem + 2vw,3.8rem);line-height:1;color:var(--cobalt);margin:0 0 .6rem;letter-spacing:-.04em}
.cg-stat-label{margin:0;color:var(--slate);font-size:.98rem;line-height:1.5}

/* Intro */
.cg-intro{padding-block:var(--band) calc(var(--band) * .6)}
.cg-intro h2{font-size:clamp(2.4rem,1.6rem + 3vw,4.4rem);line-height:.98;margin:0 0 2.2rem;max-width:12em}
.cg-intro-cols{gap:clamp(1.5rem,4vw,4rem)!important}
.cg-intro-cols p{margin:0;font-size:1.1rem;color:#28303d}
.cg-intro-cols .wp-block-column:first-child p{font-size:clamp(1.2rem,1.05rem + .5vw,1.42rem);line-height:1.55;color:var(--ink);font-weight:500}

/* Lenses */
.cg-lenses{padding-block:calc(var(--band) * .5) var(--band)}
.cg-section-title{font-size:clamp(2rem,1.5rem + 2vw,3.3rem);line-height:1;margin:0 0 2.4rem}
.cg-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.cg-card{border-radius:var(--r);padding:1.8rem 1.6rem 2rem;margin:0!important;min-height:15rem;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.cg-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 26px 50px -30px rgba(17,24,39,.45)}
.cg-card .cg-pill{background:rgba(255,255,255,.7);align-self:flex-start}
.cg-card-title{font-size:1.5rem;line-height:1.08;margin:auto 0 .6rem;letter-spacing:-.02em}
.cg-card-text{margin:0;font-size:.98rem;color:#2c3340}
.cg-tone-sun{background:var(--sun-lt)}.cg-tone-teal{background:var(--teal-lt)}.cg-tone-coral{background:var(--coral-lt)}.cg-tone-cobalt{background:var(--mist)}

/* Panels */
.cg-panel{padding-block:var(--band)}
.cg-panel-cols{gap:clamp(2rem,6vw,6rem)!important}
.cg-panel-title{font-size:clamp(2rem,1.4rem + 2.3vw,3.4rem);line-height:1;margin:0 0 1.6rem;text-wrap:balance}
.cg-panel-aside{font-weight:700;font-size:.95rem;padding:.9rem 1.1rem;border-radius:16px;background:var(--mist);color:var(--cobalt);display:inline-block;margin:0!important}
.cg-panel-body p{margin:0 0 1.2rem;font-size:1.06rem}
.cg-panel-body p:first-child{font-size:clamp(1.12rem,1.02rem + .35vw,1.28rem);line-height:1.6}
.cg-panel-light{background:var(--chalk);border-top:1px solid var(--line)}
.cg-panel-teal{background:var(--teal);color:#EAF7F5}
.cg-panel-teal h2{color:#fff}.cg-panel-teal .cg-pill,.cg-panel-cobalt .cg-pill{background:rgba(255,255,255,.14);color:#fff}
.cg-panel-teal .cg-panel-aside{background:rgba(0,0,0,.16);color:#fff}
.cg-panel-cobalt{background:var(--cobalt-dk);color:#E3E9FF}
.cg-panel-cobalt h2{color:#fff}.cg-panel-cobalt .cg-panel-aside{background:var(--sun);color:var(--ink)}

/* Timeline */
.cg-timeline{padding-block:var(--band);background:var(--chalk)}
.cg-miles{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative}
.cg-miles::before{content:"";position:absolute;left:0;right:0;top:1.35rem;height:3px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--line) 0 10px,transparent 10px 18px)}
.cg-mile{position:relative;margin:0!important;padding-top:0}
.cg-year{display:inline-block;font-family:var(--display);font-weight:800;font-size:1.15rem;background:var(--sun);color:var(--ink);padding:.35rem .95rem;border-radius:999px;margin:0 0 1rem!important;position:relative}
.cg-mile:nth-child(2) .cg-year{background:var(--coral);color:#fff}.cg-mile:nth-child(3) .cg-year{background:var(--teal);color:#fff}.cg-mile:nth-child(4) .cg-year{background:var(--cobalt);color:#fff}.cg-mile:nth-child(5) .cg-year{background:var(--ink);color:#fff}
.cg-mile-text{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.1rem 1.2rem;font-size:.98rem;min-height:6.5rem}

/* FAQ */
.cg-faq{padding-block:var(--band);background:var(--mist)}
.cg-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.cg-faq .wp-block-details{background:#fff;border-radius:22px;padding:0 1.5rem;margin:0!important;box-shadow:0 1px 0 rgba(17,24,39,.05);transition:box-shadow .3s}
.cg-faq .wp-block-details[open]{box-shadow:0 20px 40px -28px rgba(17,24,39,.4)}
.cg-faq summary{list-style:none;cursor:pointer;font-family:var(--display);font-weight:600;font-size:1.18rem;letter-spacing:-.01em;padding:1.35rem 2.4rem 1.35rem 0;position:relative;line-height:1.3}
.cg-faq summary::-webkit-details-marker{display:none}
.cg-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1.8rem;height:1.8rem;border-radius:50%;background:var(--mist);color:var(--cobalt);display:grid;place-items:center;font-weight:700;transition:transform .3s var(--ease),background-color .3s}
.cg-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);background:var(--sun);color:var(--ink)}
.cg-faq details p{margin:0 0 1.4rem;color:#374151}

/* CTA */
.cg-cta{background:var(--sun);padding-block:clamp(3.5rem,7vw,5.5rem)}
.cg-cta-cols{align-items:center!important;gap:2rem!important}
.cg-cta-title{font-size:clamp(2.1rem,1.5rem + 2.5vw,3.8rem);line-height:.98;margin:0}
.cg-cta-text{font-size:1.12rem;margin:0}

/* Notes */
.cg-notes{padding-block:clamp(3rem,6vw,4.5rem)}
.cg-sources{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.7rem}
.cg-sources li{font-size:.86rem;line-height:1.5;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem}
.cg-sources a{text-decoration:none;color:var(--ink)}
.cg-sources a:hover{color:var(--cobalt)}

/* Inner pages */
.page-hero{background:var(--cobalt) url(../art/mosaic-faint.svg) right -80px center/440px no-repeat;color:#fff;padding-block:clamp(4rem,9vw,7rem) clamp(3rem,6vw,4.5rem)}
.page-title{color:#fff;font-size:clamp(2.8rem,1.6rem + 5vw,6rem);line-height:.92;margin:0;max-width:12em;letter-spacing:-.032em}
.page-body{padding-block:clamp(3rem,7vw,5.5rem)}
.page-content{max-width:46rem;margin-inline:auto}
.page-content>*{margin-block:0}
.page-content>p{margin-bottom:1.2rem}
.page-content>h2{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.3rem);line-height:1.08;margin:3rem 0 1rem}
.page-content>h3{font-size:1.3rem;margin:2.6rem 0 1rem}
.cg-page-lede{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem)!important;line-height:1.45;font-weight:500;color:var(--ink);padding:1.6rem 1.8rem;border-radius:var(--r);background:var(--sun-lt);margin-bottom:2.2rem!important}
.page-content strong{color:var(--cobalt-ink)}
.page-content .cg-sources{grid-template-columns:1fr}
.cg-sources-title{font-family:var(--sans)!important;font-size:.8rem!important;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt)!important}
.cg-form-slot{background:#fff;border:2px dashed #C9D3F3;border-radius:var(--r);padding:1.8rem 2rem;margin:2rem 0!important}
.cg-form-slot p{margin:0 0 .6rem}.cg-form-note{color:var(--slate);font-size:.92rem}

/* Footer */
.site-footer{background:var(--ink);color:#C9CED8;padding-block:clamp(3.5rem,7vw,5rem) 2rem;font-size:.95rem}
.site-footer .footer-cols{gap:3rem!important}
.site-footer .footer-brand{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:-.02em;margin:0 0 .9rem}
.site-footer .footer-brand a{color:#fff;text-decoration:none}
.site-footer .footer-blurb{max-width:32em;margin:0}
.site-footer .footer-label{font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;color:var(--sun);margin:0 0 .7rem}
.site-footer .footer-links a{color:#fff;text-decoration:none}
.site-footer .footer-links a:hover{color:var(--sun)}
.site-footer .footer-legal{margin:3rem 0 0;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:#8A93A3}

@media (max-width:1000px){.cg-cards{grid-template-columns:1fr 1fr}.cg-miles{grid-template-columns:1fr 1fr 1fr}.cg-miles::before{display:none}}
@media (max-width:781px){
  .site-header .header-inner{min-height:64px}
  .site-header .brand{font-size:1.02rem;white-space:nowrap}
  .site-header .brand a::before{width:22px;height:22px;background-size:9px 9px;background-position:0 0,13px 0,0 13px,13px 13px}
  .cg-hero{padding-bottom:6.5rem}
  .cg-art img{max-width:340px;margin:1rem auto 0}
  .cg-stats{grid-template-columns:1fr}
  .cg-stats-band{margin-top:-4rem!important}
  .cg-cards,.cg-faq-grid{grid-template-columns:1fr}
  .cg-card{min-height:0}
  .cg-card-title{margin-top:.4rem}
  .cg-miles{grid-template-columns:1fr}
  .cg-mile{display:grid;grid-template-columns:5.2rem 1fr;gap:.8rem;align-items:start}
  .cg-mile-text{min-height:0}
  .page-hero{background-size:260px;background-position:right -90px bottom -40px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.site-header .header-inner > *{margin-block:0}
.cg-hero-cols .wp-block-column{min-width:0}
