
:root {
  --navy:#102b46;
  --navy2:#0b2034;
  --rust:#a94722;
  --gold:#d89622;
  --cream:#fffaf0;
  --soft:#f7f2e9;
  --green:#496b35;
  --ink:#1f2933;
  --muted:#526173;
  --line:#eadcc7;
  --white:#ffffff;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
}
header {
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,250,240,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px);
}
.nav {
  max-width:1220px;
  margin:auto;
  padding:16px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--navy);
  font-weight:bold;
  font-size:22px;
}
.brand img {
  width:56px;
  height:56px;
  object-fit:contain;
  border-radius:14px;
  background:white;
  border:1px solid var(--line);
}
.brand span {
  color:var(--rust);
  font-style:italic;
}
nav a {
  color:var(--navy);
  text-decoration:none;
  font-weight:bold;
  margin-left:14px;
  font-size:15px;
}
nav a:hover { color:var(--rust); }
.hero {
  max-width:1220px;
  margin:auto;
  padding:62px 24px 76px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:44px;
  align-items:center;
}
.hero-copy h1 {
  color:var(--navy);
  font-size:60px;
  line-height:1.05;
  margin:0 0 16px;
}
.hero-copy h1 em {
  color:var(--rust);
  font-style:italic;
}
.lead {
  font-size:22px;
  color:#34465a;
  margin-bottom:24px;
}
.badges span {
  display:inline-block;
  padding:8px 14px;
  margin:5px 6px 5px 0;
  background:white;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--navy);
  font-weight:bold;
}
.cta-row {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}
.btn {
  display:inline-block;
  padding:14px 22px;
  border-radius:999px;
  border:2px solid var(--rust);
  text-decoration:none;
  font-weight:bold;
  cursor:pointer;
}
.btn.primary { background:var(--rust); color:white; }
.btn.secondary { background:white; color:var(--rust); }
.btn.gold { background:var(--gold); border-color:var(--gold); color:#fff; }
.logo-card {
  background:white;
  border:1px solid var(--line);
  border-radius:30px;
  padding:28px;
  box-shadow:0 18px 50px rgba(16,43,70,.14);
  text-align:center;
}
.logo-card img {
  width:100%;
  max-width:520px;
  margin:auto;
  display:block;
}
.logo-card h2 {
  color:var(--navy);
  margin:16px 0 4px;
}
.logo-card p {
  color:var(--rust);
  font-weight:bold;
}
section {
  padding:74px 24px;
}
.section-inner {
  max-width:1220px;
  margin:auto;
}
.section-title {
  text-align:center;
  max-width:880px;
  margin:0 auto 44px;
}
.section-title h2 {
  color:var(--navy);
  font-size:42px;
  margin:0 0 12px;
}
.section-title p {
  color:var(--muted);
  font-size:19px;
}
.alt { background:var(--soft); }
.cards {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:22px;
}
.card {
  background:white;
  border:1px solid var(--line);
  border-radius:20px;
  padding:28px;
  box-shadow:0 10px 25px rgba(16,43,70,.06);
}
.card h3 {
  color:var(--rust);
  margin-top:0;
  font-size:24px;
}
.icon { font-size:36px; margin-bottom:12px; }
.story-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:start;
}
.quote {
  background:var(--navy);
  color:white;
  padding:38px;
  border-radius:26px;
  font-size:25px;
  line-height:1.45;
}
.quote span {
  display:block;
  color:#f7d58f;
  margin-top:16px;
  font-size:16px;
}
.values {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
  margin-top:20px;
}
.value {
  background:white;
  border:1px solid var(--line);
  padding:16px;
  border-radius:16px;
  text-align:center;
  font-weight:bold;
  color:var(--navy);
}
.people {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
}
.person {
  background:white;
  border:1px solid var(--line);
  border-radius:20px;
  padding:24px;
}
.person h3 {
  color:var(--navy);
  margin:0 0 6px;
}
.role {
  color:var(--rust);
  font-weight:bold;
}
.timeline {
  max-width:900px;
  margin:auto;
}
.step {
  display:grid;
  grid-template-columns:76px 1fr;
  gap:20px;
  margin-bottom:22px;
}
.num {
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--gold);
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:bold;
}
.stepbox {
  background:white;
  padding:24px;
  border-radius:18px;
  border:1px solid var(--line);
}
.brand-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:center;
}
.brand-preview {
  background:white;
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  box-shadow:0 12px 28px rgba(16,43,70,.08);
  text-align:center;
}
.brand-preview img {
  max-width:420px;
  width:100%;
}
table {
  width:100%;
  border-collapse:collapse;
  background:white;
  overflow:hidden;
  border-radius:16px;
}
th,td {
  border:1px solid var(--line);
  padding:12px;
  text-align:left;
  vertical-align:top;
}
th {
  color:var(--navy);
  background:#fff6e6;
}
.notice {
  background:#fff7df;
  border-left:6px solid var(--gold);
  padding:20px;
  border-radius:12px;
  margin-top:28px;
}
.status {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.status-card {
  background:white;
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
}
.status-card strong {
  color:var(--green);
}
.contact {
  background:var(--navy);
  color:white;
  border-radius:30px;
  padding:46px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.contact h2,.contact h3 { color:white; }
.contact a { color:#f7d58f; }
input,textarea,select {
  width:100%;
  padding:14px;
  margin-bottom:12px;
  border-radius:10px;
  border:1px solid #d8c8ae;
  font-size:16px;
}
textarea { min-height:120px; }
footer {
  background:var(--navy2);
  color:white;
  text-align:center;
  padding:38px 24px;
}
footer a {
  color:#f7d58f;
  margin:0 8px;
}
.small {
  color:#d3d8de;
  font-size:13px;
}
@media(max-width:900px) {
  .hero,.story-grid,.brand-grid,.contact {
    grid-template-columns:1fr;
  }
  .hero-copy h1 {
    font-size:42px;
  }
  nav a {
    display:inline-block;
    margin:6px;
  }
}

.progress-wrap{max-width:980px;margin:0 auto}
.progress-line{position:relative;margin:30px 0;padding-left:34px;border-left:4px solid var(--line)}
.progress-item{position:relative;background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin:18px 0;box-shadow:0 8px 22px rgba(16,43,70,.05)}
.progress-item:before{content:"";position:absolute;left:-47px;top:24px;width:22px;height:22px;border-radius:50%;background:var(--gold);border:4px solid var(--cream)}
.progress-item.done:before{background:var(--green)}
.progress-item.current:before{background:var(--gold)}
.progress-item.future:before{background:#cbd5e1}
.progress-item strong{color:var(--navy);font-size:20px}
.progress-date{color:var(--rust);font-weight:bold}
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.news-card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 10px 25px rgba(16,43,70,.06)}
.news-card h3{color:var(--rust);margin-top:0}
.news-ticker{display:block!important;flex:none;position:sticky;top:0;z-index:26;background:var(--navy);color:white;overflow:hidden;border-top:4px solid var(--gold);border-bottom:4px solid var(--gold);font-size:22px;font-weight:800;letter-spacing:.015em;box-shadow:0 5px 14px rgba(16,43,70,.14);pointer-events:none}
.news-ticker-track{display:flex;width:max-content;animation:savera-news-scroll 38s linear infinite;will-change:transform}
.news-ticker-track span{display:block;padding:20px 75px;white-space:nowrap}
@keyframes savera-news-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.content-pane{display:flex;flex-direction:column}
.content-pane>.news-ticker{order:0}
.content-pane>#home{order:1}
.content-pane>#programs{order:2}
.content-pane>#coaches{order:3}
.content-pane>#leadership{order:4}
.content-pane>#volunteer{order:5}
.content-pane>#news{order:6}
.content-pane>#brand{order:7}
.content-pane>#journey{order:8}
.content-pane>#donate{order:9}
.content-pane>#contact{order:10}
.content-pane>#status{display:none}
.content-pane>#journey{display:none}
.donate-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);gap:42px;align-items:center;background:#fff8df;border:1px solid #dfc477;border-radius:26px;padding:38px;box-shadow:0 12px 30px rgba(16,43,70,.07)}
.donate-card h3{color:var(--rust);font-size:28px;margin:0 0 12px}
.donate-card p{color:#526579;line-height:1.7}
.zelle-qr{width:100%;max-width:360px;margin:auto;display:block;border-radius:18px;background:white;padding:14px}
.donation-note{font-size:13px}
.matching-note{margin:22px 0 18px;padding:18px 20px;background:white;border:1px solid #dfc477;border-left:6px solid var(--gold);border-radius:16px;color:#526579}
.matching-note strong{display:block;margin-bottom:5px;color:var(--navy);font-size:18px}
.matching-note .benevity-label{display:inline-block;margin-bottom:8px;padding:4px 9px;border-radius:999px;background:#e9f5e9;color:#267036;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.benevity-brand{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.benevity-logo{display:block;width:180px;max-width:48%;height:auto;border-radius:8px}
.benevity-brand span{color:#267036;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.third-party-note{display:block;margin-top:10px;color:#74808c;font-size:10px;line-height:1.45}
@media(max-width:760px){.donate-card{grid-template-columns:1fr;padding:25px}.news-ticker{font-size:18px}.news-ticker-track{animation-duration:25s}.news-ticker-track span{padding:17px 45px}}
@media(prefers-reduced-motion:reduce){.news-ticker-track{animation:savera-news-scroll 55s linear infinite}}
.form-note{background:#fff7df;border-left:6px solid var(--gold);padding:14px;border-radius:12px;margin:12px 0 18px;color:#102b46}



.journey-intro{
  max-width:820px;
  margin:0 auto 22px;
  text-align:center;
  font-size:18px;
  color:var(--muted);
}
.journey-highlight{
  max-width:900px;
  margin:0 auto 26px;
  background:linear-gradient(135deg,var(--navy),#173f64);
  color:white;
  border-radius:18px;
  padding:20px 24px;
  font-size:17px;
  line-height:1.55;
  box-shadow:0 10px 24px rgba(16,43,70,.10);
}
.journey-highlight strong{color:#f7d58f}

.roadmap{
  position:relative;
  max-width:1040px;
  margin:8px auto 0;
  padding:18px 8px 8px;
}
.roadmap:before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:50%;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#d89622,#e36b3d,#4f8f57,#4f78b8,#9b5fb5,#d89622);
  opacity:.28;
  transform:translateY(-50%);
}
.roadmap-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  align-items:center;
}
.map-stop{
  position:relative;
  min-height:168px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.map-stop:nth-child(even){justify-content:flex-end;padding-top:64px}
.map-stop:nth-child(odd){justify-content:flex-start;padding-bottom:64px}
.map-node{
  width:54px;
  height:54px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-size:22px;
  font-weight:bold;
  border:5px solid var(--cream);
  box-shadow:0 6px 18px rgba(16,43,70,.18);
  z-index:2;
  flex:0 0 auto;
}
.map-card{
  width:100%;
  background:white;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 10px;
  box-shadow:0 7px 18px rgba(16,43,70,.055);
  font-size:14px;
  line-height:1.4;
}
.map-card h3{
  margin:0 0 5px;
  color:var(--navy);
  font-size:17px;
  line-height:1.2;
}
.map-card p{margin:0;color:var(--muted)}
.map-date{
  display:block;
  color:var(--rust);
  font-weight:bold;
  font-size:13px;
  margin-bottom:4px;
}
.map-stop:nth-child(1) .map-node{background:#d89622}
.map-stop:nth-child(2) .map-node{background:#e36b3d}
.map-stop:nth-child(3) .map-node{background:#4f8f57}
.map-stop:nth-child(4) .map-node{background:#4f78b8}
.map-stop:nth-child(5) .map-node{background:#9b5fb5}
.map-stop:nth-child(6) .map-node{background:#a94722}

.journey-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
  max-width:900px;
  margin:24px auto 0;
}
.journey-stat{
  background:white;
  border:1px solid var(--line);
  border-radius:13px;
  padding:14px 10px;
  text-align:center;
  box-shadow:0 6px 16px rgba(16,43,70,.045);
  font-size:14px;
}
.journey-stat .big{
  display:block;
  color:var(--rust);
  font-size:25px;
  font-weight:bold;
  line-height:1.1;
  margin-bottom:3px;
}
.journey-closing{
  max-width:820px;
  margin:24px auto 0;
  text-align:center;
  color:var(--navy);
  font-size:19px;
  font-weight:bold;
  font-style:italic;
}
@media(max-width:900px){
  .roadmap:before{display:none}
  .roadmap-grid{grid-template-columns:1fr 1fr}
  .map-stop,.map-stop:nth-child(even),.map-stop:nth-child(odd){
    min-height:auto;
    padding:0;
    justify-content:flex-start;
  }
  .map-node{margin-bottom:8px}
}
@media(max-width:560px){
  .roadmap-grid{grid-template-columns:1fr}
  .map-stop{display:grid;grid-template-columns:56px 1fr;gap:10px;text-align:left;align-items:start}
  .map-node{margin:0}
}

.join-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  max-width:1100px;
  margin:0 auto;
}
.join-card{
  background:white;
  border:1px solid var(--line);
  border-radius:15px;
  padding:17px 14px;
  text-align:center;
  box-shadow:0 7px 18px rgba(16,43,70,.05);
}
.join-card .join-icon{
  font-size:28px;
  line-height:1;
  margin-bottom:8px;
}
.join-card h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:18px;
}
.join-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}
.join-cta{
  max-width:920px;
  margin:22px auto 0;
  padding:20px 22px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--navy),#173f64);
  color:white;
  text-align:center;
}
.join-cta h3{
  margin:0 0 7px;
  color:white;
  font-size:24px;
}
.join-cta p{
  margin:0 auto 14px;
  max-width:760px;
  color:#edf4f8;
}
.join-cta .btn{
  margin:3px 5px;
}
.join-tax{
  max-width:920px;
  margin:14px auto 0;
  font-size:13px;
  line-height:1.5;
  text-align:center;
  color:var(--muted);
}
@media(max-width:980px){
  .join-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
  .join-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:440px){
  .join-grid{grid-template-columns:1fr}
}


/* ===== Savera Flagship V5 typography and impact refinements ===== */
:root{
  --sunrise:#e98247;
  --coral:#d9655b;
  --sage:#6f9275;
  --sky:#5c83b6;
  --violet:#8d6aa8;
}
body{
  font-family:'Avenir Next','Segoe UI',Inter,Helvetica,Arial,sans-serif;
  letter-spacing:-0.005em;
}
h1,h2,h3,h4,.brand-name,.hero-title{
  font-family:'Avenir Next','Segoe UI',Inter,Helvetica,Arial,sans-serif;
  letter-spacing:-0.028em;
}
h1,h2{font-weight:750}
h3{font-weight:700}
p,li,input,select,textarea,button{font-weight:400}

.impact-band{
  max-width:1120px;
  margin:28px auto 0;
  padding:0 8px;
}
.impact-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 18px;
}
.impact-heading h3{
  margin:0 0 6px;
  color:var(--navy);
  font-size:29px;
}
.impact-heading p{
  margin:0;
  color:var(--muted);
}
.impact-grid-v5{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:11px;
}
.impact-card-v5{
  position:relative;
  overflow:hidden;
  min-height:144px;
  border-radius:17px;
  padding:18px 14px 15px;
  background:white;
  border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(16,43,70,.055);
  text-align:center;
}
.impact-card-v5:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:var(--sunrise);
}
.impact-card-v5:nth-child(2):before{background:var(--sky)}
.impact-card-v5:nth-child(3):before{background:var(--coral)}
.impact-card-v5:nth-child(4):before{background:var(--sage)}
.impact-card-v5:nth-child(5):before{background:var(--violet)}
.impact-icon-v5{font-size:27px;margin:3px 0 6px}
.impact-number-v5{
  display:block;
  color:var(--navy);
  font-size:30px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.04em;
  margin-bottom:5px;
}
.impact-label-v5{
  color:var(--navy);
  font-weight:700;
  font-size:14px;
}
.impact-detail-v5{
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.roadmap-grid{gap:9px}
.map-card{padding:10px 9px;min-height:126px}
.map-card h3{font-size:16px}
.map-card p{font-size:13px;line-height:1.35}
.map-node{width:50px;height:50px;font-size:20px}
.journey-highlight{font-size:16px;padding:18px 22px}
.journey-closing{font-size:18px}
.join-card{padding:15px 12px}
.section-title p{max-width:780px;margin-left:auto;margin-right:auto}

@media(max-width:980px){
  .impact-grid-v5{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:650px){
  .impact-grid-v5{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .impact-grid-v5{grid-template-columns:1fr}
}


/* ===== Light Bold Typography Refinement ===== */
body{
  font-weight:500 !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
p,li,span,label,input,select,textarea,button,a{
  font-weight:500 !important;
}
small,.impact-detail-v5,.map-card p,.join-card p,.section-title p{
  font-weight:500 !important;
}
h1,h2{
  font-weight:700 !important;
}
h3,h4{
  font-weight:650 !important;
}
strong,b{
  font-weight:700 !important;
}
.impact-number-v5{
  font-weight:700 !important;
}
.btn{
  font-weight:600 !important;
  letter-spacing:.01em;
}


/* ===== Fixed left tabs + independently scrolling right content ===== */
html, body { height:100%; overflow:hidden; }
body { background:var(--cream); }
.site-shell {
  height:100vh;
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
  overflow:hidden;
}
.sidebar {
  position:relative !important;
  inset:auto !important;
  height:100vh;
  z-index:30;
  background:linear-gradient(180deg,var(--navy2),var(--navy));
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  box-shadow:8px 0 28px rgba(16,43,70,.12);
}
.sidebar .nav {
  min-height:100%;
  max-width:none;
  margin:0;
  padding:28px 20px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:22px;
  flex-wrap:nowrap;
}
.sidebar .brand {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-align:center;
  color:white;
  font-size:20px;
  line-height:1.3;
  padding:4px 4px 20px;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.sidebar .brand img {
  width:92px;
  height:92px;
  border-radius:20px;
  border:2px solid rgba(255,255,255,.65);
  box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.sidebar .brand span { color:#f7d58f; }
.side-tabs {
  display:flex;
  flex-direction:column;
  gap:7px;
  width:100%;
}
.side-tabs a {
  display:block;
  margin:0;
  padding:11px 14px;
  border-radius:12px;
  color:#f5f7fa;
  text-decoration:none;
  font-size:14px;
  font-weight:600 !important;
  border:1px solid transparent;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.side-tabs a:hover,
.side-tabs a.active {
  color:white;
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.18);
  transform:translateX(3px);
}
.side-tabs a.active { box-shadow:inset 4px 0 0 var(--gold); }
.content-pane {
  height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
  position:relative;
}
.content-pane section { scroll-margin-top:78px; }
.content-pane .hero { min-height:100vh; }
.menu-toggle { display:none; }

@media(max-width:900px) {
  html, body { overflow:auto; height:auto; }
  .site-shell { display:block; height:auto; overflow:visible; }
  .sidebar {
    position:sticky !important;
    top:0 !important;
    height:auto;
    overflow:visible;
    border-right:0;
    box-shadow:0 6px 20px rgba(16,43,70,.16);
  }
  .sidebar .nav {
    min-height:0;
    padding:10px 14px;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:10px;
  }
  .sidebar .brand {
    flex-direction:row;
    justify-content:flex-start;
    text-align:left;
    border:0;
    padding:0;
    font-size:16px;
  }
  .sidebar .brand img { width:48px; height:48px; border-radius:12px; }
  .menu-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.1);
    color:white;
    font:inherit;
    cursor:pointer;
  }
  .side-tabs {
    display:none;
    grid-column:1 / -1;
    max-height:65vh;
    overflow:auto;
    padding:8px 0 4px;
  }
  .side-tabs.open { display:flex; }
  .side-tabs a { padding:10px 12px; }
  .content-pane { height:auto; overflow:visible; }
  .content-pane .hero { min-height:auto; }
  .news-ticker { top:69px; }
  .content-pane section { scroll-margin-top:145px; }
}


/* ===== V17 mobile Sections dropdown repair ===== */
@media(max-width:900px) {
  .menu-toggle {
    gap:7px;
    min-height:44px;
    white-space:nowrap;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .menu-chevron {
    display:inline-block;
    transition:transform .2s ease;
  }
  .menu-toggle[aria-expanded="true"] .menu-chevron { transform:rotate(180deg); }
  .side-tabs.open {
    display:flex !important;
    visibility:visible;
    opacity:1;
    background:rgba(6,27,45,.98);
    border-top:1px solid rgba(255,255,255,.16);
    border-radius:0 0 14px 14px;
    padding:10px 8px 12px;
    box-shadow:0 14px 24px rgba(0,0,0,.18);
  }
  .side-tabs.open a {
    display:block;
    width:100%;
    min-height:44px;
    padding:12px 14px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .side-tabs.open a:last-child { border-bottom:0; }
}

/* ===== V15: journey centerpiece + focused vision/mission ===== */
#journey {
  background:linear-gradient(180deg,#fffaf0 0%,#f7f2e9 52%,#fffaf0 100%);
  padding-top:84px;
  padding-bottom:84px;
}
#journey .section-title h2 {
  font-size:48px;
}
#journey .section-title p {
  font-size:21px;
}
#journey .journey-highlight {
  max-width:1000px;
  font-size:19px;
  border:1px solid rgba(255,255,255,.24);
}
#journey .roadmap {
  max-width:1180px;
  margin-top:28px;
}
#journey .map-card {
  min-height:146px;
  border-width:2px;
}
#journey .map-card h3 {
  font-size:18px;
}
#journey .map-card p {
  font-size:14px;
}
#journey .impact-band {
  margin-top:38px;
}
.mission-focus .section-title {
  margin-bottom:34px;
}
.mission-grid {
  align-items:stretch;
}
.mission-statement {
  background:white;
  border:1px solid var(--line);
  border-radius:24px;
  padding:32px;
  box-shadow:0 10px 24px rgba(16,43,70,.055);
}
.mission-statement h3 {
  color:var(--navy);
  margin:0 0 8px;
  font-size:28px;
}
.mission-statement p {
  font-size:19px;
  margin:0 0 22px;
}
.statement-callout {
  background:#fff7df;
  border-left:6px solid var(--gold);
  color:var(--navy);
  padding:18px 20px;
  border-radius:14px;
  font-size:18px;
  line-height:1.55;
}
@media(max-width:900px){
  #journey .section-title h2{font-size:38px;}
  #journey .journey-highlight{font-size:16px;}
}



/* ===== V16 iPhone / small-screen history repair ===== */
@media (max-width: 700px) {
  body { overflow-x:hidden; }
  section { padding:52px 18px; }
  .section-inner { width:100%; max-width:100%; }
  .section-title { margin-bottom:26px; text-align:left; }
  #journey { padding:52px 16px 58px; }
  #journey .section-title h2 {
    font-size:34px;
    line-height:1.08;
    margin-bottom:10px;
  }
  #journey .section-title p {
    font-size:17px;
    line-height:1.5;
  }
  #journey .journey-highlight {
    margin:0 0 30px;
    padding:20px 18px;
    border-radius:16px;
    font-size:15.5px;
    line-height:1.6;
  }

  #journey .roadmap {
    margin:0;
    padding:0;
    max-width:none;
  }
  #journey .roadmap:before { display:none; }
  #journey .roadmap-grid {
    display:flex;
    flex-direction:column;
    gap:0;
    position:relative;
  }
  #journey .roadmap-grid:before {
    content:"";
    position:absolute;
    left:24px;
    top:25px;
    bottom:25px;
    width:3px;
    border-radius:999px;
    background:linear-gradient(180deg,#d89622,#e36b3d,#4f8f57,#4f78b8,#9b5fb5,#a94722);
    opacity:.42;
  }
  #journey .map-stop,
  #journey .map-stop:nth-child(even),
  #journey .map-stop:nth-child(odd) {
    width:100%;
    min-height:0;
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    gap:13px;
    align-items:start;
    text-align:left;
    padding:0 0 20px;
    position:relative;
  }
  #journey .map-stop:last-child { padding-bottom:0; }
  #journey .map-node {
    grid-column:1;
    grid-row:1;
    width:48px;
    height:48px;
    margin:0;
    border-width:4px;
    border-color:var(--cream);
    font-size:19px;
    z-index:2;
  }
  #journey .map-card {
    grid-column:2;
    grid-row:1;
    width:100%;
    min-height:0;
    margin:0;
    padding:16px 15px;
    border-width:1px;
    border-radius:15px;
    box-shadow:0 7px 18px rgba(16,43,70,.07);
  }
  #journey .map-card h3 {
    font-size:19px;
    line-height:1.24;
    margin-bottom:7px;
  }
  #journey .map-card p {
    font-size:14.5px;
    line-height:1.52;
  }
  #journey .map-date {
    font-size:13px;
    margin-bottom:5px;
  }

  #journey .impact-band { margin-top:34px; padding:0; }
  #journey .impact-heading { text-align:left; margin-bottom:16px; }
  #journey .impact-heading h3 { font-size:25px; line-height:1.15; }
  #journey .impact-heading p { font-size:15px; line-height:1.5; }
  #journey .impact-grid-v5 {
    grid-template-columns:1fr;
    gap:11px;
  }
  #journey .impact-card-v5 {
    min-height:0;
    display:grid;
    grid-template-columns:42px 94px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:10px;
    align-items:center;
    text-align:left;
    padding:17px 14px 15px;
  }
  #journey .impact-icon-v5 {
    grid-column:1;
    grid-row:1 / 3;
    margin:0;
    font-size:27px;
    text-align:center;
  }
  #journey .impact-number-v5 {
    grid-column:2;
    grid-row:1 / 3;
    margin:0;
    font-size:27px;
  }
  #journey .impact-label-v5 {
    grid-column:3;
    grid-row:1;
    font-size:14px;
  }
  #journey .impact-detail-v5 {
    grid-column:3;
    grid-row:2;
    margin-top:2px;
    font-size:12px;
  }
  #journey .journey-closing {
    margin-top:25px;
    font-size:17px;
    line-height:1.5;
  }
}

