/* Final visual polish — intentionally conservative. The current content and brand are preserved; this file improves hierarchy, rhythm, readability, and mobile density. */

.preschool-v2 {
  --polish-shadow: 0 12px 32px rgba(36,75,59,.055);
  --polish-shadow-strong: 0 18px 42px rgba(36,75,59,.09);
}

.preschool-v2 .section {
  scroll-margin-top: 92px;
  padding-top: clamp(64px, 7vw, 88px);
  padding-bottom: clamp(64px, 7vw, 88px);
}

.preschool-v2 .eyebrow {
  line-height: 1.35;
}

/* HERO — keep the image, but make it feel like part of the opening story rather than a separate card. */
.preschool-v2 .preschool-hero {
  padding-top: 34px;
  padding-bottom: 66px;
}

.preschool-v2 .preschool-hero-grid {
  gap: 46px;
}

.preschool-v2 .preschool-hero-visual {
  border-radius: 26px;
  box-shadow: var(--polish-shadow-strong);
}

.preschool-v2 .preschool-hero-visual img {
  aspect-ratio: 3 / 2;
}

.preschool-v2 .preschool-hero-visual figcaption {
  display: grid;
  gap: 2px;
  padding: 11px 14px 12px;
}

.preschool-v2 .preschool-hero-visual figcaption strong,
.preschool-v2 .preschool-hero-visual figcaption span {
  display: block;
}

.preschool-v2 .preschool-hero-visual figcaption strong {
  color: var(--green);
  font-weight: 750;
}

.preschool-v2 .preschool-hero-copy h1 {
  max-width: 760px;
}

.preschool-v2 .opening-note {
  padding-top: 15px;
  border-top: 1px solid rgba(36,75,59,.10);
}

.preschool-v2 .hero-proof span {
  min-height: 64px;
}

.preschool-v2 .day-window {
  padding: 26px 28px;
  box-shadow: var(--polish-shadow);
}

.preschool-v2 .day-moment {
  padding-top: 14px;
  padding-bottom: 14px;
}

/* BENEFITS — remove excess height so the cards feel informative, not oversized. */
.preschool-v2 .present-value-grid {
  gap: 52px;
}

.preschool-v2 .benefit-grid {
  gap: 12px;
}

.preschool-v2 .benefit-grid article {
  min-height: 0;
  padding: 22px;
  box-shadow: var(--polish-shadow);
}

.preschool-v2 .benefit-grid article > span {
  width: 44px;
  height: 44px;
  margin-bottom: 15px;
}

.preschool-v2 .benefit-grid h3 {
  margin-bottom: 6px;
}

/* APPROACH — preserve the four methods, but reduce repetition in the vertical rhythm. */
.preschool-v2 .approach-layout {
  gap: 54px;
}

.preschool-v2 .approach-list {
  gap: 10px;
}

.preschool-v2 .approach-list article {
  padding: 21px 70px 21px 22px;
  box-shadow: 0 8px 22px rgba(36,75,59,.035);
}

.preschool-v2 .approach-list h3 {
  margin-bottom: 5px;
}

.preschool-v2 .approach-list .approach-example {
  margin-top: 10px !important;
  padding-top: 10px;
  font-size: .82rem;
  line-height: 1.48;
}

.preschool-v2 .approach-glyph {
  width: 38px;
  height: 38px;
  right: 20px;
  top: 20px;
}

/* CLASS CHOICES — reinforce the decision hierarchy without adding more decoration. */
.preschool-v2 .class-options-heading {
  margin-bottom: 28px;
}

.preschool-v2 .program-card {
  box-shadow: var(--polish-shadow);
}

.preschool-v2 .program-fit {
  line-height: 1.55;
}

.preschool-v2 .program-times {
  gap: 8px;
}

.preschool-v2 .program-times > div {
  min-height: 52px;
}

.preschool-v2 .program-price {
  margin-top: 16px;
}

/* TEACHER + SPACE — make this trust section easier to scan and visually calmer. */
.preschool-v2 .trust-preview-heading {
  margin-bottom: 28px;
}

.preschool-v2 .trust-preview-grid {
  gap: 16px;
}

.preschool-v2 .trust-preview-card {
  padding: 27px;
  box-shadow: var(--polish-shadow);
}

.preschool-v2 .trust-preview-card > p {
  line-height: 1.58;
}

.preschool-v2 .teacher-qualities {
  gap: 8px;
  margin-top: 20px;
}

.preschool-v2 .teacher-qualities div {
  padding: 13px 14px;
}

.preschool-v2 .teacher-qualities span {
  line-height: 1.45;
}

.preschool-v2 .meet-before-enroll {
  margin-top: 18px;
  padding: 15px 16px;
}

