/* ============================================
   THE FAMILY ONE — SITE STYLESHEET v6
   Fluid, warm, kinetic — Greater Loudoun County
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:wght@300;400;500;600&family=DM+Serif+Display:ital@0;1&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --navy:#0D3D5C;
  --navy-light:#1A5276;
  --teal:#0E7A8A;
  --teal-light:#12919E;
  --green:#3DAA6A;
  --green-dark:#2d8a56;
  --cream:#F2EDE3;
  --warm-white:#F8F5EF;
  --warm-100:#EDE8DF;
  --text-dark:#0D1B2A;
  --text-mid:#4A5568;
  --text-light:#8A9BB0;
  --border:rgba(13,61,92,0.1);
  --border-warm:rgba(13,61,92,0.08);
  --laws-red:#8B2635;
  --rbf-purple:#5B3A8A;
  --wgb-teal:#1A7A6E;
  --cf-gold:#8A6A1A;
  --shadow-sm:0 2px 12px rgba(13,61,92,0.06);
  --shadow-md:0 8px 32px rgba(13,61,92,0.10);
  --shadow-lg:0 20px 60px rgba(13,61,92,0.14);
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;
  --radius-xl:28px;
  --transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
}

html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--warm-white);
  color:var(--text-dark);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  line-height:1.65;
}
img{max-width:100%;display:block;}
a{text-decoration:none;}

/* ---- SCROLL REVEAL ---- */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity 0.7s cubic-bezier(0.4,0,0.2,1), transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.reveal.revealed{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}
.reveal-delay-2{transition-delay:0.2s;}
.reveal-delay-3{transition-delay:0.3s;}
.reveal-delay-4{transition-delay:0.4s;}

/* ---- CRISIS BAR ---- */
.crisis-bar{
  background:#150508;
  border-bottom:2px solid var(--laws-red);
  padding:0.55rem 3rem;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;
}
.crisis-left{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;}
.crisis-label{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--laws-red);display:flex;align-items:center;gap:5px;white-space:nowrap;}
.crisis-dot{width:6px;height:6px;border-radius:50%;background:var(--laws-red);animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.3;transform:scale(0.8);}}
.crisis-pipe{width:1px;height:14px;background:rgba(255,255,255,0.1);}
.crisis-item{display:flex;flex-direction:column;gap:1px;}
.crisis-org{font-size:10px;color:rgba(255,255,255,0.4);}
.crisis-num{font-size:12px;font-weight:500;color:white;}
.crisis-right{font-size:10px;color:rgba(255,255,255,0.25);white-space:nowrap;}

/* ---- NAV ---- */
nav{
  position:sticky;top:0;z-index:200;
  background:rgba(248,245,239,0.92);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:0 3rem;
  display:flex;align-items:center;justify-content:space-between;height:68px;
  transition:box-shadow 0.3s ease;
}
nav.scrolled{box-shadow:var(--shadow-md);}
.nav-logo{display:flex;align-items:center;}
.nav-links{display:flex;gap:1.75rem;align-items:center;}
.nav-links a{
  font-size:14px;color:var(--text-mid);
  transition:var(--transition);
  position:relative;font-weight:400;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-2px;left:0;right:0;
  height:1.5px;background:var(--teal);
  transform:scaleX(0);transform-origin:right;
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.nav-links a:hover{color:var(--navy);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);transform-origin:left;}
.nav-links a.active{color:var(--navy);font-weight:500;}
.nav-cta{
  background:var(--navy)!important;color:white!important;
  padding:9px 22px;border-radius:100px;
  font-weight:500!important;font-size:14px;
  transition:var(--transition)!important;
  box-shadow:0 4px 14px rgba(13,61,92,0.25);
}
.nav-cta:hover{background:var(--teal)!important;box-shadow:0 6px 20px rgba(14,122,138,0.35);}
.nav-cta::after{display:none!important;}
.nav-hamburger{display:none;font-size:22px;cursor:pointer;color:var(--navy);}
.mobile-nav{
  display:none;flex-direction:column;
  background:white;border-bottom:1px solid var(--border);
  padding:1rem 3rem;
}
.mobile-nav a{font-size:15px;color:var(--text-mid);padding:0.65rem 0;border-bottom:1px solid var(--border);}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav.open{display:flex;}

/* ---- TYPOGRAPHY ---- */
.section-eyebrow{
  font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--teal);margin-bottom:0.65rem;display:flex;align-items:center;gap:8px;
}
.section-eyebrow::before{content:'';width:20px;height:1.5px;background:var(--teal);display:inline-block;}
.section-eyebrow.green{color:var(--green);}
.section-eyebrow.green::before{background:var(--green);}
.section-eyebrow.white{color:rgba(255,255,255,0.6);}
.section-eyebrow.white::before{background:rgba(255,255,255,0.4);}
.section-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,2.8vw,2.6rem);
  font-weight:700;line-height:1.12;
  color:var(--navy);letter-spacing:-0.5px;margin-bottom:1rem;
}
.section-title.white{color:white;}
.section-title.italic{font-style:italic;}
.section-sub{font-size:15px;color:var(--text-mid);line-height:1.8;max-width:580px;margin-bottom:2.5rem;}

