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

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

:root {
  --navy:      #0B1D3A;
  --navy-mid:  #112448;
  --teal:      #0EA5E9;
  --teal-dark: #0284C7;
  --coral:     #F97316;
  --purple:    #8B5CF6;
  --gold:      #FBBF24;
  --green:     #10B981;
  --white:     #FFFFFF;
  --off-white: #F8FAFC;
  --gray-100:  #F1F5F9;
  --gray-300:  #CBD5E1;
  --gray-500:  #64748B;
  --gray-700:  #334155;
  --text:      #1E293B;
  --shadow:    0 4px 24px rgba(11,29,58,0.09);
  --shadow-lg: 0 16px 56px rgba(11,29,58,0.16);
}

html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: var(--text); background: var(--white); overflow-x: hidden; }

/* ══════════════════════════════════════
   NAV
══════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5vw; height: 72px;
  background: rgba(11,29,58,0.96); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.nav-logo-icon {
  width: 40px; height: 40px; border-radius: 10px;
  background: linear-gradient(135deg, var(--teal), var(--teal-dark));
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 900; color: white; letter-spacing: -0.5px;
  flex-shrink: 0;
}
.nav-logo-text { color: white; font-weight: 700; font-size: 0.92rem; line-height: 1.2; }
.nav-logo-sub  { color: var(--teal); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 1.8rem; list-style: none; }
.nav-links a { color: rgba(255,255,255,0.7); text-decoration: none; font-size: 0.87rem; font-weight: 500; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: var(--teal); }
.nav-links a.nav-cta {
  background: var(--teal); color: white; padding: 9px 20px;
  border-radius: 8px; font-weight: 700;
}
.nav-links a.nav-cta:hover { background: var(--teal-dark); color: white; }
.nav-menu-btn { display: none; background: none; border: none; cursor: pointer; }
.nav-menu-btn span { display: block; width: 22px; height: 2px; background: white; margin: 5px 0; border-radius: 2px; transition: 0.3s; }

/* ══════════════════════════════════════
   PAGE HERO BANNER (for inner pages)
══════════════════════════════════════ */
.page-hero {
  padding: 140px 5vw 80px;
  background: linear-gradient(145deg, var(--navy) 0%, var(--navy-mid) 55%, #0f2d5c 100%);
  position: relative; overflow: hidden;
}
.page-hero-orb {
  position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none;
}
.page-hero-orb-1 { width: 500px; height: 500px; right: -80px; top: -80px; background: rgba(14,165,233,0.13); }
.page-hero-orb-2 { width: 320px; height: 320px; left: -40px; bottom: -60px; background: rgba(139,92,246,0.09); }
.page-hero-inner { max-width: 760px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
.page-hero-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(14,165,233,0.12); border: 1px solid rgba(14,165,233,0.28);
  color: var(--teal); padding: 7px 18px; border-radius: 100px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 24px;
}
.page-hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 800; color: white; line-height: 1.15; margin-bottom: 18px;
}
.page-hero h1 span { color: var(--teal); }
.page-hero p { color: rgba(255,255,255,0.68); font-size: 1.08rem; line-height: 1.8; max-width: 600px; margin: 0 auto; }

/* ══════════════════════════════════════
   SHARED LAYOUT
══════════════════════════════════════ */
section { padding: 88px 5vw; }
.inner { max-width: 1200px; margin: 0 auto; }
.section-label {
  display: inline-block; color: var(--teal); font-weight: 700;
  font-size: 0.71rem; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 12px;
}
.section-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.9rem, 2.8vw, 2.8rem);
  font-weight: 800; color: var(--navy); line-height: 1.18; margin-bottom: 16px;
}
.section-title span { color: var(--teal); }
.section-sub { color: var(--gray-500); font-size: 1.02rem; line-height: 1.82; max-width: 580px; }
.section-header { margin-bottom: 56px; }
.section-header.center { text-align: center; }
.section-header.center .section-sub { margin: 0 auto; }