.preschool-v2 .actual-room-gallery {
  gap: 10px;
  margin-top: 20px;
}

.preschool-v2 .actual-room-photo {
  border-radius: 16px;
}

.preschool-v2 .actual-room-photo figcaption {
  padding: 11px 12px 12px;
}

.preschool-v2 .actual-room-photo figcaption strong,
.preschool-v2 .actual-room-photo figcaption span {
  display: block;
}

.preschool-v2 .trust-bottom-strip {
  margin-top: 16px;
  padding: 20px 22px;
}

/* OUTDOOR CONCEPT — the photo is already the hero; details should feel like a legend, not another article. */
.preschool-v2 .actual-room-photo.outdoor-concept figcaption {
  gap: 8px;
}

.preschool-v2 .outdoor-plan-list {
  gap: 6px;
}

.preschool-v2 .outdoor-plan-list > div {
  padding: 8px 9px;
}

.preschool-v2 .outdoor-plan-list b {
  font-size: .74rem;
}

.preschool-v2 .outdoor-plan-list span {
  font-size: .67rem;
  line-height: 1.35;
}

.preschool-v2 .outdoor-why {
  padding: 9px 10px;
}

/* NATURAL ENVIRONMENT — keep the illustrated rows parents liked, but give the copy a little more room. */
.preschool-v2 .natural-layout {
  gap: clamp(30px,5vw,64px);
}

.preschool-v2 .natural-section .natural-points article {
  grid-template-columns: 132px minmax(0,1fr) !important;
  column-gap: 22px !important;
  padding-top: 23px !important;
  padding-bottom: 23px !important;
}

.preschool-v2 .natural-section .natural-illustration {
  width: 132px !important;
  height: 118px !important;
  border-radius: 22px !important;
}

.preschool-v2 .natural-section .natural-points h3 {
  margin-bottom: 5px !important;
}

.preschool-v2 .natural-section .natural-points article > p {
  line-height: 1.52 !important;
}

/* FAQ — stay simple and tappable; no extra ornament. */
.preschool-v2 .preschool-faq-heading {
  margin-bottom: 24px;
}

.preschool-v2 .preschool-faq-list {
  gap: 8px;
}

.preschool-v2 .preschool-faq-list details {
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(36,75,59,.025);
}

.preschool-v2 .preschool-faq-list summary {
  min-height: 58px;
  padding-top: 14px;
  padding-bottom: 14px;
}

.preschool-v2 .faq-glyph {
  width: 28px;
  height: 28px;
  padding: 6px;
}

.preschool-v2 .preschool-faq-list summary::after {
  width: 26px;
  height: 26px;
}

/* FOUNDING FORM — shorten the perceived length while retaining every useful field. */
.preschool-v2 .founding-grid {
  gap: 42px;
}

.preschool-v2 .founding-copy h2 {
  margin-bottom: 12px;
}

.preschool-v2 .founding-steps {
  gap: 9px;
  margin-top: 22px;
}

.preschool-v2 .founding-steps b {
  width: 28px;
  height: 28px;
}

.preschool-v2 .founding-form {
  padding: 25px;
  box-shadow: 0 16px 42px rgba(0,0,0,.105);
}

.preschool-v2 .founding-form .form-row {
  gap: 12px;
}

.preschool-v2 .founding-form input,
.preschool-v2 .founding-form select,
.preschool-v2 .founding-form textarea {
  padding: 11px 12px;
}

.preschool-v2 .founding-form fieldset {
  margin-top: 17px;
}

.preschool-v2 .founding-form .full-label {
  margin-top: 15px;
}

.preschool-v2 .founding-choice-grid {
  gap: 7px;
}

.preschool-v2 .founding-choice-grid label {
  padding: 11px 12px;
}

.preschool-v2 .founding-form textarea {
  min-height: 88px;
}

.preschool-v2 .founding-form .button {
  margin-top: 19px;
}

.preschool-v2 .sibling-inner {
  padding-top: 24px;
  padding-bottom: 24px;
}

/* Tiny interaction polish. */
.preschool-v2 a:focus-visible,
.preschool-v2 button:focus-visible,
.preschool-v2 summary:focus-visible,
.preschool-v2 input:focus-visible,
.preschool-v2 select:focus-visible,
.preschool-v2 textarea:focus-visible {
  outline: 3px solid rgba(212,166,62,.38);
  outline-offset: 3px;
}

@media (max-width: 1020px) {
  .preschool-v2 .preschool-hero-grid {
    gap: 25px !important;
  }

  .preschool-v2 .present-value-grid,
  .preschool-v2 .approach-layout {
    gap: 32px;
  }
}