/* ---- BUTTONS ---- */
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--navy);color:white;
  padding:13px 28px;border-radius:100px;
  font-size:15px;font-weight:500;
  transition:var(--transition);
  box-shadow:0 4px 16px rgba(13,61,92,0.2);
}
.btn-primary:hover{background:var(--teal);transform:translateY(-2px);box-shadow:0 8px 24px rgba(14,122,138,0.3);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--navy);border:1.5px solid rgba(13,61,92,0.25);
  padding:12px 28px;border-radius:100px;
  font-size:15px;font-weight:500;
  transition:var(--transition);
}
.btn-ghost:hover{border-color:var(--navy);background:rgba(13,61,92,0.04);transform:translateY(-1px);}
.btn-green{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--green);color:white;
  padding:13px 28px;border-radius:100px;
  font-size:15px;font-weight:500;
  transition:var(--transition);
  box-shadow:0 4px 16px rgba(61,170,106,0.3);
}
.btn-green:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(61,170,106,0.4);}
.btn-sm{display:inline-flex;align-items:center;padding:9px 22px;border-radius:100px;font-size:13px;font-weight:500;transition:var(--transition);}
.btn-dark{background:var(--navy);color:white;box-shadow:0 3px 12px rgba(13,61,92,0.2);}
.btn-dark:hover{background:var(--teal);transform:translateY(-1px);}
.btn-outline{border:1.5px solid var(--border);color:var(--navy);}
.btn-outline:hover{border-color:var(--navy);}
.btn-white{
  display:inline-flex;align-items:center;
  background:white;color:var(--navy);
  padding:12px 24px;border-radius:100px;
  font-size:14px;font-weight:500;transition:var(--transition);
}
.btn-white:hover{background:var(--cream);}
.btn-outline-white{
  display:inline-flex;align-items:center;
  border:1.5px solid rgba(255,255,255,0.35);color:white;
  padding:11px 24px;border-radius:100px;
  font-size:14px;font-weight:500;transition:var(--transition);
}
.btn-outline-white:hover{border-color:white;background:rgba(255,255,255,0.08);}

/* ---- HERO ---- */
.hero{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:90vh;align-items:center;
  position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;
  top:-200px;right:-100px;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(14,122,138,0.06) 0%,transparent 70%);
  pointer-events:none;
}
.hero::after{
  content:'';position:absolute;
  bottom:-150px;left:200px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(61,170,106,0.05) 0%,transparent 70%);
  pointer-events:none;
}
.hero-left{padding:5rem 4rem 5rem 3rem;position:relative;z-index:1;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(61,170,106,0.1);
  border:1px solid rgba(61,170,106,0.2);
  padding:6px 14px;border-radius:100px;
  font-size:11px;font-weight:600;color:#2A8550;
  letter-spacing:1px;text-transform:uppercase;margin-bottom:1.75rem;
}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 2s infinite;}
.hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.8rem,4.5vw,4.4rem);
  font-weight:900;line-height:1.06;
  color:var(--navy);letter-spacing:-2px;margin-bottom:1.5rem;
}
.hero h1 em{font-style:italic;color:var(--teal);}
.hero-sub{
  font-size:17px;line-height:1.8;
  color:var(--text-mid);font-weight:300;
  margin-bottom:2.5rem;max-width:460px;
}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.hero-right{
  height:90vh;display:grid;
  grid-template-columns:1fr 1fr;gap:8px;
  background:var(--navy);overflow:hidden;
}
.hero-photo{overflow:hidden;position:relative;}
.hero-photo-tall{grid-row:span 2;}
.hero-photo img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(0.88);
  transition:transform 0.8s cubic-bezier(0.4,0,0.2,1),filter 0.5s ease;
}
.hero-photo:hover img{transform:scale(1.06);filter:brightness(1);}
.hero-photo-overlay{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(13,61,92,0.7));
  padding:1.5rem 1rem 1rem;
  transform:translateY(4px);
  transition:transform 0.3s ease;
}
.hero-photo:hover .hero-photo-overlay{transform:translateY(0);}
.hero-photo-overlay span{font-size:12px;color:rgba(255,255,255,0.9);font-weight:500;letter-spacing:0.5px;}
.hero-photo-col{display:flex;flex-direction:column;gap:8px;}
.hero-photo-col .hero-photo{flex:1;}
.hero-photo-col .hero-photo img{height:100%;}

/* ---- STATS ---- */
.stats-strip{
  background:var(--navy);
  padding:2.75rem 3rem;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  position:relative;overflow:hidden;
}
.stats-strip::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(14,122,138,0.15) 0%,transparent 60%);
}
.stat{text-align:center;position:relative;z-index:1;}
.stat-num{
  font-family:'Playfair Display',serif;
  font-size:2.8rem;font-weight:900;
  color:white;line-height:1;margin-bottom:0.3rem;
}
.stat-num span{color:var(--green);}
.stat-label{font-size:12px;color:rgba(255,255,255,0.5);letter-spacing:0.3px;}

/* ---- SECTION BASE ---- */
section{padding:5.5rem 3rem;}

