/* ==========================================================
   Визуальная полировка (подключается последним).
   Меняются только визуальные параметры: сетка, отступы, размеры,
   радиусы, типографика, контраст. Разметка и тексты — без изменений.

   Система отступов: 4 · 8 · 12 · 16 · 20 · 24 · 32 · 40 · 48 · 64 · 96
   Поля карточек:   S = 20 (мелкие)  ·  M = 24 (стандарт)  ·  L = 32 (крупные)
   Промежутки сеток: 16 (карточки)  ·  24 (колонки)  ·  48–64 (крупные колонки)
   Радиусы:          12 (поля, чипы)  ·  16 (карточки)  ·  20 (крупные контейнеры, фото)
   ========================================================== */
:root{
  --r-s:12px; --r:16px; --r-l:20px; --r-xl:28px;
  --gap:16px;
  --pad-s:20px; --pad-m:24px; --pad-l:32px;
  --sec:96px;
  --muted:#686D6A;          /* было #7E8380 — контраст 3,9 → 5,2 */
  --line:#E2E5E3;
  --line-strong:#D3D7D5;
  --sh:0 1px 2px rgba(23,25,27,.04),0 12px 32px -18px rgba(23,25,27,.18);
}

/* ---------- типографика ---------- */
h1,h2,h3,h4,.h1,.h2,.h3,.h4,summary,.tile b,.pcard b,.steps b{text-wrap:balance}
p,li,dd,blockquote,.lead{text-wrap:pretty}
.h1{letter-spacing:-.03em}
.h2{font-size:clamp(28px,3vw,38px);line-height:1.12}
.h3{font-size:clamp(22px,2vw,26px);line-height:1.2}
.lead{font-size:17.5px;line-height:1.6;color:var(--text)}
.kicker{margin-bottom:12px;letter-spacing:.1em;font-size:12px;color:var(--orange-d)}
.sec__head{margin-bottom:48px}
.sec__head .h2+.lead{margin-top:16px;max-width:760px}
.sec__head--row{align-items:flex-end;margin-bottom:40px}
.sec__head--row .link-arrow{padding-bottom:6px}

/* секции: единый вертикальный ритм */
.sec{padding:var(--sec) 0}
.sec--page{padding:64px 0 var(--sec)}
.sec--tight{padding:0 0 var(--sec)}

/* ---------- кнопки ---------- */
.btn{height:52px;padding:0 28px;font-weight:500;letter-spacing:.005em}
.btn--sm{height:44px;padding:0 20px}
.btn--ghost{box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px #BFC4C1}
.link-arrow{font-size:15px}

/* ---------- шапка ---------- */
.header__in{height:80px;gap:20px}
.logo{gap:12px}
.logo img{width:56px}
.logo__txt{font-size:15.5px;gap:4px}
.logo__txt small{font-size:12px}
.nav__list{padding:4px}
.nav__link{height:40px;padding:0 14px}
.dd{padding:8px;border-radius:var(--r-l)}
.dd a{padding:11px 14px;border-radius:var(--r-s)}
.header__act{gap:16px}

/* ---------- первый экран ---------- */
.hero{padding:56px 0 var(--sec)}
.hero__grid{gap:64px;align-items:stretch}
.hero__lead{margin-top:32px}
.hero__dear{margin-bottom:10px}
.hero__quote{margin-top:20px;padding:2px 0 2px 18px}
.hero__cta{margin-top:32px;gap:12px}
.ratings{margin-top:16px;gap:12px}
.rating{padding:10px 18px 10px 10px;border-radius:var(--r);min-width:168px}
.stats{margin-top:32px;padding-top:24px}
.stats>div{padding:0 28px}
.stats dt{font-size:24px}
.stats dd{margin-top:6px}
/* фото-колонка растягивается на всю высоту текстовой: без пустоты справа внизу */
.hero__media{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1.45fr) minmax(0,1fr);gap:16px;height:100%;min-height:600px}
.hero__ph--main{grid-column:1/-1;grid-row:1;aspect-ratio:auto}
.hero__ph--side{grid-column:1;grid-row:2;aspect-ratio:auto}
.hero__ship{grid-column:2;grid-row:2;min-height:0;padding:20px}
.hero__ship img{width:112%;right:-18px;top:-10px}
.hero__ship p{padding:12px 14px;border-radius:var(--r-s);font-size:15.5px}
.hero__ph,.hero__ship{border-radius:var(--r-l)}
.hero__ph{position:relative;min-height:0}
.hero__ph img{position:absolute;inset:0}
.hero__badge{left:20px;bottom:auto;top:calc(59% - 34px);padding:12px 20px 12px 12px;border-radius:var(--r)}