/* ══════════════════════════════════════
   BUTTONS
══════════════════════════════════════ */
.btn {
  display: inline-block; padding: 13px 30px; border-radius: 10px;
  font-weight: 700; font-size: 0.93rem; text-decoration: none;
  transition: all 0.2s; cursor: pointer; border: none;
}
.btn-teal   { background: var(--teal); color: white; box-shadow: 0 4px 18px rgba(14,165,233,0.38); }
.btn-teal:hover   { background: var(--teal-dark); transform: translateY(-2px); box-shadow: 0 8px 26px rgba(14,165,233,0.48); }
.btn-coral  { background: var(--coral);  color: white; box-shadow: 0 4px 18px rgba(249,115,22,0.32); }
.btn-coral:hover  { background: #EA580C; transform: translateY(-2px); }
.btn-purple { background: var(--purple); color: white; box-shadow: 0 4px 18px rgba(139,92,246,0.32); }
.btn-purple:hover { background: #7C3AED; transform: translateY(-2px); }
.btn-navy   { background: var(--navy); color: white; }
.btn-navy:hover   { background: var(--navy-mid); transform: translateY(-2px); }
.btn-outline-dark {
  background: transparent; color: var(--navy);
  border: 1.5px solid var(--gray-300); padding: 12px 28px;
}
.btn-outline-dark:hover { border-color: var(--teal); color: var(--teal); }
.btn-outline-light {
  background: transparent; color: white;
  border: 1.5px solid rgba(255,255,255,0.3);
}
.btn-outline-light:hover { border-color: white; background: rgba(255,255,255,0.06); }

/* ══════════════════════════════════════
   IMPACT BAR
══════════════════════════════════════ */
.impact-bar-section { background: var(--navy); padding: 0; }
.impact-bar { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); }
.impact-cell {
  text-align: center; padding: 50px 24px;
  border-right: 1px solid rgba(255,255,255,0.06);
  transition: background 0.3s;
}
.impact-cell:last-child { border-right: none; }
.impact-cell:hover { background: rgba(14,165,233,0.06); }
.impact-num {
  font-size: 3rem; font-weight: 900; line-height: 1;
  background: linear-gradient(135deg, #fff 0%, var(--teal) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.impact-lbl { color: rgba(255,255,255,0.48); font-size: 0.8rem; margin-top: 10px; font-weight: 500; letter-spacing: 0.03em; }

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
footer { background: #060D1A; padding: 64px 5vw 36px; border-top: 1px solid rgba(255,255,255,0.05); }
.ft-inner { max-width: 1200px; margin: 0 auto; }
.ft-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap: 48px; margin-bottom: 48px; }
.ft-brand p { color: rgba(255,255,255,0.4); font-size: 0.83rem; line-height: 1.78; margin: 16px 0 20px; max-width: 270px; }
.ft-social { display: flex; gap: 10px; }
.ft-social a {
  width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,0.07);
  display: flex; align-items: center; justify-content: center; text-decoration: none; transition: background 0.2s;
}
.ft-social a:hover { background: var(--teal); }
.ft-social svg { width: 16px; height: 16px; fill: rgba(255,255,255,0.7); }
.ft-col h4 { color: white; font-weight: 700; font-size: 0.82rem; margin-bottom: 18px; letter-spacing: 0.03em; }
.ft-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ft-col ul li a { color: rgba(255,255,255,0.4); font-size: 0.82rem; text-decoration: none; transition: color 0.2s; }
.ft-col ul li a:hover { color: var(--teal); }
.ft-contact-item { color: rgba(255,255,255,0.4); font-size: 0.82rem; margin-bottom: 10px; display: flex; gap: 8px; align-items: flex-start; }
.ft-bottom {
  border-top: 1px solid rgba(255,255,255,0.05); padding-top: 24px;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
}
.ft-bottom p { color: rgba(255,255,255,0.26); font-size: 0.77rem; }
.ein-chip { background: rgba(14,165,233,0.1); border: 1px solid rgba(14,165,233,0.2); color: var(--teal); padding: 5px 14px; border-radius: 100px; font-size: 0.72rem; font-weight: 700; }

/* ══════════════════════════════════════
   NAV LOGO IMAGE
══════════════════════════════════════ */
.nav-logo-img {
  width: 40px; height: 40px; border-radius: 10px;
  object-fit: contain; background: white; padding: 3px; flex-shrink: 0;
}

/* ══════════════════════════════════════
   GLOBAL ANIMATIONS
══════════════════════════════════════ */
@keyframes revealUp   { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:none} }
@keyframes revealFade { from{opacity:0} to{opacity:1} }
@keyframes slideX     { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes countBounce{ 0%{transform:scale(1)} 25%{transform:scale(1.12)} 100%{transform:scale(1)} }
@keyframes glowPulse  { 0%,100%{box-shadow:0 0 0 0 rgba(14,165,233,0)} 50%{box-shadow:0 0 0 8px rgba(14,165,233,0.12)} }

/* ── Reveal System ── */
.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.in { opacity: 1; transform: none; }

/* ── Page hero entrance ── */
.page-hero-tag { animation: revealFade 0.7s ease both 0.15s; }
.page-hero h1  { animation: revealUp 0.8s cubic-bezier(0.4,0,0.2,1) both 0.25s; }
.page-hero p   { animation: revealUp 0.8s cubic-bezier(0.4,0,0.2,1) both 0.4s; }

/* ── Section title animated underline ── */
.section-title span {
  position: relative;
}
.section-title span::after {
  content: '';
  position: absolute; bottom: -3px; left: 0; right: 0; height: 2px;
  background: var(--teal);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1) 0.3s;
}
.reveal.in .section-title span::after { transform: scaleX(1); }

/* ── Button glow on hover ── */
.btn-teal:hover   { animation: glowPulse 1.2s ease infinite; }
.btn-coral:hover  { box-shadow: 0 8px 28px rgba(249,115,22,0.42); }
.btn-purple:hover { box-shadow: 0 8px 28px rgba(139,92,246,0.42); }

/* ── Card hover lifts ── */
.founder-card, .member-card {
  transition: transform 0.28s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s;
}
.founder-card:hover { transform: translateY(-7px) scale(1.01); }
.member-card:hover  { transform: translateY(-6px); }

/* ── Nav link animated underline ── */
.nav-links a { position: relative; }
.nav-links a:not(.nav-cta)::after {
  content: ''; position: absolute; bottom: -3px; left: 0; right: 0; height: 1.5px;
  background: var(--teal); transform: scaleX(0); transform-origin: center;
  transition: transform 0.2s;
}
.nav-links a:not(.nav-cta):hover::after,
.nav-links a.active:not(.nav-cta)::after { transform: scaleX(1); }

/* ── Impact cell animated border ── */
.impact-cell { position: relative; }
.impact-cell::after {
  content:''; position:absolute; bottom:0; left:20%; right:20%; height:2px;
  background: var(--teal); transform:scaleX(0); transform-origin:center;
  transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.impact-cell:hover::after { transform:scaleX(1); }

/* ── Page load fade-in ── */
@keyframes pageFade { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
body { animation: pageFade 0.55s cubic-bezier(0.4,0,0.2,1) both; }

/* ── Stagger reveal utilities ── */
.stagger-1 { transition-delay:0.05s !important; }
.stagger-2 { transition-delay:0.12s !important; }
.stagger-3 { transition-delay:0.19s !important; }
.stagger-4 { transition-delay:0.26s !important; }
.stagger-5 { transition-delay:0.33s !important; }

/* ── Timeline event entrance ── */
.tl-event.reveal { transform: translateX(-24px) translateY(16px); }
.tl-event.reveal.in { transform: none; }

/* ── Blog card image zoom ── */
.blog-feature-card .bfc-thumb img,
.blog-card .bc-thumb img { transition: transform 0.5s ease; }
.blog-feature-card:hover .bfc-thumb img,
.blog-card:hover .bc-thumb img { transform: scale(1.05); }

/* ── Founder photo overlay shimmer on hover ── */
.fc-photo::after {
  content:''; position:absolute; inset:0;
  background: linear-gradient(120deg, transparent 30%, rgba(14,165,233,0.08) 50%, transparent 70%);
  background-size: 200% 100%; background-position: -200% 0;
  transition: background-position 0.7s ease;
}
.founder-card:hover .fc-photo::after { background-position: 200% 0; }

/* ── Step number bounce ── */
.sc-step-num {
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1), background 0.25s;
}
.sc-step:hover .sc-step-num { transform: scale(1.2) rotate(-6deg); }

/* ── Stat pill hover ── */
.stat-pill {
  transition: transform 0.22s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.22s;
}
.stat-pill:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 8px 22px rgba(11,29,58,0.12); }

/* ── Page hero orbs animate ── */
@keyframes orbDrift {
  0%,100% { transform: translate(0,0) scale(1); }
  33%      { transform: translate(20px,-15px) scale(1.08); }
  66%      { transform: translate(-10px,10px) scale(0.95); }
}
.page-hero-orb-1 { animation: orbDrift 12s ease-in-out infinite; }
.page-hero-orb-2 { animation: orbDrift 15s ease-in-out infinite reverse; }

/* ── Active nav item pill ── */
.nav-links a.active:not(.nav-cta) {
  color: var(--teal);
  background: rgba(14,165,233,0.08);
  padding: 4px 10px;
  border-radius: 6px;
}

/* ── Donate page stat pulse ── */
@keyframes statPop { 0%{transform:scale(0.92);opacity:0} 60%{transform:scale(1.04)} 100%{transform:scale(1);opacity:1} }
.ds-num { animation: statPop 0.6s cubic-bezier(0.34,1.56,0.64,1) both; }
.ds-cell:nth-child(2) .ds-num { animation-delay:0.1s; }
.ds-cell:nth-child(3) .ds-num { animation-delay:0.2s; }

/* ══════════════════════════════════════
   REAL PHOTO DISPLAY
══════════════════════════════════════ */
/* Team member photo card photo area */
.mc-photo {
  height: 280px; overflow: hidden; position: relative;
}
.mc-photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 18%;
  display: block; transition: transform 0.4s ease;
}
.member-card:hover .mc-photo img { transform: scale(1.03); }

