/* Сайт школы «Чемпион». Бренд: графит, циан, Comfortaa для заголовков, Manrope для текста.
   Один акцент (циан), одна шкала скруглений (--r), светлая и тёмная схема по системной настройке. */
@font-face{font-family:'Manrope';font-weight:400 800;font-display:swap;src:url(/fonts/manrope-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BD,U+2122,U+2212}
@font-face{font-family:'Comfortaa';font-weight:300 700;font-display:swap;src:url(/fonts/comfortaa-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Comfortaa';font-weight:300 700;font-display:swap;src:url(/fonts/comfortaa-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BD,U+2122,U+2212}

:root{
  --ink:#09161D; --ink-2:#33434C; --ink-3:#566771;
  --bg:#F4F7F8; --surface:#FFFFFF; --surface-2:#EAF0F2; --line:#D6DFE3;
  --accent:#1ABBD2; --accent-2:#13A6BC; --accent-ink:#0A7486; --accent-soft:#E1F5F8; --on-accent:#09161D;
  --danger:#B81C39; --ok:#17744B;
  --r:14px; --wrap:1240px; --gut:clamp(16px,4vw,40px);
  --font-d:'Comfortaa','Manrope',system-ui,sans-serif; --font-b:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 1px 0 rgba(9,22,29,.04),0 18px 40px -22px rgba(9,40,52,.28);
  --invert:0;
}
@media (prefers-color-scheme:dark){
  :root{
    --ink:#EAF1F3; --ink-2:#B9C7CE; --ink-3:#8FA2AC;
    --bg:#0A1317; --surface:#111D23; --surface-2:#172830; --line:#22343D;
    --accent-ink:#62D7EA; --accent-soft:#10343B; --danger:#FF7A90; --ok:#4FD08F;
    --shadow:0 1px 0 rgba(255,255,255,.03),0 18px 40px -22px rgba(0,0,0,.7);
    --invert:1;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--font-b);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--font-d);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0}
p{margin:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.icon{width:1.25em;height:1.25em;fill:currentColor;flex:none;vertical-align:-.22em}
:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px;border-radius:6px}
::selection{background:var(--accent);color:var(--on-accent)}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:var(--r);z-index:100}
.skip:focus{top:12px}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r);border:1.5px solid transparent;
  font-weight:800;font-size:16px;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),background .2s,border-color .2s,box-shadow .25s var(--ease)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-2);box-shadow:0 14px 28px -14px rgba(19,166,188,.8);transform:translateY(-2px)}
.btn-line{border-color:var(--ink);background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--bg)}
.btn-sm{min-height:42px;padding:0 18px;font-size:15px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.link{color:var(--accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}

/* шапка */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.stuck{border-bottom-color:var(--line)}
.nav-in{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:34px;width:auto}
.nav-links{display:flex;gap:26px;margin-left:12px}
.nav-links a{font-weight:700;font-size:15px;text-decoration:none;color:var(--ink-2);padding:6px 0;position:relative;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
.nav-links a:hover::after,.nav-links a[aria-current]::after{transform:scaleX(1)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.nav-tel{font-weight:800;text-decoration:none;font-size:15px;white-space:nowrap}
.nav-tel:hover{color:var(--accent-ink)}
.burger{display:none;width:46px;height:46px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface);align-items:center;justify-content:center;cursor:pointer}
.menu{display:none}
@media (max-width:1080px){.nav-links{display:none}.nav-tel{display:none}.burger{display:inline-flex}}
@media (max-width:420px){.nav-right .btn{display:none}}
.menu[data-open]{display:flex;position:fixed;inset:68px 0 0 0;z-index:49;background:var(--bg);flex-direction:column;padding:12px var(--gut) 32px;gap:4px;overflow:auto}
.menu a{font-family:var(--font-d);font-weight:700;font-size:26px;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line)}
.menu .btn{margin-top:20px;font-family:var(--font-b);font-size:17px}

/* главный экран */
.hero{position:relative;padding:clamp(20px,3vw,40px) 0 clamp(36px,5vw,72px);overflow:clip}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(20px,4vw,64px);align-items:center;min-height:min(640px,calc(100dvh - 140px))}
.hero h1{font-size:clamp(36px,4.7vw,66px);letter-spacing:-.035em;line-height:1.04;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--accent-ink);white-space:nowrap}
.hero .lede{margin-top:22px;font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:34ch}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-art{position:relative;aspect-ratio:1/1.02}
.hero-art .stripe{position:absolute;right:-6%;top:6%;bottom:-3%;width:30%;background:var(--accent);clip-path:polygon(34% 0,100% 0,66% 100%,0 100%);opacity:.95}
.hero-art .main{position:absolute;inset:0 0 0 8%;border-radius:var(--r);overflow:hidden;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}
.hero-art .main img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.08)}
.hero-art .minor{position:absolute;left:0;bottom:-4%;width:46%;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;border:6px solid var(--bg);box-shadow:var(--shadow)}
.hero-art .minor img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-art{aspect-ratio:1/.92;margin-top:8px}
  .hero-art .main{inset:0 0 0 0}
  .hero-art .stripe{right:-4%}
  .hero-art .minor{width:44%;bottom:-6%}
}

