/* ===== Концепция B «Планета» — светлый дневной космос.
   Палитры (каждая со своей парой шрифтов): logo-plus (по умолчанию, цветные ленты), planet-parade и star-map
   (светлые фоны, яркость — космические элементы .cosmos).
   Токены: --primary/--on-primary — главная кнопка; --sun/--on-sun — жёлтые плашки; --blue — акцент в заголовках и ссылках;
   --edu/--camp/--party — цвета трёх планет; --lilac — только мелкий декор; --dw — насыщенность заголовочного шрифта. ===== */
:root,:root[data-palette="logo-plus"]{
  --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#E9F5FF; --surface-3:#FFF1E3;
  --hero:linear-gradient(180deg,#B9E3FF 0%,#D9F0FF 42%,#F2FAFF 78%,#FFFFFF 100%); --sky-bg:#D9F0FF;
  --ink0:#153C7E; --muted0:#35578C; --line0:rgba(21,60,126,.15); --line-20:rgba(21,60,126,.3);
  --primary0:#E4591A; --primary-hi:#FF8A3D; --on-primary:#FFFFFF; --blue0:#1558B8;
  --sun:#FFC21A; --sun-2:#FFE07A; --sun-ink:#8A5300; --on-sun:#153C7E;
  --edu:#10B2CF; --edu-2:#3BA3F2; --edu-ink:#06687C; --edu-soft:#DEF5FB;
  --camp:#FF7A1A; --camp-2:#FFC21A; --camp-ink:#9A3E00; --camp-soft:#FFEDDC;
  --party:#FF5B5B; --party-2:#FFB3A6; --party-ink:#B3261E; --party-soft:#FFE7E4;
  --lilac:#8FC3FF; --land:#4DB86A; --moon:#F2D48E;
  --glow:rgba(255,160,40,.5); --sh:0 20px 44px -22px rgba(21,60,126,.42); --sh-sm:0 10px 24px -14px rgba(21,60,126,.36);
  --sparks:#FFC21A,#10B2CF,#FF7A1A,#3BA3F2,#FF5B5B;
  --display:"Unbounded","Russo One",system-ui,sans-serif; --dw:800; /* исходная пара концепции B — оставлена по просьбе владельца */
  --text:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;
}
:root[data-palette="planet-parade"]{
  --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#F3F7FF; --surface-3:#FFF6EC;
  --ink0:#173A6B; --muted0:#3E5A80; --line0:rgba(23,58,107,.15); --line-20:rgba(23,58,107,.3);
  --primary0:#E0601F; --primary-hi:#EE8A3C; --on-primary:#FFFFFF; --blue0:#1E5DB8;
  --sun:#EDB23E; --sun-2:#F6D68C; --sun-ink:#7F5200; --on-sun:#173A6B;
  --edu:#3E9BDB; --edu-2:#6DB4E6; --edu-ink:#0F5F8A; --edu-soft:#E6F3FC;
  --camp:#EE8A3C; --camp-2:#EDB23E; --camp-ink:#9A3E00; --camp-soft:#FDEEDF;
  --party:#E8675A; --party-2:#F0A49B; --party-ink:#A8322A; --party-soft:#FCE9E6;
  --land:#4DB86A; --moon:#F2D48E;
  --lilac:#8F7FE0;
  --glow:rgba(238,138,60,.32); --sh:0 20px 44px -22px rgba(23,58,107,.32); --sh-sm:0 10px 24px -14px rgba(23,58,107,.28);
  --sparks:#EDB23E,#3E9BDB,#EE8A3C,#E8675A,#8F7FE0;
  --display:"Nunito","Segoe UI",system-ui,sans-serif; --dw:800;
  --text:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;
}
:root[data-palette="star-map"]{
  --bg:#FFFDF8; --surface:#FFFFFF; --surface-2:#F4F6FF; --surface-3:#FFF6EA;
  --ink0:#1D3563; --muted0:#455A82; --line0:rgba(29,53,99,.15); --line-20:rgba(29,53,99,.3);
  --primary0:#DD5E1A; --primary-hi:#EE8A3C; --on-primary:#FFFFFF; --blue0:#2A58B0;
  --sun:#EDB449; --sun-2:#F6D892; --sun-ink:#7F5200; --on-sun:#1D3563;
  --edu:#4A90E2; --edu-2:#7FB0EA; --edu-ink:#1F5596; --edu-soft:#E8F1FC;
  --camp:#EE8A3C; --camp-2:#EDB449; --camp-ink:#9A3E00; --camp-soft:#FDEEDF;
  --party:#E8677E; --party-2:#F2A5B3; --party-ink:#A62A44; --party-soft:#FCE8EC;
  --land:#3DB889; --moon:#F4D796;
  --mint:#2FC4A0; --lilac:#9A86E8;
  --glow:rgba(237,180,73,.35); --sh:0 20px 44px -22px rgba(29,53,99,.3); --sh-sm:0 10px 24px -14px rgba(29,53,99,.26);
  --sparks:#EDB449,#4A90E2,#EE8A3C,#E8677E,#2FC4A0;
  --display:"Comfortaa","Segoe UI",system-ui,sans-serif; --dw:700;
  --text:"Nunito Sans","Segoe UI",system-ui,-apple-system,sans-serif;
}
:root{
  --wrap:1240px; --gut:clamp(16px,4vw,48px);
  --spring:cubic-bezier(.34,1.56,.64,1);
}
/* цвета секций (color-blocking) */
:root,:root[data-palette="logo-plus"]{
  --hero:linear-gradient(180deg,#5AB5F1 0%,#8DCCF5 100%); --sky-bg:#5AB5F1; --h-ink:#0E3470; --h-em:#8A1C00;
  --b1-bg:#1A5FBF; --b1-ink:#FFFFFF; --b1-muted:#EAF3FF; --b1-em:#FFE38A; --b1-btn:#E4591A;
  --b2-bg:#EE8C3B; --b2-ink:#0F2F66; --b2-muted:#133777; --b2-em:#6E1200; --b2-btn:#1A5FBF;
  --b3-bg:#EDBD2C; --b3-ink:#0F2F66; --b3-muted:#133777; --b3-em:#0F4AA0; --b3-btn:#1A5FBF;
  --b4-bg:#22C1D6; --b4-ink:#0F2F66; --b4-muted:#133777; --b4-em:#6E1200; --b4-btn:#1A5FBF;
  --bf-bg:#1A5FBF; --bf-ink:#FFFFFF; --bf-muted:#EAF3FF; --bf-em:#FFE38A;
}
:root[data-palette="planet-parade"]{
  --hero:linear-gradient(180deg,#E9F3FF 0%,#FFFFFF 100%); --sky-bg:#E9F3FF; --h-ink:var(--ink0); --h-em:var(--blue0);
  --b1-bg:#FFFFFF; --b1-ink:var(--ink0); --b1-muted:var(--muted0); --b1-em:var(--blue0); --b1-btn:var(--primary0);
  --b2-bg:#F3F7FF; --b2-ink:var(--ink0); --b2-muted:var(--muted0); --b2-em:var(--blue0); --b2-btn:var(--primary0);
  --b3-bg:#FFFFFF; --b3-ink:var(--ink0); --b3-muted:var(--muted0); --b3-em:var(--blue0); --b3-btn:var(--primary0);
  --b4-bg:#FFF7EE; --b4-ink:var(--ink0); --b4-muted:var(--muted0); --b4-em:var(--blue0); --b4-btn:var(--primary0);
  --bf-bg:#EEF4FF; --bf-ink:var(--ink0); --bf-muted:var(--muted0); --bf-em:var(--blue0);
}
:root[data-palette="star-map"]{
  --hero:linear-gradient(180deg,#EEF3FF 0%,#FFFDF8 100%); --sky-bg:#EEF3FF; --h-ink:var(--ink0); --h-em:var(--blue0);
  --b1-bg:#FFFDF8; --b1-ink:var(--ink0); --b1-muted:var(--muted0); --b1-em:var(--blue0); --b1-btn:var(--primary0);
  --b2-bg:#F4F6FF; --b2-ink:var(--ink0); --b2-muted:var(--muted0); --b2-em:var(--blue0); --b2-btn:var(--primary0);
  --b3-bg:#FFFDF8; --b3-ink:var(--ink0); --b3-muted:var(--muted0); --b3-em:var(--blue0); --b3-btn:var(--primary0);
  --b4-bg:#FFF6EA; --b4-ink:var(--ink0); --b4-muted:var(--muted0); --b4-em:var(--blue0); --b4-btn:var(--primary0);
  --bf-bg:#F1F4FF; --bf-ink:var(--ink0); --bf-muted:var(--muted0); --bf-em:var(--blue0);
}
:root{--ink:var(--ink0); --muted:var(--muted0); --blue:var(--blue0); --line:var(--line0); --line-2:var(--line-20); --primary:var(--primary0);}
*,*::before,*::after{box-sizing:border-box}
html{color:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:500 17px/1.6 var(--text);overflow-x:hidden}
img{display:block;max-width:100%}
button,input,select,textarea{color:inherit}
svg{fill:currentColor}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:var(--dw);line-height:1.05;letter-spacing:-.01em;margin:0;color:var(--ink)}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sec{padding:clamp(64px,9vw,120px) 0;position:relative}
.alt{background-color:var(--surface-2)}
.warm{background-color:var(--surface-3)}
.h2{font-size:clamp(30px,4.4vw,56px)}
.h2 em{font-style:normal;color:var(--blue)}
.ph{display:inline-block;vertical-align:middle;font:700 10px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--on-sun);background:var(--sun-2);border:1px dashed var(--sun-ink);border-radius:99px;padding:5px 8px;margin-left:6px;white-space:nowrap}
.eyebrow{font:700 13px/1.2 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin:0 0 16px}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--sun),var(--camp))}
.lead{color:var(--muted);font-size:18px;max-width:46ch}
.mut{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:800 15px/1 var(--text);text-decoration:none;border:0;cursor:pointer;padding:16px 26px;border-radius:99px;
  background:var(--primary);color:var(--on-primary);box-shadow:0 12px 28px -12px var(--glow),inset 0 -3px 0 rgba(255,255,255,.35);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px var(--glow)}
.btn.ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line-2)}
.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font:700 13px/1 var(--text);padding:9px 13px;border-radius:99px;background:var(--surface);color:var(--ink);border:1.5px solid var(--line-2)}
.w-kicker{display:block;font:var(--dw) 12px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ci,var(--muted));margin-bottom:14px}
.reveal{transition:opacity .7s ease,transform .7s ease}
.rv-on .reveal:not(.in){opacity:0;transform:translateY(24px)}
.reveal.in{opacity:1;transform:none}
@keyframes spin{to{transform:rotate(360deg)}}
:focus-visible{outline:3px solid var(--edu-2);outline-offset:3px}

/* служебная полоса + палитра */
.svc{background:var(--surface);color:var(--ink);font:600 12.5px/1.3 var(--text);border-bottom:1px solid var(--line);position:relative;z-index:40}
.svc .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding-top:7px;padding-bottom:7px}
.svc nav{display:flex;gap:2px;align-items:center;flex-wrap:wrap}
.svc a{text-decoration:none;padding:4px 8px;border-radius:6px}
.svc a:hover{background:var(--surface-2)}
.svc a[aria-current]{background:var(--sun);color:var(--on-sun)}
.svc .sep{width:1px;height:14px;background:var(--line-2);margin:0 6px}
.pal{display:flex;align-items:center;gap:4px;margin-left:auto}
.pal button{font:700 12px/1 var(--text);color:var(--ink);background:var(--surface);border:1.5px solid var(--line-2);border-radius:99px;padding:6px 10px;cursor:pointer}
.pal button[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}

