.kindergarten-page {
  --kg-ink: #173252;
  --kg-muted: #5c7086;
  --kg-indigo: #625bd2;
  --kg-blue: #347fbd;
  --kg-teal: #249487;
  --kg-coral: #db705f;
  --kg-line: #d8e3ed;
  --kg-indigo-soft: #f1f0ff;
  --kg-blue-soft: #edf6ff;
  --kg-teal-soft: #ebf8f5;
}

.kindergarten-page main { overflow: hidden; color: var(--kg-ink); background: #fff; }
.kindergarten-page .kg-hero {
  padding-block: clamp(2.5rem, 6vw, 5.6rem);
  background:
    radial-gradient(circle at 8% 18%, rgb(98 91 210 / 10%) 0 8rem, transparent 8.1rem),
    radial-gradient(circle at 94% 82%, rgb(36 148 135 / 10%) 0 10rem, transparent 10.1rem),
    linear-gradient(145deg, #fff 0%, #fafaff 50%, #eff8ff 100%);
}
.kindergarten-page .kg-hero-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(1.5rem, 3vw, 3rem); }
.kindergarten-page .kg-hero-copy { text-align: center; }
.kindergarten-page .kg-hero-copy h1 { max-width: 14ch; margin: 0 auto 1rem; color: var(--kg-ink); font-family: var(--font-display); font-size: clamp(2.65rem, 5vw, 4.9rem); line-height: 1.02; text-wrap: balance; }
.kindergarten-page .kg-hero-copy :where(.section-kicker, .direct-answer) { max-width: 48rem; margin-inline: auto; }
.kindergarten-page .kg-hero-copy .direct-answer { color: var(--kg-muted); font-size: clamp(1.02rem, 1.45vw, 1.18rem); font-weight: 700; line-height: 1.82; }
.kindergarten-page .kg-hero-signals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .72rem; margin-block: 1.45rem; }
.kindergarten-page .kg-hero-signals span { min-height: 5.2rem; display: grid; place-items: center; gap: .35rem; padding: .8rem; border: 1px solid var(--kg-line); border-radius: 1.15rem; background: #fff; box-shadow: 0 .35rem 1rem rgb(23 50 82 / 7%); text-align: center; }
.kindergarten-page .kg-hero-signals img { width: 2.55rem; height: 2.55rem; object-fit: contain; }
.kindergarten-page :where(.kg-hero-copy, .kg-final-cta) .zv-actions { justify-content: center; }

.kindergarten-page .kg-image-slot { width: 100%; min-width: 0; aspect-ratio: 16 / 9; display: grid; place-items: center; margin: 0; overflow: hidden; border: 0; border-radius: 2rem; background: radial-gradient(circle at 14% 18%, rgb(52 127 189 / 17%) 0 5.5rem, transparent 5.6rem), radial-gradient(circle at 86% 82%, rgb(98 91 210 / 16%) 0 7rem, transparent 7.1rem), linear-gradient(145deg, #eef8ff, #f5f3ff 58%, #eef9f6); }
.kindergarten-page .kg-image-slot > div { display: grid; place-items: center; gap: .75rem; padding: 1.2rem; text-align: center; }
.kindergarten-page .kg-image-slot-art { width: 5.2rem; height: 5.2rem; display: grid; place-items: center; border-radius: 1.45rem; background: rgb(255 255 255 / 88%); box-shadow: 0 .6rem 1.4rem rgb(74 87 125 / 12%); }
.kindergarten-page .kg-image-slot-art img { width: 3.2rem; height: 3.2rem; }
.kindergarten-page .kg-image-slot figcaption { max-width: 33rem; display: grid; gap: .35rem; }
.kindergarten-page .kg-image-slot figcaption strong { font-family: var(--font-display); font-size: 1.3rem; }
.kindergarten-page .kg-image-slot figcaption span { color: var(--kg-muted); font-size: .92rem; font-weight: 700; line-height: 1.6; }
.kindergarten-page .kg-image-slot.kg-image-ready { aspect-ratio: auto; overflow: visible; border-radius: 0; background: transparent; }
.kindergarten-page .kg-image-slot.kg-image-ready :where(picture, img) { display: block; width: 100%; height: auto; object-fit: contain; }

.kindergarten-page :where(.kg-choice-section, .kg-map-section, .kg-routine-section, .kg-parent-section, .kg-boundary-section, .kg-faq-section) { padding-block: clamp(4.7rem, 8vw, 7rem); }
.kindergarten-page .kg-section-heading, .kindergarten-page .kg-faq-heading { max-width: 60rem; margin: 0 auto 1.6rem; text-align: center; }
.kindergarten-page :where(.kg-section-heading, .kg-faq-heading) h2 { margin: 0 0 .55rem; color: var(--kg-ink); font-family: var(--font-display); font-size: clamp(1.9rem, 4vw, 2.85rem); line-height: 1.08; text-wrap: balance; }
.kindergarten-page :where(.kg-section-heading, .kg-faq-heading) p { margin-inline: auto; color: var(--kg-muted); font-weight: 700; line-height: 1.7; }

.kindergarten-page .kg-choice-section { background: linear-gradient(180deg, #f7f6ff, #f1f8ff); }
.kindergarten-page .kg-choice-panel { max-width: 76rem; border: 1px solid #cedae6; border-radius: 2rem; background: #fff; box-shadow: 0 1rem 2.5rem rgb(31 55 88 / 9%); }
.kindergarten-page .kg-choice-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; }
.kindergarten-page .kg-choice-card { padding: 1.15rem .9rem; border: 1px solid var(--kg-line); border-radius: 1.3rem; background: #fff; text-align: center; }
.kindergarten-page .kg-choice-note { max-width: 67rem; margin: 1.3rem auto 0; padding: 1rem 1.2rem; border-inline-start: .3rem solid var(--kg-teal); border-radius: 1rem; background: var(--kg-teal-soft); color: var(--kg-muted); font-weight: 700; line-height: 1.7; text-align: center; }

.kindergarten-page :where(.kg-choice-card, .kg-map-card, .kg-parent-card, .kg-boundary-grid article) .zv-skill-icon { width: 3.7rem; height: 3.7rem; margin-bottom: .75rem; border-radius: 1.05rem; background: var(--kg-blue-soft); }
.kindergarten-page :where(.kg-choice-card, .kg-map-card, .kg-parent-card, .kg-boundary-grid article) .zv-skill-icon img { width: 2.3rem; height: 2.3rem; }
.kindergarten-page :where(.kg-choice-card, .kg-map-card, .kg-routine-steps li, .kg-parent-card, .kg-boundary-grid article) h3 { margin: 0 0 .55rem; color: var(--kg-ink); font-family: var(--font-display); font-size: 1.18rem; line-height: 1.25; }
.kindergarten-page :where(.kg-choice-card, .kg-map-card, .kg-routine-steps li, .kg-parent-card, .kg-boundary-grid article) p { margin: 0; color: var(--kg-muted); font-weight: 650; line-height: 1.65; }

.kindergarten-page .kg-divider { position: relative; z-index: 1; max-width: 34rem; height: 0; display: flex; align-items: center; justify-content: space-between; margin: 0 auto; padding-inline: 1rem; }
.kindergarten-page .kg-divider::before { content: ""; position: absolute; inset-inline: 2.6rem; top: 50%; height: .18rem; border-radius: 999px; background: linear-gradient(90deg, var(--kg-teal), var(--kg-blue), var(--kg-indigo), var(--kg-coral)); }
.kindergarten-page .kg-divider span { position: relative; width: 4.2rem; height: 4.2rem; display: grid; place-items: center; border: 1px solid var(--kg-line); border-radius: 1.2rem; background: #fff; box-shadow: 0 .65rem 1.35rem rgb(42 62 93 / 12%); }
.kindergarten-page .kg-divider img { width: 2.35rem; height: 2.35rem; object-fit: contain; }

.kindergarten-page .kg-map-section { background: linear-gradient(180deg, #fff, #f7fbff); }
.kindergarten-page .kg-map-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.kindergarten-page .kg-map-card { padding: 1.5rem; border: 1px solid var(--kg-line); border-top: .28rem solid var(--kg-indigo); border-radius: 1.55rem; background: #fff; box-shadow: 0 .75rem 1.7rem rgb(39 61 93 / 8%); text-align: center; }
.kindergarten-page .kg-map-card a { display: inline-block; margin-top: .9rem; color: #126d8c; font-weight: 850; }
.kindergarten-page .kg-routine-media { padding-block: clamp(3.8rem, 7vw, 6.2rem); background: #f7fbff; }
.kindergarten-page .kg-routine-image-slot { max-width: 74rem; margin-inline: auto; }

.kindergarten-page .kg-routine-section { background: linear-gradient(180deg, #f4f3ff, #fff); }
.kindergarten-page .kg-routine-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; margin: 0; padding: 0; list-style: none; }
.kindergarten-page .kg-routine-steps li { padding: 1.4rem 1rem; border: 1px solid var(--kg-line); border-radius: 1.45rem; background: #fff; box-shadow: 0 .7rem 1.6rem rgb(39 61 93 / 7%); text-align: center; }
.kindergarten-page .kg-routine-steps .zv-skill-step-number { width: 3.4rem; height: 3.4rem; margin: 0 auto 1rem; border-radius: 1rem; background: var(--kg-indigo-soft); color: var(--kg-indigo); font-family: var(--font-display); font-size: 1.4rem; font-weight: 900; }

.kindergarten-page .kg-parent-section { background: #fff; }
.kindergarten-page .kg-parent-grid, .kindergarten-page .kg-boundary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.kindergarten-page .kg-parent-card, .kindergarten-page .kg-boundary-grid article { padding: 1.5rem 1.2rem; border: 1px solid var(--kg-line); border-radius: 1.5rem; background: #fff; box-shadow: 0 .75rem 1.7rem rgb(39 61 93 / 8%); text-align: center; }
.kindergarten-page .kg-boundary-section { background: linear-gradient(180deg, #edf7ff, #f2faf8); }

.kindergarten-page .kg-faq-section { background: linear-gradient(180deg, #f7f6ff, #f4f8fc); }
.kindergarten-page .kg-faq-section .faq-grid { display: block; max-width: 76rem; }
.kindergarten-page .kg-faq-section .kg-faq-heading::before { content: none; display: none; }
.kindergarten-page .kg-faq-section .faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.kindergarten-page .kg-faq-section details { margin: 0; border: 1px solid var(--kg-line); border-inline-start: .28rem solid var(--kg-indigo); border-radius: 1.15rem; background: #fff; box-shadow: 0 .45rem 1rem rgb(38 58 88 / 6%); }
.kindergarten-page .kg-faq-section details:nth-child(4n + 2) { border-inline-start-color: var(--kg-teal); }
.kindergarten-page .kg-faq-section details:nth-child(4n + 3) { border-inline-start-color: var(--kg-coral); }
.kindergarten-page .kg-faq-section details:nth-child(4n + 4) { border-inline-start-color: var(--kg-blue); }
.kindergarten-page .kg-faq-section summary { min-height: 4.8rem; display: flex; align-items: center; padding: 1rem 1.05rem; color: var(--kg-ink); font-weight: 850; line-height: 1.45; }
.kindergarten-page .kg-faq-section details p { margin: 0; padding: 0 1.1rem 1.1rem; color: var(--kg-muted); font-weight: 650; line-height: 1.7; }
.kindergarten-page .kg-final-cta { text-align: center; }
.kindergarten-page .kg-final-cta p { max-width: 52rem; margin-inline: auto; }

@media (max-width: 68rem) {
  .kindergarten-page .kg-choice-grid, .kindergarten-page .kg-routine-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kindergarten-page .kg-map-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 52rem) {
  .kindergarten-page .kg-hero-grid { grid-template-columns: 1fr; }
  .kindergarten-page .kg-hero-copy h1 { font-size: clamp(2.35rem, 11vw, 3.55rem); }
  .kindergarten-page .kg-hero-signals { grid-template-columns: 1fr; }
  .kindergarten-page .kg-hero-signals span { min-height: 4.5rem; grid-template-columns: auto 1fr; }
  .kindergarten-page .kg-image-slot { aspect-ratio: 9 / 16; border-radius: 1.65rem; }
  .kindergarten-page .kg-image-slot.kg-image-ready { aspect-ratio: auto; border-radius: 0; }
  .kindergarten-page .kg-map-grid, .kindergarten-page .kg-parent-grid, .kindergarten-page .kg-boundary-grid, .kindergarten-page .kg-faq-section .faq-list { grid-template-columns: 1fr; }
  .kindergarten-page .kg-divider { max-width: 19rem; }
  .kindergarten-page .kg-divider span { width: 3.7rem; height: 3.7rem; }
  .kindergarten-page .kg-divider img { width: 2.05rem; height: 2.05rem; }
}

@media (max-width: 34rem) {
  .kindergarten-page .kg-choice-grid, .kindergarten-page .kg-routine-steps { grid-template-columns: 1fr; }
  .kindergarten-page :where(.kg-choice-section, .kg-map-section, .kg-routine-section, .kg-parent-section, .kg-boundary-section, .kg-faq-section) { padding-block: 4rem; }
}
