/* ═══════════════════════════════════════════════════════════════════
   RMS IMPACT — style.css
   Custom stylesheet over Bootstrap 5.3
   Poppins font · Navy + Green + Orange palette
   ═══════════════════════════════════════════════════════════════════ */

/* ── CSS VARIABLES ─────────────────────────────────────────────── */
:root {
  --primary-blue:   #0B2545;
  --mid-blue:       #1B4F8A;
  --light-blue:     #2A6CB0;
  --accent-green:   #1A7A4A;
  --green-light:    #2EAA6A;
  --accent-orange:  #E8A020;
  --orange-light:   #F5C84A;
  --dark-navy:      #0D1B2A;
  --dark-grey:      #4A5568;
  --light-grey:     #EDF1F7;
  --off-white:      #F7F9FC;
  --font-family:    'Poppins', system-ui, sans-serif;
  --radius:         12px;
  --radius-lg:      20px;
  --shadow:         0 4px 20px rgba(11,37,69,.10);
  --shadow-md:      0 8px 32px rgba(11,37,69,.15);
  --transition:     .25s cubic-bezier(.4,0,.2,1);
}

/* ── BASE ───────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-family);
  color: #1a2332;
  background: #fff;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--accent-green); transition: color var(--transition); }
a:hover { color: var(--green-light); }

img { max-width: 100%; height: auto; display: block; }

/* Utility */
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }
.fw-800 { font-weight: 800 !important; }

/* ── SECTION EYEBROW ────────────────────────────────────────────── */
.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent-green);
  margin-bottom: 8px;
}
.section-eyebrow::before {
  content: '';
  width: 24px;
  height: 2px;
  background: var(--accent-green);
  flex-shrink: 0;
}

/* ── PAGE HEADER ────────────────────────────────────────────────── */
.page-header {
  background: linear-gradient(135deg, var(--primary-blue) 0%, #0D3060 60%, #0A3A20 100%);
  color: white;
  padding: 100px 0 60px;
  position: relative;
  overflow: hidden;
}
.page-header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.page-header .container { position: relative; z-index: 1; }
.page-header h1 { font-weight: 800; }
.page-header .lead { opacity: .85; }

/* ── BADGE PILL ──────────────────────────────────────────────────── */
.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  color: white;
  padding: 5px 14px;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .06em;
  margin-bottom: 16px;
}

/* ── HERO SECTION ───────────────────────────────────────────────── */
.hero-section {
  background: linear-gradient(135deg, var(--primary-blue) 0%, #0D3060 55%, #0A3A20 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  color: white;
  position: relative;
  overflow: hidden;
  padding: 100px 0 80px;
}
.hero-section::before {
  content: '';
  position: absolute;
  top: -30%;
  right: -10%;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(26,122,74,.25) 0%, transparent 70%);
  pointer-events: none;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(26,122,74,.2);
  border: 1px solid rgba(26,122,74,.4);
  color: #7EE8A2;
  padding: 5px 14px;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.hero-badge::before { content: '●'; font-size: .5rem; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1 } 50% { opacity:.3 } }

.hero-cta-group { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }

.btn-hero-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--accent-green);
  color: white;
  padding: 13px 28px;
  border-radius: 50px;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: all var(--transition);
  box-shadow: 0 4px 20px rgba(26,122,74,.4);
}
.btn-hero-primary:hover {
  background: var(--green-light);
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(26,122,74,.5);
}
.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: white;
  padding: 12px 26px;
  border-radius: 50px;
  font-weight: 600;
  font-size: .9rem;
  text-decoration: none;
  border: 2px solid rgba(255,255,255,.4);
  transition: all var(--transition);
}
.btn-hero-secondary:hover {
  color: white;
  border-color: white;
  background: rgba(255,255,255,.1);
}
.btn-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: white;
  color: var(--primary-blue);
  padding: 11px 24px;
  border-radius: 50px;
  font-weight: 700;
  font-size: .88rem;
  text-decoration: none;
  transition: all var(--transition);
}
.btn-white:hover {
  background: var(--off-white);
  color: var(--primary-blue);
  transform: translateY(-1px);
}
.btn-outline-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: white;
  padding: 10px 22px;
  border-radius: 50px;
  font-weight: 600;
  font-size: .88rem;
  text-decoration: none;
  border: 1.5px solid rgba(255,255,255,.5);
  transition: all var(--transition);
}
.btn-outline-white:hover {
  color: white;
  background: rgba(255,255,255,.12);
  border-color: white;
}

