
:root{--bg:#fafaf9;--white:#ffffff;--text:#0f172a;--muted:#64748b;--line:#e7e5e4;--soft:#f5f5f4;--green:#047857;--green-soft:#ecfdf5;--dark:#0f172a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
img,svg{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.brand{font-size:22px;font-weight:700;letter-spacing:-.02em}
.subtitle{font-size:14px;color:var(--muted)}
.main-nav{display:flex;gap:24px;font-size:14px;color:#334155}
.main-nav a:hover{color:#0f172a}
.section{padding:110px 0}
.section-border{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.alt-bg{background:rgba(245,245,244,.6)}
.hero{background:#fff;border-bottom:1px solid var(--line)}
.hero-grid,.support-grid,.locations-grid,.impact-grid{display:grid;gap:40px;align-items:center}
.hero-grid{grid-template-columns:.9fr 1.1fr}
.support-grid{grid-template-columns:1fr 1fr}
.locations-grid{grid-template-columns:.95fr 1.05fr;align-items:start}
.impact-grid{grid-template-columns:1fr .95fr}
.hero-copy h1,.section h2{margin:0;letter-spacing:-.03em;line-height:1.05}
.hero-copy h1{font-size:56px;max-width:760px}
.section h2{font-size:40px}
.hero-copy p,.section-intro p,.lead{font-size:20px;color:var(--muted);margin-top:18px}
.eyebrow,.eyebrow-pill{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.2em}
.eyebrow{color:#335299;margin-bottom:12px}
.eyebrow-pill{display:inline-flex;border:1px solid #335299;background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:8px 12px;margin-bottom:18px}
.impact-eyebrow{color:#6ee7b7}
.button-row,.cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:18px;font-size:14px;font-weight:700;transition:.2s ease}
.btn-dark{background:#335299;color:#fff}
.btn-dark:hover{opacity:.9}
.btn-light{background:#fff;border:1px solid #d6d3d1}
.btn-light:hover{background:#fafaf9}
.btn-soft{background:#f5f5f4}
.btn-soft:hover{background:#e7e5e4}
.visual-frame{overflow:hidden;border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.06)}
.visual-frame-dark{border-color:rgba(255,255,255,.12);background:#0f172a}
.visual{width:100%;height:100%}
.hero-visual{padding:24px;background:linear-gradient(135deg,#f5f5f4 0%,#e7e5e4 45%,#d6d3d1 100%)}
.edu-visual{padding:16px;background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 45%,#e0f2fe 100%)}
.support-visual{padding:16px;background:linear-gradient(135deg,#f8fafc 0%,#ecfeff 40%,#eef2ff 100%)}
.workforce-visual{padding:16px;background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 45%,#ecfccb 100%)}
.workforce-dark-visual{padding:16px;background:linear-gradient(135deg,#0f172a 0%,#1e293b 45%,#334155 100%)}
.large{padding:28px}
.section-intro{max-width:760px;margin-bottom:36px}
.card-grid{display:grid;gap:24px}
.four-up{grid-template-columns:repeat(4,1fr)}
.card,.step-card,.location-card,.highlight-card{border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 4px 18px rgba(15,23,42,.05)}
.card{overflow:hidden}
.card-visual{aspect-ratio:4/3;background:#f5f5f4}
.card-body{padding:24px}
.card h3,.step-card h3,.location-card h3{margin:0;font-size:24px}
.card p,.step-card p,.location-card p{color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.8}
.steps-grid .step-card{background:var(--soft);box-shadow:none;padding:24px}
.step-num{color:var(--green);font-size:14px;font-weight:700}
.highlight-grid{margin-top:28px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.highlight-card{padding:16px;font-size:15px;color:#334155}
.location-list{display:grid;gap:20px;margin-top:28px}
.location-card{padding:24px}
.location-link{color:var(--green);font-size:14px;font-weight:700;margin-top:16px}
.impact-section{background:#335299;color:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.impact-copy{color:#cbd5e1;font-size:20px;line-height:1.8;margin-top:18px;max-width:760px}
.cta-box{display:grid;grid-template-columns:1fr .9fr;gap:32px;align-items:center;border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:0 4px 18px rgba(15,23,42,.05);padding:36px}
@media (max-width:1100px){.four-up{grid-template-columns:repeat(2,1fr)}.hero-grid,.support-grid,.locations-grid,.impact-grid,.cta-box{grid-template-columns:1fr}}
@media (max-width:760px){.container{width:min(100% - 32px,1180px)}.main-nav{display:none}.section{padding:64px 0}.hero-copy h1{font-size:40px}.section h2{font-size:32px}.hero-copy p,.section-intro p,.lead,.impact-copy{font-size:18px}.four-up,.highlight-grid{grid-template-columns:1fr}.cta-actions{flex-direction:column}}
.site-footer {
  background: #0f172a;
  color: #ffffff;
  margin-top: 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px;
  padding: 56px 0;
}

.footer-brand h3,
.footer-column h4 {
  margin: 0 0 16px 0;
}

.footer-brand h3 {
  font-size: 24px;
}

.footer-column h4 {
  font-size: 16px;
  color: #86efac;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.footer-brand p,
.footer-column p,
.footer-column li,
.footer-bottom p {
  color: #cbd5e1;
  font-size: 15px;
  line-height: 1.8;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-column a {
  color: #cbd5e1;
  text-decoration: none;
}

.footer-column a:hover {
  color: #ffffff;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-bottom-inner {
    flex-direction: column;
  }
}