/* ---------- преимущества ---------- */
.adv{gap:var(--gap)}
.adv__item{padding:var(--pad-m) var(--pad-m) 28px;border-radius:var(--r-l);gap:12px}
.adv__item h3{font-size:20px;margin-top:20px;line-height:1.25}
.adv__item p{font-size:15.5px;line-height:1.55}
.adv__item--wide{padding:28px var(--pad-m);row-gap:0}
.adv__item--wide>div{gap:12px}
.adv__item--wide h3{margin-top:20px}
.safe-tags li{padding:8px 14px}

/* ---------- творит чудеса ---------- */
.mir{gap:var(--gap)}
.mir__item{padding:var(--pad-m);border-radius:var(--r-l);gap:20px}
.mir__ico{width:52px;height:52px}
.mir__ico svg{width:24px;height:24px}
.mir__item p{font-size:16.5px;line-height:1.4;text-wrap:balance}
.mir__item{justify-content:flex-start;min-height:200px}

/* ---------- о садике ---------- */
.about{gap:64px}
.about__ph{border-radius:var(--r-l)}
.about__ph img{object-position:50% 72%}
.about__ph figcaption{left:16px;bottom:16px;padding:8px 14px}
.about__txt .h2{margin-bottom:16px}
.about__txt .h4{margin:32px 0 8px}
.principles li{padding:14px 0 14px 28px}
.principles li::before{top:23px}
.have__title{margin:64px 0 20px}
.have{gap:var(--gap)}
.have li{padding:var(--pad-s);border-radius:var(--r);gap:8px}
.have b{font-size:16.5px}
.have span{font-size:14.5px;line-height:1.5}

/* ---------- обучение ---------- */
.edu{gap:64px}
.edu__intro .h2{margin-bottom:16px}
.edu__intro .lead{margin-bottom:16px}
.edu__extra{margin-top:28px;gap:8px}
.edu__extra li{padding:14px 18px;border-radius:var(--r-s);font-size:15px}
.acc{margin-bottom:var(--gap);border-radius:var(--r-l)}
.acc summary{padding:22px 24px 22px 28px;font-size:23px}
.acc__grid{gap:12px;padding:0 24px 24px}
.area{padding:18px 20px;border-radius:var(--r)}
.area h4{font-size:16px;margin-bottom:10px}

/* ---------- результат ---------- */
.h2--light{margin-bottom:48px}
.res{gap:var(--gap)}
.res li{padding:var(--pad-m);border-radius:var(--r-l);gap:12px}
.res b{font-size:18px;line-height:1.3}
.res span{font-size:15px;line-height:1.55}

/* ---------- услуги ---------- */
.stay{gap:var(--gap)}
.stay__card{padding:var(--pad-l);border-radius:var(--r-l)}
.stay__card h3{font-size:34px;margin-top:20px}
.stay__time{margin:10px 0 24px}
.stay__foot{padding-top:28px}
.ticks{gap:10px}
.ticks li{font-size:15.5px;line-height:1.5}
.extra__title{margin:64px 0 24px}
.extra{gap:var(--gap)}
.ex{padding:var(--pad-m);border-radius:var(--r-l);gap:12px}
.ex__top{font-size:13px}
.ex h4{font-size:21px;margin-top:4px}
.ex p{font-size:15px;line-height:1.55}
.ex__foot{padding-top:16px;margin-top:auto}
.ex__foot b{font-size:23px}
.pay{grid-template-columns:200px repeat(3,1fr);gap:12px;padding:12px;margin-top:var(--gap);border-radius:var(--r-l)}
.pay__title{padding:16px 12px;max-width:none;font-size:17px}
.pay__item{padding:18px 20px;border-radius:var(--r);gap:4px}
.pay__item b{font-size:16px}