/* ── IMPACT BAR (homepage stats band) ───────────────────────────── */
.impact-bar {
  background: var(--primary-blue);
  padding: 48px 0;
}
.impact-item { text-align: center; padding: 16px; }
.impact-num {
  font-size: 2.4rem;
  font-weight: 800;
  color: white;
  line-height: 1;
}
.impact-label {
  font-size: .78rem;
  color: rgba(255,255,255,.6);
  margin-top: 4px;
}

/* ── FEATURE CARDS ──────────────────────────────────────────────── */
.feature-card {
  background: white;
  border: 1px solid var(--light-grey);
  border-radius: var(--radius);
  transition: all var(--transition);
  overflow: hidden;
}
.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: transparent;
}
.feature-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
  margin-bottom: 12px;
}

/* ── KPI CARDS ──────────────────────────────────────────────────── */
.kpi-card {
  background: white;
  border: 1px solid var(--light-grey);
  border-radius: var(--radius);
  padding: 24px 20px;
  text-align: center;
  transition: all var(--transition);
}
.kpi-card:hover { box-shadow: var(--shadow); border-color: var(--accent-green); }
.kpi-card .num {
  font-size: 2rem;
  font-weight: 800;
  color: var(--primary-blue);
  line-height: 1;
}
.kpi-card .label { font-size: .8rem; color: var(--dark-grey); margin-top: 4px; }

/* ── STAT PILL ──────────────────────────────────────────────────── */
.stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  color: white;
  padding: 10px 18px;
  border-radius: var(--radius);
  font-size: .88rem;
}
.stat-pill .num { font-weight: 800; font-size: 1.4rem; color: white; margin-right: 6px; }
.stat-pill .big { font-weight: 800; font-size: 1.6rem; }

/* ── MISSION BADGE ──────────────────────────────────────────────── */
.mission-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--off-white);
  border: 1px solid var(--light-grey);
  padding: 6px 16px;
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--dark-grey);
  margin-bottom: 16px;
}

/* ── PROGRESS BARS ──────────────────────────────────────────────── */
.prog { margin-bottom: 14px; }
.prog-bar, .prog-wrap {
  height: 8px;
  background: var(--light-grey);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 4px;
}
.prog-fill {
  height: 100%;
  border-radius: 8px;
  transition: width 1s ease;
}
.prog-fill.fill-elec,
.prog-fill.active-elec  { background: linear-gradient(90deg, var(--accent-orange), #FFB347); }
.prog-fill.fill-water,
.prog-fill.active-water { background: linear-gradient(90deg, var(--mid-blue), var(--light-blue)); }
.prog-fill.fill-internet,
.prog-fill.active-internet { background: linear-gradient(90deg, var(--accent-green), var(--green-light)); }
.prog-fill:not([class*="fill-"]):not([class*="active-"]) {
  background: linear-gradient(90deg, var(--accent-green), var(--green-light));
}
.prog-val { font-size: .75rem; font-weight: 700; color: var(--dark-grey); }

/* ── SERVICE ICONS ──────────────────────────────────────────────── */
.service-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
}
.si-orange { background: linear-gradient(135deg, #FF8C00, #FFB347); }
.si-blue   { background: linear-gradient(135deg, var(--mid-blue), var(--light-blue)); }
.si-green  { background: linear-gradient(135deg, var(--accent-green), var(--green-light)); }

/* ── PILLAR ICON ────────────────────────────────────────────────── */
.pillar-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
}

/* ── WHY ICON ───────────────────────────────────────────────────── */
.why-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--off-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 12px;
}

/* ── PHASE CARDS ────────────────────────────────────────────────── */
.phase-card { overflow: visible !important;
  background: white;
  border: 1px solid var(--light-grey);
  border-radius: var(--radius);
  padding: 24px 20px;
  transition: all var(--transition);
  position: relative;
}
.phase-card.active,
.phase-card:hover {
  border-color: var(--accent-green);
  box-shadow: 0 0 0 2px rgba(26,122,74,.1);
}
.phase-num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--primary-blue);
  color: white;
  font-weight: 800;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.phase-card.active .phase-num { background: var(--accent-green); }

/* ── TIMELINE ───────────────────────────────────────────────────── */
.timeline-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding-bottom: 24px;
  position: relative;
}
.timeline-item:not(:last-child)::before {
  content: '';
  position: absolute;
  left: 11px;
  top: 24px;
  bottom: 0;
  width: 2px;
  background: var(--light-grey);
}
.tl-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 3px solid white;
  box-shadow: 0 0 0 2px var(--mid-blue);
  background: var(--mid-blue);
}
.tl-dot.green { background: var(--accent-green); box-shadow: 0 0 0 2px var(--accent-green); }
.tl-dot.orange { background: var(--accent-orange); box-shadow: 0 0 0 2px var(--accent-orange); }