/* показатели */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,3vw,48px);padding:clamp(28px,4vw,52px) 0;border-top:1px solid var(--line);margin-top:clamp(24px,4vw,56px)}
.fact b{display:block;font-family:var(--font-d);font-weight:700;font-size:clamp(34px,4.4vw,58px);line-height:1;letter-spacing:-.03em}
.fact span{display:block;margin-top:8px;color:var(--ink-2);font-size:15px;line-height:1.4;max-width:24ch}
@media (max-width:760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}

/* секции */
section{scroll-margin-top:84px}
.sec{padding:clamp(52px,8vw,112px) 0}
.sec h2{font-size:clamp(30px,4.2vw,54px);text-wrap:balance;max-width:20ch}
.sec .sub{margin-top:14px;color:var(--ink-2);max-width:52ch;font-size:18px}
.tint{background:var(--surface-2)}

/* подбор по возрасту */
.pick{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start;margin-top:40px}
.age-box{position:sticky;top:96px}
.age-num{font-family:var(--font-d);font-weight:700;font-size:clamp(96px,14vw,184px);line-height:.9;letter-spacing:-.05em;display:flex;align-items:baseline;gap:14px}
.age-num small{font-size:clamp(20px,2.2vw,28px);letter-spacing:0;color:var(--ink-2)}
.range{width:100%;margin:28px 0 8px;-webkit-appearance:none;appearance:none;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--accent) var(--p,30%),var(--line) var(--p,30%));outline-offset:8px;cursor:pointer}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;border-radius:50%;background:var(--ink);border:5px solid var(--accent);box-shadow:var(--shadow);transition:transform .2s var(--ease)}
.range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--ink);border:5px solid var(--accent)}
.range:active::-webkit-slider-thumb{transform:scale(1.18)}
.range-ends{display:flex;justify-content:space-between;color:var(--ink-3);font-size:14px;font-weight:700}
.age-box .btn{margin-top:26px}
.dir-list{display:grid;gap:12px}
.dir{display:grid;grid-template-columns:76px minmax(0,1fr);gap:20px;align-items:center;padding:20px 22px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);
  transition:transform .4s var(--ease),border-color .25s,opacity .3s,box-shadow .4s var(--ease)}
.dir img{width:76px;height:76px;object-fit:contain;filter:invert(var(--invert))}
.dir h3{font-size:22px}
.dir p{color:var(--ink-2);font-size:15.5px;margin-top:6px}
.dir .ages{font-weight:800;color:var(--accent-ink);font-size:14px;margin-top:8px}
.dir.fit{border-color:var(--accent);box-shadow:var(--shadow);transform:translateX(6px)}
.dir.off{opacity:.42}
@media (max-width:860px){.pick{grid-template-columns:minmax(0,1fr)}.age-box{position:static}.dir.fit{transform:none}}
@media (max-width:480px){.dir{grid-template-columns:56px minmax(0,1fr);gap:14px;padding:16px}.dir img{width:56px;height:56px}}

