:root{--pink:#e83464;--pink2:#fa537d;--green:#64b64f;--green2:#86cf66;--yellow:#f6bf28;--orange:#f59a3f;--purple:#7353b9;--blue:#4c8fe9;--ink:#1f2430;--muted:#717482;--cream:#fff9f0;--peach:#fff0e9;--soft:#faf8f4;--white:#fff;--line:#eee8df;--shadow:0 18px 50px rgba(47,35,23,.11);--radius:26px;--shell:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:#fff;color:var(--ink);font-family:"Jost",Arial,sans-serif;line-height:1.65;overflow-x:hidden}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.shell{width:min(calc(100% - 40px),var(--shell));margin:auto}.preloader{position:fixed;inset:0;background:#fff;z-index:9999;display:flex;align-items:center;justify-content:center;gap:9px;transition:.35s opacity,.35s visibility}.preloader.hidden{opacity:0;visibility:hidden}.loader-dot{width:12px;height:12px;border-radius:50%;background:var(--pink);animation:bop .7s infinite alternate}.loader-dot:nth-child(2){background:var(--yellow);animation-delay:.12s}.loader-dot:nth-child(3){background:var(--green);animation-delay:.24s}@keyframes bop{to{transform:translateY(-10px)}}
.topbar{background:var(--pink);color:#fff;font-size:.82rem}.topbar-inner{min-height:43px;display:flex;justify-content:space-between;align-items:center;gap:20px}.top-contact{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.top-contact a,.top-address{display:flex;align-items:center;gap:7px}.top-icon{font-size:.94rem}.top-social{display:flex;gap:7px}.top-social a{width:27px;height:27px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;font-weight:800;transition:.2s}.top-social a:hover{background:#fff;color:var(--pink)}
.site-header{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 4px 24px rgba(36,27,18,.06)}.nav-row{height:88px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px}.brand img{width:67px;height:67px;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text strong{font:800 1.55rem "Jost";letter-spacing:.04em;color:#10214d}.brand-text small{margin-top:7px;font-size:.66rem;letter-spacing:.44em;color:var(--pink);font-weight:800}.main-nav{display:flex;justify-content:center;align-items:center;gap:30px;font-size:.95rem;font-weight:600}.main-nav a{position:relative;padding:32px 0}.main-nav a:after{content:"";position:absolute;left:50%;bottom:21px;width:0;height:2px;background:var(--pink);transition:.25s}.main-nav a:hover,.main-nav a.active{color:var(--pink)}.main-nav a:hover:after,.main-nav a.active:after{width:100%;left:0}.register-btn{background:var(--green);color:#fff;border-radius:999px;padding:13px 22px;font-weight:800;box-shadow:0 10px 26px rgba(100,182,79,.25);transition:.25s}.register-btn span{margin-left:8px}.register-btn:hover{transform:translateY(-2px);background:#56a943}.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}.menu-toggle span{display:block;width:27px;height:3px;background:var(--ink);margin:5px;border-radius:5px}
.hero{position:relative;min-height:650px;background:linear-gradient(115deg,#fffaf4 0%,#fff4ec 54%,#fff7ef 100%);overflow:hidden}.hero-grid{min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:40px;padding:60px 0 95px}.hero-kicker,.section-label{font-family:"Bubblegum Sans",cursive;color:var(--pink);font-size:1.18rem;letter-spacing:.03em;display:inline-flex;align-items:center;gap:9px}.hero-kicker:before,.section-label:before{content:"";width:31px;height:3px;border-radius:4px;background:var(--yellow)}.hero h1{font:800 clamp(3.35rem,5.3vw,5.65rem)/.94 "Jost";letter-spacing:-.055em;margin:16px 0 24px;color:#242632}.hero h1>span{position:relative}.hero h1>span:after{content:"";position:absolute;left:4px;right:-9px;bottom:5px;height:13px;background:rgba(246,191,40,.42);z-index:-1;transform:rotate(-2deg);border-radius:50%}.hero h1 em{font-style:normal;color:var(--green);font-family:"Bubblegum Sans";font-weight:400;letter-spacing:.01em}.hero-copy>p{max-width:600px;font-size:1.08rem;color:#646675;margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:25px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 25px;font-weight:800;cursor:pointer;transition:.25s;box-shadow:none}.btn:hover{transform:translateY(-2px)}.btn-pink{background:var(--pink);color:#fff;box-shadow:0 12px 28px rgba(232,52,100,.22)}.btn-pink:hover{background:#d92757}.btn-green{background:var(--green);color:#fff}.btn-yellow{background:var(--yellow);color:#332b15}.text-link{font-weight:800;border-bottom:1px solid #b7b0a5;padding:5px 0}.text-link span{color:var(--pink);font-size:1.25rem;margin-left:7px}.hero-chips{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.hero-chips span{background:#fff;border:1px solid #f1e9df;border-radius:15px;padding:10px 14px;font-size:.82rem;color:#777}.hero-chips b{display:block;color:#333;font-size:.92rem}.hero-visual{position:relative;height:510px}.hero-sun{position:absolute;width:390px;height:390px;border-radius:50%;background:var(--yellow);right:35px;top:48px;opacity:.93}.hero-sun:after{content:"";position:absolute;inset:24px;border:2px dashed rgba(255,255,255,.58);border-radius:50%}.kid-card{position:absolute;background:#fff;border:8px solid #fff;overflow:hidden;box-shadow:0 22px 54px rgba(87,54,22,.16)}.kid-card img{width:100%;height:100%;object-fit:cover;display:block}.kid-a{width:260px;height:350px;border-radius:120px 120px 36px 36px;left:26px;top:76px;transform:rotate(-5deg)}.kid-b{width:225px;height:285px;border-radius:34px 110px 110px 34px;right:0;top:165px;transform:rotate(5deg)}.hero-logo-badge{position:absolute;width:108px;height:108px;border-radius:50%;display:grid;place-items:center;background:#fff;left:50%;top:18px;box-shadow:0 15px 40px rgba(46,39,28,.12);z-index:3}.hero-logo-badge img{width:84px;height:84px;object-fit:contain}.hero-pencil{position:absolute;width:16px;height:145px;border-radius:8px;background:var(--pink);box-shadow:inset 0 0 0 4px rgba(255,255,255,.38);z-index:4}.hero-pencil:after{content:"";position:absolute;bottom:-24px;left:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:26px solid #e0aa72}.pencil-1{left:7px;bottom:32px;transform:rotate(28deg)}.pencil-2{right:12px;top:40px;transform:rotate(-28deg);background:var(--green)}.hero-abc{position:absolute;left:44%;bottom:15px;color:var(--purple);font:400 1.65rem "Bubblegum Sans";transform:rotate(-8deg)}.rainbow{position:absolute;width:150px;height:80px;left:38%;top:127px;z-index:0;overflow:hidden}.rainbow i{position:absolute;left:0;right:0;margin:auto;border:12px solid;border-bottom:0;border-radius:100px 100px 0 0}.rainbow i:nth-child(1){width:140px;height:70px;border-color:var(--pink)}.rainbow i:nth-child(2){width:108px;height:54px;top:16px;border-color:var(--yellow)}.rainbow i:nth-child(3){width:76px;height:38px;top:32px;border-color:var(--green)}.hero-cloud{position:absolute;width:120px;height:34px;border-radius:40px;background:#fff;opacity:.7}.hero-cloud:before,.hero-cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.hero-cloud:before{width:48px;height:48px;left:18px;top:-22px}.hero-cloud:after{width:62px;height:62px;right:12px;top:-32px}.cloud-1{left:5%;top:120px}.cloud-2{right:5%;top:80px;transform:scale(.7)}.decor{position:absolute;z-index:1}.decor-star{left:48%;top:75px;color:var(--yellow);font-size:2rem}.decor-cross{left:3%;bottom:130px;color:var(--green);font-size:2rem}.decor-ring{width:52px;height:52px;border:7px solid var(--blue);border-radius:50%;right:3%;bottom:150px;opacity:.35}.hero-bottom{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:105px}.hero-bottom path{fill:#fff}
.section{padding:96px 0}.section-head{text-align:center;max-width:820px;margin:0 auto 48px}.section-head h2,.about-copy h2,.faq-intro h2,.safety-copy h2{font:800 clamp(2rem,3.7vw,3.35rem)/1.12 "Jost";letter-spacing:-.038em;margin:12px 0 18px}.section-head h2 em,.about-copy h2 em,.faq-intro h2 em{font-style:normal;color:var(--green);font-family:"Bubblegum Sans";font-weight:400;letter-spacing:0}.centered-label:before{display:none}.section-head p{color:var(--muted)}.split-head{display:grid;grid-template-columns:1.2fr .8fr;max-width:none;text-align:left;align-items:end;gap:60px}.split-head p{margin:0 0 9px}.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:center}.about-visual{position:relative;min-height:530px}.blob-photo{position:absolute;inset:20px 0 0 20px;border-radius:42% 58% 47% 53% / 46% 43% 57% 54%;background:#ffe5d5;overflow:hidden;box-shadow:var(--shadow)}.blob-photo:before{content:"";position:absolute;inset:18px;border:3px dashed rgba(255,255,255,.72);border-radius:inherit;z-index:2}.blob-photo img{width:100%;height:100%;object-fit:cover}.about-badge{position:absolute;right:-22px;bottom:28px;width:150px;height:150px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 18px 40px rgba(232,52,100,.25);z-index:4}.about-badge strong{font:800 2rem "Jost"}.about-badge span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.doodle{position:absolute;font-size:2.2rem}.d1{left:-8px;top:20px;color:var(--yellow)}.d2{right:5px;top:20%;color:var(--green)}.about-copy p{color:#676976;margin:0 0 14px}.about-copy .btn{margin-top:12px}.why{background:#fffaf3;position:relative}.why:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(232,52,100,.08) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}.why-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.why-card{background:#fff;border-radius:24px;padding:31px 27px;border:1px solid rgba(25,25,25,.06);box-shadow:0 12px 35px rgba(65,47,30,.06);transition:.25s}.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.why-icon{width:67px;height:67px;border-radius:20px;display:grid;place-items:center;margin-bottom:18px;font:800 1.25rem "Jost"}.why-card h3{font-size:1.17rem;line-height:1.34;margin:0 0 12px}.why-card p{font-size:.93rem;color:var(--muted);margin:0}.c-pink .why-icon{background:#ffe6ee;color:var(--pink)}.c-green .why-icon{background:#eaf8e6;color:var(--green)}.c-orange .why-icon{background:#fff0df;color:var(--orange)}.c-purple .why-icon{background:#f0ebff;color:var(--purple)}.c-blue .why-icon{background:#e9f2ff;color:var(--blue)}.c-yellow .why-icon{background:#fff6cf;color:#9c7700}
.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-auto-rows:220px;gap:18px}.gallery-item{position:relative;border:0;padding:0;overflow:hidden;border-radius:24px;cursor:pointer;background:#eee}.gallery-item.big{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,25,25,.55),transparent 55%);opacity:.45;transition:.3s}.gallery-item span{position:absolute;left:20px;bottom:16px;color:#fff;font-weight:900;font-size:.83rem;letter-spacing:.08em;z-index:2;opacity:0;transform:translateY(8px);transition:.3s}.gallery-item:hover img{transform:scale(1.055)}.gallery-item:hover:after{opacity:.8}.gallery-item:hover span{opacity:1;transform:none}.teachings{background:#fdfcf9}.program-track{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.program-card{position:relative;border-radius:25px;padding:30px 22px 27px;min-height:310px;overflow:hidden;transition:.25s}.program-card:hover{transform:translateY(-6px)}.program-no{position:absolute;right:17px;top:8px;font:800 3.6rem "Jost";opacity:.08}.program-icon{width:67px;height:67px;border-radius:50%;display:grid;place-items:center;background:#fff;margin-bottom:42px;font:800 1.15rem "Jost";box-shadow:0 10px 24px rgba(31,36,48,.08)}.program-card h3{font-size:1.15rem;line-height:1.25;margin:0 0 12px}.program-card p{font-size:.89rem;line-height:1.6;margin:0;color:#656775}.p-art{background:#ffedf2}.p-math{background:#fff3d7}.p-world{background:#eaf7e6}.p-lang{background:#eaf2ff}.p-sport{background:#f0ebff}.faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.faq-intro>p{color:var(--muted)}.faq-illustration{height:265px;margin-top:25px;border-radius:31px;overflow:hidden;background:#fff5e7}.faq-illustration img{width:100%;height:100%;object-fit:cover}.accordion{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{width:100%;border:0;background:#fff;text-align:left;padding:22px 2px;display:flex;justify-content:space-between;gap:20px;font-weight:800;cursor:pointer;color:var(--ink)}.faq-item button b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff0f4;color:var(--pink);font-size:1.15rem;flex:0 0 auto}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}.faq-answer>p{overflow:hidden;color:var(--muted);margin:0;padding-right:30px}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer>p{padding-bottom:22px}.faq-item.open button{color:var(--pink)}.safety{background:#4f9d46;color:#fff;position:relative;overflow:hidden;padding:83px 0}.safety:before{content:"";position:absolute;width:380px;height:380px;border:70px solid rgba(255,255,255,.06);border-radius:50%;left:-170px;top:-100px}.safety:after{content:"";position:absolute;width:260px;height:260px;border:50px solid rgba(255,255,255,.05);border-radius:50%;right:-100px;bottom:-80px}.safety-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}.section-label.light{color:#ffe47d}.section-label.light:before{background:#fff}.safety-copy h2{margin-top:15px}.safety-copy p{opacity:.86;max-width:540px}.safety-copy .btn{margin-top:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stats>div{min-height:126px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);border-radius:20px;display:grid;place-content:center;text-align:center;backdrop-filter:blur(4px)}.stats strong{font:800 1.85rem "Jost"}.stats span{font-size:.82rem;opacity:.85}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.map-card,.contact-form{border-radius:28px;border:1px solid var(--line);overflow:hidden;background:#fff;box-shadow:0 12px 38px rgba(60,48,35,.07)}.map-art{height:285px;position:relative;background:#edf3e9;overflow:hidden}.map-art:before,.map-art:after{content:"";position:absolute;border-radius:50%;background:#d6e8cf}.map-art:before{width:170px;height:170px;left:-45px;top:-35px}.map-art:after{width:230px;height:230px;right:-70px;bottom:-75px}.road{position:absolute;height:18px;background:#fff;border:1px solid #d7ded3;transform-origin:center}.r1{width:120%;left:-10%;top:47%;transform:rotate(-12deg)}.r2{width:90%;left:8%;top:53%;transform:rotate(29deg)}.r3{width:70%;left:17%;top:30%;transform:rotate(-47deg)}.pin{position:absolute;width:52px;height:52px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--pink);left:49%;top:42%;z-index:3;box-shadow:0 8px 18px rgba(232,52,100,.3)}.pin i{position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;left:18px;top:18px}.map-art b{position:absolute;left:55%;top:36%;z-index:3;background:#fff;padding:5px 9px;border-radius:8px;font-size:.8rem}.map-art small{position:absolute;left:55%;top:48%;z-index:3;color:#5e665b}.contact-info{padding:26px;display:grid;gap:17px}.contact-info>div{display:flex;gap:14px;align-items:flex-start}.contact-info i{font-style:normal;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#fff0f4;color:var(--pink);flex:0 0 auto}.contact-info span{font-size:.9rem;color:var(--muted)}.contact-info b{display:block;color:var(--ink);margin-bottom:2px}.contact-info a:hover{color:var(--pink)}.contact-form{padding:31px}.contact-form label{display:block;margin-bottom:17px}.contact-form label>span{display:block;font-size:.82rem;font-weight:700;margin-bottom:7px}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #e6e1da;border-radius:13px;padding:13px 14px;outline:none;background:#fdfcfb;transition:.2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(232,52,100,.08)}.contact-form textarea{resize:vertical}.footer{position:relative;background:#2d3038;color:#fff;padding:84px 0 22px}.footer-wave{position:absolute;left:0;right:0;top:-64px;height:65px}.footer-wave svg{width:100%;height:100%}.footer-wave path{fill:#2d3038}.footer-grid{display:grid;grid-template-columns:1.4fr .65fr .9fr;gap:70px}.footer-logo{display:flex;align-items:center;gap:13px}.footer-logo img{width:74px;height:74px;object-fit:contain;filter:brightness(0) invert(1)}.footer-logo strong{display:block;font-size:1.7rem}.footer-logo span{font-size:.65rem;letter-spacing:.36em}.footer-brand h3{font-size:1rem;line-height:1.45;margin:18px 0 12px;max-width:520px}.footer-brand p,.footer-contact p{color:#c8cad1;font-size:.88rem}.footer h4{margin:10px 0 18px;font-size:.9rem;text-transform:uppercase;color:#fff}.footer-links a{display:block;color:#c8cad1;margin:7px 0;font-size:.9rem}.footer-links a:hover{color:var(--yellow)}.footer-parent{display:inline-block;color:var(--yellow);font-weight:800;margin-top:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;color:#b5b7bd;font-size:.8rem}.to-top{width:39px;height:39px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-size:1.2rem}.floating-parent{display:none}.lightbox{position:fixed;inset:0;background:rgba(19,18,20,.9);z-index:500;display:flex;align-items:center;justify-content:center;padding:50px;opacity:0;visibility:hidden;transition:.25s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:min(1000px,90vw);max-height:78vh;border-radius:22px;box-shadow:0 30px 100px #000}.lightbox>span{position:absolute;bottom:25px;color:#fff;font-weight:800;letter-spacing:.12em}.lightbox-close{position:absolute;right:28px;top:22px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:1.8rem;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1080px){.main-nav{gap:20px;font-size:.88rem}.register-btn{padding:12px 18px}.brand-text{display:none}.hero-grid{grid-template-columns:1fr 1fr}.kid-a{width:220px}.kid-b{width:190px}.why-grid{grid-template-columns:repeat(2,1fr)}.program-track{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.2fr .7fr 1fr;gap:35px}}
@media(max-width:860px){.top-address{display:none}.nav-row{height:76px;grid-template-columns:auto 1fr auto}.brand img{width:58px;height:58px}.brand-text{display:flex}.main-nav{position:absolute;top:76px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-radius:0 0 22px 22px;padding:8px 20px 18px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:13px 5px;border-bottom:1px solid var(--line)}.main-nav a:after{display:none}.menu-toggle{display:block;justify-self:end}.register-btn{display:none}.hero-grid{grid-template-columns:1fr;padding-top:44px}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions,.hero-chips{justify-content:center}.hero-visual{height:445px;max-width:570px;width:100%;margin:auto}.about-grid,.faq-grid,.safety-grid,.contact-grid{grid-template-columns:1fr}.about-grid{gap:45px}.about-visual{min-height:470px}.split-head{grid-template-columns:1fr;gap:5px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item.big{grid-row:span 1}.program-track{grid-template-columns:repeat(2,1fr)}.faq-grid{gap:40px}.stats{max-width:620px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.floating-parent{position:fixed;right:16px;bottom:16px;display:flex;align-items:center;gap:8px;background:var(--pink);color:#fff;border-radius:999px;padding:12px 16px;font-weight:800;z-index:90;box-shadow:0 12px 30px rgba(232,52,100,.26)}}
@media(max-width:600px){.shell{width:min(calc(100% - 26px),var(--shell))}.topbar-inner{min-height:38px}.top-contact{gap:12px;font-size:.72rem}.top-contact a:nth-child(2){display:none}.top-social{margin-left:auto}.brand-text strong{font-size:1.2rem}.brand-text small{font-size:.52rem}.hero{min-height:auto}.hero-grid{min-height:auto;padding:40px 0 105px}.hero h1{font-size:3.25rem}.hero-copy>p{font-size:.96rem}.hero-actions{flex-direction:column;gap:13px}.hero-visual{height:340px}.hero-sun{width:280px;height:280px;right:20px;top:32px}.kid-a{width:170px;height:250px;left:10px;top:55px}.kid-b{width:150px;height:210px;top:108px}.hero-logo-badge{width:78px;height:78px;top:2px}.hero-logo-badge img{width:62px;height:62px}.rainbow{transform:scale(.7);left:28%;top:80px}.hero-pencil{height:105px}.hero-abc{font-size:1.25rem}.section{padding:70px 0}.section-head{margin-bottom:34px}.section-head h2,.about-copy h2,.faq-intro h2,.safety-copy h2{font-size:2.25rem}.about-visual{min-height:360px}.about-badge{width:110px;height:110px;right:-5px}.about-badge strong{font-size:1.5rem}.why-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:225px}.gallery-item.big{grid-row:auto}.program-track{grid-template-columns:1fr}.program-card{min-height:250px}.stats{grid-template-columns:repeat(2,1fr)}.input-row{grid-template-columns:1fr}.contact-form{padding:23px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start;gap:15px}.floating-parent span{display:none}.floating-parent{width:50px;height:50px;padding:0;justify-content:center}.lightbox{padding:18px}.lightbox img{max-width:96vw}.topbar{overflow:hidden}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.loader-dot{animation:none}}

/* ===== Images officielles Ubora intégrées - V2 ===== */
.hero-rainbow-art{position:absolute;left:-120px;right:-35px;bottom:-18px;width:620px;max-width:none;z-index:2;pointer-events:none;filter:drop-shadow(0 12px 18px rgba(24,42,79,.08))}
.hero-boy-art{position:absolute;right:12px;top:18px;width:102px;z-index:5;pointer-events:none;filter:drop-shadow(0 10px 14px rgba(31,45,77,.14))}
.hero-turtle-art{position:absolute;right:-22px;bottom:7px;width:118px;z-index:5;pointer-events:none;filter:drop-shadow(0 10px 14px rgba(31,45,77,.12))}
.hero-visual .kid-a{z-index:3;background:#f2fff3;border-color:#fff}.hero-visual .kid-b{z-index:2}
.blob-photo img{object-position:center center}
.program-diagram{margin-top:46px;display:grid;grid-template-columns:.78fr 1.22fr;gap:38px;align-items:center;background:#fff;border:1px solid #eee8df;border-radius:32px;padding:32px;box-shadow:0 18px 50px rgba(39,47,70,.07)}
.program-diagram-copy h3{font-size:clamp(1.5rem,2.3vw,2.25rem);line-height:1.12;margin:14px 0 14px;color:var(--ink)}
.program-diagram-copy p{color:var(--muted);margin:0;line-height:1.75}
.program-diagram-image{background:#fff;border-radius:24px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:400px}
.program-diagram-image img{display:block;width:100%;height:auto;max-height:610px;object-fit:contain}
.faq-real-art{position:relative;isolation:isolate;background:linear-gradient(135deg,#eef9ff,#fff5e8)!important;overflow:hidden}
.faq-real-art .faq-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover!important;object-position:center;z-index:0}
.faq-real-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.18));z-index:1}
.faq-real-art .faq-boy{position:absolute!important;width:92px!important;height:auto!important;right:16px!important;bottom:-3px!important;object-fit:contain!important;z-index:3;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12))}
.faq-real-art .faq-turtle{position:absolute!important;width:90px!important;height:auto!important;left:15px!important;bottom:2px!important;object-fit:contain!important;z-index:3;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12))}
.safety-boy,.safety-turtle{position:absolute;z-index:1;pointer-events:none;opacity:.98;filter:drop-shadow(0 12px 18px rgba(0,0,0,.14))}.safety-boy{width:125px;left:20px;bottom:-8px}.safety-turtle{width:130px;right:20px;bottom:2px}
.gallery-item img{background:#f4f4f4}
@media(max-width:980px){
  .hero-rainbow-art{left:-90px;width:520px;opacity:.95}.hero-boy-art{width:88px;right:0}.hero-turtle-art{width:100px;right:-10px}
  .program-diagram{grid-template-columns:1fr;padding:26px}.program-diagram-image{min-height:0}
  .safety-boy,.safety-turtle{opacity:.28}
}
@media(max-width:680px){
  .hero-rainbow-art{left:-55px;bottom:-8px;width:390px}.hero-boy-art{width:66px;right:2px;top:16px}.hero-turtle-art{width:76px;right:0;bottom:20px}
  .program-diagram{padding:20px;border-radius:24px}.program-diagram-image img{max-height:none}
  .faq-real-art .faq-boy{width:72px!important}.faq-real-art .faq-turtle{width:68px!important}
  .safety-boy,.safety-turtle{display:none}
}

/* V3 — Couleur demandée pour la barre supérieure */
.topbar,
.topbar .topbar-inner {
  background: #192441;
}
.topbar {
  color: #ffffff;
}
.top-social a:hover {
  background: #ffffff;
  color: #192441;
}

/* ==========================================================
   V6.4.3 — RESPONSIVE ACCUEIL UNIQUEMENT
   Cible: Safari iOS/iPadOS, Chrome Android, Edge/Chrome/Firefox
   Windows/Linux/macOS. Aucun style du portail Flask n'est touché.
   ========================================================== */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: #fff;
}
body {
  min-width: 0;
  width: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
@supports not (overflow: clip) { body { overflow-x: hidden; } }
img, svg, picture, video, canvas { max-width: 100%; }
img, svg { height: auto; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
button, input, textarea { max-width: 100%; }
input, textarea { min-width: 0; }
.main-nav, .nav-row, .hero-grid, .about-grid, .why-grid, .gallery-grid,
.program-track, .program-diagram, .faq-grid, .safety-grid, .stats,
.contact-grid, .footer-grid, .split-head { min-width: 0; }
.hero-copy, .hero-visual, .about-copy, .about-visual, .faq-intro,
.accordion, .map-card, .contact-form, .footer-brand, .footer-links,
.footer-contact { min-width: 0; }
h1,h2,h3,h4,p,a,span { overflow-wrap: break-word; }

/* largeur fluide + safe-area iPhone */
.shell {
  width: min(calc(100% - 40px), var(--shell));
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}
.site-header { padding-top: env(safe-area-inset-top, 0px); }
.floating-parent {
  right: max(16px, env(safe-area-inset-right, 0px));
  bottom: max(16px, env(safe-area-inset-bottom, 0px));
}

/* clavier / accessibilité */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(25,36,65,.35);
  outline-offset: 3px;
}
.btn, .register-btn, .floating-parent, .menu-toggle, .faq-item button {
  touch-action: manipulation;
}

/* images: éviter les déformations */
.kid-card img, .blob-photo img, .gallery-item img, .faq-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.program-diagram-image img { width: min(100%, 840px); height: auto; }

/* navigation desktop un peu plus souple */
@media (max-width: 1180px) and (min-width: 861px) {
  .nav-row { gap: 18px; }
  .main-nav { gap: clamp(12px, 1.6vw, 22px); font-size: .88rem; }
  .main-nav a { white-space: nowrap; }
  .brand img { width: 60px; height: 60px; }
  .register-btn { padding: 11px 16px; font-size: .9rem; }
}

/* tablette et mobile */
@media (max-width: 860px) {
  html { scroll-padding-top: 82px; }
  .topbar-inner { gap: 12px; }
  .top-contact { min-width: 0; gap: 12px; }
  .top-contact > * { min-width: 0; }
  .nav-row { position: relative; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
  .brand { min-width: 0; }
  .brand-text { min-width: 0; }
  .brand-text strong, .brand-text small { white-space: nowrap; }
  .menu-toggle { display: block; position: relative; z-index: 105; }
  .main-nav {
    top: calc(100% + 1px);
    left: max(12px, env(safe-area-inset-left,0px));
    right: max(12px, env(safe-area-inset-right,0px));
    max-height: min(72vh, 520px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border: 1px solid rgba(25,36,65,.08);
    z-index: 104;
  }
  .main-nav a { min-height: 48px; display: flex; align-items: center; }
  body.menu-open { overflow: hidden; }

  .hero-grid { gap: 12px; }
  .hero-copy { position: relative; z-index: 7; }
  .hero-visual { max-width: 620px; }
  .hero-rainbow-art { max-width: none; }

  .about-visual { width: min(100%, 620px); margin-inline: auto; }
  .about-copy { max-width: 760px; margin-inline: auto; }
  .gallery-item { width: 100%; }
  .program-diagram-copy { text-align: center; }
  .program-diagram-image { overflow: auto; -webkit-overflow-scrolling: touch; }
  .faq-intro, .accordion { width: 100%; }
  .contact-grid { align-items: start; }
  .footer-grid { gap: 28px; }
}

@media (max-width: 700px) {
  .shell { width: min(calc(100% - 28px), var(--shell)); }
  .topbar { font-size: .76rem; }
  .topbar-inner { min-height: 40px; }
  .top-contact a:first-child { white-space: nowrap; }
  .top-social a { width: 30px; height: 30px; }
  .site-header { top: 0; }

  .hero-grid { padding-top: 34px; padding-bottom: 88px; }
  .hero h1 { font-size: clamp(2.55rem, 13vw, 4rem); line-height: .98; letter-spacing: -.045em; }
  .hero-copy > p { max-width: 40rem; }
  .hero-actions { width: 100%; }
  .hero-actions .btn { width: min(100%, 320px); }
  .hero-chips { width: 100%; }
  .hero-chips span { flex: 1 1 140px; }
  .hero-visual { height: clamp(300px, 82vw, 430px); }

  .section { padding: 64px 0; }
  .section-head h2, .about-copy h2, .faq-intro h2, .safety-copy h2 {
    font-size: clamp(1.9rem, 8vw, 2.55rem);
  }
  .section-head, .split-head { margin-bottom: 30px; }
  .about-grid { gap: 34px; }
  .about-visual { min-height: clamp(320px, 90vw, 470px); }
  .why-card, .program-card, .contact-form, .map-card { border-radius: 20px; }
  .gallery-grid { grid-auto-rows: auto; }
  .gallery-item { aspect-ratio: 4/3; min-height: 0; }
  .gallery-item.big { aspect-ratio: 4/3; }
  .program-card { min-height: auto; }
  .program-diagram { margin-top: 32px; gap: 24px; }
  .program-diagram-copy h3 { font-size: clamp(1.4rem, 6vw, 2rem); }
  .faq-item button { min-height: 54px; padding-block: 13px; }
  .stats { width: 100%; }
  .contact-info > div { align-items: flex-start; }
  .contact-form input, .contact-form textarea { font-size: 16px; } /* empêche le zoom iOS */
  .btn, .register-btn { min-height: 46px; }
  .footer { padding-bottom: max(22px, env(safe-area-inset-bottom,0px)); }
}

/* petits téléphones 320–479px */
@media (max-width: 479px) {
  .shell { width: calc(100% - 22px); }
  .topbar-inner { justify-content: center; }
  .top-contact { width: 100%; justify-content: center; }
  .top-contact a:nth-child(2), .top-address, .top-social { display: none; }

  .nav-row { height: 68px; }
  .brand img { width: 50px; height: 50px; }
  .brand-text strong { font-size: 1.03rem; }
  .brand-text small { margin-top: 4px; font-size: .44rem; letter-spacing: .30em; }
  .menu-toggle { padding: 7px; }
  .menu-toggle span { width: 25px; margin: 4px; }

  .hero-kicker, .section-label { font-size: 1rem; }
  .hero h1 { margin-top: 12px; margin-bottom: 18px; }
  .hero-copy > p { font-size: .94rem; line-height: 1.6; }
  .hero-actions { gap: 10px; }
  .hero-actions .btn, .hero-actions .text-link { width: 100%; max-width: 310px; }
  .hero-visual { height: 305px; }
  .hero-sun { width: 235px; height: 235px; right: 8%; top: 36px; }
  .kid-a { width: 145px; height: 215px; left: 2px; top: 58px; border-width: 6px; }
  .kid-b { width: 125px; height: 175px; right: 2px; top: 103px; border-width: 6px; }
  .hero-logo-badge { width: 66px; height: 66px; left: 46%; }
  .hero-logo-badge img { width: 52px; height: 52px; }
  .hero-rainbow-art { width: 330px; left: -54px; bottom: -3px; }
  .hero-boy-art { width: 54px; }
  .hero-turtle-art { width: 62px; bottom: 17px; }
  .pencil-1, .pencil-2, .rainbow, .hero-abc { display: none; }

  .about-visual { min-height: 315px; }
  .blob-photo { inset: 8px 0 0 0; }
  .about-badge { width: 94px; height: 94px; right: 4px; bottom: 4px; }
  .about-badge strong { font-size: 1.25rem; }
  .about-badge span { font-size: .62rem; }

  .why-grid, .program-track { gap: 16px; }
  .why-card, .program-card { padding: 22px 18px; }
  .program-diagram { padding: 16px; border-radius: 20px; }
  .gallery-grid { gap: 12px; }
  .faq-real-art { min-height: 250px; }
  .stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .stats > div { padding: 14px 6px; }
  .stats strong { font-size: 1.45rem; }
  .contact-form { padding: 18px 14px; }
  .footer-grid { gap: 22px; }
  .footer-logo img { width: 62px; height: 62px; }
  .footer-bottom { padding-bottom: max(62px, env(safe-area-inset-bottom,0px)); }
}

/* écrans très étroits */
@media (max-width: 350px) {
  .brand-text small { display: none; }
  .hero h1 { font-size: 2.45rem; }
  .hero-visual { height: 285px; }
  .kid-a { width: 135px; height: 200px; }
  .kid-b { width: 112px; height: 160px; }
  .hero-rainbow-art { width: 300px; }
  .stats { grid-template-columns: 1fr; }
}

/* tablette paysage / petits laptops */
@media (min-width: 861px) and (max-width: 1024px) {
  .hero-grid { gap: 20px; }
  .hero-visual { transform: scale(.92); transform-origin: center; }
  .about-grid { gap: 50px; }
  .program-diagram { grid-template-columns: 1fr 1.15fr; }
}

/* téléphone en paysage, hauteur limitée */
@media (max-height: 520px) and (orientation: landscape) and (max-width: 950px) {
  .topbar { display: none; }
  .nav-row { height: 62px; }
  .brand img { width: 46px; height: 46px; }
  .main-nav { top: 62px; max-height: calc(100vh - 72px); }
  .hero-grid { grid-template-columns: 1fr 1fr; text-align: left; padding: 26px 0 55px; }
  .hero-copy { text-align: left; }
  .hero h1 { font-size: clamp(2.25rem, 7vw, 3.2rem); }
  .hero-actions, .hero-chips { justify-content: flex-start; }
  .hero-visual { height: 280px; }
  .hero-sun { width: 220px; height: 220px; }
  .kid-a { width: 135px; height: 195px; }
  .kid-b { width: 115px; height: 160px; }
}

/* écrans larges / 2K/4K: ne pas étirer le contenu */
@media (min-width: 1600px) {
  :root { --shell: 1280px; }
  .hero-grid { min-height: 690px; }
}

/* fallback si les polices Google sont bloquées */
body { font-family: "Jost", "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.hero-kicker, .section-label, .hero h1 em, .section-head h2 em,
.about-copy h2 em, .faq-intro h2 em { font-family: "Bubblegum Sans", "Trebuchet MS", cursive; }


/* Bouton Espace parents mobile Ubora V1.1 */
@media (max-width:860px){
  .nav-row{
    height:76px !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto auto !important;
    grid-template-areas:"brand spacer client menu" !important;
    gap:9px !important;
    align-items:center !important;
  }

  .brand{
    grid-area:brand !important;
    min-width:0 !important;
  }

  .main-nav{
    grid-area:nav !important;
  }

  .register-btn{
    grid-area:client !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    font-size:.78rem !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    justify-self:end !important;
    box-shadow:0 7px 18px rgba(100,182,79,.25) !important;
  }

  .register-btn span{
    margin-left:5px !important;
  }

  .menu-toggle{
    grid-area:menu !important;
    display:block !important;
    justify-self:end !important;
    margin:0 !important;
  }
}

@media (max-width:600px){
  .nav-row{
    gap:6px !important;
  }

  .brand-text{
    display:none !important;
  }

  .brand img{
    width:52px !important;
    height:52px !important;
  }

  .register-btn{
    min-height:38px !important;
    padding:7px 10px !important;
    font-size:.73rem !important;
  }
}

@media (max-width:380px){
  .register-btn{
    padding:7px 9px !important;
    font-size:.69rem !important;
  }

  .register-btn span{
    display:none !important;
  }

  .menu-toggle{
    padding:5px !important;
  }

  .menu-toggle span{
    width:23px !important;
    margin:4px !important;
  }
}


/* Correction clic Safari espace parents V1.2 */
.register-btn,
.floating-parent,
.footer-parent{
  position:relative !important;
  z-index:120 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:rgba(100,182,79,.22);
}

@media(max-width:860px){
  .register-btn{
    position:relative !important;
    z-index:120 !important;
    pointer-events:auto !important;
  }

  .main-nav:not(.open){
    pointer-events:none !important;
  }

  .main-nav.open{
    pointer-events:auto !important;
  }
}
