/* ─────────────────────────────────────────────────────────────────────────
 * clever-prep-services.css
 * Shared styles for /services/tutoring/ and /services/admissions/.
 * Hero + section-head + final-cta tuning. Body sections rely on the
 * recipe library (stack, hiw-tabs, stats, faq, cta).
 * ───────────────────────────────────────────────────────────────────────── */

/* ── Hero (shared across both services pages) ─────────────────────────── */
.cp-svctut-hero,
.cp-svcadm-hero {
  position: relative;
  background: var(--cp-cream-bg, #F7F4ED);
  padding: clamp(96px, 14vw, 160px) clamp(20px, 5vw, 64px) clamp(72px, 9vw, 110px);
  text-align: center;
  overflow: hidden;
}
.cp-svctut-hero__inner,
.cp-svcadm-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.cp-svctut-hero__title,
.cp-svcadm-hero__title {
  font-family: var(--cp-font-heading, Georgia, serif);
  font-weight: 400;
  font-size: clamp(40px, 6vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--cp-text-headline, #28354A);
  margin: 0;
  animation: cp-svc-reveal 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) 0.15s both;
}
@keyframes cp-svc-reveal {
  from { opacity: 0; filter: blur(20px); }
  to   { opacity: 1; filter: blur(0); }
}
.cp-svctut-hero__body,
.cp-svcadm-hero__body {
  font-size: clamp(15px, 1.6vw, 19px);
  line-height: 1.55;
  color: var(--cp-text-secondary, #4a5568);
  margin: 0;
  max-width: 620px;
}
.cp-svctut-hero__ctas,
.cp-svcadm-hero__ctas {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 6px;
  width: auto !important;
}

/* ── Section heads (shared) ───────────────────────────────────────────── */
.cp-svctut-tracks,
.cp-svctut-how,
.cp-svctut-stats,
.cp-svctut-faq,
.cp-svcadm-features,
.cp-svcadm-process,
.cp-svcadm-faq {
  padding: clamp(64px, 9vw, 120px) clamp(20px, 5vw, 64px);
}
.cp-svctut-tracks,
.cp-svctut-stats,
.cp-svcadm-features {
  background: #fff;
}
.cp-svctut-how,
.cp-svctut-faq,
.cp-svcadm-process,
.cp-svcadm-faq {
  background: var(--cp-cream-bg, #F7F4ED);
}
.cp-svctut-tracks__inner,
.cp-svctut-how__inner,
.cp-svctut-stats__inner,
.cp-svctut-faq__inner,
.cp-svcadm-features__inner,
.cp-svcadm-process__inner,
.cp-svcadm-faq__inner {
  max-width: 1120px;
  margin: 0 auto;
}
[class*="cp-svctut-"][class*="__head"],
[class*="cp-svcadm-"][class*="__head"] {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(36px, 5vw, 56px);
}
[class*="cp-svctut-"][class*="__title"],
[class*="cp-svcadm-"][class*="__title"] {
  font-family: var(--cp-font-heading, Georgia, serif);
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--cp-text-headline, #28354A);
  margin: 0;
  max-width: 720px;
}

/* Tracks per-card CTA row */
.cp-svctut-tracks__cta-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  margin-top: clamp(20px, 3vw, 32px);
  width: auto !important;
}

/* Final CTA overrides (dot-grid on orange band) */
.cp-svctut-final-cta,
.cp-svcadm-final-cta {
  --cp-r-dot-color: #ffffff;
  --cp-r-dot-size: 22px;
  --cp-r-dot-opacity: 0.32;
  max-width: 1120px;
  margin: clamp(48px, 8vw, 96px) auto;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .cp-svctut-hero__title,
  .cp-svcadm-hero__title { animation: none; opacity: 1; filter: none; }
}