/* шапка */
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)} /* без backdrop-filter: размытие над анимированным небом пересчитывалось каждый кадр */
.top .wrap{display:flex;align-items:center;gap:16px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:var(--dw) 15px/1.1 var(--display);flex:none}
.logo img{width:64px;height:64px;object-fit:contain}
.logo small{display:block;font:600 11px/1.2 var(--text);color:var(--muted);margin-top:3px}
.mainnav{margin-left:auto}
.lvl1{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
.lvl1>li{position:relative;display:flex;align-items:center}
.lvl1>li>a{font:700 14px/1 var(--text);text-decoration:none;padding:10px;border-radius:99px;white-space:nowrap}
.lvl1>li>a:hover,.lvl1>li>a[aria-current]{color:var(--blue);background:var(--surface-2)}
.dd-t{width:22px;height:32px;border:0;background:none;color:var(--ink);cursor:pointer;margin-left:-8px;padding:0;display:flex;align-items:center;justify-content:center}
.dd-t::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.drop{position:absolute;top:calc(100% + 10px);left:0;min-width:250px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--sh);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50}
.drop::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.dd:hover>.drop,.dd:focus-within>.drop,.dd.open>.drop{opacity:1;visibility:visible;transform:none}
.mega{width:640px;left:-16px}
.mega-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.drop .dt{font:var(--dw) 11px/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--edu-ink);margin:0 0 10px}
.drop ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.drop ul a{display:block;padding:6px 0;text-decoration:none;font-weight:600;font-size:15px;line-height:1.3}
.drop ul a:hover{color:var(--blue);text-decoration:underline}
.mega-foot{display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid var(--line);margin-top:16px;padding-top:14px}
.mega-foot a{font:800 14px/1.3 var(--text);color:var(--blue);text-decoration:none}
.nav-m{display:none}
.top .tel{display:none;font:800 15px/1 var(--text);text-decoration:none;white-space:nowrap}
.top .btn{padding:12px 18px;font-size:14px}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;align-items:center;justify-content:center;padding:0;flex:none}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s,background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded=true] span{background:transparent}
.burger[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}
/* телефон над кнопкой «Записаться»: колонкой, выровнены по центру */
/* кнопка тянется на ширину колонки, а колонка на 20px шире номера — кнопка всегда чуть шире телефона */
.top-act{display:flex;flex-direction:column;align-items:stretch;gap:5px;flex:none}
.top-act .tel{font-size:14px;padding:0 10px;text-align:center}
.top .top-act .btn:not(.ghost){padding:9px 12px;justify-content:center;text-align:center}
@media (min-width:1181px){.top .tel{display:block}}
@media (max-width:1180px){
  .burger{display:flex}
  .top-act{margin-left:auto}
  .mainnav{display:none;position:absolute;left:0;right:0;top:100%;height:calc(100vh - 64px);overflow:auto;background:var(--surface);border-top:1px solid var(--line);padding:8px var(--gut) 48px;margin:0}
  .mainnav.open{display:block}
  body.menu-open{overflow:hidden}
  .lvl1{flex-direction:column;align-items:stretch;gap:0}
  .lvl1>li{flex-wrap:wrap;border-bottom:1px solid var(--line)}
  .lvl1>li>a{flex:1;font-size:18px;padding:16px 0}
  .lvl1>li>a:hover,.lvl1>li>a[aria-current]{background:none}
  .dd-t{width:44px;height:44px;margin:0;border-radius:12px;border:1.5px solid var(--line-2)}
  .dd.open .dd-t::before{transform:translateY(2px) rotate(-135deg)}
  .drop,.mega{position:static;width:100%;min-width:0;opacity:1;visibility:visible;transform:none;display:none;background:none;border:0;box-shadow:none;padding:0 0 18px}
  .dd.open>.drop{display:block}
  .mega-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .nav-m{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}
  .tel-m{font:var(--dw) 22px/1 var(--display);text-decoration:none}
}
@media (max-width:640px){
  .top .wrap{height:64px}
  .logo img{width:52px;height:52px}
  .logo small{display:none}
  .cta-top{display:none}
  .burger{margin-left:auto}
  .mega-cols{grid-template-columns:minmax(0,1fr)}
}

/* небо со звёздами-искрами */
.sky{position:relative;overflow:hidden;background-color:var(--sky-bg);background-image:var(--hero)}
.sky canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sky::after{content:"";position:absolute;right:-12%;top:-30%;width:60%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,var(--glow) 0,rgba(255,255,255,0) 62%)}

/* HERO главной */
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:24px;align-items:center;padding-top:48px;padding-bottom:64px}
.hero .pre{font:700 13px/1.4 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--camp-ink);margin:0 0 18px}
.hero h1{font-size:clamp(32px,4vw,58px)}
.hero h1 span{display:block}
.hero h1 .l2{color:var(--blue)}
.hero .lead{margin:18px 0 30px}
.addr{margin-top:26px;font-size:14px;color:var(--muted);display:flex;gap:8px;align-items:center}
.addr::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--edu);box-shadow:0 0 0 4px var(--edu-soft)}

.system{position:relative;width:100%;max-width:700px;aspect-ratio:1/1;margin-left:auto;--pl:clamp(96px,18%,136px)}
.orbit-ring{position:absolute;left:50%;top:50%;width:94%;height:36%;border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg);border:2px dashed var(--line-2)}
.orbit-ring.r2{width:120%;height:50%;border:1.5px solid var(--line)}
.core{position:absolute;left:50%;top:50%;width:44%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;z-index:5;background:var(--surface);
  box-shadow:0 0 0 10px rgba(255,255,255,.7),0 0 0 11px var(--line),0 0 90px 10px var(--glow)}
.core img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.core .ring{pointer-events:none;position:absolute;inset:-9%;border-radius:50%;border:2px dashed var(--sun);animation:spin 70s linear infinite}
.planet{position:absolute;left:0;top:0;width:var(--pl);aspect-ratio:1;display:block;border-radius:50%;text-decoration:none;color:var(--ink);will-change:transform;transform:translate(-50%,-50%)}
.planet .body{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--surface),0 0 0 7px var(--c),0 14px 40px -10px var(--c)}
.planet .body img{width:100%;height:100%;object-fit:cover}
.planet .body::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.45) 0,rgba(255,255,255,0) 42%)}
.planet .name{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);white-space:nowrap;font:var(--dw) 12px/1.1 var(--display);padding:8px 12px;border-radius:99px;background:var(--surface);border:2px solid var(--c);box-shadow:var(--sh-sm)}
.planet .tip{position:absolute;left:50%;bottom:calc(100% + 14px);transform:translate(-50%,6px);width:220px;padding:12px 14px;border-radius:16px;background:var(--surface);box-shadow:var(--sh);border-top:4px solid var(--c);
  font:600 13px/1.4 var(--text);color:var(--muted);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;pointer-events:none;text-align:left}
.planet .tip b{display:block;color:var(--ink);font:var(--dw) 14px/1.2 var(--display);margin-bottom:4px}
.planet .tip i{display:block;font-style:normal;font-weight:800;color:var(--ci);margin-top:6px}
.planet:hover .tip,.planet:focus-visible .tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.planet:hover .body,.planet:focus-visible .body{box-shadow:0 0 0 4px var(--surface),0 0 0 9px var(--c),0 0 60px 8px var(--c)}
.p-edu{--c:var(--edu);--ci:var(--edu-ink)}
.p-camp{--c:var(--camp);--ci:var(--camp-ink)}
.p-party{--c:var(--party);--ci:var(--party-ink)}
.gasb{background:repeating-linear-gradient(-18deg,var(--camp-2) 0 10%,var(--camp) 10% 19%,var(--sun-2) 19% 25%,var(--camp) 25% 33%,var(--camp-2) 33% 37%)}
.p-camp .ring{position:absolute;left:-26%;right:-26%;top:42%;height:16%;border-radius:50%;border:3px solid var(--camp);transform:rotate(-16deg);pointer-events:none;clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%);z-index:2}
.p-camp .ring.back{clip-path:polygon(0 0,100% 0,100% 50%,0 50%);z-index:0;opacity:.55}
.p-party .moon{position:absolute;width:24%;aspect-ratio:1;border-radius:50%;right:-10%;top:-4%;background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--party-2) 50%,var(--party));box-shadow:0 0 16px var(--party-2);z-index:2}
.hint{position:absolute;top:1%;right:0;font:700 13px/1.3 var(--text);color:var(--muted);display:flex;align-items:center;gap:8px;margin:0}
.hint::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--camp);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}

/* HERO внутренних страниц */
.shero .wrap{position:relative;z-index:1;padding-top:24px;padding-bottom:clamp(56px,7vw,96px)}
.crumbs ol{width:fit-content;max-width:100%;list-style:none;margin:0 0 clamp(26px,4vw,48px);padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:14px;font-weight:600;color:var(--muted)}
.crumbs li+li::before{content:"›";margin-right:6px}
.crumbs a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--line-2)}
.crumbs a:hover{color:var(--blue);border-color:var(--blue)}
.shero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(36px,5vw,72px);align-items:center}
.shero h1{font-size:clamp(30px,4vw,54px)}
.shero .lead{margin:20px 0 28px}
.sfacts{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-wrap:wrap;border-top:1.5px solid var(--line)}
.sfacts li{flex:1 1 110px;padding:16px 16px 0 0}
.sfacts b{display:block;font:var(--dw) clamp(20px,2.3vw,28px)/1.1 var(--display);color:var(--ci)}
.sfacts span{font-size:14px;color:var(--muted)}
.note{margin:12px 0 0}
.illum{position:relative;width:min(100%,480px);aspect-ratio:1;justify-self:end}
.illum .m{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 0 0 8px var(--surface),0 0 0 11px var(--c),0 30px 70px -20px var(--c)}
.illum .m img{width:100%;height:100%;object-fit:cover}
.illum .trail{position:absolute;inset:-8%;border-radius:50%;border:2px dashed var(--c);opacity:.6;animation:spin 80s linear infinite}
.illum .tag{position:absolute;left:50%;bottom:-3%;transform:translateX(-50%);background:var(--surface);color:var(--ink);border:2px solid var(--c);font:var(--dw) 12px/1 var(--display);padding:10px 14px;border-radius:99px;white-space:nowrap;box-shadow:var(--sh-sm)}
.illum .moon{position:absolute;width:22%;aspect-ratio:1;border-radius:50%;left:-4%;top:6%;overflow:hidden;box-shadow:0 0 0 5px var(--surface),0 0 0 7px var(--c)}
.illum .moon img{width:100%;height:100%;object-fit:cover}
.illum .badge{position:absolute;right:-4%;top:-4%;width:clamp(90px,11vw,170px);aspect-ratio:1;border-radius:50%;background:var(--surface);z-index:3;
  box-shadow:0 0 0 6px rgba(255,255,255,.85),0 0 0 8px var(--sun),0 14px 30px -12px var(--glow)}
.illum .badge img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.illum .badge .ring{position:absolute;inset:-14%;border-radius:50%;border:2px dashed var(--sun);animation:spin 60s linear infinite;pointer-events:none}
.t-edu{--c:var(--edu);--ci:var(--edu-ink)} .t-camp{--c:var(--camp);--ci:var(--camp-ink)} .t-party{--c:var(--party);--ci:var(--party-ink)}

/* главная: три планеты */
.w-head{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:end;margin-bottom:clamp(40px,5vw,60px)}
.worlds3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.wp{position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:32px;padding:clamp(24px,2.6vw,34px);padding-top:clamp(150px,13vw,176px);
  background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh);transition:transform .25s}
.wp:hover{transform:translateY(-4px)}
.wp::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 300px at 100% 0%,var(--soft),rgba(255,255,255,0) 70%);pointer-events:none}
.wp-edu{--c:var(--edu);--ci:var(--edu-ink);--soft:var(--edu-soft)}
.wp-camp{--c:var(--camp);--ci:var(--camp-ink);--soft:var(--camp-soft)}
.wp-party{--c:var(--party);--ci:var(--party-ink);--soft:var(--party-soft)}
.wp-planet{position:absolute;top:-40px;right:-40px;width:clamp(170px,15vw,200px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px var(--surface),0 0 0 9px var(--c)}
.wp-planet img{width:100%;height:100%;object-fit:cover}
.wp-planet.gasb{box-shadow:0 0 0 6px var(--surface),0 0 0 9px var(--c)}
.wp h3{font-size:clamp(22px,2.2vw,30px);margin-bottom:12px;position:relative}
.wp p{color:var(--muted);font-size:16px;position:relative}
.wp .w-kicker{position:relative}
.ages{list-style:none;margin:2px 0 22px;padding:0;position:relative;display:grid;gap:8px}
.ages a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 12px;align-items:center;text-decoration:none;padding:10px 12px;border-radius:16px;background:var(--soft);transition:background .2s}
.ages a:hover{background:var(--surface-2)}
.ages b{font:var(--dw) 13px/1 var(--display);color:var(--ci);background:var(--surface);border-radius:99px;padding:7px 9px;grid-row:span 2}
.ages strong{font-size:15px;line-height:1.2}
.ages span{font-size:13px;color:var(--muted);line-height:1.3}
.wp .chips{position:relative;margin:0 0 22px}
.wp .more{position:relative;margin-top:auto;align-self:flex-start}

