/* Радость познания — согласованное оформление и адаптивные размеры. */
:root{--bg:#fffcf6;--bg-soft:#fffefb;--ink:#203653;--muted:#53647a;--sun:#ffd24c;--line:rgba(32,54,83,.12);--container:1280px}
html{scroll-padding-top:112px}
body{background:#fffcf6;font-size:1rem;line-height:1.65;min-width:0}
body::before{background:radial-gradient(ellipse at 85% 5%,#e7f3fa 0,transparent 40%),radial-gradient(ellipse at 4% 18%,#fff0d7 0,transparent 35%)}
[hidden]{display:none!important}
.container{width:min(calc(100% - 64px),1280px)}
.section{padding-block:clamp(64px,7vw,112px)}
:where(.hero-grid,.about-grid,.contacts-shell,.faq-grid,.program-picker,.split-heading,.footer-grid)>*{min-width:0}
h1,h2,h3{color:var(--ink);font-family:ui-rounded,"Trebuchet MS","Arial Rounded MT Bold",system-ui,sans-serif;overflow-wrap:normal}
.section-heading h2,.about-copy h2,.faq-intro h2,.contacts-copy h2{font-size:clamp(2rem,3.6vw,3.65rem);line-height:1.13;letter-spacing:-.035em}
.section-heading p,.about-copy p,.faq-intro p{font-size:1rem;line-height:1.8}
.eyebrow{font-size:.78rem;letter-spacing:.07em;background:#fff0ca;color:#785013;border-color:#eddcad;line-height:1.5}
.topbar{background:#203653;color:#fff;backdrop-filter:none}
.topbar-inner,.topbar-links a{color:#f1f5fa;font-size:.8rem}.status-dot{box-shadow:none}
.site-header,.site-header.scrolled{background:rgba(255,252,246,.97);box-shadow:0 4px 24px #20365308;border-bottom:1px solid #20365310}
.header-inner,.site-header.scrolled .header-inner{min-height:92px;gap:18px}
.brand{min-width:0;flex-shrink:0}.brand-logo-image{width:190px;height:auto}
.desktop-nav{gap:17px}.desktop-nav a{font-size:.86rem;color:#334b67;white-space:nowrap}
.a11y-toggle{width:44px;min-height:44px;padding:0;justify-content:center}.a11y-toggle-label{display:none}
.header-actions{gap:8px;flex-shrink:0}.header-actions .button-max{display:none}
.button{border-radius:16px;min-height:48px;font-size:.95rem;line-height:1.4;font-weight:750;white-space:normal;text-align:center}
.button-primary,.mobile-menu .mobile-menu-cta{background:#ffd24c!important;color:#203653!important;border:1px solid #edbd39!important;box-shadow:0 8px 20px #bf85151a}
.button-primary::before,.button-primary::after{display:none}
.button-secondary{background:#fffdf8;color:#203653;border:1px solid #cdd5df;box-shadow:none}
.button-small{min-height:44px;padding:11px 18px}.button-lg{padding:16px 22px}
.button-max{animation:none;box-shadow:none}
.hero{padding:64px 0 72px;background:transparent}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:center}
.hero-copy h1{font-size:clamp(2.5rem,4.3vw,4.4rem);line-height:1.09;letter-spacing:-.045em;max-width:16ch;margin:16px 0 24px;padding:0;height:auto;min-height:0;text-wrap:balance}
.hero-copy h1 span{white-space:normal;color:#2c6890;background:none;-webkit-text-fill-color:currentColor}
.hero-lead{font-size:1.05rem;line-height:1.8;max-width:56ch;color:#53647a}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-actions .button{flex:1 1 210px}
.hero-trust{gap:12px;margin-top:28px}.hero-trust li{min-width:0}.hero-trust strong{font-size:.94rem}.hero-trust small{font-size:.8rem;line-height:1.5}
.hero-orb,.hero-showcase-glow{opacity:.3;filter:none}
.hero-showcase{min-width:0;width:100%;margin:0}
.hero-showcase-card{padding:12px;background:#fffefb;border:1px solid #dbdfdf;border-radius:34px;box-shadow:0 24px 54px #20365312;transform:rotate(1deg)}
.hero-showcase-card::before{display:none}
.hero-showcase-media{margin:0;aspect-ratio:961/690;height:auto;border-radius:24px}
.hero-showcase-media img{object-fit:contain;object-position:center;height:auto;aspect-ratio:961/690;filter:none;transform:none!important}
.hero-showcase-media::after{display:none}
.hero-showcase-footer{display:block;padding:20px 12px 12px}.hero-showcase-caption strong{font-size:1rem;line-height:1.45}.hero-showcase-caption small{font-size:.75rem;letter-spacing:.03em}.hero-showcase-signature{display:none}
.trust-ribbon{background:#f2f7fa;border-color:#dae5ec;backdrop-filter:none}.trust-ribbon-inner{gap:18px 28px;font-size:.84rem}.trust-ribbon-inner span{white-space:normal}
.programs-section,.gallery-section,.faq-section{background:transparent}
.split-heading{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:end}
.programs-lead,.atmosphere-lead,.reviews-intro-copy{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.programs-lead::before,.atmosphere-lead::before{display:none}
.program-grid-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.program-grid-products .program-product{grid-column:auto;grid-row:auto;min-width:0;padding:26px;border-radius:24px;background:#fffefb;border:1px solid #dce1e5;box-shadow:0 9px 26px #20365306;overflow:hidden}
.program-grid-products .program-featured{grid-column:span 2;background:#fff4d5}
.program-product::before{display:none}.program-product::after{opacity:.13}
.program-product h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.025em;color:#203653}
.program-product p,.program-product li{font-size:1rem;line-height:1.65;color:#53647a}
.program-product .program-card-head{gap:14px;flex-wrap:wrap}.program-badges{flex-wrap:wrap;min-width:0}.age-chip,.format-chip{font-size:.78rem;line-height:1.45;white-space:normal}
.program-action{min-height:46px;font-size:.92rem;border-radius:12px;padding:12px 16px}
.program-picker{grid-template-columns:1fr 1fr;gap:36px;padding:38px;border-radius:28px;background:#eaf3fa;box-shadow:none;border:1px solid #d9e5ed}
.picker-copy h3{font-size:2rem;line-height:1.2}.picker-copy p,.picker-result p{font-size:1rem}.picker-options{flex-wrap:wrap}.picker-options button{font-size:.95rem;min-height:46px;padding:10px 15px}.picker-result{min-width:0}
.about-section{background:#f0f6f6}.about-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px}
.about-photo-shell{transform:none;border-radius:32px}.about-photo-shell img{object-position:center top}
.founder-caption{position:relative;right:auto;bottom:auto;width:100%;max-width:100%;margin:14px 0 0;border:1px solid #dce4e7;border-radius:20px;background:#fffefb;backdrop-filter:none}
.founder-caption span,.founder-caption small{font-size:.8rem}.founder-caption strong{font-size:1.08rem}
.feature-card,.metric-card{border-radius:24px;box-shadow:0 8px 25px #20365306}.feature-card p,.metric-card p{font-size:1rem;line-height:1.65}
.gallery-premium{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto auto;gap:24px}
.gallery-item{border-radius:26px;background:#edf2f5;box-shadow:0 10px 32px #2036530d;border:8px solid #fff}
.gallery-item picture img{object-fit:contain!important;transform:none!important}.gallery-item figcaption,.gallery-item>span{font-size:.95rem}
.gallery-item-main{min-height:0}
.reviews-premium-section{background:#edf4fa}.reviews-heading h2{color:#203653}.reviews-intro-copy p{font-size:1.05rem!important;color:#53647a!important}
.yandex-reviews-card{border-radius:28px;box-shadow:0 12px 36px #20365308}.review-signal{border-radius:18px}.review-signal p{font-size:.96rem;line-height:1.7}.reviews-tab{min-height:46px;font-size:.95rem}
.philosophy-panel{border-radius:32px;box-shadow:none}
.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px}.faq-item{border-radius:18px;border-color:#dce1e5;box-shadow:none}.faq-question{min-height:64px;padding:20px;font-size:1rem;line-height:1.45;text-align:left}.faq-answer p{font-size:1rem;line-height:1.75}.faq-answer{max-height:none;display:none}.faq-item.is-open .faq-answer{display:block;max-height:none}
.contacts-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:44px;gap:44px;border-radius:32px;background:#203653;box-shadow:none;overflow:visible}
.contacts-copy h2{color:#fff}.contacts-copy>p{color:#d8e2ed}.contact-card{min-width:0;grid-template-columns:42px minmax(0,1fr) auto}.contact-card strong{font-size:1rem;overflow-wrap:anywhere}.contact-card small{font-size:.76rem;color:#c3d2e4}
.form-card{min-width:0;padding:28px;border-radius:24px;box-shadow:none}.form-heading p{font-size:1rem}.form-card label>span{font-size:.88rem}.form-card input,.form-card select,.form-card textarea{font-size:1rem;min-width:0;max-width:100%;min-height:48px}
.form-card .checkbox-row input{min-height:20px;width:20px;height:20px}.checkbox-row span{font-size:.82rem!important;color:#53647a}.form-note{font-size:.8rem;color:#53647a}.form-status{font-size:.95rem;overflow-wrap:anywhere}
.site-footer{background:#fffcf6}.footer-brand p,.footer-col a{font-size:.94rem}.footer-col>strong{font-size:1rem}.footer-bottom{font-size:.8rem;color:#53647a}.footer-col a{padding-block:5px;overflow-wrap:anywhere}
.document-copy strong{font-size:1rem}.document-copy span,.document-copy small{font-size:.85rem}.document-card{min-width:0}
.lightbox{max-height:92dvh;overflow:auto}.lightbox p{font-size:1rem}.lightbox img{max-height:70dvh}
.page-preloader{display:none!important}
.a11y-toolbar{position:relative;top:auto}.a11y-toolbar-inner{grid-template-columns:repeat(3,minmax(0,1fr))}.a11y-toolbar-title{grid-column:1/-1}.a11y-control-group button,.a11y-setting>span,.a11y-toolbar-title small{font-size:.8rem}.a11y-control-group button{min-height:44px}
@media(min-width:1440px){.container{width:min(calc(100% - 96px),1360px)}.hero-grid{gap:72px}}
@media(max-width:1199px){.desktop-nav,.header-actions .hide-mobile{display:none}.menu-toggle{display:flex;flex-shrink:0}.header-inner,.site-header.scrolled .header-inner{min-height:80px}.mobile-menu{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))}.mobile-menu nav{grid-template-columns:1fr 1fr}.mobile-menu-cta,.mobile-a11y-link{grid-column:1/-1}.hero-grid{gap:32px}.hero-copy h1{font-size:clamp(2.4rem,4.5vw,3.9rem)}.hero-trust{display:flex;flex-wrap:wrap}.hero-trust li{flex:1 1 130px}.contacts-shell{gap:28px;padding:30px}.form-row{grid-template-columns:1fr}.brand-logo-image{width:184px}}
@media(max-width:900px){.container{width:calc(100% - 40px)}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-copy{text-align:left}.hero-copy h1{font-size:clamp(2.5rem,7vw,4.2rem);max-width:18ch;margin-inline:0}.hero-lead{margin-inline:0}.hero-actions{justify-content:flex-start;max-width:650px}.hero-showcase{max-width:720px;margin-inline:auto}.hero-showcase-card{transform:none}.split-heading,.program-picker,.about-grid,.faq-grid,.contacts-shell{grid-template-columns:1fr;gap:30px}.split-heading>p{max-width:65ch}.program-grid-products{grid-template-columns:repeat(2,minmax(0,1fr))}.about-photo{max-width:560px;margin:auto}.gallery-premium{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gallery-item{min-height:240px}.gallery-item:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:961/690}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:24px}.form-row{grid-template-columns:1fr 1fr}.a11y-toolbar-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){html{scroll-padding-top:88px}.container{width:calc(100% - 32px)}.section{padding-block:60px}.header-inner,.site-header.scrolled .header-inner{min-height:74px;gap:10px}.brand-logo-image{width:158px}.header-actions{gap:6px}.hero{padding:32px 0 40px}.hero-copy h1{font-size:clamp(2.25rem,8.5vw,3.1rem);line-height:1.12;letter-spacing:-.04em;max-width:17ch}.hero-lead{font-size:1rem;line-height:1.75}.hero-actions{gap:10px}.hero-actions .button{flex-basis:100%;width:100%}.hero-trust{gap:15px}.hero-trust li{flex-basis:100%;display:flex;text-align:left}.hero-showcase-card{padding:8px;border-radius:26px}.hero-showcase-media{border-radius:18px}.hero-showcase-footer{padding:16px 10px 10px}.hero-showcase-caption strong{font-size:.94rem}.hero-showcase-caption small{font-size:.75rem}.trust-ribbon-inner{display:grid;grid-template-columns:1fr;justify-items:start;gap:12px;padding-block:10px}.section-heading{margin-bottom:28px}.section-heading h2,.about-copy h2,.faq-intro h2,.contacts-copy h2{font-size:2rem;line-height:1.16}.program-grid-products{grid-template-columns:1fr;gap:16px}.program-grid-products .program-featured{grid-column:auto}.program-grid-products .program-product{padding:24px}.program-product h3{font-size:1.6rem}.program-picker{padding:24px}.picker-copy h3{font-size:1.65rem}.picker-options{display:grid;grid-template-columns:1fr 1fr}.metrics-grid,.features-grid{grid-template-columns:1fr}.gallery-premium{grid-template-columns:1fr;gap:16px}.gallery-item{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/3}.gallery-item:first-child{grid-column:auto}.gallery-item picture{height:100%}.gallery-item picture img{height:100%}.founder-caption{padding:18px}.contacts-shell{padding:26px 18px;border-radius:26px;gap:28px}.form-card{padding:22px 16px;border-radius:20px}.form-row{grid-template-columns:1fr}.contact-card{padding:12px;gap:10px;grid-template-columns:36px minmax(0,1fr)}.contact-card>b{display:none}.contact-icon{width:36px;height:36px}.contact-buttons .button{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.lightbox{padding:10px;border-radius:18px}.mobile-menu nav{grid-template-columns:1fr}.a11y-toolbar-inner{grid-template-columns:1fr}.a11y-toolbar-title{grid-column:auto}}
@media(max-width:359px){.container{width:calc(100% - 24px)}.brand-logo-image{width:135px}.header-actions .a11y-toggle{width:40px}.menu-toggle{width:44px}.hero-copy h1{font-size:2.15rem}.eyebrow{font-size:.73rem}.program-grid-products .program-product{padding:20px}.contacts-shell{padding:24px 12px}.footer-grid{grid-template-columns:1fr}}
@media(hover:hover) and (pointer:fine){.button-primary:hover{background:#ffdc70!important;transform:translateY(-2px)}.program-product:hover{transform:translateY(-4px);box-shadow:0 18px 36px #20365310}.brand-logo-image{animation:logo-welcome .8s ease-out 1}}
@keyframes logo-welcome{0%{transform:translateY(4px);opacity:.5}100%{transform:none;opacity:1}}
@media(hover:none){.button:hover,.program-product:hover,.gallery-item:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.button,.program-action,.faq-item{border:1px solid ButtonText}}

/* Keep captions in the normal flow, including enlarged text. */
.about-media{min-height:0;width:100%;max-width:560px;margin-inline:auto}
.about-photo-shell{position:relative;inset:auto;aspect-ratio:967/1240;width:100%;height:auto;max-height:640px}
.about-photo-shell picture{height:100%}.about-photo-shell img{height:100%;width:100%;object-fit:contain}.about-year-badge{display:none}
.philosophy-panel h2{color:#fff}
.gallery-premium{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}
.gallery-premium .gallery-item{grid-row:auto;grid-column:auto;aspect-ratio:auto;display:flex;flex-direction:column;min-height:0;border:1px solid #dce1e5;background:#fff;align-items:stretch}
.gallery-premium .gallery-item picture,.gallery-premium .gallery-item>img{height:280px!important;width:100%!important;object-fit:contain!important;background:#edf2f5}
.gallery-premium .gallery-item picture img{height:100%;width:100%;object-fit:contain}
.gallery-premium .gallery-item::after,.gallery-premium .gallery-item::before{display:none}
.gallery-caption{position:relative;left:auto;right:auto;bottom:auto;display:block;padding:20px;color:#203653;flex:1}
.gallery-caption small{font-size:.78rem;opacity:1;color:#53647a}.gallery-caption strong{font-size:1rem;line-height:1.5}
@media(max-width:900px){.gallery-premium{grid-template-columns:1fr 1fr}.gallery-premium .gallery-main{grid-column:1/-1}.gallery-premium .gallery-main picture{height:auto!important;aspect-ratio:928/696}}
@media(max-width:600px){.gallery-premium{grid-template-columns:1fr}.gallery-premium .gallery-main{grid-column:auto}.philosophy-panel{grid-template-columns:1fr;padding:28px;gap:24px}.gallery-premium .gallery-item picture{height:auto!important;aspect-ratio:4/3}}

/* Avoid layout jumps when scrolling between sections. */
main>section{content-visibility:visible;contain-intrinsic-size:none}
.hero-copy h1{max-width:100%}
html[data-a11y-theme="wb"] :is(h1,h2,h3,h4,strong,span,label,button),html[data-a11y-theme="wb"] .contacts-shell{color:#fff!important;background-color:#000!important}
html[data-a11y-theme="bw"] :is(h1,h2,h3,h4,strong,span,label,button),html[data-a11y-theme="bw"] .contacts-shell{color:#000!important;background-color:#fff!important}
html[data-a11y-theme="yellow"] :is(h1,h2,h3,h4,strong,span,label,button),html[data-a11y-theme="yellow"] .contacts-shell{color:#000!important;background-color:#ffeb3b!important}

/* Readable picker on its light surface; consistent default and selected states. */
.program-picker{color:#203653}
.picker-copy p,.picker-result p{color:#465b72;opacity:1}
.picker-options button{color:#203653;background:#fffefb;border:1px solid #b6c9d8;box-shadow:none;opacity:1}
.picker-options button:hover,.picker-options button:focus-visible{color:#203653;background:#fff1ba;border-color:#9f7419}
.picker-options button.is-active,.picker-options button[aria-pressed="true"]{color:#203653;background:#ffd24c;border-color:#9f7419;box-shadow:inset 0 0 0 1px #9f7419}
.picker-result{background:#fffefb;border:1px solid #b6c9d8;backdrop-filter:none}
.picker-result>span{color:#53647a;opacity:1;font-size:.8rem}
.picker-result strong{color:#203653;opacity:1;line-height:1.5}
.picker-apply{color:#203653;background:#ffd24c;border:1px solid #ba8821;border-radius:12px;min-height:44px;padding:10px 15px;font-size:.9rem;line-height:1.5}
.hero-copy h1 span{color:#ed8b08;-webkit-text-fill-color:currentColor;background:none}
@supports (background-clip:text) or (-webkit-background-clip:text){
 html:not([data-a11y-enabled="true"]) .hero-copy h1 span{background:linear-gradient(105deg,#efa809 0%,#f59b0b 42%,#eb700d 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
html[data-a11y-enabled="true"] .hero-copy h1 span{background:none;-webkit-text-fill-color:currentColor}
@media(forced-colors:active){.hero-copy h1 span{background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}}