/* ── STEP ITEMS ─────────────────────────────────────────────────── */
.step-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 0;
}
.step-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--primary-blue);
  color: white;
  font-weight: 700;
  font-size: .9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ── FUNDING MIX ────────────────────────────────────────────────── */
.funding-mix { display: flex; flex-direction: column; gap: 12px; }
.funding-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--off-white);
  border-radius: var(--radius);
  border: 1px solid var(--light-grey);
}
.funding-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}
.funding-pct { font-weight: 800; font-size: 1.2rem; color: var(--primary-blue); min-width: 52px; }
.funding-label { font-size: .85rem; color: var(--dark-grey); flex: 1; }
.funding-amount { font-weight: 700; color: var(--accent-green); font-size: .9rem; }

/* ── REVENUE BARS ───────────────────────────────────────────────── */
.rev-bar-wrap { flex: 1; }
/* .rev-bar kept as inline page style — no override */
.rev-icon { font-size: 1.4rem; margin-bottom: 6px; }
.rev-amount { font-weight: 800; font-size: 1.3rem; color: var(--primary-blue); }
.rev-fill { height: 100%; border-radius: 4px; transition: width 1s ease; /* background set inline per bar */ }

/* ── DOC CARDS ──────────────────────────────────────────────────── */
.doc-cards { display: flex; flex-direction: column; gap: 12px; }
.doc-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  color: white;
  text-decoration: none;
  transition: all var(--transition);
  cursor: pointer;
}
.doc-card:hover {
  background: rgba(255,255,255,.15);
  color: white;
  transform: translateX(4px);
}
.doc-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(26,122,74,.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.doc-title { font-size: .9rem; font-weight: 600; }
.doc-meta { font-size: .75rem; opacity: .6; }

/* ── CTA BOXES ──────────────────────────────────────────────────── */
.invest-cta, .about-cta, .cta-box {
  background: linear-gradient(135deg, var(--primary-blue) 0%, #0D3060 100%);
  color: white;
  border-radius: var(--radius-lg);
  padding: 48px 40px;
  text-align: center;
}
.join-cta {
  background: linear-gradient(135deg, var(--accent-green) 0%, #0B4A2A 100%);
  color: white;
  border-radius: var(--radius-lg);
  padding: 48px 40px;
  text-align: center;
}
.btn-join {
  display: inline-block;
  background: white;
  color: var(--accent-green);
  padding: 12px 28px;
  border-radius: 50px;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: all var(--transition);
}
.btn-join:hover {
  background: var(--off-white);
  color: var(--accent-green);
  transform: translateY(-2px);
}


/* ── VALUE CARDS ────────────────────────────────────────────────── */
.value-card {
  background: white;
  border: 1px solid var(--light-grey);
  border-radius: var(--radius);
  padding: 24px 16px;
  text-align: center;
  transition: all var(--transition);
}
.value-card:hover { border-color: var(--accent-green); transform: translateY(-3px); box-shadow: var(--shadow); }
.value-icon { font-size: 2rem; margin-bottom: 10px; }

/* ── TARGET COUNTRIES TABLE ─────────────────────────────────────── */
.table-wrap { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--light-grey); }
.table-countries { min-width: 700px; }
.table-countries th {
  background: var(--primary-blue);
  color: white;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 12px 16px;
  border: none;
  cursor: pointer;
  user-select: none;
}
.table-countries th.sortable:hover { background: var(--mid-blue); }
.table-countries td {
  padding: 12px 16px;
  font-size: .87rem;
  vertical-align: middle;
  border-color: var(--light-grey);
}
.table-countries tr:hover td { background: rgba(26,122,74,.04); }

/* ── FILTER BUTTONS (countries page) ────────────────────────────── */
.filter-btn {
  padding: 7px 18px;
  border-radius: 50px;
  border: 1.5px solid var(--light-grey);
  background: white;
  font-size: .82rem;
  font-weight: 600;
  color: var(--dark-grey);
  cursor: pointer;
  transition: all var(--transition);
}
.filter-btn:hover { border-color: var(--accent-green); color: var(--accent-green); }
.filter-btn.active {
  background: var(--accent-green);
  border-color: var(--accent-green);
  color: white;
}
.ind-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 50px;
  border: 1.5px solid var(--light-grey);
  background: white;
  font-size: .78rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
  color: var(--dark-grey);
}
.ind-filter.active-elec { background: #FFF3E0; border-color: var(--accent-orange); color: var(--accent-orange); }
.ind-filter.active-water { background: #E3F4FD; border-color: var(--mid-blue); color: var(--mid-blue); }
.ind-filter.active-internet { background: #E8F5EE; border-color: var(--accent-green); color: var(--accent-green); }

/* ── ACCESS STATS (countries detail) ───────────────────────────── */
.access-stat { margin-bottom: 10px; }
.access-bar { height: 7px; background: var(--light-grey); border-radius: 7px; overflow: hidden; margin-top: 3px; }
.countries-preview { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.country-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: var(--off-white);
  border: 1px solid var(--light-grey);
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--dark-grey);
}

/* ── CONTACT ────────────────────────────────────────────────────── */
.contact-info { display: flex; flex-direction: column; gap: 16px; }
.contact-info-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  background: var(--off-white);
  border: 1px solid var(--light-grey);
  border-radius: var(--radius);
  text-decoration: none;
  color: inherit;
  transition: all var(--transition);
}
.contact-info-card:hover {
  border-color: var(--accent-green);
  transform: translateX(3px);
  color: inherit;
}
.ci-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--off-white);
  border: 1.5px solid var(--light-grey);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ci-icon.ci-orange { background: #FFF3E0; border-color: #FFD580; }
.ci-icon.ci-blue   { background: #E8EFFF; border-color: #B8CCFF; }
.ci-icon.ci-green  { background: #E8F5EE; border-color: #B8DFCC; }
.ci-icon.ci-purple { background: #F3E8FF; border-color: #D4B8FF; }
.ci-title { font-size: .78rem; color: var(--dark-grey); }
.ci-value { font-weight: 700; font-size: .9rem; color: var(--primary-blue); }

/* ── SUBJECT PILLS (contact form) ───────────────────────────────── */
.subject-pill {
  padding: 8px 16px;
  border-radius: 50px;
  border: 1.5px solid var(--light-grey);
  background: white;
  font-size: .82rem;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.subject-pill:hover { border-color: var(--accent-green); }
.subject-pill.selected {
  background: var(--accent-green);
  border-color: var(--accent-green);
  color: white;
}

/* ── SOCIAL ─────────────────────────────────────────────────────── */
.social-link, .social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--off-white);
  color: var(--dark-grey);
  text-decoration: none;
  font-size: 1rem;
  border: 1px solid var(--light-grey);
  transition: all var(--transition);
}
.social-link:hover, .social-icon:hover {
  background: var(--accent-green);
  color: white;
  border-color: var(--accent-green);
}

/* ── MISSION VISUAL ─────────────────────────────────────────────── */
.mission-visual { position: relative; }

/* ── FORM ENHANCEMENTS ──────────────────────────────────────────── */
.form-control:focus, .form-select:focus {
  border-color: var(--accent-green);
  box-shadow: 0 0 0 3px rgba(26,122,74,.15);
}
.form-label { font-weight: 600; font-size: .875rem; color: var(--primary-blue); }

/* Success box */
#success-box { background: var(--off-white); border-radius: var(--radius-lg); padding: 48px 32px; }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .hero-section { padding: 80px 0 60px; min-height: auto; }
  .page-header { padding: 80px 0 48px; }
  .hero-cta-group { flex-direction: column; }
  .btn-hero-primary, .btn-hero-secondary { justify-content: center; }
  .impact-bar .col-6 { border-right: none !important; }
  .invest-cta, .about-cta, .cta-box, .join-cta { padding: 32px 20px; }
  .founder-section { padding: 28px 20px; }
  .table-countries { font-size: .8rem; }
}

/* ═══════════════════════════════════════════════════════════════
   CORRECTIFS FINAUX
   ═══════════════════════════════════════════════════════════════ */

/* ── Mission visual (index) — let inline HTML handle background ── */
.mission-visual { position: relative; }

/* ── Contact social links — horizontal card layout ── */
.social-link {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  color: var(--dark-grey, #4A5568) !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  width: 100% !important;
  height: auto !important;
  background: transparent !important;
  border: none !important;
  transition: background .2s !important;
  box-shadow: none !important;
}
.social-link:hover {
  background: var(--off-white, #F7F9FC) !important;
  color: var(--dark-grey, #4A5568) !important;
  transform: none !important;
}
.social-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
}

/* ── Leadership photos — restore correct sizes ── */
/* These match the inline CSS in leadership.html exactly */
.founder-photo {
  width: 200px !important;
  height: 200px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
.team-photo {
  width: 130px !important;
  height: 130px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
.team-photo-wrap {
  background: linear-gradient(135deg, #e8f4fd, #f0f8e8);
  padding: 24px 24px 0;
  display: flex !important;
  justify-content: center !important;
}
.team-photo-placeholder {
  width: 130px !important;
  height: 130px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ── Investors page specific ── */
.phase-card-col { overflow: visible !important; }
[class*="col-lg-4"] .phase-card { overflow: visible !important; }