/* ---- PROGRAMS ---- */
.programs-section{background:var(--cream);padding:5.5rem 3rem;}
.programs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.program-card{
  background:white;border-radius:var(--radius-lg);
  overflow:hidden;border:1px solid var(--border-warm);
  transition:transform 0.4s cubic-bezier(0.4,0,0.2,1),box-shadow 0.4s ease;
  position:relative;
}
.program-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(13,61,92,0.04));
  pointer-events:none;z-index:1;
}
.program-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.program-card-img{width:100%;height:190px;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);}
.program-card:hover .program-card-img{transform:scale(1.05);}
.program-card-img-placeholder{width:100%;height:190px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;}
.p-workforce{background:linear-gradient(135deg,#0D3D5C,#8A6A1A);}
.program-card-ghost{
  border:1.5px dashed rgba(13,61,92,0.18)!important;
  background:transparent!important;
  display:flex;flex-direction:column;justify-content:center;
}
.program-ghost-inner{padding:2rem;text-align:center;}
.program-ghost-icon{font-size:2.5rem;margin-bottom:1rem;}
.program-card-body{padding:1.5rem;position:relative;z-index:2;}
.program-tag{
  display:inline-block;font-size:10px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;
  padding:3px 10px;border-radius:100px;margin-bottom:0.75rem;
}
.tag-mentoring,.tag-arts{background:rgba(61,170,106,0.1);color:#2A8550;}
.tag-steam{background:rgba(14,122,138,0.1);color:var(--teal);}
.tag-film{background:rgba(13,61,92,0.08);color:var(--navy);}
.tag-workforce{background:rgba(138,106,26,0.1);color:#8A6A1A;}
.program-title{font-size:17px;font-weight:600;color:var(--navy);margin-bottom:0.6rem;}
.program-desc{font-size:13px;color:var(--text-mid);line-height:1.75;margin-bottom:1.25rem;}
.program-link{font-size:13px;color:var(--teal);font-weight:500;display:inline-flex;align-items:center;gap:4px;transition:gap 0.2s ease;}
.program-link:hover{gap:8px;}

/* ---- PHOTO STRIP ---- */
.photo-strip{display:grid;grid-template-columns:2fr 1fr 1fr;height:280px;gap:8px;overflow:hidden;}
.strip-photo{overflow:hidden;position:relative;}
.strip-photo img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(0.85);
  transition:transform 0.7s cubic-bezier(0.4,0,0.2,1),filter 0.5s ease;
}
.strip-photo:hover img{transform:scale(1.06);filter:brightness(1);}

/* ---- TESTIMONIALS ---- */
.testimonials-section{padding:5.5rem 3rem;background:white;}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.testimonial-card{
  background:var(--cream);border-radius:var(--radius-lg);
  padding:2rem;border:1px solid var(--border-warm);
  transition:var(--transition);
}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.testimonial-card.featured{background:var(--navy);border-color:var(--navy);}
.quote-mark{
  font-family:'DM Serif Display',serif;
  font-size:4rem;line-height:0.6;color:var(--teal);
  display:block;margin-bottom:1rem;font-weight:400;
}
.testimonial-card.featured .quote-mark{color:rgba(255,255,255,0.15);}
.testimonial-text{font-size:14px;line-height:1.85;color:var(--text-dark);font-style:italic;margin-bottom:1.25rem;}
.testimonial-card.featured .testimonial-text{color:rgba(255,255,255,0.82);}
.testimonial-author{font-size:12px;font-weight:600;color:var(--text-mid);letter-spacing:0.3px;}
.testimonial-card.featured .testimonial-author{color:rgba(255,255,255,0.4);}

/* ---- COUNTDOWN ---- */
.countdown-wrap{
  display:flex;gap:1rem;margin:1.5rem 0 2rem;flex-wrap:wrap;
}
.countdown-unit{
  text-align:center;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius-md);
  padding:0.85rem 1.1rem;
  min-width:70px;
}
.countdown-unit.dark{
  background:rgba(13,61,92,0.06);
  border:1px solid var(--border);
}
.countdown-num{
  font-family:'Playfair Display',serif;
  font-size:2rem;font-weight:900;
  color:white;line-height:1;display:block;
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.countdown-unit.dark .countdown-num{color:var(--navy);}
.countdown-label{font-size:10px;color:rgba(255,255,255,0.45);letter-spacing:1px;text-transform:uppercase;margin-top:4px;display:block;}
.countdown-unit.dark .countdown-label{color:var(--text-mid);}
.countdown-flip .countdown-num{transform:translateY(-2px);}

/* ---- FAMILY FEST ---- */
.family-fest-section{
  background:var(--navy);padding:5.5rem 3rem;
  display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;
  position:relative;overflow:hidden;
}
.family-fest-section::before{
  content:'';position:absolute;
  top:-100px;right:-100px;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(14,122,138,0.15) 0%,transparent 70%);
  pointer-events:none;
}
.fest-desc{font-size:15px;color:rgba(255,255,255,0.65);line-height:1.8;margin-bottom:1.5rem;}
.fest-meta{display:flex;flex-direction:column;gap:0.85rem;margin-bottom:2rem;}
.fest-meta-item{display:flex;align-items:center;gap:12px;}
.fest-icon{
  width:34px;height:34px;border-radius:8px;
  background:rgba(255,255,255,0.07);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;flex-shrink:0;
}
.fest-meta-text{font-size:14px;color:rgba(255,255,255,0.72);}
.fest-visual{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--radius-xl);padding:2.5rem;text-align:center;
  backdrop-filter:blur(10px);
  position:relative;z-index:1;
}
.fest-title-big{
  font-family:'Playfair Display',serif;
  font-size:3.2rem;font-weight:900;color:white;
  line-height:1;margin-bottom:0.25rem;
}
.fest-sub{font-size:13px;color:rgba(255,255,255,0.4);margin-bottom:1.5rem;}
.fest-badge{
  display:inline-block;background:var(--green);color:white;
  padding:7px 20px;border-radius:100px;
  font-size:12px;font-weight:600;margin-bottom:1.75rem;
}
.fest-divider{border:none;border-top:1px solid rgba(255,255,255,0.08);margin-bottom:1.5rem;}
.fest-number{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:900;color:white;}
.fest-number-label{font-size:11px;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:1px;}
.rain-date{font-size:11px;color:rgba(255,255,255,0.4);margin-top:0.5rem;font-style:italic;}

/* ---- BASKETBALL EVENT ---- */
.bball-section{
  background:var(--warm-white);
  padding:5.5rem 3rem;
  position:relative;overflow:hidden;
}
.bball-section::before{
  content:'';position:absolute;
  top:0;right:0;bottom:0;width:40%;
  background:linear-gradient(135deg,var(--navy) 0%,var(--teal) 100%);
  clip-path:polygon(15% 0,100% 0,100% 100%,0% 100%);
}
.bball-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;position:relative;z-index:1;
}
.bball-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(61,170,106,0.1);border:1px solid rgba(61,170,106,0.2);
  padding:5px 14px;border-radius:100px;
  font-size:11px;font-weight:600;color:#2A8550;letter-spacing:1px;text-transform:uppercase;
  margin-bottom:1rem;
}
.bball-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:900;color:var(--navy);
  letter-spacing:-1px;line-height:1.1;margin-bottom:0.75rem;
}
.bball-sub{font-size:15px;color:var(--text-mid);line-height:1.8;margin-bottom:1.5rem;}
.bball-details{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:2rem;}
.bball-detail{display:flex;align-items:center;gap:10px;}
.bball-detail-icon{
  width:32px;height:32px;border-radius:8px;
  background:rgba(13,61,92,0.06);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;
}
.bball-detail-text{font-size:14px;color:var(--text-mid);}
.bball-detail-text strong{color:var(--navy);}
.bball-card{
  background:rgba(255,255,255,0.95);
  border-radius:var(--radius-xl);
  padding:2.5rem;text-align:center;
  box-shadow:var(--shadow-lg);
  border:1px solid rgba(255,255,255,0.8);
}
.bball-icon-big{font-size:4rem;margin-bottom:1rem;display:block;}
.bball-year{
  font-family:'Playfair Display',serif;
  font-size:1rem;font-weight:700;color:var(--teal);
  letter-spacing:2px;text-transform:uppercase;margin-bottom:0.25rem;
}
.bball-event-name{
  font-family:'Playfair Display',serif;
  font-size:1.6rem;font-weight:900;color:var(--navy);
  line-height:1.2;margin-bottom:0.5rem;
}
.bball-venue{font-size:13px;color:var(--text-mid);margin-bottom:1.5rem;}
.bball-divider{border:none;border-top:1px solid var(--border);margin-bottom:1.5rem;}

