/* Бренд с сайта bksiberia.mieganalytics.online: navy #1f2323, navy-mid #363636, ice #66bff9, silver; шрифты Montserrat (заголовки) + Inter */
:root{
  --navy:#1f2323; --navy-2:#2a2f2f; --navy-mid:#363636; --deep:#141616;
  --ice:#66bff9; --ice-2:#9ad6ff; --ice-glow:rgba(102,191,249,.35);
  --silver:#c0c0c0; --white:#fff; --orange:#f07a24;
  --r:14px; --shadow:0 20px 50px -20px rgba(0,0,0,.6);
  --font-d:"Montserrat",system-ui,sans-serif; --font:"Inter",system-ui,sans-serif;
  --header-h:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 10px)}
body{margin:0;background:var(--navy);color:#e9eef0;font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--ice)}
h1,h2,h3,h4{font-family:var(--font-d);line-height:1.1;margin:0 0 .5em;color:#fff}
.container{width:min(1200px,100% - 40px);margin-inline:auto}
.container--narrow{width:min(820px,100% - 40px)}
.skip{position:absolute;left:-999px;top:0;background:var(--ice);color:var(--navy);padding:8px 12px;z-index:200}
.skip:focus{left:8px}
.eyebrow{font:600 12px/1 var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--ice);margin:0 0 14px}
.h2{font-size:clamp(28px,4vw,46px);font-weight:900;text-transform:uppercase;letter-spacing:.01em;max-width:900px}
.hl{color:var(--ice);text-shadow:0 0 30px var(--ice-glow)}
.center{text-align:center;margin-top:40px}
.note{color:var(--silver);font-size:14px;margin-top:24px}

/* Buttons */
.btn{--bg:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1.5px solid transparent;
  font:700 14px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  padding:14px 22px;transition:transform .2s, box-shadow .2s, background .2s, color .2s;position:relative;overflow:hidden;white-space:nowrap}
.btn--sm{padding:11px 16px;font-size:12px}
.btn--lg{padding:18px 28px;font-size:15px}
.btn--block{width:100%;white-space:normal;text-align:center;line-height:1.3}
.btn--primary{background:var(--ice);color:var(--navy);box-shadow:0 10px 30px -10px var(--ice-glow)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(102,191,249,.7);background:var(--ice-2)}
.btn--primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn--primary:hover::after{transform:translateX(120%)}
.btn--ghost{border-color:rgba(102,191,249,.5);color:var(--ice)}
.btn--ghost:hover{background:rgba(102,191,249,.1);transform:translateY(-2px)}
.btn:disabled{opacity:.6;cursor:wait}
.pulse{animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(102,191,249,.55)}70%{box-shadow:0 0 0 18px rgba(102,191,249,0)}100%{box-shadow:0 0 0 0 rgba(102,191,249,0)}}

