/* Вариант 01 SPORT — выбранная клиентом концепция (пакет sport-refinement-v3).
   Белая сцена, тяжёлая типографика, уличные иллюстрации, компактные фотокарточки. */

/* Локальные файлы Inter Tight (OFL 1.1, лицензия рядом: /static/fonts/OFL-InterTight.txt).
   Тяжёлое кириллическое начертание 800–900 без подмены Regular. */
@font-face{
  font-family:"Inter Tight";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/static/fonts/inter-tight-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:"Inter Tight";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/static/fonts/inter-tight-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Inter Tight";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/static/fonts/inter-tight-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+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --red:#ec121c; --red-dark:#c60d15; --teal:#ec121c; --teal-dark:#c60d15;
  --ink:#0b0b0b; --muted:#656565; --line:#e6e3de; --surface:#f6f4f1; --white:#fff;
  --radius:10px; --radius-sm:6px; --shadow:0 16px 34px rgba(11,11,11,.10);
  --wrap:1240px;
  --font-ui:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:"Inter Tight","Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
html{scroll-padding-top:104px}
body.theme-sport{font-family:var(--font-ui);background:#fff;color:var(--ink);font-size:17px}
/* Единая адаптивная сетка страницы (редакция 5): одна переменная отступа и один ограничитель.
   Поля: 1280 → ~43, 1440 → 48, 1920 → 64, ultrawide → ограничитель 2240 px. */
body.theme-sport{--page-gutter:clamp(20px,3.333vw,96px);--page-max:2240px}
.theme-sport .wrap{
  box-sizing:border-box;
  width:min(var(--page-max),calc(100% - var(--page-gutter) - var(--page-gutter)));
  max-width:none;
  margin-inline:auto;
  /* только горизонталь: вертикальные отступы принадлежат секциям и компонентам */
  padding-inline:0;
}
.theme-sport h1,.theme-sport h2,.theme-sport h3,.theme-sport h4{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;line-height:1.04}
.theme-sport h2{font-size:clamp(27px,3.1vw,42px)}
.theme-sport h3{font-size:clamp(19px,1.7vw,24px);letter-spacing:-.02em}
.theme-sport a{color:var(--ink)}
.theme-sport a:hover{color:var(--red)}
.theme-sport .section{padding:clamp(34px,4vw,56px) 0}
.theme-sport .section.tint{background:var(--surface)}
.theme-sport .section-head{margin-bottom:clamp(20px,1.8vw,28px)}

/* кнопки */
.theme-sport .btn{border-radius:6px;font-weight:800;letter-spacing:.01em;padding:14px 26px;min-height:48px}
.theme-sport .btn-primary{background:var(--red);color:#fff;box-shadow:none}
.theme-sport .btn-primary:hover{background:var(--red-dark)}
.theme-sport .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.theme-sport .btn-ghost:hover{background:var(--ink);color:#fff}
.theme-sport .btn-outline{background:transparent;border:1.5px solid var(--ink);color:var(--ink);border-radius:6px}
.theme-sport .btn-outline:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.theme-sport .btn-sm{padding:11px 20px;min-height:42px;font-size:15px}

/* шапка: пункты меню из базы, телефон клуба и «Записаться» */
.theme-sport .site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(180%) blur(8px)}
/* В главном меню базы сайта десять пунктов: в один ряд со знаком и действиями они
   помещаются только на широких экранах. Базовый вид — два ряда (знак и действия, ниже
   пункты меню); один ряд включается с 1800 px. Знак не сжимается: раньше flex отдавал
   его ширину меню, и логотип исчезал на ноутбучных ширинах. */
.theme-sport .header-inner{min-height:100px;height:auto;gap:12px 20px;flex-wrap:wrap;align-items:center;padding-block:10px}
.theme-sport .brand{display:flex;align-items:center;min-height:44px;flex:0 0 auto;order:1}
.theme-sport .header-actions{order:2;margin-left:auto;gap:10px}
.theme-sport .nav{order:3;flex:1 0 100%;justify-content:flex-start;gap:clamp(14px,2vw,26px);margin-left:0}
.theme-sport .header-phone{display:none;font-size:15px;font-weight:800;letter-spacing:.01em;color:var(--ink);white-space:nowrap;padding:8px 4px}
.theme-sport .header-phone:hover{color:var(--red)}
@media (min-width:1800px){
  .theme-sport .header-inner{height:100px;min-height:0;flex-wrap:nowrap;padding-block:0}
  .theme-sport .brand{order:1}
  .theme-sport .nav{order:2;flex:0 1 auto;justify-content:flex-end;margin-left:auto;gap:clamp(18px,2.6vw,34px)}
  .theme-sport .header-actions{order:3;margin-left:clamp(10px,1.6vw,18px)}
  .theme-sport .header-phone{display:block}
}
/* ссылка знака: видимый фокус с клавиатуры в палитре сайта */
.theme-sport .brand:focus-visible{outline:3px solid var(--red);outline-offset:4px;border-radius:6px}
/* логотип: готовый файл 1798×464, ширина по ТЗ 280–320 (стартовое 300), высота по пропорциям */
.theme-sport .brand img{display:block;width:clamp(280px,22vw,300px);height:auto;max-width:100%;object-fit:contain}
.theme-sport .nav a{font-size:15px;font-weight:700;letter-spacing:.01em;border-bottom:0;padding:8px 0;color:var(--ink)}
.theme-sport .nav a:hover,.theme-sport .nav a.active{color:var(--red)}
.theme-sport .header-book{min-width:158px;justify-content:center}
.theme-sport .mobile-nav-phone{font-weight:800;color:var(--ink)}

/* hero: фотографическая сцена внутри общего контейнера — правый край фото совпадает с правым
   краем карточки груминга, левый край текста — с левым краем карточки дрессировки. */
.sp-hero{background:#fff}
.sp-hero-inner{position:relative;overflow:hidden;display:flex;align-items:center;min-height:clamp(540px,33vw,660px)}
.sp-hero-photo{position:absolute;inset:0 0 0 33%;z-index:0}
.sp-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:76% 60%}
.sp-hero-photo::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,#fff 0%,rgba(255,255,255,.93) 10%,rgba(255,255,255,.62) 24%,rgba(255,255,255,0) 46%),
  linear-gradient(0deg,rgba(255,255,255,.28),rgba(255,255,255,0) 22%)}
.sp-hero-copy{position:relative;z-index:1;width:56%;max-width:min(720px,58%);padding:clamp(26px,2.9vw,40px) 0 clamp(22px,2.6vw,30px)}
.sp-hero h1{font-family:var(--font-display);font-weight:900;font-size:clamp(84px,6.05vw,116px);
  line-height:.92;letter-spacing:-.045em;margin:0 0 14px}
.sp-hero h1 span{color:var(--red)}
.sp-subline{font-size:17px;line-height:1.35;margin:0 0 16px;max-width:520px;color:var(--ink)}
.sp-actions{display:flex;flex-wrap:wrap;gap:14px}
.sp-actions .btn{min-height:48px;padding:12px 24px;font-size:15px}
.sp-benefits{display:flex;flex-wrap:wrap;gap:clamp(16px,2.4vw,32px);list-style:none;margin:22px 0 0;padding:0}
.sp-benefits li{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4;font-weight:600;color:var(--ink)}
.sp-benefits svg{width:24px;height:24px;flex:0 0 24px;fill:var(--red);margin-top:2px}
.sp-hero-caption{position:absolute;z-index:2;top:clamp(18px,3vw,36px);right:clamp(18px,3vw,34px);
  margin:0;text-align:right;color:#fff;text-transform:uppercase;font-size:10px;line-height:2;
  letter-spacing:.18em;font-weight:600;
  text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 16px rgba(0,0,0,.55);pointer-events:none}

/* две фотокарточки направлений */
.sp-dirs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.6vw,24px);padding-block:10px 0}
.sp-dir{position:relative;display:block;overflow:hidden;border-radius:10px;background:#272d28;
  min-height:clamp(312px,20.4vw,392px);color:#fff;text-decoration:none}
.sp-dir img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:74% 58%;
  transition:transform .5s ease}
