@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/golos-text-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/golos-text-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/golos-text-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/golos-text-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-garamond-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --background:#f5f4ec; --foreground:#243d34; --primary:#243d34;
  --primary-foreground:#f5f4ec; --muted:#e9e9df; --muted-foreground:#56655c;
  --border:#c5cbc0; --ring:#ca442b; --accent:#ca442b; --paper:#eeece2;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-text),sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{text-wrap:balance}
h1{font-family:var(--font-display),sans-serif;font-weight:400;line-height:1.08;letter-spacing:-.02em}
h2{font-size:clamp(2.5rem,4.1vw,4rem);font-weight:550;line-height:1.12;letter-spacing:-.035em}
h3{font-size:1.65rem;font-weight:550;line-height:1.22;letter-spacing:-.025em}
p{color:var(--muted-foreground)}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
a,button{-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.45;cursor:not-allowed}
img{display:block;max-width:100%;height:auto}
svg{flex-shrink:0}
::selection{background:#efb741;color:var(--foreground)}
:focus-visible{outline:2px solid var(--ring);outline-offset:6px}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--background)}
::-webkit-scrollbar-thumb{background:#839085;border:3px solid var(--background)}
.wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}
.ink-accent{color:var(--accent)}
.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:var(--primary);color:var(--background);padding:12px 20px}
.skip-link:focus{top:10px}
.site-header{display:flex;align-items:center;gap:32px;min-height:94px;border-bottom:1px solid var(--border)}
.brand{font-family:var(--font-display),sans-serif;font-size:1.9rem;letter-spacing:-.035em;line-height:1.2}
.main-nav{display:flex;gap:27px;margin-left:30px;font-size:.9rem}
.main-nav a,.header-phone{padding-block:10px}
.main-nav a:hover,.header-phone:hover{color:var(--accent)}
.header-phone{font-size:.9rem;margin-left:auto;white-space:nowrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 22px;background:var(--primary);color:var(--primary-foreground);font-size:.95rem;font-weight:500;line-height:1.5;border:1px solid var(--primary);border-radius:3px;transition:background .2s,color .2s}
.button:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.button svg{transition:transform .25s var(--ease)}
.button:hover svg{transform:translate(2px,-2px)}
.button.small{font-size:.875rem;padding:11px 17px;gap:15px;background:transparent;color:var(--foreground)}
.button.small:hover{background:var(--primary);color:var(--background)}
.menu-toggle{display:none;border:1px solid var(--border);background:transparent;color:var(--foreground);padding:12px;border-radius:3px}
.text-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid currentColor;padding-block:7px;font-size:.95rem;line-height:1.5}
.text-link:hover{color:var(--accent)}
.hero{padding-block:42px 0}
.hero-heading{display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:end;margin-bottom:38px}
.hero h1{font-size:clamp(3.5rem,5.7vw,5.5rem)}
.hero h1 span{color:var(--accent)}
.hero-summary{padding-bottom:6px}
.hero-summary>p{font-size:1rem;max-width:310px;line-height:1.75;margin-bottom:23px}
.hero-summary .button{width:100%;font-size:.875rem;gap:16px}
.hero-visual{position:relative;margin:0}
.hero-photo{width:100%;height:425px;object-fit:cover;object-position:50% 30%;border-radius:3px}
.hero-visual figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:14px;border-bottom:1px solid var(--border);font-size:.8rem}
.hero-visual figcaption>span{font-weight:550}
.hero-visual figcaption>a{display:flex;align-items:center;gap:8px;color:var(--muted-foreground)}
.hero-paths{display:grid;grid-template-columns:repeat(3,1fr)}
.hero-paths>a{display:flex;align-items:center;gap:20px;padding:20px 26px 20px 0;border-bottom:1px solid var(--border)}
.hero-paths>a+a{padding-left:30px;border-left:1px solid var(--border)}
.hero-paths span{font-size:1.1rem;font-weight:550}
.hero-paths small{font-size:.8rem;color:var(--muted-foreground)}
.hero-paths svg{margin-left:auto}
.hero-paths a:hover{color:var(--accent)}
.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:130px;padding-block:105px;align-items:center}
.intro h2{font-size:clamp(2.25rem,3.5vw,3.5rem);line-height:1.23}
.intro>p{font-size:1.125rem;max-width:390px;line-height:1.75}
.kindergarten{display:grid;grid-template-columns:.95fr 1.05fr;gap:95px;align-items:center;padding-block:5px 100px}
.garden-photo img{width:100%;height:550px;object-fit:cover;object-position:50% 48%;border-radius:3px}
.image-credit{font-size:.8rem;margin-top:12px}
.garden-copy h2{font-family:var(--font-display),sans-serif;font-size:clamp(2.1rem,3.3vw,3.1rem);font-weight:400;line-height:1.2;letter-spacing:-.015em}
.garden-lead{font-size:1.05rem;line-height:1.8;margin-block:25px 32px;max-width:470px}
.garden-group{display:flex;gap:30px;align-items:center;padding-block:22px;border-top:1px solid var(--border)}
.group-age{font-size:2.4rem;font-weight:650;min-width:82px;line-height:1.1;letter-spacing:-.035em;color:var(--accent)}
.garden-group h3{font-size:1.2rem;letter-spacing:0}
.garden-group p{font-size:.95rem;line-height:1.7;margin-top:7px;max-width:350px}
.garden-copy>.text-link{margin-top:15px}
.programs{padding-block:28px 100px;border-top:1px solid var(--border)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-block:27px 30px}
.section-heading h2{font-family:var(--font-display),sans-serif;font-size:clamp(2.25rem,3.4vw,3.3rem);font-weight:400;line-height:1.2}
.section-heading p{font-size:1rem;line-height:1.75}
.program-tabs{gap:0!important}
.age-tabs[data-slot=tabs-list]{height:auto;background:transparent;padding:0;gap:32px;max-width:100%;flex-wrap:wrap;justify-content:flex-start;margin-block:5px 22px;border-radius:0}
.age-tab[data-slot=tabs-trigger]{flex:none;height:auto;padding:11px 0;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:.95rem;font-weight:450;line-height:1.5;color:var(--muted-foreground);background:transparent!important;box-shadow:none!important}
.age-tab[data-slot=tabs-trigger][data-active]{border-bottom-color:var(--accent);color:var(--foreground)}
.age-tab[data-slot=tabs-trigger]:hover{color:var(--accent)}
.program-grid{border-top:1px solid var(--border)}
.program-row{display:grid;grid-template-columns:1.1fr 1.2fr 155px 40px;gap:35px;align-items:center;border-bottom:1px solid var(--border);padding:30px 8px 30px 0;transition:background .25s}
.program-row h3{font-size:1.7rem;font-weight:550}
.program-row>p{font-size:.95rem;line-height:1.7;max-width:430px}
.program-age{font-size:.875rem;color:var(--muted-foreground)}
.program-link{display:flex;justify-content:end;color:var(--accent)}
.program-row:hover{background:#e9ebe1}
.program-link svg{transition:transform .25s var(--ease)}
.program-row:hover .program-link svg{transform:translate(3px,-3px)}
.program-footnote{font-size:.8rem;margin-top:20px}
.support-section{background:var(--primary);color:var(--background);padding-block:76px}
.support-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:120px;align-items:start}
.support-intro h2{font-size:clamp(2.8rem,4vw,4rem)}
.support-intro>p{color:#cad5c8;font-size:1rem;line-height:1.85;max-width:400px;margin-top:25px}
.specialists>a{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 0;border-bottom:1px solid #6c8073}
.specialists>a:first-child{padding-top:5px}
.specialists h3{font-size:1.7rem;margin-bottom:9px}
.specialists p{font-size:.95rem;line-height:1.75;color:#cad5c8}
.specialists>a:hover{color:#f1b753}
.life-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:105px;align-items:center;padding-block:105px 90px}
.life-section h2{font-size:clamp(2.6rem,4vw,3.7rem);line-height:1.18}
.life-copy>p{font-size:1rem;line-height:1.85;max-width:410px;margin-block:27px}
.life-section figure img{width:100%;height:420px;object-fit:cover;border-radius:3px}
.life-section figcaption{font-size:.8rem;color:var(--muted-foreground);margin-top:12px}
.parent-review{display:grid;grid-template-columns:230px 1fr;gap:75px;padding-block:44px;border-block:1px solid var(--border);align-items:center}
.rating{display:flex;flex-direction:column;gap:6px}
.rating-number{font-size:3.2rem;font-weight:600;letter-spacing:-.04em;line-height:1.2;display:flex;align-items:center;gap:15px}
.rating-number svg{color:var(--accent)}
.rating>span:not(.rating-number){font-size:.95rem}
.rating>a{display:flex;align-items:center;gap:10px;text-decoration:underline;text-underline-offset:5px;font-size:.8rem;margin-top:5px}
.review-copy blockquote{font-size:clamp(1.5rem,2.25vw,2rem);line-height:1.45;font-weight:450;letter-spacing:-.015em;max-width:930px}
.review-copy>p{font-size:.9rem;margin-top:22px}
.review-copy p span{font-size:.8rem}
.faq-section{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding-block:95px}
.faq-section h2{font-size:3.3rem}
.faq-section>div>p{font-size:1rem;margin-top:20px}
.faq-list>[data-slot=accordion-item]{border-bottom:1px solid var(--border)}
.faq-question[data-slot=accordion-trigger]{font-size:1.05rem;font-weight:450;line-height:1.6;align-items:center;gap:24px;padding:22px 0;border-radius:0}
.faq-question:hover{text-decoration:none;color:var(--accent)}
.faq-question svg{width:20px!important;height:20px!important}
.faq-answer{font-size:1rem;line-height:1.8;color:var(--muted-foreground);padding:0 25px 23px 0!important}
.visit-section{background:#e8aa4f;display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:65px 70px;margin-bottom:95px;border-radius:3px}
.visit-section h2{font-family:var(--font-display),sans-serif;font-size:clamp(2.8rem,4.6vw,4.4rem);font-weight:400;line-height:1.16;letter-spacing:-.035em}
.visit-invitation{font-size:1rem;margin-top:30px;line-height:1.8;color:#3f4b32}
.visit-section>div>p{max-width:420px;color:#3f4b32;font-size:1rem}
.visit-actions{display:flex;flex-direction:column;align-items:start;gap:20px;margin-top:25px}
.visit-actions .button{font-size:.95rem;gap:22px}
.contact-number{display:block;font-size:1.4rem;font-weight:550;margin-top:20px}
.chosen-program{font-size:.9rem!important;border-top:1px solid #737b49;margin-top:22px;padding-top:15px}
.booking-note{font-size:.8rem!important;line-height:1.7;margin-top:18px}
.contact-section{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center;padding-bottom:90px}
.contact-section h2{font-size:3.4rem}
.contact-address{font-size:1.35rem;color:var(--foreground);line-height:1.6;margin-block:26px 20px}
.amenities{display:flex;flex-wrap:wrap;gap:24px;margin-top:28px}
.amenities>span{display:flex;align-items:center;gap:8px;font-size:.85rem}
.contact-note{font-size:.8rem;margin-top:23px}
.map-frame{height:345px;position:relative;overflow:hidden;border:1px solid var(--border);border-radius:3px;background:var(--paper)}
.map-frame iframe{border:0;width:100%;height:100%}
.map-fallback{position:absolute;bottom:15px;left:15px;display:flex;align-items:center;gap:30px;padding:12px 17px;background:var(--background);font-size:.85rem}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:45px;padding-block:35px 45px;border-top:1px solid var(--border)}
.site-footer .brand{font-size:2.5rem}
.site-footer p{font-size:.9rem}
.footer-tagline{font-size:.8rem!important;margin-top:9px}
.site-footer>span{font-size:.8rem;color:var(--muted-foreground)}
@media(max-width:1200px){
  .wrap{width:calc(100% - 64px)}
  .site-header{gap:24px}.main-nav{margin-left:15px;gap:20px}.header-phone{display:none}.header-cta{margin-left:auto}
  .hero-heading{grid-template-columns:1fr 285px;gap:35px}.hero h1{font-size:5.4vw}
  .hero-paths>a{gap:13px}.hero-paths>a+a{padding-left:22px}.hero-paths small{font-size:.75rem}
  .intro{gap:75px}.kindergarten{gap:65px}.garden-photo img{height:510px}
  .program-row{grid-template-columns:1.1fr 1.1fr 120px 28px;gap:25px}.program-row h3{font-size:1.5rem}
  .support-grid,.life-section,.faq-section,.contact-section{gap:65px}
  .life-section figure img{height:380px}.visit-section{gap:55px;padding:55px}
}
@media(max-width:900px){
  .wrap{width:calc(100% - 48px)}.site-header{min-height:85px}.brand{font-size:1.7rem}.main-nav{margin-left:auto}.header-cta{display:none}
  .hero{padding-top:30px}.hero-heading{grid-template-columns:1fr;gap:23px;margin-bottom:28px}.hero h1{font-size:8vw}
  .hero-summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0}.hero-summary>p{max-width:350px;margin:0}.hero-summary .button{width:auto;white-space:nowrap}
  .hero-photo{height:340px}.hero-paths small{display:none}
  .intro{gap:45px;padding-block:75px}.intro h2{font-size:2.5rem}.intro>p{font-size:1rem}
  .kindergarten{gap:35px;padding-bottom:75px}.garden-photo img{height:495px}.garden-copy h2{font-size:2.3rem}.garden-lead{font-size:1rem;margin-block:22px}.garden-group{gap:20px}.group-age{min-width:65px}
  .section-heading{align-items:start;gap:25px}.section-heading h2{font-size:2.5rem}.section-heading p{font-size:.95rem;max-width:270px}
  .programs{padding-bottom:75px}.program-row{grid-template-columns:1fr 1.2fr 75px 25px;gap:20px}.program-row h3{font-size:1.4rem}.program-row>p{font-size:.9rem}.program-age{font-size:.8rem}
  .support-grid{gap:40px}.support-intro h2{font-size:3rem}.specialists h3{font-size:1.5rem}
  .life-section{gap:40px;padding-block:75px}.life-section h2{font-size:2.7rem}.life-section figure img{height:365px}
  .parent-review{grid-template-columns:170px 1fr;gap:40px}.review-copy blockquote{font-size:1.55rem}
  .faq-section{gap:45px;padding-block:75px;grid-template-columns:.8fr 1.2fr}.faq-section h2{font-size:2.7rem}
  .visit-section{gap:40px;padding:40px;grid-template-columns:1fr;margin-bottom:75px}.visit-section h2{font-size:3.5rem}.visit-section h2 br{display:none}.visit-invitation{margin-top:20px}.visit-invitation br{display:none}.visit-section>div>p{max-width:540px}.visit-actions{flex-direction:row;align-items:center;flex-wrap:wrap}
  .contact-section{gap:35px;padding-bottom:70px}.contact-section h2{font-size:2.8rem}.contact-address{font-size:1.2rem}.map-frame{height:340px}.contact-section .text-link{font-size:.9rem}
  .site-footer{gap:24px}.site-footer>span{display:none}.site-footer .brand{font-size:2rem}
}
@media(max-width:640px){
  html{scroll-padding-top:20px}.wrap{width:calc(100% - 36px)}.site-header{min-height:78px;position:relative}.brand{font-size:1.7rem}
  .menu-toggle{display:flex;margin-left:auto}.main-nav{display:none}.main-nav.is-open{display:flex;position:absolute;top:77px;left:-18px;right:-18px;padding:20px 24px;background:var(--background);flex-direction:column;font-size:1.1rem;gap:8px;border-bottom:1px solid var(--border);z-index:10;margin:0}
  .hero{padding-top:28px}.hero-heading{gap:21px}.hero h1{font-size:8.8vw;line-height:1.18;letter-spacing:-.035em}.hero-summary{display:block}.hero-summary>p{font-size:1rem;max-width:330px;line-height:1.7;margin-bottom:23px}.hero-summary .button{font-size:.9rem;white-space:normal;gap:30px}
  .hero-photo{height:315px;object-position:50% 40%}.hero-visual figcaption{display:block;padding-block:13px;line-height:1.7}.hero-visual figcaption>span{display:none}.hero-visual figcaption>a{font-size:.75rem;gap:6px}
  .hero-paths{grid-template-columns:1fr}.hero-paths>a,.hero-paths>a+a{padding:16px 2px;border-left:0;gap:17px}.hero-paths small{display:block;font-size:.8rem}.hero-paths span{font-size:1.05rem}
  .intro{grid-template-columns:1fr;gap:24px;padding-block:62px}.intro h2{font-size:2.05rem;line-height:1.25}.intro>p{font-size:1.05rem;line-height:1.75}
  .kindergarten{grid-template-columns:1fr;gap:34px;padding-bottom:62px}.garden-photo img{height:400px;object-position:50% 40%}.garden-copy h2{font-size:2.15rem;line-height:1.25}.garden-lead{font-size:1.05rem;max-width:100%;margin-block:23px}.garden-group{gap:25px;padding-block:22px}.group-age{font-size:2.25rem;min-width:66px}.garden-group h3{font-size:1.2rem}.garden-group p{font-size:.95rem}.garden-copy>.text-link{font-size:1rem}
  .programs{padding-top:25px;padding-bottom:60px}.section-heading{display:block;margin-block:0 20px}.section-heading h2{font-size:2.1rem;line-height:1.3}.section-heading p{max-width:100%;font-size:1rem;margin-top:22px}.section-heading p br{display:none}
  .age-tabs[data-slot=tabs-list]{gap:22px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin-bottom:17px}.age-tab[data-slot=tabs-trigger]{font-size:.9rem;flex-shrink:0;padding-block:12px}
  .program-row{grid-template-columns:1fr 25px;gap:12px 18px;padding:25px 0}.program-row h3{grid-column:1;font-size:1.6rem}.program-row>p{grid-column:1;font-size:1rem;line-height:1.7}.program-age{grid-column:1;grid-row:3;font-size:.85rem;margin-top:3px}.program-link{grid-column:2;grid-row:1}.program-footnote{font-size:.8rem;line-height:1.75}
  .support-section{padding-block:57px}.support-grid{grid-template-columns:1fr;gap:30px}.support-intro h2{font-size:2.8rem}.support-intro>p{font-size:1rem;margin-top:23px}.specialists>a{padding-block:23px}.specialists>a:first-child{border-top:1px solid #6c8073;padding-top:23px}.specialists h3{font-size:1.65rem}.specialists p{font-size:1rem}
  .life-section{grid-template-columns:1fr;gap:32px;padding-block:60px}.life-section h2{font-size:2.8rem}.life-copy>p{font-size:1.05rem;margin-block:23px}.life-section figure img{height:310px}
  .parent-review{grid-template-columns:1fr;gap:28px;padding-block:33px}.rating{display:grid;grid-template-columns:auto 1fr;column-gap:25px;align-items:center}.rating-number{grid-row:span 2;font-size:2.9rem}.rating a{margin:0;font-size:.8rem}.review-copy blockquote{font-size:1.5rem;line-height:1.5}.review-copy p span{display:block;margin-top:5px}
  .faq-section{grid-template-columns:1fr;gap:24px;padding-block:60px}.faq-section h2{font-size:2.7rem}.faq-section>div>p{margin-top:17px}.faq-question[data-slot=accordion-trigger]{font-size:1.05rem;padding-block:22px}.faq-answer{font-size:1rem}
  .visit-section{padding:33px 24px;gap:26px;margin-bottom:60px}.visit-section h2{font-size:2.6rem;line-height:1.22}.visit-section h2 br{display:block}.visit-section>div>p{font-size:1rem}.visit-invitation{margin-top:23px}.visit-actions{flex-direction:column;align-items:start;gap:18px}.visit-actions .button{font-size:.875rem;padding:15px 17px;gap:15px}.contact-number{font-size:1.25rem}.booking-note{font-size:.8rem!important}
  .contact-section{grid-template-columns:1fr;gap:30px;padding-bottom:58px}.contact-section h2{font-size:2.8rem}.contact-address{font-size:1.25rem;margin-block:23px 18px}.contact-section .text-link{font-size:.95rem}.amenities{gap:18px}.amenities>span{font-size:.8rem}.map-frame{height:310px}
  .site-footer{flex-wrap:wrap;align-items:start;gap:27px;padding-block:30px}.site-footer .brand{font-size:2rem}.site-footer p{font-size:.8rem}.site-footer .text-link{font-size:.95rem}.site-footer>p{margin-left:auto;max-width:150px}
}
@media(prefers-reduced-motion:no-preference){
  .hero-photo{animation:open-page .9s var(--ease) both}
  @keyframes open-page{from{clip-path:inset(0 0 4% 0)}to{clip-path:inset(0)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


html{font-size:16px;-webkit-text-size-adjust:100%}
button,input,textarea,select{font:inherit;color:inherit}
button{background:transparent}
h1,h2,h3{margin:0}
svg{display:block;vertical-align:middle}
[hidden]{display:none!important}
:root{--font-display:"Dela Gothic One",sans-serif;--font-text:"Commissioner",sans-serif}
.program-tabs{display:flex;flex-direction:column}
.hero-heading>*,.hero-summary>*,.hero-paths>a,.program-row>*,.contact-section>*,.visit-section>*{min-width:0}
.hero-visual{display:grid;grid-template-columns:minmax(0,1fr)}
.hero-photo,.hero-visual figcaption{position:static}
.hero-visual figcaption{min-width:0;flex-wrap:wrap}
.hero-visual figcaption>a{min-width:0;max-width:100%}
.hero-paths>a{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr) 20px;column-gap:20px}
.hero-paths small{line-height:1.5}
.hero-paths svg{grid-column:3;justify-self:end}
.hero-summary .button,.visit-actions .button{max-width:100%;white-space:normal}
@media(max-width:380px){
 .age-tabs[data-slot=tabs-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;overflow:visible;width:100%}
 .age-tab[data-slot=tabs-trigger]{text-align:left;white-space:normal}
}
.age-tabs{display:flex;align-items:center}
.age-tab{white-space:nowrap;cursor:pointer}
#program-results:focus-visible{outline-offset:9px}
.faq-question{display:flex;justify-content:space-between;cursor:pointer;list-style:none}
.faq-question::-webkit-details-marker{display:none}
.faq-question::marker{content:""}
details[open]>.faq-question svg{transform:rotate(180deg)}
.map-intro{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px;padding:30px}
.map-intro .map-title{font-size:1.7rem;line-height:1.2;color:var(--foreground);font-weight:550}
.map-intro>p{font-size:.95rem;max-width:320px}
.map-intro .button{margin-top:5px;font-size:.9rem}
#map-status{font-size:.85rem}
.map-frame.is-loading .map-intro{justify-content:flex-start}
.map-frame.is-loading iframe{position:absolute;inset:0}
.map-frame.is-loading #map-status{position:absolute;bottom:66px;left:20px;right:20px;background:var(--background);z-index:2;padding:8px}
@media print{
 .menu-toggle,.header-cta,.hero-summary .button,.visit-actions,.map-frame,.skip-link{display:none!important}
 .wrap{width:100%}.hero{padding-top:20px}.hero-photo{height:280px}
 .hero-heading{grid-template-columns:1fr 260px}.hero h1{font-size:48px}
 .hero-paths,.intro,.kindergarten,.programs,.life-section,.faq-section,.contact-section{padding-block:25px}
 .program-row,details,figure,.garden-group,.visit-section{break-inside:avoid}
 details>*{display:block!important}.faq-answer{display:block!important}
 a{text-decoration:none}.visit-section{margin-bottom:30px;padding:30px}
 body{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Both editions: predictable flow, accessible controls, complete offline assets. */
:root{--space-section:104px;--space-section-mobile:64px;--measure-body:46ch}
body{overflow-wrap:break-word}
.hero-heading>*,.hero-summary>*,.hero-paths>a,.program-row>*,.contact-section>*,.visit-section>*,.section-heading>*,.garden-group>*,.specialists>a>*{min-width:0}
.button{min-height:48px;max-width:100%;text-align:left}
.text-link{min-height:40px}
.hero-paths a{min-height:72px}
.hero-visual{isolation:isolate}
.hero-visual figcaption{position:static;margin:0}
.garden-photo img,.life-section figure img{height:auto;aspect-ratio:1/1;object-fit:cover}
.life-section figure img{aspect-ratio:4/3}
.garden-group{align-items:start}
.group-age{padding-top:3px;font-variant-numeric:tabular-nums}
.program-row h3{overflow-wrap:normal;hyphens:none}
.age-tabs[data-slot=tabs-list]{min-width:0;max-width:100%}
.age-tab[data-slot=tabs-trigger]{min-height:46px}
.faq-question{font-family:var(--font-text),sans-serif;letter-spacing:0}
.copy-booking{display:flex;align-items:center;gap:14px;padding:12px 0;background:none;border:0;border-bottom:1px solid currentColor;font-size:.86rem;line-height:1.6;text-align:left;min-height:44px;margin-top:14px}
.copy-booking:hover{color:var(--foreground)}
.copy-status:empty{display:none}
.visit-section .copy-status{font-size:.85rem;line-height:1.6;margin:14px 0 0;max-width:100%}
.site-footer{display:grid;grid-template-columns:1fr 1.2fr 1.2fr auto;gap:32px 40px;align-items:start;padding-bottom:24px}
.site-footer .text-link{justify-self:start}
.site-footer>span{display:block;font-size:.75rem;align-self:center}
.footer-wordmark{grid-column:1/-1;justify-self:center;font-family:var(--font-display);font-size:clamp(100px,22vw,330px);line-height:1;letter-spacing:-.025em;color:var(--foreground);margin-top:28px;user-select:none}
.map-frame{height:auto;min-height:355px;display:flex;flex-direction:column;overflow:hidden}
.map-intro{flex:1;height:auto;padding:30px;gap:14px;justify-content:center;min-height:290px}
.map-frame .map-fallback{position:relative;left:auto;bottom:auto;width:100%;margin-top:auto;border-top:1px solid var(--border);padding:17px 25px;justify-content:space-between;background:var(--background);z-index:3}
.map-frame iframe{min-height:290px;height:290px;flex:1}
.map-frame.is-loading iframe{position:static;inset:auto;display:none}
.map-frame.is-loading.is-loaded iframe{display:block}
.map-frame.is-loading .map-intro{justify-content:center}
.map-frame.is-loading #map-status{position:static}
@media(max-width:1000px){
 .site-footer{grid-template-columns:1fr 1fr;gap:30px}.site-footer>span{justify-self:end}
}
@media(max-width:640px){
 .wrap{width:calc(100% - 40px)}
 .main-nav.is-open{left:-20px;right:-20px;padding-inline:20px}
 .hero-visual figcaption{font-size:.8rem;line-height:1.6}
 .hero-paths>a,.hero-paths>a+a{min-height:66px}
 .garden-photo img{aspect-ratio:1/1.05;height:auto}
 .life-section figure img{height:auto;aspect-ratio:4/3}
 .age-tabs[data-slot=tabs-list]{gap:0 20px;flex-wrap:wrap;overflow:visible}
 .age-tab[data-slot=tabs-trigger]{font-size:.875rem;white-space:normal}
 .visit-actions .button{width:100%;justify-content:space-between}
 .footer-wordmark{font-size:21vw;margin-top:8px}
 .site-footer{gap:24px 20px}.site-footer>p{margin:0;max-width:none}.site-footer>.text-link{grid-column:1/-1;font-size:.9rem}.site-footer>span{grid-column:1/-1;justify-self:start;grid-row:3}
 .map-intro{padding:24px;min-height:265px}.map-frame{min-height:320px}
}
@media print{
 .footer-wordmark{font-size:120px}.copy-booking,.copy-status{display:none!important}
 .site-header{min-height:65px}.hero-paths{break-inside:avoid}
}

/* Edition 01 · A warm family album. */
:root{--background:#faf8f1;--foreground:#472b39;--primary:#623a4e;--primary-foreground:#fffaf2;--muted:#eee7e7;--muted-foreground:#71636a;--border:#d9cfd0;--ring:#805771;--accent:#85586f;--paper:#f1ece6;--font-display:"Cormorant Garamond",Georgia,serif;--font-text:"Golos Text",sans-serif}
::selection{background:#ead389;color:var(--foreground)}
::-webkit-scrollbar-thumb{background:#a28a96;border-color:var(--background)}
body{line-height:1.7}
.wrap{width:min(1280px,calc(100% - 104px))}
h1,h2{font-family:var(--font-display);font-weight:500;line-height:1.04;letter-spacing:-.025em}
h2{font-size:clamp(3rem,4.4vw,4.2rem)}
h3{font-weight:500;letter-spacing:-.015em}
em{font-weight:400;color:var(--accent)}
.site-header{min-height:100px;gap:28px}
.brand{font-family:var(--font-text);font-weight:650;font-size:2.35rem;letter-spacing:-.04em}
.main-nav{gap:24px;margin-left:28px;font-size:.875rem}
.header-phone{font-size:.85rem}
.button{border-radius:40px;font-size:.875rem;padding:18px 25px;gap:24px}
.button:hover{background:#7b4a63;border-color:#7b4a63}
.button.small{padding:12px 20px;border-radius:40px;font-size:.8rem}
.menu-toggle{border-radius:50%}
.text-link{font-size:.9rem;gap:13px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 64px;align-items:center;padding-block:52px 0}
.hero-copy{min-width:0;padding-block:15px}
.hero h1{font-size:clamp(4rem,6.35vw,5.75rem);font-weight:500;line-height:.99;letter-spacing:-.025em;text-wrap:initial}
.hero h1 em{color:#85586f}
.hero-copy>p{font-size:1rem;line-height:1.85;max-width:400px;margin-top:28px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:30px}
.hero-address{display:flex;align-items:center;gap:8px;font-size:.8rem;line-height:1.7;color:var(--muted-foreground);margin-top:28px}
.hero-visual{display:grid;align-self:center;grid-template-columns:minmax(0,1fr)}
.hero-photo{position:static;inset:auto;display:block;width:100%;height:535px;object-fit:cover;object-position:50% 43%;border-radius:48% 48% 16px 16px}
.hero-visual figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;border:0;padding-block:15px 0;font-size:.75rem;color:var(--muted-foreground)}
.hero-visual figcaption>span:first-child{font-family:var(--font-display);font-size:1.6rem;font-style:italic;font-weight:500;color:var(--foreground)}
.hero-paths{grid-column:1/-1;border-top:1px solid var(--border);margin-top:8px}
.hero-paths>a{padding-block:24px;column-gap:18px}
.hero-paths span{font-size:1rem;font-weight:500}.hero-paths small{font-size:.75rem}
.intro{grid-template-columns:1.3fr .7fr;gap:110px;padding-block:105px}
.intro h2{font-size:clamp(3rem,4.5vw,4.25rem);line-height:1.08;letter-spacing:-.025em}
.intro>p{font-size:1rem;line-height:1.85;max-width:390px}
.kindergarten{gap:90px;padding-bottom:105px}
.garden-photo img{border-radius:16px 16px 100px 16px;aspect-ratio:1/1.1;object-position:50% 45%}
.garden-copy h2{font-family:var(--font-display);font-size:clamp(3rem,4.3vw,4.1rem);font-weight:500;line-height:1.04;letter-spacing:-.025em}
.garden-lead{font-size:1rem;line-height:1.85;margin-block:28px}
.group-age{font-family:var(--font-display);font-size:3rem;font-weight:500;min-width:74px;color:var(--accent);line-height:1}
.garden-group{gap:28px}.garden-group h3{font-size:1.075rem;font-weight:500}.garden-group p{font-size:.9rem}
.programs{padding-top:32px;padding-bottom:100px}
.section-heading{gap:44px;margin-block:0 30px}
.section-heading h2{font-family:var(--font-display);font-size:clamp(2.9rem,4.3vw,4.1rem);line-height:1.07;letter-spacing:-.025em;font-weight:500}
.section-heading p{font-size:.95rem;max-width:310px}
.age-tabs[data-slot=tabs-list]{gap:28px;margin-block:8px 30px}
.age-tab[data-slot=tabs-trigger]{font-size:.875rem}
.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;border-top:0}
.program-row{grid-template-columns:minmax(0,1fr) 26px;gap:12px 16px;padding:30px 0;border-top:1px solid var(--border);border-bottom:0;align-items:start}
.program-row:hover{background:transparent;color:var(--accent)}
.program-row h3{grid-column:1;grid-row:1;font-family:var(--font-display);font-size:2.3rem;line-height:1.08;letter-spacing:-.015em}
.program-row>p{grid-column:1;grid-row:3;font-size:.9rem;line-height:1.85;max-width:390px}
.program-age{grid-column:1;grid-row:2;font-size:.75rem;color:var(--accent)}
.program-link{grid-column:2;grid-row:1;align-self:center}
.program-footnote{padding-top:18px;border-top:1px solid var(--border);margin-top:0}
.support-section{background:var(--primary);padding-block:82px}
.support-grid{grid-template-columns:1fr 1.1fr;gap:100px}
.support-intro h2{font-size:clamp(3.2rem,4.6vw,4.3rem);line-height:1.06}
.support-intro em{color:#e4c1d0}
.support-intro>p,.specialists p{color:#eadce4;font-size:.95rem}
.specialists>a{border-color:#9d7e90;padding-block:25px}
.specialists h3{font-family:var(--font-display);font-size:2.15rem;line-height:1.12;margin-bottom:8px}
.specialists>a:hover{color:#efd472}
.life-section{padding-block:105px 90px;gap:95px}
.life-section h2{font-size:clamp(3rem,4.5vw,4rem);line-height:1.06}
.life-copy>p{font-size:.95rem;line-height:1.85}
.life-section figure img{border-radius:16px}
.parent-review{grid-template-columns:200px minmax(0,1fr);gap:76px;padding-block:48px}
.rating-number{font-family:var(--font-display);font-size:4rem;font-weight:500;letter-spacing:-.025em}
.rating-number svg{color:#946227}
.rating>span:not(.rating-number){font-size:.875rem}
.review-copy blockquote{font-family:var(--font-display);font-size:2.25rem;font-weight:500;line-height:1.25;letter-spacing:-.015em}
.faq-section{padding-block:100px;grid-template-columns:.85fr 1.15fr;gap:90px}
.faq-section h2{font-size:3.7rem}
.faq-question[data-slot=accordion-trigger]{font-size:1rem;font-weight:400}
.faq-answer{font-size:.95rem}
.visit-section{background:#eae0e7;border-radius:18px 100px 18px 18px;padding:64px;grid-template-columns:1.1fr 1fr;gap:70px;margin-bottom:100px}
.visit-section h2{font-family:var(--font-display);font-size:clamp(3rem,4.4vw,4.1rem);font-weight:500;line-height:1.05;letter-spacing:-.025em}
.visit-section>div>p{color:#644859;font-size:.95rem}
.visit-actions .button{font-size:.875rem}
.visit-invitation{margin-top:28px}
.chosen-program{border-color:#bea7b7}
.contact-number{font-size:1.3rem}
.contact-section{gap:80px;padding-bottom:90px}
.contact-section h2{font-size:3.7rem}
.contact-address{font-size:1.2rem}
.contact-section .text-link{font-size:.875rem}
.amenities>span{font-size:.8rem}
.map-frame{border-radius:16px}
.site-footer .brand{font-family:var(--font-text);font-size:2rem}
.site-footer p{font-size:.85rem}
.footer-wordmark{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(120px,24vw,350px);line-height:.95;letter-spacing:-.035em;margin-top:0}
@media(max-width:1200px){
 .wrap{width:calc(100% - 72px)}.main-nav{gap:20px;margin-left:10px}.site-header{gap:24px}
 .hero{gap:32px 40px}.hero h1{font-size:6.5vw}.hero-photo{height:500px}
 .intro,.kindergarten,.life-section{gap:60px}.program-grid{column-gap:44px}.support-grid{gap:65px}
 .visit-section{padding:48px;gap:44px}.contact-section{gap:55px}
}
@media(max-width:900px){
 .wrap{width:calc(100% - 48px)}.site-header{min-height:88px}.brand{font-size:2rem}.main-nav{margin-left:auto;gap:20px;font-size:.8rem}
 .hero{gap:32px;padding-top:38px}.hero h1{font-size:7vw}.hero-photo{height:455px}.hero-copy>p{font-size:.95rem}.hero-actions{gap:15px}.hero-actions .button{font-size:.8rem;padding:16px 20px;gap:16px}.hero-address{font-size:.75rem}
 .hero-visual figcaption{display:block}.hero-visual figcaption>span{display:block}.hero-visual figcaption>span:first-child{font-size:1.5rem}
 .hero-paths small{display:none}.hero-paths>a{padding-block:20px}
 .intro{padding-block:78px;gap:40px}.intro h2{font-size:3.1rem}.intro>p{font-size:.95rem}
 .kindergarten{gap:36px;padding-bottom:78px}.garden-copy h2{font-size:3.1rem}.garden-photo img{aspect-ratio:1/1.35}.garden-group{gap:18px}.group-age{min-width:56px;font-size:2.6rem}
 .section-heading h2{font-size:3rem}.section-heading p{font-size:.875rem;max-width:240px}.program-grid{column-gap:32px}.program-row h3{font-size:2.1rem}.programs{padding-bottom:76px}
 .support-grid{gap:40px}.support-intro h2{font-size:3.2rem}.specialists h3{font-size:2rem}
 .life-section{gap:36px;padding-block:78px}.life-section h2{font-size:3.1rem}
 .parent-review{grid-template-columns:150px minmax(0,1fr);gap:40px}.review-copy blockquote{font-size:2rem}
 .faq-section{gap:40px;padding-block:78px}.faq-section h2{font-size:3.2rem}
 .visit-section{grid-template-columns:1fr;gap:30px;padding:44px;margin-bottom:78px}.visit-section h2{font-size:3.5rem}.visit-section h2 br{display:block}.visit-invitation br{display:none}
 .contact-section{gap:35px}.contact-section h2{font-size:3.2rem}
}
@media(max-width:640px){
 .wrap{width:calc(100% - 40px)}.site-header{min-height:82px}.brand{font-size:2rem}.main-nav.is-open{top:81px;left:-20px;right:-20px;font-size:1rem}
 .hero{grid-template-columns:1fr;gap:30px;padding-top:26px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.15rem,12.65vw,5rem);line-height:1.02;letter-spacing:-.025em}
 .hero-copy>p{font-size:1rem;margin-top:24px;max-width:380px}.hero-actions{gap:16px 24px;margin-top:24px}.hero-actions .button{font-size:.85rem;padding:17px 22px;gap:24px}.hero-actions .text-link{font-size:.875rem}.hero-address{margin-top:22px;font-size:.75rem}
 .hero-photo{height:410px;object-position:50% 44%;border-radius:48% 48% 12px 12px}.hero-visual figcaption{display:flex;flex-wrap:wrap;gap:6px 12px;padding-top:12px}.hero-visual figcaption>span:first-child{font-size:1.5rem;display:block}.hero-visual figcaption>span:last-child{font-size:.72rem}
 .hero-paths{margin-top:0}.hero-paths small{display:block}.hero-paths>a,.hero-paths>a+a{padding:18px 2px;column-gap:16px}.hero-paths span{font-size:.95rem}
 .intro{grid-template-columns:1fr;padding-block:64px;gap:26px}.intro h2{font-size:3rem;line-height:1.08}.intro>p{font-size:1rem}
 .kindergarten{grid-template-columns:1fr;gap:34px;padding-bottom:64px}.garden-photo img{aspect-ratio:1/1.08;border-radius:12px 12px 80px 12px}.garden-copy h2{font-size:3.2rem}.garden-lead{font-size:1rem;margin-block:24px}.garden-group{gap:22px}.garden-group h3{font-size:1.05rem}.group-age{min-width:62px;font-size:2.8rem}
 .programs{padding-top:24px;padding-bottom:64px}.section-heading{display:block;margin-bottom:22px}.section-heading h2{font-size:2.85rem;line-height:1.08}.section-heading p{font-size:1rem;max-width:100%;margin-top:24px}.age-tabs[data-slot=tabs-list]{gap:0 20px;margin-bottom:22px}.program-grid{grid-template-columns:1fr;gap:0}.program-row{padding-block:27px;gap:11px 16px}.program-row h3{font-size:2.2rem}.program-row>p{font-size:.95rem}.program-age{font-size:.8rem}.program-footnote{padding-top:18px}
 .support-section{padding-block:60px}.support-grid{grid-template-columns:1fr;gap:30px}.support-intro h2{font-size:3.1rem}.specialists h3{font-size:2.15rem}.specialists>a:first-child{border-color:#9d7e90}.specialists p{font-size:.95rem}
 .life-section{grid-template-columns:1fr;padding-block:64px;gap:32px}.life-section h2{font-size:3rem}.life-copy>p{font-size:1rem}.life-section figure img{border-radius:12px}
 .parent-review{grid-template-columns:1fr;gap:30px;padding-block:36px}.rating-number{font-size:3.5rem}.review-copy blockquote{font-size:2rem;line-height:1.3}
 .faq-section{grid-template-columns:1fr;padding-block:64px;gap:26px}.faq-section h2{font-size:3.1rem}.faq-question[data-slot=accordion-trigger]{font-size:1rem}.faq-answer{font-size:.95rem}
 .visit-section{padding:34px 24px;gap:28px;margin-bottom:64px;border-radius:14px 60px 14px 14px}.visit-section h2{font-size:2.8rem;line-height:1.05}.visit-section>div>p{font-size:.95rem}.visit-actions .button{font-size:.8rem;padding:16px 18px;gap:14px}.contact-number{font-size:1.25rem}
 .contact-section{grid-template-columns:1fr;padding-bottom:60px;gap:32px}.contact-section h2{font-size:3.2rem}.contact-address{font-size:1.2rem}.contact-section .text-link{font-size:.875rem}
 .site-footer .brand{font-size:1.7rem}.site-footer p{font-size:.8rem}.footer-wordmark{font-size:25vw}
}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:album-open .85s var(--ease) both}.hero-photo{animation:none}@keyframes album-open{from{transform:translateY(12px);filter:blur(1px)}to{transform:translateY(0);filter:blur(0)}}}
@media print{.hero{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:48px}.hero-photo{height:300px}.footer-wordmark{font-size:130px}.program-grid{grid-template-columns:1fr 1fr}}

/* CMS: состояния, которых нет в макете. Правила срабатывают только при изменённом контенте
   и не влияют на вид страницы с исходными данными. */
.site-header:not(:has(.header-phone)) .header-cta{margin-left:auto}
.hero-visual:not(:has(img)) figcaption{padding-top:0}