/* Founder large photo */
.fc-photo {
  height: 420px; overflow: hidden; position: relative;
}
.fc-photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 12%;
  display: block; transition: transform 0.4s ease;
}
.founder-card:hover .fc-photo img { transform: scale(1.03); }

/* Event card photo */
.ev-photo {
  height: 200px; overflow: hidden; border-radius: 12px; margin-bottom: 16px;
}
.ev-photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}

/* Timeline event photo */
.tl-photo {
  border-radius: 14px; overflow: hidden; flex-shrink: 0;
}
.tl-photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width:1024px){
  .ft-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .impact-bar { grid-template-columns: repeat(2,1fr); }
  .impact-cell { border-bottom: 1px solid rgba(255,255,255,0.06); }
}
@media(max-width:768px){
  .nav-links { display: none; }
  .nav-links.open {
    display: flex; flex-direction: column; gap: 0;
    position: fixed; top: 72px; left: 0; right: 0;
    background: var(--navy); padding: 16px 5vw 24px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    align-items: flex-start;
  }
  .nav-links.open li { width: 100%; }
  .nav-links.open a { display: block; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
  .nav-links.open a.nav-cta { margin-top: 12px; border-radius: 8px; text-align: center; padding: 10px 0; border-bottom: none; }
  .nav-menu-btn { display: block; }
  .ft-top { grid-template-columns: 1fr; gap: 28px; }
  .ft-bottom { flex-direction: column; text-align: center; }
  .impact-bar { grid-template-columns: repeat(2,1fr); }
  section { padding: 64px 5vw; }
}

/* ══════════════════════════════════════
   NAV SCROLL SHADOW
══════════════════════════════════════ */
nav { transition: box-shadow 0.3s, border-bottom-color 0.3s; }
nav.scrolled { box-shadow: 0 4px 40px rgba(0,0,0,0.35); border-bottom-color: rgba(255,255,255,0.12); }

/* ══════════════════════════════════════
   TIMELINE DOT PULSE
══════════════════════════════════════ */
@keyframes dotPulseRing {
  0%   { box-shadow: 0 0 0 0 rgba(14,165,233,0.55), 0 0 0 2px var(--teal); }
  70%  { box-shadow: 0 0 0 8px rgba(14,165,233,0), 0 0 0 2px var(--teal); }
  100% { box-shadow: 0 0 0 0 rgba(14,165,233,0), 0 0 0 2px var(--teal); }
}
.tl-dot { animation: dotPulseRing 2.4s ease-out infinite; }

/* ══════════════════════════════════════
   PROG-STAT SPRING HOVER
══════════════════════════════════════ */
.prog-stat { transition: transform 0.28s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s; }
.prog-stat:hover { transform: translateY(-5px) scale(1.05); box-shadow: 0 14px 36px rgba(11,29,58,0.16); }

/* ══════════════════════════════════════
   PI-CELL HOVER LIFT
══════════════════════════════════════ */
.pi-cell { transition: background 0.25s, transform 0.28s cubic-bezier(0.34,1.56,0.64,1), border-color 0.25s; }
.pi-cell:hover { transform: translateY(-5px) scale(1.02); }

/* ══════════════════════════════════════
   PROG-VISUAL HOVER
══════════════════════════════════════ */
.prog-visual { transition: transform 0.38s cubic-bezier(0.4,0,0.2,1), box-shadow 0.38s; }
.prog-visual:hover { transform: translateY(-10px); box-shadow: 0 36px 76px rgba(11,29,58,0.22); }

/* ══════════════════════════════════════
   UP-CARD HOVER
══════════════════════════════════════ */
.up-card { transition: border-color 0.2s, transform 0.28s cubic-bezier(0.34,1.56,0.64,1), background 0.2s; }
.up-card:hover { transform: translateY(-5px); background: rgba(14,165,233,0.025); }

/* ══════════════════════════════════════
   IMPACT BREAKDOWN CARD
══════════════════════════════════════ */
.ib-card { transition: transform 0.28s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s; }
.ib-card:hover { transform: translateX(8px) scale(1.01); box-shadow: 0 12px 32px rgba(11,29,58,0.13); }

/* ══════════════════════════════════════
   VALUE CARD ICON SPRING
══════════════════════════════════════ */
.val-num svg { transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1); display: block; }
.val-card:hover .val-num svg { transform: scale(1.22) rotate(12deg); }