/* ---- GET INVOLVED ---- */
.get-involved-section{padding:5.5rem 3rem;background:var(--cream);}
.involved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.involved-card{
  border-radius:var(--radius-lg);padding:2rem;
  border:1.5px solid var(--border-warm);background:white;
  transition:var(--transition);
}
.involved-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.involved-card.featured-card{border-color:var(--navy);}
.involved-icon{font-size:1.8rem;margin-bottom:1rem;display:block;}
.involved-title{font-size:17px;font-weight:600;color:var(--navy);margin-bottom:0.5rem;}
.involved-desc{font-size:13px;color:var(--text-mid);line-height:1.75;margin-bottom:1.5rem;}

/* ---- TFO OS TEASER ---- */
.orgs-teaser{
  background:white;border-top:1px solid var(--border);
  padding:3.5rem 3rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  position:relative;overflow:hidden;
}
.orgs-teaser::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--teal),var(--green));
}
.orgs-badge{
  display:inline-block;background:rgba(14,122,138,0.08);
  border:1px solid rgba(14,122,138,0.2);color:var(--teal);
  padding:4px 14px;border-radius:100px;
  font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:0.75rem;
}
.orgs-title{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--navy);letter-spacing:-0.5px;}
.orgs-sub{font-size:14px;color:var(--text-mid);margin-top:0.5rem;max-width:520px;line-height:1.7;}

/* ---- NEWSLETTER ---- */
.newsletter-section{background:var(--navy);padding:4rem 3rem;text-align:center;position:relative;overflow:hidden;}
.newsletter-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 50%,rgba(14,122,138,0.2) 0%,transparent 60%);
}
.newsletter-section h2{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:white;margin-bottom:0.5rem;position:relative;}
.newsletter-section p{color:rgba(255,255,255,0.55);font-size:15px;margin-bottom:2rem;position:relative;}
.nl-form{display:flex;gap:0.75rem;justify-content:center;max-width:460px;margin:0 auto;position:relative;}
.nl-form input{
  flex:1;padding:13px 18px;border-radius:100px;
  border:1px solid rgba(255,255,255,0.15);
  background:rgba(255,255,255,0.08);color:white;
  font-size:14px;font-family:'DM Sans',sans-serif;outline:none;
  transition:border-color 0.3s ease;
}
.nl-form input:focus{border-color:rgba(255,255,255,0.4);}
.nl-form input::placeholder{color:rgba(255,255,255,0.3);}
.nl-form button{
  padding:13px 24px;background:var(--green);color:white;
  border:none;border-radius:100px;font-size:14px;font-weight:500;
  cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:var(--transition);white-space:nowrap;
}
.nl-form button:hover{background:var(--green-dark);transform:translateY(-1px);}

/* ---- FOOTER ---- */
footer{background:#071F30;padding:3rem 3rem 1.5rem;}
.footer-top{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:2.5rem;padding-bottom:2rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.footer-brand p{font-size:13px;color:rgba(255,255,255,0.35);line-height:1.75;margin-top:0.75rem;max-width:240px;}
.footer-col h4{font-size:11px;font-weight:600;color:rgba(255,255,255,0.3);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:0.85rem;}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,0.5);margin-bottom:0.5rem;transition:color 0.25s ease;}
.footer-col a:hover{color:white;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1.25rem;font-size:11px;color:rgba(255,255,255,0.2);flex-wrap:wrap;gap:1rem;}
.footer-social{display:flex;gap:10px;}
.social-dot{
  width:32px;height:32px;border-radius:8px;
  background:rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:center;
  transition:background 0.25s ease,transform 0.25s ease;
  overflow:hidden;
}
.social-dot:hover{background:rgba(255,255,255,0.14);transform:translateY(-2px);}

