/* ============================================================
   Learning Success — ALL ACCESS page styles (ls/all-access)
   Reproduces the approved design (design-package/pages/all-access)
   using tokenized .ls-aa-* classes so copy stays in editable core
   blocks. Section order matches the all-access build spec:
     1 Hero · 2 Recognition · 3 Instinct · 4 Why-it-works · 5 Pillars
     6 Assessment+Roadmap · 7 Science-shift · 8 Bonuses · 9 Voices
     10 What-parents-see · 11 FAQ · 12 Close.
   Reuses shared components (.ls-photo-slot etc.) from components.css;
   tokens from tokens.css. Never redefines shared classes.
   ============================================================ */

.ls-aa { --ls-aa-read: 760px; }
.ls-aa h2 { font: var(--font-h1); color: var(--text-strong); letter-spacing: -0.01em; margin: 0; }
.ls-aa h3 { font: var(--font-h3); color: var(--text-strong); margin: 0; }
.ls-aa p  { font: var(--font-body-md); }

/* ---- shared reading prose (empathetic body copy) ---- */
.ls-aa-prose p { font: var(--font-body-md); font-size: 1.15rem; line-height: 1.7; color: var(--text-body); margin: 0 0 20px; }
.ls-aa-prose p:last-child { margin-bottom: 0; }

/* ---- shared eyebrow (kicker above section headers) ---- */
.ls-aa-kicker {
  font: var(--font-eyebrow); text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--color-secondary); display: block; margin-bottom: 12px;
}

/* ---- shared CTA block (button + microcopy), repeated 5× ---- */
.ls-aa-cta { text-align: center; margin-top: 56px; }
.ls-aa-cta__btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--blue-500); color: #fff; font: var(--font-label);
  font-size: 1.08rem; font-weight: 600; padding: 17px 34px;
  border-radius: var(--radius-pill); box-shadow: var(--shadow-md);
  transition: filter var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.ls-aa-cta__btn:hover { filter: brightness(0.94); }
.ls-aa-cta__btn:active { transform: scale(0.96); }
.ls-aa-cta__btn svg { width: 18px; height: 18px; }
.ls-aa-micro {
  display: flex; align-items: center; gap: 8px; justify-content: center; flex-wrap: wrap;
  font: var(--font-label); color: var(--text-muted); margin-top: 14px;
}
.ls-aa-micro svg { width: 16px; height: 16px; flex-shrink: 0; }