/* ---------- физкультура ---------- */
.sport{gap:32px 64px}
.sport__txt .h2{margin-bottom:16px}
.benefits{gap:var(--gap)}
.benefits li{padding:var(--pad-s) var(--pad-m) var(--pad-m) var(--pad-s);border-radius:var(--r);font-size:15px;line-height:1.55}
.benefits b{font-size:17px;margin-bottom:8px}
.coach{margin-top:28px;padding:12px 20px 12px 12px;border-radius:var(--r)}
.sport__ph{border-radius:var(--r-l);min-height:220px}

/* ---------- галерея ---------- */
.gal{gap:var(--gap);grid-auto-rows:210px}
.gal__it{border-radius:var(--r)}
.gal__it span{left:12px;bottom:12px;padding:6px 12px;font-size:13px}
.gal--sm{grid-auto-rows:180px;gap:12px}

/* ---------- сотрудники ---------- */
.team{gap:64px}
.team__txt .h2{margin-bottom:16px}
.team__txt>p:not(.kicker){font-size:16px;margin-bottom:14px}
.team__note{margin-top:24px;padding:20px 24px;border-radius:var(--r);line-height:1.55}
.team__nav{margin-top:28px;gap:12px}
.arr{width:48px;height:48px;border-radius:var(--r-s)}
.staff{gap:var(--gap);grid-auto-columns:calc(50% - 8px)}
.person{border-radius:var(--r-l);padding-bottom:var(--pad-m);display:flex;flex-direction:column}
.person__ph{margin-bottom:20px}
.person>*:not(.person__ph){padding:0 var(--pad-s)}
.person__role{font-size:13px;margin-bottom:6px}
.person h3{font-size:19px;margin-bottom:10px}
.person__edu{font-size:14px;line-height:1.5}
.person__exp{margin-top:12px;font-size:14px}
.person__motto{margin-top:12px;padding-top:12px!important;border-top:1px solid var(--line);margin-left:var(--pad-s);margin-right:var(--pad-s);padding-left:0!important;padding-right:0!important}

/* ---------- почему важно ---------- */
.why{gap:64px}
.why__intro .h2{margin-bottom:16px}
.why__list{gap:12px}
.why__list details{padding:0 20px;border-radius:var(--r)}
.why__list summary{padding:18px 32px 18px 0;font-size:16.5px}
.why__list summary::after{top:14px}
.why__list details p{font-size:15.5px;line-height:1.6;padding-bottom:20px}

/* ---------- отзывы ---------- */
.rev{gap:64px}
.rev__side .h2{margin-bottom:28px}
.rev__ratings{gap:12px}
.rbig{padding:16px 20px;border-radius:var(--r);gap:16px}
.rcard{padding:40px;border-radius:var(--r-l);gap:28px}
.rcard p{font-size:18px;line-height:1.6}
.rcard footer{padding-top:20px}

/* ---------- новости ---------- */
.news{gap:24px}
.nw{gap:8px}
.nw__ph{border-radius:var(--r);margin-bottom:12px}
.nw h3{font-size:19px;line-height:1.3}
.nw__ex{font-size:14.5px}

/* ---------- форма ---------- */
.visit{gap:64px}
.visit__txt .h2{margin-bottom:16px}
.visit__txt .lead{margin-bottom:24px}
.visit__contacts{margin-top:32px;padding-top:24px;gap:40px}
.form{padding:var(--pad-l);gap:20px;border-radius:var(--r-l)}
.form__row{gap:16px}
.fld{gap:8px}
.fld input,.fld textarea{padding:14px 16px;border-radius:var(--r-s);border-color:var(--line-strong)}
.chips{gap:8px}
.chips legend{margin-bottom:10px}
.chips span{height:44px;padding:0 18px;border-radius:var(--r-s);border-color:var(--line-strong)}
.form__foot{gap:20px;padding-top:4px}
.form__ok{border-radius:var(--r-l);padding:48px}

