/* Desktop-only refinement. This file is loaded only at 721px and wider. */

body {
  min-width: 721px;
}

.hero {
  padding-top: 0;
}

.hero .hero-composed {
  grid-template-columns: minmax(500px, 1.08fr) minmax(430px, 0.92fr) !important;
  column-gap: clamp(34px, 4vw, 68px) !important;
  width: min(1280px, calc(100% - 48px)) !important;
  padding: 34px 24px 42px !important;
}

.hero .hero-composed-visual {
  max-width: 680px !important;
}

.hero .hero-map,
.hero .hero-kids-original {
  max-width: 680px !important;
}

.hero .hero-composed-copy h1 {
  width: 100% !important;
  max-width: 520px !important;
  font-size: clamp(3.25rem, 4.6vw, 4.65rem) !important;
  text-align: center !important;
}

.hero .hero-sub,
.hero .hero-world,
.hero .hero-lead {
  width: 100% !important;
  text-align: center !important;
}

.hero .hero-lead {
  max-width: 500px !important;
  font-size: clamp(0.95rem, 1.05vw, 1.08rem) !important;
}

.hero .hero-mini-info {
  width: min(100%, 470px) !important;
  max-width: 470px !important;
}

.hero .hero-info {
  width: min(100%, 1160px) !important;
  padding: 16px 24px !important;
}

.hero .hero-info div {
  min-height: 66px !important;
  padding-inline: 20px !important;
}

.soft-section,
.white-section,
.green-section,
.faq-section,
.teacher-section,
.trial-section,
.voices {
  padding-block: clamp(68px, 6vw, 92px);
  padding-inline: clamp(36px, 5vw, 76px);
}

#about {
  padding-top: 38px;
}

#about > *,
.feature-message > *,
#price > *,
.voices > *,
.faq-section > *,
.trial-section > * {
  max-width: 1120px;
}

#about .center-text {
  max-width: 680px;
  font-size: 1.18rem;
  line-height: 1.9;
}

#about .mobile-about-copy {
  display: none !important;
}

#about .desktop-about-copy {
  display: block !important;
}

#about .desktop-about-copy br {
  display: block;
}

#about .center-text br,
.method-card p br,
.feature-message > p br,
.trial-reassurance br {
  display: none;
}

.video-card {
  width: min(800px, 100%);
  margin-bottom: 54px;
}

.bullets-panel {
  max-width: 1080px;
}

.about-points {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 30px 18px;
}

.about-points li {
  grid-column: span 2;
  min-height: 126px;
  padding-inline: 24px;
  font-size: 1rem;
}

.about-points li:nth-child(4),
.about-points li:nth-child(5) {
  grid-column: span 3;
  width: 100%;
}

.feature-intro {
  padding-block: 78px 96px;
}

.feature-intro .pop-heading {
  margin-bottom: 28px;
}

.method-card {
  width: min(980px, 100%);
  padding: 46px 58px 54px;
}

.method-card h3 {
  max-width: 780px;
}

.method-card p {
  max-width: 820px;
  font-size: 1.08rem;
  line-height: 1.9;
}

.feature-message {
  padding-top: 42px;
  padding-bottom: 88px;
}

.feature-message > p {
  max-width: 850px;
  font-size: 1.2rem;
  line-height: 1.95;
}

.feature-message > .mobile-feature-copy {
  display: none !important;
}

.feature-message > .desktop-feature-copy {
  display: block !important;
}

.feature-message > .desktop-feature-copy br {
  display: block;
}

.feature-message .feature-learning-pillars {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin-top: 44px !important;
  padding: 42px 46px 40px !important;
}

.feature-message .feature-learning-pillars .hero-pillar-circles {
  width: min(100%, 680px) !important;
  height: 340px !important;
}

.feature-message .feature-learning-pillars .hero-pillar {
  width: 205px !important;
  max-width: 205px !important;
  padding: 24px !important;
}

.feature-message .feature-learning-pillars .hero-pillar.brain {
  left: 13% !important;
  top: 0 !important;
}

.feature-message .feature-learning-pillars .hero-pillar.global {
  right: 13% !important;
  top: 0 !important;
}

.feature-message .feature-learning-pillars .hero-pillar.heart {
  left: 50% !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
}

.feature-message .feature-learning-pillars .hero-pillar strong {
  font-size: 2rem !important;
}

.feature-message .feature-learning-pillars .hero-pillar span {
  font-size: 0.98rem !important;
}

.section-photo.feature-message-photo {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  margin-top: 44px !important;
}

.green-section {
  padding-top: 68px;
  padding-bottom: 86px;
}

.reason-list {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
  max-width: 1120px;
  margin-top: 150px;
}

.reason-list p {
  grid-column: span 4;
  display: grid;
  min-height: 104px;
  place-items: center;
  padding: 20px 24px;
}

.reason-list p:nth-child(n + 4) {
  grid-column: span 3;
  min-height: 88px;
  padding: 16px 18px;
  font-size: 0.98rem;
}

.price-intro-photo,
.section-photo.price-intro-photo {
  width: min(1160px, calc(100% - 64px)) !important;
  max-width: 1160px !important;
  margin: 48px auto 0 !important;
}

.price-intro-photo img,
.section-photo.price-intro-photo img {
  width: 100% !important;
  max-width: 1160px !important;
  height: auto !important;
  object-fit: contain !important;
}

#price {
  padding-top: 76px;
}

.price-box {
  max-width: 840px;
  padding: 32px;
}

.detail-grid {
  width: min(1120px, 100%);
  gap: 32px;
}

.detail-grid article {
  padding: 34px 38px;
}

.voice-slider {
  width: min(1120px, 100%);
}

.voice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 28px;
}

.voice {
  max-width: none;
  height: 100%;
  grid-template-columns: 124px minmax(0, 1fr);
  padding: 26px;
}

.voice .photo-avatar {
  width: 124px;
  height: 124px;
}

.voice p {
  line-height: 1.8;
}

.faq-list {
  max-width: 920px;
  gap: 18px;
}

.faq-list h3,
.faq-list p {
  text-align: left;
}

.teacher-section {
  grid-template-columns: 230px minmax(0, 760px);
  justify-content: center;
  column-gap: 54px;
}

.teacher-section > div {
  max-width: 760px;
}

.teacher-section p {
  font-size: 1rem;
  line-height: 1.95;
  text-align: left;
}

.trial-section {
  padding-bottom: 78px;
}

.trial-section .big-cta,
.price-cta {
  width: min(430px, 100%);
  margin-inline: auto;
}

@media (min-width: 721px) and (max-width: 1020px) {
  .hero .hero-composed {
    grid-template-columns: minmax(390px, 1fr) minmax(360px, 0.9fr) !important;
    column-gap: 24px !important;
    width: min(960px, calc(100% - 32px)) !important;
  }

  .hero .hero-composed-copy h1 {
    font-size: clamp(2.65rem, 5vw, 3.35rem) !important;
  }

  .voice-grid {
    grid-template-columns: 1fr;
  }

  .reason-list p,
  .reason-list p:nth-child(n + 4) {
    grid-column: span 6;
  }
}

/* Keep every parent-voice monster inside its card frame. */
.voice .voice-monster,
.voice.orange .voice-monster,
.voice.blue .voice-monster,
.voice.green .voice-monster {
  top: 164px !important;
  left: 70px !important;
  width: 64px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  transform-origin: center !important;
}

/* Keep monsters at the photo's lower-right edge and clear of testimonial text. */
.voice-grid .voice:nth-child(odd) .voice-monster,
.voice-grid .voice:nth-child(even) .voice-monster {
  top: 124px !important;
  left: 116px !important;
  width: 54px !important;
  max-height: 64px !important;
}

/* Stagger monsters beside the child photos instead of directly underneath. */
.voice-grid .voice:nth-child(odd) .voice-monster {
  top: 118px !important;
  left: 146px !important;
}

.voice-grid .voice:nth-child(even) .voice-monster {
  top: 118px !important;
  left: 18px !important;
}

/* Force the approved desktop about-copy break after 「応用した、」. */
#about .desktop-about-copy br {
  display: block !important;
}

#about .desktop-about-copy .desktop-about-line {
  display: inline-block !important;
  white-space: nowrap !important;
}

/* Point 1 line break is intentional on desktop as well. */
.point-one-mobile-break {
  display: block !important;
}

#about .desktop-about-line {
  white-space: nowrap;
}

/* Desktop reasons: compact editorial two-column composition. */
.desktop-reasons-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  align-items: center;
  gap: 34px;
  width: 100%;
  margin: 64px 0;
  padding: 60px max(32px, calc((100% - 1180px) / 2));
  background: var(--green);
}

.desktop-reasons-layout .green-section {
  min-width: 0;
  min-height: 540px;
  padding: 44px 38px 38px;
  background: transparent;
  border-radius: 0;
}

.desktop-reasons-layout .reason-characters {
  top: 104px;
  left: 50%;
  width: 270px;
  transform: translateX(-50%) scale(0.72);
  transform-origin: top center;
}

.desktop-reasons-layout .reason-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 126px;
}