/* расписание */
.sch-head{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:end;justify-content:space-between}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin-inline:-2px;scrollbar-width:thin;scroll-snap-type:x proximity}
.chip{flex:none;scroll-snap-align:start;min-height:42px;padding:0 16px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface);font-weight:700;font-size:15px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.sch-tools{display:grid;gap:10px;margin-top:28px}
.sch-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:6px;color:var(--ink-2);font-size:15px}
.sch-meta a{font-weight:700}
.week{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:12px;margin-top:22px}
.day{min-width:0}
.day h3{font-family:var(--font-b);font-weight:800;font-size:14px;letter-spacing:.02em;color:var(--ink-3);padding:0 2px 10px;text-transform:uppercase}
.slot{display:block;width:100%;text-align:left;padding:14px 14px 13px;margin-bottom:10px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);text-decoration:none;cursor:pointer;
  transition:transform .35s var(--ease),border-color .2s,box-shadow .35s var(--ease)}
.slot:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow)}
.slot .t{font-family:var(--font-d);font-weight:700;font-size:20px;letter-spacing:-.02em}
.slot .d{font-weight:800;font-size:14.5px;margin-top:6px;line-height:1.3}
.slot .m{color:var(--ink-2);font-size:13.5px;line-height:1.4;margin-top:4px}
.empty{padding:36px 24px;border:1.5px dashed var(--line);border-radius:var(--r);color:var(--ink-2);text-align:center;margin-top:22px}
.skel{height:92px;border-radius:var(--r);margin-bottom:10px;background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface) 50%,var(--surface-2) 70%);background-size:300% 100%;animation:sk 1.4s linear infinite}
@keyframes sk{to{background-position:-300% 0}}
@media (max-width:620px){.week{grid-template-columns:minmax(0,1fr)}.day h3{padding-top:10px}}

/* путь записи */
.way{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,44px);margin-top:48px;position:relative}
.way::before{content:"";position:absolute;left:0;right:0;top:27px;height:3px;background:repeating-linear-gradient(90deg,var(--accent) 0 14px,transparent 14px 24px)}
.way li{list-style:none;position:relative;padding-top:74px}
.way .n{position:absolute;left:0;top:0;width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-family:var(--font-d);font-weight:700;font-size:24px;box-shadow:0 0 0 8px var(--bg)}
.tint .way .n{box-shadow:0 0 0 8px var(--surface-2)}
.way h3{font-size:26px}
.way p{margin-top:10px;color:var(--ink-2);max-width:32ch}
.way ul{padding:0;margin:0}
@media (max-width:760px){.way{grid-template-columns:minmax(0,1fr);gap:34px}.way::before{left:27px;right:auto;top:0;bottom:0;width:3px;height:auto;background:repeating-linear-gradient(180deg,var(--accent) 0 14px,transparent 14px 24px)}.way li{padding:4px 0 0 82px}}