/* обратный отсчёт */
.countdown{background-color:var(--surface-2);overflow:hidden}
.cd-wrap{position:relative;margin-top:clamp(40px,5vw,64px)}
.cd{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:end;position:relative}
.cd-path{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.cd li{position:relative;display:flex;flex-direction:column;gap:10px;transition:opacity .5s,transform .5s}
.rv-on .cd-wrap:not(.in) .cd li{opacity:0;transform:translateY(20px)}
.cd-wrap.in .cd li{opacity:1;transform:none}
.cd li:nth-child(1){margin-bottom:0}
.cd li:nth-child(2){margin-bottom:44px;transition-delay:.15s}
.cd li:nth-child(3){margin-bottom:88px;transition-delay:.3s}
.cd li:nth-child(4){margin-bottom:132px;transition-delay:.45s}
.cd li:nth-child(5){margin-bottom:176px;transition-delay:.6s}
.cd li:nth-child(6){margin-bottom:220px;transition-delay:.8s}
.cd .num{width:clamp(64px,6vw,84px);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font:var(--dw) clamp(28px,3vw,40px)/1 var(--display);
  background:var(--surface);color:var(--ink);box-shadow:0 0 0 4px var(--c),var(--sh-sm)}
.cd li:nth-child(1){--c:var(--edu-2)} .cd li:nth-child(2){--c:var(--edu)} .cd li:nth-child(3){--c:var(--sun)} .cd li:nth-child(4){--c:var(--camp)} .cd li:nth-child(5){--c:var(--party)}
.cd h3{font-size:17px;line-height:1.2}
.cd p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.5}
.cd .go a{display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(120px,11vw,150px);aspect-ratio:1;border-radius:50%;text-decoration:none;
  background:radial-gradient(circle at 35% 30%,#FFFFFF 0,var(--sun-2) 25%,var(--sun) 70%);color:var(--on-sun);box-shadow:0 0 0 6px var(--surface),0 0 0 9px var(--camp),0 20px 50px -10px var(--glow);transition:transform .25s}
.cd .go a:hover{transform:translateY(-6px) rotate(-4deg)}
.cd .go b{font:var(--dw) clamp(22px,2.2vw,28px)/1 var(--display)}
.cd .go span{font:700 12px/1.2 var(--text);margin-top:6px}

/* превью PRO PARTY */
.pp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.pp-photo{position:relative;aspect-ratio:1;max-width:520px;width:100%}
.pp-photo .m{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 0 0 8px var(--surface),0 0 0 11px var(--party),0 30px 70px -20px var(--party)}
.pp-photo .m img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.pp-photo .sat{position:absolute;right:-4%;bottom:4%;width:34%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px var(--surface),0 0 0 8px var(--sun)}
.pp-photo .sat img{width:100%;height:100%;object-fit:cover}
.brand-pp{display:inline-block;font:var(--dw) 13px/1 var(--display);letter-spacing:.14em;background:var(--party-soft);color:var(--party-ink);border:2px solid var(--party);padding:9px 13px;border-radius:10px;margin-bottom:18px}
.pp-themes{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px}
.pp-themes a{font:var(--dw) 14px/1 var(--display);text-decoration:none;padding:13px 16px;border-radius:99px;background:var(--surface);border:2px solid var(--party);transition:background .2s}
.pp-themes a:hover{background:var(--party-soft)}
.pp-call{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.pp-call .tel{font:var(--dw) clamp(20px,2.2vw,26px)/1 var(--display);text-decoration:none;color:var(--party-ink)}

/* экипаж */
.crew-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(10px,1.6vw,24px)}
.hatch{margin:0;text-align:center}
.hatch .w{width:calc(100% - 20px);margin:10px auto 0;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 5px var(--surface),0 0 0 7px var(--edu-2),var(--sh)}
.hatch .w img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.hatch.cap .w{box-shadow:0 0 0 5px var(--surface),0 0 0 8px var(--sun),var(--sh)}
.hatch figcaption{margin-top:18px;font:700 15px/1.3 var(--text)}
.hatch figcaption span{display:block;font-weight:500;font-size:13px;color:var(--muted);margin-top:4px}

/* о центре */
.about-seo .grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,90px);align-items:center}
.as-side{position:relative;width:100%;max-width:430px}
.as-port{aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 8px var(--surface),0 0 0 11px var(--edu-2),var(--sh)}
.as-port img{width:100%;height:100%;object-fit:cover}
.as-num{position:absolute;right:-4%;bottom:-6%;width:46%;aspect-ratio:1;border-radius:50%;background:var(--sun);color:var(--on-sun);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;box-shadow:0 0 0 6px var(--surface),var(--sh)}
.as-num b{font:var(--dw) clamp(38px,4.6vw,60px)/1 var(--display)}
.as-num>span{font:700 13px/1.25 var(--text);margin-top:4px}
.as-num .ph{margin:6px 0 0;background:var(--surface)}
.as-text .h2{font-size:clamp(28px,3.4vw,46px);margin-bottom:24px}
.as-text p{color:var(--muted)}
.as-text p strong{color:var(--ink)}
.as-text .first{font-size:clamp(18px,1.7vw,21px);line-height:1.5;color:var(--ink);font-weight:600}

/* отзывы */
.rv-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:end;justify-content:space-between;margin-bottom:clamp(32px,4vw,52px)}
.rv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rv.one{grid-template-columns:minmax(0,1fr);max-width:820px}
.rv figure{margin:0;padding:28px;border-radius:28px;background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh-sm);position:relative}
.rv figure::before{content:"“";position:absolute;top:8px;right:22px;font:var(--dw) 90px/1 var(--display);color:var(--c);opacity:.35}
.rv blockquote{margin:0 0 18px;font-size:17px;line-height:1.55}
.rv figcaption{font-weight:700;font-size:14px;color:var(--muted);display:flex;align-items:center;gap:10px}
.rv figcaption i{width:30px;height:30px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--c) 60%)}

/* форма */
.launch{background-color:var(--surface-3);background-image:radial-gradient(700px 420px at 85% 40%,var(--glow),rgba(255,255,255,0) 65%)}
.launch .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.launch .h2{font-size:clamp(30px,4.2vw,54px)}
.launch .lead{margin-top:20px}
form{background:var(--surface);border:1.5px solid var(--line);border-radius:32px;padding:clamp(22px,3.4vw,40px);display:grid;gap:16px;box-shadow:var(--sh)}
label.f{display:grid;gap:8px;font:700 14px/1 var(--text);color:var(--muted)}
input[type=text],input[type=tel]{width:100%;font:600 17px/1.2 var(--text);color:var(--ink);background:var(--surface-2);border:1.5px solid var(--line-2);border-radius:16px;padding:16px 18px;outline:none;transition:border-color .2s}
input::placeholder{color:var(--muted);opacity:1}
input:focus{border-color:var(--blue)}
.consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;font-size:13.5px;line-height:1.45;color:var(--muted);align-items:start}
.consent input{width:22px;height:22px;margin:0;accent-color:var(--blue)}
.consent a{color:var(--ink)}
form .btn{width:100%;padding:18px}
.msg{display:none;padding:14px 16px;border-radius:14px;background:var(--edu-soft);border:1.5px solid var(--edu);font-weight:700;font-size:15px}
.msg.show{display:block}
.msg.err{background:var(--party-soft);border-color:var(--party);color:var(--party-ink)}
.lead-form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.lead-form.is-sending .btn{opacity:.6;pointer-events:none}

/* подвал */
footer{background-color:var(--sky-bg);background-image:var(--hero);padding:clamp(56px,8vw,100px) 0 36px;position:relative;overflow:hidden;border-top:1px solid var(--line)}
.f-top{display:flex;flex-wrap:wrap;align-items:center;gap:24px 40px;margin-bottom:clamp(36px,5vw,56px)}
.f-logo{width:clamp(110px,12vw,150px);height:auto;aspect-ratio:1;object-fit:contain}
.f-top .big{font:var(--dw) clamp(30px,5vw,68px)/1 var(--display);margin:0;max-width:14ch}
.f-top .big span{color:var(--blue)}
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;border-top:1.5px solid var(--line-2);padding-top:30px}
.fgrid h3{font:var(--dw) 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.fgrid p{margin:0 0 6px;font-size:15px}
.fgrid a{text-decoration:none}
.fgrid a:hover{color:var(--blue);text-decoration:underline}
.fgrid .tel{font:var(--dw) 20px/1.3 var(--display)}
.maplink{color:var(--blue);font-weight:800}
.copy{margin-top:40px;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between}

.soon{position:fixed;left:50%;bottom:24px;z-index:100;transform:translate(-50%,16px);max-width:calc(100% - 32px);width:max-content;text-align:center;background:var(--surface);color:var(--ink);
  border:2px solid var(--sun);font:700 14px/1.35 var(--text);padding:12px 18px;border-radius:14px;box-shadow:var(--sh);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.soon.show{opacity:1;transform:translate(-50%,0)}

/* ===== внутренние страницы: общие блоки ===== */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.card{display:flex;flex-direction:column;gap:6px;text-decoration:none;padding:20px;border-radius:26px;background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh-sm);transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-4px);border-color:var(--c)}
.card .th{width:84px;height:84px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--surface),0 0 0 6px var(--c);margin:0 0 12px}
.card .th img{width:100%;height:100%;object-fit:cover}
.card .th.dot{background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--c2,var(--c)) 45%,var(--c))}
.card b{font:var(--dw) 17px/1.2 var(--display)}
.card span{font-size:14.5px;color:var(--muted);line-height:1.45}
.card i{font-style:normal;font-weight:800;font-size:14px;color:var(--ci);margin-top:auto;padding-top:8px}
.age-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.age-nav a{text-decoration:none;font:var(--dw) 14px/1 var(--display);padding:13px 16px;border-radius:99px;background:var(--surface);border:2px solid var(--c);box-shadow:var(--sh-sm)}
.age-nav a small{font:700 12px/1 var(--text);color:var(--muted);margin-left:6px}
.age{scroll-margin-top:90px}
.age+.age{margin-top:clamp(48px,6vw,80px)}
.age-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-bottom:24px}
.age-h h2{font-size:clamp(26px,3.2vw,40px)}
.age-h .yrs{font:var(--dw) 15px/1 var(--display);color:var(--ci);background:var(--soft);padding:9px 13px;border-radius:99px}
.age-h p{flex-basis:100%;margin:0;color:var(--muted)}
.a1{--c:var(--edu-2);--ci:var(--edu-ink);--soft:var(--edu-soft)}
.a2{--c:var(--edu);--ci:var(--edu-ink);--soft:var(--edu-soft)}
.a3{--c:var(--camp);--ci:var(--camp-ink);--soft:var(--camp-soft)}
.a4{--c:var(--party);--ci:var(--party-ink);--soft:var(--party-soft)}

.tlist{list-style:none;margin:clamp(32px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5vw,72px);counter-reset:t}
.tlist li{counter-increment:t;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 20px;padding:22px 0;border-top:1.5px solid var(--line)}
.tlist li::before{content:"";grid-row:span 2;width:18px;height:18px;margin-top:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--c,var(--edu)) 60%);box-shadow:0 0 0 4px var(--soft,var(--edu-soft))}
.tlist h3{font-size:clamp(17px,1.7vw,21px);line-height:1.25}
.tlist p{margin:0;color:var(--muted)}

.steps{list-style:none;margin:clamp(32px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;position:relative}
.steps::before{content:"";position:absolute;left:28px;right:28px;top:27px;border-top:2.5px dashed var(--c,var(--edu))}
.steps li{position:relative}
.steps .n{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--surface);border:3px solid var(--c,var(--edu));font:var(--dw) 16px/1 var(--display);color:var(--ink);margin-bottom:18px;position:relative;box-shadow:var(--sh-sm)}
.steps h3{font-size:19px;margin-bottom:8px}
.steps p{margin:0;color:var(--muted);font-size:15px}

.panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(26px,4vw,56px);border-radius:40px;background:var(--surface);border:2px solid var(--c,var(--edu));box-shadow:var(--sh)}
.dlist{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.dlist li{display:flex;gap:12px;align-items:baseline}
.dlist li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c,var(--edu));flex:none;transform:translateY(-2px)}
.panel-side{display:grid;gap:14px;justify-items:start;padding-left:clamp(0px,3vw,40px);border-left:1.5px solid var(--line-2)}
.panel-side b{display:block;font:var(--dw) clamp(26px,3vw,38px)/1 var(--display)}
.panel-side div span{color:var(--muted);font-size:14px}

.teacher .grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,6vw,80px);align-items:center}
.captain{position:relative;width:clamp(200px,26vw,320px);aspect-ratio:1}
.captain .m{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 0 0 8px var(--surface),0 0 0 11px var(--edu),var(--sh)}
.captain .m img{width:100%;height:100%;object-fit:cover}
.t-name{font:var(--dw) clamp(18px,2vw,24px)/1.35 var(--display);margin:20px 0 12px}
.t-text{color:var(--muted);max-width:52ch}

.plist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pc{padding:28px;border-radius:30px;border:1.5px solid var(--line);background:var(--surface);box-shadow:var(--sh-sm)}
.pc h3{font-size:18px;margin-bottom:16px}
.pc b{display:block;font:var(--dw) clamp(28px,3vw,40px)/1 var(--display);color:var(--ci,var(--edu-ink));margin-bottom:10px}
.pc p{margin:0;color:var(--muted);font-size:15px}
.pc.hot{border:2px solid var(--c,var(--edu));background:var(--soft,var(--edu-soft))}