/* ================= SECTION 1 — HERO ================= */
.ls-aa-hero {
  position: relative; overflow: hidden; text-align: center;
  background: linear-gradient(180deg, var(--blue-50), var(--surface-card));
}
.ls-aa-hero::before, .ls-aa-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.ls-aa-hero::before { top: -50px; left: 8%; width: 180px; height: 180px; background: radial-gradient(circle, rgba(217,115,33,0.12), rgba(217,115,33,0)); animation: ls-float 8s var(--ease-out) infinite; }
.ls-aa-hero::after  { top: 30px; right: 9%; width: 150px; height: 150px; background: radial-gradient(circle, rgba(92,161,85,0.12), rgba(92,161,85,0)); animation: ls-float 10s var(--ease-out) infinite; }
.ls-aa-hero__inner { max-width: 860px; margin: 0 auto; padding: 84px 32px 76px; position: relative; }
.ls-aa-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--blue-100); color: var(--blue-700);
  font: var(--font-eyebrow); text-transform: uppercase; letter-spacing: 0.09em;
  padding: 8px 16px; border-radius: var(--radius-pill); margin-bottom: 24px;
}
.ls-aa-hero__eyebrow svg { width: 14px; height: 14px; }
.ls-aa-hero h1 {
  font: var(--font-hero); font-size: 3.5rem; color: var(--text-strong);
  margin: 0 0 22px; letter-spacing: -0.02em; line-height: 1.06;
}
.ls-aa-hero h1 .hl { color: var(--blue-500); }
.ls-aa-hero__sub { font: var(--font-body-md); font-size: 1.2rem; line-height: 1.65; color: var(--text-muted); max-width: 680px; margin: 0 auto 34px; }
.ls-aa-hero__actions { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.ls-aa-hero__actions .ls-aa-micro { margin-top: 0; }

/* ================= SECTION 2 — RECOGNITION ================= */
.ls-aa-recognition { padding: 84px 32px; }
.ls-aa-recognition__inner { max-width: 720px; margin: 0 auto; }
.ls-aa-recognition h2 { font-size: 2.1rem; text-align: center; margin: 0 0 28px; }

/* ================= SECTION 3 — INSTINCT WAS RIGHT ================= */
.ls-aa-instinct { background: var(--blue-50); padding: 84px 32px; position: relative; overflow: hidden; }
.ls-aa-instinct::before { content: ""; position: absolute; top: -40px; right: -30px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(77,114,188,0.08), rgba(77,114,188,0)); pointer-events: none; }
.ls-aa-instinct__inner { max-width: 760px; margin: 0 auto; position: relative; }
.ls-aa-instinct h2 { font-size: 2.1rem; text-align: center; margin: 0 0 28px; }
.ls-aa-instinct__lead { margin-bottom: 30px; }
.ls-aa-checks { display: flex; flex-direction: column; gap: 14px; margin: 0 0 30px; }
.ls-aa-check {
  display: flex; gap: 14px; align-items: flex-start;
  background: var(--surface-card); border-radius: var(--radius-lg);
  padding: 18px 22px; box-shadow: var(--shadow-sm);
}
.ls-aa-check svg { width: 24px; height: 24px; flex-shrink: 0; margin-top: 1px; }
.ls-aa-check p { font: var(--font-body-md); font-size: 1.1rem; line-height: 1.55; color: var(--text-body); margin: 0; }

/* ================= SECTION 4 — WHY IT WORKS ================= */
.ls-aa-why { padding: 88px 32px; }
.ls-aa-why__inner { max-width: 820px; margin: 0 auto; }
.ls-aa-why__head { text-align: center; margin-bottom: 20px; }
.ls-aa-why__head h2 { margin: 0 0 14px; }
.ls-aa-why__intro { font: var(--font-body-md); font-size: 1.15rem; color: var(--text-muted); max-width: 640px; margin: 0 auto; }
.ls-aa-reasons { display: flex; flex-direction: column; gap: 36px; margin-top: 44px; }
.ls-aa-reason { display: flex; gap: 22px; align-items: flex-start; }
.ls-aa-reason__num {
  flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%;
  background: var(--blue-500); color: #fff; display: flex; align-items: center; justify-content: center;
  font: var(--font-display); font-weight: 600; font-size: 1.3rem;
}
.ls-aa-reason h3 { font: var(--font-h3); font-size: 1.35rem; color: var(--text-strong); margin: 6px 0 12px; }
.ls-aa-pullquote {
  background: var(--blue-900); border-radius: var(--radius-2xl);
  padding: 44px 48px; position: relative; overflow: hidden;
}
.ls-aa-pullquote svg { position: absolute; top: 24px; left: 28px; width: 52px; height: 52px; }
.ls-aa-pullquote p {
  font: var(--font-display); font-weight: 500; font-size: 1.5rem; line-height: 1.5;
  color: #fff; margin: 0; position: relative; padding-left: 8px;
}