/* Header */
.header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);transition:background .3s, box-shadow .3s;background:rgba(31,35,35,.35);backdrop-filter:blur(8px)}
.header.is-scrolled{background:rgba(20,22,22,.92);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.header__row{height:100%;display:flex;align-items:center;gap:28px}
.logo img{height:36px;width:auto}
.nav{display:flex;gap:24px;margin-left:auto}
.nav a{color:#dfe6e8;text-decoration:none;font:600 13px/1 var(--font);text-transform:uppercase;letter-spacing:.06em;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--ice);transition:right .25s}
.nav a:hover,.nav a.is-active{color:var(--ice)}
.nav a:hover::after,.nav a.is-active::after{right:0}
.nav__phone-m{display:none!important}
.header__phone{color:#fff;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px;margin-left:auto}
.burger span{display:block;height:2px;background:#fff;margin:5px 0;transition:.3s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.progress{position:absolute;left:0;bottom:0;height:2px;width:0;background:linear-gradient(90deg,var(--ice),#fff)}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--header-h) + 40px) 0 80px;overflow:hidden;
  background:radial-gradient(1200px 600px at 80% 20%,rgba(102,191,249,.18),transparent 60%),linear-gradient(180deg,#1f2323 0%,#141616 100%)}
.hero__snow,.final__snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__glow{position:absolute;width:600px;height:600px;right:-100px;top:10%;background:radial-gradient(circle,rgba(102,191,249,.25),transparent 65%);filter:blur(20px);animation:float 8s ease-in-out infinite}
.hero__grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero__title{font-size:clamp(40px,6.4vw,84px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em}
.hero__lead{font-size:clamp(16px,1.4vw,19px);color:#cfd8db;max-width:600px}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 22px}
.hero__chips{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:0;color:var(--silver);font-size:14px}
.hero__visual{position:relative;aspect-ratio:1;max-width:480px;width:100%;justify-self:center}
.court{position:absolute;inset:0}
.court__lines{position:absolute;inset:0;fill:none;stroke:rgba(102,191,249,.25);stroke-width:2;animation:spin 60s linear infinite}
.court__flake{position:absolute;inset:18%;width:64%;opacity:.35;animation:spin 40s linear infinite reverse}
.ball-wrap{position:absolute;left:50%;top:14%;width:34%;transform:translateX(-50%);animation:bounce 1.6s cubic-bezier(.5,0,.5,1) infinite}
.ball{width:100%;animation:spin 3.2s linear infinite;filter:drop-shadow(0 20px 30px rgba(240,122,36,.35))}
.ball-shadow{position:absolute;left:50%;bottom:16%;width:28%;height:5%;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.6),transparent 70%);animation:shadow 1.6s cubic-bezier(.5,0,.5,1) infinite}
@keyframes bounce{0%,100%{top:14%}50%{top:52%}}
@keyframes shadow{0%,100%{transform:translateX(-50%) scale(.6);opacity:.4}50%{transform:translateX(-50%) scale(1.1);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-30px)}}
.badge{position:absolute;background:rgba(31,35,35,.85);border:1px solid rgba(102,191,249,.35);backdrop-filter:blur(8px);border-radius:12px;padding:12px 16px;box-shadow:var(--shadow);animation:float 6s ease-in-out infinite}
.badge b{display:block;font:900 22px/1 var(--font-d);color:var(--ice)}
.badge span{font-size:12px;color:var(--silver)}
.badge--1{left:-4%;top:12%}
.badge--2{right:-4%;top:40%;animation-delay:-2s}
.badge--3{left:4%;bottom:4%;animation-delay:-4s}
.hero__scroll{position:absolute;left:50%;bottom:24px;width:26px;height:42px;border:2px solid rgba(255,255,255,.4);border-radius:14px;transform:translateX(-50%)}
.hero__scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--ice);animation:wheel 1.6s infinite}
@keyframes wheel{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(14px)}}

/* Urgency */
.urgency{background:linear-gradient(90deg,#66bff9,#9ad6ff,#66bff9);background-size:200% 100%;animation:shine 6s linear infinite;color:var(--navy);font-weight:600;font-size:14px;text-align:center;padding:12px 0}
.urgency a{color:var(--navy);font-weight:800;margin-left:8px}
.urgency__dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d7263d;margin-right:8px;animation:blink 1s infinite}
@keyframes shine{to{background-position:200% 0}}
@keyframes blink{50%{opacity:.2}}

/* Stats */
.stats{padding:60px 0;background:var(--deep);border-bottom:1px solid rgba(255,255,255,.06)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{text-align:center;padding:10px}
.stat b{display:block;font:900 clamp(40px,5vw,62px)/1 var(--font-d);color:var(--ice);text-shadow:0 0 30px var(--ice-glow)}
.stat>span{display:block;color:var(--silver);font-size:14px;margin-top:10px}

/* Sections */
.section{padding:100px 0;position:relative}
.section--alt{background:linear-gradient(180deg,#191c1c,#1f2323)}
.card{background:linear-gradient(180deg,rgba(54,54,54,.55),rgba(31,35,35,.9));border:1px solid rgba(255,255,255,.08);border-radius:var(--r);box-shadow:var(--shadow)}

.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.why__card{padding:28px;transition:transform .3s, border-color .3s}
.why__card:hover{transform:translateY(-6px);border-color:rgba(102,191,249,.5)}
.why__icon{font-size:34px;width:60px;height:60px;display:grid;place-items:center;border-radius:14px;background:rgba(102,191,249,.12);margin-bottom:18px;transition:transform .4s}
.why__card:hover .why__icon{transform:rotate(-10deg) scale(1.1)}
.why__card h3{font-size:19px}
.why__card p{color:#c6cfd2;margin:0;font-size:15px}

/* Programs */
.agepick{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}
.chip{background:transparent;border:1.5px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:10px 18px;font:600 14px var(--font);cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--ice)}
.chip.is-active{background:var(--ice);border-color:var(--ice);color:var(--navy)}
.programs{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:20px}
.prog{padding:26px;display:flex;flex-direction:column;position:relative;transition:transform .35s, opacity .35s, border-color .3s, box-shadow .3s}
.prog:hover{transform:translateY(-8px);border-color:rgba(102,191,249,.6);box-shadow:0 30px 60px -25px rgba(102,191,249,.45)}
.prog.is-dim{opacity:.3;transform:scale(.97)}
.prog.is-hit{border-color:var(--ice);box-shadow:0 0 0 2px var(--ice),0 30px 60px -25px rgba(102,191,249,.6)}
.prog--featured::before{content:"Путь в молодёжку";position:absolute;top:-12px;right:18px;background:var(--orange);color:#fff;font:700 11px/1 var(--font);text-transform:uppercase;letter-spacing:.08em;padding:7px 10px;border-radius:6px}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tag{font:600 11px/1 var(--font);text-transform:uppercase;letter-spacing:.08em;padding:6px 8px;border-radius:5px;background:rgba(255,255,255,.08);color:var(--silver)}
.tag--ice{background:rgba(102,191,249,.15);color:var(--ice)}
.prog h3{font-size:24px;text-transform:uppercase;font-weight:900}
.prog__price{font:900 32px/1 var(--font-d);color:#fff;margin:6px 0 4px}
.prog__price small{font:500 14px var(--font);color:var(--silver)}
.prog__per{font-size:13px;color:var(--ice);margin-bottom:14px}
.prog__meta{font-size:13px;color:var(--silver);margin:0 0 12px;padding:0;list-style:none}
.prog__meta li{padding:3px 0}
.prog__for{font-size:14px;color:#cfd8db}
.prog ul.goals{list-style:none;padding:0;margin:0 0 20px;font-size:14px}
.prog ul.goals li{padding-left:22px;position:relative;margin:6px 0;color:#dfe6e8}
.prog ul.goals li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,var(--ice) 35%,transparent 40%);border:1.5px solid var(--ice)}
.prog .btn{margin-top:auto}

/* Steps */
.steps{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s;position:relative}
.steps::before{content:"";position:absolute;top:30px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--ice),rgba(102,191,249,.1))}
.step{position:relative;text-align:center;padding:0 10px}
.step__n{position:relative;display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:50%;background:var(--navy);border:2px solid var(--ice);font:900 24px var(--font-d);color:var(--ice);transition:.3s}
.step:hover .step__n{background:var(--ice);color:var(--navy);transform:scale(1.1)}
.step h3{font-size:18px}
.step p{color:#c6cfd2;font-size:15px;margin:0}

/* Schedule */
.filters{display:flex;gap:16px;flex-wrap:wrap;margin:30px 0 20px}
.filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--silver);min-width:220px}
select,input{font:15px var(--font);color:#fff;background:var(--navy);border:1.5px solid rgba(255,255,255,.15);border-radius:8px;min-height:48px;padding:10px 14px;outline:none;transition:border-color .2s, box-shadow .2s;width:100%}
select:focus,input:focus{border-color:var(--ice);box-shadow:0 0 0 3px rgba(102,191,249,.25)}
.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid rgba(255,255,255,.08)}
.sched{width:100%;border-collapse:collapse;min-width:680px;background:rgba(20,22,22,.6)}
.sched th{text-align:left;font:600 12px var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--silver);padding:14px 16px;background:rgba(54,54,54,.5)}
.sched td{padding:14px 16px;border-top:1px solid rgba(255,255,255,.06);font-size:15px}
.sched tbody tr{transition:background .2s}
.sched tbody tr:hover{background:rgba(102,191,249,.08)}
.sched td b{color:var(--ice)}
.sched .btn{padding:9px 12px;font-size:11px}
.sched__empty{text-align:center;color:var(--silver);padding:30px!important}

/* Coaches */
.coaches{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:20px;margin-top:40px}
.coach{overflow:hidden;transition:transform .35s, border-color .3s}
.coach:hover{transform:translateY(-8px);border-color:rgba(102,191,249,.5)}
.coach__ph{aspect-ratio:4/4;position:relative;background:linear-gradient(135deg,#363636,#1f2323);display:grid;place-items:center;overflow:hidden}
.coach__ph img.flake{position:absolute;width:120%;opacity:.12;transition:transform 1s}
.coach:hover .coach__ph img.flake{transform:rotate(60deg) scale(1.1)}
.coach__init{font:900 64px var(--font-d);color:var(--ice);position:relative}
.coach__ph small{position:absolute;bottom:10px;left:10px;font-size:11px;color:var(--silver);opacity:.7}
.coach__exp{position:absolute;top:12px;right:12px;background:var(--ice);color:var(--navy);font:800 12px var(--font);padding:6px 10px;border-radius:6px}
.coach__body{padding:22px}
.coach__role{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ice);margin:0 0 6px}
.coach h3{font-size:20px}
.coach p{font-size:14px;color:#c6cfd2;margin:0 0 10px}
.coach .ach{font-size:13px;color:#fff;background:rgba(102,191,249,.1);border-left:3px solid var(--ice);padding:8px 10px;border-radius:4px;margin:6px 0}

/* Signup */
.signup{background:radial-gradient(900px 500px at 10% 30%,rgba(102,191,249,.15),transparent 60%),var(--deep)}
.signup__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start}
.checks{list-style:none;padding:0;margin:26px 0}
.checks li{position:relative;padding-left:34px;margin:14px 0;color:#dfe6e8}
.checks li::before{content:"✓";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--ice);color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:13px}
.signup__call{color:var(--silver)}
.signup__call a{font-weight:700;font-size:18px;text-decoration:none}
.form{padding:30px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;color:var(--silver);margin-bottom:6px}
.field.is-invalid input{border-color:#ff6b6b;box-shadow:0 0 0 3px rgba(255,107,107,.2)}
.field.is-valid input{border-color:rgba(102,191,249,.6)}
.err{display:block;color:#ff8a8a;font-size:12px;min-height:16px;margin-top:4px}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--silver);cursor:pointer}
.consent input{width:18px;height:18px;min-height:0;margin-top:2px;accent-color:var(--ice);flex:none}
.form .btn{margin-top:8px}
.form__status{font-size:14px;margin:14px 0 0;min-height:20px}
.form__status.ok{color:var(--ice)}
.form__status.bad{color:#ff8a8a}
.form.is-done{animation:pop .5s}
@keyframes pop{50%{transform:scale(1.02)}}
.success{text-align:center;padding:20px 0}
.success__icon{width:80px;height:80px;margin:0 auto 16px;border-radius:50%;background:var(--ice);display:grid;place-items:center;font-size:40px;color:var(--navy);animation:pop .6s}

/* Branches */
.branches{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;margin-top:40px}
.branches__list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.branch{padding:18px 20px;cursor:pointer;transition:border-color .2s, transform .2s;display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center}
.branch:hover{transform:translateX(6px)}
.branch.is-active{border-color:var(--ice);background:linear-gradient(90deg,rgba(102,191,249,.15),rgba(31,35,35,.9))}
.branch h3{font-size:18px;margin:0}
.branch p{margin:0;font-size:14px;color:var(--silver)}
.branch .metro::before{content:"Ⓜ ";color:#d7263d}
.branch a{font-size:14px;text-decoration:none;white-space:nowrap}
.map{border-radius:var(--r);overflow:hidden;min-height:440px;border:1px solid rgba(255,255,255,.08);background:#1a1d1d;position:relative}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map__ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--silver)}
.map__ph img{width:90px;opacity:.4;margin:0 auto 10px;animation:spin 20s linear infinite}

/* FAQ */
.faq{margin-top:30px}
.faq__item{border-bottom:1px solid rgba(255,255,255,.1)}
.faq__item summary{list-style:none;cursor:pointer;padding:22px 50px 22px 0;font:700 18px/1.3 var(--font-d);color:#fff;position:relative;transition:color .2s}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(102,191,249,.5);color:var(--ice);display:grid;place-items:center;font:400 24px/1 var(--font);transition:transform .3s, background .3s}
.faq__item[open] summary::after{transform:translateY(-50%) rotate(45deg);background:rgba(102,191,249,.15)}
.faq__item summary:hover{color:var(--ice)}
.faq__item>div{overflow:hidden}
.faq__item p{margin:0 0 22px;color:#c6cfd2}

/* Final */
.final{position:relative;padding:110px 0;text-align:center;overflow:hidden;background:linear-gradient(135deg,#1b3a52 0%,#1f2323 55%,#141616 100%)}
.final__inner{position:relative}
.final .h2{margin-inline:auto}
.final p{color:#cfd8db;font-size:18px;margin:0 0 30px}

/* Footer */
.footer{background:var(--deep);padding:60px 0 100px;border-top:1px solid rgba(255,255,255,.06);font-size:14px;color:var(--silver)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.footer h4{font-size:14px;text-transform:uppercase;letter-spacing:.1em}
.footer img{margin-bottom:14px}
.footer a{text-decoration:none}
.socials{display:flex;gap:14px;flex-wrap:wrap}
.footer__bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);font-size:12px}

/* Mobile bar */
.mbar{display:none}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,200px);visibility:hidden;background:var(--ice);color:var(--navy);font-weight:700;padding:14px 20px;border-radius:10px;z-index:300;transition:transform .4s;box-shadow:var(--shadow)}
.toast.show{transform:translate(-50%,0);visibility:visible}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.1s}.reveal[data-delay="2"]{transition-delay:.2s}.reveal[data-delay="3"]{transition-delay:.3s}.reveal[data-delay="4"]{transition-delay:.4s}.reveal[data-delay="5"]{transition-delay:.5s}
.no-js .reveal{opacity:1;transform:none}

/* Responsive */
@media (max-width:1100px){
  .header__phone{display:none}
  .programs,.coaches{grid-template-columns:repeat(2,1fr)}
  .why{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  :root{--header-h:64px}
  .burger{display:block}
  .header__cta{display:none}
  .nav{position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;gap:0;background:#141616;padding:10px 20px 24px;
    transform:translateY(-120%);transition:transform .35s;margin:0;box-shadow:0 20px 40px rgba(0,0,0,.5);z-index:-1}
  .nav.is-open{transform:none}
  .nav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:15px}
  .nav__phone-m{display:block!important;color:var(--ice)!important}
  .hero{min-height:auto;padding-top:calc(var(--header-h) + 30px)}
  .hero__grid{grid-template-columns:1fr}
  .hero__visual{max-width:320px;order:-1;margin-bottom:-10px}
  .hero__scroll{display:none}
  .stats__grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .steps::before{display:none}
  .signup__grid,.branches{grid-template-columns:minmax(0,1fr)}
  .map{min-height:340px}
  .footer__grid{grid-template-columns:1fr}
  .mbar{display:grid;grid-template-columns:auto 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(20,22,22,.95);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08);transform:translateY(110%);transition:transform .3s}
  .mbar.show{transform:none}
  .mbar .btn{padding:14px 14px;font-size:12px}
  .toast{bottom:90px}
}
@media (max-width:600px){
  .section{padding:70px 0}
  .container{width:calc(100% - 32px)}
  .programs,.coaches,.why{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr;gap:0}
  .form{padding:22px}
  .hero__ctas .btn{width:100%;white-space:normal}
  .hero__visual{max-width:230px}
  .hero{padding-top:calc(var(--header-h) + 14px);padding-bottom:50px}
  .hero__title{font-size:36px}
  .hero__lead{font-size:15px}
  .hero__ctas{margin:20px 0 16px}
  .badge span{font-size:10px}
  .coach__ph{aspect-ratio:16/9}
  .coach__init{font-size:48px}
  .hero__glow{width:360px;height:360px;right:-120px}
  .badge{padding:8px 12px}.badge b{font-size:17px}
  .badge--1{left:0}.badge--2{right:0}
  .steps{grid-template-columns:1fr}
  .filters label{min-width:0;flex:1 1 100%}
  .sched{min-width:0}
  .sched thead{display:none}
  .sched tr{display:grid;grid-template-columns:1fr 1fr;padding:12px 4px;border-top:1px solid rgba(255,255,255,.08)}
  .sched td{border:0;padding:4px 12px}
  .sched td:nth-child(3){grid-column:1/-1;order:-1;font-weight:700}
  .sched td:last-child{grid-column:1/-1;padding-top:8px}
  .sched td:last-child .btn{width:100%}
  .urgency{font-size:13px;padding:10px 0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* CMS additions */
.coach__ph img.coach__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.ach-list{margin-top:10px}
.prog__price small{white-space:nowrap}
.branch .district{font-size:13px;color:var(--silver)}
.sched__note{margin-top:14px}

/* fix: декоративное свечение героя не должно давать горизонтальный скролл на мобильных */
html, body { overflow-x: clip; }
.hero { overflow-x: clip; }