.band{position:relative;margin:0}
.band .ph-wrap{height:clamp(280px,38vw,480px);border-radius:clamp(24px,4vw,44px);overflow:hidden;box-shadow:var(--sh)}
.band img{width:100%;height:100%;object-fit:cover}
.band figcaption{position:relative;margin:-60px 0 0 clamp(16px,4vw,48px);max-width:min(460px,calc(100% - 32px));background:var(--surface);border-radius:24px;padding:20px 24px;box-shadow:var(--sh);border-left:5px solid var(--c,var(--edu))}
.band figcaption b{display:block;font:var(--dw) clamp(18px,2vw,24px)/1.2 var(--display)}
.band figcaption span{display:block;font-size:14.5px;color:var(--muted);margin-top:6px}

.article .grid{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:clamp(32px,6vw,90px);align-items:start}
.toc{position:sticky;top:100px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a{display:block;padding:9px 0 9px 18px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;font-weight:600;color:var(--muted)}
.toc a:hover{color:var(--ink);border-color:var(--c,var(--edu))}
.prose{max-width:68ch}
.prose h2{font-size:clamp(23px,2.5vw,32px);line-height:1.15;margin:44px 0 16px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--ink);font-size:18px;line-height:1.7;opacity:.92}
.prose a{color:var(--blue);font-weight:700}

.faq .grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,90px);align-items:start}
.faq-list details{border-bottom:1.5px solid var(--line)}
.faq-list details:first-child{border-top:1.5px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font:var(--dw) clamp(16px,1.6vw,19px)/1.3 var(--display)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;background:var(--surface);border:2px solid var(--c,var(--edu));color:var(--ink);display:flex;align-items:center;justify-content:center;font:700 22px/1 var(--text);transition:transform .25s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list p{margin:0 0 22px;color:var(--muted);max-width:62ch}

.olist{list-style:none;margin:clamp(28px,4vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.olist a{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:99px;background:var(--surface);border:1.5px solid var(--line-2);text-decoration:none;font:700 16px/1.2 var(--text);transition:border-color .2s,transform .2s}
.olist a:hover{border-color:var(--c,var(--edu));transform:translateY(-2px)}
.olist i{width:26px;height:26px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--c,var(--edu)) 60%)}
.olist span{margin-left:auto;color:var(--muted)}

/* лагерь */
.seasons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.season{padding:24px;border-radius:28px;background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh-sm);position:relative;overflow:hidden}
.season::after{content:"";position:absolute;right:-26px;top:-26px;width:90px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--c) 60%);opacity:.9}
.season h3{font-size:19px;margin-bottom:6px;max-width:12ch;position:relative}
.season p{margin:0;color:var(--muted);font-size:15px}
.season .d{display:block;font:800 13px/1 var(--text);color:var(--ci);margin-top:14px}
.route{position:relative;margin-top:clamp(40px,5vw,64px)}
.route svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.route ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;position:relative}
.route li:nth-child(even){margin-top:110px}
.route .pin{width:24px;height:24px;border-radius:50%;background:var(--surface);border:5px solid var(--camp);box-shadow:0 0 0 6px var(--camp-soft);margin-bottom:14px}
.route time{font:var(--dw) 20px/1 var(--display);color:var(--camp-ink)}
.route h3{font-size:17px;margin:10px 0 6px}
.route p{font-size:14.5px;color:var(--muted);line-height:1.5;margin:0}
.incl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.collage{position:relative;aspect-ratio:1.1;max-width:540px;width:100%}
.collage .c{position:absolute;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px var(--surface),0 0 0 8px var(--c),var(--sh)}
.collage .c img{width:100%;height:100%;object-fit:cover}
.collage .c1{width:62%;aspect-ratio:1;left:0;top:0;--c:var(--camp)}
.collage .c2{width:42%;aspect-ratio:1;right:2%;top:14%;--c:var(--sun)}
.collage .c3{width:38%;aspect-ratio:1;left:40%;bottom:0;--c:var(--edu)}

/* праздники */
.themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.theme{position:relative;border-radius:30px;overflow:hidden;background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh-sm);display:flex;flex-direction:column}
.theme .img{aspect-ratio:4/3;overflow:hidden}
.theme .img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.theme:hover .img img{transform:scale(1.05)}
.theme .tx{padding:20px 22px 22px}
.theme h3{font-size:19px;margin-bottom:6px}
.theme p{margin:0;color:var(--muted);font-size:15px}
.theme.noimg{background:radial-gradient(260px 200px at 100% 0%,var(--party-soft),var(--surface) 70%)}
.theme.noimg .tx{padding-top:28px}
.formats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--party)}
.formats div{padding:22px 22px 0 0}
.formats b{display:block;font:var(--dw) 18px/1.2 var(--display);margin-bottom:8px}
.formats p{margin:0;font-size:15px;color:var(--muted)}
.pp-phone{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:22px}
.pp-phone a{font:var(--dw) clamp(22px,2.6vw,30px)/1 var(--display);text-decoration:none;color:var(--party-ink)}
.pp-phone small{color:var(--muted);font-size:14px}

/* адаптив */
@media (max-width:1080px){
  .worlds3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wp-edu{grid-column:1/-1}
  .crew-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cd{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px;align-items:start}
  .cd li{margin-bottom:0!important}
  .cd-path{display:none}
  .olist,.seasons,.formats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route ol{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}
  .route li:nth-child(even){margin-top:0}
  .route svg{display:none}
  .themes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hero .wrap,.shero-grid,.about-seo .grid,.launch .grid,.pp,.panel,.teacher .grid,.article .grid,.faq .grid,.incl{grid-template-columns:minmax(0,1fr)}
  .hero .wrap{padding-top:32px;padding-bottom:40px}
  .system{margin:10px auto 60px;max-width:560px}
  .illum{justify-self:center;width:min(86%,420px)}
  .as-side,.pp-photo,.collage{margin:0 auto;max-width:380px}
  .captain{margin:0 auto}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
  .steps::before{display:none}
  .panel-side{border-left:0;padding-left:0;border-top:1.5px solid var(--line-2);padding-top:22px}
  .plist,.rv{grid-template-columns:minmax(0,1fr)}
  .toc{position:static}
}
@media (max-width:640px){
  body{font-size:16px}
  .system{--pl:clamp(78px,24%,110px)}
  .planet .name{font-size:10.5px;padding:6px 9px}
  .planet .tip{display:none}
  .hint{top:auto;bottom:-52px;right:auto;left:0}
  .worlds3,.olist,.seasons,.formats,.themes,.tlist,.steps{grid-template-columns:minmax(0,1fr)}
  .crew-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cd{grid-template-columns:minmax(0,1fr);row-gap:0}
  .cd li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;padding:14px 0;border-bottom:1.5px dashed var(--line-2)}
  .cd .num{grid-row:span 2;width:60px}
  .cd li.go{border:0;padding-top:24px;grid-template-columns:minmax(0,1fr)}
  .cd .go a{width:100%;aspect-ratio:auto;flex-direction:row;gap:12px;padding:18px;border-radius:99px}
  .route ol{grid-template-columns:minmax(0,1fr);row-gap:0;border-left:2.5px dashed var(--camp);margin-left:10px;padding-left:24px}
  .route li{position:relative;padding-bottom:24px}
  .route .pin{position:absolute;left:-38px;top:0;margin:0}
  .as-num{right:0}
  .fgrid{grid-template-columns:minmax(0,1fr)}
  .svc .pal{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal,.cd li{opacity:1;transform:none}
}

/* переключатель концепций A ⇄ B */
.cswitch{display:inline-flex;align-items:center;border-radius:99px;padding:2px;gap:2px;font:700 12px/1 var(--cs-font,inherit)}
.cswitch > *{padding:6px 12px;border-radius:99px;text-decoration:none;color:inherit;white-space:nowrap}
.cswitch a:hover{text-decoration:underline}
.cswitch [aria-current]{cursor:default}
.svc .cswitch{background:var(--surface-2);border:1px solid var(--line)}
.svc .cswitch [aria-current]{background:var(--sun);color:var(--on-sun)}
.svc .cswitch a{padding:6px 12px}

/* ===== этап 3: кнопки, шапка, первый экран, декор ===== */
/* главная кнопка — крупная, яркая, с мягким свечением и «пружинящим» hover */
.btn{transition:transform .35s var(--spring),box-shadow .25s,background-color .2s,color .2s}
.btn:not(.ghost){font-size:19px;background-color:var(--primary);color:var(--on-primary);
  box-shadow:0 14px 30px -12px var(--primary),inset 0 -4px 0 rgba(140,50,0,.2),inset 0 3px 0 rgba(255,255,255,.28)}
.btn:not(.ghost):hover{transform:translateY(-3px) scale(1.03);box-shadow:0 20px 38px -12px var(--primary),inset 0 -4px 0 rgba(140,50,0,.2),inset 0 3px 0 rgba(255,255,255,.28)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.ghost:hover{transform:translateY(-2px)}
.hero .ctas{align-items:center;gap:14px 16px}
.hero .ctas .btn:not(.ghost){min-height:62px;padding:0 34px;font-size:20px;letter-spacing:.005em;
  box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 18%,transparent),0 18px 40px -14px var(--primary),inset 0 -4px 0 rgba(140,50,0,.2),inset 0 3px 0 rgba(255,255,255,.3)}
.hero .ctas .btn:not(.ghost):hover{box-shadow:0 0 0 9px color-mix(in srgb,var(--primary) 20%,transparent),0 24px 46px -14px var(--primary),inset 0 -4px 0 rgba(140,50,0,.2),inset 0 3px 0 rgba(255,255,255,.3)}
/* вторичные кнопки первого экрана: контур, прозрачный фон, меньше веса */
.hero .ctas .btn.ghost{background:transparent;color:var(--muted);font-weight:700;font-size:16px;padding:14px 20px;box-shadow:inset 0 0 0 1.5px var(--line-2)}
.hero .ctas .btn.ghost:hover{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.top .btn,.top .btn:not(.ghost){background:transparent;color:var(--blue);font-weight:700;font-size:15px;padding:11px 18px;box-shadow:inset 0 0 0 1.5px var(--line-2)}
.top .btn:hover,.top .btn:not(.ghost):hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1.5px var(--blue)}

/* шапка: размер логотипа — как до этапа 3 (52px / 44px), только «пружинка» при наведении */
.logo img{transition:transform .5s var(--spring)}
.logo:hover img{transform:rotate(-8deg) scale(1.04)}

/* первый экран: геометрия колонок, орбиты и размер логотипа — как до этапа 3 */
.core{box-shadow:0 0 0 12px rgba(255,255,255,.75),0 0 0 14px var(--sun),0 0 110px 16px var(--glow)}
.core .ring{inset:-11%;border-width:3px}
.orbit-ring{border-color:color-mix(in srgb,var(--edu) 45%,transparent)}
.orbit-ring.r2{border-color:color-mix(in srgb,var(--camp) 35%,transparent)}
/* планеты — главное цветовое пятно: толстое цветное кольцо, цветная тень и заливка-полутень */
.planet .body{box-shadow:0 0 0 4px var(--surface),0 0 0 10px var(--c),0 18px 44px -8px var(--c)}
.planet .body::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 30% 28%,rgba(255,255,255,0) 30%,color-mix(in srgb,var(--c) 70%,transparent) 100%)}
.planet .body::after{z-index:2}
.planet:hover .body,.planet:focus-visible .body{box-shadow:0 0 0 4px var(--surface),0 0 0 12px var(--c),0 0 64px 12px var(--c)}
.planet .name{font-size:13px;background:var(--surface);color:var(--ink);border:0;box-shadow:0 0 0 3px var(--c),var(--sh-sm)}
.gasb{background:repeating-linear-gradient(-18deg,var(--camp-2) 0 10%,var(--camp) 10% 19%,var(--sun-2) 19% 25%,var(--camp) 25% 33%,var(--camp-2) 33% 37%)}
@media (max-width:640px){
  .system{--orbit-rx:.38}
  .planet .name{font-size:11.5px}
  .hero .ctas .btn:not(.ghost){min-height:60px;padding:0 26px;font-size:19px;width:100%}
  .hero .ctas .btn.ghost{width:100%}
}