/* ══════════════════════════════════════
   FOUNDER PHOTO GRADIENT OVERLAY
══════════════════════════════════════ */
.fc-photo-overlay-inner {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top, rgba(11,29,58,0.72) 0%, rgba(11,29,58,0.25) 45%, transparent 70%);
  transition: opacity 0.35s;
}
.founder-card:hover .fc-photo-overlay-inner { opacity: 0.65; }

/* ══════════════════════════════════════
   STORY HIGHLIGHT ANIMATED GRADIENT
══════════════════════════════════════ */
@keyframes storyGrad {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.story-highlight { background-size: 220% 220% !important; animation: storyGrad 9s ease infinite; }

/* ══════════════════════════════════════
   VISION CARD ORB DRIFT
══════════════════════════════════════ */
.vision-card::before { animation: orbDrift 9s ease-in-out infinite; }

/* ══════════════════════════════════════
   FOOTER SOCIAL HOVER SPRING
══════════════════════════════════════ */
.ft-social a { transition: background 0.2s, transform 0.28s cubic-bezier(0.34,1.56,0.64,1); }
.ft-social a:hover { transform: translateY(-4px) scale(1.12); }

/* ══════════════════════════════════════
   BUTTON FOCUS VISIBLE
══════════════════════════════════════ */
.btn:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }

/* ══════════════════════════════════════
   NAV CTA SUBTLE PULSE
══════════════════════════════════════ */
@keyframes navCtaPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(14,165,233,0.4); }
  60%     { box-shadow: 0 0 0 7px rgba(14,165,233,0); }
}
.nav-cta { animation: navCtaPulse 3.2s ease-in-out infinite; }
.nav-cta:hover { animation: none; }

/* ══════════════════════════════════════
   OW-CARD (DONATE PAGE) HOVER
══════════════════════════════════════ */
.ow-card { transition: border-color 0.2s, transform 0.28s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s; }
.ow-card:hover { transform: translateY(-5px); box-shadow: 0 14px 36px rgba(11,29,58,0.1); }

/* ══════════════════════════════════════
   TEAL SECTION TITLE UNDERLINE GLOW
══════════════════════════════════════ */
.section-title span::after { box-shadow: 0 2px 12px rgba(14,165,233,0.4); }

/* ══════════════════════════════════════
   TEAM MEMBER CARD HOVER BORDER
══════════════════════════════════════ */
.member-card { border: 1px solid var(--gray-100); transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.25s, border-color 0.25s; }
.member-card:hover { border-color: rgba(14,165,233,0.22); }

/* ══════════════════════════════════════
   GS-REGION LIST ANIMATED INDICATOR
══════════════════════════════════════ */
@keyframes dotBreath { 0%,100%{transform:scale(1)} 50%{transform:scale(1.5)} }
.gs-dot { animation: dotBreath 2.4s ease-in-out infinite; }
.gsd-as { animation-delay: 0.4s; }
.gsd-af { animation-delay: 0.8s; }
.gsd-me { animation-delay: 1.2s; }

/* ══════════════════════════════════════
   BIG QUOTE LEFT BORDER GROW
══════════════════════════════════════ */
.big-quote { border-left-width: 0px; transition: border-left-width 0.6s cubic-bezier(0.4,0,0.2,1) 0.3s; }
.reveal.in .big-quote, .big-quote { border-left-width: 4px; }

/* ══════════════════════════════════════
   CTA STRIP ANIMATED GRADIENT
══════════════════════════════════════ */
@keyframes ctaGrad {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
#cta-strip { background-size: 200% 200% !important; animation: ctaGrad 8s ease infinite; }