/* ================= SECTION 5 — THREE PILLARS ================= */
.ls-aa-pillars { background: var(--surface-page); padding: 88px 32px; }
.ls-aa-pillars__inner { max-width: 1080px; margin: 0 auto; }
.ls-aa-pillars__head { text-align: center; margin-bottom: 56px; }
.ls-aa-pillars__head h2 { margin: 0; }
.ls-aa-pillars__list { display: flex; flex-direction: column; gap: 32px; }
.ls-aa-pillar {
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 36px; align-items: center;
  background: var(--surface-card); border-radius: var(--radius-2xl); box-shadow: var(--shadow-sm); overflow: hidden;
}
.ls-aa-pillar--rev { grid-template-columns: 1fr 1.05fr; }
.ls-aa-pillar__body { padding: 44px 44px 44px 48px; }
.ls-aa-pillar--rev .ls-aa-pillar__body { padding: 44px 48px 44px 44px; }
.ls-aa-pillar__label { font: var(--font-eyebrow); text-transform: uppercase; letter-spacing: 0.09em; margin-bottom: 8px; }
.ls-aa-pillar h3 { font: var(--font-h2); font-size: 1.9rem; color: var(--text-strong); margin: 0 0 4px; }
.ls-aa-pillar__tag { font: var(--font-label); font-size: 1rem; font-weight: 600; margin: 0 0 16px; }
.ls-aa-pillar__lead { font: var(--font-body-md); font-size: 1.08rem; line-height: 1.6; color: var(--text-body); margin: 0 0 20px; }
.ls-aa-pillar__sub { font: var(--font-label); text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-faint); margin-bottom: 12px; }
.ls-aa-featlist { display: flex; flex-direction: column; gap: 10px; }
.ls-aa-feat { display: flex; gap: 10px; align-items: flex-start; font: var(--font-body-base); color: var(--text-body); }
.ls-aa-feat svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; }
.ls-aa-pillar__art { align-self: stretch; display: flex; align-items: center; justify-content: center; min-height: 320px; padding: 40px; }
.ls-aa-pillar__art .badge { width: 130px; height: 130px; border-radius: var(--radius-2xl); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-lg); }
.ls-aa-pillar__art .badge svg { width: 64px; height: 64px; }
/* colour variants */
.ls-aa-pillar--blue  .ls-aa-pillar__label { color: var(--blue-600); }
.ls-aa-pillar--blue  .ls-aa-feat svg { stroke: var(--blue-500); }
.ls-aa-pillar--blue  .ls-aa-pillar__art { background: linear-gradient(155deg, var(--blue-100), var(--blue-50)); }
.ls-aa-pillar--blue  .badge { background: var(--blue-500); }
.ls-aa-pillar--orange .ls-aa-pillar__tag,
.ls-aa-pillar--orange .ls-aa-pillar__label { color: var(--orange-600); }
.ls-aa-pillar--orange .ls-aa-feat svg { stroke: var(--orange-500); }
.ls-aa-pillar--orange .ls-aa-pillar__art { background: linear-gradient(155deg, var(--orange-100), var(--orange-50)); }
.ls-aa-pillar--orange .badge { background: var(--orange-500); }
.ls-aa-pillar--blue  .ls-aa-pillar__tag { color: var(--blue-600); }
.ls-aa-pillar--green .ls-aa-pillar__tag,
.ls-aa-pillar--green .ls-aa-pillar__label { color: var(--green-600); }
.ls-aa-pillar--green .ls-aa-feat svg { stroke: var(--green-500); }
.ls-aa-pillar--green .ls-aa-pillar__art { background: linear-gradient(155deg, var(--green-100), var(--green-50)); }
.ls-aa-pillar--green .badge { background: var(--green-500); }