@media (max-width: 700px) {
  .preschool-v2 .section {
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .preschool-v2 .preschool-hero {
    padding-top: 16px !important;
    padding-bottom: 48px;
  }

  .preschool-v2 .preschool-hero-visual {
    border-radius: 18px;
  }

  .preschool-v2 .preschool-hero-visual img {
    aspect-ratio: 1.52 / 1;
  }

  .preschool-v2 .preschool-hero-visual figcaption {
    padding: 9px 11px 10px;
    font-size: .71rem;
  }

  .preschool-v2 .preschool-hero-copy h1 {
    font-size: 2.28rem;
    line-height: 1.045;
    margin-top: 12px;
  }

  .preschool-v2 .preschool-hero-copy .hero-lede {
    line-height: 1.5;
  }

  .preschool-v2 .hero-proof {
    margin-top: 20px;
  }

  .preschool-v2 .hero-proof span {
    min-height: 58px;
    padding: 9px 11px;
  }

  .preschool-v2 .hero-proof .visual-icon {
    width: 38px;
    height: 38px;
    padding: 9px;
  }

  .preschool-v2 .opening-note {
    margin-top: 17px;
    font-size: .83rem;
  }

  .preschool-v2 .day-window {
    padding: 22px;
    border-radius: 24px;
  }

  .preschool-v2 .day-window-head strong {
    font-size: 1.52rem;
  }

  .preschool-v2 .day-moment {
    grid-template-columns: 38px 1fr;
    gap: 12px;
    padding: 13px 0;
  }

  .preschool-v2 .day-moment .moment-mark {
    width: 35px;
    height: 35px;
    padding: 8px;
  }

  .preschool-v2 .benefit-grid article {
    padding: 20px;
    border-radius: 20px;
  }

  .preschool-v2 .benefit-grid article > span {
    width: 42px;
    height: 42px;
  }

  .preschool-v2 .approach-list article {
    padding: 19px 60px 19px 18px;
    border-radius: 19px;
  }

  .preschool-v2 .approach-glyph {
    width: 34px;
    height: 34px;
    right: 15px;
    top: 16px;
    padding: 8px;
  }

  .preschool-v2 .approach-list .approach-example {
    font-size: .79rem;
  }

  .preschool-v2 .program-card {
    border-radius: 21px;
  }

  .preschool-v2 .trust-preview-heading {
    margin-bottom: 22px;
  }

  .preschool-v2 .trust-preview-card {
    padding: 20px;
    border-radius: 21px;
  }

  .preschool-v2 .teacher-qualities {
    margin-top: 17px;
  }

  .preschool-v2 .teacher-qualities div {
    padding: 12px 13px;
  }

  .preschool-v2 .meet-before-enroll {
    margin-top: 15px;
    padding: 14px 15px;
  }

  .preschool-v2 .actual-room-gallery {
    margin-top: 18px;
  }

  .preschool-v2 .actual-room-photo figcaption {
    padding: 10px 11px 11px;
  }

  .preschool-v2 .trust-bottom-strip {
    padding: 18px;
    border-radius: 20px;
  }

  .preschool-v2 .natural-layout {
    gap: 22px;
  }

  .preschool-v2 .natural-section .natural-points article {
    grid-template-columns: 96px minmax(0,1fr) !important;
    column-gap: 14px !important;
    padding-top: 21px !important;
    padding-bottom: 21px !important;
  }

  .preschool-v2 .natural-section .natural-illustration {
    width: 96px !important;
    height: 96px !important;
    padding: 5px !important;
    border-radius: 18px !important;
  }

  .preschool-v2 .natural-section .natural-points h3 {
    font-size: 1.07rem !important;
    line-height: 1.23 !important;
    margin-top: 2px !important;
  }

  .preschool-v2 .natural-section .natural-points article > p {
    font-size: .84rem !important;
    line-height: 1.48 !important;
  }

  .preschool-v2 .preschool-faq-heading {
    margin-bottom: 20px;
  }

  .preschool-v2 .preschool-faq-list summary {
    min-height: 56px;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: .9rem;
  }

  .preschool-v2 .founding-grid {
    gap: 26px;
  }

  .preschool-v2 .founding-steps {
    margin-top: 19px;
  }

  .preschool-v2 .founding-form {
    padding: 18px;
    border-radius: 21px;
  }

  .preschool-v2 .founding-form label,
  .preschool-v2 .founding-form legend {
    font-size: .8rem;
  }

  .preschool-v2 .founding-choice-grid label {
    padding: 10px 11px;
  }

  .preschool-v2 .founding-form-note {
    font-size: .72rem;
  }

  .preschool-v2 .sibling-inner {
    padding-top: 22px;
    padding-bottom: 22px;
  }
}