/* ---- PAGE HERO ---- */
.page-hero{
  background:var(--navy);padding:4.5rem 3rem;
  position:relative;overflow:hidden;
}
.page-hero::after{
  content:'';position:absolute;bottom:-80px;right:-80px;
  width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(14,122,138,0.15) 0%,transparent 70%);
}
.page-hero-eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:0.65rem;display:flex;align-items:center;gap:8px;}
.page-hero-eyebrow::before{content:'';width:16px;height:1.5px;background:var(--green);display:inline-block;}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:900;color:white;letter-spacing:-1px;line-height:1.08;margin-bottom:1rem;}
.page-hero p{font-size:15px;color:rgba(255,255,255,0.58);line-height:1.8;max-width:560px;}

/* ---- ABOUT PAGE ---- */
.about-mission{padding:5.5rem 3rem;background:var(--cream);}
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2.5rem;}
.mission-quote{
  font-size:18px;line-height:1.9;color:var(--text-dark);
  font-weight:300;font-style:italic;
  border-left:3px solid var(--teal);padding-left:1.5rem;margin-bottom:1.5rem;
}
.mission-note{font-size:14px;color:var(--text-mid);line-height:1.8;}
.pillar{
  background:white;border-radius:var(--radius-md);
  padding:1.25rem 1.5rem;border:1px solid var(--border-warm);
  display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;
  transition:var(--transition);
}
.pillar:hover{transform:translateX(4px);box-shadow:var(--shadow-sm);}
.pillar-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.pillar-title{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:3px;}
.pillar-desc{font-size:13px;color:var(--text-mid);line-height:1.65;}
.about-toc{padding:5.5rem 3rem;background:white;}
.toc-flow{display:grid;grid-template-columns:repeat(5,1fr);margin-top:3rem;border-radius:var(--radius-lg);overflow:hidden;}
.toc-step{padding:1.5rem 1rem;text-align:center;}
.toc-step:nth-child(1){background:rgba(13,61,92,0.04);}
.toc-step:nth-child(2){background:rgba(14,122,138,0.05);}
.toc-step:nth-child(3){background:rgba(61,170,106,0.06);}
.toc-step:nth-child(4){background:rgba(13,61,92,0.08);}
.toc-step:nth-child(5){background:var(--navy);}
.toc-num{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:900;color:var(--navy);line-height:1;margin-bottom:0.4rem;}
.toc-step:nth-child(5) .toc-num{color:var(--green);}
.toc-label{font-size:12px;font-weight:600;color:var(--navy);margin-bottom:0.4rem;}
.toc-step:nth-child(5) .toc-label{color:white;}
.toc-item{font-size:11px;color:var(--text-mid);background:rgba(255,255,255,0.6);border-radius:4px;padding:2px 6px;margin-top:4px;text-align:left;}
.toc-step:nth-child(5) .toc-item{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.55);}
.about-leadership{padding:5.5rem 3rem;background:var(--cream);}
.leaders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.leader-card{background:white;border-radius:var(--radius-lg);border:1px solid var(--border-warm);overflow:hidden;transition:var(--transition);}
.leader-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.leader-img{width:100%;height:220px;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);}
.leader-card:hover .leader-img{transform:scale(1.04);}
.leader-body{padding:1.5rem;}
.leader-role{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin-bottom:0.4rem;}
.leader-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:0.85rem;letter-spacing:-0.3px;}
.leader-bio{font-size:13px;color:var(--text-mid);line-height:1.8;margin-bottom:1rem;}
.leader-tags{display:flex;flex-wrap:wrap;gap:5px;}
.ltag{font-size:11px;padding:3px 9px;border-radius:100px;border:1px solid var(--border);color:var(--text-mid);}
.about-timeline{padding:5.5rem 3rem;background:var(--cream);}
.tl-items{margin-top:2.5rem;position:relative;}
.tl-items::before{content:'';position:absolute;left:80px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--teal),var(--green));}
.tl-item{display:flex;gap:2rem;margin-bottom:2rem;align-items:flex-start;}
.tl-year{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--navy);width:60px;text-align:right;flex-shrink:0;padding-top:3px;}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid white;flex-shrink:0;margin-top:6px;position:relative;z-index:1;transition:transform 0.3s ease;}
.tl-item:hover .tl-dot{transform:scale(1.4);}
.tl-dot.green{background:var(--green);}
.tl-title{font-size:15px;font-weight:600;color:var(--navy);margin-bottom:4px;}
.tl-desc{font-size:13px;color:var(--text-mid);line-height:1.7;}