/* ================= SECTION 6 — ASSESSMENT & ROADMAP ================= */
.ls-aa-assess { padding: 88px 32px; }
.ls-aa-assess__inner { max-width: 960px; margin: 0 auto; }
.ls-aa-assess__intro { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.ls-aa-assess__intro h2 { margin: 0 0 20px; }
.ls-aa-assess__intro p { font: var(--font-body-md); font-size: 1.15rem; line-height: 1.65; color: var(--text-muted); text-align: left; margin: 0; }
.ls-aa-subhead { font: var(--font-h2); font-size: 1.5rem; color: var(--text-strong); margin: 0 0 32px; text-align: center; }

/* (b) timeline */
.ls-aa-timeline { max-width: 760px; margin: 0 auto 64px; }
.ls-aa-tsteps { display: flex; flex-direction: column; position: relative; }
.ls-aa-tstep { display: flex; gap: 22px; }
.ls-aa-tstep__rail { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.ls-aa-tstep__bead {
  width: 44px; height: 44px; border-radius: 50%; background: var(--blue-500); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font: var(--font-display); font-weight: 600; font-size: 1.15rem; z-index: 1;
}
.ls-aa-tstep__bead--done { background: var(--green-500); }
.ls-aa-tstep__bead svg { width: 22px; height: 22px; }
.ls-aa-tstep__line { width: 2px; flex: 1; background: var(--blue-200); }
.ls-aa-tstep__body { padding-bottom: 32px; }
.ls-aa-tstep--last .ls-aa-tstep__body { padding-bottom: 0; }
.ls-aa-tstep__body h4 { font: var(--font-h3); font-size: 1.2rem; color: var(--text-strong); margin: 8px 0 6px; }
.ls-aa-tstep__body p { font: var(--font-body-base); line-height: 1.6; color: var(--text-muted); margin: 0; }

/* (c) what's in the Roadmap grid */
.ls-aa-roadmap { margin-bottom: 64px; }
.ls-aa-rmgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ls-aa-rmcard {
  display: flex; gap: 16px; background: var(--surface-card);
  border: 1.5px solid var(--border-subtle); border-radius: var(--radius-xl); padding: 24px;
}
.ls-aa-rmcard__num { flex-shrink: 0; font: var(--font-display); font-weight: 700; font-size: 1.3rem; color: var(--blue-300); }
.ls-aa-rmcard p { font: var(--font-body-base); line-height: 1.55; color: var(--text-body); margin: 0; }
.ls-aa-rmcard p strong { color: var(--text-strong); }

/* (d) comparison table */
.ls-aa-compare { margin-bottom: 36px; }
.ls-aa-compare__frame { overflow: hidden; border-radius: var(--radius-xl); border: 1.5px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.ls-aa-table { width: 100%; border-collapse: collapse; font: var(--font-body-base); }
.ls-aa-table th { text-align: left; padding: 18px 22px; background: var(--surface-page); border-bottom: 1.5px solid var(--border-subtle); }
.ls-aa-table thead th:nth-child(2) { font: var(--font-h3); font-size: 1.05rem; color: var(--text-muted); }
.ls-aa-table thead th:nth-child(3) { background: var(--blue-50); border-bottom-color: var(--blue-200); font: var(--font-h3); font-size: 1.05rem; color: var(--blue-700); }
.ls-aa-table td { padding: 16px 22px; border-bottom: 1px solid var(--border-subtle); color: var(--text-muted); vertical-align: top; }
.ls-aa-table tbody tr:last-child td, .ls-aa-table tbody tr:last-child td { border-bottom: none; }
.ls-aa-table td:first-child { font: var(--font-label); font-weight: 600; color: var(--text-strong); }
.ls-aa-table td:last-child { background: var(--blue-50); color: var(--text-body); }
.ls-aa-compare__note { font: var(--font-body-base); font-size: 0.95rem; line-height: 1.6; color: var(--text-muted); margin: 20px 4px 0; font-style: italic; }

/* (e) keep-it-forever */
.ls-aa-keep {
  background: var(--green-50); border: 1.5px solid var(--green-200); border-radius: var(--radius-2xl);
  padding: 40px 44px; display: flex; gap: 28px; align-items: center; flex-wrap: wrap;
}
.ls-aa-keep__icon {
  width: 76px; height: 76px; flex-shrink: 0; border-radius: var(--radius-2xl);
  background: var(--green-500); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-md);
}
.ls-aa-keep__icon svg { width: 38px; height: 38px; }
.ls-aa-keep__body { flex: 1; min-width: 280px; }
.ls-aa-keep__body h3 { font: var(--font-h2); font-size: 1.5rem; color: var(--text-strong); margin: 0 0 10px; }
.ls-aa-keep__body p { font: var(--font-body-md); font-size: 1.08rem; line-height: 1.6; color: var(--text-body); margin: 0; }

/* ================= SECTION 7 — SCIENCE SHIFT ================= */
.ls-aa-shift { background: var(--surface-page); padding: 88px 32px; }
.ls-aa-shift__inner { max-width: 1120px; margin: 0 auto; }
.ls-aa-shift__head { text-align: center; max-width: 720px; margin: 0 auto 52px; }
.ls-aa-shift__head h2 { margin: 0 0 16px; }
.ls-aa-shift__intro { font: var(--font-body-md); font-size: 1.12rem; color: var(--text-muted); margin: 0; }
.ls-aa-shiftgrid { display: grid; grid-template-columns: 1fr 1fr 1.15fr; gap: 22px; align-items: start; }
.ls-aa-model {
  background: var(--surface-card); border: 1.5px solid var(--border-subtle);
  border-radius: var(--radius-2xl); padding: 32px 28px;
}
.ls-aa-model--old { opacity: 0.92; }
.ls-aa-model--new { border-color: var(--green-200); }
.ls-aa-model--ls {
  background: linear-gradient(165deg, var(--blue-500), var(--blue-700));
  color: #fff; box-shadow: var(--shadow-xl); position: relative; overflow: hidden; border: none;
}
.ls-aa-model--ls::before { content: ""; position: absolute; top: -30px; right: -24px; width: 150px; height: 150px; border-radius: 50%; background: rgba(255,255,255,0.08); pointer-events: none; }
.ls-aa-model__title { font: var(--font-h3); font-size: 1.2rem; margin-bottom: 4px; position: relative; }
.ls-aa-model--old .ls-aa-model__title { color: var(--text-muted); }
.ls-aa-model--new .ls-aa-model__title { color: var(--text-strong); }
.ls-aa-model--ls  .ls-aa-model__title { color: #fff; }
.ls-aa-model__badge { font: var(--font-label); font-weight: 600; margin-bottom: 22px; position: relative; }
.ls-aa-model--old .ls-aa-model__badge { color: var(--red-600); }
.ls-aa-model--new .ls-aa-model__badge { color: var(--green-600); }
.ls-aa-model--ls  .ls-aa-model__badge { color: var(--yellow-400); }
.ls-aa-model__list { display: flex; flex-direction: column; gap: 14px; position: relative; }
.ls-aa-model__row { display: flex; gap: 11px; align-items: flex-start; font: var(--font-body-base); }
.ls-aa-model__row svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }
.ls-aa-model--old .ls-aa-model__row { color: var(--text-muted); }
.ls-aa-model--old .ls-aa-model__row svg { stroke: var(--red-500); }
.ls-aa-model--new .ls-aa-model__row { color: var(--text-body); }
.ls-aa-model--new .ls-aa-model__row svg { stroke: var(--green-500); }
.ls-aa-model--ls  .ls-aa-model__row { color: #fff; }
.ls-aa-model--ls  .ls-aa-model__row svg { fill: var(--yellow-400); }
.ls-aa-shift__closer { text-align: center; font: var(--font-display); font-weight: 500; font-size: 1.3rem; color: var(--text-strong); margin: 44px auto 0; max-width: 640px; }

/* ================= SECTION 8 — BONUSES ================= */
.ls-aa-bonus { padding: 88px 32px; }
.ls-aa-bonus__inner { max-width: 1080px; margin: 0 auto; }
.ls-aa-bonus__head { text-align: center; max-width: 720px; margin: 0 auto 52px; }
.ls-aa-bonus__head h2 { margin: 0 0 16px; }
.ls-aa-bonus__intro { font: var(--font-body-md); font-size: 1.12rem; color: var(--text-muted); margin: 0; }
.ls-aa-phase { margin-bottom: 40px; }
.ls-aa-phase--last { margin-bottom: 44px; }
.ls-aa-phase__head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 6px; flex-wrap: wrap; }
.ls-aa-phase__tag {
  font: var(--font-eyebrow); text-transform: uppercase; letter-spacing: 0.08em;
  padding: 6px 12px; border-radius: var(--radius-pill);
}
.ls-aa-phase__head h3 { font: var(--font-h3); font-size: 1.3rem; color: var(--text-strong); margin: 0; }
.ls-aa-phase__desc { font: var(--font-body-base); color: var(--text-muted); margin: 0 0 22px; font-style: italic; }
.ls-aa-phase--1 .ls-aa-phase__tag { color: var(--blue-600); background: var(--blue-50); }
.ls-aa-phase--2 .ls-aa-phase__tag { color: var(--orange-600); background: var(--orange-50); }
.ls-aa-phase--3 .ls-aa-phase__tag { color: var(--green-600); background: var(--green-50); }
.ls-aa-bcards { display: grid; gap: 20px; }
.ls-aa-bcards--2 { grid-template-columns: 1fr 1fr; }
.ls-aa-bcards--3 { grid-template-columns: 1fr 1fr 1fr; }
.ls-aa-bcard {
  background: var(--surface-card); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm); padding: 26px;
}
.ls-aa-phase--1 .ls-aa-bcard { border-top: 4px solid var(--blue-500); }
.ls-aa-phase--2 .ls-aa-bcard { border-top: 4px solid var(--orange-500); }
.ls-aa-phase--3 .ls-aa-bcard { border-top: 4px solid var(--green-500); }
.ls-aa-bcard__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.ls-aa-bcard h4 { font: var(--font-h3); font-size: 1.12rem; color: var(--text-strong); margin: 0; }
.ls-aa-bcards--3 .ls-aa-bcard h4 { font-size: 1.08rem; }
.ls-aa-bcard__val { font: var(--font-label); font-weight: 700; color: var(--green-600); white-space: nowrap; }
.ls-aa-bcard p { font: var(--font-body-base); line-height: 1.55; color: var(--text-muted); margin: 0; }
.ls-aa-totalband {
  background: var(--blue-900); border-radius: var(--radius-2xl);
  padding: 40px 44px; text-align: center; position: relative; overflow: hidden;
}
.ls-aa-totalband::before { content: ""; position: absolute; bottom: -50px; left: -30px; width: 180px; height: 180px; border-radius: 50%; background: rgba(247,247,64,0.08); pointer-events: none; }
.ls-aa-totalband__sub { font: var(--font-label); font-size: 1rem; color: var(--blue-200); margin: 0 0 12px; position: relative; }
.ls-aa-totalband__total { font: var(--font-display); font-weight: 700; font-size: 1.7rem; line-height: 1.4; color: #fff; margin: 0; position: relative; }
.ls-aa-totalband__total .amt { color: var(--yellow-400); }

/* ================= SECTION 9 — PARENT VOICES ================= */
.ls-aa-voices { background: var(--surface-page); padding: 88px 32px; }
.ls-aa-voices__inner { max-width: 1080px; margin: 0 auto; }
.ls-aa-voices__head { text-align: center; margin-bottom: 48px; }
.ls-aa-voices__head h2 { margin: 0; }
.ls-aa-voice-lead {
  background: var(--surface-card); border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-md); border-top: 4px solid var(--blue-500);
  padding: 40px 44px; margin-bottom: 24px;
}
.ls-aa-voice-lead__q { width: 40px; height: 40px; margin-bottom: 12px; }
.ls-aa-voice-lead blockquote { margin: 0 0 22px; }
.ls-aa-voice-lead blockquote p { font: var(--font-body-md); font-size: 1.3rem; line-height: 1.6; color: var(--text-body); margin: 0; }
.ls-aa-cite { font: var(--font-label); font-weight: 600; color: var(--text-strong); }
.ls-aa-cite span { color: var(--text-muted); font-weight: 500; }
.ls-aa-voice-wall { column-count: 2; column-gap: 24px; }
.ls-aa-voice {
  break-inside: avoid; background: var(--surface-card); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm); padding: 28px; margin-bottom: 24px;
}
.ls-aa-stars { display: flex; gap: 3px; margin-bottom: 14px; }
.ls-aa-stars svg { width: 17px; height: 17px; fill: var(--yellow-500); }
.ls-aa-voice blockquote { margin: 0 0 18px; }
.ls-aa-voice blockquote p { font: var(--font-body-base); font-size: 1.05rem; line-height: 1.6; color: var(--text-body); margin: 0; }