.desktop-reasons-layout .reason-list p,
.desktop-reasons-layout .reason-list p:nth-child(n + 4) {
  grid-column: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 76px;
  margin: 0;
  padding: 14px 16px;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.desktop-reasons-layout .reason-list p:last-child {
  grid-column: 1 / -1;
}

.desktop-reasons-layout .reason-list small {
  margin-top: 4px;
  font-size: 0.68rem;
  line-height: 1.35;
}

.desktop-reasons-layout .price-intro-photo,
.desktop-reasons-layout .section-photo.price-intro-photo {
  width: 100% !important;
  max-width: none !important;
  height: 540px !important;
  min-height: 0;
  margin: 0 !important;
  border-radius: 28px !important;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(23, 79, 47, 0.14);
}

.desktop-reasons-layout .price-intro-photo img,
.desktop-reasons-layout .section-photo.price-intro-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Present the four hero facts as one unified white information frame. */
.hero .hero-info {
  padding: 10px !important;
  background: #fff !important;
  border: 1px solid rgba(76, 160, 225, 0.14) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(40, 127, 207, 0.1) !important;
}

.hero .hero-info > div,
.hero .hero-info > .kids {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.hero .hero-info > div + div {
  border-left: 1px solid rgba(76, 160, 225, 0.16) !important;
}

.hero .notice,
.price-policy,
.trial-policy {
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  white-space: nowrap;
  text-align: center;
}

@media (min-width: 721px) and (max-width: 1020px) {
  .desktop-reasons-layout {
    grid-template-columns: 1fr;
    width: 100%;
    padding-inline: 28px;
  }

  .desktop-reasons-layout .price-intro-photo,
  .desktop-reasons-layout .section-photo.price-intro-photo {
    min-height: 360px;
  }

  .hero .notice,
  .price-policy,
  .trial-policy {
    font-size: 0.72rem !important;
  }
}

/* Final hero spacing: lower actions breathe; target and attendance sit closer. */
.hero .hero-mini-info {
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  justify-content: center !important;
  column-gap: 18px !important;
  width: auto !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

.hero .hero-composed > .hero-composed-copy:last-child {
  margin-top: 46px !important;
}

.hero .hero-info + .big-cta {
  margin-top: 24px !important;
}

.hero .big-cta + .notice {
  margin-top: 12px !important;
}

/* Authoritative alignment: photo follows the exact reason-card stack height. */
.desktop-reasons-layout {
  align-items: stretch !important;
}

.desktop-reasons-layout .reason-list {
  grid-auto-rows: 82px !important;
}

.desktop-reasons-layout .reason-list p,
.desktop-reasons-layout .reason-list p:nth-child(n + 4) {
  min-height: 0 !important;
  height: 100% !important;
}

.desktop-reasons-layout .price-intro-photo,
.desktop-reasons-layout .section-photo.price-intro-photo {
  align-self: end !important;
  height: 364px !important;
  min-height: 0 !important;
  margin-bottom: 34px !important;
  aspect-ratio: auto !important;
}

@media (min-width: 721px) and (max-width: 1020px) {
  .desktop-reasons-layout .price-intro-photo,
  .desktop-reasons-layout .section-photo.price-intro-photo {
    align-self: center !important;
    height: 390px !important;
    margin-bottom: 0 !important;
  }
}

/* Align the classroom photo exactly with the first and last reason cards. */
.desktop-reasons-layout {
  align-items: stretch;
}

.desktop-reasons-layout .reason-list {
  grid-auto-rows: 82px;
}

.desktop-reasons-layout .reason-list p,
.desktop-reasons-layout .reason-list p:nth-child(n + 4) {
  min-height: 0;
  height: 100%;
}

.desktop-reasons-layout .price-intro-photo,
.desktop-reasons-layout .section-photo.price-intro-photo {
  align-self: end;
  height: 364px !important;
  margin-bottom: 34px !important;
  aspect-ratio: auto;
}

@media (min-width: 721px) and (max-width: 1020px) {
  .desktop-reasons-layout .price-intro-photo,
  .desktop-reasons-layout .section-photo.price-intro-photo {
    align-self: center;
    height: 390px !important;
    margin-bottom: 0 !important;
  }
}

/* Desktop hero final polish. */
.hero .hero-world {
  position: relative !important;
  width: 100% !important;
  max-width: 520px !important;
  margin-inline: auto !important;
  overflow: visible !important;
}

.hero .hero-world::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 116% !important;
  width: 300px !important;
  height: 26px !important;
  border-top: 2px dashed rgba(39, 148, 232, 0.62) !important;
  border-radius: 50% !important;
  background: transparent !important;
  transform: translateX(-50%) rotate(-2deg) !important;
}

.hero .hero-world::after {
  display: block !important;
  content: "✈" !important;
  position: absolute !important;
  left: calc(50% + 130px) !important;
  right: auto !important;
  top: 20px !important;
  color: #58aeea !important;
  font-size: 1.08em !important;
  line-height: 1 !important;
  transform: rotate(-18deg) !important;
}

.hero .hero-composed-copy h1 {
  width: 100% !important;
  max-width: 580px !important;
  margin-top: 30px !important;
  font-size: clamp(3.5rem, 4.9vw, 4.9rem) !important;
  letter-spacing: -0.035em !important;
}

.hero .hero-composed-visual {
  width: 108% !important;
  max-width: 720px !important;
  justify-self: center !important;
  transform: translateX(2%) !important;
}

.hero .hero-map,
.hero .hero-kids-original {
  width: 100% !important;
  max-width: 720px !important;
  margin-inline: auto !important;
  object-position: center center !important;
}

.hero .hero-composed > .hero-composed-copy:last-child {
  max-width: 1040px !important;
  margin-top: 24px !important;
}

.hero .hero-info {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: min(100%, 980px) !important;
  max-width: 980px !important;
  gap: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.hero .hero-info > div {
  width: 100% !important;
  min-height: 72px !important;
  padding: 10px 12px !important;
  background: #fff !important;
  border: 1px solid rgba(76, 160, 225, 0.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 20px rgba(40, 127, 207, 0.08) !important;
}

.hero .hero-info > .kids {
  background: #fff !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.hero .hero-info > div + div {
  border-left: 1px solid rgba(76, 160, 225, 0.12) !important;
}

.hero .hero-info p {
  font-size: clamp(0.76rem, 0.9vw, 0.9rem) !important;
  line-height: 1.45 !important;
}

@media (min-width: 721px) and (max-width: 1020px) {
  .hero .hero-composed-copy h1 {
    max-width: 440px !important;
    font-size: clamp(2.75rem, 5vw, 3.45rem) !important;
  }

  .hero .hero-composed-visual {
    width: 104% !important;
    transform: none !important;
  }

  .hero .hero-info {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 720px !important;
  }
}

/* Final desktop art direction and reading rhythm. */
h2,
.pop-heading,
.video-heading,
.slash-heading {
  letter-spacing: -0.025em;
}

p,
li {
  text-wrap: pretty;
}

.section-label {
  padding: 12px 36px;
  font-size: 1.05rem;
}

#about h2,
.feature-intro .pop-heading,
.feature-message .feature-heading,
#price > h2,
.voices > h2,
.faq-section > h2,
.teacher-section h2,
.trial-section > h2 {
  margin-bottom: 28px;
}

#about .center-text {
  margin-bottom: 38px;
}

.video-heading {
  margin-top: 34px;
  margin-bottom: 22px;
}

.about-points li {
  border-color: rgba(38, 63, 46, 0.12);
  box-shadow:
    0 8px 0 rgba(45, 44, 42, 0.05),
    0 18px 38px rgba(45, 44, 42, 0.07);
}

.method-card,
.feature-message .feature-learning-pillars,
.price-box,
.detail-grid article,
.voice,
.faq-list article {
  box-shadow: 0 18px 46px rgba(35, 57, 43, 0.08);
}

.method-card {
  border-color: rgba(36, 76, 54, 0.1);
}

.method-card .rounded-photo {
  width: min(820px, 100%);
  border-radius: 12px;
}

.feature-message .feature-heading {
  max-width: 760px;
}

.feature-message .feature-heading-top,
.feature-message .feature-heading-bottom {
  text-align: center;
}

.feature-message .feature-learning-pillars h2 {
  max-width: 720px;
  margin-bottom: 28px;
  font-size: clamp(1.75rem, 2.5vw, 2.35rem);
}

.feature-message .feature-learning-pillars .hero-pillar-circles {
  width: min(100%, 585px) !important;
  height: 370px !important;
}

.feature-message .feature-learning-pillars .hero-pillar.brain {
  left: 95px !important;
}

.feature-message .feature-learning-pillars .hero-pillar.global {
  right: 95px !important;
}

.feature-message .feature-learning-pillars .hero-pillar.heart {
  top: 165px !important;
  bottom: auto !important;
}

.feature-message .feature-learning-pillars > p {
  max-width: 760px;
  margin-top: 24px;
  font-size: 1.05rem;
}

.reason-list p {
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 14px;
}

.price-main {
  gap: 20px;
}

.price-item {
  min-height: 126px;
  padding: 22px 28px;
}

.price-notes {
  max-width: 700px;
  margin: 24px auto 0;
}

.detail-grid article {
  border-color: rgba(36, 76, 54, 0.1);
  border-radius: 14px;
}

.detail-grid li {
  margin-bottom: 9px;
  line-height: 1.7;
}

.voice-slider {
  width: min(980px, 100%);
}

.voice-grid {
  grid-template-columns: 1fr;
  gap: 30px;
}

.voice {
  grid-template-columns: 140px minmax(0, 1fr);
  max-width: 980px;
  padding: 30px 34px;
  border-radius: 16px;
}

.voice .photo-avatar {
  width: 140px;
  height: 140px;
}

.voice h3 {
  margin-bottom: 2px;
  font-size: 1.25rem;
}

.voice p {
  max-width: 740px;
  margin-top: 12px;
  font-size: 1rem;
  line-height: 1.9;
}

.faq-list article {
  border-width: 3px;
  border-radius: 12px;
}

.faq-list h3 {
  padding: 16px 22px;
  font-size: 1.08rem;
}

.faq-list p {
  padding: 20px 22px;
  font-size: 1rem;
  line-height: 1.85;
}

.faq-list article p + p {
  padding-top: 0;
}

.teacher-section h2 {
  width: fit-content;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.teacher-photo {
  width: 220px;
  height: 220px;
}

.trial-section {
  border-top: 1px solid rgba(36, 76, 54, 0.08);
}

.trial-section > p:not(.notice) {
  max-width: 720px;
}

.site-footer {
  padding-block: 42px;
}

@media (min-width: 721px) and (max-width: 1020px) {
  .feature-message .feature-learning-pillars .hero-pillar-circles {
    transform: scale(0.9);
    transform-origin: top center;
    margin-bottom: -32px !important;
  }

  .teacher-section {
    grid-template-columns: 190px minmax(0, 1fr);
    column-gap: 34px;
  }

  .teacher-photo {
    width: 180px;
    height: 180px;
  }
}

/* Authoritative desktop override: one white frame enclosing all four facts. */
.hero .hero-info {
  gap: 0 !important;
  padding: 12px 14px !important;
  background: #fff !important;
  border: 1px solid rgba(76, 160, 225, 0.18) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(40, 127, 207, 0.12) !important;
}

.hero .hero-info > div,
.hero .hero-info > .kids {
  min-height: 68px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.hero .hero-info > div + div {
  border-left: 1px solid rgba(76, 160, 225, 0.18) !important;
}

/* Final balance for the reasons band and classroom photo. */
.desktop-reasons-layout {
  grid-template-columns: minmax(560px, 1.18fr) minmax(380px, 0.82fr);
  gap: 42px;
}

.desktop-reasons-layout .green-section {
  min-height: 500px;
  padding-top: 38px;
  padding-bottom: 34px;
}

.desktop-reasons-layout .reason-characters {
  top: 122px;
  left: 50%;
  width: 260px;
  height: 150px;
  transform: translateX(-50%) scale(0.72);
  transform-origin: top center;
}

.desktop-reasons-layout .reason-list {
  margin-top: 120px;
}

.desktop-reasons-layout .price-intro-photo,
.desktop-reasons-layout .section-photo.price-intro-photo {
  align-self: center;
  height: 410px !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3;
  border-radius: 24px !important;
}

.desktop-reasons-layout .price-intro-photo img,
.desktop-reasons-layout .section-photo.price-intro-photo img {
  object-fit: cover !important;
  object-position: center 46% !important;
  transform: scale(1.035);
}

@media (min-width: 721px) and (max-width: 1020px) {
  .desktop-reasons-layout {
    grid-template-columns: 1fr;
  }

  .desktop-reasons-layout .price-intro-photo,
  .desktop-reasons-layout .section-photo.price-intro-photo {
    width: min(720px, 100%) !important;
    height: 390px !important;
    justify-self: center;
  }
}

/* Authoritative final hero spacing. */
.hero .hero-mini-info {
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  justify-content: center !important;
  column-gap: 18px !important;
  width: auto !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

.hero .hero-composed > .hero-composed-copy:last-child {
  margin-top: 46px !important;
}

.hero .hero-info + .big-cta {
  margin-top: 24px !important;
}

.hero .big-cta + .notice {
  margin-top: 12px !important;
}

/* Final reasons/photo edge alignment — keep last. */
.desktop-reasons-layout {
  align-items: stretch !important;
}

.desktop-reasons-layout .reason-list {
  grid-auto-rows: 82px !important;
}

.desktop-reasons-layout .reason-list p,
.desktop-reasons-layout .reason-list p:nth-child(n + 4) {
  min-height: 0 !important;
  height: 100% !important;
}

.desktop-reasons-layout .price-intro-photo,
.desktop-reasons-layout .section-photo.price-intro-photo {
  align-self: end !important;
  height: 364px !important;
  min-height: 0 !important;
  margin-bottom: 34px !important;
  aspect-ratio: auto !important;
}

@media (min-width: 721px) and (max-width: 1020px) {
  .desktop-reasons-layout .price-intro-photo,
  .desktop-reasons-layout .section-photo.price-intro-photo {
    align-self: center !important;
    height: 390px !important;
    margin-bottom: 0 !important;
  }
}

/* Final parent-voice monster placement — all remain inside the frame. */
.voice .voice-monster,
.voice.orange .voice-monster,
.voice.blue .voice-monster,
.voice.green .voice-monster {
  top: 164px !important;
  left: 70px !important;
  width: 64px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  transform-origin: center !important;
}

/* Final lower-right placement: overlap the photo only, never the text. */
.voice-grid .voice:nth-child(odd) .voice-monster,
.voice-grid .voice:nth-child(even) .voice-monster {
  top: 145px !important;
  left: 100px !important;
  width: 72px !important;
  max-height: 86px !important;
}

/* Client revisions — desktop sizing requested on 2026-08-13. */
.site-header {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 2000 !important;
  width: 100% !important;
}

body {
  padding-top: 64px !important;
}

html {
  scroll-padding-top: 88px !important;
}

#about,
#price,
#schedule,
#access,
#trial {
  scroll-margin-top: 88px !important;
}

.site-header .main-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
}

.site-header .language-nav {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  gap: 4px !important;
  margin-left: 10px !important;
  padding: 4px !important;
  background: #eef6f2 !important;
  border: 1px solid rgba(19, 83, 61, 0.18) !important;
  border-radius: 999px !important;
  box-shadow: inset 0 1px 2px rgba(19, 83, 61, 0.05) !important;
}

.site-header .language-nav::before {
  content: "Language";
  margin: 0 6px 0 8px;
  color: #70817a;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.site-header .language-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  color: #2b5a4b !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}

.site-header .language-nav a + a::before {
  display: none !important;
  content: none !important;
}

.site-header .language-nav a[aria-current="page"] {
  color: #fff !important;
  background: #17785c !important;
  box-shadow: 0 3px 10px rgba(23, 120, 92, 0.22) !important;
}

.site-header .language-nav a:not([aria-current="page"]):hover {
  background: rgba(255, 255, 255, 0.8) !important;
}

/* Six learning points: balanced 3 × 2 desktop grid. */
.about-points {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 18px !important;
  width: min(100%, 1060px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.about-points li,
.about-points li:nth-child(5),
.about-points li:nth-child(6) {
  grid-column: auto !important;
  justify-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 156px !important;
  margin: 0 !important;
  padding: 24px 20px !important;
  text-align: center !important;
  line-height: 1.65 !important;
}

.about-points li > span {
  margin: 0 0 12px !important;
}

.about-points .point-two-mobile-break {
  display: none !important;
}

.about-points .point-two-desktop-break,
.about-points .point-four-desktop-break {
  display: block !important;
}

/* Refined desktop contact and access section. */
.access-section {
  position: relative !important;
  overflow: hidden !important;
  padding-block: 84px 92px !important;
  background: linear-gradient(145deg, #fffaf0 0%, #f4fbf6 100%) !important;
}

.access-section::before,
.access-section::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(83, 172, 127, 0.08);
}

.access-section::before { top: -150px; left: -90px; }
.access-section::after { right: -120px; bottom: -170px; }

.access-kicker {
  position: relative;
  z-index: 1;
  margin: 0 0 10px !important;
  color: #e57b3d !important;
  font-family: inherit !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
}

.access-section > h2 {
  position: relative;
  z-index: 1;
  margin-bottom: 14px !important;
  color: #174c3c !important;
  font-family: inherit !important;
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.access-lead {
  position: relative;
  z-index: 1;
  margin: 0 auto 34px !important;
  color: #60736c !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

.access-grid {
  position: relative;
  z-index: 1;
  gap: 22px !important;
  margin-top: 0 !important;
}

.access-grid .access-card {
  position: relative !important;
  justify-content: flex-start !important;
  min-height: 250px !important;
  padding: 30px 24px 28px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(22, 112, 80, 0.14) !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 42px rgba(31, 88, 67, 0.1) !important;
}

.access-grid .access-card::after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 20px;
  left: 24px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3aa778, #dcefe6);
}

.access-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  color: #fff;
  font-family: inherit;
  font-size: 1.35rem;
  font-weight: 800;
  background: #23845f;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(35, 132, 95, 0.22);
}

.contact-card .access-icon { background: #ef8848; box-shadow: 0 8px 18px rgba(239, 136, 72, 0.22); }
.access-label { margin: 0 0 6px !important; color: #dd7a3f !important; font-size: 0.72rem !important; font-weight: 800 !important; letter-spacing: 0.12em !important; }
.access-grid .access-card h3 { margin: 0 0 12px !important; color: #194e3e !important; font-family: inherit !important; font-size: 1.15rem !important; font-weight: 800 !important; line-height: 1.45 !important; }
.access-grid .access-card p:last-child { color: #5d6d67 !important; font-family: inherit !important; font-size: 0.92rem !important; line-height: 1.65 !important; }
.access-grid .access-card a { color: #17785c !important; text-underline-offset: 3px !important; }

/* Smooth visual transition from the hero CTA into the class schedule. */
.schedule-section { position: relative !important; overflow: hidden !important; padding: 84px max(24px, calc((100% - 1180px) / 2)) 96px !important; background: linear-gradient(180deg, #fff8e8 0%, #f7fbff 34%, #f3f9ff 100%) !important; }
.schedule-section::before { content: ""; position: absolute; top: 0; left: 50%; width: min(82%, 980px); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgba(34,111,164,.24), transparent); }
.schedule-kicker { position: relative; z-index: 1; margin: 0 0 10px !important; color: #e77e3e !important; font-family: inherit !important; font-size: .78rem !important; font-weight: 800 !important; letter-spacing: .16em !important; }
.schedule-section > h2 { position: relative; z-index: 1; margin: 0 0 16px !important; color: #164d7d !important; font-family: inherit !important; font-size: clamp(2rem,3vw,2.7rem) !important; font-weight: 800 !important; letter-spacing: .02em !important; }
.schedule-lead { position: relative; z-index: 1; margin: 0 auto 34px !important; color: #5d7181 !important; font-family: inherit !important; font-size: 1rem !important; line-height: 1.85 !important; }
.schedule-card { position: relative; z-index: 1; width: min(100%,1120px); margin: 0 auto; padding: 22px 22px 18px; background: rgba(255,255,255,.96); border: 1px solid rgba(30,105,159,.13); border-radius: 28px; box-shadow: 0 20px 52px rgba(27,84,126,.13); }
.schedule-card img { width: 100% !important; margin: 0 !important; border-radius: 16px !important; box-shadow: none !important; }
.schedule-card p { margin: 16px 0 2px !important; color: #49677e !important; font-family: inherit !important; font-size: .95rem !important; font-weight: 700 !important; }

/* Join the feature photo directly to the reasons band—no ivory gap. */
.feature-message {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.feature-message .feature-message-photo,
.feature-message .section-photo.feature-message-photo {
  margin-bottom: 0 !important;
}

.desktop-reasons-layout {
  margin-top: 0 !important;
  border-top: 0 !important;
}

/* One continuous visual story: teacher → access → trial. */
.teacher-section,
.access-section,
.trial-section {
  position: relative !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.teacher-section {
  overflow: hidden !important;
  padding-bottom: 92px !important;
  background: linear-gradient(180deg, #fffaf0 0%, #f7fbf7 100%) !important;
}

.access-section {
  overflow: hidden !important;
  background: linear-gradient(180deg, #f7fbf7 0%, #eef8f2 50%, #f7fbf7 100%) !important;
}

.trial-section {
  overflow: hidden !important;
  background: linear-gradient(180deg, #f7fbf7 0%, #fffaf0 100%) !important;
}

.teacher-section::after,
.access-section::before,
.access-section::after,
.trial-section::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  z-index: 0 !important;
  width: 420px !important;
  height: 210px !important;
  border-radius: 420px 420px 0 0 !important;
  pointer-events: none !important;
}

.teacher-section::after {
  right: auto !important;
  bottom: -150px !important;
  transform: translateX(-86%) !important;
  background: rgba(72, 166, 122, 0.08) !important;
}

.access-section::before {
  top: -60px !important;
  transform: translateX(-14%) rotate(180deg) !important;
  background: rgba(72, 166, 122, 0.08) !important;
}

.access-section::after {
  right: auto !important;
  bottom: -146px !important;
  transform: translateX(-92%) !important;
  background: rgba(239, 136, 72, 0.07) !important;
}

.trial-section::before {
  top: -64px !important;
  transform: translateX(-8%) rotate(180deg) !important;
  background: rgba(239, 136, 72, 0.07) !important;
}

.teacher-section > *,
.access-section > *,
.trial-section > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Final desktop color restoration and hierarchy. */
.site-header .header-brand,
.site-header .main-nav a,
.site-header .language-nav a:not([aria-current="page"]) {
  color: #123f73 !important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a:focus-visible {
  color: #2588d8 !important;
}

.video-heading span {
  color: #f0831a !important;
  background: rgba(255, 199, 103, 0.25) !important;
}

.about-points li > span {
  color: #fff !important;
  background: #55b947 !important;
}

.pop-heading span,
.feature-heading span {
  color: #55b947 !important;
}

.feature-heading,
.feature-message h2,
.feature-learning-pillars h2 {
  color: #2079d8 !important;
}

.price-amount,
.price-amount.fee {
  color: #f0831a !important;
}

.teacher-section h2,
.faq-section h2,
.trial-section h2 {
  color: #1f462a !important;
}

/* A calmer, more intentional schedule introduction. */
.schedule-section {
  padding-top: 74px !important;
  padding-bottom: 92px !important;
  background: var(--cream, #fffdf1) !important;
}

.schedule-section::before {
  width: min(76%, 900px) !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(32,121,216,.2), transparent) !important;
}

.schedule-kicker {
  min-height: 0 !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  color: #55b947 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: .76rem !important;
  letter-spacing: .18em !important;
}

.schedule-section > h2 {
  margin-bottom: 14px !important;
  color: #123f73 !important;
  font-size: clamp(2.05rem, 3vw, 2.75rem) !important;
}

.schedule-section > h2::after {
  content: "";
  display: block;
  width: 62px;
  height: 4px;
  margin: 15px auto 0;
  background: #55b947;
  border-radius: 999px;
}

.schedule-lead {
  margin-bottom: 30px !important;
  color: #53665f !important;
}

.schedule-card {
  padding: 18px 18px 16px !important;
  border-color: rgba(32,121,216,.14) !important;
  box-shadow: 0 18px 46px rgba(35,87,112,.1) !important;
}

.schedule-card p {
  color: #455b68 !important;
}

/* Final CTA section centered like the hero. */
.trial-section {
  display: grid !important;
  justify-items: center !important;
  text-align: center !important;
}

.trial-section > * {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

/* Reassert one identical CTA design after all earlier rules. */
.hero .hero-composed-copy a.big-cta,
a.big-cta.price-cta,
.trial-section a.big-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: min(100%, 430px) !important;
  max-width: none !important;
  min-height: 68px !important;
  padding: 14px 28px !important;
  color: #fff !important;
  font-size: clamp(1.05rem, 2.2vw, 1.5rem) !important;
  font-weight: 900 !important;
  background: linear-gradient(#a4f12a, #4cc500 54%, #36a900) !important;
  border: 4px solid rgba(45,159,0,.42) !important;
  border-radius: 999px !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.48), inset 0 -5px 7px rgba(25,117,0,.2), 0 14px 24px rgba(50,160,0,.22) !important;
}

.hero .hero-composed-copy a.big-cta::after,
a.big-cta.price-cta::after,
.trial-section a.big-cta::after {
  display: inline-grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-left: 10px !important;
  color: #45b700 !important;
  background: #fff !important;
  border-radius: 50% !important;
  content: "→" !important;
}

/* Unified site palette — lime green + title blue (desktop). */
:root {
  --site-lime: #58bd25;
  --site-lime-light: #a4f12a;
  --site-lime-dark: #3d9f16;
  --site-blue: #2588d8;
  --site-blue-dark: #0b4b8d;
  --site-blue-light: #dcefff;
}

.site-header .header-brand,
.main-nav a,
.language-nav a {
  color: var(--site-blue-dark) !important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a:focus-visible {
  color: var(--site-lime-dark) !important;
}

.site-header .language-nav {
  background: #f3faee !important;
  border-color: rgba(88, 189, 37, 0.28) !important;
}

.site-header .language-nav a[aria-current="page"] {
  color: #fff !important;
  background: linear-gradient(135deg, var(--site-lime-light), var(--site-lime)) !important;
  box-shadow: 0 3px 10px rgba(88, 189, 37, 0.28) !important;
}

.hero-sub span:last-child,
.hero-mini-info strong,
.hero-pillar.brain strong,
.pillar-blue,
.schedule-section > h2,
.pop-heading span {
  color: var(--site-blue) !important;
}

.hero-world span,
.power-green,
.hero-pillar.global strong,
.pillar-green,
.section-label,
.feature-label,
.price-label {
  color: var(--site-lime-dark) !important;
}

.hero-composed-copy h1 .title-line:last-child,
.video-heading span,
.price-amount,
.teacher-section h2,
.faq-section h2 {
  color: var(--site-blue) !important;
}

.hero-info .event .hero-info-icon::before,
.reason-list p::before {
  background-color: var(--site-lime) !important;
}

.green-section,
.desktop-reasons-layout {
  background-color: var(--site-lime) !important;
}

.about-points li > span,
.check-list li::before {
  color: #fff !important;
  background: var(--site-blue) !important;
}

.access-section > h2,
.access-grid .access-card h3,
.access-grid .access-card a {
  color: var(--site-blue-dark) !important;
}

.access-icon,
.access-grid .access-card::after {
  background: var(--site-lime) !important;
}

.schedule-card,
.access-grid .access-card {
  border-color: rgba(37, 136, 216, 0.17) !important;
}

a.big-cta.price-cta,
.trial-section a.big-cta,
.hero .hero-composed-copy a.big-cta {
  background: linear-gradient(var(--site-lime-light), var(--site-lime) 54%, var(--site-lime-dark)) !important;
  border-color: rgba(61, 159, 22, 0.4) !important;
}

/* Final hero-to-schedule color and scale alignment. */
.hero,
.hero-inner,
.hero-composed,
.hero-composed-visual,
.hero-map {
  background-color: var(--cream, #fffdf1) !important;
}

.hero .hero-world-map {
  opacity: 0.82 !important;
  background-color: var(--cream, #fffdf1) !important;
  transform: scale(1.08) !important;
}

.hero .hero-kids-original {
  z-index: 10 !important;
  transform: scale(1.34) translateY(4%) !important;
  transform-origin: center bottom !important;
}

/* Final correction for the bottom trial section only. */
#trial {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  text-align: center !important;
}

#trial > h2,
#trial > a.big-cta,
#trial > p {
  align-self: center !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

#trial > a.big-cta {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

#trial::before,
#trial::after {
  display: none !important;
  content: none !important;
}

/* Consolidated access/contact/trial information. */
.access-business-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: min(100%, 900px);
  margin: 28px auto 0;
}

.access-business-info p {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 16px 20px;
  text-align: left;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(88, 189, 37, 0.16);
  border-radius: 14px;
}

.access-business-info strong {
  flex: 0 0 auto;
  color: #3f9222;
  font-size: 0.82rem;
}

.access-business-info span {
  color: #4d5c56;
  font-size: 0.9rem;
}

.access-trial {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 760px);
  margin: 38px auto 0;
  text-align: center;
}

.access-trial > a.big-cta {
  margin-right: auto !important;
  margin-left: auto !important;
}

.access-trial .trial-policy {
  margin: 10px auto 0 !important;
}

.access-trial .trial-reassurance {
  margin: 16px auto 0 !important;
  color: #53665f;
  font-size: 0.92rem;
}

/* Requested final spacing above reasons and thinner 30-second underline. */
.video-heading span {
  color: #111 !important;
  background: linear-gradient(transparent 84%, #ffd95a 84%, #ffd95a 92%, transparent 92%) !important;
  padding: 0 1px !important;
}

.feature-message {
  padding-bottom: 48px !important;
  background: #f3f9e9 !important;
}

.feature-message .feature-message-photo,
.feature-message .section-photo.feature-message-photo {
  margin-bottom: 0 !important;
}

.desktop-reasons-layout {
  margin-top: 0 !important;
  background: #58bd25 !important;
}

/* Social and policy links consolidated into access/contact. */
.access-social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: min(100%, 760px);
  margin: 26px auto 0;
}

.access-social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 17px;
  color: #123f73;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(18,63,115,.12);
  border-radius: 999px;
}

.access-social-links .instagram-mark {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  color: #fff;
  font-size: 0.7rem;
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  border-radius: 8px;
}

/* Lower only the desktop hero children to the target/course bottom line. */
.hero .hero-kids-original {
  bottom: -12% !important;
  transform: scale(1.5) !important;
  transform-origin: center bottom !important;
}

/* Make the requested downward movement visible instead of clipping it. */
.hero .hero-composed-visual,
.hero .hero-map {
  overflow: visible !important;
}

/* Final client copy color. */
.hero .hero-lead,
.hero .hero-info p,
.mobile-feature-copy,
.desktop-feature-copy,
.feature-learning-pillars .hero-pillar span,
.feature-learning-pillars > p,
.feature-learning-pillars > p .pillar-blue,
.feature-learning-pillars > p .pillar-orange,
.feature-learning-pillars > p .pillar-green,
.access-summary-grid h3,
.access-summary-grid p,
.access-summary-grid p strong,
.access-summary-grid a {
  color: #2d2c2a !important;
}

/* Final desktop emphasis for email contact and Instagram. */
.access-summary-grid > article:nth-child(1),
.access-summary-grid > article:nth-child(3) {
  position: relative !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(35, 74, 61, 0.09) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  transition: none !important;
}

.access-summary-grid > article:nth-child(1) {
  box-shadow: inset 0 3px 0 #61b43f !important;
}

.access-summary-grid > article:nth-child(3) {
  box-shadow: inset 0 3px 0 #df568f !important;
}

.access-summary-grid > article:nth-child(1) .summary-icon,
.access-summary-grid > article:nth-child(3) .instagram-mark {
  transform: none !important;
}

.access-summary-grid > article:nth-child(1) > a,
.access-summary-grid > article:nth-child(3) > a {
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.access-summary-grid > article:nth-child(1):hover,
.access-summary-grid > article:nth-child(3):hover {
  transform: none !important;
}

/* Keep the centre trial CTA on one line, matching the hero CTA. */
#price > a.big-cta.price-cta {
  width: fit-content !important;
  min-width: 520px !important;
  max-width: none !important;
  white-space: nowrap !important;
}

/* Desktop contact hierarchy: primary actions above, supporting details below. */
.refined-access .access-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
  padding: 12px !important;
  background: rgba(255, 255, 255, 0.62) !important;
}

.refined-access .access-summary-grid > article {
  min-height: 0 !important;
  box-sizing: border-box !important;
}

.refined-access .access-summary-grid > article:nth-child(1),
.refined-access .access-summary-grid > article:nth-child(3) {
  grid-row: 1 !important;
  padding: 24px 20px 22px !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.refined-access .access-summary-grid > article:nth-child(1) {
  grid-column: 1 !important;
  box-shadow: inset 0 4px 0 #61b43f, 0 8px 22px rgba(40, 78, 62, 0.08) !important;
}

.refined-access .access-summary-grid > article:nth-child(3) {
  grid-column: 2 !important;
  box-shadow: inset 0 4px 0 #df568f, 0 8px 22px rgba(40, 78, 62, 0.08) !important;
}

.refined-access .access-summary-grid > article:nth-child(1) .summary-icon,
.refined-access .access-summary-grid > article:nth-child(3) .instagram-mark {
  width: 36px !important;
  height: 36px !important;
  margin: 0 auto !important;
}

.refined-access .access-summary-grid > article:nth-child(1) h3,
.refined-access .access-summary-grid > article:nth-child(3) h3 {
  margin: 10px 0 6px !important;
  font-size: 1rem !important;
}

.refined-access .access-summary-grid > article:nth-child(1) > a,
.refined-access .access-summary-grid > article:nth-child(3) > a {
  min-height: 38px !important;
  margin-top: 4px !important;
  padding: 0 18px !important;
  font-size: .86rem !important;
}

.refined-access .access-summary-grid > article:nth-child(2),
.refined-access .access-summary-grid > article:nth-child(4) {
  grid-row: 2 !important;
  padding: 13px 16px !important;
  display: grid !important;
  grid-template-columns: 26px 110px minmax(0, 1fr) !important;
  align-items: center !important;
  text-align: left !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(35, 74, 61, 0.08) !important;
  border-radius: 12px !important;
}

.refined-access .access-summary-grid > article:nth-child(2) {
  grid-column: 1 !important;
}

.refined-access .access-summary-grid > article:nth-child(4) {
  grid-column: 2 !important;
}

.refined-access .access-summary-grid > article:nth-child(2) .summary-icon,
.refined-access .access-summary-grid > article:nth-child(4) .summary-icon {
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
}

.refined-access .access-summary-grid > article:nth-child(2) h3,
.refined-access .access-summary-grid > article:nth-child(4) h3 {
  margin: 0 !important;
  font-size: .78rem !important;
}

.refined-access .access-summary-grid > article:nth-child(2) p,
.refined-access .access-summary-grid > article:nth-child(4) a {
  margin: 0 !important;
  font-size: .7rem !important;
  line-height: 1.55 !important;
}

/* Authoritative final treatment for the refined desktop contact panel. */
.refined-access .access-summary-grid > article:nth-child(1),
.refined-access .access-summary-grid > article:nth-child(3) {
  border: 1px solid rgba(35, 74, 61, 0.09) !important;
  box-shadow: none !important;
  transform: none !important;
}

.refined-access .access-summary-grid > article:nth-child(1) {
  box-shadow: inset 0 3px 0 #61b43f !important;
}

.refined-access .access-summary-grid > article:nth-child(3) {
  box-shadow: inset 0 3px 0 #df568f !important;
}

.refined-access .access-summary-grid > article:nth-child(1) .summary-icon,
.refined-access .access-summary-grid > article:nth-child(3) .instagram-mark {
  transform: none !important;
}

.refined-access .access-summary-grid > article:nth-child(1) > a,
.refined-access .access-summary-grid > article:nth-child(3) > a {
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.refined-access .access-summary-grid > article:nth-child(1):hover,
.refined-access .access-summary-grid > article:nth-child(3):hover {
  transform: none !important;
}

/* Final desktop access polish: keep the four information cards visually unified. */
.refined-access .access-summary-grid > article:nth-child(1),
.refined-access .access-summary-grid > article:nth-child(3) {
  border: 1px solid rgba(35, 74, 61, 0.09) !important;
  box-shadow: none !important;
  transform: none !important;
}

.refined-access .access-summary-grid > article:nth-child(1) {
  box-shadow: inset 0 3px 0 #61b43f !important;
}

.refined-access .access-summary-grid > article:nth-child(3) {
  box-shadow: inset 0 3px 0 #df568f !important;
}

.refined-access .access-summary-grid > article:nth-child(1) .summary-icon,
.refined-access .access-summary-grid > article:nth-child(3) .instagram-mark {
  transform: none !important;
}

.refined-access .access-summary-grid > article:nth-child(1) > a,
.refined-access .access-summary-grid > article:nth-child(3) > a {
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.refined-access .access-summary-grid > article:nth-child(1):hover,
.refined-access .access-summary-grid > article:nth-child(3):hover {
  transform: none !important;
}

/* Final desktop hero artwork sizing and seamless ivory background. */
.hero .hero-composed-visual,
.hero .hero-map {
  background: #fffdf1 !important;
}

.hero .hero-world-map {
  background: transparent !important;
  mix-blend-mode: normal !important;
}

.hero .hero-kids-original {
  transform: scale(1.35) !important;
  transform-origin: center bottom !important;
}

/* Unified body-copy color requested by client. */
.hero .hero-lead,
.hero .hero-info p,
.mobile-feature-copy,
.desktop-feature-copy,
.feature-learning-pillars .hero-pillar span,
.feature-learning-pillars > p,
.feature-learning-pillars > p .pillar-blue,
.feature-learning-pillars > p .pillar-orange,
.feature-learning-pillars > p .pillar-green,
.access-summary-grid h3,
.access-summary-grid p,
.access-summary-grid p strong,
.access-summary-grid a {
  color: #2d2c2a !important;
}

/* Desktop-only emphasis for email contact and Instagram. */
.access-summary-grid > article:nth-child(1),
.access-summary-grid > article:nth-child(3) {
  position: relative !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 2px solid rgba(91, 179, 52, 0.32) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 26px rgba(58, 114, 40, 0.13) !important;
}

.access-summary-grid > article:nth-child(3) {
  border-color: rgba(224, 74, 135, 0.3) !important;
  box-shadow: 0 12px 26px rgba(190, 65, 119, 0.12) !important;
}

.access-summary-grid > article:nth-child(1) .summary-icon,
.access-summary-grid > article:nth-child(3) .instagram-mark {
  transform: scale(1.12) !important;
}

.access-summary-grid > article:nth-child(1) > a,
.access-summary-grid > article:nth-child(3) > a {
  font-size: .9rem !important;
  font-weight: 900 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}

.access-summary-grid > article:nth-child(1):hover,
.access-summary-grid > article:nth-child(3):hover {
  transform: translateY(-3px) !important;
}

/* Keep only the first desktop hero fact on two clean lines without touching mobile. */
.hero .hero-info {
  grid-template-columns: 1.18fr 1fr 1fr 1fr !important;
}

.hero .hero-info > .kids {
  min-width: 0 !important;
}

.hero .hero-info > .kids p {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

.hero .hero-info > .kids .origin-accent,
.hero .hero-info > .kids .origin-main {
  display: block !important;
  white-space: nowrap !important;
}

.hero .hero-info > .kids .origin-accent {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: start !important;
  gap: 5px !important;
  width: fit-content !important;
  color: #e77e3e !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
}

.hero .hero-info > .kids .origin-accent::before,
.hero .hero-info > .kids .origin-accent::after {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 1px !important;
  flex: 0 0 8px !important;
  background: currentColor !important;
  opacity: .72 !important;
}

.hero .hero-info > .kids .origin-accent::before {
  transform: translateY(2px) rotate(55deg) !important;
  transform-origin: right center !important;
}

.hero .hero-info > .kids .origin-accent::after {
  transform: translateY(2px) rotate(-55deg) !important;
  transform-origin: left center !important;
}

.hero .hero-info > .kids .origin-main {
  font-size: .82rem !important;
}

/* Desktop-only two-line schedule introduction. */
.schedule-heading-group .schedule-lead {
  font-size: 0 !important;
}

.schedule-heading-group .schedule-lead::before {
  content: "Find a class time that works for your family.\APlease check the schedule in your local time zone." !important;
  display: block !important;
  white-space: pre-line !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

/* FINAL business-info alignment: this must remain last. */
html body main .access-section .access-summary-grid > article:nth-child(2) > .summary-icon,
html body main .access-section .access-summary-grid > article:nth-child(2) > h3 {
  transform: none !important;
}

/* Match business information to the exact grid used by Contact. */
html body main .access-section .access-summary-grid > article:nth-child(2) {
  grid-template-rows: 21px 21px !important;
  align-content: center !important;
}

html body main .access-section .access-summary-grid > article:nth-child(2) > .summary-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}

html body main .access-section .access-summary-grid > article:nth-child(2) > h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
}

html body main .access-section .access-summary-grid > article:nth-child(2) > p {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  transform: none !important;
}

/* Final background override for the CTA block below the instructor. */
html body main > section.teacher-section + div.access-trial#trial {
  background-color: #ffffff !important;
  background-image: none !important;
}

.access-social-links {
  grid-template-columns: minmax(0, 450px) !important;
}

.site-footer .footer-policy {
  display: inline-block;
  margin-top: 8px;
  color: inherit;
  font-size: .82rem;
  text-underline-offset: 3px;
}

/* White background for the instructor section. */
html body main > section.teacher-section {
  background-color: #ffffff !important;
  background-image: none !important;
}

/* Refined lower contact summary: contact, business info, Instagram. */
.access-section .access-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: min(100%, 900px) !important;
}

.access-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: min(100%, 1100px);
  margin: 30px auto 0;
}

.access-summary-grid article {
  display: flex;
  min-height: 180px;
  padding: 24px 20px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #44564f;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(88,189,37,.18);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(65,112,49,.08);
  text-align: center;
}

.access-summary-grid h3 {
  margin: 11px 0 10px;
  color: #252b29;
  font-size: 1.05rem;
}

.access-summary-grid p {
  margin: 3px 0;
  font-size: .88rem;
  line-height: 1.6;
}

.access-summary-grid strong {
  color: #3f9222;
}

.access-summary-grid a {
  color: #123f73;
  font-size: .9rem;
  font-weight: 800;
  overflow-wrap: anywhere;
  text-underline-offset: 3px;
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #fff;
  background: #55b947;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 900;
}

.access-summary-grid .instagram-mark {
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  font-size: .72rem;
}

.site-footer {
  padding: 40px 20px 46px !important;
}

.site-footer .footer-brand-block {
  display: grid;
  justify-items: center;
  gap: 8px;
  width: min(100%, 420px);
  margin: 0 auto;
}

.site-footer .footer-brand-block img {
  width: 170px;
  height: auto;
}

.site-footer .footer-brand-block p {
  margin: 2px 0 0;
  color: #252b29;
  font-weight: 800;
  letter-spacing: .04em;
}

.site-footer .footer-policy {
  margin-top: 4px;
  color: #5d6864;
}

/* Final spacing and interaction for the trial CTA below the instructor. */
html body main > section.teacher-section + div.access-trial#trial {
  padding: 58px 24px 42px !important;
}

html body main > section.teacher-section + div.access-trial#trial > a.big-cta {
  position: relative !important;
  z-index: 10 !important;
  transform: translate3d(0, 0, 0) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
  pointer-events: auto !important;
}

html body main > section.teacher-section + div.access-trial#trial > a.big-cta:hover,
html body main > section.teacher-section + div.access-trial#trial > a.big-cta:focus-visible {
  transform: translate3d(0, -4px, 0) !important;
  filter: brightness(1.04) !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.55), inset 0 -5px 7px rgba(25,117,0,.18), 0 18px 28px rgba(50,160,0,.3) !important;
}

html body main > section.teacher-section + div.access-trial#trial > a.big-cta:active {
  transform: translate3d(0, 1px, 0) !important;
}

/* Bring the four hero facts closer together and center the group. */
.hero .hero-info {
  width: min(100%, 880px) !important;
  max-width: 880px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  column-gap: 0 !important;
}

.hero .hero-info > div {
  padding-right: 8px !important;
  padding-left: 8px !important;
}

/* Compact button-like contact summary cards. */
.access-summary-grid {
  gap: 12px !important;
  width: min(100%, 900px) !important;
  margin-top: 24px !important;
}

.access-summary-grid article {
  min-height: 118px !important;
  padding: 15px 14px !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 20px rgba(65,112,49,.07) !important;
}

.access-summary-grid h3 {
  margin: 7px 0 6px !important;
  font-size: .95rem !important;
}

.access-summary-grid p,
.access-summary-grid a {
  font-size: .78rem !important;
  line-height: 1.45 !important;
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
  font-size: .76rem !important;
}

/* Compact button treatment for the footer privacy-policy link. */
.site-footer .footer-policy {
  display: inline-flex !important;
  min-height: 38px;
  margin-top: 8px !important;
  padding: 9px 18px;
  align-items: center;
  justify-content: center;
  color: #4d5c56 !important;
  font-size: .78rem !important;
  font-weight: 700;
  text-decoration: none;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(88,189,37,.18);
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(65,112,49,.06);
}

.site-footer .footer-policy:hover,
.site-footer .footer-policy:focus-visible {
  color: #3f9222 !important;
  border-color: rgba(88,189,37,.38);
}

/* Reduce only the gap between instructor copy and the final trial button. */
html body main > section.teacher-section {
  padding-bottom: 22px !important;
}

html body main > section.teacher-section + div.access-trial#trial {
  padding-top: 38px !important;
}

/* Slimmer final contact-summary cards. */
.access-summary-grid {
  gap: 10px !important;
  width: min(100%, 820px) !important;
  margin-top: 20px !important;
}

.access-summary-grid article {
  min-height: 88px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  box-shadow: 0 5px 14px rgba(65,112,49,.055) !important;
}

.access-summary-grid h3 {
  margin: 5px 0 4px !important;
  font-size: .85rem !important;
}

.access-summary-grid p,
.access-summary-grid a {
  margin: 1px 0 !important;
  font-size: .7rem !important;
  line-height: 1.35 !important;
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  width: 25px !important;
  height: 25px !important;
  border-radius: 7px !important;
  font-size: .66rem !important;
}

/* Long, slim button-style layout for the three contact items. */
.access-summary-grid {
  width: min(100%, 1040px) !important;
  gap: 12px !important;
}

.access-summary-grid article {
  display: grid !important;
  grid-template-columns: 28px auto minmax(0, 1fr) !important;
  column-gap: 9px !important;
  align-items: center !important;
  justify-content: stretch !important;
  min-height: 58px !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  text-align: left !important;
}

.access-summary-grid h3 {
  margin: 0 !important;
  white-space: nowrap;
  font-size: .78rem !important;
}

.access-summary-grid p,
.access-summary-grid a {
  margin: 0 !important;
  font-size: .64rem !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.access-summary-grid article:nth-child(2) p {
  grid-column: 3;
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  grid-row: 1 / span 2;
  width: 25px !important;
  height: 25px !important;
}

/* Center all content cleanly inside each oval. */
.access-summary-grid article {
  grid-template-columns: 25px auto !important;
  grid-template-rows: auto auto !important;
  justify-content: center !important;
  justify-items: center !important;
  align-content: center !important;
  column-gap: 8px !important;
  row-gap: 2px !important;
  text-align: center !important;
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}

.access-summary-grid h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  text-align: center !important;
}

.access-summary-grid article > a,
.access-summary-grid article > p {
  grid-column: 2 !important;
  justify-self: center !important;
  text-align: center !important;
}

.access-summary-grid article:nth-child(2) p {
  grid-column: 2 !important;
}

/* Refined, minimal footer composition. */
.site-footer {
  position: relative;
  padding: 34px 20px 38px !important;
  background: #fffdf7 !important;
  border-top: 1px solid rgba(88,189,37,.14) !important;
}

.site-footer .footer-brand-block {
  display: grid !important;
  grid-template-columns: auto auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 18px !important;
  row-gap: 5px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.site-footer .footer-brand-block img {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 108px !important;
  height: auto !important;
  margin: 0 !important;
}

.site-footer .footer-brand-block p {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  color: #252b29 !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.site-footer .footer-policy {
  grid-column: 2 !important;
  grid-row: 2 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: start !important;
  color: #68736e !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(104,115,110,.38) !important;
  text-underline-offset: 4px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.site-footer .footer-policy:hover,
.site-footer .footer-policy:focus-visible {
  color: #3f9222 !important;
  text-decoration-color: currentColor !important;
}

/* Final polished alignment for the three contact pills. */
.access-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: min(100%, 1040px) !important;
  gap: 14px !important;
}

.access-summary-grid article {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  grid-template-rows: 20px minmax(18px, auto) !important;
  column-gap: 11px !important;
  row-gap: 3px !important;
  align-items: center !important;
  justify-items: start !important;
  align-content: center !important;
  min-height: 68px !important;
  padding: 10px 18px !important;
  text-align: left !important;
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  justify-self: start !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
  font-size: .72rem !important;
  line-height: 1 !important;
}

.access-summary-grid h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  justify-self: start !important;
  margin: 0 !important;
  color: #252b29 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

.access-summary-grid article > a,
.access-summary-grid article > p {
  grid-column: 2 !important;
  justify-self: start !important;
  margin: 0 !important;
  font-size: .66rem !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.access-summary-grid article > a {
  grid-row: 2 !important;
}

.access-summary-grid article:nth-child(2) p {
  grid-column: 2 !important;
  white-space: nowrap;
}

.access-summary-grid article:nth-child(2) p:first-of-type {
  grid-row: 2 !important;
  align-self: start !important;
}

.access-summary-grid article:nth-child(2) p:last-of-type {
  grid-row: 3 !important;
  align-self: start !important;
}

/* Four evenly balanced contact/privacy pills. */
.access-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: min(100%, 1160px) !important;
  gap: 12px !important;
}

.access-summary-grid article {
  min-width: 0 !important;
  padding-right: 14px !important;
  padding-left: 14px !important;
}

/* Footer now contains only the logo and brand name. */
.site-footer .footer-brand-block {
  grid-template-columns: auto auto !important;
  grid-template-rows: auto !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
}

.site-footer .footer-brand-block img {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.site-footer .footer-brand-block p {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
}

/* Minimal icon-and-text navigation; remove the button appearance. */
.access-summary-grid {
  gap: 0 !important;
  width: min(100%, 1080px) !important;
  margin-top: 28px !important;
}

.access-summary-grid article {
  position: relative;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  grid-template-rows: 20px minmax(20px, auto) !important;
  min-height: 64px !important;
  padding: 4px 24px !important;
  column-gap: 12px !important;
  row-gap: 3px !important;
  align-content: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.access-summary-grid article + article::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 0;
  width: 1px;
  background: rgba(18,63,115,.12);
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  position: relative;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 34px !important;
  height: 34px !important;
  align-self: center !important;
  color: #123f73 !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  background: #fff !important;
  border: 1px solid rgba(18,63,115,.16) !important;
  border-radius: 50% !important;
  box-shadow: 0 5px 14px rgba(18,63,115,.08) !important;
}

.access-summary-grid .instagram-mark {
  color: #fff !important;
  background: linear-gradient(135deg, #6f42c1, #d94378, #f28b36) !important;
  border-color: transparent !important;
}

.access-summary-grid h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  margin: 0 !important;
  color: #252b29 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .025em !important;
  line-height: 1.2 !important;
}

.access-summary-grid article > a,
.access-summary-grid article > p {
  grid-column: 2 !important;
  margin: 0 !important;
  color: #66716d !important;
  font-size: .66rem !important;
  line-height: 1.35 !important;
}

/* Keep business information aligned and clear of the next divider. */
.access-summary-grid article:nth-child(2) {
  grid-template-rows: 21px auto !important;
  padding-right: 30px !important;
}

.access-summary-grid article:nth-child(2) .summary-icon {
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}

.access-summary-grid article:nth-child(2) h3 {
  grid-row: 1 !important;
  align-self: end !important;
}

.access-summary-grid article:nth-child(2) p {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  max-width: 100% !important;
  padding-right: 4px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Align only the business-info icon and heading with the other three items. */
.access-summary-grid article:nth-child(2) .summary-icon,
.access-summary-grid article:nth-child(2) h3 {
  transform: translateY(11px) !important;
}

.access-summary-grid article:nth-child(2) strong {
  color: #252b29 !important;
}

.access-summary-grid article:nth-child(1) > a,
.access-summary-grid article:nth-child(3) > a,
.access-summary-grid article:nth-child(4) > a {
  color: #252b29 !important;
}

/* Lower only the business icon and heading to the shared visual baseline. */
.access-summary-grid article:nth-child(2) .summary-icon,
.access-summary-grid article:nth-child(2) h3 {
  transform: translateY(41px) !important;
}

/* Lower only the business-info icon and text group to match the other items. */
.access-summary-grid article:nth-child(2) .summary-icon,
.access-summary-grid article:nth-child(2) h3,
.access-summary-grid article:nth-child(2) p {
  transform: translateY(5px) !important;
}

/* Authoritative equal-height structure for all four summary items. */
.access-summary-grid article {
  display: flex !important;
  min-height: 72px !important;
  padding: 6px 24px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

.access-summary-grid article:nth-child(2) .summary-icon,
.access-summary-grid article:nth-child(2) h3,
.access-summary-grid article:nth-child(2) p {
  transform: none !important;
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  flex: 0 0 36px !important;
  align-self: center !important;
}

.access-summary-grid .summary-copy {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  text-align: left;
}

.access-summary-grid .summary-copy h3,
.access-summary-grid .summary-copy p,
.access-summary-grid .summary-copy a {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  text-align: left !important;
}

.access-summary-grid .summary-copy h3 {
  font-size: .8rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.access-summary-grid .summary-copy p,
.access-summary-grid .summary-copy a {
  font-size: .65rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Revert the last all-item structure change; adjust business information only. */
.access-summary-grid article {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  grid-template-rows: 21px 21px !important;
  min-height: 64px !important;
  padding: 4px 24px !important;
  column-gap: 12px !important;
  row-gap: 3px !important;
  align-content: center !important;
  align-items: center !important;
  justify-content: stretch !important;
}

.access-summary-grid article:nth-child(2) {
  grid-template-rows: 21px auto !important;
  padding-right: 30px !important;
}

.access-summary-grid article:nth-child(2) .summary-icon,
.access-summary-grid article:nth-child(2) h3,
.access-summary-grid article:nth-child(2) p {
  transform: translateY(5px) !important;
}

.access-summary-grid article:nth-child(2) p {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.access-summary-grid article > a {
  color: #123f73 !important;
  font-weight: 700 !important;
  text-underline-offset: 3px !important;
}

/* Unified refined line icons and typography for all four items. */
.access-summary-grid article {
  grid-template-rows: 21px 21px !important;
  align-content: center !important;
}

.access-summary-grid .summary-icon,
.access-summary-grid .instagram-mark {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  place-items: center !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(18,63,115,.14) !important;
  border-radius: 50% !important;
  box-shadow: 0 5px 14px rgba(18,63,115,.07) !important;
}

.access-summary-grid .instagram-mark {
  background: linear-gradient(145deg, #fff 0%, #fff7fb 100%) !important;
  border-color: rgba(193,53,132,.18) !important;
}

.access-summary-grid .summary-icon svg,
.access-summary-grid .instagram-mark svg {
  display: block;
  width: 19px;
  height: 19px;
  overflow: visible;
  fill: none;
  stroke: #123f73;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.access-summary-grid .instagram-mark svg {
  stroke: #bd347c;
}

.access-summary-grid .instagram-mark svg .icon-dot {
  fill: #bd347c;
  stroke: none;
}

.access-summary-grid h3 {
  align-self: end !important;
  min-height: 18px;
  font-family: inherit !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  line-height: 1.25 !important;
}

.access-summary-grid article > a,
.access-summary-grid article > p {
  align-self: start !important;
  min-height: 18px;
  font-family: inherit !important;
  font-size: .67rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}

/* Third CTA interaction — keep at the end so no earlier rule can cancel it. */
body main .teacher-section + .access-trial > a.big-cta {
  position: relative !important;
  z-index: 5 !important;
  transform: translate3d(0, 0, 0) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
  pointer-events: auto !important;
}

body main .teacher-section + .access-trial > a.big-cta:hover,
body main .teacher-section + .access-trial > a.big-cta:focus-visible {
  transform: translate3d(0, -4px, 0) !important;
  filter: brightness(1.04) !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.55), inset 0 -5px 7px rgba(25,117,0,.18), 0 18px 28px rgba(50,160,0,.3) !important;
}

body main .teacher-section + .access-trial > a.big-cta:active {
  transform: translate3d(0, 1px, 0) !important;
}

/* White background for the final trial CTA area. */
.teacher-section + .access-trial {
  background: #ffffff !important;
}

/* FINAL: make the third CTA react exactly like the first two. */
.teacher-section + .access-trial > a.big-cta {
  position: relative !important;
  z-index: 2 !important;
  transform: translateY(0) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

.teacher-section + .access-trial > a.big-cta:hover,
.teacher-section + .access-trial > a.big-cta:focus-visible {
  transform: translateY(-3px) !important;
  filter: brightness(1.03) !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.55), inset 0 -5px 7px rgba(25,117,0,.18), 0 18px 28px rgba(50,160,0,.28) !important;
}

.teacher-section + .access-trial > a.big-cta:active {
  transform: translateY(1px) !important;
}

/* FINAL: all four lower-page headings match Class Information & Pricing. */
#price > h2,
.voices > h2,
.faq-section > h2,
.teacher-section h2 {
  color: #080808 !important;
  -webkit-text-fill-color: #080808 !important;
}

/* Final heading color: match the existing Parents' Voices heading. */
#price > h2,
.voices > h2,
.faq-section > h2,
.teacher-section h2 {
  color: #080808 !important;
}

/* Slightly thinner yellow underline beneath “30秒”. */
.video-heading span {
  background: linear-gradient(transparent 84%, #ffd95a 84%, #ffd95a 93%, transparent 93%) !important;
}

/* Slightly tighten the top CTA/privacy-to-Class Information spacing. */
.hero + .schedule-section,
.schedule-section {
  padding-top: 26px !important;
}

/* Final CTA unification: all three match the first-view button. */
.hero .hero-composed-copy a.big-cta,
#price > a.big-cta.price-cta,
.access-trial > a.big-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: min(100%, 430px) !important;
  max-width: 520px !important;
  min-height: 68px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 14px 28px !important;
  color: #fff !important;
  font-size: clamp(1.05rem, 2.2vw, 1.5rem) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  background: linear-gradient(#a4f12a, #4cc500 54%, #36a900) !important;
  border: 4px solid rgba(45,159,0,.42) !important;
  border-radius: 999px !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.48), inset 0 -5px 7px rgba(25,117,0,.2), 0 14px 24px rgba(50,160,0,.22) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
  animation: none !important;
}

.hero .hero-composed-copy a.big-cta::after,
#price > a.big-cta.price-cta::after,
.access-trial > a.big-cta::after {
  display: inline-grid !important;
  flex: 0 0 30px !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-left: 10px !important;
  color: #45b700 !important;
  background: #fff !important;
  border-radius: 50% !important;
  content: "→" !important;
}

.hero .hero-composed-copy a.big-cta:hover,
#price > a.big-cta.price-cta:hover,
.access-trial > a.big-cta:hover {
  transform: translateY(-3px) !important;
  filter: brightness(1.03) !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.55), inset 0 -5px 7px rgba(25,117,0,.18), 0 18px 28px rgba(50,160,0,.28) !important;
}

/* Guide the eye naturally from the instructor profile to the trial CTA. */
.teacher-section + .access-trial {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 88px 24px 64px !important;
  overflow: hidden !important;
  background: #fffaf0 !important;
  text-align: center !important;
}

.teacher-section + .access-trial::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 68px;
  transform: none;
  background: #eef8e9 !important;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  opacity: 1;
}

/* Match Instagram/privacy boxes to the business-information boxes above. */
.access-social-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: min(100%, 900px) !important;
  margin: 26px auto 0 !important;
}

.access-social-links a {
  width: 100% !important;
  min-height: 58px !important;
  padding: 16px 20px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(88, 189, 37, 0.16) !important;
  border-radius: 14px !important;
}

/* Use the Digital Abacus navy for the requested section headings. */
#price > h2,
.voices > h2,
.faq-section > h2,
.teacher-section h2 {
  color: #252b29 !important;
}

.hero .hero-kids-original {
  bottom: auto !important;
  transform: translateY(13%) scale(1.5) !important;
  transform-origin: center bottom !important;
}

/* Restore the thin yellow underline beneath “30秒”. */
.video-heading span {
  color: #111 !important;
  background: linear-gradient(transparent 76%, #ffd95a 76%, #ffd95a 94%, transparent 94%) !important;
  padding: 0 1px !important;
}

/* Align the requested lower-page headings and content only. */
.voices h2,
.faq-section h2,
.teacher-section h2 {
  color: #080808 !important;
}

.access-section .access-kicker {
  display: block !important;
  width: fit-content !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  text-align: center !important;
}

.access-section > h2,
.access-section > .access-lead {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

.trial-section,
.trial-section > h2,
.trial-section > a,
.trial-section > p {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

.trial-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.trial-section > h2 {
  width: fit-content !important;
}

.trial-section > a.big-cta {
  align-self: center !important;
}

/* Match CTA 2 and CTA 3 exactly to the first hero CTA. */
#price > a.big-cta.price-cta,
#trial > a.big-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  justify-self: center !important;
  width: auto !important;
  min-width: min(100%, 430px) !important;
  max-width: none !important;
  min-height: 68px !important;
  height: auto !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 14px 28px !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: clamp(1.05rem, 2.2vw, 1.5rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  background: linear-gradient(#a4f12a, #4cc500 54%, #36a900) !important;
  border: 4px solid rgba(45,159,0,.42) !important;
  border-radius: 999px !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.48), inset 0 -5px 7px rgba(25,117,0,.2), 0 14px 24px rgba(50,160,0,.22) !important;
  animation: cta-bounce 2.8s ease-in-out infinite !important;
}

#price > a.big-cta.price-cta::after,
#trial > a.big-cta::after {
  display: inline-grid !important;
  flex: 0 0 30px !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-left: 10px !important;
  color: #45b700 !important;
  background: #fff !important;
  border-radius: 50% !important;
  content: "→" !important;
  font-size: 1.05em !important;
  line-height: 1 !important;
  box-shadow: inset 0 -2px 0 rgba(45,159,0,.16) !important;
}

/* Lower and enlarge only the three hero children. */
.hero .hero-kids-original {
  top: auto !important;
  right: 0 !important;
  bottom: -7% !important;
  left: 0 !important;
  transform: scale(1.5) !important;
  transform-origin: center bottom !important;
}

.schedule-section {
  padding-top: 72px !important;
  background: var(--cream, #fffdf1) !important;
}

.schedule-section::before {
  width: min(72%, 860px) !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, rgba(88,189,37,.42), transparent) !important;
}

.schedule-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  margin: 0 auto 14px !important;
  padding: 7px 16px !important;
  color: var(--site-lime-dark) !important;
  background: rgba(164,241,42,.16) !important;
  border: 1px solid rgba(88,189,37,.24) !important;
  border-radius: 999px !important;
  letter-spacing: .12em !important;
}

.schedule-section > h2 {
  color: var(--site-blue-dark) !important;
}

.schedule-lead {
  color: #53665f !important;
}

.schedule-card {
  background: #fff !important;
  border-color: rgba(37,136,216,.16) !important;
  box-shadow: 0 18px 46px rgba(35,87,112,.11) !important;
}

.schedule-card p {
  color: var(--site-blue-dark) !important;
}

/* Restore the earlier lime-led palette. Keep blue only where it belongs in the hero title. */
.site-header .header-brand,
.site-header .main-nav a,
.site-header .language-nav a,
.schedule-section > h2,
.schedule-card p,
.access-section > h2,
.access-grid .access-card h3,
.access-grid .access-card a,
.teacher-section h2,
.faq-section h2,
.price-label,
.section-label,
.feature-label {
  color: var(--site-lime-dark) !important;
}

.about-points li > span,
.check-list li::before,
.access-icon,
.access-grid .access-card::after,
.hero-info .event .hero-info-icon::before,
.reason-list p::before {
  background: var(--site-lime) !important;
}

.schedule-card,
.access-grid .access-card {
  border-color: rgba(88, 189, 37, 0.2) !important;
}

.schedule-card {
  box-shadow: 0 18px 46px rgba(74, 139, 42, 0.12) !important;
}

.hero-composed-copy h1 .title-line:last-child,
.hero-sub span:last-child {
  color: var(--site-blue) !important;
}

/* All free-trial CTAs exactly match the first-view button. */
.hero .hero-composed-copy a.big-cta,
a.big-cta.price-cta,
.trial-section a.big-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: min(100%, 430px) !important;
  max-width: none !important;
  min-height: 68px !important;
  height: auto !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 14px 28px !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: clamp(1.05rem, 2.2vw, 1.5rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-decoration: none !important;
  background: linear-gradient(#a4f12a, #4cc500 54%, #36a900) !important;
  border: 4px solid rgba(45, 159, 0, 0.42) !important;
  border-radius: 999px !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.48), inset 0 -5px 7px rgba(25,117,0,.2), 0 14px 24px rgba(50,160,0,.22) !important;
  animation: cta-bounce 2.8s ease-in-out infinite !important;
}

.hero .hero-composed-copy a.big-cta::after,
a.big-cta.price-cta::after,
.trial-section a.big-cta::after {
  display: inline-grid !important;
  flex: 0 0 30px !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-left: 10px !important;
  color: #45b700 !important;
  background: #fff !important;
  border-radius: 50% !important;
  content: "→" !important;
  font-size: 1.05em !important;
  line-height: 1 !important;
  box-shadow: inset 0 -2px 0 rgba(45,159,0,.16) !important;
}

/* Refined lower-page background: calm, continuous, with edge-only decoration. */
.teacher-section,
.access-section,
.trial-section {
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  background: var(--cream, #fffdf1) !important;
  border: 0 !important;
}

.teacher-section {
  padding-bottom: 82px !important;
}

.access-section {
  padding-block: 78px 86px !important;
  background: #f7fceb !important;
}

.trial-section {
  padding-top: 82px !important;
}

.teacher-section::after,
.access-section::before,
.access-section::after,
.trial-section::before {
  display: none !important;
  content: none !important;
}

.teacher-section::before,
.trial-section::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 220px !important;
  height: 220px !important;
  border: 2px solid rgba(88, 189, 37, 0.12) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

.teacher-section::before {
  top: 46px !important;
  right: -145px !important;
  left: auto !important;
  background: rgba(164, 241, 42, 0.05) !important;
}

.trial-section::after {
  right: auto !important;
  bottom: 42px !important;
  left: -150px !important;
  background: rgba(37, 136, 216, 0.035) !important;
  border-color: rgba(37, 136, 216, 0.1) !important;
}

.teacher-section > *,
.access-section > *,
.trial-section > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Keep every free-trial CTA identical to the first hero button on desktop. */
.hero .big-cta,
.hero-composed-copy .big-cta,
a.big-cta.price-cta,
.trial-section a.big-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 520px) !important;
  min-width: 0 !important;
  max-width: 520px !important;
  min-height: 64px !important;
  height: auto !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 16px 34px !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  background: linear-gradient(135deg, #2a9a60 0%, #177c4c 100%) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 24px rgba(25, 125, 76, 0.24) !important;
  transform: none !important;
}

.hero .big-cta:hover,
a.big-cta.price-cta:hover,
.trial-section a.big-cta:hover {
  background: linear-gradient(135deg, #32a968 0%, #1a8753 100%) !important;
  transform: translateY(-2px) !important;
}

/* Restore only the first hero CTA to its original bright-green style. */
.hero .hero-composed-copy a.big-cta {
  min-height: 68px !important;
  width: auto !important;
  min-width: min(100%, 430px) !important;
  max-width: none !important;
  padding: 14px 28px !important;
  background: linear-gradient(#a4f12a, #4cc500 54%, #36a900) !important;
  border: 4px solid rgba(45, 159, 0, 0.42) !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.48), inset 0 -5px 7px rgba(25,117,0,.2), 0 14px 24px rgba(50,160,0,.22) !important;
  font-size: clamp(1.05rem, 2.2vw, 1.5rem) !important;
  font-weight: 900 !important;
  animation: cta-bounce 2.8s ease-in-out infinite !important;
}

.hero .hero-composed-copy a.big-cta::after {
  display: inline-grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-left: 10px !important;
  color: #45b700 !important;
  background: #fff !important;
  border-radius: 50% !important;
  content: "→" !important;
  box-shadow: inset 0 -2px 0 rgba(45,159,0,.16) !important;
}

.hero .hero-mini-info strong { font-size: clamp(1rem,1.2vw,1.15rem) !important; }
.hero .hero-mini-info span { font-size: clamp(.98rem,1.15vw,1.12rem) !important; }
.hero .hero-map { aspect-ratio: 16/10 !important; border-radius: 28px !important; }
.hero .hero-world-map { transform: scale(1.08); }
.hero .hero-map { background: #fff8e8 !important; }
.hero .hero-world-map {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  visibility: visible !important;
  opacity: .82 !important;
  background: #fff8e8 !important;
}
.hero .hero-kids-original {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  visibility: visible !important;
  opacity: 1 !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  transform: scale(1.26) translateY(3%);
  transform-origin: center bottom;
}

/* FINAL APPROVED DIRECTION — keep last. */
.site-header .header-brand,
.site-header .main-nav a,
.site-header .language-nav a:not([aria-current="page"]) { color: #123f73 !important; }
.site-header .main-nav a:hover { color: #2588d8 !important; }
.video-heading span { color: #f0831a !important; background: rgba(255,199,103,.25) !important; }
.about-points li > span { color: #fff !important; background: #55b947 !important; }
.pop-heading span { color: #55b947 !important; }
.feature-message h2, .feature-learning-pillars h2 { color: #2079d8 !important; }
.price-amount, .price-amount.fee { color: #f0831a !important; }
.teacher-section h2, .faq-section h2, .trial-section h2 { color: #1f462a !important; }

.schedule-section { padding-top: 74px !important; padding-bottom: 92px !important; background: var(--cream, #fffdf1) !important; }
.schedule-kicker { min-height: 0 !important; margin: 0 auto 12px !important; padding: 0 !important; color: #55b947 !important; background: transparent !important; border: 0 !important; font-size: .76rem !important; letter-spacing: .18em !important; }
.schedule-section > h2 { margin-bottom: 14px !important; color: #123f73 !important; }
.schedule-section > h2::after { content: ""; display: block; width: 62px; height: 4px; margin: 15px auto 0; background: #55b947; border-radius: 999px; }
.schedule-lead { margin-bottom: 30px !important; color: #53665f !important; }
.schedule-card { padding: 18px 18px 16px !important; background: #fff !important; border-color: rgba(32,121,216,.14) !important; box-shadow: 0 18px 46px rgba(35,87,112,.1) !important; }
.schedule-card p { color: #455b68 !important; }

.trial-section { display: grid !important; justify-items: center !important; text-align: center !important; }
.trial-section > * { margin-right: auto !important; margin-left: auto !important; text-align: center !important; }

.hero .hero-composed-copy a.big-cta,
a.big-cta.price-cta,
.trial-section a.big-cta {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: auto !important; min-width: min(100%,430px) !important; max-width: none !important; min-height: 68px !important;
  padding: 14px 28px !important; color: #fff !important; font-size: clamp(1.05rem,2.2vw,1.5rem) !important; font-weight: 900 !important;
  background: linear-gradient(#a4f12a,#4cc500 54%,#36a900) !important; border: 4px solid rgba(45,159,0,.42) !important; border-radius: 999px !important;
  box-shadow: inset 0 4px 7px rgba(255,255,255,.48),inset 0 -5px 7px rgba(25,117,0,.2),0 14px 24px rgba(50,160,0,.22) !important;
}
.hero .hero-composed-copy a.big-cta::after,
a.big-cta.price-cta::after,
.trial-section a.big-cta::after { display: inline-grid !important; place-items: center !important; width: 30px !important; height: 30px !important; margin-left: 10px !important; color: #45b700 !important; background: #fff !important; border-radius: 50% !important; content: "→" !important; }

.hero, .hero-inner, .hero-composed, .hero-composed-visual, .hero-map { background: var(--cream, #fffdf1) !important; }
.hero .hero-world-map { z-index: 1 !important; background: var(--cream, #fffdf1) !important; transform: scale(1.08) !important; }
.hero .hero-kids-original { z-index: 10 !important; transform: scale(1.34) translateY(4%) !important; }

/* Header language switch follows the navy menu palette. */
.site-header .language-nav {
  background: #eef4fb !important;
  border-color: rgba(18, 63, 115, 0.2) !important;
}

.site-header .language-nav::before {
  color: #647a91 !important;
}

.site-header .language-nav a {
  color: #123f73 !important;
}

.site-header .language-nav a[aria-current="page"] {
  color: #fff !important;
  background: linear-gradient(135deg, #194f88, #0d3767) !important;
  box-shadow: 0 3px 10px rgba(18, 63, 115, 0.25) !important;
}

.site-header .language-nav a:not([aria-current="page"]):hover {
  color: #0d3767 !important;
  background: #dce9f7 !important;
}

/* Professional schedule heading composition. */
.schedule-heading-group {
  position: relative;
  z-index: 2;
  width: min(100%, 760px);
  margin: 0 auto 34px;
  padding: 0 24px 28px;
  text-align: center;
}

.schedule-heading-group::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 84px;
  height: 3px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #7ed43d, #2588d8);
  border-radius: 999px;
}

.schedule-heading-group .schedule-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 30px !important;
  margin: 0 auto 14px !important;
  padding: 6px 13px !important;
  color: #52708c !important;
  background: #f3f7fb !important;
  border: 1px solid rgba(18, 63, 115, 0.12) !important;
  border-radius: 999px !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  line-height: 1 !important;
}

.schedule-heading-group .schedule-kicker span {
  color: #4da925;
}

.schedule-heading-group h2,
.schedule-section > .schedule-heading-group h2 {
  margin: 0 0 14px !important;
  color: #123f73 !important;
  font-family: inherit !important;
  font-size: clamp(2.1rem, 3.1vw, 2.85rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.035em !important;
  line-height: 1.3 !important;
}

.schedule-heading-group h2::after {
  display: none !important;
  content: none !important;
}

.schedule-heading-group .schedule-lead {
  margin: 0 !important;
  color: #5b6b72 !important;
  font-size: 1rem !important;
  line-height: 1.85 !important;
}

/* Final desktop-only corrections: keep the schedule copy to two lines and centre its first hero fact label. */
.schedule-heading-group .schedule-lead {
  font-size: 0 !important;
}

.schedule-heading-group .schedule-lead::before {
  content: "Find a class time that works for your family.\APlease check the schedule in your local time zone." !important;
  display: block !important;
  white-space: pre-line !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

.hero .hero-info > .kids .origin-accent {
  justify-self: start !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: translateX(-11px) !important;
}

.hero .hero-info > .kids .origin-main {
  transform: translateX(4px) !important;
}

/* Client-supplied hero artwork, desktop only. */
.hero .hero-map {
  position: relative !important;
  overflow: hidden !important;
}

.hero .hero-world-map,
.hero .hero-kids-original {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  mix-blend-mode: multiply !important;
}

.hero .hero-world-map {
  z-index: 1 !important;
  opacity: .86 !important;
  mix-blend-mode: normal !important;
  transform: scale(1.06) !important;
}

.hero .hero-kids-original {
  top: auto !important;
  right: 15% !important;
  bottom: 0 !important;
  left: 15% !important;
  z-index: 20 !important;
  width: 70% !important;
  height: 70% !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  transform-origin: center bottom !important;
}

/* Restore the original 30-second yellow-marker treatment. */
.video-heading span {
  color: #111 !important;
  background: linear-gradient(transparent 58%, #ffd95a 58%) !important;
  border-radius: 0 !important;
  padding: 0 2px !important;
}

/* Restore the original yellow Point speech bubbles, including their tails. */
.about-points li > span {
  color: #111 !important;
  background: #ffd95a !important;
  box-shadow: 0 4px 0 rgba(45,44,42,.08) !important;
}

.about-points li > span::after {
  background: #ffd95a !important;
}

/* Final price CTA and teacher balance. */
.price-amount,
.price-amount.fee {
  color: #55b947 !important;
}

#price {
  text-align: center !important;
}

#price > a.big-cta.price-cta {
  display: flex !important;
  width: fit-content !important;
  min-width: 430px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.teacher-section {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 720px) !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 48px !important;
  width: 100% !important;
  padding-right: max(32px, calc((100% - 1080px) / 2)) !important;
  padding-left: max(32px, calc((100% - 1080px) / 2)) !important;
}

.teacher-section .teacher-photo {
  justify-self: center !important;
  width: 230px !important;
  height: 230px !important;
}

.teacher-section > div {
  width: 100% !important;
  max-width: 720px !important;
}

.teacher-section h2 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.teacher-section::before,
.teacher-section::after {
  display: none !important;
  content: none !important;
}

/* Final price color and CTA alignment — keep last. */
#price .price-box .price-main .price-item .price-amount,
#price .price-box .price-main .price-item .price-amount.fee {
  color: #55b947 !important;
  -webkit-text-fill-color: #55b947 !important;
}

#price {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
}

#price > * {
  width: min(100%, 1100px);
}

#price > a.big-cta.price-cta {
  justify-self: center !important;
  width: auto !important;
  min-width: 430px !important;
  max-width: 520px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.schedule-heading-group {
  margin-bottom: 28px !important;
  padding-bottom: 22px !important;
}

/* Restore only the original classroom feature/policy text alignment. */
#price .detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: min(1120px, 100%) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: left !important;
}

#price .detail-grid article {
  display: block !important;
  text-align: left !important;
}

#price .detail-grid h3 {
  width: fit-content !important;
  margin: 0 auto 20px !important;
  text-align: center !important;
}

#price .detail-grid ul {
  margin: 0 !important;
  padding-left: 1.35em !important;
  text-align: left !important;
}

#price .detail-grid li {
  display: list-item !important;
  margin-bottom: 9px !important;
  padding: 0 !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

/* Tighten only the privacy-policy-to-schedule transition. */
.schedule-section {
  padding-top: 42px !important;
}

.schedule-heading-group {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

/* Enlarge and bottom-align only the desktop hero children. */
.hero .hero-composed-visual {
  align-self: end !important;
}

.hero .hero-map {
  display: flex !important;
  align-items: flex-end !important;
}

.hero .hero-kids-original {
  top: auto !important;
  right: 0 !important;
  bottom: -20% !important;
  left: 0 !important;
  z-index: 20 !important;
  transform: scale(1.5) !important;
  transform-origin: center bottom !important;
}

.hero .hero-composed-visual,
.hero .hero-map {
  overflow: visible !important;
}

/* Last-word desktop overrides: client copy color and contact emphasis. */
.refined-access .access-map-grid {
  gap: 18px !important;
  width: min(100%, 980px) !important;
  margin-top: 26px !important;
}

.refined-access .access-map-card {
  position: relative !important;
  overflow: hidden !important;
  padding: 0 0 16px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  border: 1px solid rgba(35, 74, 61, 0.13) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 38px rgba(38, 74, 60, 0.11) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.refined-access .access-map-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 22px 44px rgba(38, 74, 60, 0.16) !important;
}

.refined-access .access-map-card h3 {
  margin: 0 !important;
  padding: 14px 18px 12px !important;
  color: #24302c !important;
  background: linear-gradient(135deg, #f3faee, #fffdf5) !important;
  border-bottom: 1px solid rgba(77, 139, 57, 0.12) !important;
  font-size: .82rem !important;
  letter-spacing: .15em !important;
}

.refined-access .access-map-card iframe {
  height: 255px !important;
  border-radius: 0 !important;
}

.refined-access .access-map-card > a {
  display: inline-flex !important;
  min-height: 36px !important;
  margin: 14px auto 0 !important;
  padding: 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: #243f38 !important;
  border-radius: 999px !important;
  font-size: .76rem !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
}

.refined-access .access-map-card > a::after {
  margin-left: 7px !important;
  content: "↗" !important;
}

.refined-access .access-summary-grid {
  gap: 12px !important;
  width: min(100%, 980px) !important;
  margin-top: 22px !important;
  padding: 10px !important;
  background: rgba(255, 255, 255, 0.56) !important;
  border: 1px solid rgba(35, 74, 61, 0.1) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 28px rgba(38, 74, 60, 0.08) !important;
}

.refined-access .access-summary-grid > article {
  min-height: 128px !important;
  padding: 18px 14px !important;
  background: rgba(255, 255, 255, 0.86) !important;
  border: 1px solid rgba(35, 74, 61, 0.09) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  transform: none !important;
}

.refined-access .access-summary-grid > article:nth-child(1) {
  box-shadow: inset 0 3px 0 #61b43f !important;
}

.refined-access .access-summary-grid > article:nth-child(3) {
  box-shadow: inset 0 3px 0 #df568f !important;
}

.refined-access .access-summary-grid .summary-icon,
.refined-access .access-summary-grid .instagram-mark {
  transform: none !important;
}

.refined-access .access-summary-grid h3 {
  margin-top: 8px !important;
  font-size: .88rem !important;
  letter-spacing: .03em !important;
}

.refined-access .access-summary-grid > article:nth-child(1) > a,
.refined-access .access-summary-grid > article:nth-child(3) > a {
  display: inline-flex !important;
  min-height: 32px !important;
  margin-top: 7px !important;
  padding: 0 12px !important;
  align-items: center !important;
  justify-content: center !important;
  color: #24302c !important;
  background: #f2f7ef !important;
  border-radius: 999px !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.refined-access .access-summary-grid > article:nth-child(3) > a {
  background: #fff2f7 !important;
}

.hero .hero-composed-visual,
.hero .hero-map {
  background: #fffdf1 !important;
}

.hero .hero-world-map {
  background: transparent !important;
  mix-blend-mode: normal !important;
}

.hero .hero-kids-original {
  transform: scale(1.35) !important;
  transform-origin: center bottom !important;
}

.hero .hero-lead,
.hero .hero-info p,
.mobile-feature-copy,
.desktop-feature-copy,
.feature-learning-pillars .hero-pillar span,
.feature-learning-pillars > p,
.feature-learning-pillars > p .pillar-blue,
.feature-learning-pillars > p .pillar-orange,
.feature-learning-pillars > p .pillar-green,
.access-summary-grid h3,
.access-summary-grid p,
.access-summary-grid p strong,
.access-summary-grid a {
  color: #2d2c2a !important;
}

.access-summary-grid > article:nth-child(1),
.access-summary-grid > article:nth-child(3) {
  position: relative !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(35, 74, 61, 0.09) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  transition: none !important;
}

.access-summary-grid > article:nth-child(1) {
  box-shadow: inset 0 3px 0 #61b43f !important;
}

.access-summary-grid > article:nth-child(3) {
  box-shadow: inset 0 3px 0 #df568f !important;
}

.access-summary-grid > article:nth-child(1) .summary-icon,
.access-summary-grid > article:nth-child(3) .instagram-mark {
  transform: none !important;
}

.access-summary-grid > article:nth-child(1) > a,
.access-summary-grid > article:nth-child(3) > a {
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.access-summary-grid > article:nth-child(1):hover,
.access-summary-grid > article:nth-child(3):hover {
  transform: none !important;
}