/* ---- PROGRAMS PAGE ---- */
.prog-tabs-bar{background:var(--navy);padding:0 3rem;display:flex;gap:0;overflow-x:auto;}
.prog-tab{padding:1rem 1.5rem;font-size:13px;font-weight:500;color:rgba(255,255,255,0.45);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:var(--transition);}
.prog-tab:hover{color:rgba(255,255,255,0.8);}
.prog-tab.active{color:white;border-bottom-color:var(--green);}
.prog-page{display:none;}
.prog-page.active{display:block;}
.prog-hero-sec{display:grid;grid-template-columns:1fr 1fr;min-height:52vh;align-items:center;overflow:hidden;}
.prog-hero-left{padding:4rem 3rem;}
.prog-eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:0.65rem;}
.prog-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:900;color:var(--navy);letter-spacing:-1.5px;line-height:1.08;margin-bottom:1rem;}
.prog-sub{font-size:16px;color:var(--text-mid);line-height:1.8;font-weight:300;margin-bottom:2rem;max-width:440px;}
.prog-meta-row{display:flex;gap:1.5rem;flex-wrap:wrap;}
.prog-meta-item{display:flex;flex-direction:column;gap:2px;}
.prog-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-mid);}
.prog-meta-val{font-size:14px;font-weight:600;color:var(--navy);}
.prog-hero-right{height:52vh;overflow:hidden;}
.prog-hero-right img{width:100%;height:100%;object-fit:cover;filter:brightness(0.88);transition:transform 0.8s cubic-bezier(0.4,0,0.2,1);}
.prog-hero-right:hover img{transform:scale(1.04);}
.prog-hero-right-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:5rem;}
.prog-content{padding:4rem 3rem;background:white;}
.prog-layout{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start;}
.prog-body h3{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:0.85rem;letter-spacing:-0.3px;}
.prog-body p{font-size:15px;color:var(--text-mid);line-height:1.85;margin-bottom:1.5rem;}
.prog-modules{display:flex;flex-direction:column;gap:0.65rem;margin-bottom:2rem;}
.module-item{display:flex;align-items:center;gap:0.75rem;background:var(--cream);border-radius:var(--radius-sm);padding:0.75rem 1rem;transition:var(--transition);}
.module-item:hover{background:var(--warm-100);transform:translateX(4px);}
.module-num{width:24px;height:24px;border-radius:50%;background:var(--navy);color:white;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.module-text{font-size:13px;color:var(--text-dark);}
.prog-sidebar{display:flex;flex-direction:column;gap:1.25rem;}
.sidebar-card{background:var(--cream);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--border-warm);}
.sidebar-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-mid);margin-bottom:0.85rem;}
.sidebar-stat{display:flex;justify-content:space-between;align-items:center;padding:0.5rem 0;border-bottom:1px solid var(--border);font-size:13px;}
.sidebar-stat:last-child{border-bottom:none;}
.sidebar-stat-label{color:var(--text-mid);}
.sidebar-stat-val{font-weight:600;color:var(--navy);}
.sidebar-cta{display:block;background:var(--navy);color:white;padding:12px 20px;border-radius:100px;font-size:14px;font-weight:500;text-align:center;transition:var(--transition);margin-bottom:0.65rem;}
.sidebar-cta:hover{background:var(--teal);}
.sidebar-cta-ghost{display:block;border:1.5px solid var(--border);color:var(--navy);padding:11px 20px;border-radius:100px;font-size:14px;font-weight:500;text-align:center;transition:var(--transition);}
.sidebar-cta-ghost:hover{border-color:var(--navy);}
.outcome-list{display:flex;flex-direction:column;gap:0.5rem;}
.outcome-item{display:flex;align-items:flex-start;gap:0.65rem;font-size:13px;color:var(--text-mid);line-height:1.6;}
.outcome-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0;margin-top:5px;}
.prog-quote{background:var(--navy);padding:3rem;}
.prog-quote-text{font-family:'DM Serif Display',serif;font-size:1.3rem;color:white;line-height:1.6;max-width:680px;font-style:italic;}
.prog-quote-author{font-size:13px;color:rgba(255,255,255,0.4);margin-top:1rem;}
.prog-next-bar{background:var(--cream);padding:2rem 3rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);}
.prog-next-label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-mid);margin-bottom:4px;}
.prog-next-name{font-size:16px;font-weight:600;color:var(--navy);}
.prog-next-btn{font-size:13px;color:var(--teal);font-weight:500;cursor:pointer;transition:gap 0.2s ease;}

/* ---- PARTNERS PAGE ---- */
.partners-section{padding:5rem 3rem;background:var(--cream);}
.partner-category{margin-bottom:2.75rem;}
.cat-label{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-mid);padding-bottom:0.65rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;}
.pgrid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.pgrid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.partner-card{background:white;border-radius:var(--radius-lg);border:1px solid var(--border-warm);padding:1.75rem;display:flex;flex-direction:column;transition:var(--transition);position:relative;overflow:hidden;}
.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.partner-accent{height:3px;position:absolute;top:0;left:0;right:0;}
.partner-top{display:flex;align-items:flex-start;gap:0.85rem;margin-bottom:1rem;padding-top:0.5rem;}
.partner-logo{width:48px;height:48px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:11px;font-weight:900;color:white;letter-spacing:-0.3px;line-height:1.15;text-align:center;}
.partner-logo-wrap{width:48px;height:48px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:white;border:1px solid var(--border);}
.partner-logo-img{max-height:44px;width:auto;max-width:140px;object-fit:contain;display:block;}
.partner-logo-wide{height:36px;width:auto;max-width:160px;object-fit:contain;}
.partner-name{font-size:15px;font-weight:600;color:var(--navy);line-height:1.2;margin-bottom:2px;}
.partner-full{font-size:11px;color:var(--text-mid);line-height:1.4;}
.partner-type{display:inline-block;font-size:10px;font-weight:600;letter-spacing:0.8px;text-transform:uppercase;padding:2px 9px;border-radius:100px;margin-bottom:0.85rem;}
.partner-desc{font-size:13px;color:var(--text-mid);line-height:1.8;margin-bottom:1rem;flex:1;}
.partner-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:1rem;}
.ptag{font-size:11px;padding:3px 9px;border-radius:100px;border:1px solid var(--border);color:var(--text-mid);}
.partner-footer{border-top:1px solid var(--border);padding-top:0.85rem;display:flex;justify-content:space-between;align-items:flex-end;}
.pstats{display:flex;gap:1.1rem;}
.pstat-num{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--navy);line-height:1;}
.pstat-label{font-size:10px;color:var(--text-mid);margin-top:2px;}
.partner-link{font-size:12px;font-weight:500;}
.partner-link:hover{text-decoration:underline;}