/* ================= SECTION 10 — WHAT PARENTS SEE ================= */
.ls-aa-timeframes { padding: 88px 32px; }
.ls-aa-timeframes__inner { max-width: 1080px; margin: 0 auto; }
.ls-aa-timeframes__head { text-align: center; max-width: 720px; margin: 0 auto 48px; }
.ls-aa-timeframes__head h2 { margin: 0 0 16px; }
.ls-aa-timeframes__intro { font: var(--font-body-md); font-size: 1.12rem; color: var(--text-muted); margin: 0; }
.ls-aa-tfgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ls-aa-tfcard { background: var(--surface-card); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); padding: 32px; }
.ls-aa-tfcard__icon { width: 52px; height: 52px; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.ls-aa-tfcard__icon svg { width: 26px; height: 26px; }
.ls-aa-tfcard--blue .ls-aa-tfcard__icon { background: var(--blue-50); }
.ls-aa-tfcard--blue .ls-aa-tfcard__icon svg { stroke: var(--blue-500); }
.ls-aa-tfcard--orange .ls-aa-tfcard__icon { background: var(--orange-50); }
.ls-aa-tfcard--orange .ls-aa-tfcard__icon svg { stroke: var(--orange-500); }
.ls-aa-tfcard--green .ls-aa-tfcard__icon { background: var(--green-50); }
.ls-aa-tfcard--green .ls-aa-tfcard__icon svg { stroke: var(--green-500); }
.ls-aa-tfcard h3 { font: var(--font-h3); font-size: 1.2rem; color: var(--text-strong); margin: 0 0 16px; }
.ls-aa-tflist { display: flex; flex-direction: column; gap: 12px; }
.ls-aa-tfitem { display: flex; gap: 10px; align-items: flex-start; font: var(--font-body-base); color: var(--text-body); }
.ls-aa-tfitem svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; stroke: var(--green-500); }