@media (max-width: 390px) {
  .sidebar .brand { font-size:14px; }
  .sidebar .brand img { width:42px; height:42px; }
  #journey { padding-left:13px; padding-right:13px; }
  #journey .section-title h2 { font-size:31px; }
  #journey .map-stop,
  #journey .map-stop:nth-child(even),
  #journey .map-stop:nth-child(odd) {
    grid-template-columns:44px minmax(0,1fr);
    gap:10px;
  }
  #journey .roadmap-grid:before { left:21px; }
  #journey .map-node { width:43px; height:43px; font-size:17px; }
  #journey .map-card { padding:14px 13px; }
  #journey .impact-card-v5 {
    grid-template-columns:36px 82px minmax(0,1fr);
    column-gap:8px;
  }
  #journey .impact-number-v5 { font-size:24px; }
}



/* ===== V18 mobile previous / next section navigator ===== */
.mobile-section-nav {
  display:none;
}
@media (max-width:900px) {
  body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .mobile-section-nav {
    position:fixed;
    z-index:60;
    left:12px;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 48px;
    align-items:center;
    gap:8px;
    padding:8px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    background:rgba(11,32,52,.96);
    box-shadow:0 12px 32px rgba(0,0,0,.28);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .mobile-section-nav button {
    min-height:46px;
    border:0;
    border-radius:13px;
    color:white;
    background:rgba(255,255,255,.11);
    font:inherit;
    font-weight:bold;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .mobile-section-nav button:active { transform:scale(.97); }
  .mobile-section-nav .section-step {
    font-size:24px;
    line-height:1;
  }
  .mobile-section-nav .section-step:disabled {
    opacity:.32;
    cursor:default;
  }
  .mobile-section-nav .current-section {
    min-width:0;
    padding:7px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    background:var(--rust);
  }
  .mobile-section-nav .current-section small {
    font-size:10px;
    line-height:1.1;
    text-transform:uppercase;
    letter-spacing:.11em;
    opacity:.82;
  }
  .mobile-section-nav .current-section span {
    display:block;
    width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px;
    line-height:1.2;
  }
  .content-pane section,
  .content-pane .hero {
    scroll-margin-top:145px;
  }
}

/* ===== V19 Student Impact Lab + Get Involved ===== */
.student-launch-title { max-width: 960px; margin-left:auto; margin-right:auto; }
.student-kicker {
  display:inline-block; margin-bottom:12px; padding:7px 12px; border-radius:999px;
  background:linear-gradient(90deg,#6d28d9,#db2777); color:#fff; font-size:.76rem;
  font-weight:900; letter-spacing:.11em;
}
.student-hero {
  display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:stretch;
  margin:30px 0 54px; padding:34px; border-radius:28px; color:#fff;
  background:
    radial-gradient(circle at 12% 15%,rgba(255,255,255,.18),transparent 26%),
    linear-gradient(135deg,#25145c 0%,#6d28d9 52%,#db2777 100%);
  box-shadow:0 24px 60px rgba(63,31,130,.24);
}
.student-hero-copy h3 { color:#fff; font-size:clamp(2rem,4vw,3.6rem); line-height:1.02; margin:14px 0 18px; }
.student-hero-copy p { font-size:1.08rem; line-height:1.75; color:rgba(255,255,255,.92); }
.student-badge {
  display:inline-flex; padding:7px 11px; border:1px solid rgba(255,255,255,.45);
  border-radius:999px; font-size:.72rem; font-weight:900; letter-spacing:.12em;
}
.student-quick-pills { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 26px; }
.student-quick-pills span {
  padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.25); font-size:.82rem; font-weight:800;
}
.student-scorecard {
  align-self:stretch; padding:22px; border-radius:22px; color:#21143f;
  background:rgba(255,255,255,.95); box-shadow:0 16px 40px rgba(20,8,55,.18);
}
.scorecard-top { font-weight:900; letter-spacing:.1em; color:#6d28d9; font-size:.76rem; margin-bottom:12px; }
.score-row {
  display:grid; grid-template-columns:42px 1fr; gap:3px 11px; padding:15px 0;
  border-bottom:1px solid #ece7f8;
}
.score-row:last-child { border-bottom:0; }
.score-row > span { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#f1eafe; color:#6d28d9; font-weight:900; }
.score-row strong { font-size:.98rem; }
.score-row em { font-style:normal; color:#6b6478; font-size:.78rem; line-height:1.4; }
.mini-title { margin-top:18px; }
.mission-track-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:26px 0 50px;
}
.mission-track {
  position:relative; overflow:hidden; padding:24px; border-radius:22px; background:#fff;
  border:1px solid #eadff7; box-shadow:0 10px 30px rgba(54,28,96,.08);
  transition:transform .2s ease,box-shadow .2s ease;
}
.mission-track:hover { transform:translateY(-4px); box-shadow:0 18px 36px rgba(54,28,96,.14); }
.track-icon { font-size:2rem; margin-bottom:13px; }
.track-label { color:#a21caf; font-size:.7rem; letter-spacing:.12em; font-weight:900; }
.mission-track h3 { margin:8px 0 10px; color:#2e1653; }
.mission-track p { color:#615a69; line-height:1.65; }
.track-example { margin-top:16px; padding:12px; border-radius:13px; background:#faf7ff; color:#5c397b; font-size:.82rem; line-height:1.5; border-left:4px solid #a855f7; }
.student-proof {
  display:grid; grid-template-columns:.72fr 1.28fr; gap:28px; align-items:start;
  margin:46px 0; padding:30px; border-radius:24px; background:#171027; color:#fff;
}
.student-proof h3 { color:#fff; font-size:2rem; margin:9px 0 12px; }
.student-proof p { color:#d8d1e6; line-height:1.7; }
.proof-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.proof-grid div { padding:16px; border-radius:16px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.11); }
.proof-grid strong,.proof-grid span { display:block; }
.proof-grid strong { margin-bottom:5px; color:#fff; }
.proof-grid span { color:#d8d1e6; font-size:.8rem; line-height:1.4; }
.level-system { margin:54px 0 42px; }
.level-row { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:nowrap; }
.level-card {
  flex:1; min-width:0; padding:18px 12px; text-align:center; border-radius:18px;
  background:linear-gradient(180deg,#fff,#faf6ff); border:1px solid #eadff7;
}
.level-card span,.level-card strong,.level-card small { display:block; }
.level-card span { font-size:1.8rem; margin-bottom:8px; }
.level-card strong { color:#3d1c6b; }
.level-card small { color:#716878; margin-top:6px; line-height:1.35; }
.level-arrow { color:#a855f7; font-weight:900; font-size:1.35rem; }
.credibility-note {
  margin:30px 0 58px; padding:18px 20px; border-radius:16px;
  background:#fff8e8; color:#5e4918; border:1px solid #f2dca4; line-height:1.6;
}
.general-involvement-title { padding-top:8px; border-top:1px solid #eee4f7; }
.student-join-cta { background:linear-gradient(135deg,#f7efff,#fff0f7); border:1px solid #ead4f6; }

@media (max-width: 900px) {
  .student-hero { grid-template-columns:1fr; padding:22px; border-radius:22px; margin-top:22px; }
  .student-hero-copy h3 { font-size:2.35rem; }
  .mission-track-grid { grid-template-columns:1fr; gap:14px; }
  .student-proof { grid-template-columns:1fr; padding:22px; }
  .proof-grid { grid-template-columns:1fr; }
  .level-row { flex-direction:column; align-items:stretch; }
  .level-card { width:100%; }
  .level-arrow { transform:rotate(90deg); text-align:center; height:20px; }
}

/* ===== V20 CTA Contrast Fix ===== */
.student-join-cta{
 background:linear-gradient(135deg,#5b2a86 0%, #8b2f6b 55%, #b45309 100%) !important;
 color:#ffffff !important;
}
.student-join-cta h3{
 color:#ffffff !important;
 text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.student-join-cta p{
 color:#f8f5ff !important;
}
.student-join-cta .btn{
 background:#ffffff !important;
 color:#6d28d9 !important;
 font-weight:800;
}
.student-join-cta .btn:hover{
 filter:brightness(.95);
}


/* ===== V21 Compact Modern Layout ===== */
:root{
  --compact-radius:18px;
  --compact-shadow:0 8px 24px rgba(31,42,55,.07);
}

.section-inner{padding-top:64px;padding-bottom:64px;}
.section-title{margin-bottom:28px;}
.section-title h2{margin-bottom:8px;}
.compact-heading{max-width:820px;margin-left:auto;margin-right:auto;margin-bottom:24px;}
.compact-heading p{max-width:720px;margin-left:auto;margin-right:auto;}

.compact-mission-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  max-width:980px;
  margin:0 auto 16px;
}
.compact-statement-card{
  background:#fff;
  border:1px solid #ead8bc;
  border-radius:var(--compact-radius);
  padding:22px 24px;
  box-shadow:var(--compact-shadow);
}
.compact-card-label{
  display:inline-block;
  color:#b64b1d;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:8px;
}
.compact-statement-card h3{
  font-size:1.22rem;
  line-height:1.3;
  margin:0 0 9px;
  color:#102f4d;
}
.compact-statement-card p{
  margin:0;
  line-height:1.58;
  color:#455b70;
  font-size:.92rem;
}
.compact-quote-banner{
  display:flex;
  align-items:center;
  gap:18px;
  max-width:980px;
  margin:0 auto 12px;
  padding:17px 22px;
  border-radius:var(--compact-radius);
  background:#123654;
  color:#fff;
}
.compact-quote-banner .quote-mark{
  font-family:Georgia,serif;
  font-size:3.8rem;
  line-height:.7;
  color:#f7c35f;
  flex:0 0 auto;
}
.compact-quote-banner p{
  margin:0 0 4px;
  font-size:1rem;
  line-height:1.45;
  color:#fff;
}
.compact-quote-banner span{
  color:#f7c35f;
  font-size:.78rem;
  font-weight:700;
}
.compact-name-story{
  max-width:980px;
  margin:0 auto;
  padding:12px 16px;
  border-left:4px solid #e7a81f;
  border-radius:10px;
  background:#fff7dc;
  color:#233f56;
  font-size:.88rem;
  line-height:1.5;
}

.program-art{
  display:block;
  width:58px;
  height:58px;
  border-radius:13px;
  background-color:#fffaf0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  border:1px solid #ead8bc;
}
.program-art.piano-art{background-image:url("../images/image-01-54deefb06254.png");}
.program-art.guitar-art{background-image:url("../images/image-02-3624311272b5.png");}
.program-art.hiphop-art{background-image:url("../images/image-03-ad9d5c99a7f3.png");}
.program-art.bharatanatyam-art{background-image:url("../images/image-04-28272f1afeeb.png");}
.compact-program-card summary:has(.program-art){grid-template-columns:58px 1fr 24px;}
.sample-curriculum .program-art{flex:0 0 112px;width:112px;height:112px;border-radius:14px;}
@media (max-width:600px){
  .sample-curriculum .program-art{flex-basis:82px;width:82px;height:82px;}
}

.compact-program-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.compact-program-card{
  background:#fff;
  border:1px solid #ead8bc;
  border-radius:16px;
  box-shadow:var(--compact-shadow);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
.compact-program-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(31,42,55,.1);
}
.compact-program-card summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:38px 1fr 24px;
  align-items:center;
  gap:11px;
  padding:16px 17px;
  min-height:82px;
}
.compact-program-card summary::-webkit-details-marker{display:none;}
.program-icon{font-size:1.55rem;}
.compact-program-card summary strong{
  display:block;
  color:#b34520;
  font-size:.98rem;
  line-height:1.25;
}
.compact-program-card summary small{
  display:block;
  margin-top:4px;
  color:#697783;
  font-size:.72rem;
  line-height:1.3;
}
.expand-mark{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff3df;
  color:#a84723;
  font-size:1rem;
  font-weight:900;
  transition:transform .2s ease;
}
.compact-program-card[open] .expand-mark{transform:rotate(45deg);}
.compact-program-card > p{
  margin:0;
  padding:0 17px 17px 66px;
  color:#455b70;
  font-size:.84rem;
  line-height:1.5;
}
.sample-curricula{
  margin-top:28px;
  padding:25px;
  border:1px solid #e5cfae;
  border-radius:20px;
  background:linear-gradient(135deg,#fff 0%,#fff8e8 100%);
  box-shadow:var(--compact-shadow);
}
.sample-curricula-heading{
  margin-bottom:18px;
  text-align:center;
}
.sample-curricula-heading h3{
  margin:0 0 5px;
  color:#102b46;
  font-size:1.45rem;
}
.sample-curricula-heading p{
  margin:0;
  color:#526173;
  font-size:.92rem;
}
.sample-curricula-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}
.sample-curriculum{
  display:flex;
  align-items:center;
  gap:15px;
  padding:18px;
  border:1px solid #ead8bc;
  border-radius:15px;
  background:#fff;
}
.sample-curriculum-icon{
  display:grid;
  place-items:center;
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff3df;
  font-size:1.45rem;
}
.sample-curriculum-copy{flex:1;min-width:0;}
.sample-curriculum h4{
  margin:0 0 4px;
  color:#a94722;
  font-size:1rem;
  line-height:1.3;
}
.sample-curriculum p{
  margin:0 0 10px;
  color:#526173;
  font-size:.8rem;
  line-height:1.45;
}
.curriculum-download{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:#102b46;
  color:#fff;
  text-decoration:none;
  font-size:.78rem;
  font-weight:700;
}
.curriculum-download:hover{background:#a94722;color:#fff;}

/* Global density improvements */
.card,.person,.join-card,.mission-track,.impact-card-v5{
  padding-top:20px!important;
  padding-bottom:20px!important;
}
.cards,.people,.join-grid,.mission-track-grid{
  gap:14px!important;
}
.card p,.person p,.join-card p,.mission-track p{
  line-height:1.5;
}
.impact-band{padding-top:28px!important;padding-bottom:28px!important;}
.journey-closing{margin-top:24px!important;}

@media (max-width:900px){
  .section-inner{padding-top:48px;padding-bottom:48px;}
  .compact-mission-grid{grid-template-columns:1fr;}
  .compact-program-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:600px){
  .section-inner{padding-top:38px;padding-bottom:38px;}
  .section-title{margin-bottom:20px;}
  .compact-heading h2{font-size:1.8rem;}
  .compact-mission-grid{gap:11px;}
  .compact-statement-card{padding:17px 18px;}
  .compact-statement-card h3{font-size:1.08rem;}
  .compact-quote-banner{align-items:flex-start;padding:15px 16px;gap:10px;}
  .compact-quote-banner .quote-mark{font-size:2.8rem;}
  .compact-program-grid{grid-template-columns:1fr;gap:10px;}
  .compact-program-card summary{min-height:70px;padding:13px 14px;}
  .compact-program-card > p{padding:0 14px 14px 63px;}
  .sample-curricula{padding:18px 14px;}
  .sample-curricula-grid{grid-template-columns:1fr;}
  .sample-curriculum{align-items:flex-start;padding:15px;}
}

/* ===== V22 condensed Journey & Impact ===== */
#journey{padding-top:66px;padding-bottom:66px}
#journey .journey-highlight{margin-bottom:20px}
#journey .condensed-grid{grid-template-columns:repeat(4,1fr)}
#journey .condensed-roadmap{max-width:1080px;margin-top:12px}
#journey .condensed-impact{margin-top:24px}
#journey .condensed-impact .impact-grid-v5{grid-template-columns:repeat(4,1fr);max-width:980px;margin:auto}
#journey .journey-closing{margin-top:20px}
@media(max-width:900px){#journey .condensed-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){#journey .condensed-grid{display:flex;flex-direction:column}#journey .condensed-impact .impact-grid-v5{grid-template-columns:1fr}}


/* ===== V23 unified Journey + Mission + Vision ===== */
#journey.journey-unified{
  padding:76px 24px 80px;
  background:
    radial-gradient(circle at 14% 28%,rgba(216,150,34,.10),transparent 24%),
    radial-gradient(circle at 86% 34%,rgba(233,130,71,.09),transparent 22%),
    linear-gradient(180deg,#fffaf0 0%,#fbf6ed 52%,#fffaf0 100%);
}
.journey-unified-title{margin-bottom:26px}
.journey-unified-title h2{font-size:46px}
.journey-unified-title p{font-size:19px}
.journey-storyboard{
  position:relative;
  display:grid;
  grid-template-columns:minmax(210px,.72fr) minmax(520px,1.9fr) minmax(210px,.72fr);
  gap:20px;
  align-items:stretch;
  max-width:1180px;
  margin:0 auto;
}
.journey-storyboard:before{
  content:"";
  position:absolute;
  left:12%;right:12%;top:52%;height:3px;
  background:linear-gradient(90deg,#d89622,#4f8f57,#4f78b8,#a94722);
  opacity:.32;
  z-index:0;
}
.journey-bookend,.journey-growth-card{
  position:relative;z-index:1;
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 14px 34px rgba(16,43,70,.08);
}
.journey-bookend{
  padding:28px 22px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.journey-symbol{
  width:68px;height:68px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#f3a029,#d66a20);
  color:white;font-size:29px;
  border:7px solid #fff8e9;
  box-shadow:0 8px 20px rgba(169,71,34,.18);
  margin-bottom:13px;
}
.journey-year,.purpose-label{
  display:block;color:var(--rust);font-weight:700!important;letter-spacing:.02em;
}
.journey-bookend h3{margin:5px 0 10px;color:var(--navy);font-size:25px}
.journey-bookend p{margin:0;color:var(--muted);font-size:15px;line-height:1.58}
.journey-growth-card{
  padding:25px 28px 20px;
  overflow:hidden;
  border-color:#b9cde2;
}
.journey-growth-card>.journey-year{text-align:center;color:#285f9d}
.journey-growth-card>h3{
  margin:4px 0 4px;text-align:center;color:var(--navy);
  font-size:38px;line-height:1.05;
}
.growth-chart{position:relative;height:315px;max-width:760px;margin:0 auto}
.growth-curve{position:absolute;inset:22px 0 0;width:100%;height:260px;overflow:visible}
.curve-path{stroke-dasharray:1;stroke-dashoffset:1;animation:drawSaveraCurve 1.7s ease forwards}
@keyframes drawSaveraCurve{to{stroke-dashoffset:0}}
.growth-milestone{
  position:absolute;text-align:center;min-width:110px;
  transform:translate(-50%,-50%);
}
.milestone-icon{
  width:58px;height:58px;margin:0 auto 7px;border-radius:50%;
  display:grid;place-items:center;color:white;font-size:24px;
  border:5px solid white;box-shadow:0 7px 18px rgba(16,43,70,.18);
}
.growth-milestone strong{display:block;color:var(--navy);font-size:24px;line-height:1.05}
.growth-milestone span{display:block;color:var(--navy);font-size:13px;font-weight:650!important;margin-top:3px}
.milestone-concerts{left:14%;top:71%}.milestone-concerts .milestone-icon{background:#2f73b7}
.milestone-students{left:38%;top:62%}.milestone-students .milestone-icon{background:#4f8f57}
.milestone-funds{left:61%;top:48%}.milestone-funds .milestone-icon{background:#df5547}
.milestone-events{left:82%;top:27%}.milestone-events .milestone-icon{background:#7255b7}
.purpose-divider{
  display:flex;align-items:center;gap:18px;max-width:980px;margin:38px auto 22px;
  color:var(--navy);font-size:23px;font-weight:750!important;text-align:center;
}
.purpose-divider:before,.purpose-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}
.purpose-divider:after{background:linear-gradient(90deg,var(--gold),transparent)}
.journey-purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1040px;margin:0 auto}
.purpose-card{
  display:grid;grid-template-columns:66px 1fr;gap:18px;align-items:start;
  background:white;border:1px solid var(--line);border-radius:22px;padding:27px;
  box-shadow:0 10px 25px rgba(16,43,70,.055);
}
.purpose-icon{
  width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  font-size:28px;color:white;background:linear-gradient(145deg,#ef9851,#d75e32);
}
.vision-card .purpose-icon{background:linear-gradient(145deg,#e7ad32,#c36a26)}
.purpose-card h3{margin:4px 0 8px;color:var(--navy);font-size:24px;line-height:1.2}
.purpose-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.58}
.savera-name-line{
  max-width:940px;margin:20px auto 0;padding:17px 22px;text-align:center;
  border-radius:16px;background:#fff7df;border:1px solid #ecd39a;color:var(--navy);font-size:16px;
}
.savera-name-line em{color:var(--rust)}
@media(max-width:1100px){
  .journey-storyboard{grid-template-columns:1fr 2fr 1fr;gap:13px}
  .journey-growth-card{padding-left:16px;padding-right:16px}
  .journey-bookend{padding:22px 15px}
}
@media(max-width:900px){
  .journey-storyboard{grid-template-columns:1fr;max-width:720px}
  .journey-storyboard:before{display:none}
  .journey-bookend{min-height:0}
  .journey-growth-card{order:2}.beginning-card{order:1}.dawn-card{order:3}
  .journey-purpose-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  #journey.journey-unified{padding:52px 16px 60px}
  .journey-unified-title{text-align:left}
  .journey-unified-title h2{font-size:34px}
  .journey-unified-title p{font-size:17px}
  .journey-growth-card>h3{font-size:31px}
  .growth-chart{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 0 4px}
  .growth-curve{display:none}
  .growth-milestone{position:static;transform:none;min-width:0;padding:13px 8px;border-radius:15px;background:#f9f6f0;border:1px solid var(--line)}
  .milestone-icon{width:48px;height:48px;font-size:20px}
  .growth-milestone strong{font-size:21px}
  .purpose-card{grid-template-columns:50px 1fr;padding:21px 18px;gap:13px}
  .purpose-icon{width:48px;height:48px;font-size:22px}
  .purpose-card h3{font-size:21px}
  .purpose-divider{font-size:20px;margin-top:30px}
}
@media(max-width:390px){.growth-chart{grid-template-columns:1fr}.journey-growth-card>h3{font-size:28px}}

/* ===== V24 embedded Journey + Purpose artwork ===== */
.journey-visual-section{
  padding:0;
  background:#fffaf3;
  overflow:hidden;
}
.journey-visual-wrap{
  width:100%;
  max-width:1672px;
  margin:0 auto;
}
.journey-visual-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.journey-mobile{display:none}

@media(max-width:700px){
  .journey-visual-section{
    overflow:visible;
    padding:0;
    background:linear-gradient(180deg,#fffaf3 0%,#fffdf9 100%);
  }
  .journey-visual-wrap{
    width:100%;
    min-width:0;
    max-width:none;
  }
  .journey-visual-image{
    display:none;
  }
  .journey-mobile{
    display:block;
    padding:34px 16px 42px;
    color:#0d2f4f;
  }
  .jm-header{
    text-align:center;
    margin-bottom:24px;
  }
  .jm-sun{
    display:block;
    color:#e87516;
    font-size:25px;
    margin-bottom:4px;
  }
  .jm-header h2{
    margin:0;
    font-size:30px;
    line-height:1.1;
    text-transform:uppercase;
    letter-spacing:.035em;
  }
  .jm-header p{
    max-width:520px;
    margin:12px auto 0;
    color:#53667a;
    font-size:16px;
    line-height:1.55;
  }
  .jm-stage{
    display:grid;
    grid-template-columns:62px 1fr;
    gap:15px;
    align-items:start;
    padding:20px 18px;
    margin:14px 0;
    background:rgba(255,255,255,.9);
    border:1px solid #ecd5b3;
    border-radius:22px;
    box-shadow:0 10px 25px rgba(13,47,79,.07);
  }
  .jm-stage-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(145deg,#ff9500,#dd5708);
    font-size:29px;
    box-shadow:0 7px 16px rgba(224,99,10,.2);
  }
  .jm-year{
    display:block;
    color:#e45d12;
    font-size:15px;
    font-weight:850;
    letter-spacing:.02em;
  }
  .jm-stage h3,.jm-growth h3{
    margin:4px 0 7px;
    font-family:Georgia,"Times New Roman",serif;
    color:#102f50;
    font-size:25px;
    line-height:1.1;
  }
  .jm-stage p{
    margin:0;
    color:#42556a;
    line-height:1.55;
    font-size:15px;
  }
  .jm-growth{
    position:relative;
    overflow:hidden;
    margin:18px 0;
    padding:23px 16px 20px;
    text-align:center;
    background:#fff;
    border:1.5px solid #a9c8e9;
    border-radius:24px;
    box-shadow:0 13px 30px rgba(23,91,154,.09);
  }
  .jm-growth::after{
    content:"↗";
    position:absolute;
    right:12px;
    top:7px;
    color:#1d61a5;
    opacity:.10;
    font-size:90px;
    font-weight:900;
    line-height:1;
  }
  .jm-growth-line{
    width:88px;
    height:3px;
    margin:10px auto 18px;
    border-radius:99px;
    background:#ec741e;
  }
  .jm-metrics{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:11px;
  }
  .jm-metric{
    min-width:0;
    padding:15px 8px 13px;
    border-radius:17px;
    background:#faf7f1;
    border:1px solid #eee2d1;
  }
  .jm-metric-icon{
    width:42px;
    height:42px;
    margin:0 auto 8px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:white;
    font-weight:900;
    font-size:19px;
  }
  .jm-metric-icon.blue{background:#286bb0}
  .jm-metric-icon.green{background:#4b9345;font-size:9px;letter-spacing:-2px}
  .jm-metric-icon.red{background:#df4934}
  .jm-metric-icon.purple{background:#6952b7}
  .jm-metric strong{
    display:block;
    color:#12395f;
    font-size:22px;
    line-height:1.05;
  }
  .jm-metric b{
    display:block;
    margin-top:4px;
    color:#112f50;
    font-size:14px;
    line-height:1.25;
  }
  .jm-metric small{
    display:block;
    margin-top:7px;
    color:#647284;
    font-size:12px;
    line-height:1.35;
  }
  .jm-purpose-title{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin:30px 0 13px;
    color:#102f50;
  }
  .jm-purpose-title span{color:#e76017;font-size:22px}
  .jm-purpose-title h3{
    margin:0;
    font-size:22px;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .jm-purpose-grid{
    display:grid;
    gap:13px;
  }
  .jm-purpose{
    display:grid;
    grid-template-columns:55px 1fr;
    gap:14px;
    align-items:start;
    padding:19px 17px;
    border-radius:21px;
    background:#fff;
    box-shadow:0 9px 22px rgba(13,47,79,.06);
  }
  .jm-purpose.mission{border:1px solid #c7d9ec;background:#f8fbff}
  .jm-purpose.vision{border:1px solid #cfe2c8;background:#fbfff8}
  .jm-purpose-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#286bb0;
    font-size:27px;
    font-weight:800;
  }
  .jm-purpose.vision .jm-purpose-icon{background:#4a9148}
  .jm-purpose h3{
    margin:0 0 7px;
    font-size:20px;
    text-transform:uppercase;
    letter-spacing:.035em;
  }
  .jm-purpose.mission h3{color:#2665a4}
  .jm-purpose.vision h3{color:#438642}
  .jm-purpose p{
    margin:0;
    color:#43556a;
    font-size:14px;
    line-height:1.55;
  }
}

@media(max-width:380px){
  .jm-metrics{grid-template-columns:1fr}
  .jm-header h2{font-size:27px}
}


/* ===== Youth Coaches section ===== */
.coach-intro{max-width:820px;margin:0 auto 30px;text-align:center;color:#526579}
.coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.coach-card{display:grid;grid-template-columns:170px minmax(0,1fr);background:#fff;border:1px solid #dfe7ed;border-radius:20px;overflow:hidden;box-shadow:0 12px 28px rgba(16,43,70,.08)}
.coach-portrait{min-height:250px;display:flex;align-items:center;justify-content:center;position:relative;color:#fff;background:linear-gradient(145deg,var(--rust),#df9a62)}
.coach-portrait img{width:100%;height:100%;min-height:250px;object-fit:cover;object-position:center 28%;display:block}
.coach-card[data-coach="sana"] .coach-portrait{background-image:url("../images/image-05-69c8c6ed155c.jpg");background-size:cover;background-position:center}
.coach-card[data-coach="sana"] .coach-portrait img{visibility:hidden}
.coach-card[data-coach="joshana"] .coach-portrait{background:linear-gradient(145deg,#76537c,#a77ba4)}
.coach-card[data-coach="joshana"] .coach-portrait{background-image:url("../images/image-07-4c0da103d6a3.jpg");background-size:cover;background-position:center}
.coach-card[data-coach="joshana"] .coach-portrait strong,
.coach-card[data-coach="joshana"] .coach-portrait small{display:none}
.coach-card[data-coach="katelyn"] .coach-portrait{background:linear-gradient(145deg,#267f7a,#65aaa0)}
.coach-card[data-coach="katelyn"] .coach-portrait{background-image:url("../images/image-08-ee732c408bd2.jpg");background-size:cover;background-position:center}
.coach-card[data-coach="katelyn"] .coach-portrait img{visibility:hidden}
.coach-card[data-coach="katelyn"] .coach-portrait strong,
.coach-card[data-coach="katelyn"] .coach-portrait small{display:none}
.coach-card[data-coach="prerana"] .coach-portrait{background:linear-gradient(145deg,#4c5fa8,#8293d3)}
.coach-card[data-coach="prerana"] .coach-portrait{background-image:url("../images/image-11-a8c1a42a5c00.jpg");background-size:cover;background-position:center}
.coach-card[data-coach="prerana"] .coach-portrait strong,
.coach-card[data-coach="prerana"] .coach-portrait small{display:none}
.coach-card[data-coach="sahana"] .coach-portrait{background:linear-gradient(145deg,#28779a,#66aec7)}
.coach-card[data-coach="sahana"] .coach-portrait{background-image:url("../images/image-12-02cc115269c9.jpg");background-size:cover;background-position:center}
.coach-card[data-coach="sahana"] .coach-portrait img{visibility:hidden}
.coach-card[data-coach="veera"] .coach-portrait{background:linear-gradient(145deg,#c5672f,#eca257)}
.coach-card[data-coach="veera"] .coach-portrait{background-image:url("../images/image-13-c7754e5750bf.jpg");background-size:cover;background-position:center}
.coach-card[data-coach="veera"] .coach-portrait strong,
.coach-card[data-coach="veera"] .coach-portrait small{display:none}
.coach-portrait strong{font-size:54px;letter-spacing:.04em;opacity:.88}
.coach-portrait small{position:absolute;left:0;right:0;bottom:15px;text-align:center;font-size:10px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.coach-copy{padding:25px}
.coach-copy h3{margin:0 0 3px;color:var(--navy);font-size:26px}
.coach-role{margin:0 0 14px;color:var(--rust);font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.coach-focus{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 15px}
.coach-focus span{padding:6px 9px;border-radius:999px;background:#f5f1e8;color:var(--navy);font-size:11px;font-weight:750}
.coach-copy p:last-child{margin-bottom:0;color:#526579;font-size:14px;line-height:1.65}
.coach-growing{margin-top:22px;padding:24px;border:1px dashed #c6a154;border-radius:18px;background:#fff8df;text-align:center}
.coach-growing h3{margin:0 0 7px;color:var(--navy)}
.coach-growing p{max-width:760px;margin:0 auto 15px;color:#526579}
.coach-safety{margin:24px auto 0;max-width:850px;text-align:center;color:#66788a;font-size:12px}
@media(max-width:980px){.coach-grid{grid-template-columns:1fr}}
@media(max-width:620px){.coach-card{grid-template-columns:1fr}.coach-portrait{min-height:220px}.coach-copy{padding:22px}.coach-copy h3{font-size:23px}}

/* Leadership family portrait */
.leadership-feature{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.55fr);gap:24px;align-items:stretch}
.leadership-photo{margin:0;background:rgba(255,255,255,.72);border:1px solid rgba(16,43,70,.12);border-radius:22px;padding:10px;box-shadow:0 14px 34px rgba(16,43,70,.09);display:flex;flex-direction:column}
.leadership-photo img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover;object-position:center;border-radius:15px;filter:saturate(.9) contrast(.98)}
.leadership-photo figcaption{padding:10px 8px 3px;text-align:center;color:#66788a;font-size:12px;letter-spacing:.02em}
#leadership .leadership-feature .people{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
@media(max-width:980px){.leadership-feature{grid-template-columns:1fr}.leadership-photo img{height:auto;min-height:0;aspect-ratio:16/10}#leadership .leadership-feature .people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#leadership .leadership-feature .people{grid-template-columns:1fr}.leadership-photo{padding:7px;border-radius:18px}.leadership-photo img{border-radius:12px;aspect-ratio:4/3}.leadership-photo figcaption{font-size:11px}}

/* Tighter spacing between the main website sections */
.content-pane .hero{min-height:auto;padding-top:46px;padding-bottom:52px}
.content-pane section:not(.hero){padding-top:44px;padding-bottom:44px}
.content-pane section:not(.hero)>.section-inner{padding-top:20px;padding-bottom:20px}
#journey.journey-unified{padding-top:48px;padding-bottom:48px}
@media(max-width:760px){
  .content-pane .hero{padding-top:30px;padding-bottom:34px}
  .content-pane section:not(.hero){padding-top:32px;padding-bottom:32px}
  .content-pane section:not(.hero)>.section-inner{padding-top:10px;padding-bottom:10px}
  #journey.journey-unified{padding-top:38px;padding-bottom:38px}
}