/* ---- EVENTS PAGE ---- */
.events-section{padding:5rem 3rem;background:white;}
.event-card{background:var(--cream);border-radius:var(--radius-lg);border:1px solid var(--border-warm);overflow:hidden;margin-bottom:1.5rem;display:grid;grid-template-columns:280px 1fr;transition:var(--transition);}
.event-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.event-card-img{width:280px;height:220px;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);}
.event-card:hover .event-card-img{transform:scale(1.04);}
.event-card-img-placeholder{width:280px;height:220px;display:flex;align-items:center;justify-content:center;font-size:4rem;}
.event-card-body{padding:2rem;}
.event-date{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--teal);font-weight:600;margin-bottom:0.5rem;}
.event-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--navy);margin-bottom:0.75rem;letter-spacing:-0.5px;}
.event-desc{font-size:14px;color:var(--text-mid);line-height:1.8;margin-bottom:1.25rem;}
.event-details{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.event-detail{font-size:13px;color:var(--text-mid);}
.event-detail strong{color:var(--navy);}

/* ---- CONTACT PAGE ---- */
.contact-section{padding:5rem 3rem;background:white;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2rem;}
.contact-form{display:flex;flex-direction:column;gap:1rem;}
.form-group{display:flex;flex-direction:column;gap:0.4rem;}
.form-label{font-size:13px;font-weight:500;color:var(--navy);}
.form-input,.form-select,.form-textarea{
  border:1.5px solid var(--border);border-radius:var(--radius-sm);
  padding:11px 14px;font-size:14px;font-family:'DM Sans',sans-serif;
  color:var(--text-dark);outline:none;transition:border-color 0.25s ease,box-shadow 0.25s ease;
  background:var(--cream);
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(14,122,138,0.1);
}
.form-textarea{resize:vertical;min-height:120px;}
.contact-info{display:flex;flex-direction:column;gap:1.5rem;}
.contact-info-card{background:var(--cream);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-warm);transition:var(--transition);}
.contact-info-card:hover{box-shadow:var(--shadow-sm);}
.contact-info-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-mid);margin-bottom:0.75rem;}
.contact-info-val{font-size:15px;color:var(--navy);font-weight:500;}
.contact-info-sub{font-size:13px;color:var(--text-mid);margin-top:3px;}

/* ---- AI CHAT WIDGET ---- */
.chat-bubble-wrap{position:fixed;bottom:1.5rem;right:1.5rem;z-index:500;}
.chat-fab{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--navy));
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;
  box-shadow:0 8px 28px rgba(14,122,138,0.45);
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1),box-shadow 0.3s ease;
  color:white;
}
.chat-fab:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 12px 36px rgba(14,122,138,0.55);}
.chat-panel-wrap{
  position:absolute;bottom:70px;right:0;
  width:320px;background:white;
  border-radius:var(--radius-xl);border:1px solid var(--border);
  box-shadow:var(--shadow-lg);overflow:hidden;display:none;
  animation:slideUp 0.3s cubic-bezier(0.4,0,0.2,1);
}
@keyframes slideUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.chat-panel-wrap.open{display:block;}
.chat-header-wrap{background:linear-gradient(135deg,var(--navy),var(--teal));padding:1.1rem 1.1rem 0.75rem;}
.chat-agent-info{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem;}
.chat-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.15);border:1.5px solid rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:13px;font-weight:700;color:white;}
.chat-agent-name{font-size:13px;font-weight:600;color:white;}
.chat-agent-status{display:flex;align-items:center;gap:5px;font-size:10px;color:rgba(255,255,255,0.5);}
.chat-status-dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 2s infinite;}
.chat-header-tabs{display:flex;gap:0.4rem;}
.chtab{font-size:11px;padding:3px 10px;border-radius:100px;cursor:pointer;transition:var(--transition);color:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.15);}
.chtab.active,.chtab:hover{background:rgba(255,255,255,0.15);color:white;border-color:rgba(255,255,255,0.3);}
.ch-panel{display:none;flex-direction:column;}
.ch-panel.active{display:flex;}
.ch-messages{padding:0.85rem;height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:0.65rem;background:var(--cream);}
.ch-msg{max-width:88%;}
.ch-msg.bot{align-self:flex-start;}
.ch-msg.user{align-self:flex-end;}
.ch-bubble{padding:9px 13px;border-radius:12px;font-size:13px;line-height:1.6;}
.ch-msg.bot .ch-bubble{background:white;border:1px solid var(--border);color:var(--text-dark);border-radius:4px 12px 12px 12px;}
.ch-msg.user .ch-bubble{background:var(--navy);color:white;border-radius:12px 12px 4px 12px;}
.ch-qr{display:flex;flex-wrap:wrap;gap:5px;padding:0.6rem 0.85rem;background:var(--cream);border-top:1px solid var(--border);}
.qr-btn{font-size:11px;padding:5px 10px;border-radius:100px;border:1px solid var(--teal);color:var(--teal);cursor:pointer;background:white;transition:var(--transition);white-space:nowrap;}
.qr-btn:hover{background:var(--teal);color:white;}
.ch-input-row{padding:0.65rem;border-top:1px solid var(--border);display:flex;gap:0.4rem;background:white;}
.ch-input{flex:1;border:1px solid var(--border);border-radius:100px;padding:7px 13px;font-size:12px;outline:none;font-family:'DM Sans',sans-serif;color:var(--text-dark);background:var(--cream);transition:border-color 0.25s ease;}
.ch-input:focus{border-color:var(--teal);}
.ch-send{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--navy));border:none;cursor:pointer;color:white;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition);}
.ch-send:hover{transform:scale(1.1);}
.ch-sched{padding:1rem;height:400px;overflow-y:auto;background:white;}
.sched-step{margin-bottom:1.25rem;}
.sched-lbl{font-size:12px;font-weight:600;color:var(--navy);margin-bottom:0.5rem;}
.sched-opts{display:flex;flex-direction:column;gap:0.4rem;}
.sched-opt{padding:0.65rem 0.85rem;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-size:12px;color:var(--text-dark);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:space-between;}
.sched-opt:hover,.sched-opt.sel{border-color:var(--teal);background:rgba(14,122,138,0.04);}
.sched-chk{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:9px;color:transparent;transition:var(--transition);}
.sched-opt.sel .sched-chk{background:var(--teal);border-color:var(--teal);color:white;}
.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}
.tslot{padding:7px;text-align:center;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-size:11px;cursor:pointer;color:var(--text-mid);transition:var(--transition);}
.tslot:hover,.tslot.sel{border-color:var(--teal);color:var(--teal);background:rgba(14,122,138,0.05);}
.tslot.na{opacity:0.3;cursor:not-allowed;}
.sched-in{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px;font-family:'DM Sans',sans-serif;color:var(--text-dark);outline:none;background:var(--cream);transition:border-color 0.25s ease;}
.sched-in:focus{border-color:var(--teal);}
.sched-submit{width:100%;background:linear-gradient(135deg,var(--navy),var(--teal));color:white;border:none;padding:10px;border-radius:100px;font-size:13px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:0.5rem;transition:var(--transition);}
.sched-submit:hover{opacity:0.9;transform:translateY(-1px);}
.sched-done{display:none;padding:2rem;text-align:center;background:white;}
.sched-done.show{display:block;}
.ch-faq-wrap{padding:0.85rem;background:white;height:400px;overflow-y:auto;}
.faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:5px;overflow:hidden;}
.faq-q{padding:0.75rem 0.85rem;font-size:12px;font-weight:500;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background 0.2s ease;}
.faq-q:hover{background:var(--cream);}
.faq-q span{font-size:10px;color:var(--text-mid);transition:transform 0.25s ease;}
.faq-item.open .faq-q span{transform:rotate(180deg);}
.faq-a{padding:0 0.85rem 0.75rem;font-size:12px;color:var(--text-mid);line-height:1.7;display:none;border-top:1px solid var(--border);padding-top:0.65rem;}
.faq-item.open .faq-a{display:block;}