/* ================= SECTION 11 — FAQ ================= */
.ls-aa-faq { background: var(--surface-page); padding: 88px 32px; }
.ls-aa-faq__inner { max-width: 820px; margin: 0 auto; }
.ls-aa-faq__head { text-align: center; margin-bottom: 44px; }
.ls-aa-faq__head h2 { margin: 0; }
.ls-aa-faq__list { display: flex; flex-direction: column; gap: 12px; }
.ls-aa-faq details { background: var(--surface-card); border: 1.5px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 4px 24px; }
.ls-aa-faq summary {
  font: var(--font-h3); font-size: 1.12rem; color: var(--text-strong); padding: 20px 0;
  cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.ls-aa-faq summary::-webkit-details-marker { display: none; }
.ls-aa-faq summary .chev { width: 20px; height: 20px; flex-shrink: 0; stroke: var(--text-faint); transition: transform 0.2s var(--ease-out); }
.ls-aa-faq details[open] summary .chev { transform: rotate(90deg); }
.ls-aa-faq details p { font: var(--font-body-md); font-size: 1.05rem; line-height: 1.65; color: var(--text-muted); margin: 0 0 20px; }

/* ================= SECTION 12 — CLOSE ================= */
.ls-aa-close { padding: 0 32px 96px; }
.ls-aa-close__card {
  max-width: 1080px; margin: 0 auto;
  background: linear-gradient(150deg, var(--blue-500), var(--blue-700));
  border-radius: var(--radius-2xl); padding: 72px 48px; text-align: center; position: relative; overflow: hidden;
}
.ls-aa-close__card::before { content: ""; position: absolute; top: -40px; right: -20px; width: 200px; height: 200px; border-radius: 50%; background: rgba(255,255,255,0.08); pointer-events: none; }
.ls-aa-close__card::after  { content: ""; position: absolute; bottom: -70px; left: -30px; width: 240px; height: 240px; border-radius: 50%; background: rgba(247,247,64,0.08); pointer-events: none; }
.ls-aa-close__card h2 { color: #fff; margin: 0 auto 26px; position: relative; max-width: 720px; }
.ls-aa-close__body { max-width: 660px; margin: 0 auto 32px; position: relative; }
.ls-aa-close__body p { font: var(--font-body-md); font-size: 1.15rem; line-height: 1.7; color: var(--blue-100); margin: 0 0 20px; }
.ls-aa-close__body p:last-child { margin-bottom: 0; }
.ls-aa-close__actions { display: flex; flex-direction: column; align-items: center; gap: 14px; position: relative; }
.ls-aa-close__btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--orange-500); color: #fff; font: var(--font-label);
  font-size: 1.1rem; font-weight: 600; padding: 18px 36px;
  border-radius: var(--radius-pill); box-shadow: var(--shadow-lg);
  transition: filter var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.ls-aa-close__btn:hover { filter: brightness(0.94); }
.ls-aa-close__btn:active { transform: scale(0.96); }
.ls-aa-close__btn svg { width: 18px; height: 18px; }
.ls-aa-close__micro { color: var(--blue-100); }
.ls-aa-close__micro svg { stroke: var(--yellow-400); }

/* ================= RESPONSIVE ================= */
@media (max-width: 900px) {
  .ls-aa-hero h1 { font-size: 2.6rem; }
  .ls-aa-pillar, .ls-aa-pillar--rev { grid-template-columns: 1fr; }
  .ls-aa-pillar__art { order: 2 !important; min-height: 220px; }
  .ls-aa-pillar__body, .ls-aa-pillar--rev .ls-aa-pillar__body { order: 1; padding: 36px 32px; }
  .ls-aa-shiftgrid { grid-template-columns: 1fr; }
  .ls-aa-tfgrid { grid-template-columns: 1fr; }
  .ls-aa-voice-wall { column-count: 1; }
}
@media (max-width: 768px) {
  .ls-aa-rmgrid { grid-template-columns: 1fr; }
  .ls-aa-bcards--2, .ls-aa-bcards--3 { grid-template-columns: 1fr; }
  /* comparison table collapses to stacked rows */
  .ls-aa-table, .ls-aa-table thead, .ls-aa-table tbody, .ls-aa-table th, .ls-aa-table td, .ls-aa-table tr { display: block; }
  .ls-aa-table thead { display: none; }
  .ls-aa-table tr { border-bottom: 1.5px solid var(--border-subtle); padding: 8px 0; }
  .ls-aa-table tr:last-child { border-bottom: none; }
  .ls-aa-table td { border-bottom: none; padding: 8px 20px; }
  .ls-aa-table td:first-child { padding-top: 14px; }
  .ls-aa-table td:last-child { background: transparent; padding-bottom: 14px; }
  .ls-aa-table td:nth-child(2)::before { content: "Traditional: "; font-weight: 600; color: var(--text-strong); }
  .ls-aa-table td:nth-child(3)::before { content: "Learning Success: "; font-weight: 600; color: var(--blue-700); }
}
@media (max-width: 560px) {
  .ls-aa-hero h1 { font-size: 2.2rem; }
  .ls-aa-pullquote { padding: 40px 28px 28px; }
  .ls-aa-pullquote p { font-size: 1.25rem; }
  .ls-aa-close__card { padding: 56px 28px; }
}
