/* Spark's essential story should remain clear when only headings are read. */
.sp-enrollment-status {
  max-width: 760px;
  margin: 24px auto;
  padding: clamp(18px, 3vw, 28px);
  border-left: 4px solid #3D6B62;
  background: #EFF5F2;
  color: #2E2E2E;
  text-align: left;
}
.sp-enrollment-status h2 { margin: 0 0 8px; font: 600 clamp(22px, 3vw, 28px)/1.2 'DM Sans', sans-serif; color: #3D6B62; }
.sp-enrollment-status p { margin: 0; font: 400 16px/1.55 'DM Sans', sans-serif; }
.sp-scan-page .sp-h1 { font-size: clamp(36px, 4.6vw, 64px); line-height: 1.1; letter-spacing: -0.025em; max-width: 20ch; }
.sp-scan-page .sp-h2 { font-size: clamp(30px, 3.8vw, 46px); line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 24px; }
.sp-scan-page .sp-h1 span, .sp-scan-page .sp-h2 span { white-space: normal !important; }
.sp-scan-page .sp-section { padding: clamp(40px, 5vw, 72px) clamp(20px, 4vw, 40px); }
.sp-scan-page .sp-hero { padding: clamp(32px, 5vw, 64px) 20px 32px; }
.sp-scan-page .sp-hero::before, .sp-scan-page .sp-hero::after { display: none; }
.sp-scan-page .sp-hero-inner { max-width: 1120px; }
.sp-scan-page .sp-hero-image { margin-top: 28px; }
.sp-scan-page .sp-hero-image img { display: block; width: 100%; height: clamp(220px, 34vw, 400px); object-fit: cover; }
.sp-scan-page .sp-hero-sub, .sp-scan-lead { max-width: 60ch; font: 400 clamp(19px, 2vw, 23px)/1.5 'DM Sans', sans-serif; margin: 20px auto; }
.sp-scan-page .sp-hero-accent-dots { display: none; }
.sp-scan-page .sp-trust-line { margin-top: 18px; }
.sp-scan-page .sp-hero-ctas { margin: 24px 0 0; }
.sp-scan-page .sp-program-facts { margin: 18px 0 0; gap: 10px; }
.sp-scan-page .sp-program-facts li { font-size: 16px; border-radius: 4px; }
.sp-scan-page .sp-tour-invitation { width: 100%; margin: 28px 0 0; }
.sp-scan-page .sp-tour-invitation h2 { font-size: clamp(25px, 3vw, 32px); }
.sp-scan-page .sp-tour-invitation .sp-tour-eyebrow { display: none; }
.sp-scan-page .sp-tuition-main, .sp-scan-page .sp-tuition-card { margin-top: 24px; }
.sp-scan-page .sp-tuition-header { padding: 20px; }
.sp-scan-page .sp-tuition-body { padding: 20px; }
.sp-scan-page .sp-tuition-schedule-row { padding: 16px 0; }
.sp-scan-page .sp-tuition-header-price { font-size: clamp(34px, 5vw, 48px); }
.sp-scan-page .sp-tuition-note { margin-top: 20px; padding: 20px; }
.sp-scan-page .sp-tuition-details { margin-top: 20px !important; }
.sp-scan-page .sp-tuition-details span { white-space: normal !important; }
.sp-scan-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 28px 0; text-align: left; }
.sp-scan-benefits h3 { font: 600 clamp(24px, 2.8vw, 30px)/1.2 'DM Sans', sans-serif; color: #3D6B62; margin: 0 0 12px; }
.sp-scan-benefits p { font: 400 17px/1.6 'DM Sans', sans-serif; margin: 0; }
.sp-scan-details { max-width: 1120px; margin: 24px auto; border-top: 1px solid #9BB8AD; border-bottom: 1px solid #9BB8AD; }
.sp-scan-details > summary { padding: 24px 20px; cursor: pointer; color: #3D6B62; font: 600 clamp(23px, 3vw, 30px)/1.3 'DM Sans', sans-serif; }
.sp-scan-details > summary:focus-visible { outline: 3px solid #3D6B62; outline-offset: 3px; }
.sp-scan-program [data-section="tuition"] .sp-h2 { text-align: center; }
.sp-scan-status-wrap { padding: 0 20px; }
.sp-scan-home .sp-scan-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; text-align: left; }
.sp-scan-home .sp-scan-intro { min-width: 0; }
.sp-scan-home .sp-h1, .sp-scan-home .sp-scan-lead { margin-left: 0; }
.sp-scan-home .sp-hero-ctas { justify-content: flex-start; }
.sp-scan-home .sp-hero-image { margin: 0; }
.sp-scan-home .sp-hero-image img { height: 420px; border-radius: 8px; }
.sp-scan-home .sp-compact-card { min-height: 0; }
.sp-scan-home .sp-compact-title { font-size: clamp(23px, 2.4vw, 29px); }
.sp-scan-home .sp-compact-age { font-size: 16px; }
.sp-scan-home .sp-compact-meta { font-size: 17px; flex-wrap: wrap; }
.sp-scan-home .sp-program-status { margin: 10px 0; font: 600 16px/1.4 'DM Sans', sans-serif; color: #3D6B62; }
.sp-scan-home .sp-split-text p { font-size: 19px; line-height: 1.6; }
.sp-scan-home .sp-compact-supp-title { font-size: clamp(28px, 3vw, 36px); }
.sp-scan-page .sp-btn-gold { font-size: 17px; min-height: 48px; }
@media (max-width: 767px) {
  .sp-scan-home .sp-scan-hero-grid { display: flex; flex-direction: column; gap: 24px; align-items: stretch; }
  .sp-scan-home .sp-hero-image { order: 2; }
  .sp-scan-home .sp-hero-image img { height: 230px; }
  .sp-scan-home .sp-hero-ctas { align-items: flex-start; }
  .sp-scan-benefits { grid-template-columns: 1fr; gap: 28px; }
  .sp-scan-page .sp-hero-sub { font-size: 19px; }
  .sp-scan-page .sp-trust-line { gap: 10px; }
  .sp-scan-page .sp-trust-line span { font-size: 14px; }
  .sp-scan-page .sp-compact-top { align-items: flex-start; }
  .sp-scan-page .sp-compact-body { padding: 20px 16px; }
  .sp-scan-page .sp-compact-title { line-height: 1.15; }
  .sp-scan-page .sp-tour-reassurance { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-scan-page *, .sp-scan-page *::before, .sp-scan-page *::after { animation: none !important; transition: none !important; }
}

.sp-scan-page { font-family: 'DM Sans', sans-serif; font-size: 17px; line-height: 1.6; }
.sp-scan-page .sp-h1, .sp-scan-page .sp-h2 { font-family: 'Playfair Display', serif; }
.sp-scan-page .sp-btn-gold, .sp-scan-page .sp-btn-gold:visited, .sp-scan-page .sp-btn-gold:hover {
 background: #C49826; border-color: #C49826; color: #2E2E2E; text-decoration: none;
}
.sp-scan-home .sp-scan-intro { text-align: left; }
.sp-scan-home .sp-hero-phone-link { font: 600 17px/1.5 'DM Sans', sans-serif; color: #3D6B62; }
.sp-scan-home .sp-scan-intro p { margin-bottom: 16px; }
.sp-scan-page .sp-hero * { animation: none; }

.sp-scan-program .sp-hero-inner { display: block; }
.sp-scan-program .sp-h1 { margin: 0 auto 20px; }
.sp-scan-program .sp-hero-sub { margin: 0 auto 20px; }
.sp-scan-program .sp-enrollment-status { margin: 20px 0; }

.sp-scan-home .sp-scan-intro .sp-h1 { text-align: left; }

.sp-resource-answer { margin: 24px auto; max-width: 760px; padding: clamp(20px, 3vw, 30px); background: #FBFAF8; border-left: 4px solid #3D6B62; text-align: left; font: 400 17px/1.6 'DM Sans', sans-serif; }
.sp-resource-answer h2 { font: 600 clamp(25px, 3vw, 32px)/1.2 'DM Sans', sans-serif; color: #3D6B62; margin: 0 0 16px; }
.sp-resource-answer ul { margin: 0 0 16px; padding-left: 22px; }
.sp-resource-answer li { margin-bottom: 10px; }
.sp-resource-answer a { color: #3D6B62; text-decoration: underline; }
.sp-resource-answer p { margin: 12px 0 0; }
