/* ══════════════════════════════════════════════════════
   VENTURE PAGE EXTRAS — loaded in addition to styles.css
   on mafunzo.html / maarifa.html / mapato.html / mabadiliko.html
   ══════════════════════════════════════════════════════ */

/* ── BREADCRUMB ── */
.venture-breadcrumb {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  margin-bottom: 1.6rem;
  animation: fadeUp 0.7s ease both;
}
.venture-breadcrumb:hover { color: var(--gold-light); }

/* ── EDUTAINMENT GRID ── */
.edu-grid {
  /* A plain auto-fit grid can strand a trailing card alone on its own row
     (with empty space beside it) at in-between tablet widths — flex +
     centering fixes that without changing the normal multi-per-row desktop
     layout. */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem;
  margin-top: 3rem;
}
.edu-card {
  flex: 1 1 240px;
  max-width: 310px;
  border-radius: 14px;
  padding: 1.7rem 1.5rem;
  background: var(--cream);
  border: 1px solid var(--border);
  transition: all 0.25s;
}
.edu-card:hover { border-color: var(--green-light); transform: translateY(-3px); }
.edu-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 0.6rem;
}
.edu-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--green-deep);
  margin-bottom: 0.5rem;
  line-height: 1.35;
}
.edu-desc {
  font-size: 0.87rem;
  color: var(--text-muted);
  line-height: 1.7;
  font-weight: 300;
}

/* ── PROCESS STEPS ── */
.process-steps {
  /* Same auto-fit orphan issue as .edu-grid above — flex + centering keeps
     the normal 4-per-row desktop layout but stops a trailing step card from
     being stranded alone at in-between tablet widths. */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.4rem;
  margin-top: 3rem;
  counter-reset: step;
}
.process-step {
  flex: 1 1 200px;
  max-width: 270px;
  position: relative;
  padding: 1.8rem 1.4rem 1.5rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
}
.process-step::before {
  counter-increment: step;
  content: counter(step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--green-deep);
  color: var(--gold-light);
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.05rem;
  margin-bottom: 0.9rem;
}
.process-step-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--green-deep);
  margin-bottom: 0.4rem;
}
.process-step-desc {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.65;
  font-weight: 300;
}

/* ── CTA BANNER ── */
.cta-banner {
  background: var(--green-deep);
  border-radius: 22px;
  padding: 3.2rem 2.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(201,151,58,0.22) 0%, transparent 55%);
  pointer-events: none;
}
.cta-banner-eyebrow {
  position: relative;
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 0.9rem;
}
.cta-banner-title {
  position: relative;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 700;
  color: var(--white);
  max-width: 620px;
  margin: 0 auto 0.9rem;
  line-height: 1.25;
}
.cta-banner-title em { font-style: italic; color: var(--gold-light); }
.cta-banner-sub {
  position: relative;
  font-size: 0.98rem;
  color: rgba(255,255,255,0.68);
  max-width: 520px;
  margin: 0 auto 1.8rem;
  font-weight: 300;
  line-height: 1.7;
}
.cta-banner-actions {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

/* ── WHATSAPP CTA BUTTON (inline, brand green) ── */
.btn-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  background: #25D366;
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
  padding: 0.85rem 1.8rem;
  border-radius: 8px;
  letter-spacing: 0.02em;
  transition: all 0.2s;
  border: none;
  cursor: pointer;
}
.btn-whatsapp:hover { background: #1ebe5a; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,211,102,0.35); }
.btn-whatsapp svg { width: 18px; height: 18px; fill: currentColor; flex-shrink: 0; }

/* ── STAT STRIP (reuses about-stat visual language, standalone) ── */
.venture-stats {
  /* There are always 3 stat cards here. A plain auto-fit grid fits 2 per row
     at common mobile widths, stranding the 3rd alone on the left with empty
     space beside it (same issue as the home page's 5-pillar grid) — flex +
     centering fixes that without changing the 3-per-row desktop layout. */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.4rem;
  max-width: 900px;
  margin: 3rem auto 0;
}
.venture-stat {
  flex: 1 1 160px;
  max-width: 300px;
  text-align: center;
  padding: 1.6rem 1rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
}
.venture-stat-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--green-deep);
  line-height: 1;
  margin-bottom: 0.4rem;
}
.venture-stat-label {
  font-size: 0.76rem;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.03em;
}

/* ── QUOTE CALLOUT ── */
.venture-quote {
  max-width: 680px;
  margin: 3rem auto 0;
  text-align: center;
  padding: 2rem 1.5rem;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.venture-quote p {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.4rem;
  color: var(--green-deep);
  line-height: 1.5;
}
.venture-quote span {
  display: block;
  margin-top: 0.8rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold);
}

@media (max-width: 720px) {
  .cta-banner { padding: 2.4rem 1.4rem; }
}

/* ══════════════════════════════════════════════════════
   READABILITY BUMP — venture pages only
   ══════════════════════════════════════════════════════ */
.hero-sub { font-size: 1.18rem; line-height: 1.85; }
.hero-pill { font-size: 0.9rem; padding: 0.45rem 1.1rem; }
.section-lead { font-size: 1.15rem; line-height: 1.9; }
.pillar-title { font-size: 1.7rem; }
.pillar-tagline { font-size: 0.88rem; }
.pillar-desc { font-size: 1.04rem; line-height: 1.85; }
.pillar-features li { font-size: 1rem; padding: 0.4rem 0; }
.pillar-audience { font-size: 0.88rem; }
.edu-title { font-size: 1.05rem; line-height: 1.4; }
.edu-desc { font-size: 0.98rem; line-height: 1.8; }
.process-step-title { font-size: 1.05rem; }
.process-step-desc { font-size: 0.96rem; line-height: 1.75; }
.venture-stat-num { font-size: 2.6rem; }
.venture-stat-label { font-size: 0.85rem; line-height: 1.5; }
.venture-quote p { font-size: 1.55rem; }
.cta-banner-sub { font-size: 1.06rem; line-height: 1.8; }
.cta-banner-title { font-size: clamp(1.85rem, 3.6vw, 2.6rem); }
.btn-primary, .btn-ghost, .btn-whatsapp { font-size: 0.98rem; }
.nav-links a { font-size: 0.92rem; }

/* ── RTL adjustments specific to venture pages ── */
html[dir="rtl"] .venture-breadcrumb { flex-direction: row-reverse; justify-content: flex-end; }
html[dir="rtl"] .hero-actions { flex-direction: row-reverse; justify-content: flex-end; }
html[dir="rtl"] .cta-banner-actions { flex-direction: row-reverse; }
html[dir="rtl"] .process-steps { direction: rtl; }
html[dir="rtl"] .edu-grid { direction: rtl; }