/* ---- PAGE CTA ---- */
.page-cta{background:var(--navy);padding:4rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden;}
.page-cta::before{content:'';position:absolute;right:-100px;top:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(14,122,138,0.2) 0%,transparent 70%);}
.page-cta-title{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:white;letter-spacing:-0.5px;}
.page-cta-sub{font-size:14px;color:rgba(255,255,255,0.55);margin-top:0.4rem;max-width:480px;line-height:1.7;}
.page-cta-btns{display:flex;gap:1rem;flex-wrap:wrap;flex-shrink:0;}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  .programs-grid{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .bball-section::before{display:none;}
  .bball-inner{grid-template-columns:1fr;}
}
@media(max-width:900px){
  nav{padding:0 1.5rem;}
  .nav-links{display:none;}
  .nav-hamburger{display:block;}
  .crisis-bar{padding:0.65rem 1.5rem;flex-direction:column;align-items:flex-start;gap:0.5rem;}
  .crisis-left{gap:0.75rem;}
  .crisis-pipe{display:none;}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-left{padding:3rem 1.5rem;}
  .hero-right{display:none;}
  .stats-strip{grid-template-columns:repeat(2,1fr);padding:2rem 1.5rem;}
  .programs-section,.testimonials-section,.family-fest-section,.get-involved-section,.about-mission,.about-toc,.about-leadership,.about-timeline,.partners-section,.events-section,.contact-section,.bball-section{padding:3.5rem 1.5rem;}
  .programs-grid,.testimonials-grid,.involved-grid,.leaders-grid,.pgrid-2,.pgrid-3{grid-template-columns:1fr;}
  .family-fest-section{grid-template-columns:1fr;}
  .toc-flow{grid-template-columns:1fr;}
  .prog-hero-sec,.contact-grid,.mission-grid{grid-template-columns:1fr;}
  .prog-hero-right{display:none;}
  .prog-hero-left{padding:3rem 1.5rem;}
  .prog-content,.prog-quote,.prog-next-bar{padding:3rem 1.5rem;}
  .prog-layout{grid-template-columns:1fr;}
  .prog-tabs-bar{padding:0 1.5rem;}
  .orgs-teaser{flex-direction:column;padding:3rem 1.5rem;}
  .page-cta{flex-direction:column;align-items:flex-start;padding:3rem 1.5rem;}
  .photo-strip{grid-template-columns:1fr 1fr;height:auto;}
  .strip-wide{grid-column:span 2;}
  .event-card{grid-template-columns:1fr;}
  .event-card-img,.event-card-img-placeholder{width:100%;}
  .footer-top{grid-template-columns:1fr 1fr;padding:0 1.5rem;gap:2rem;}
  footer{padding:3rem 1.5rem 1.5rem;}
  .newsletter-section{padding:3rem 1.5rem;}
  .nl-form{flex-direction:column;}
  .countdown-wrap{gap:0.6rem;}
  .countdown-unit{min-width:58px;padding:0.65rem 0.75rem;}
  .countdown-num{font-size:1.6rem;}
}