/* SVG-декор первого экрана: планетки, искры, комета. Не ловит клики, не закрывает текст */
.decor{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.decor svg{position:absolute;overflow:visible;pointer-events:none}
.decor .d-ring{fill:none;stroke-width:3;stroke-linecap:round}
.decor .d-trail{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1 9}
.decor .c-sun{fill:var(--sun)} .decor .c-edu{fill:var(--edu)} .decor .c-edu2{fill:var(--edu-2)} .decor .c-camp{fill:var(--camp)}
.decor .c-party{fill:var(--party)} .decor .c-lilac{fill:var(--lilac)} .decor .c-white{fill:#FFFFFF;opacity:.55}
.decor .s-camp{stroke:var(--camp)} .decor .s-edu{stroke:var(--edu)} .decor .s-party{stroke:var(--party)} .decor .s-sun{stroke:var(--sun)} .decor .s-line{stroke:var(--line-2)}
.dp1{left:1.5%;top:6%;width:clamp(44px,5vw,70px);animation:floatA 9s ease-in-out infinite}
.dp2{left:41%;bottom:5%;width:clamp(38px,4vw,58px);animation:floatB 11s ease-in-out infinite}
.dp3{right:2%;bottom:9%;width:clamp(34px,3.4vw,50px);animation:floatA 13s ease-in-out -4s infinite}
.dcomet{left:calc(50% + 30px);top:1.5%;width:clamp(120px,14vw,210px);animation:cometDrift 14s ease-in-out infinite}
.dstar{width:18px;animation:twinkle 3.2s ease-in-out infinite}
.dstar.s1{left:36%;top:3%} .dstar.s2{left:4%;bottom:14%;width:22px;animation-delay:-1.2s} .dstar.s3{left:46%;top:9%;width:14px;animation-delay:-2s}
.dstar.s4{right:1.2%;top:5%;width:20px;animation-delay:-.6s} .dstar.s5{left:52%;bottom:14%;width:12px;animation-delay:-2.6s} .dstar.s6{right:30%;bottom:3%;width:16px;animation-delay:-1.8s}
@keyframes floatA{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(6px,-12px) rotate(8deg)}}
@keyframes floatB{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-8px,-9px) rotate(-10deg)}}
@keyframes cometDrift{0%,100%{transform:translate(0,0);opacity:.95}50%{transform:translate(14px,6px);opacity:.7}}
@keyframes twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}
.sky.still .decor *{animation-play-state:paused}
/* узкие экраны: орбита под текстом — декор в свободных углах квадрата орбиты (низ героя = 40px отступ + 60px поле орбиты) */
@media (max-width:900px){
  .hero{--sysw:min(560px,calc(100vw - 2 * var(--gut)));--sysl:calc(50% - var(--sysw) / 2)}
  .dp2,.dp3,.dstar.s3,.dstar.s4,.dstar.s5{display:none}
  .dcomet{top:auto;right:auto;left:calc(var(--sysl) + 4px);bottom:calc(var(--hb,100px) + var(--sysw) - 52px);width:110px}
  .dp1{top:auto;left:auto;right:calc(var(--sysl) + 6px);bottom:calc(var(--hb,100px) + 6px);width:40px}
  .dstar.s1{top:auto;right:auto;left:calc(var(--sysl) + 10px);bottom:calc(var(--hb,100px) + var(--sysw) * .75)}
  .dstar.s2{top:auto;right:auto;left:calc(var(--sysl) + 14px);bottom:calc(var(--hb,100px) + 14px)}
}

/* служебная полоса: переключатель палитр с парой шрифтов */
.pal button{display:inline-flex;align-items:baseline;gap:4px;padding:6px 11px;line-height:1.15;text-align:left}
.pal button small{font:600 11px/1.15 var(--text);opacity:.85}
@media (max-width:640px){
  .pal{flex-wrap:wrap;gap:4px;width:100%}
  .pal button{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 9px;font-size:11.5px}
  .pal button small{font-size:10px}
}

/* первый экран: одна главная кнопка, остальное тише и с воздухом */
.hero .lead{margin:18px 0 34px}
.addr{margin-top:34px;font-size:13.5px;font-weight:500}
.addr::before{width:8px;height:8px;box-shadow:0 0 0 3px var(--edu-soft)}
.hint{font:600 12.5px/1.3 var(--text)}
.hint::before{width:7px;height:7px}

/* второй экран «Три планеты»: фото направлений в иллюминаторах-спутниках + декор */
.wp-sats{position:absolute;left:clamp(18px,2vw,28px);top:22px;width:190px;height:128px;pointer-events:none}
.wp-sats .sat{position:absolute;border-radius:50%;overflow:hidden;background:var(--soft);box-shadow:0 0 0 4px var(--surface),0 0 0 7px var(--c),var(--sh-sm)}
.wp-sats .sat img{width:100%;height:100%;object-fit:cover}
.wp-sats .sat.s1{left:0;top:6px;width:92px;aspect-ratio:1}
.wp-sats .sat.s2{left:80px;top:62px;width:62px;aspect-ratio:1;box-shadow:0 0 0 4px var(--surface),0 0 0 6px var(--sun),var(--sh-sm)}
.wp-sats svg{position:absolute;overflow:visible}
.wp-sats .w-ring{left:104px;top:0;width:54px;animation:floatA 10s ease-in-out infinite}
.wp-sats .w-star{width:15px;animation:twinkle 3.4s ease-in-out infinite}
.wp-sats .w-star.a{left:156px;top:58px} .wp-sats .w-star.b{left:62px;top:108px;width:11px;animation-delay:-1.4s}
.wp-sats .d-ring{fill:none;stroke-width:3;stroke-linecap:round}
.wp-sats .c-sun{fill:var(--sun)} .wp-sats .c-c{fill:var(--c)} .wp-sats .c-lilac{fill:var(--lilac)} .wp-sats .c-white{fill:#FFFFFF;opacity:.55}
.wp-sats .s-sun{stroke:var(--sun)} .wp-sats .s-c{stroke:var(--c)}
@media (max-width:360px){.wp-sats{transform:scale(.86);transform-origin:0 0}}

/* ===== color-blocking: каждая секция — насыщенная цветная лента, белые только карточки ===== */
main>section:nth-of-type(4n+2){--bb:var(--b1-bg);--bi:var(--b1-ink);--bm:var(--b1-muted);--be:var(--b1-em);--bp:var(--b1-btn)}
main>section:nth-of-type(4n+3){--bb:var(--b2-bg);--bi:var(--b2-ink);--bm:var(--b2-muted);--be:var(--b2-em);--bp:var(--b2-btn)}
main>section:nth-of-type(4n+4){--bb:var(--b3-bg);--bi:var(--b3-ink);--bm:var(--b3-muted);--be:var(--b3-em);--bp:var(--b3-btn)}
main>section:nth-of-type(4n+5){--bb:var(--b4-bg);--bi:var(--b4-ink);--bm:var(--b4-muted);--be:var(--b4-em);--bp:var(--b4-btn)}
footer{--bb:var(--bf-bg);--bi:var(--bf-ink);--bm:var(--bf-muted);--be:var(--bf-em);--bp:var(--primary0)}
main>section:not(:first-of-type),footer{background-color:var(--bb);background-image:none;color:var(--ink);
  --ink:var(--bi);--muted:var(--bm);--blue:var(--be);--primary:var(--bp);
  --line:color-mix(in srgb,var(--bi) 24%,transparent);--line-2:color-mix(in srgb,var(--bi) 45%,transparent)}
/* небо первого экрана — насыщенное, текст глубокий */
.sky{color:var(--ink);--ink:var(--h-ink);--muted:var(--h-ink);--blue:var(--h-em);--line:color-mix(in srgb,var(--h-ink) 22%,transparent);--line-2:color-mix(in srgb,var(--h-ink) 40%,transparent)}
.hero .pre{color:var(--ink)}
.shero .w-kicker{--ci:var(--ink)}
.sfacts b{color:var(--ink)}
.pp-call .tel,.pp-phone a,.route time{color:var(--blue)}
.route .pin{box-shadow:0 0 0 6px color-mix(in srgb,var(--surface) 40%,transparent)}
.sky::after{background:radial-gradient(circle,rgba(255,236,160,.55) 0,rgba(255,255,255,0) 62%)}
/* белые «островки» на цветных лентах: карточки, плашки, формы — со своими (базовыми) цветами текста */
:is(.wp,.card,form,.rv figure,.pc,.ic,.ptable,.theme,.season,.panel,.band figcaption,.planet .name,.planet .tip,.illum .tag,.chips span,
  .age-nav a,.pp-themes a,.olist a,.steps .n,.cd .num,.btn.ghost,.brand-pp,.age-h .yrs,.drop,.soon),.faq-list summary::after{
  --ink:var(--ink0);--muted:var(--muted0);--blue:var(--blue0);--line:var(--line0);--line-2:var(--line-20);--primary:var(--primary0)}
:where(.wp,.card,form,.rv figure,.pc,.ic,.ptable,.theme,.season,.panel,.band figcaption,.planet .name,.planet .tip,.illum .tag,.chips span,
  .age-nav a,.pp-themes a,.olist a,.steps .n,.cd .num,.btn.ghost,.brand-pp,.age-h .yrs,.drop,.soon){color:var(--ink)}
.hero .ctas .btn.ghost{--ink:var(--h-ink);--muted:var(--h-ink);--line-2:color-mix(in srgb,var(--h-ink) 45%,transparent)}
.btn.ghost{box-shadow:inset 0 0 0 2px var(--line-2),0 8px 20px -12px rgba(20,40,90,.35)}
.age-h .yrs{background:var(--surface)}
.faq-list details{border-color:var(--line)}
/* волна-разделитель: верхний край каждой ленты заходит на предыдущую */
main>section:not(:first-of-type),footer{overflow:visible;overflow-x:clip}
main>section:not(:first-of-type)::before,footer::before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:var(--bb);pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C160 4 320 0 480 12s320 26 480 16 320-30 480-22V40z'/%3E%3C/svg%3E") 0 100%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C160 4 320 0 480 12s320 26 480 16 320-30 480-22V40z'/%3E%3C/svg%3E") 0 100%/100% 100% no-repeat}
.sec[style*="padding-top:0"]{padding-top:clamp(56px,7vw,96px)!important}
@media (max-width:640px){main>section:not(:first-of-type)::before,footer::before{top:-23px;height:24px}}
.card,.olist a,.pp-themes a,.age-nav a{color:var(--ink)}
.prose p{opacity:1}

/* ===== этап 4: планеты-иллюстрации секций (.cosmos, разметка — _src/cosmos.py) — только «Парад планет» и «Звёздная карта».
   Одна проработанная планета на секцию у правого края над контентом (в верхнем поле секции, чуть заходя на предыдущую),
   плюс 2–4 мелких акцента. Верхнее поле секции увеличено ровно под иллюстрацию — контент она не перекрывает. ===== */
.cosmos{display:none;position:absolute;inset:0;z-index:0;pointer-events:none}
.cosmos *{pointer-events:none}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]){--edge:max(var(--gut),calc((100% - var(--wrap)) / 2 + var(--gut)));--up:clamp(18px,2.4vw,30px)}
:root[data-palette="planet-parade"]{--ill:clamp(112px,15vw,200px)}
:root[data-palette="star-map"]{--ill:clamp(96px,12.5vw,165px)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .cosmos{display:block}
:root[data-palette="planet-parade"] .cosmos .sm,:root[data-palette="star-map"] .cosmos .pp{display:none}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]){--iltop:40px}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section{--illk:.78}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:nth-of-type(3n):not(.launch){--illk:1}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section.sec:not(:first-of-type){padding-top:max(clamp(64px,9vw,120px),calc(var(--iltop) + var(--ill) * var(--illk) + 24px))!important}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) :is(main>section:not(:first-of-type),footer)::before{display:none}
main>section:not(:first-of-type)>:not(.cosmos){position:relative;z-index:1}
/* иллюстрация: объём (градиент + блик + тень-полумесяц), детали, контур цветом палитры, мягкая цветная тень */
.ill{position:absolute;top:var(--iltop,40px);right:var(--edge);width:calc(var(--ill) * var(--illk,1));overflow:visible;
  filter:drop-shadow(0 14px 16px color-mix(in srgb,var(--il) 32%,transparent));animation:illFloat 9s ease-in-out infinite}