/* руководитель и тренеры */
.dir-box{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(20px,4vw,60px);align-items:center;margin-top:44px}
.dir-box .photo{border-radius:var(--r);overflow:hidden;aspect-ratio:3/2;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.dir-box .photo img{width:100%;height:100%;object-fit:cover}
.dir-box h3{font-size:clamp(26px,3vw,38px)}
.dir-box .role{color:var(--accent-ink);font-weight:800;margin-top:10px}
.dir-box p.t{margin-top:12px;color:var(--ink-2);font-size:18px}
@media (max-width:860px){.dir-box{grid-template-columns:minmax(0,1fr)}.dir-box .photo{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
.tr-scroll{--pad:var(--gut);display:grid;grid-auto-flow:column;grid-auto-columns:min(290px,78vw);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--pad) 20px;scroll-padding-inline:var(--pad);margin-top:44px;scrollbar-width:thin}
@media (min-width:1300px){.tr-scroll{--pad:calc((100vw - var(--wrap))/2 + var(--gut))}}
.tr{scroll-snap-align:start;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.tr .ph{aspect-ratio:3/4;overflow:hidden;background:var(--surface-2)}
.tr .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tr:hover .ph img{transform:scale(1.045)}
.tr .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.tr h3{font-size:20px;line-height:1.2}
.tr .role{font-weight:700;font-size:14.5px;color:var(--accent-ink);line-height:1.35}
.tr .tx{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.tr details{margin-top:auto;padding-top:10px}
.tr summary{cursor:pointer;font-weight:800;font-size:14.5px;list-style:none;display:flex;align-items:center;gap:8px;min-height:36px}
.tr summary::-webkit-details-marker{display:none}
.tr summary .icon{transition:transform .3s var(--ease)}
.tr details[open] summary .icon{transform:rotate(45deg)}
.tr details p{font-size:14.5px;color:var(--ink-2);margin-top:6px}

/* залы */
.halls{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,56px);margin-top:40px;align-items:start}
.hl{display:grid;gap:6px}
.hl button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:center;text-align:left;padding:14px 16px;border-radius:var(--r);border:1.5px solid transparent;background:transparent;cursor:pointer;transition:background .2s,border-color .2s}
.hl button:hover{background:var(--surface)}
.hl button[aria-pressed=true]{background:var(--surface);border-color:var(--ink)}
.hl .num{font-family:var(--font-d);font-weight:700;color:var(--ink-3);font-size:20px}
.hl button[aria-pressed=true] .num{color:var(--accent-ink)}
.hl b{display:block;font-size:17px;line-height:1.25}
.hl small{display:block;color:var(--ink-2);font-size:14px;margin-top:2px}
.hall-view{position:sticky;top:92px}
.hall-img{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--surface-2)}
.hall-img img{width:100%;height:100%;object-fit:cover;animation:fadein .6s var(--ease)}
@keyframes fadein{from{opacity:0;transform:scale(1.03)}}
.thumbs{display:flex;gap:10px;margin-top:10px}
.thumbs button{width:84px;height:62px;border-radius:10px;overflow:hidden;padding:0;border:2px solid transparent;cursor:pointer;background:var(--surface-2);opacity:.65;transition:opacity .2s,border-color .2s}
.thumbs button[aria-pressed=true]{border-color:var(--accent);opacity:1}
.thumbs img{width:100%;height:100%;object-fit:cover}
.hall-info{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.hall-info .btn{margin-left:auto}
@media (max-width:860px){.halls{grid-template-columns:minmax(0,1fr)}.hall-view{position:static;order:-1}.hall-info .btn{margin-left:0}}

/* результаты */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(150px,19vw));gap:12px;margin-top:40px}
.bento>*{border-radius:var(--r);overflow:hidden;position:relative;min-height:0}
.bento img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.bento>*:hover img{transform:scale(1.04)}
.b-team{grid-column:1/3;grid-row:1/3}
.b-q{grid-column:3/5;grid-row:1/2;background:var(--accent);color:var(--on-accent);padding:clamp(18px,2.6vw,34px);display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.b-q blockquote{margin:0;font-family:var(--font-d);font-weight:700;font-size:clamp(17px,1.9vw,25px);line-height:1.25;letter-spacing:-.02em}
.b-q cite{font-style:normal;font-weight:800;font-size:14.5px}
.b-a{grid-column:3/4;grid-row:2/4}
.b-b{grid-column:4/5;grid-row:2/3}
.b-c{grid-column:1/2;grid-row:3/4}
.b-d{grid-column:2/3;grid-row:3/4}
.b-n{grid-column:4/5;grid-row:3/4;background:var(--surface);border:1.5px solid var(--line);padding:clamp(16px,2vw,26px);display:flex;flex-direction:column;justify-content:center}
.b-n b{font-family:var(--font-d);font-size:clamp(20px,2.2vw,30px);line-height:1.15;letter-spacing:-.02em}
.b-n span{margin-top:8px;color:var(--ink-2);font-size:15px;line-height:1.45}
.cap{margin-top:14px;color:var(--ink-2);font-size:15px}
@media (max-width:860px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto}
  .b-team{grid-column:1/3;grid-row:auto;aspect-ratio:4/3}
  .b-q{grid-column:1/3;grid-row:auto}
  .b-a,.b-b,.b-c,.b-d{grid-column:auto;grid-row:auto;aspect-ratio:1/1}
  .b-n{grid-column:1/3;grid-row:auto}
}

