/* Light contact and content theme: black surface backgrounds intentionally removed. */
.button--ink{background:var(--red);color:#fffdf5}
.button--ink:hover{background:#cf4d40}
.programs-photo figcaption{background:var(--sun);color:var(--ink)}
.advice-section{background:var(--cream);color:var(--ink)}
.advice-section:after{background:#f5d4cd}
.advice-mascot-wrap{background:#fffdf5;border-color:var(--line);padding:.7rem}
.advice-mascot-wrap img{mix-blend-mode:normal;filter:none}
.advice-copy .eyebrow{color:var(--red)}
.advice-copy h2{color:var(--ink)}
.advice-copy h2 em{color:var(--red)}
.advice-copy>p:not(.eyebrow){color:var(--ink-soft)}
.text-link--light{color:var(--ink);border-color:var(--ink)}
.text-link--light:hover{color:var(--red);border-color:var(--red)}
.site-footer{background:var(--blue-paper);color:var(--ink)}
.site-footer p{color:var(--ink-soft)}
.contact-address{color:var(--ink)}
.service-contact{background:var(--mint);color:var(--ink)}
.service-contact p{color:var(--ink-soft)}
.service-contact__map{color:var(--ink);border-color:var(--ink)}
.service-contact__map:hover{color:var(--red);border-color:var(--red)}
.service-crosslinks a:hover{background:var(--sun);color:var(--ink)}
.telegram-note .telegram-note__cta{background:var(--red);color:#fffdf5}
.direction-cards,.route-grid,.service-points{background:#dfd2ba;border-color:#dfd2ba}
.messenger-link{border:1px solid var(--ink)!important;border-radius:999px!important;box-shadow:3px 3px 0 #cfbea4;align-items:center!important;gap:.46rem!important;padding:.48rem .75rem!important;display:inline-flex!important;font-weight:850!important;line-height:1.1!important;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out)!important}
.messenger-link:hover{box-shadow:1px 1px 0 #cfbea4!important;transform:translate(2px,2px)!important}
.messenger-link__icon{width:22px!important;height:22px!important;object-fit:contain!important;display:block!important;flex:none!important}
.messenger-link--whatsapp{background:#e9f8ee!important;color:#145b2e!important}
.messenger-link--telegram{background:#e5f4fc!important;color:#12618d!important}
.messenger-link--instagram{background:#fff0f5!important;color:#a5285c!important}
.messenger-link--max{background:#eaf0ff!important;color:#2149af!important}
@media (max-width:720px){.advice-section{grid-template-columns:1fr;padding:3rem 1.15rem}.advice-section:after{opacity:.45;width:56%;height:26%;top:auto}.advice-mascot-wrap{min-height:280px;max-width:440px;width:100%;justify-self:center}.advice-mascot-wrap img{height:275px;width:auto;max-width:90%}.messenger-link{width:100%;justify-content:flex-start}.site-footer{align-items:flex-start;flex-direction:column}.site-footer .footer-links{flex-wrap:wrap}}

/* Visual refresh: warmer, more playful editorial graphics while preserving the light theme. */
.directions-section{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#fffdf5 0%,#f4fbff 100%)}
.directions-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.78;background-image:radial-gradient(circle at 7% 13%,rgba(245,199,67,.30) 0 4px,transparent 4.5px),radial-gradient(circle at 90% 16%,rgba(236,105,91,.22) 0 7px,transparent 7.5px),radial-gradient(circle at 93% 72%,rgba(103,186,202,.22) 0 5px,transparent 5.5px),radial-gradient(circle at 8% 82%,rgba(141,202,162,.26) 0 8px,transparent 8.5px)}
.direction-cards{padding:.52rem;border-radius:1.55rem;background:linear-gradient(135deg,#eadfc9 0%,#f6eddd 100%);border-color:#d6c4a7;box-shadow:12px 14px 0 rgba(198,170,125,.20),0 20px 42px rgba(37,38,34,.10)}
.direction-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(39,42,37,.14);border-radius:1.08rem;box-shadow:0 9px 20px rgba(37,38,34,.08);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}
.direction-card:after{content:"";position:absolute;z-index:-1;width:6.5rem;height:6.5rem;right:-2.2rem;bottom:-2.5rem;border-radius:50%;background:rgba(255,255,255,.46)}
.direction-card:hover{transform:translateY(-5px) rotate(-.35deg);border-color:rgba(39,42,37,.28);box-shadow:0 16px 28px rgba(37,38,34,.15)}
.direction-card--sun{background:linear-gradient(145deg,#fff4bd 0%,#fffaf0 78%)}
.direction-card--mint{background:linear-gradient(145deg,#dcf3e5 0%,#f8fffb 78%)}
.direction-card--coral{background:linear-gradient(145deg,#ffe1da 0%,#fff9f6 78%)}
.direction-card--paper{background:linear-gradient(145deg,#f0e9dc 0%,#fffdf7 78%)}
.direction-card--blue{background:linear-gradient(145deg,#dff1f8 0%,#f8fdff 78%)}
.direction-card .card-topline span{display:inline-flex;align-items:center;justify-content:center;min-width:2.15rem;padding:.25rem .45rem;border:1px solid currentColor;border-radius:999px;background:rgba(255,255,255,.54);font-variant-numeric:tabular-nums}
.direction-card h3{letter-spacing:-.025em}
.direction-card a{font-weight:800;text-underline-offset:.22em;text-decoration-thickness:1.5px}
.age-timeline{border-radius:1.55rem;padding:.4rem .75rem;background:linear-gradient(145deg,rgba(217,239,248,.80),rgba(255,253,245,.72));box-shadow:0 15px 30px rgba(68,117,136,.10)}
.age-card{border-radius:1rem;transition:background .2s var(--ease-out),transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}
.age-card:hover{background:rgba(255,255,255,.56);transform:translateX(4px);box-shadow:0 8px 18px rgba(51,90,104,.10)}
.age-number{color:var(--red)!important;text-shadow:1px 1px 0 rgba(255,255,255,.9)}
.programs-photo{border-radius:1.45rem;overflow:hidden;box-shadow:12px 14px 0 rgba(221,193,142,.28),0 18px 35px rgba(37,38,34,.12)}
.advice-section,.service-contact{position:relative;overflow:hidden;border-radius:1.65rem;box-shadow:0 18px 42px rgba(37,38,34,.10)}
.advice-section:before,.service-contact:before{content:"";position:absolute;inset:auto -4rem -5rem auto;width:15rem;height:15rem;border-radius:50%;background:rgba(245,199,67,.28);pointer-events:none}
.advice-section>*,.service-contact>*{position:relative;z-index:1}
.site-footer{border-top:1px solid rgba(39,42,37,.10)}
@media (max-width:720px){.direction-cards{padding:.38rem;border-radius:1.2rem;box-shadow:6px 7px 0 rgba(198,170,125,.18),0 12px 24px rgba(37,38,34,.08)}.direction-card{border-radius:.92rem}.direction-card:hover{transform:none;box-shadow:0 9px 20px rgba(37,38,34,.08)}.age-timeline{padding:.25rem .2rem;border-radius:1.15rem}.age-card:hover{transform:none}.advice-section,.service-contact{border-radius:1.15rem}}
@media (prefers-reduced-motion:reduce){.direction-card,.age-card{transition:none}}

/* Preserve the original hero art direction while preventing horizontal drift at zoomed and medium desktop widths. */
html,body{max-width:100%;overflow-x:clip}
@media (min-width:721px) and (max-width:1100px){
  .hero-section{overflow:hidden}
  .hero-grid{width:calc(100% - 2rem);min-width:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.6rem}
  .hero-copy,.hero-visual{min-width:0}
  .hero-copy h1{font-size:clamp(3.35rem,6.5vw,5.45rem)}
  .hero-visual{width:100%;height:clamp(22rem,44vw,29rem)}
  .hero-photo-frame{right:0;width:min(100%,26rem)}
  .hero-mascot-card{left:0;width:min(63%,16rem)}
  .hero-stamp{right:0;bottom:1rem}
}

/* Stable hero layout: content stays in flow at every viewport width. */
.hero-section{overflow-x:clip!important}
.hero-grid{width:min(calc(100% - 2.5rem),72rem)!important;max-width:72rem!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(1.5rem,3vw,3.5rem)!important}
.hero-copy{min-width:0!important;max-width:35rem!important;padding-bottom:0!important}
.hero-visual{display:grid!important;grid-template-columns:minmax(0,1fr) 10rem!important;align-items:end!important;gap:1rem!important;width:100%!important;min-width:0!important;min-height:0!important;margin:0!important}
.hero-photo-frame{position:relative!important;top:auto!important;right:auto!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;padding:10px!important;transform:none!important;box-shadow:8px 10px rgba(24,24,23,.18)!important}
.hero-photo-frame img{width:100%!important;height:100%!important;object-fit:cover!important}
.hero-mascot-card{position:relative!important;left:auto!important;bottom:auto!important;display:grid!important;grid-template-columns:1fr!important;width:100%!important;min-height:0!important;padding:.7rem .65rem 0!important;transform:none!important;box-shadow:5px 7px rgba(24,24,23,.16)!important}
.hero-mascot-card img{width:100%!important;height:166px!important;object-fit:contain!important;object-position:bottom!important}
.hero-mascot-card p{margin:.45rem .2rem .65rem!important;text-align:center!important;font-size:1rem!important;line-height:.95!important}
.hero-stamp{display:none!important}
.scroll-cue{position:static!important;display:flex!important;width:min(calc(100% - 2.5rem),72rem)!important;margin:1.3rem auto 0!important;justify-content:flex-end!important}
@media (max-width:720px){
  .hero-section{min-height:0!important;padding:2.7rem 0 2.2rem!important}
  .hero-margin-note,.scroll-cue{display:none!important}
  .hero-grid{width:calc(100% - 2.3rem)!important;grid-template-columns:1fr!important;gap:1.35rem!important}
  .hero-copy{max-width:none!important}
  .hero-visual{grid-template-columns:1fr!important;max-width:30rem!important;margin:0 auto!important;gap:.9rem!important}
  .hero-photo-frame{aspect-ratio:4/3!important}
  .hero-mascot-card{grid-template-columns:105px 1fr!important;align-items:end!important;padding:.65rem .8rem 0!important}
  .hero-mascot-card img{height:145px!important}
  .hero-mascot-card p{text-align:left!important;font-size:1.2rem!important;margin:0 0 1rem!important}
}

/* Visual refinement: warmer depth and clearer action hierarchy without shifting the layout. */
.section-heading-block h2,.path-side-copy h2,.advice-copy h2,.parents-heading h2{letter-spacing:-.065em;text-wrap:balance}
.section-heading-block .eyebrow,.route-section .eyebrow,.age-section .eyebrow{display:flex;align-items:center;gap:.6rem}
.section-heading-block .eyebrow::before,.route-section .eyebrow::before,.age-section .eyebrow::before{content:"";width:2.15rem;height:2px;border-radius:99px;background:var(--sun);display:block}
.direction-card{border:1px solid rgba(24,24,23,.09);border-radius:1.35rem;box-shadow:0 14px 28px rgba(40,57,61,.10);transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .22s var(--ease-out)}
.direction-card h3{letter-spacing:-.06em}
.direction-card a{border-bottom-color:rgba(24,24,23,.55);transition:color .18s var(--ease-out),border-color .18s var(--ease-out)}
.direction-card a:hover{color:var(--red);border-bottom-color:var(--red)}
.age-card{border:1px solid rgba(24,24,23,.07);background:rgba(255,253,245,.38)}
.contact-section{background:linear-gradient(135deg,#dd6455 0%,#c95145 52%,#b8443c 100%)}
.contact-section::after{content:"";pointer-events:none;position:absolute;inset:auto 5% 9% auto;width:14rem;height:14rem;border:1px solid rgba(255,253,245,.22);border-radius:50%;box-shadow:0 0 0 1.1rem rgba(255,253,245,.07),0 0 0 2.25rem rgba(255,253,245,.04)}
.site-footer .footer-links{align-items:center}
.site-footer .footer-links .messenger-link{font-size:.7rem;box-shadow:2px 2px 0 rgba(207,190,164,.75)}
@media (min-width:721px){
  .direction-card:hover{transform:translateY(-5px);border-color:rgba(24,24,23,.16);box-shadow:0 20px 34px rgba(40,57,61,.16)}
  .site-footer .footer-links .messenger-link{width:auto!important;justify-content:flex-start!important}
}
@media (prefers-reduced-motion:reduce){
  .direction-card,.direction-card a{transition:none}
}

/* Mobile fix: keep the caption inside its rotated photo card so it is never clipped. */
@media (max-width:720px){
  .programs-photo{overflow:hidden}
  .programs-photo figcaption{left:.55rem;right:.55rem;bottom:.55rem;max-width:none;padding:.62rem .72rem;font-size:1.04rem;line-height:1.08}
}

/* Hero refresh: the mascot is the primary visual, with a clear, compact set of first-screen actions. */
.hero-copy .eyebrow{font-weight:850!important;color:var(--red)!important;letter-spacing:.11em!important}
.hero-copy .eyebrow span{display:inline-block;padding:.28rem .55rem;border-radius:999px;background:var(--sun);color:var(--ink);box-shadow:3px 3px 0 rgba(24,24,23,.13)}
.hero-copy h1{color:var(--ink)!important;text-wrap:balance}
.hero-copy h1 em{display:inline-block;color:var(--red)!important;text-shadow:2px 2px 0 rgba(245,199,67,.78),4px 4px 0 rgba(24,24,23,.08)}
.hero-actions{align-items:center!important;gap:.65rem!important}
.hero-actions>a[href*="t.me"],.hero-actions>a[href*="instagram.com"]{font-weight:850!important}
.hero-actions>a[href*="instagram.com"]{color:#9d285c!important;border-color:#9d285c!important}
@media (min-width:721px){
  .hero-visual{grid-template-columns:minmax(0,.72fr) minmax(15rem,1.28fr)!important;align-items:center!important}
  .hero-photo-frame{aspect-ratio:3/4!important;align-self:center!important}
  .hero-mascot-card{min-height:25rem!important;padding:1rem 1rem 0!important;background:linear-gradient(155deg,#fff8dc 0%,#fffdf5 68%)!important}
  .hero-mascot-card img{height:clamp(17rem,29vw,27rem)!important;width:100%!important;object-fit:contain!important;object-position:center bottom!important}
  .hero-mascot-card p{font-size:1.18rem!important;line-height:1.02!important}
}
@media (max-width:720px){
  .hero-copy h1{font-size:clamp(3.3rem,16vw,4.6rem)!important;line-height:.86!important}
  .hero-photo-frame{display:none!important}
  .hero-mascot-card{grid-template-columns:1fr!important;min-height:21.5rem!important;padding:1rem 1rem .35rem!important;background:linear-gradient(155deg,#fff7cf 0%,#fffdf5 70%)!important}
  .hero-mascot-card img{height:17.5rem!important;width:100%!important;object-fit:contain!important;object-position:center bottom!important}
  .hero-mascot-card p{margin:.25rem .2rem .5rem!important;text-align:center!important;font-size:1.15rem!important;line-height:1!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:stretch!important}
  .hero-actions .button--call{grid-column:1/-1!important;justify-content:center!important}
  .hero-actions>a[href*="t.me"],.hero-actions>a[href*="instagram.com"]{min-width:0!important;justify-content:center!important;text-align:center!important}
}
/* The landing-screen content must be immediately readable, including on slower mobile connections. */
.hero-section .hero-copy,.hero-section .hero-visual,.hero-section .scroll-cue{animation:none!important;opacity:1!important}
