/* Campaign typography: 20–22px copy; supporting text never below 16px. */
:root{--canvas:#fff;--ink:#102b4e;--muted:#455c73;--blue:#245e9b;--red:#b5121b;--sky:#b9e2ff;--surface:#f0f6fb;--line:#cbdbe8;--sans:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height,170px) + 20px);scroll-padding-bottom:110px}
body{margin:0;background:var(--canvas);color:var(--ink);font:20px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--sky);color:var(--ink)}
a{color:inherit;text-underline-offset:5px;touch-action:manipulation}
button{font:inherit;cursor:pointer;touch-action:manipulation}
:focus-visible{outline:3px solid var(--red);outline-offset:6px}
.hero :focus-visible,.final-ask :focus-visible,.site-footer :focus-visible{outline-color:var(--sky)}
[hidden]{display:none!important}
img{display:block;max-width:100%}
svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:750;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:clamp(44px,7vw,88px)}
h2{font-size:clamp(36px,4.8vw,64px)}
h3{font-size:28px;line-height:1.2}
em{font-style:normal;color:var(--blue)}
.wrap{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.section{padding-block:72px}
.eyebrow{font-size:16px;font-weight:700;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;margin-bottom:22px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:60px;padding:16px 22px;border:2px solid transparent;border-radius:4px;font-size:18px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;transition:background .15s,color .15s}
.button>span{font-size:24px;font-weight:400;line-height:1}
.button-primary{background:var(--red);color:#fff}
.button-primary:hover{background:#900e16}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:var(--blue)}
.button-light{background:#fff;color:var(--ink)}
.button-light:hover{background:var(--sky)}
.button-outline{border-color:var(--ink)}
.button-outline:hover{background:var(--ink);color:#fff}
.text-link{display:inline-flex;gap:15px;align-items:center;min-height:48px;font-size:18px;font-weight:700;line-height:1.5}
.skip-link{position:fixed;z-index:50;left:15px;top:15px;transform:translateY(-180%);background:var(--ink);color:#fff;padding:14px 20px}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 12px #102b4e0a;max-height:100svh;overflow-y:auto}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;align-items:center;min-height:100px;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-width:0}
.brand>span{min-width:0}
.brand-logo{width:56px;height:56px;flex:0 0 56px;object-fit:contain}
.brand-name{display:block;font-size:26px;line-height:1.1;font-weight:800;letter-spacing:-1.2px;white-space:nowrap}
.brand-sub{display:block;font-size:16px;margin-top:5px;line-height:1.3}
.desktop-nav{display:none;align-items:center;gap:25px;font-weight:700;font-size:16px;white-space:nowrap}
.desktop-nav a{display:inline-flex;align-items:center;min-height:48px;text-decoration:none}
.desktop-nav a:hover{text-decoration:underline}
.header-give{display:inline-flex;grid-column:1/-1;grid-row:2;min-height:50px;padding:10px 16px}
.menu-toggle{grid-column:2;grid-row:1;width:48px;height:48px;flex:0 0 48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:4px;background:none}
.menu-toggle span{width:20px;height:2px;background:var(--ink);transition:transform .15s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.mobile-nav{display:grid;padding-bottom:18px}
.mobile-nav a{padding:12px 0;border-top:1px solid var(--line);font-size:20px;font-weight:700;text-decoration:none}
@media(max-width:599px){.brand-name{font-size:23px;white-space:normal}}
.hero{background:var(--ink);color:#fff;padding:48px 0 38px}
.hero-grid{display:grid;gap:40px;align-items:center}
.hero .eyebrow{color:var(--sky)}
.hero h1{max-width:760px}
.hero h1 em{color:var(--sky)}
.hero-intro{max-width:560px;margin-top:26px;font-size:22px;line-height:1.55;color:#e6eff8}
.hero-mission{font-size:20px;line-height:1.5;color:var(--sky);margin-top:20px;max-width:550px;font-weight:700}
.hero .button{margin-top:28px}
.hero-campaign{font-size:18px;line-height:1.5;margin-top:24px;padding-left:16px;border-left:3px solid #eb6171}
.hero-campaign strong{display:block;font-size:22px;color:#fff;margin-bottom:6px}
.hero-campaign span{display:block}
.hero-photo{height:360px;background:#dceaf5;overflow:hidden}
.hero-photo>img{width:100%;height:100%;object-fit:cover}
.hero-photo--future{height:auto!important;aspect-ratio:3/2;background:#183956}
.campus-main-link{display:block;width:100%;height:100%}
.campus-main-link img{width:100%;height:100%;object-fit:contain}
.campus-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.campus-gallery a{min-width:0;text-decoration:none;font-size:16px;line-height:1.4;color:#fff}
.campus-gallery img{width:100%;height:100px;object-fit:contain;background:#183956;border:1px solid #53728d}
.campus-gallery span{display:block;margin-top:8px}
.current-campus{margin:36px 0 44px}
.current-campus h3{font-size:26px;margin-bottom:20px}
.current-campus .campus-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.current-campus .campus-gallery a{color:var(--ink)}
.current-campus .campus-gallery img{height:auto;aspect-ratio:4/3;background:var(--surface);border-color:var(--line)}
@media(min-width:768px){.current-campus .campus-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hero-media figcaption{color:#d3e4f3;font-size:16px;line-height:1.5;margin-top:15px}
.hero-current{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center;margin-top:24px;padding-top:24px;border-top:1px solid #53728d}
.hero-current a{display:block;min-width:0}
.hero-current img{display:block;width:100%;height:auto}
.hero-current figcaption{margin:0}
.hero-current figcaption strong{display:block;color:#fff;font-size:20px;line-height:1.25;margin-bottom:8px}
.photo-placeholder{position:relative;display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 25px;color:#365a78;background-image:linear-gradient(#557d9f0c 1px,transparent 1px),linear-gradient(90deg,#557d9f0c 1px,transparent 1px);background-size:40px 40px}
.photo-placeholder::after{content:'';position:absolute;inset:14px;border:1px dashed #7e9cb6;pointer-events:none}
.placeholder-label{position:absolute;top:27px;left:27px;font-size:16px;font-weight:700;line-height:1.4;text-align:left}
.placeholder-icon{width:90px;height:80px;stroke-width:1.1;margin-bottom:15px}
.hero-photo .placeholder-icon{width:130px;height:105px}
.placeholder-title{font-size:26px;font-weight:700;line-height:1.25;letter-spacing:-.025em}
.placeholder-detail{font-size:16px;line-height:1.4;margin-top:10px;max-width:320px}
.placeholder-file{display:none}
.video-button{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;border:0;background:#dceaf5;color:var(--ink);padding:28px;font-size:20px}
.play-circle{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--red);color:#fff;font-size:28px;padding-left:4px}
.hero-photo iframe{width:100%;height:100%;border:0;display:block}
.need-grid{display:grid;gap:40px;align-items:center}
.need .eyebrow{color:var(--red)}
.need h2+p{margin-top:28px;max-width:610px;font-size:22px;color:var(--muted)}
.community-stat{padding:30px;background:var(--surface);border-top:4px solid var(--red)}
.stat-geography{font-size:16px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.stat-value{font-size:96px;font-weight:800;letter-spacing:-.07em;line-height:1;color:var(--red)}
.stat-value>span{display:block;font-size:20px;line-height:1.5;letter-spacing:0;margin-bottom:10px}
.community-stat>.stat-value+p{margin-top:24px;font-size:22px;line-height:1.5}
.source-note{font-size:16px;line-height:1.6;color:var(--muted);margin-top:22px}
.readiness-comparison{padding:30px;background:var(--surface);border-top:4px solid var(--red)}
.readiness-comparison>figcaption{font-size:16px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.5}
.readiness-context{font-size:16px;line-height:1.5;color:var(--muted);margin-top:12px}
.readiness-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:28px}
.readiness-pair strong{display:block;color:var(--blue);font-size:clamp(46px,7vw,84px);letter-spacing:-.065em;line-height:1.1}
.readiness-pair>div:last-child strong{color:var(--red)}
.readiness-pair p{font-size:18px;line-height:1.4;margin-top:12px}
.readiness-versus{font-size:18px;color:var(--muted)}
.local-capacity{display:grid;gap:32px;margin-top:54px;padding-top:42px;border-top:1px solid var(--line)}
.capacity-intro h3{font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-.035em;margin-bottom:22px}
.capacity-intro>p:last-child{font-size:20px;color:var(--muted)}
.capacity-comparison{padding:28px 20px;background:var(--surface);border-top:4px solid var(--red)}
.capacity-comparison figcaption{font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.025em}
.capacity-intro .text-link{display:inline-block;margin-top:24px}
.capacity-row{margin-top:30px}
.capacity-label{display:flex;gap:12px;justify-content:space-between;align-items:baseline;margin-bottom:12px;font-size:18px;line-height:1.3}
.capacity-label span{max-width:230px}
.capacity-label strong{font-size:36px;letter-spacing:-.04em;white-space:nowrap;line-height:1}
.capacity-track{height:28px;background:#d4e1ed}
.capacity-bar{display:block;height:100%;width:var(--bar)}
.capacity-bar-demand{background:var(--red)}
.capacity-bar-seats{background:var(--blue)}
.capacity-takeaway{font-size:20px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.capacity-takeaway strong{color:var(--red)}
@media(min-width:1000px){.local-capacity{grid-template-columns:1fr 1.3fr;gap:70px;align-items:center;margin-top:70px;padding-top:60px}.capacity-comparison{padding:38px}}
.county-data{display:grid;gap:36px;margin-top:54px;padding-top:42px;border-top:1px solid var(--line)}
.county-intro>.eyebrow{margin-bottom:20px}
.readiness-number{font-size:96px;font-weight:800;letter-spacing:-.07em;line-height:1;color:var(--blue);margin-bottom:15px}
.readiness-number>span{font-size:.58em;letter-spacing:-.04em}
.county-intro h3{font-size:30px;margin-bottom:20px}
.county-intro>p:last-child{font-size:20px;color:var(--muted);max-width:480px}
.readiness-chart{padding:28px;background:var(--surface)}
.readiness-chart>figcaption{font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.03em}
.chart-unit{font-size:16px;line-height:1.5;color:var(--muted);margin-top:15px}
.readiness-row{margin-top:28px}
.readiness-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:20px;margin-bottom:10px}
.readiness-label strong{font-size:24px;letter-spacing:-.03em}
.readiness-track{height:22px;background:#d4e1ed}
.readiness-bar{height:100%;display:block;width:var(--bar)}
.readiness-bar-county{background:var(--red)}
.readiness-bar-state{background:var(--blue)}
.building-story{font-size:22px;color:var(--muted);max-width:560px}
.building-story p+p{margin-top:20px}
.learning{background:var(--surface)}
.learning .eyebrow{color:var(--blue)}
.learning h2{max-width:1000px}
.neighborhood-welcome{font-size:22px;line-height:1.55;margin-top:24px}
.values-list{margin-top:14px;padding-left:1.25em}
.values-list li+li{margin-top:8px}
.program-grid{display:grid;gap:32px;margin-top:42px}
.program-grid article{border-top:2px solid var(--line);padding-top:24px}
.program-number{display:block;color:var(--red);font-size:22px;font-weight:700;margin-bottom:14px}
.program-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-bottom:24px}
.program-photo--early{object-position:center 25%}
.program-grid h3{font-size:28px;max-width:380px}
.program-grid h3>span{display:block;font-size:20px;margin-top:8px;letter-spacing:0;font-weight:400}
.program-grid p{font-size:20px;color:var(--muted);margin-top:19px;max-width:420px}
.tuition-plan{margin-top:44px;display:grid;gap:25px;background:#fff;border-left:5px solid var(--blue);padding:28px}
.tuition-plan h3{font-size:30px}
.tuition-plan p{font-size:20px;color:var(--muted)}
.tuition-plan .eyebrow{font-size:16px;color:var(--blue);margin-bottom:15px}
.sustainability-note{margin-top:20px}
.learning .text-link{margin-top:26px}
.section-heading{display:grid;gap:25px;margin-bottom:38px}
.section-heading>p{font-size:22px;color:var(--muted);max-width:560px}
.investment-grid{display:grid;gap:32px}
.investment-photo{display:block;height:auto;aspect-ratio:3/2;overflow:hidden;background:#e6eff7}
.investment-grid figure:nth-child(2) .investment-photo{background:#eaf2f8}
.investment-photo>img{width:100%;height:100%;object-fit:cover}
.image-disclosure{font-size:16px;line-height:1.6;color:var(--muted);margin-top:24px}
.investment-grid figcaption{font-size:18px;line-height:1.5;color:var(--muted);margin-top:16px}
.investment-grid figcaption strong{display:block;font-size:24px;line-height:1.3;color:var(--ink);margin-bottom:8px}
.playground-feature{grid-column:1/-1;margin-top:14px;padding-top:32px;border-top:1px solid var(--line)}
.playground-comparison{display:grid;gap:24px}
.playground-comparison a{display:block;min-width:0;text-decoration:none}
.playground-view-label{display:block;font-size:18px;font-weight:700;line-height:1.5;margin-bottom:14px}
.playground-comparison img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--surface)}
.final-ask{background:var(--red);color:#fff;padding:64px 0}
.final-grid{display:grid;align-items:center;gap:38px}
.final-ask .eyebrow{color:#fff}
.final-ask h2 em{color:#fff}
.final-ask h2+p{font-size:22px;max-width:610px;margin-top:26px}
.opening-note{font-size:16px;line-height:1.6;max-width:550px;margin-top:22px}
.giving-card{border:1px solid #ffffff66;padding:28px;background:#9b1018}
.giving-card>p:first-child{font-size:18px}
.campaign-goal{font-size:58px;font-weight:800;letter-spacing:-.06em;line-height:1.2;margin:13px 0 24px}
.campaign-duration{font-size:22px;line-height:1.6}
.giving-card .button{margin-top:26px;width:100%}
.giving-provider{font-size:16px;line-height:1.5;margin-top:17px}
.giving-tax{font-size:16px;line-height:1.5;margin-top:17px}
.business-grid{display:grid;align-items:center;gap:30px}
.business h2+p{margin-top:25px;max-width:600px;font-size:22px;color:var(--muted)}
.business-contact>p{font-size:18px;margin-top:20px;overflow-wrap:anywhere}
.prototype-email{display:block;font-size:16px;line-height:1.5;color:var(--muted);margin-top:9px}
.updates{background:var(--surface);padding:50px 0}
.updates-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 40px}
.updates h2{font-size:36px}
.updates h2+p{font-size:20px;color:var(--muted);max-width:600px;margin-top:22px}
.site-footer{background:var(--ink);color:#fff;padding:42px 0 135px}
.footer-top{display:flex;flex-wrap:wrap;align-items:center;gap:25px 36px;padding-bottom:30px;border-bottom:1px solid #496480}
.footer-brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none}
.footer-logo{width:64px;height:64px;flex:0 0 64px;object-fit:contain;background:#fff;padding:5px;border-radius:6px}
.footer-name{font-size:28px;font-weight:800;letter-spacing:-1.1px;line-height:1.1}
.footer-name>span{display:block;font-size:16px;line-height:1.4;letter-spacing:0;color:var(--sky);margin-top:5px}
.footer-top>p{font-size:18px;line-height:1.6;color:#d3e4f3}
.footer-top nav{display:flex;flex-wrap:wrap;gap:12px 25px;width:100%;font-size:18px}
.footer-top nav a{display:inline-flex;align-items:center;min-height:48px}
.footer-bottom{display:grid;gap:24px;margin-top:30px;font-size:18px;line-height:1.7;color:#d3e4f3}
.prototype-note{font-size:16px;line-height:1.6;color:#d3e4f3;margin-top:28px}
.campaign-footer{font-size:18px;line-height:1.7;color:#d3e4f3;margin-top:28px;max-width:900px}
.mobile-give{position:fixed;z-index:20;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 24px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.mobile-give>div{font-size:16px;line-height:1.35}
.mobile-give strong,.mobile-give>div>span{display:block}
.mobile-give>div>span{color:var(--muted);margin-top:3px}
.mobile-give .button{min-height:54px;padding:12px 20px;gap:16px}
.prose{max-width:850px;padding-block:65px 85px;min-height:60vh}
.prose h1{font-size:clamp(42px,6vw,76px);margin-bottom:38px}
.prose h2{font-size:28px;margin:32px 0 16px;letter-spacing:-.025em}
.prose p,.prose li{font-size:20px;color:var(--muted);margin-bottom:20px}
.prose .eyebrow{font-size:16px}
.prose details{border-bottom:1px solid var(--line);padding-bottom:20px;margin-top:22px}
.prose summary{font-size:22px;line-height:1.5;font-weight:700;cursor:pointer;min-height:48px;padding-block:10px}
.prose details p{margin-top:15px}
@media(min-width:600px){
  .playground-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wrap{width:min(1280px,calc(100% - 80px))}
  .hero-photo{height:440px}
  .hero-copy{max-width:760px}
  .header-give{display:inline-flex}
  .brand-logo{width:64px;height:64px;flex-basis:64px}
  .brand-name{font-size:30px}
  .investment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .investment-photo{height:auto}
  .giving-card{max-width:530px;width:100%}
  .campaign-goal{font-size:72px}
  .footer-bottom{grid-template-columns:1.5fr 1fr;gap:40px}
}
@media(min-width:1000px){
  html{scroll-padding-bottom:25px}
  .wrap{width:min(1280px,calc(100% - 112px))}
  .section{padding-block:104px}
  .header-inner{display:flex;min-height:100px;gap:16px}
  .header-inner .brand-logo{width:56px;height:56px;flex-basis:56px}
  .header-inner .brand-name{font-size:26px}
  .header-give{font-size:16px;white-space:nowrap;gap:12px;padding:12px 16px;flex-shrink:0}
  .desktop-nav{display:flex;gap:16px}
  .menu-toggle{display:none}
  .hero{padding:64px 0 48px}
  .hero-grid{grid-template-columns:1.12fr 1fr;gap:55px}
  h1{font-size:clamp(58px,5vw,80px)}
  .hero-photo{height:620px}
  .hero-intro{font-size:22px;max-width:550px}
  .hero-copy .button{margin-top:32px}
  .hero-media figcaption{font-size:16px}
  .need-grid{grid-template-columns:1.2fr 1fr;gap:85px}
  .county-data{grid-template-columns:1fr 1.3fr;gap:70px;margin-top:70px;padding-top:60px;align-items:center}
  .readiness-number{font-size:112px}.readiness-chart{padding:38px}
  .community-stat{padding:38px}
  .stat-value{font-size:120px}
  .program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:54px}
  .tuition-plan{grid-template-columns:1fr 1.25fr;gap:55px;padding:38px;margin-top:50px;align-items:center}
  .section-heading{grid-template-columns:1.2fr 1fr;gap:85px;align-items:end;margin-bottom:45px}
  .investment-photo{height:auto}
  .final-ask{padding-block:85px}
  .final-grid{grid-template-columns:1.25fr 1fr;gap:80px}
  .giving-card{padding:36px;justify-self:end}
  .campaign-goal{font-size:72px}
  .business-grid{grid-template-columns:1.2fr 1fr;gap:85px}
  .business-contact{justify-self:end}
  .updates{padding-block:60px}
  .updates-grid{flex-wrap:nowrap}
  .updates h2{font-size:42px}
  .site-footer{padding-bottom:42px}
  .footer-top nav{width:auto;margin-left:auto}
  .mobile-give{display:none}
}
@media(max-width:374px){
  .wrap{width:calc(100% - 36px)}
  .header-inner{gap:10px}
  .brand{gap:8px}
  .brand-logo{width:44px;height:44px;flex-basis:44px}
  .brand-name{font-size:23px}
  .brand-sub{font-size:16px}
  .menu-toggle{width:44px;height:44px;flex-basis:44px}
  h1{font-size:42px}
  h2{font-size:34px}
  .hero .button{font-size:17px;padding-inline:16px;gap:15px}
  .stat-value{font-size:85px}
  .readiness-number{font-size:76px}
  .community-stat,.giving-card,.tuition-plan{padding:24px}
  .giving-card .button{padding-inline:12px;gap:12px;font-size:17px}
  .campaign-goal{font-size:52px}
  .footer-logo{width:48px;height:48px;flex-basis:48px}
  .footer-name{font-size:26px}
  .mobile-give{padding-inline:18px}
  .mobile-give>div>span{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.mobile-give,.skip-link{display:none!important}.hero,.final-ask,.site-footer{background:#fff;color:#102b4e}.hero p,.hero h1 em,.site-footer p{color:#102b4e}.section,.hero,.final-ask{padding-block:30px}.site-footer{padding-bottom:0}.hero-photo{height:250px}}