/* ---------- контакты ---------- */
.cont{gap:var(--gap);align-items:stretch}
.cont__cards{gap:12px}
.cc{padding:18px var(--pad-s);border-radius:var(--r)}
.cc small{margin-bottom:8px;font-size:13px}
.cont__map{min-height:100%;border-radius:var(--r-l)}
.cont__mapbtn{left:20px;bottom:20px}

/* ---------- подвал ---------- */
.footer{padding:72px 0 28px}
.footer__grid{grid-template-columns:1.5fr repeat(4,1fr);gap:40px}
.footer__brand p{margin-top:20px}
.footer__col{gap:12px}
.footer__col p{margin-bottom:6px}
.footer__col .footer__cap2{margin-top:16px}
.footer__bottom{margin-top:56px;padding-top:24px}
.footer .logo__txt{color:#fff}

/* ---------- внутренние страницы ---------- */
.phero{padding:32px 0 56px}
.crumbs{margin-bottom:28px}
.h1--page{line-height:1.08}
.phero__lead{margin-top:20px;font-size:18px;line-height:1.55}
.chips-row{margin-top:24px}
.chips-row li{padding:9px 16px}
.phero__in--aside{gap:56px}
.phero__img{border-radius:var(--r-l)}
.quick{top:80px}
.quick .wrap{padding-top:14px;padding-bottom:14px;gap:8px 20px}
.with-side{gap:56px}
.content>.blk+.blk{margin-top:56px;padding-top:48px}
.blk .h3,.text .h3{margin-bottom:16px}
.text p,.blk p{margin-bottom:14px;line-height:1.65}
.side{gap:12px;top:156px}
.side__card{padding:var(--pad-m);border-radius:var(--r-l);gap:8px}
.side__btn{padding:16px 20px;border-radius:var(--r)}
.box{padding:var(--pad-m);border-radius:var(--r)}
.cols2{gap:var(--gap);margin:20px 0}
.req{gap:12px}
.req li{padding:16px 18px;border-radius:var(--r)}
.icons4{gap:12px}
.icons4 div{border-radius:var(--r);padding:22px 12px}
.award{padding:18px 24px;border-radius:var(--r-l);gap:18px}
.doc-list{gap:10px}
.doc{padding:14px 20px 14px 14px;border-radius:var(--r);gap:16px}
.tbl-wrap{border-radius:var(--r-l)}
.tbl th{padding:14px 18px}
.tbl td{padding:16px 18px}
.mday{gap:8px}
.mday__row{padding:12px 16px;border-radius:var(--r-s)}
.menu-wrap{padding:24px;border-radius:var(--r-l)}
.supplier{padding:20px var(--pad-m);border-radius:var(--r)}
.spec-empty{padding:var(--pad-s);border-radius:var(--r)}
.media3{gap:12px}
.media3__it{border-radius:var(--r)}
.others{gap:12px}
.other{padding:18px 20px;border-radius:var(--r)}
.grp-title{margin:64px 0 24px}
.pcards{gap:var(--gap);margin-top:32px}
.pcard{padding:var(--pad-m);border-radius:var(--r-l);gap:10px}
.about-page{gap:64px}
.about-side{gap:var(--gap)}
.facts{gap:12px}
.facts div{padding:16px 18px;border-radius:var(--r)}
.big-q{margin-top:24px;padding:20px 24px}
.tiles{gap:var(--gap);margin-top:0}
.tile{padding:var(--pad-m) 60px var(--pad-m) var(--pad-m);border-radius:var(--r-l);gap:10px}
.tile i{right:24px;top:24px}
.director{padding:var(--pad-l);gap:40px;margin-bottom:var(--gap);border-radius:var(--r-l)}
.director img{border-radius:var(--r)}
.staff-grid{gap:var(--gap)}
.sv{gap:48px}
.sv__nav{padding:8px;border-radius:var(--r-l)}
.sv__nav a{padding:11px 12px;border-radius:var(--r-s)}
.sv__sec .h2{font-size:clamp(26px,2.4vw,32px);margin-bottom:24px}
.kv{border-radius:var(--r)}
.kv div{padding:14px 20px}
.disc{border-radius:var(--r);margin:14px 0}
.disc summary{padding:16px 52px 16px 20px}
.disc__body{padding:18px 20px}
.lead-card{gap:24px}
.lead-card img{border-radius:var(--r)}
.dost{gap:var(--gap)}
.dost__it{padding:12px 12px 16px;border-radius:var(--r);align-content:start}
.dost__it span{padding:0 4px}
.widgets{gap:var(--gap)}
.widget{padding:var(--pad-m);border-radius:var(--r-l)}
.rev-grid{gap:var(--gap)}
.rev-grid .rcard{padding:var(--pad-l)}
.info{gap:32px;padding:48px 0}
.pct{gap:12px;margin:20px 0}
.pct div{padding:18px 20px;border-radius:var(--r)}
.steps{gap:var(--gap);margin:28px 0 48px}
.steps li{padding:var(--pad-m);border-radius:var(--r-l);gap:12px}
.faq{gap:12px}
.faq details{border-radius:var(--r)}
.faq summary{padding:20px 64px 20px 24px}
.faq summary::after{right:20px;top:15px}
.faq__a{padding:0 24px 20px}
.tips{gap:12px}
.tips li{padding:16px 20px 16px 60px;border-radius:var(--r)}
.tips li::before{left:18px;top:14px}
.note-line{margin-top:24px}

/* ---------- адаптив ---------- */
@media (max-width:1180px){
  .footer__grid{grid-template-columns:repeat(3,1fr)}
  .footer__brand{grid-column:1/-1}
  .pay{grid-template-columns:repeat(3,1fr)}
  .pay__title{grid-column:1/-1;padding:8px 8px 0}
}
@media (max-width:1023px){
  :root{--sec:80px}
  .hero__grid,.about,.edu,.team,.why,.rev,.visit{gap:40px}
  .hero__media{min-height:0;height:auto;grid-template-rows:auto auto}
  .hero__ph--main{aspect-ratio:16/10}
  .hero__ph--side{aspect-ratio:4/3}
  .hero__ph img{position:static}
  .hero__badge{top:auto;bottom:calc(var(--gap) + 16px + 25%)}
  .footer__grid{grid-template-columns:1fr 1fr}
  .header__in{height:72px}
  .quick{top:72px}
}
@media (max-width:767px){
  :root{--sec:64px;--pad-m:20px;--pad-l:24px}
  .header__in{height:64px}
  .hero{padding:32px 0 var(--sec)}
  .hero__media{grid-template-columns:1fr 1fr}
  .hero__ph--main{grid-column:1/-1}
  .hero__badge{position:static;grid-column:1/-1}
  .sec__head{margin-bottom:32px}
  .sec__head--row{margin-bottom:32px}
  .stats>div{padding:0 18px}
  .rating{min-width:0;flex:1}
  .have__title{margin-top:48px}
  .extra__title,.grp-title{margin:48px 0 20px}
  .rcard{padding:28px 24px}
  .rcard p{font-size:16.5px}
  .form{padding:24px 20px}
  .footer__grid{grid-template-columns:1fr;gap:32px}
  .footer__brand{grid-column:auto}
  .phero{padding:20px 0 40px}
  .acc summary{font-size:19px;padding:18px 18px 18px 20px}
  .acc__grid{padding:0 16px 16px}
  .info{padding:36px 0;gap:8px}
  .director{padding:var(--pad-m);gap:20px}
  .gal{grid-auto-rows:150px}
  .sv__sec .h2{font-size:24px}
}
@media (max-width:1300px) and (min-width:1024px){
  .nav__link{padding:0 12px}
  .header__phone{font-size:14px}
}
@media (max-width:1240px) and (min-width:1024px){
  .header__phone{display:none}
}
/* шапке нужно больше ширины, чем контенту: логотип + 6 пунктов + телефон + кнопка */
.header>.wrap,.topbar>.wrap{max-width:calc(1240px + var(--gut)*2)}
/* обучение: шире колонка заголовка; цветовая метка области вместо кривой верхней границы */
.edu{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.area{border-top:0;position:relative;padding-top:18px}
.area h4{display:flex;align-items:flex-start;gap:10px}
.area h4::before{content:"";margin-top:6px;width:10px;height:10px;border-radius:50%;flex:none;background:currentColor}
.area--o h4::before{background:var(--orange)} .area--b h4::before{background:var(--blue)} .area--g h4::before{background:var(--green)}
.area--y h4::before{background:var(--yellow)} .area--p h4::before{background:var(--purple)}
.area ol{padding-left:20px}
@media (max-width:1023px){ .edu,.hero__grid,.about,.team,.why,.rev,.visit,.cont,.sport,.stay{grid-template-columns:minmax(0,1fr)} }
/* верхняя строка карточек занятий — одинаковая высота, заголовки ряда на одной линии */
.ex__top{min-height:36px;align-items:flex-start;line-height:1.35}
.ex__kind{max-width:62%}
/* девиз прижат к низу карточки — в ряду карточек девизы на одной линии */
.person__motto{margin-top:auto!important}
.person__exp{margin-bottom:12px}
/* отзывы: карточка по высоте колонки с рейтингами */
@media (min-width:1024px){ .rev{align-items:stretch} .rev__track{align-self:stretch} .rev__track .rcard{height:100%} }
@media (max-width:767px){
  .mir{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mir__item{padding:18px;min-height:0;gap:16px}
  .mir__item p{font-size:15.5px;hyphens:auto}
  .have{grid-template-columns:repeat(2,minmax(0,1fr))}
  .have li{hyphens:auto}
}
@media (max-width:767px){ .pay{grid-template-columns:1fr} .pay__title{padding:8px 8px 0} }
@media (max-width:767px){
  .dost,.icons4,.gal,.gal--sm{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adv,.extra,.res,.benefits,.why__list,.news,.form__row,.tiles,.staff-grid,.steps,.pcards,.widgets,.rev-grid,.others,.media3,.cols2,.req,.pct{grid-template-columns:minmax(0,1fr)}
  .dost__it span{font-size:12.5px;hyphens:auto}
}
@media (max-width:767px){ .facts{grid-template-columns:repeat(2,minmax(0,1fr))} .facts dt{font-size:19px} .about-page{grid-template-columns:minmax(0,1fr)} }
@media (max-width:400px){
  .h2{font-size:24px}
  .h1{font-size:34px}
  .mir,.have{grid-template-columns:minmax(0,1fr)}
  .mir__item:last-child,.have li:last-child{grid-column:auto}
}

/* ==========================================================
   12.10.2026: режим дня, НОД, специалисты, цены с питанием
   ========================================================== */
/* вкладки групп */
.tabs{margin-top:8px}
.tabs__bar{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--tint);margin-bottom:16px;flex-wrap:wrap}
.tabs__btn{border:0;background:none;height:40px;padding:0 18px;border-radius:999px;font:500 14.5px/1 var(--f-body);color:var(--ink)}
.tabs__btn.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:var(--orange-t)}
.js .tabs__panel{display:none}
.js .tabs__panel.is-on{display:block}
.tabs__panel+.tabs__panel{margin-top:16px}
.js .tabs__panel+.tabs__panel{margin-top:0}

/* режим дня */
.rz{display:grid;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.rz li{display:grid;grid-template-columns:132px 1fr;gap:20px;padding:13px 20px;border-top:1px solid var(--line);align-items:baseline}
.rz li:first-child{border-top:0}
.rz li:nth-child(even){background:#FCFAF6}
.rz time{font:600 15.5px/1.3 var(--f-head);color:var(--orange-d);white-space:nowrap}
.rz span{font-size:15px;line-height:1.5;color:var(--ink)}

/* сетка НОД */
.tbl--nod{font-size:13.5px;min-width:620px}
.tbl--nod th,.tbl--nod td{vertical-align:top}
.tbl--nod td p{margin:0 0 6px;line-height:1.45}
.tbl--nod td p:last-child{margin-bottom:0}
.tbl--nod td b{color:var(--orange-d);font-weight:600;white-space:nowrap}
.nod__day{font:600 14px/1.3 var(--f-head);color:var(--ink);background:#FCFAF6;width:110px}
.nod__part{color:var(--muted);font-size:12.5px;width:60px}
.nod__pm td{border-top:1px dashed var(--line)}

/* специалист на странице занятия */
.person--wide{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start;padding:var(--pad-m);background:var(--cream)}
.person--wide .person__ph{margin:0;border-radius:var(--r);aspect-ratio:3/4}
.person--wide>*:not(.person__ph){padding:0}
.person--wide h3{font-size:22px;margin-bottom:8px}
.person--wide .person__motto{margin:0 0 14px!important;padding:0!important;border:0;font-size:15px}
.person__bio{font-size:14.5px;line-height:1.6;color:var(--text)}
.person__bio p{margin:0 0 10px}
.person__bio h4{font:600 15px/1.3 var(--f-head);color:var(--ink);margin:16px 0 8px}
.person__bio .dash{margin:6px 0 10px;gap:6px}
.person__more{margin:12px var(--pad-s) 0!important;padding:12px 0 0!important;border-top:1px solid var(--line)}
.person:not(:has(.person__motto)) .person__more{margin-top:auto!important}
.person__more summary{cursor:pointer;list-style:none;font:500 14px/1.3 var(--f-body);color:var(--orange-t);display:inline-block;padding:0;margin:0}
.person__more summary::-webkit-details-marker{display:none}
.person__more summary::after{content:" ↓"}
.person__more[open] summary::after{content:" ↑"}
.person__more .person__bio{padding:12px 0 0!important;font-size:14px}
.director .person__bio{font-size:15px}

/* цена пребывания с питанием */
.price small{font-size:.6em;font-weight:500;opacity:.8}
.price em{display:block;font:500 13.5px/1.3 var(--f-body);font-style:normal;margin-top:6px;opacity:.85}
.tbl__price small{display:block;font:400 12.5px/1.3 var(--f-body);color:var(--muted);margin-top:4px;white-space:normal}
.side__price small{font-size:.55em;font-weight:500;color:var(--muted)}
.coach__ava--ph{object-fit:cover;object-position:50% 25%;padding:0}

@media (max-width:767px){
  .rz li{grid-template-columns:1fr;gap:2px;padding:12px 16px}
  .person--wide{grid-template-columns:1fr}
  .person--wide .person__ph{max-width:260px}
}

/* ---------- отзывы с площадок (12.10.2026) ---------- */
.rev__lead{font-size:15.5px;color:var(--text);margin:-12px 0 20px;max-width:420px}
.rbig{transition:box-shadow .2s,transform .2s}
.rbig:hover{box-shadow:0 14px 30px -20px rgba(40,90,160,.45);transform:translateY(-1px)}
.rbig__val{color:var(--ink)}
.rwidget{position:relative;background:#fff;border-radius:var(--r-l);overflow:hidden;box-shadow:0 24px 50px -36px rgba(40,90,160,.55);display:flex;flex-direction:column}
.rwidget iframe{display:block;width:100%;border:0;background:#fff}
.rwidget__src{display:block;padding:12px 20px;font-size:13px;color:var(--muted);text-decoration:none;border-top:1px solid var(--line)}
.rwidget__src:hover{color:var(--orange-t)}
.revpage{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}
.revpage__side{display:grid;gap:16px;position:sticky;top:110px}
.platform{display:grid;gap:12px;padding:16px;border-radius:var(--r-l);background:var(--cream)}
.platform--gis{background:var(--mint)}
.platform .rbig{background:#fff}
.platform__btns{display:flex;gap:8px;flex-wrap:wrap}
.rev__ratings--row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 16px}
@media (max-width:1023px){ .revpage{grid-template-columns:minmax(0,1fr)} .revpage__side{position:static} }
@media (max-width:767px){ .rev__ratings--row{grid-template-columns:1fr} .rev__lead{margin-top:-8px} }

/* Мобильная версия: шапки блоков с кнопкой справа — заголовок по левому краю */
@media (max-width:767px){
  .sec__head--row{flex-direction:column;align-items:flex-start;gap:12px}
  .sec__head--row .link-arrow{padding-bottom:0}
}

/* ===== Рабочая версия сайта (14.10.2026) ===== */
/* Подписи к фото: полные названия помещений, переносятся в несколько строк */
.gal__it span{right:auto;max-width:calc(100% - 24px);white-space:normal;line-height:1.3;text-align:left}
@media (max-width:767px){.gal__it span{left:8px;bottom:8px;max-width:calc(100% - 16px);padding:5px 9px;font-size:11.5px}}
/* Видео в сетке: первый кадр как обложка */
.gal__it video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;background:#1d2a33}
.gal__it--vid span{background:var(--orange);color:#fff}
.gal--video{grid-auto-rows:220px;margin-top:4px}
@media (max-width:767px){.gal--video{grid-auto-rows:180px}}
/* Живая Яндекс Карта */
.cont__frame{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Фото в блоке «Физкультура» */
figure.sport__ph{position:relative;overflow:hidden;margin:0;background:none}
figure.sport__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
figure.sport__ph figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--ink)}
/* Новость без фото — фирменная обложка */
.nw__ph--empty{background:linear-gradient(135deg,var(--orange) 0%,#FFB347 100%);padding:16px}
.nw__badge{font:600 17px/1.25 var(--f-head);color:#fff;text-align:center;max-width:90%}
/* Документ без файла — просто строка списка */
.doc--text{cursor:default}
.doc--text:hover{border-color:var(--line);background:none}
/* Политика конфиденциальности */
.policy h2{margin:28px 0 8px}
.policy ul{margin:0 0 12px}
@media (max-width:767px){
  .gal{grid-auto-rows:170px}
  .gal__it span{left:0;right:0;bottom:0;max-width:none;border-radius:0;padding:22px 9px 7px;font-size:11.5px;line-height:1.25;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0));box-shadow:none}
  .gal__it--video span,.gal__it--vid span{background:linear-gradient(to top,rgba(232,93,4,.95),rgba(232,93,4,0));color:#fff}
}
/* Блок «Физкультура»: главное фото + миниатюры с фото и видео */
.sport__ph.sport__gal{display:grid;grid-template-rows:1fr auto;place-items:stretch;gap:8px;background:none;min-height:0;border-radius:0}
.sport__gal button{position:relative;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:var(--tint);cursor:pointer}
.sport__gal img,.sport__gal video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.sport__main{min-height:220px}
.sport__main span{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--ink)}
.sport__more{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sport__more button{aspect-ratio:1}
.sport__vid span{position:absolute;inset:auto 0 0 0;padding:14px 6px 5px;font-size:11px;color:#fff;background:linear-gradient(to top,rgba(232,93,4,.95),rgba(232,93,4,0))}
.lesson-note{background:var(--tint);border-radius:var(--r);padding:14px 18px;margin:0 0 16px}
/* «Здоровье и движение»: левая колонка (текст + фото) и карточки справа заканчиваются на одной линии */
@media (min-width:1024px){
  .sport{grid-template-rows:auto 1fr;align-items:stretch}
  .benefits{align-content:stretch;grid-auto-rows:1fr}
  .sport__ph.sport__gal{align-self:stretch;height:100%}
  .sport__main{min-height:280px}
  .sport__main img{position:absolute;inset:0}
}