/* цены */
.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:20px}
@media (max-width:620px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pr{padding:16px}.pr .v{font-size:25px}}
.pr{padding:20px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:4px}
.pr .k{color:var(--ink-2);font-weight:700;font-size:14.5px;line-height:1.35}
.pr .v{font-family:var(--font-d);font-weight:700;font-size:30px;letter-spacing:-.02em;margin-top:6px}
.pr .d{color:var(--ink-3);font-size:14px}
.pr.first{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pr.first .k,.pr.first .d{color:var(--on-accent)}
.note{margin-top:20px;color:var(--ink-2);font-size:15.5px;max-width:70ch}

/* оферта */
.offer{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}
.points{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px}
.points h3{font-family:var(--font-b);font-weight:800;font-size:18px;letter-spacing:0;line-height:1.3}
.points p{margin-top:8px;color:var(--ink-2);font-size:15.5px}
.offer .meta{margin-top:20px;color:var(--ink-2);font-size:15px}
@media (max-width:860px){.offer{grid-template-columns:minmax(0,1fr)}.points{grid-template-columns:1fr}}

/* форма и контакты */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,80px);align-items:start}
.contact .tel{display:block;font-family:var(--font-d);font-weight:700;font-size:clamp(26px,3vw,38px);text-decoration:none;letter-spacing:-.02em;margin-top:6px}
.contact .tel:hover{color:var(--accent-ink)}
.addr{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;font-size:15px;color:var(--ink-2)}
.addr h4{grid-column:1/-1;margin:12px 0 2px;font-size:14px;font-weight:800;color:var(--ink)}
.form{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,36px);box-shadow:var(--shadow)}
.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--r);margin-bottom:22px}
.seg button{min-height:44px;border:0;border-radius:10px;background:transparent;font-weight:800;cursor:pointer;transition:background .2s}
.seg button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 3px rgba(9,22,29,.18)}
.fld{display:block;margin-bottom:16px}
.fld>span{display:block;font-weight:800;font-size:14.5px;margin-bottom:6px}
.fld>span i{font-style:normal;color:var(--danger)}
.fi{width:100%;min-width:0;min-height:52px;padding:12px 16px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--bg);transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
select.fi{background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:42px}
textarea.fi{min-height:96px;resize:vertical}
.fi:hover{border-color:var(--ink-3)}
.fi:focus{outline:none;border-color:var(--accent-ink);box-shadow:0 0 0 4px var(--accent-soft)}
.fi[aria-invalid=true]{border-color:var(--danger)}
.err{color:var(--danger);font-size:14px;font-weight:700;margin-top:6px}
.help{color:var(--ink-3);font-size:14px;margin-top:6px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--ink-2);margin:6px 0 20px;cursor:pointer}
.chk input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--accent-ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok{padding:28px;text-align:center}
.ok h3{font-size:28px}
.ok p{margin-top:10px;color:var(--ink-2)}
@media (max-width:860px){.contact{grid-template-columns:minmax(0,1fr)}.row2{grid-template-columns:minmax(0,1fr)}.addr{grid-template-columns:minmax(0,1fr)}}

/* подвал */
.foot{padding:56px 0 34px;border-top:1px solid var(--line);margin-top:0}
.foot-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,3fr);gap:32px}
.foot img.lg{height:40px;width:auto}
.foot h4{margin:0 0 12px;font-size:14px;font-weight:800;color:var(--ink-3)}
.foot a{display:block;text-decoration:none;color:var(--ink-2);padding:4px 0;font-size:15.5px}
.foot a:hover{color:var(--accent-ink)}
.partners{display:flex;flex-wrap:wrap;gap:18px 34px;align-items:center;margin:40px 0 0;padding-top:30px;border-top:1px solid var(--line)}
.partners img{height:46px;width:auto;opacity:.82;filter:grayscale(1)}
.legal{margin-top:30px;color:var(--ink-3);font-size:13.5px;line-height:1.55}
@media (max-width:760px){.foot-grid{grid-template-columns:minmax(0,1fr)}}

/* появление при прокрутке: контент виден и без JS */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .hero .rv{transition-delay:calc(var(--d,0s) + .08s)}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.hero-art .main img{transform:none}}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .hero-art .main img{animation:par linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    @keyframes par{to{transform:scale(1.08) translateY(7%)}}
  }
}

/* первый экран: фото выезжает справа, полоса следом (иерархия: сначала смотрим на ребёнка, потом читаем) */
@media (prefers-reduced-motion:no-preference){
  .js .hero-art .main{animation:wipe 1.1s var(--ease) .15s both}
  .js .hero-art .stripe{animation:slide .9s var(--ease) .55s both}
  .js .hero-art .minor{animation:pop .8s var(--ease) .8s both}
  @keyframes wipe{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}to{clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}}
  @keyframes slide{from{transform:translateX(30%);opacity:0}to{transform:none;opacity:.95}}
  @keyframes pop{from{transform:translateY(24px) scale(.94);opacity:0}to{transform:none;opacity:1}}
}