.sp-dir::after{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(17,26,20,.93) 0%,rgba(17,26,20,.84) 32%,rgba(17,26,20,.46) 64%,rgba(17,26,20,.04) 90%)}
.sp-dir-body{position:relative;z-index:2;padding:clamp(22px,2vw,30px) clamp(24px,2.2vw,34px) clamp(20px,1.8vw,26px);max-width:min(62%,520px)}
.sp-dir-title{font-family:var(--font-display);font-weight:900;font-size:clamp(28px,3vw,40px);
  line-height:.98;letter-spacing:-.03em;margin:0 0 10px;color:#fff}
.sp-dir p{font-size:14px;line-height:1.4;margin:0 0 14px;color:#fff;max-width:330px}
.sp-dir-btn{display:inline-flex;align-items:center;gap:12px;min-height:42px;padding:10px 22px;
  border-radius:6px;background:var(--red);color:#fff;font-size:13px;font-weight:800;letter-spacing:.01em}
.sp-dir--groom .sp-dir-btn{background:#fff;color:#111}
.sp-dir-price{display:block;margin-top:12px;font-size:11.5px;line-height:1.45;color:rgba(255,255,255,.9)}
.sp-dir-price b{color:#fff;font-weight:800;white-space:nowrap}
.sp-dir:hover{color:#fff;text-decoration:none}
.sp-dir:hover img{transform:scale(1.04)}
.sp-dir:hover .sp-dir-btn{filter:brightness(1.05)}

/* компактная горизонтальная схема «Как это работает».
   Горизонтальная геометрия — у контейнера .wrap, вертикальная — у самого блока (редакция 5). */
.sp-process{background:#fff}
.sp-process-grid{display:grid;grid-template-columns:minmax(220px,27%) minmax(0,1fr);
  gap:clamp(16px,2.4vw,48px);padding-block:clamp(40px,3.4vw,56px) 0;align-items:start}
.sp-process-title small{display:block;color:var(--red);font-size:10.5px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.sp-process-title h2{font-family:var(--font-display);font-weight:900;font-size:clamp(26px,3vw,38px);
  line-height:1;letter-spacing:-.03em;margin:0}
.sp-process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}
.sp-process-steps li{border-left:1px solid var(--line);padding:0 clamp(10px,1.4vw,20px);margin:0}
.sp-step-head{display:flex;align-items:center;justify-content:space-between;color:var(--red);margin-bottom:16px}
.sp-step-head svg{width:22px;height:22px;fill:var(--red)}
.sp-step-head em{font-style:normal;font-size:11px;font-weight:700;color:var(--red)}
.sp-process-steps b{display:block;font-size:13.5px;line-height:1.35;font-weight:800}
.sp-process-steps p{font-size:12px;color:var(--muted);line-height:1.45;margin:8px 0 0}

/* подбор по задаче: разделение отступами, без сквозных линий через поля страницы */
.sp-tasks{background:#fff;padding-block:clamp(40px,3.4vw,56px) clamp(56px,4.6vw,72px)}
.sp-tasks-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:clamp(16px,1.4vw,22px)}
.sp-tasks-head h2{font-size:clamp(20px,2vw,28px);margin:0}
.sp-tasks-head span{color:var(--muted);font-size:15px}
.sp-task-row{display:flex;flex-wrap:wrap;gap:10px}
.sp-task{display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:999px;
  padding:11px 20px;font-weight:700;font-size:15px;background:#faf9f7;color:var(--ink);min-height:46px}
.sp-task svg{width:20px;height:20px;flex:0 0 20px;stroke:var(--red);fill:none;stroke-width:1.7}
.sp-task:hover{border-color:var(--red);background:#fff;text-decoration:none;color:var(--red)}

/* услуги списком-карточками */
.sp-svc{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(276px,100%),1fr));gap:0;border-top:1px solid var(--line)}
.sp-svc-card{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.4vw,30px);border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:#fff;transition:background .2s}
.sp-svc-card:hover{background:var(--surface)}
.sp-svc-num{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--red)}
.sp-svc-card h3{margin:0;font-size:clamp(21px,2vw,26px)}
.sp-svc-card p{margin:0;color:var(--muted);font-size:15.5px}
.sp-svc-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--ink);margin-top:2px}
.sp-svc-meta b{font-weight:800;white-space:nowrap}
.sp-svc-card .btn{margin-top:auto;align-self:flex-start}

/* о клубе / доверие */
.sp-trust{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:center}
.sp-trust-media{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);background:var(--surface)}
.sp-trust-media img{width:100%;height:100%;object-fit:cover}
.sp-trust-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.sp-trust-list li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:14px;margin:0}
.sp-trust-list b{display:block;font-size:16.5px;margin-bottom:3px}
.sp-trust-list span{color:var(--muted);font-size:15px}
.sp-trust-list em{font-style:normal;font-weight:800;color:var(--red);font-size:14px;letter-spacing:.08em}

/* груминг */
.sp-groom{background:#0b0b0b;color:#f6f4f1}
.sp-groom a{color:#f6f4f1}
.sp-groom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(34px,4.6vw,64px) 0}
.sp-groom h2{color:#fff}
.sp-groom p{color:rgba(246,244,241,.78)}
.sp-groom .btn-ghost{color:#fff;border-color:rgba(255,255,255,.62)}
.sp-groom .btn-ghost:hover{background:#fff;color:#0b0b0b;border-color:#fff}
.sp-groom-media{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sp-groom-media img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius)}
.sp-groom-media figure{margin:0}
.sp-groom-media figure:nth-child(2){transform:translateY(26px)}
.sp-kicker{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:18px}
.sp-kicker::before{content:"";width:38px;height:2px;background:currentColor}

/* площадки */
.sp-places{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px)}
.sp-place{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.sp-place img{width:100%;aspect-ratio:16/10;object-fit:cover}
.sp-place-body{padding:22px 24px 26px}
.sp-place h3{margin:0 0 6px;font-size:21px}
.sp-place .addr{font-weight:800;font-size:16px;margin:0 0 8px}
.sp-place p{margin:0;color:var(--muted);font-size:15px}

/* таблицы, FAQ, галерея, служебные блоки */
.theme-sport .section-head{align-items:baseline}
.theme-sport .section-head h2{margin:0}
.theme-sport .table-wrap{border-radius:var(--radius);border-color:var(--line)}
.theme-sport .data-table th{background:var(--surface);text-transform:uppercase;font-size:12.5px;letter-spacing:.08em}
.theme-sport .data-table th,.theme-sport .data-table td{padding:16px 20px}
.theme-sport .data-table tr.row-total td{background:#0b0b0b}
.theme-sport .faq details{border-radius:var(--radius);border-color:var(--line);background:#fff}
.theme-sport .faq summary::after{color:var(--red);font-weight:800}
.theme-sport .gallery figure{border-radius:var(--radius-sm);aspect-ratio:4/5}
.theme-sport .card{border-radius:var(--radius);background:#fff}
.theme-sport .card-ico{border-radius:var(--radius-sm);background:rgba(236,18,28,.10)}
.theme-sport .cta-band{background:#0b0b0b;border-radius:0}
.theme-sport .cta-band .btn{background:var(--red);color:#fff;border-radius:6px}
.theme-sport .line-tab,.theme-sport .chip-body,.theme-sport .date-btn,.theme-sport .slot{border-radius:var(--radius-sm)}
.theme-sport .line-tab.active{background:var(--red);border-color:var(--red);color:#fff}
.theme-sport .bnum{background:var(--red);border-radius:4px}
.theme-sport .summary-card,.theme-sport .booking-form,.theme-sport .place{border-radius:var(--radius)}
.theme-sport .form-card a,.theme-sport .muted a{text-decoration:underline;text-underline-offset:2px}
.theme-sport .form-card a:hover,.theme-sport .muted a:hover{color:var(--red)}
.theme-sport .chip input:checked + .chip-body{box-shadow:0 0 0 2px rgba(236,18,28,.16);background:#fff5f5}

/* подвал */
.theme-sport .site-footer{background:#0b0b0b;color:#b9b5ae;border-top:4px solid var(--red)}
.theme-sport .footer-logo--mark{width:auto;height:auto;max-width:clamp(200px,22vw,260px);max-height:none;object-fit:contain;
  margin-bottom:16px}
.theme-sport .footer-grid h3{text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:#fff}
.theme-sport .footer-list a{color:#d4d0c9}
.theme-sport .footer-bottom{border-top-color:rgba(255,255,255,.12)}

/* Широкая сетка не растягивает текст: дополнительную площадь получают фото и сетки. */
.theme-sport .sp-trust-list span{max-width:60ch}
.theme-sport .sp-trust-list b{max-width:40ch}
.theme-sport .sp-place p{max-width:48ch}
.theme-sport .sp-svc-card p{max-width:52ch}
.theme-sport .sp-groom p{max-width:62ch}
.theme-sport .sp-tasks-head span{max-width:52ch}

/* Каталог: на широких экранах не больше четырёх колонок — иначе справа остаются пустые
   ячейки сетки и «висящая» линия вместо контура. */
@media (min-width:1500px){
  .sp-svc{grid-template-columns:repeat(4,minmax(0,1fr))}
}


/* кнопка меню: доступная область 44×44 на всех ширинах, где она показана (site.css включает её до 980) */
@media (max-width:1180px){
  .theme-sport .header-phone{display:none}
}

@media (max-width:980px){
  .theme-sport .burger{display:grid;place-items:center;width:44px;height:44px;padding:0;font-size:24px}
}

/* планшет */
@media (max-width:1050px) and (min-width:721px){
  .sp-hero-copy{width:64%;max-width:none}
  .sp-hero h1{font-size:clamp(64px,8vw,96px)}
  .sp-hero-inner{min-height:clamp(500px,52vw,600px)}
  .sp-benefits{gap:16px}
  .sp-dir{min-height:340px}
  .sp-dir-body{max-width:60%}
  .sp-dir-title{font-size:clamp(26px,3.4vw,34px)}
  .sp-process-grid{grid-template-columns:1fr;gap:22px}
  .sp-process-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sp-process-steps li:first-child{border-left:0;padding-left:0}
  .sp-trust,.sp-groom-grid{grid-template-columns:1fr}
  .sp-groom-media{order:-1}
  .sp-groom-media figure:nth-child(2){transform:none}
}

/* мобильный: отдельная композиция, сцена сверху, текст уходит в белый */
@media (max-width:720px){
  body.theme-sport{--page-gutter:18px}
  .theme-sport .header-inner{height:auto;min-height:82px;gap:8px 12px;padding-block:8px}
  .theme-sport .brand img{width:clamp(150px,66vw,246px);height:auto}
  .theme-sport .header-book{display:none}
  .theme-sport .nav{display:none}

  .sp-hero-inner{display:block;min-height:0}
  .sp-hero-photo{position:absolute;inset:0 0 auto 0;height:322px}
  .sp-hero-photo img{object-position:90% 42%}
  .sp-hero-photo::after{background:
    linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.62) 28%,rgba(255,255,255,0) 70%),
    linear-gradient(0deg,#fff 0%,rgba(255,255,255,.9) 26%,rgba(255,255,255,0) 68%)}
  .sp-hero-copy{width:100%;max-width:none;padding:164px 0 16px}
  .sp-hero h1{font-size:clamp(40px,12vw,50px);line-height:.95;letter-spacing:-.045em;margin:0 0 10px}
  .sp-subline{font-size:13px;line-height:1.4;max-width:280px;margin:0 0 14px}
  .sp-actions{gap:8px;flex-direction:column}
  .sp-actions .btn{width:100%;min-height:46px;padding:11px 14px;font-size:14px}
  .sp-benefits{gap:10px;margin-top:18px;justify-content:space-between;flex-wrap:nowrap}
  .sp-benefits li{font-size:9px;gap:6px;flex-direction:column;line-height:1.35;max-width:33%}
  .sp-benefits svg{width:22px;height:22px;flex:0 0 22px}
  .sp-hero-caption{display:none}

  .sp-dirs{grid-template-columns:1fr;gap:10px;padding:14px 0 0}
  .sp-dir{min-height:224px}
  .sp-dir img{object-position:88% 52%}
  .sp-dir::after{background:linear-gradient(90deg,rgba(17,26,20,.95) 0%,rgba(17,26,20,.9) 46%,rgba(17,26,20,.42) 74%,rgba(17,26,20,.06) 100%)}
  .sp-dir-body{max-width:60%;padding:18px 16px 16px}
  .sp-dir-title{font-size:clamp(26px,7.4vw,32px);margin-bottom:8px}
  .sp-dir p{font-size:12.5px;line-height:1.38;margin-bottom:12px}
  .sp-dir-btn{min-height:38px;padding:8px 16px;font-size:11.5px;gap:8px}
  .sp-dir-price{font-size:10.5px;margin-top:10px}

  .sp-process-grid{grid-template-columns:1fr;gap:20px;padding-block:clamp(24px,6vw,36px) 0}
  .sp-process-title h2{font-size:clamp(26px,8vw,32px)}
  .sp-process-steps{grid-template-columns:1fr 1fr;gap:20px 0}
  .sp-process-steps li{padding:0 10px}
  .sp-process-steps li:nth-child(odd){border-left:0;padding-left:0}
  .sp-process-steps b{font-size:12.5px}
  .sp-process-steps p{font-size:11px}

  .sp-tasks{padding-block:clamp(24px,6vw,36px)}
  .sp-task{font-size:13px;min-height:42px;padding:9px 15px}
  .sp-svc{grid-template-columns:1fr}
  .sp-svc-card{border-right:0}
  .sp-trust,.sp-groom-grid,.sp-places{grid-template-columns:1fr}
  .sp-groom-media{order:-1}
  .sp-groom-media figure:nth-child(2){transform:none}
  .theme-sport .header-book{display:none}

  body.theme-sport{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .theme-sport .mobile-cta{bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;
    border-radius:8px;font-size:15px;box-shadow:0 10px 26px rgba(11,11,11,.22)}
}

@media (max-width:420px){
  .sp-benefits li{font-size:8.5px}
  .sp-dir-body{max-width:60%;padding:16px 14px 14px}
  .sp-dir p{font-size:12px}
}

/* Низкое окно (в том числе масштаб страницы 200% на большом мониторе): приоритет у заголовка
   и кнопки, а не у полной высоты фотографии. */
@media (min-width:721px) and (max-height:700px){
  .sp-hero-inner{min-height:max(360px,calc(100vh - 150px))}
  .sp-hero h1{font-size:clamp(48px,5vw,84px)}
  .sp-hero-copy{padding-block:20px 18px}
  .sp-benefits{margin-top:16px}
}

/* ================= «О клубе» и «Кинологам» (29.10.2026) =================
   Своя композиция страниц: hero, профиль руководителя, сетка команды, подход,
   площадки, финальное действие. Всё внутри .page-about / .page-kinologam —
   глобальные теги (figure, img, h2) не затронуты. */
.page-about,.page-kinologam{--ab-gap:clamp(36px,4.2vw,88px)}
.page-about [id]{scroll-margin-top:120px}

/* --- общие мелочи блоков --- */
.page-about .ab-kicker,.page-kinologam .ab-kicker{
  margin:0 0 14px;font-size:12.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--red)}
.page-about h1,.page-kinologam h1{
  font-family:var(--font-display);font-weight:900;line-height:.94;letter-spacing:-.03em;
  font-size:clamp(36px,5.2vw,76px);margin:0 0 18px;max-width:20ch}
.page-about .ab-lead,.page-kinologam .ab-lead{
  margin:0 0 26px;font-size:clamp(17px,1.35vw,21px);line-height:1.45;color:var(--muted);max-width:56ch}
.page-about h2,.page-kinologam h2{
  font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1.04;
  font-size:clamp(28px,3.2vw,46px);margin:0}
.page-about h3,.page-kinologam h3{
  font-family:var(--font-display);font-weight:800;font-size:clamp(19px,1.6vw,24px);
  letter-spacing:-.01em;margin:0 0 6px}
.page-about p,.page-kinologam p{margin:0 0 12px;max-width:62ch;line-height:1.6}
.page-about .ab-muted,.page-kinologam .ab-muted{color:var(--muted)}
.page-about .ab-role{
  margin:0 0 12px;font-size:13px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--red)}
.page-about .ab-actions,.page-kinologam .ab-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.page-about .ab-link,.page-kinologam .ab-link{
  display:inline-block;margin-top:14px;font-weight:800;font-size:15px;
  color:var(--ink);border-bottom:2px solid var(--red);padding-bottom:2px;text-decoration:none}
.page-about .ab-link:hover,.page-kinologam .ab-link:hover{color:var(--red)}
.page-about .ab-tags,.page-kinologam .ab-tags{
  display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 0;padding:0}
.page-about .ab-tags li,.page-kinologam .ab-tags li{
  font-size:12.5px;font-weight:700;color:var(--ink);background:var(--surface);
  border:1px solid var(--line);border-radius:999px;padding:5px 11px;white-space:nowrap}
.page-about .btn,.page-kinologam .btn{text-decoration:none}

/* --- первый экран: 42% текст / 58% портреты --- */
.ab-hero{padding:clamp(24px,2.6vw,44px) 0 clamp(26px,2.8vw,44px)}
.ab-hero-inner{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:clamp(24px,3.4vw,56px);align-items:center}
.ab-hero-note{margin:18px 0 0;font-size:15px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.ab-hero-note a{color:var(--ink);font-weight:700}
.ab-hero-note a:hover{color:var(--red)}
.ab-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.2vw,18px);align-items:end}
.ab-collage-item{margin:0}
.ab-collage-item img{
  display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  border-radius:14px;background:var(--surface)}
.ab-collage-item figcaption{
  margin-top:9px;font-size:13px;line-height:1.4;color:var(--ink);opacity:.72;font-weight:600}
.ab-collage-item--1 img{aspect-ratio:4/5}
.ab-collage-item--2{margin-bottom:clamp(14px,2vw,28px)}
.ab-collage-item--3{margin-bottom:clamp(28px,4vw,60px)}

/* --- секции --- */
.page-about .ab-section,.page-kinologam .ab-section{padding-block:var(--ab-gap)}
.page-about .ab-section--tint,.page-kinologam .ab-section--tint{
  background:var(--surface);border-radius:0}
.ab-section-head{display:grid;gap:12px;margin-bottom:clamp(20px,2.2vw,30px);max-width:70ch}
.ab-section-head p{color:var(--muted);margin:0;font-size:clamp(16px,1.2vw,19px)}

/* --- профиль руководителя --- */
.ab-leader{
  display:grid;grid-template-columns:minmax(0,34fr) minmax(0,66fr);
  gap:clamp(20px,3vw,48px);align-items:start;margin-bottom:clamp(28px,3vw,44px)}
.ab-leader-photo{margin:0}
.ab-leader-photo img{
  display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  border-radius:16px;background:var(--surface)}
.ab-leader-copy{align-self:center}
.ab-leader-copy h3{font-size:clamp(26px,2.6vw,34px)}

/* --- сетка команды: 3 / 2 / 1 --- */
.ab-team{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,1.8vw,26px);
  grid-template-columns:repeat(3,minmax(0,1fr))}
.ab-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column}
.ab-card-photo{margin:0}
.ab-card-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.ab-card-body{padding:clamp(16px,1.4vw,22px)}
.ab-card-body p{font-size:15px;line-height:1.55}
.ab-card--text{background:var(--surface)}

/* --- подход: три шага --- */
.ab-steps{list-style:none;margin:0;padding:0;display:grid;gap:clamp(18px,2vw,30px);
  grid-template-columns:repeat(3,minmax(0,1fr))}
.ab-steps li{background:#fff;border-radius:14px;padding:clamp(18px,1.6vw,26px)}
.ab-step-num{display:block;font-family:var(--font-display);font-weight:900;
  font-size:clamp(26px,2.4vw,34px);color:var(--red);line-height:1;margin-bottom:12px}
.ab-steps p{font-size:15px;margin:0}

/* --- история и основатели --- */
.ab-section--history .ab-history-copy{max-width:820px}
.ab-history-copy p{font-size:16px;line-height:1.6;margin:0 0 14px}
.ab-facts{list-style:none;margin:0 0 clamp(20px,2.4vw,34px);padding:0;display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
.ab-facts li{background:#fff;border-radius:14px;padding:clamp(14px,1.4vw,20px);display:flex;
  flex-direction:column;gap:4px;min-width:0}
.ab-facts strong{font-family:var(--font-display);font-weight:900;font-size:clamp(22px,2.2vw,30px);
  color:var(--red);line-height:1.1}
.ab-facts span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.ab-milestones{list-style:none;margin:0 0 clamp(20px,2.4vw,34px);padding:0;display:grid;
  gap:clamp(14px,1.6vw,22px);grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.ab-milestones li{background:#fff;border-radius:14px;padding:clamp(16px,1.6vw,24px);min-width:0}
.ab-milestone-date{display:block;font-size:13px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.ab-milestones h3{font-size:18px;margin:0 0 8px}
.ab-milestones p{font-size:15px;line-height:1.55;margin:0}
.ab-founders{list-style:none;margin:0;padding:0;display:grid;gap:clamp(14px,1.6vw,22px);
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.ab-founders li{border:1px solid var(--line);border-radius:16px;padding:clamp(18px,1.8vw,26px);min-width:0}
.ab-founders h3{margin:0 0 4px}

/* --- площадки --- */
.ab-venues{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,1.8vw,26px);
  grid-template-columns:repeat(2,minmax(0,1fr))}
.ab-venues li{border:1px solid var(--line);border-radius:16px;padding:clamp(18px,1.8vw,28px)}
.ab-address{font-weight:800;font-size:17px;margin:0 0 6px}

/* --- финальное действие --- */
.ab-cta{background:var(--ink);color:#fff;padding-block:clamp(40px,4.6vw,72px)}
.ab-cta h2{color:#fff}
.ab-cta p{color:#d7d5d1}
.ab-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,3vw,44px);align-items:center}
.ab-cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.ab-cta .btn-outline{border-color:#fff;color:#fff}
.ab-cta .btn-outline:hover{background:#fff;color:var(--ink)}
.ab-cta-phone a{color:#fff;font-weight:800;font-size:clamp(18px,1.6vw,22px)}
.ab-cta-phone .ab-muted{color:#b9b6b1}

/* --- «Кинологам» --- */
.kg-hero{padding:clamp(28px,3vw,52px) 0 clamp(24px,2.6vw,40px)}
.kg-hero .ab-lead{max-width:62ch}
.page-kinologam .kg-hero + .ab-section{padding-top:clamp(10px,1.2vw,20px)}
.kg-intro{display:grid;gap:14px;max-width:70ch}
.kg-lead{font-size:clamp(17px,1.3vw,20px);line-height:1.55}
.kg-benefits{list-style:none;margin:0;padding:0;display:grid;gap:clamp(14px,1.6vw,24px);
  grid-template-columns:repeat(3,minmax(0,1fr))}
.kg-benefits li{background:#fff;border-radius:14px;padding:clamp(18px,1.6vw,26px)}
.kg-benefits p{font-size:15px;margin:0}
/* нечётное число карточек: последняя занимает всю строку, пустой полосы справа нет */
.kg-benefits li:last-child:nth-child(3n+1){grid-column:1/-1}
.kg-whom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,48px)}
.kg-list{margin:14px 0 0;padding-left:20px;display:grid;gap:6px;font-size:16px}
.kg-whom-copy{align-self:start;background:var(--surface);border-radius:14px;padding:clamp(20px,2.2vw,28px)}
.kg-call{font-weight:800;font-size:clamp(18px,1.5vw,22px)}
.kg-places{margin:14px 0 0;padding-left:18px;color:#d7d5d1;font-size:15px}

/* --- адаптив --- */
@media (max-width:1000px){
  .ab-hero-inner{grid-template-columns:minmax(0,1fr)}
  .ab-collage{order:-1;grid-template-columns:repeat(3,minmax(0,1fr))}
  .ab-collage-item figcaption{display:none}
  .ab-leader{grid-template-columns:minmax(0,1fr);gap:18px}
  .ab-leader-photo{max-width:420px}
  .ab-team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-steps,.kg-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kg-whom{grid-template-columns:minmax(0,1fr)}
  .ab-cta-inner{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:620px){
  .page-about,.page-kinologam{--ab-gap:clamp(36px,8vw,48px)}
  .page-about h1,.page-kinologam h1{font-size:clamp(34px,9vw,44px)}
  .ab-collage{gap:8px}
  .ab-team,.ab-steps,.ab-venues,.kg-benefits{grid-template-columns:minmax(0,1fr)}
  .ab-card-photo img{aspect-ratio:4/5}
  .ab-cta-phone{font-size:15px}
}

/* --- подбор цены по породе (общий прайс на странице не показываем) --- */
.breed-lookup{max-width:760px}
.breed-title{margin:0 0 10px;font-weight:700}
.breed-field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.breed-label{font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.breed-lookup input[type=search]{width:100%;max-width:420px;padding:12px 14px;border:1px solid var(--line);
  border-radius:10px;font:inherit;font-size:16px;background:#fff}
.breed-lookup input[type=search]:focus{outline:2px solid var(--red);outline-offset:1px}
.breed-hint{margin:0 0 14px;color:var(--muted);font-size:14px}
.breed-results{display:grid;gap:12px}
.breed-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;min-width:0}
.breed-card h3{margin:0 0 10px;font-size:18px}
.breed-line{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-top:1px solid #eef2f5;font-size:15px}
.breed-line:first-of-type{border-top:0}
.breed-line-label{color:var(--muted)}
.breed-line-value{font-weight:700;white-space:nowrap}
.breed-empty{margin:0;color:var(--muted)}