.ill .s-hi{stop-color:color-mix(in srgb,var(--il) 42%,#FFFFFF)} .ill .s-mid{stop-color:var(--il)} .ill .s-lo{stop-color:color-mix(in srgb,var(--il) 72%,#23407E)}
.ill .shade{fill:color-mix(in srgb,var(--il) 50%,#23407E);opacity:.32}
.ill .gloss{fill:#FFFFFF;opacity:.72}
.ill .rim{fill:none;stroke:color-mix(in srgb,var(--il) 55%,#23407E);stroke-width:2.5}
.ill .ring{fill:none;stroke:var(--il2);stroke-width:8;stroke-linecap:round}
.ill .ring2{fill:none;stroke:color-mix(in srgb,var(--il2) 55%,#FFFFFF);stroke-width:3;stroke-linecap:round}
.ill .band{fill:color-mix(in srgb,var(--il2) 72%,transparent)} .ill .band.b2{fill:rgba(255,255,255,.5)}
.ill .moonlet{fill:var(--il2);stroke:color-mix(in srgb,var(--il2) 60%,#23407E);stroke-width:1.5;animation:twinkle 4s ease-in-out infinite}
.ill .land{fill:var(--il2);stroke:color-mix(in srgb,var(--il2) 60%,#23407E);stroke-width:1.5}
.ill .cloud{fill:#FFFFFF;opacity:.92}
.ill .crater{fill:color-mix(in srgb,var(--il) 65%,#23407E);opacity:.42} .ill .crater-in{fill:color-mix(in srgb,var(--il) 45%,#FFFFFF);opacity:.65}
.ill .ray0{fill:var(--il)} .ill .ray1{fill:var(--il2)}
.ill .rays{transform-box:view-box;transform-origin:100px 100px;animation:spin 60s linear infinite}
.ill .flare{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;opacity:.7} .ill .spot{fill:var(--il2);opacity:.55}
.ill .vortex{fill:color-mix(in srgb,var(--il2) 75%,#FFFFFF);stroke:color-mix(in srgb,var(--il) 55%,#23407E);stroke-width:1.5}
.ill .swirl{fill:none;stroke:color-mix(in srgb,var(--il) 55%,#23407E);stroke-width:1.8;stroke-linecap:round}
.ill .tail{fill:var(--il)} .ill .t1{opacity:.55} .ill .t2{fill:var(--il2);opacity:.5} .ill .t3{opacity:.32} .ill .halo{fill:var(--il2);opacity:.25}
/* «Парад планет»: тонкая цветная орбита-дуга от планеты вниз по боковому полю — к следующей секции */
.cz-orbit{position:absolute;right:max(4px,calc(var(--edge) - 56px));width:min(56px,calc(var(--edge) - 4px));top:calc(var(--iltop,40px) + var(--ill) * var(--illk,1) / 2);bottom:36px;overflow:visible}
.worlds .cz-orbit{display:none} /* карточки направлений выносят свои планеты в боковое поле */
.cz-orbit path{fill:none;stroke:var(--il);stroke-width:2;stroke-dasharray:3 8;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.85}
/* «Звёздная карта»: цветное созвездие у заголовка слева от планеты и комета-разделитель на верхней границе */
.cz-const{position:absolute;right:calc(var(--edge) + var(--ill) + 22px);width:clamp(120px,17vw,230px);overflow:visible;
  top:calc(var(--iltop,40px) + (var(--ill) * var(--illk,1) - clamp(120px,17vw,230px) * .35) / 2)}
.cz-const path{fill:none;stroke:var(--il);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.85}
.cz-const circle{filter:drop-shadow(0 0 3px var(--sun));animation:twinkle 3.8s ease-in-out infinite} .cz-const circle:nth-of-type(2n){animation-delay:-1.9s}
.cz-const .d0{fill:var(--sun)} .cz-const .d1{fill:var(--edu)} .cz-const .d2{fill:var(--party)} .cz-const .d3{fill:var(--mint,var(--camp))}
.cz-comet{position:absolute;top:40px;left:var(--edge);width:clamp(150px,18vw,240px);height:22px;animation:czComet 10s ease-in-out infinite;
  background:radial-gradient(circle at calc(100% - 11px) 50%,#FFFFFF 0 3px,var(--il2) 4px 8px,rgba(255,255,255,0) 9px),
    linear-gradient(90deg,rgba(255,255,255,0) 0,color-mix(in srgb,var(--il) 55%,transparent) 50%,var(--il) 90%,rgba(255,255,255,0) 91%);
  clip-path:polygon(0 42%,90% 6%,100% 0,100% 100%,90% 94%,0 58%)}
/* мелкие акценты — звёздочки рядом с планетой */
.cz-star{position:absolute;width:16px;animation:twinkle 3.4s ease-in-out infinite}
.cz-star.a{top:calc(var(--iltop,40px) + 2px);right:calc(var(--edge) + var(--ill) * var(--illk,1) * 1.04);fill:var(--sun)}
.cz-star.b{top:calc(var(--iltop,40px) + var(--ill) * var(--illk,1) * .62);right:calc(var(--edge) + var(--ill) * var(--illk,1) * 1.12);width:11px;fill:var(--il);animation-delay:-1.6s}
:root[data-palette="star-map"] .cz-star.a{right:calc(var(--edge) - 10px);top:calc(var(--iltop,40px) + var(--ill) * var(--illk,1) - 12px)}
:root[data-palette="star-map"] .cz-star.b{display:none}
/* «Звёздная карта»: маркеры-планетки и значки карточек, фото-иллюминаторы */
:root[data-palette="star-map"] :is(.dlist li,.tlist li)::before{background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--c,var(--edu)) 60%);box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px color-mix(in srgb,var(--sun) 80%,transparent)}
:root[data-palette="star-map"] .olist i{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--sun)}
:root[data-palette="star-map"] :is(.card,.pc){position:relative}
:root[data-palette="star-map"] :is(.card,.pc)::after{content:"";position:absolute;top:16px;right:16px;width:16px;height:16px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--c,var(--camp)) 62%);box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--sun)}
:root[data-palette="star-map"] .band .ph-wrap{box-shadow:0 0 0 6px var(--surface),0 0 0 9px var(--edu),var(--sh)}
:root[data-palette="star-map"] .theme .img{box-shadow:inset 0 -5px 0 var(--sun)}
@keyframes illFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes czComet{0%,100%{opacity:1}50%{opacity:.75}}
.cosmos *{animation-play-state:paused}
.cz-live .cosmos *{animation-play-state:running}
@media (max-width:640px){
  .cz-orbit,.cz-star.b{display:none!important}
  .cz-const{width:110px;top:calc(var(--iltop,40px) + (var(--ill) * var(--illk,1) - 38px) / 2)}
  .cz-comet{width:130px;height:18px}
}

/* ===== появление при прокрутке — игриво (классы ставит site.js). Видно по умолчанию; прячем только при html.rv-on.
   Только transform-свойства (translate/scale/rotate) и opacity; траектория отсчёта — stroke-dashoffset маски. ===== */
.reveal,.rv-on .reveal:not(.in){opacity:1;transform:none}
.rv-on .cd-wrap:not(.in) .cd li{opacity:1;transform:none}
:root{--spring-pop:cubic-bezier(.34,1.56,.64,1);--spring-big:cubic-bezier(.3,1.9,.6,1)}
.rv-on :is(.rvh,.rvl,.rvs,.rvc,.rvn,.rvp).in{transition:opacity .6s ease var(--rvd,0s),translate .8s var(--spring-pop) var(--rvd,0s),
  scale .8s var(--spring-pop) var(--rvd,0s),rotate .8s var(--spring-pop) var(--rvd,0s)}
/* заголовки: подъём 56px + поворот −2° */
.rv-on .rvh:not(.in){opacity:0;translate:0 56px;rotate:-2deg}
/* прочий текст и кнопки: подъём 44px */
.rv-on .rvl:not(.in){opacity:0;translate:0 44px}
/* карточки рядов: поочерёдно слева/справа ±70px */
.rv-on .rvs:not(.in){opacity:0;translate:var(--rx,-70px) 24px}
/* пункты списков: снизу с масштабом .9 */
.rv-on .rvc:not(.in){opacity:0;translate:0 50px;scale:.9}
/* шаги отсчёта «выстреливают»: scale .5 → 1 с перелётом */
.rv-on .rvn.in{transition-timing-function:ease,var(--spring-big),var(--spring-big),var(--spring-big);transition-duration:.45s,.7s,.7s,.7s}
.rv-on .rvn:not(.in){opacity:0;scale:.5;translate:0 30px}
/* фото «впечатываются»: scale .8 + поворот −6° */
.rv-on .rvp:not(.in){opacity:0;scale:.8;rotate:-6deg}
/* траектория отсчёта прорисовывается */
.cd-draw{stroke-dasharray:100;stroke-dashoffset:0}
.drawn .cd-draw{transition:stroke-dashoffset 1.6s cubic-bezier(.45,0,.2,1) .25s}
.rv-on .cd-wrap:not(.drawn) .cd-draw{stroke-dashoffset:100}
/* «Пуск!» — последним, с прыжком и мягким пульсом */
.cd .go a{animation:goPulse 2.6s ease-in-out 2.2s infinite}
@keyframes goPulse{0%,100%{scale:1}50%{scale:1.07}}
/* планеты секций влетают из-за края с поворотом, затем плавают */
.rv-on .rv-cos.in{transition:opacity .9s ease}
.rv-on .rv-cos:not(.in){opacity:0}
.rv-on .rv-cos.in .ill{transition:transform 1.3s cubic-bezier(.3,1.35,.6,1)}
.rv-on .rv-cos:not(.in) .ill{transform:translateX(120px) rotate(70deg)}
@media (prefers-reduced-motion:reduce){:is(.rvh,.rvl,.rvs,.rvc,.rvn,.rvp,.rv-cos){opacity:1!important;translate:none!important;scale:none!important;rotate:none!important}
  .cd-draw{stroke-dashoffset:0!important} .rv-cos .ill{transform:none!important}}

/* ===== этап 5: «Парад планет» и «Звёздная карта» по образцу — ритм «кремовая ↔ глубокая со свечением»,
   полупрозрачные карточки с большой бледной цифрой, оранжевые бейджи, плашки-метки, CTA-баннер «фото → градиент».
   Глубокие секции: каждая третья (main>section:nth-of-type(3n)) и подвал; секция с формой (.launch) — баннер. ===== */
:root[data-palette="planet-parade"]{--cream:#FBF6EC;--cream-2:#F4EBD9;--deep:#1E4FA3;--glow-d:#2658B0;--deep-muted:#F4F8FF;--deep-em:#FFE9B0;--primary0:#E8671C}
:root[data-palette="star-map"]{--cream:#F7F2E8;--cream-2:#F0E7D5;--deep:#127570;--glow-d:#166B7A;--deep-muted:#FFFFFF;--deep-em:#FFF0C4}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:not(:first-of-type){--bb:var(--cream);--bi:var(--ink0);--bm:var(--muted0);--be:var(--blue0);--bp:var(--primary0)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:nth-of-type(3n+1):not(:first-of-type){--bb:var(--cream-2)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) :is(main>section:nth-of-type(3n):not(.launch),footer){
  --bb:var(--deep);--bi:#FFFFFF;--bm:var(--deep-muted);--be:var(--deep-em);--bp:var(--primary0)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) :is(main>section:nth-of-type(3n):not(.launch),footer){
  background-image:radial-gradient(ellipse 60% 80% at 80% 12%,var(--glow-d) 0,var(--deep) 70%)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section.launch{--bb:#FFFFFF}
/* плашка-метка над заголовком */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .eyebrow{display:inline-flex;width:fit-content;font:800 11.5px/1 var(--text);letter-spacing:.12em;
  padding:7px 12px;border-radius:99px;background:color-mix(in srgb,var(--camp) 16%,#FFFFFF);color:var(--camp-ink)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .eyebrow::before{content:none}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) :is(main>section:nth-of-type(3n):not(.launch),footer,.launch .grid) .eyebrow{background:rgba(255,255,255,.08);color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
/* белые карточки на светлых секциях: скругление 14px, тонкая рамка, лёгкая тень */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) :is(.wp,.card,.pc,.theme,.season,.panel,.rv figure,form){border-radius:14px;border:1px solid var(--line0);box-shadow:0 8px 22px -14px rgba(30,50,90,.35)}
/* глубокие секции: карточки полупрозрачные (белый 8% + рамка 18%), текст белый */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:nth-of-type(3n):not(.launch) :is(.wp,.card,.pc,.theme,.season,.panel,.rv figure,.band figcaption,.cd li:not(.go)){
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);box-shadow:none;
  --ink:#FFFFFF;--muted:var(--deep-muted);--blue:var(--deep-em);--ci:var(--deep-em);--line:rgba(255,255,255,.2);--line-2:rgba(255,255,255,.35);color:#FFFFFF}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:nth-of-type(3n):not(.launch) :is(.card i,.season .d,.pc b,.theme h3){color:#FFFFFF}
/* CTA-баннер: фото (полоса слева, на ≤1100px — сверху) плавно перетекает в глубокий градиент; текст; форма — белая карточка ≥380px.
   Фото — псевдоэлемент-ячейка сетки, заходит под скругление карточки отрицательными полями. */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid{--bpad:clamp(20px,3.4vw,44px);position:relative;overflow:hidden;border-radius:18px;
  background-color:var(--deep);background-image:radial-gradient(ellipse 60% 90% at 70% 20%,var(--glow-d) 0,var(--deep) 75%);
  width:calc(100% - 2 * var(--gut));max-width:calc(var(--wrap) - 2 * var(--gut));margin-left:auto;margin-right:auto;
  grid-template-columns:minmax(0,.75fr) minmax(0,1fr) minmax(380px,1.05fr);gap:clamp(20px,2.6vw,36px);padding:var(--bpad);
  box-shadow:0 30px 60px -30px rgba(20,40,90,.55);
  --ink:#FFFFFF;--muted:var(--deep-muted);--blue:var(--deep-em);--line:rgba(255,255,255,.2);--line-2:rgba(255,255,255,.35);color:#FFFFFF}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid::before{content:"";grid-column:1;grid-row:1;align-self:stretch;min-height:220px;pointer-events:none;
  margin:calc(var(--bpad) * -1) 0 calc(var(--bpad) * -1) calc(var(--bpad) * -1);
  background:linear-gradient(90deg,color-mix(in srgb,var(--deep) 0%,transparent) 40%,var(--deep) 100%),var(--cta-photo) 40% 50%/cover no-repeat}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid>div{grid-column:2;grid-row:1}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid>form{grid-column:3;grid-row:1}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .h2{font-size:clamp(28px,3vw,40px);overflow-wrap:normal}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch form{border:0;box-shadow:0 20px 40px -20px rgba(30,50,100,.5);padding:clamp(20px,2.4vw,30px)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch form .btn::after{content:"→";font-weight:800}
@media (min-width:1101px){:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch form .btn{white-space:nowrap;padding-left:18px;padding-right:18px}}
@media (max-width:1100px){
  :root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  :root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid::before{grid-column:1/-1;grid-row:1;min-height:0;height:200px;margin:calc(var(--bpad) * -1) calc(var(--bpad) * -1) 0;
    background:linear-gradient(180deg,color-mix(in srgb,var(--deep) 0%,transparent) 40%,var(--deep) 100%),var(--cta-photo) 50% 45%/cover no-repeat}
  :root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid>div{grid-column:1;grid-row:2}
  :root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid>form{grid-column:2;grid-row:2}
}
@media (max-width:900px){
  :root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid{grid-template-columns:minmax(0,1fr)}
  :root:is([data-palette="planet-parade"],[data-palette="star-map"]) .launch .grid>form{grid-column:1;grid-row:3}
}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .cd .ph{white-space:normal}
/* космос светится на глубоких секциях; на светлых планета у заголовка — меньше */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:nth-of-type(3n):not(.launch) .ill{
  filter:drop-shadow(0 0 18px color-mix(in srgb,var(--il) 70%,transparent)) drop-shadow(0 0 4px rgba(255,255,255,.55))}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:nth-of-type(3n):not(.launch) :is(.cz-star,.cz-const circle){filter:drop-shadow(0 0 6px #FFFFFF)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:nth-of-type(3n):not(.launch) :is(.cz-orbit path,.cz-const path){stroke:#FFFFFF;opacity:.6}

/* форма в баннере: поля не шире карточки (элементы сетки распирались по min-content) */
.launch form{min-width:0}
.launch form > *, .launch form input, .launch form button, .launch form label{min-width:0;max-width:100%}
.launch form input, .launch form button{width:100%}

/* отсчёт 5→1→«Пуск!» — лесенкой во всех палитрах (владелец: «такой вид блока должен быть везде»);
   на глубокой секции двух светлых палитр — светлый текст и траектория */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .countdown .cd h3{color:#FFFFFF}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .countdown .cd p{color:rgba(255,255,255,.86)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .countdown .cd-path path{stroke:rgba(255,255,255,.55)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .countdown .cd .num{background:#FFFFFF;color:var(--ink)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .countdown .cd li{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important;overflow:visible!important}

/* ===== этап 6: первый экран «Парада планет» и «Звёздной карты» — глубокий цветной фон с туманностями, светящаяся орбита ===== */
:root[data-palette="planet-parade"]{--hd:#1E4FA3;--hg:#2658B0;--neb1:color-mix(in srgb,var(--camp) 26%,var(--hd));--neb2:color-mix(in srgb,var(--sun) 26%,var(--hd));--neb3:color-mix(in srgb,var(--edu) 26%,var(--hd));--hero-em:#FFD66B}
:root[data-palette="star-map"]{--hd:#0F6660;--hg:#14707A;--neb1:color-mix(in srgb,var(--camp) 22%,var(--hd));--neb2:color-mix(in srgb,var(--party) 26%,var(--hd));--neb3:color-mix(in srgb,var(--mint) 14%,var(--hd));--hero-em:#FFD98A}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]){--h-ink:#FFFFFF;--h-em:var(--hero-em);--sparks:#FFFFFF,#FFE8A8,#FFD2AE,#CDE8FF,#FFF6D8}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .sky{background-color:var(--hd);
  background-image:radial-gradient(closest-side circle at 16% 22%,var(--neb1),color-mix(in srgb,var(--hd) 0%,transparent)),
    radial-gradient(closest-side circle at 88% 78%,var(--neb2),color-mix(in srgb,var(--hd) 0%,transparent)),
    radial-gradient(closest-side circle at 70% 18%,var(--neb3),color-mix(in srgb,var(--hd) 0%,transparent)),
    radial-gradient(ellipse 80% 90% at 60% 40%,var(--hg) 0,var(--hd) 75%);
  background-size:70% 90%,60% 80%,55% 70%,100% 100%;background-repeat:no-repeat;background-position:0 0,100% 100%,90% 0,0 0;
  --muted:color-mix(in srgb,#FFFFFF 92%,var(--hd));--line:rgba(255,255,255,.25);--line-2:rgba(255,255,255,.5)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .sky::after{content:none}
/* текст: плашка-надзаголовок, белый H1 с акцентной второй строкой, лид 85%, тихие адрес и подсказка */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .hero .pre{display:inline-flex;width:fit-content;padding:7px 14px;border-radius:99px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);color:#FFFFFF}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .sky .lead{color:color-mix(in srgb,#FFFFFF 92%,var(--hd))}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .sky :is(.addr,.hint){color:color-mix(in srgb,#FFFFFF 92%,var(--hd));opacity:1}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .sky h1{text-shadow:0 2px 24px color-mix(in srgb,var(--hd) 70%,transparent)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .crumbs a{border-color:rgba(255,255,255,.4)}
/* кнопки первого экрана: оранжевая со свечением, телефон — светлый контур */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .hero .ctas .btn:not(.ghost){box-shadow:0 0 0 6px color-mix(in srgb,var(--primary0) 25%,transparent),0 0 44px 8px color-mix(in srgb,var(--primary0) 55%,transparent),inset 0 -4px 0 rgba(140,50,0,.25)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .hero .ctas .btn.ghost{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .hero .ctas .btn.ghost:hover{box-shadow:inset 0 0 0 1.5px #FFFFFF}
/* орбита: логотип светится, орбиты светлые пунктирные, планеты насыщенные со свечением, декор ярче */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .core{box-shadow:0 0 0 12px rgba(255,255,255,.18),0 0 0 14px var(--sun),0 0 80px 26px color-mix(in srgb,var(--sun) 55%,transparent),0 0 160px 50px color-mix(in srgb,var(--camp) 30%,transparent)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .core .ring{border-color:rgba(255,236,170,.85)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .orbit-ring{border-color:rgba(255,255,255,.55)} :root:is([data-palette="planet-parade"],[data-palette="star-map"]) .orbit-ring.r2{border-color:rgba(255,255,255,.3)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .planet .body{box-shadow:0 0 0 4px rgba(255,255,255,.9),0 0 0 10px var(--c),0 0 46px 10px color-mix(in srgb,var(--c) 70%,transparent)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .illum .m{box-shadow:0 0 0 8px rgba(255,255,255,.9),0 0 0 11px var(--c),0 0 70px 14px color-mix(in srgb,var(--c) 60%,transparent)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .illum .trail{border-color:rgba(255,255,255,.55)}
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) .sky .decor svg{filter:drop-shadow(0 0 10px rgba(255,255,255,.45))}
/* плавный переход к следующей светлой секции — волна */
:root:is([data-palette="planet-parade"],[data-palette="star-map"]) main>section:nth-of-type(2)::before{display:block}

/* ===== главная, первый экран (пожелание клиента 27.09): минимум слов — заголовок, одна кнопка,
   живые планеты и бегущая лента фото счастливых детей. Абзац и адрес переехали в блок «Три планеты» ===== */
.hero.home .wrap{padding-bottom:12px}
.hero.home h1{font-size:clamp(40px,5vw,68px);line-height:1.02}
/* орбита по высоте экрана: заголовок, кнопка, планеты и лента помещаются в первый экран */
.hero.home .wrap{padding-top:24px}
.hero.home .system{max-width:min(700px,calc(100svh - 360px))}
.hero.home .ctas{margin-top:clamp(24px,3vw,40px)}
.joy{--jd:clamp(84px,9.5vw,150px);--jg:clamp(16px,2.2vw,32px);position:relative;z-index:1;overflow:hidden;padding:22px 0 clamp(30px,4vw,52px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.joy-track{display:flex;width:max-content;animation:joyRun 70s linear infinite}
.joy:hover .joy-track,.sky.still .joy-track{animation-play-state:paused}
.joy ul{display:flex;align-items:flex-start;gap:var(--jg);margin:0;padding:0 calc(var(--jg) / 2);list-style:none}
.joy li{--c:var(--edu);flex:none;width:var(--jd);aspect-ratio:1;border-radius:50%;overflow:hidden;
  box-shadow:0 0 0 4px #FFFFFF,0 0 0 8px var(--c),0 14px 34px -10px var(--c);transition:transform .45s var(--spring)}
.joy li:nth-child(even){margin-top:calc(var(--jd) * .22)}
.joy li:nth-child(4n+2){--c:var(--camp)} .joy li:nth-child(4n+3){--c:var(--party)} .joy li:nth-child(4n+4){--c:var(--sun)}
.joy li:hover{transform:scale(1.1) rotate(-5deg)}
.joy img{display:block;width:100%;height:100%;object-fit:cover}
@keyframes joyRun{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.joy{overflow-x:auto}}
.w-lead{max-width:640px;margin:14px 0 0;color:var(--muted)}
@media (max-width:900px){
  /* низ героя = отступ .wrap + поле орбиты + лента: от него считается декор в углах орбиты */
  .hero.home{--hb:calc(20px + var(--jd,84px) * 1.22 + 52px)}
  .hero.home .wrap{padding-top:20px;padding-bottom:12px}
  .hero.home .ctas{margin-top:20px}
  .hero.home .system{max-width:min(330px,calc(100svh - 420px));margin:10px auto 8px}
  .hero.home .hint{display:none}
}

/* ===== варианты первого экрана главной (hero-1…4) — общие: контакты, переключатель вариантов ===== */
.hero .hc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:22px 0 0;font:600 14.5px/1.3 var(--text)}
.hc-tel{color:#FFFFFF;text-decoration:none;font-weight:800;font-size:17px;white-space:nowrap}
.hc-tel:hover{text-decoration:underline}
.hc-addr{color:color-mix(in srgb,#FFFFFF 86%,var(--hd))}
.hc-tel::before,.hc-addr::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:9px;vertical-align:.12em;
  background:var(--sun);box-shadow:0 0 0 3px color-mix(in srgb,var(--sun) 30%,transparent)}
.hc-addr::before{background:var(--edu);box-shadow:0 0 0 3px color-mix(in srgb,var(--edu) 30%,transparent)}
.hero .pre{margin-bottom:16px}
.hero:is(.v2,.v4) .ctas{margin-top:clamp(22px,2.6vw,34px)}
@media (max-width:900px){
  .hero.home .system{max-width:min(330px,calc(100svh - 470px));min-width:240px}
  .hero .hc{margin-top:16px;gap:6px 16px;font-size:13.5px}
}

/* ----- вариант 2: фото во весь экран — слайд-шоу с наездом, текст на градиенте, три планеты-направления ----- */
.hero.v2{min-height:min(calc(100svh - 64px),880px);display:flex;align-items:flex-end}
.v2-slides{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--hd)}
.v2-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:v2show 24s linear infinite}
.v2-slides img:nth-child(2){animation-delay:6s} .v2-slides img:nth-child(3){animation-delay:12s} .v2-slides img:nth-child(4){animation-delay:18s}
.v2-slides::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,color-mix(in srgb,var(--hd) 90%,transparent) 0,color-mix(in srgb,var(--hd) 55%,transparent) 45%,transparent 75%),
             linear-gradient(0deg,color-mix(in srgb,var(--hd) 75%,transparent) 0,transparent 45%)}
@keyframes v2show{0%{opacity:0;transform:scale(1.02)}4%{opacity:1}25%{opacity:1}30%{opacity:0;transform:scale(1.12)}100%{opacity:0;transform:scale(1.12)}}
.hero.v2 .wrap{width:100%;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;padding-top:clamp(110px,20vh,240px);padding-bottom:clamp(40px,6vh,72px)}
.hero.v2 h1{font-size:clamp(40px,5.4vw,76px);line-height:1.02}
.v2-worlds{display:flex;justify-content:flex-end;align-items:flex-end;gap:clamp(14px,2vw,28px)}
.v2-w{display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;animation:floatA 7s ease-in-out infinite}
.v2-w:nth-child(2){margin-bottom:40px;animation-delay:-2.3s} .v2-w:nth-child(3){animation-delay:-4.6s}
.v2-ph{width:clamp(80px,8.4vw,128px);aspect-ratio:1;border-radius:50%;overflow:hidden;transition:transform .45s var(--spring);
  box-shadow:0 0 0 4px #FFFFFF,0 0 0 9px var(--c),0 0 44px 8px var(--c)}
.v2-ph img{display:block;width:100%;height:100%;object-fit:cover}
.v2-w:hover .v2-ph,.v2-w:focus-visible .v2-ph{transform:scale(1.1) rotate(-4deg)}
.v2-w b{padding:7px 12px;border-radius:99px;background:#FFFFFF;color:#1E2A44;font:800 13px/1 var(--text);box-shadow:0 0 0 3px var(--c)}
@media (max-width:900px){
  .hero.v2{min-height:0;display:block}
  .v2-slides::after{background:linear-gradient(0deg,var(--hd) 0,color-mix(in srgb,var(--hd) 88%,transparent) 42%,transparent 78%)}
  .hero.v2 .wrap{grid-template-columns:minmax(0,1fr);padding-top:20px;padding-bottom:36px}
  .v2-worlds{order:-1;justify-content:center;margin-bottom:clamp(110px,20svh,220px)}
  .v2-w:nth-child(2){margin-bottom:22px}
  .v2-ph{width:72px}
}
@media (prefers-reduced-motion:reduce){.v2-slides img:first-child{opacity:1}}

/* ----- вариант 3: вселенная в центре — логотип-солнце, три планеты и кольцо фото-спутников ----- */
.hero.v3 .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:26px;padding-bottom:40px}
.hero.v3 .pre{margin-inline:auto}
.hero.v3 h1{font-size:clamp(36px,4.4vw,62px);line-height:1.05}
.hero.v3 h1 span{display:inline}
.v3-stage{--st:clamp(300px,calc(100svh - 420px),640px);position:relative;width:min(var(--st),100%);aspect-ratio:1;margin:6px auto 0}
.v3-stage .system{position:absolute;inset:17%;width:auto;max-width:none;margin:0}
.hero.v3 .hint,.hero.v3 .decor :is(.dcomet,.dp2){display:none}
.v3-moons{position:absolute;inset:0;pointer-events:none;animation:v3spin 110s linear infinite}
.v3-moons::before{content:"";position:absolute;inset:6.5%;border-radius:50%;border:1.5px dashed rgba(255,255,255,.35)}
.v3-moons span{--c:var(--edu);position:absolute;left:43.5%;top:43.5%;width:13%;aspect-ratio:1;border-radius:50%;overflow:hidden;
  transform:rotate(calc(var(--i) * 45deg)) translateY(-334%) rotate(calc(var(--i) * -45deg));
  box-shadow:0 0 0 3px #FFFFFF,0 0 0 7px var(--c),0 0 30px 4px var(--c)}
.v3-moons span:nth-child(4n+2){--c:var(--camp)} .v3-moons span:nth-child(4n+3){--c:var(--party)} .v3-moons span:nth-child(4n+4){--c:var(--sun)}
.v3-moons img{display:block;width:100%;height:100%;object-fit:cover;animation:v3spin 110s linear infinite reverse}
@keyframes v3spin{to{transform:rotate(360deg)}}
.v3-cta{display:flex;flex-direction:column;align-items:center;margin-top:4px}
.hero.v3 .hc{justify-content:center}
@media (max-width:900px){
  .hero.v3 .wrap{padding-top:18px;padding-bottom:28px}
  .hero.v3 .decor :is(.dp1,.dp3){display:none}
  .v3-stage{--st:calc(100vw - 2 * var(--gut))}
}

/* ----- вариант 4: три иллюминатора-арки с фото направлений; по очереди «раскрываются», при наведении — выбранная ----- */
.hero.v4 .wrap{grid-template-columns:minmax(0,11fr) minmax(0,13fr);align-items:center;gap:clamp(24px,4vw,64px);padding-top:32px;padding-bottom:52px}
.hero.v4 h1{font-size:clamp(38px,3.9vw,58px);line-height:1.02}
.v4-doors{display:flex;gap:clamp(12px,1.5vw,20px);height:clamp(340px,calc(100svh - 240px),600px);padding:9px}
.door{position:relative;flex:1 1 0;min-width:0;overflow:hidden;text-decoration:none;color:#FFFFFF;
  border-radius:50% 50% 24px 24px / 20% 20% 24px 24px;
  box-shadow:0 0 0 4px #FFFFFF,0 0 0 9px var(--c),0 26px 50px -20px var(--c);
  transition:flex-grow .7s var(--spring);animation:doorPulse 15s ease-in-out infinite}
.door:nth-child(2){animation-delay:-10s} .door:nth-child(3){animation-delay:-5s}
@keyframes doorPulse{0%,28%{flex-grow:2.3}38%,90%{flex-grow:1}100%{flex-grow:2.3}}
.v4-doors:hover .door{animation:none;flex-grow:1}
.v4-doors .door:hover,.v4-doors .door:focus-visible{flex-grow:2.6}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.door:hover img{transform:scale(1.06)}
.door::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,24,60,.78) 0,rgba(12,24,60,0) 48%)}
.door-t{position:absolute;left:0;right:0;bottom:22px;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 10px;text-align:center}
.door-t b{padding:7px 13px;border-radius:99px;background:#FFFFFF;color:#1E2A44;font:800 clamp(13px,1.1vw,15px)/1 var(--text);box-shadow:0 0 0 3px var(--c);white-space:nowrap}
.door-t i{font:600 13px/1.25 var(--text);font-style:normal;opacity:.92}
@media (max-width:900px){
  .hero.v4 .wrap{grid-template-columns:minmax(0,1fr);padding-top:20px;padding-bottom:32px}
  .v4-doors{height:clamp(230px,34svh,340px);padding:9px 6px}
  .door-t{bottom:14px}
  .door-t i{display:none}
  .door-t b{font-size:11.5px;padding:6px 9px}
}

/* ===== мобильная версия «как приложение» (30.09): соцсети в шапке, нижнее меню из 5 кнопок ===== */
.soc{display:none;align-items:center;gap:8px;margin-left:auto}
.soc a{--sc:#0077FF;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#FFFFFF;background:var(--sc);
  box-shadow:0 6px 14px -6px var(--sc);transition:transform .3s var(--spring)}
.soc .s-tg{--sc:#2AA3E0} .soc .s-wa{--sc:#25D366}
.soc a:active{transform:scale(.9)}
.soc svg{width:21px;height:21px}
.tabbar{display:none}
@media (max-width:900px){
  :root{--tabh:64px}
  .soc{display:flex}
  .top .burger,.top .top-act{display:none}
  body{padding-bottom:calc(var(--tabh) + env(safe-area-inset-bottom))}
  .mainnav{height:calc(100vh - 64px - var(--tabh) - env(safe-area-inset-bottom))}
  .soon{bottom:calc(var(--tabh) + 16px + env(safe-area-inset-bottom))}
  .tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:40;
    height:calc(var(--tabh) + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);
    background:rgba(255,255,255,.97);border-radius:20px 20px 0 0;box-shadow:0 -1px 0 var(--line0,#E3E8F2),0 -10px 28px -14px rgba(20,40,90,.35)}
  .tabbar>*{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:var(--tabh);padding:0;border:0;background:none;
    font:700 10.5px/1.1 var(--text);color:#5B6477;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .tabbar [aria-current],.tabbar [aria-expanded="true"]{color:#1E4FA3}
  .tabbar [aria-current] svg,.tabbar [aria-expanded="true"] svg{stroke-width:2.3}
  .tabbar>*:active{transform:scale(.94)}
  /* «Записаться» — круглая кнопка, приподнята над панелью */
  .tabbar .fab{justify-content:flex-end;padding-bottom:9px;color:#E8671C}
  .tabbar .fab i{display:grid;place-items:center;width:58px;height:58px;margin-top:-30px;border-radius:50%;background:#E8671C;color:#FFFFFF;
    box-shadow:0 0 0 5px #FFFFFF,0 12px 24px -8px #E8671C;animation:fabPulse 2.8s ease-in-out infinite}
  .tabbar .fab svg{width:28px;height:28px}
}
@keyframes fabPulse{0%,100%{box-shadow:0 0 0 5px #FFFFFF,0 12px 24px -8px #E8671C}50%{box-shadow:0 0 0 5px #FFFFFF,0 0 0 11px rgba(232,103,28,.22),0 12px 24px -8px #E8671C}}

/* ---- «Волна» 30.09: инфо-карточки (контакты, реквизиты, условия) и таблица цен — общие компоненты ---- */
.igrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(28px,4vw,44px)}
.ic{min-width:0;padding:26px;border-radius:30px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}
.ic h3{font-size:18px;margin-bottom:12px}
.ic p{margin:0 0 6px;color:var(--muted);font-size:15px;overflow-wrap:anywhere}
.ic p:last-child{margin-bottom:0}
.ic a{color:var(--ink);font-weight:800}
.ic .big{display:block;font:var(--dw) clamp(20px,1.9vw,25px)/1.2 var(--display);color:var(--ci,var(--edu-ink));text-decoration:none;margin-bottom:8px}
.ic.hot{border:2px solid var(--c,var(--edu));background:var(--soft,var(--edu-soft))}
.ptable{width:100%;border-collapse:separate;border-spacing:0;margin-top:clamp(24px,3vw,36px);background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--sh-sm)}
.ptable th,.ptable td{padding:16px 22px;text-align:left;vertical-align:top;border-bottom:1.5px solid var(--line)}
.ptable thead th{font:800 13px/1.3 var(--text);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--soft,var(--edu-soft))}
.ptable tbody tr:last-child td{border-bottom:0}
.ptable td.num{font-weight:800;white-space:nowrap;text-align:right}
.ptable td small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.ptable-note{margin:14px 0 0;font-size:15px;opacity:.85}
.olist a[data-soon]{opacity:.75}
@media (max-width:900px){.igrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.igrid{grid-template-columns:minmax(0,1fr)}.ptable th,.ptable td{padding:14px 16px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* 30.09: векторный логотип (глобус с надписью, прозрачный фон) — в круглых значках на белой подложке; отступ ≥14,6% (квадрат вписан в круг), иначе круг режет углы надписи */
.illum .badge img{padding:16%;border-radius:0;box-sizing:border-box}
.f-logo{background:radial-gradient(circle closest-side,#FFFFFF calc(100% - 1px),transparent 100%);border-radius:0;padding:calc(clamp(110px,12vw,150px) * .16);box-sizing:border-box;filter:drop-shadow(0 10px 14px rgba(10,30,80,.35))}  /* круг — фоном: border-radius у картинки режет само изображение по внутреннему кругу */
/* 30.09: всплывающее окно с формой заявки (.lead-modal) — общий компонент, форма внутри со своими базовыми стилями */
.lead-modal{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:clamp(26px,4vw,40px);border:0;border-radius:32px;
  background:var(--surface);color:var(--ink0,var(--ink));box-shadow:0 40px 80px -30px rgba(10,30,80,.6);overscroll-behavior:contain}
.lead-modal::backdrop{background:rgba(14,32,84,.62);backdrop-filter:blur(4px)}
.lead-modal[open]{animation:lmIn .35s var(--spring,ease-out)}
@keyframes lmIn{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
.lead-modal .h2{font-size:clamp(26px,3.4vw,36px);margin:10px 44px 10px 0}
.lead-modal .lm-lead{margin:0 0 22px;color:var(--muted0,var(--muted))}
.lead-modal form{padding:0;border:0;box-shadow:none;background:none;border-radius:0}
.lead-modal .lm-x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface-2);
  color:var(--ink);font:400 28px/1 var(--text);cursor:pointer;display:grid;place-items:center}
.lead-modal .lm-x:hover{border-color:var(--blue)}
html:has(.lead-modal[open]){overflow:hidden}   /* страница под окном не прокручивается; снимается само при закрытии */
@media (prefers-reduced-motion:reduce){.lead-modal[open]{animation:none}}
