/* Классы карточек названы ds-plate, а не ds-card: ds-card в основном файле
   уже занят плавающими карточками первого экрана, они абсолютно спозиционированы,
   и совпадение имён складывало ленту работ в стопку. */
/* ── Внутренние страницы ──────────────────────────────────────────
   Кейсы, услуги, статьи и обычные страницы. Живут по тем же правилам,
   что главная: контейнер в 1400 px с боковыми линиями, крупный заголовок
   шрифтом заголовков, рамки в 1 px и синий только как акцент.
   Подключается на всех страницах, кроме главной. */

.ds-page{padding:0 0 96px;overflow-x:clip}   /* искорки висят на -6px за краем:
   на широком это в поле страницы, на телефоне давало лишние 6px прокрутки */
.ds-page__head{position:relative;padding:74px 28px 40px;border-bottom:1px solid var(--ds-line)}
.ds-page__title{margin:0;font:600 clamp(42px,6vw,96px)/.98 var(--ds-font-display);
  text-transform:uppercase;letter-spacing:-.01em}
.ds-page__lead{margin:18px 0 0;max-width:60ch;color:var(--ds-gray);font:400 19px/1.55 var(--ds-font-text)}

/* хлебные крошки */
.ds-kroshki{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 20px;
  color:var(--ds-gray);font:400 14px/1.3 var(--ds-font-text)}
.ds-kroshki a{color:var(--ds-gray);text-decoration:none;border-bottom:1px solid transparent}
.ds-kroshki a:hover{color:var(--ds-blue-dark);border-bottom-color:currentColor}
.ds-kroshki span[aria-hidden]{opacity:.5}

/* ── текст статьи и описания кейса ────────────────────────────── */
.ds-prose{max-width:74ch;font:400 18px/1.68 var(--ds-font-text)}
.ds-prose > * + *{margin-top:20px}
.ds-prose h2{margin-top:44px;font:600 34px/1.12 var(--ds-font-display);text-transform:uppercase;letter-spacing:.005em}
.ds-prose h3{margin-top:32px;font:600 25px/1.2 var(--ds-font-display)}
.ds-prose ul,.ds-prose ol{padding-left:22px}
.ds-prose li + li{margin-top:8px}
.ds-prose blockquote{margin:28px 0;padding:20px 24px;background:var(--ds-tile);
  border-left:3px solid var(--ds-blue);border-radius:0 14px 14px 0}
.ds-prose blockquote p{margin:0}
.ds-prose a{color:var(--ds-blue-dark);text-underline-offset:3px}
.ds-prose img{max-width:100%;height:auto;border-radius:14px;display:block}
.ds-prose code{padding:2px 6px;background:var(--ds-badge);border-radius:6px;font-size:.92em}
.ds-prose table{width:100%;border-collapse:collapse;font-size:16px}
.ds-prose th,.ds-prose td{padding:11px 14px;border:1px solid var(--ds-line);text-align:left;vertical-align:top}
.ds-prose th{background:var(--ds-tile);font-weight:600}

/* ── сетка карточек: работы, услуги, статьи ───────────────────── */
.ds-grid{display:grid;gap:0;border-top:1px solid var(--ds-line)}
.ds-grid--3{grid-template-columns:repeat(3,1fr)}
.ds-grid--2{grid-template-columns:repeat(2,1fr)}
.ds-grid > *{border-bottom:1px solid var(--ds-line);border-right:1px solid var(--ds-line)}
.ds-grid--3 > *:nth-child(3n){border-right:0}
.ds-grid--2 > *:nth-child(2n){border-right:0}

.ds-plate{display:flex;flex-direction:column;gap:14px;padding:26px 28px 30px;
  text-decoration:none;color:inherit;background:var(--ds-bg);transition:background .18s ease}
.ds-plate:hover{background:var(--ds-tile)}
/* height:auto обязателен: WordPress печатает у картинки атрибуты width и height,
   и без него браузер берёт высоту из атрибута — мокап растягивался по вертикали
   и обрезался по бокам, от ноутбука оставался один экран. */
.ds-plate__shot{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:12px;display:block;
  background:var(--ds-badge)}
.ds-plate__kind{color:var(--ds-blue-dark);font:500 13px/1 var(--ds-font-text);
  text-transform:uppercase;letter-spacing:.08em}
.ds-plate__name{margin:0;font:600 26px/1.12 var(--ds-font-display);text-transform:uppercase}
.ds-plate__text{margin:0;color:var(--ds-gray);font:400 16px/1.5 var(--ds-font-text)}
.ds-plate__meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;color:var(--ds-gray);
  font:400 14px/1.3 var(--ds-font-text)}

/* ── кейс ─────────────────────────────────────────────────────── */
/* Страница кейса (тема 2.0.0) оформлена в assets/css/kejs.css; прежние классы .ds-case__* удалены. */
.ds-chip.ds-status{display:inline-flex}

/* ── услуга ─────────────────────────────────────────────────────
   Порядок разговора взят из макета «через возражения»: сперва снимаем
   главный страх, потом называем состав и цену, и только после этого
   рассказываем, как идёт работа. */
.ds-usluga__knopki{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

.ds-usluga__uslovia{position:relative;margin:0;display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--ds-line)}
.ds-usluga__uslovie{padding:26px 28px;border-right:1px solid var(--ds-line);display:grid;gap:6px;align-content:start}
.ds-usluga__uslovia > .ds-usluga__uslovie:last-child{border-right:0}
.ds-usluga__uslovie dt{color:var(--ds-gray);font:400 13px/1.3 var(--ds-font-text);
  text-transform:uppercase;letter-spacing:.08em}
.ds-usluga__uslovie dd{margin:0;font:600 22px/1.25 var(--ds-font-display)}

.ds-usluga__blok{position:relative;padding:48px 28px;border-bottom:1px solid var(--ds-line)}
.ds-usluga__zagolovok{margin:0 0 28px;font:600 clamp(26px,3vw,44px)/1.05 var(--ds-font-display);
  text-transform:uppercase;letter-spacing:-.005em}

.ds-usluga__spisok{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:16px 40px}
.ds-usluga__spisok--odna{grid-template-columns:1fr}
.ds-usluga__spisok li{position:relative;padding-left:26px;font:400 17px/1.55 var(--ds-font-text)}
.ds-usluga__spisok li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;
  border-radius:50%;background:var(--ds-blue)}

.ds-usluga__kartochki{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ds-usluga__kartochka{padding:28px;border:1px solid var(--ds-line);border-radius:18px}
.ds-usluga__kartochka h3{margin:0 0 10px;font:600 22px/1.25 var(--ds-font-display)}
.ds-usluga__kartochka p{margin:0;color:var(--ds-gray);font:400 16px/1.5 var(--ds-font-text)}

.ds-usluga__etapy{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ds-usluga__etap{display:grid;gap:8px;align-content:start;padding-top:18px;border-top:2px solid var(--ds-blue)}
.ds-usluga__nomer{margin:0;color:var(--ds-blue);font:600 15px/1 var(--ds-font-display);letter-spacing:.08em}
.ds-usluga__etap h3{margin:0;font:600 20px/1.2 var(--ds-font-display)}
.ds-usluga__etap p{margin:0;color:var(--ds-gray);font:400 16px/1.45 var(--ds-font-text)}

.ds-usluga__pakety{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ds-usluga__paket{padding:28px;border:1px solid var(--ds-line);border-radius:18px;display:grid;gap:12px;align-content:start}
.ds-usluga__paket h3{margin:0;font:600 22px/1.25 var(--ds-font-display)}
.ds-usluga__paket-cena{margin:0;color:var(--ds-blue);font:600 34px/1 var(--ds-font-display);letter-spacing:-.02em}
.ds-usluga__paket-srok{margin:0;color:var(--ds-gray);font:400 15px/1.4 var(--ds-font-text)}
.ds-usluga__paket-sostav{margin:0;color:var(--ds-gray);font:400 16px/1.5 var(--ds-font-text)}

.ds-usluga__voprosy{display:grid}
.ds-usluga__vopros{border-bottom:1px solid var(--ds-line)}
.ds-usluga__vopros summary{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 0;cursor:pointer;list-style:none;font:600 22px/1.3 var(--ds-font-display)}
.ds-usluga__vopros summary::-webkit-details-marker{display:none}
.ds-usluga__vopros p{margin:0 0 22px;max-width:70ch;color:var(--ds-gray);font:400 17px/1.6 var(--ds-font-text)}
.ds-usluga__vopros[open] .ds-srv__plus{background:var(--ds-blue);border-color:transparent}
.ds-usluga__vopros[open] .ds-srv__plus::before,
.ds-usluga__vopros[open] .ds-srv__plus::after{background:#fff}
.ds-usluga__vopros[open] .ds-srv__plus::after{transform:translate(-50%,-50%) scaleY(0)}

/* Ранний призыв — только на телефоне: там до низа страницы далеко. */
.ds-usluga .ds-usluga__cta--rano{display:none;border-bottom:1px solid var(--ds-line)}
.ds-plate__cena{margin:0 0 8px;color:var(--ds-blue);font:600 17px/1 var(--ds-font-display)}

/* ── статья ───────────────────────────────────────────────────── */
.ds-post__meta{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 0;color:var(--ds-gray);
  font:400 15px/1.3 var(--ds-font-text)}
.ds-post__body{padding:44px 28px}
/* Обложки статей — картинки 16:10 с фигурой во весь рост. Ограничение
   по высоте с object-fit:cover срезало персонажу ноги, поэтому держим
   пропорцию и показываем кадр целиком. */
.ds-post__shot{width:100%;height:auto;aspect-ratio:16/10;max-height:560px;object-fit:contain;
  display:block;background:var(--ds-tile);border-bottom:1px solid var(--ds-line)}

/* ── призыв в конце внутренней страницы ───────────────────────── */
.ds-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  padding:48px 28px;border-top:1px solid var(--ds-line);border-bottom:1px solid var(--ds-line);
  background:var(--ds-tile)}
.ds-cta__text{margin:0;max-width:52ch;font:400 19px/1.5 var(--ds-font-text)}
.ds-cta__title{margin:0 0 8px;font:600 34px/1.1 var(--ds-font-display);text-transform:uppercase}

/* ── листалка страниц ─────────────────────────────────────────── */
.ds-pager{display:flex;flex-wrap:wrap;gap:10px;padding:32px 28px}
.ds-pager .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--ds-line);border-radius:10px;text-decoration:none;color:inherit;
  font:500 16px/1 var(--ds-font-text)}
.ds-pager .current{background:var(--ds-blue);border-color:var(--ds-blue);color:#fff}

@media (max-width:1199px){
  .ds-grid--3{grid-template-columns:repeat(2,1fr)}
  .ds-grid--3 > *:nth-child(3n){border-right:1px solid var(--ds-line)}
  .ds-grid--3 > *:nth-child(2n){border-right:0}
  .ds-usluga__uslovia{grid-template-columns:1fr 1fr}
  .ds-usluga__uslovie:nth-child(2n){border-right:0}
  .ds-usluga__uslovie:nth-child(-n+2){border-bottom:1px solid var(--ds-line)}
  .ds-usluga__kartochki,.ds-usluga__pakety{grid-template-columns:1fr 1fr}
  .ds-usluga__etapy{grid-template-columns:1fr 1fr}
  .ds-usluga__spisok{grid-template-columns:1fr}
}

@media (max-width:809px){
  .ds-page__head{padding:48px 20px 30px}
  .ds-grid--3,.ds-grid--2{grid-template-columns:1fr}
  .ds-grid > *{border-right:0}
  .ds-plate,.ds-post__body,.ds-cta{padding-left:20px;padding-right:20px}
  .ds-prose{font-size:17px}
  .ds-usluga__blok{padding:36px 20px}
  .ds-usluga__uslovia{grid-template-columns:1fr 1fr}
  .ds-usluga__uslovie{padding:20px}
  .ds-usluga__uslovie dd{font-size:19px}
  .ds-usluga__kartochki,.ds-usluga__pakety,.ds-usluga__etapy{grid-template-columns:1fr}
  .ds-usluga__knopki{flex-direction:column;align-items:stretch}
  .ds-usluga__knopki .ds-btn{justify-content:center}
  .ds-usluga .ds-usluga__cta--rano{display:flex}
  .ds-usluga__vopros summary{font-size:19px}
}

/* ── Оглавление статьи ────────────────────────────────────────────
   Стоит перед текстом, на плашке, номера — тем же шрифтом, что цифры
   в блоке «О себе». На телефоне сворачивается в обычный список. */
.ds-toc{margin:0 0 34px;padding:24px 28px 26px;background:var(--ds-tile);
  border:1px solid var(--ds-line);border-radius:16px;max-width:74ch}
.ds-toc__title{margin:0 0 14px;color:var(--ds-gray);font:500 13px/1 var(--ds-font-text);
  text-transform:uppercase;letter-spacing:.09em}
.ds-toc__list{margin:0;padding:0;list-style:none;counter-reset:ds-toc;display:grid;gap:10px}
.ds-toc__list li{counter-increment:ds-toc;display:flex;gap:12px;align-items:baseline}
.ds-toc__list li::before{content:counter(ds-toc,decimal-leading-zero);
  color:var(--ds-blue);font:600 15px/1 var(--ds-font-display);min-width:24px}
.ds-toc__list a{color:inherit;text-decoration:none;font:400 17px/1.4 var(--ds-font-text);
  border-bottom:1px solid transparent}
.ds-toc__list a:hover{border-bottom-color:var(--ds-blue)}

/* Плавная прокрутка к разделу и отступ под липкой шапкой. */
html{scroll-behavior:smooth}
.ds-prose h2{scroll-margin-top:110px}

/* Картинка внутри статьи: по ширине колонки текста, с воздухом сверху и
   снизу. Полотно во всю ширину экрана здесь ни к чему — оно отодвигает
   сам текст, ради которого человек и пришёл. */
.ds-prose__figure{margin:36px 0;max-width:100%}
.ds-prose__figure img{width:100%;height:auto;display:block;border-radius:16px;background:var(--ds-tile)}

/* ── Услуга: первый экран по макету (04.10.2026) ─────────────────────
   Слева обещание крупно, справа карточка условий на плашке. Название
   услуги — надзаголовок внутри h1: поиску нужно «Сайты под ключ»,
   человеку — снятый страх. Без своего заголовка h1 остаётся названием. */
.ds-usluga__ekran{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:40px;align-items:start;margin-top:8px}
/* надзаголовок — плашкой, как компонент «Кикер» в макете */
.ds-usluga__kicker{display:table;margin:0 0 18px;padding:8px 14px;border-radius:90px;
  background:var(--ds-badge);color:var(--ds-ink);
  font:500 13px/1.2 var(--ds-font-text);text-transform:uppercase;letter-spacing:.06em}
.ds-usluga__glavnoe{display:block;font-size:clamp(42px,6.1vw,88px);line-height:1}
.ds-usluga__ekran .ds-page__lead{margin-top:24px}
.ds-usluga__ekran .ds-usluga__knopki{margin-top:24px}
.ds-usluga__ekran .ds-usluga__uslovia{grid-template-columns:1fr;gap:20px;padding:32px;
  border:0;border-radius:18px;background:var(--ds-tile)}
.ds-usluga__ekran .ds-usluga__uslovie{padding:0;border:0;gap:4px}
.ds-usluga__ekran .ds-usluga__uslovie dt{font:500 12px/1.3 var(--ds-font-text)}
@media (max-width:1199px){
  .ds-usluga__ekran{grid-template-columns:1fr;gap:32px}
  .ds-usluga__ekran .ds-usluga__uslovia{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:809px){
  .ds-usluga__ekran .ds-usluga__uslovia{grid-template-columns:1fr}
  .ds-usluga__ekran .ds-usluga__knopki{flex-direction:column}
  .ds-usluga__ekran .ds-usluga__knopki .ds-btn{width:100%;justify-content:center}
}


/* ══ Три страницы по макету (04.10.2026): работы, услуги, блог ══════════
   Общие куски: шапка с персонажем, призыв с персонажем, плашка-чип. */

.ds-chip{display:inline-block;margin:0;padding:8px 14px;border-radius:90px;background:var(--ds-tile);
  color:var(--ds-blue-dark);font:500 14px/1.2 var(--ds-font-text)}

/* Заголовок трёх страниц в макете крупнее общего (там 86 px на 1440) */
.ds-page--raboty .ds-page__title,.ds-page--uslugi .ds-page__title,.ds-page--blog .ds-page__title{
  font-size:clamp(72px,11.74vw,169px)}

@media (min-width:1200px){
  .ds-page--raboty .ds-page__head,.ds-page--uslugi .ds-page__head,.ds-page--blog .ds-page__head{padding-top:36px}
  .ds-page--raboty .ds-kroshki,.ds-page--uslugi .ds-kroshki,.ds-page--blog .ds-kroshki{margin-bottom:12px}
  .ds-page--raboty .ds-page__head,.ds-page--uslugi .ds-page__head,.ds-page--blog .ds-page__head{padding-bottom:36px}
}

.ds-page--rubrika .ds-page__title{font-size:clamp(64px,8.6vw,124px)}
@media (max-width:809px){.ds-page--rubrika .ds-page__title{font-size:44px}}

/* Шапка страницы с персонажем справа */
.ds-page__head--lico{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);align-items:end;
  column-gap:20px;padding-bottom:0}
.ds-page__head-text{padding-bottom:56px;align-self:start}
.ds-page__head--lico .ds-page__lead{max-width:560px}
.ds-page__lico{display:block;width:100%;height:auto;margin:50px 0 16px}

/* Призыв с персонажем: плашка на голубом, прозрачная вырезка персонажа справа */
.ds-cta--lico{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;
  margin:24px 28px 0;padding:0 80px 0 56px;min-height:378px;overflow:hidden;
  border:0;border-radius:24px;background:var(--ds-tile)}
.ds-cta--lico .ds-cta__body{display:grid;justify-items:start;gap:0;padding:48px 0;align-self:center}
.ds-cta--lico .ds-cta__title{margin:0 0 16px;font-size:clamp(34px,5.8vw,84px);line-height:1}
.ds-cta--lico .ds-cta__text{margin:0 0 28px;max-width:740px;color:var(--ds-gray);font-size:18px}
.ds-page--blog .ds-cta--lico .ds-cta__title{max-width:9em}
.ds-page--blog .ds-pager{justify-content:center}
.ds-cta--lico .ds-btn{width:auto}
.ds-cta__lico{display:block;width:auto;max-width:100%;height:335px;align-self:end;margin-bottom:22px}

/* ── Работы: строка на кейс ──────────────────────────────────── */
.ds-rabota{display:grid;grid-template-columns:minmax(560px,1fr) minmax(0,680px);
  border-bottom:1px solid var(--ds-line)}
.ds-rabota__metki{display:flex;flex-wrap:wrap;gap:8px}
.ds-rabota__itog{margin:0;padding:28px;color:var(--ds-gray);font:400 17px/1.55 var(--ds-font-text);
  border-bottom:1px solid var(--ds-line)}
.ds-rabota__tekst{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  gap:14px;padding:36px 28px}
.ds-rabota__nazv{margin:0;font:600 40px/1.1 var(--ds-font-display);text-transform:uppercase}
.ds-rabota__nazv-1,.ds-rabota__nazv-2{display:block}
.ds-rabota__opis{margin:0;max-width:46ch;text-wrap:pretty;color:var(--ds-gray);font:400 17px/1.55 var(--ds-font-text)}
.ds-rabota__ssylka{display:inline-flex;align-items:center;gap:4px;color:var(--ds-blue-dark);
  font:500 15px/1.3 var(--ds-font-text)}
.ds-rabota__ssylka:hover .ds-btn__arrow{transform:translateX(4px)}
.ds-rabota__shot{display:block;align-self:center;margin:20px 20px 20px 0;overflow:hidden;
  border-radius:20px;background:var(--ds-tile)}
.ds-rabota__img{display:block;width:100%;height:auto;aspect-ratio:1.46/1;object-fit:cover}
/* та же волосяная обводка, что у карточек главной (styles.css, «Карточка работы») */
.ds-rabota__shot{position:relative}
.ds-rabota__shot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(22,50,92,.08);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ds-blue-dark) 8%,transparent)}
/* кадр ленты 1,46 уже обложки 1,6: у отеля режется угол ноутбука, смещаем кадр вправо
   (правый край ноутбука на 96,5 % ширины обложки; при 70 % оставался зазор меньше 1 %, при 100 % — 3,5 %) */
.ds-rabota--oldboys-hotel .ds-rabota__img{object-position:100% 50%}

/* ── Услуги: одна главная и сетка ────────────────────────────── */
.ds-uslugi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;padding:24px 28px 28px}
.ds-usl{border:1px solid var(--ds-line);border-radius:20px;background:var(--ds-bg)}
.ds-usl__nazv{margin:0;font:600 28px/1.05 var(--ds-font-display);text-transform:uppercase}
.ds-usl__nom{color:var(--ds-blue);margin-right:6px;font-size:1.85em;line-height:.8;vertical-align:-.12em}
.ds-usl__opis{margin:0;color:var(--ds-gray);font:400 16px/1.55 var(--ds-font-text)}
.ds-usl__cena{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0}
.ds-usl__pered{font:500 16px/1 var(--ds-font-display);text-transform:uppercase;letter-spacing:.04em}
.ds-usl__summa{font:600 50px/1 var(--ds-font-display);letter-spacing:-.01em}
.ds-usl__posle{font:600 24px/1 var(--ds-font-display);text-transform:uppercase}
.ds-usl__srok{flex-basis:100%;margin-top:4px;color:var(--ds-gray);font:400 15px/1.35 var(--ds-font-text)}

.ds-usl--glavnaya{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  align-items:center;gap:24px;padding:0 120px 0 56px;overflow:hidden;border:0;
  border-radius:24px;background:var(--ds-tile)}
.ds-usl--glavnaya .ds-usl__tekst{display:grid;justify-items:start;gap:20px;align-self:center;padding:56px 0}
.ds-usl--glavnaya .ds-usl__nazv{font-size:62px;line-height:1}
.ds-usl--glavnaya .ds-usl__nom{font-size:1.2em;line-height:.8;vertical-align:-.04em}
.ds-usl--glavnaya .ds-usl__opis{max-width:590px;font-size:17px}
.ds-usl--glavnaya .ds-usl__cena{gap:0 12px}
.ds-usl--glavnaya .ds-usl__summa{font-size:96px}
.ds-usl--glavnaya .ds-usl__pered{font-size:18px}
.ds-usl--glavnaya .ds-usl__srok{flex-basis:auto;font-size:15px}
.ds-usl__lico{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;object-position:right center;align-self:center}
.ds-usl--glavnaya .ds-usl__lico{max-height:380px}

.ds-usl--karta{grid-column:span 2;display:flex;flex-direction:column;gap:20px;padding:30px}
.ds-usl--karta:nth-of-type(n+5){grid-column:span 3}
/* Пятая услуга одна в своём ряду (шестой нет) — во всю ширину, а не половиной с дырой рядом. */
.ds-usl--karta:nth-of-type(5):last-of-type{grid-column:1/-1}
.ds-usl--karta .ds-usl__nazv a{color:inherit}
.ds-usl--karta .ds-usl__nazv a::after{content:"";position:absolute;inset:0}
.ds-usl--karta{position:relative}
.ds-usl__img{display:block;width:100%;max-width:300px;height:190px;margin:0 auto;object-fit:contain}
.ds-usl__niz{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.ds-usl__go{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:44px;height:44px;
  border:1px solid var(--ds-line);border-radius:50%;color:var(--ds-ink);transition:background .18s ease,color .18s ease}
.ds-usl__go:hover{background:var(--ds-blue);border-color:var(--ds-blue);color:#fff}

@media (min-width:1200px){
  .ds-usl--karta:nth-of-type(n+5){display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    grid-template-areas:"nazv img" "opis img" "niz niz";column-gap:20px;row-gap:16px;align-content:start}
  .ds-usl--karta:nth-of-type(n+5) .ds-usl__nazv{grid-area:nazv}
  .ds-usl--karta:nth-of-type(n+5) .ds-usl__img{grid-area:img;align-self:center;height:185px;max-width:none}
  .ds-usl--karta:nth-of-type(n+5) .ds-usl__opis{grid-area:opis}
  .ds-usl--karta:nth-of-type(n+5) .ds-usl__niz{grid-area:niz;align-items:center;margin-top:0}
  .ds-usl--karta:nth-of-type(n+5) .ds-usl__cena{flex-wrap:nowrap;align-items:flex-end;gap:0 8px}
  .ds-usl--karta:nth-of-type(n+5) .ds-usl__srok{flex-basis:auto;max-width:170px;margin:0 0 0 8px}
  /* Единственная карточка в последнем ряду (услуг пять): цена идёт сразу под описанием, картинка справа на все строки. */
  .ds-usl--karta:nth-of-type(5):last-of-type{grid-template-areas:"nazv img" "opis img" "niz img";align-content:center}
}

@media (max-width:1199px){
  .ds-page__head--lico{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
  .ds-rabota{grid-template-columns:minmax(0,1fr) minmax(0,44%)}
  .ds-rabota__tekst{padding:28px 20px}
  .ds-rabota__nazv{font-size:28px}
  .ds-rabota__opis{font-size:15px}
  .ds-rabota__ssylka{font-size:15px}
  .ds-chip{font-size:14px}
  .ds-page--raboty .ds-page__title{font-size:72px}
  .ds-page--uslugi .ds-page__title,.ds-page--blog .ds-page__title{font-size:100px}
  .ds-page--raboty .ds-page__lead,.ds-page--uslugi .ds-page__lead,.ds-page--blog .ds-page__lead{font-size:17px}
  .ds-page--raboty .ds-page__head,.ds-page--uslugi .ds-page__head,.ds-page--blog .ds-page__head{padding-top:26px;padding-bottom:28px}
  .ds-page--raboty .ds-kroshki,.ds-page--uslugi .ds-kroshki,.ds-page--blog .ds-kroshki{margin-bottom:10px}
  .ds-rabota__shot{margin:20px 20px 20px 0}
  .ds-cta--lico{padding:0 48px 0 32px;min-height:277px;grid-template-columns:minmax(0,1fr) auto}
  .ds-cta__lico{height:230px;margin-bottom:20px}
  .ds-uslugi{padding:20px 20px 24px;gap:12px}
  .ds-usl--glavnaya{padding:0 0 0 32px;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
  .ds-usl--glavnaya .ds-usl__tekst{padding:48px 0}
  .ds-usl--glavnaya .ds-usl__nazv{font-size:50px}
  .ds-usl--glavnaya .ds-usl__opis{font-size:15px}
  .ds-usl--glavnaya .ds-usl__summa{font-size:92px}
  .ds-usl--glavnaya .ds-usl__lico{max-height:300px}
  .ds-usl--karta{padding:18px}
  .ds-usl--karta .ds-usl__nazv{display:flex;align-items:center;gap:8px;font-size:28px}
  .ds-usl--karta .ds-usl__nom{margin:0;font-size:40px}
  .ds-usl--karta .ds-usl__opis{font-size:15px}
  .ds-usl--karta .ds-usl__summa{font-size:36px}
  .ds-usl--karta .ds-usl__posle{font-size:22px}
  .ds-usl--karta .ds-usl__srok{font-size:14px}
  .ds-usl--karta .ds-usl__img{height:160px}
  .ds-usl--karta:nth-of-type(n+5){grid-column:span 3}
  .ds-usl--karta:nth-of-type(n+5) .ds-usl__img{height:130px}
  .ds-usl--karta:nth-of-type(n+5) .ds-usl__nazv{font-size:28px}
}

@media (max-width:809px){
  .ds-page--raboty .ds-page__head,.ds-page--uslugi .ds-page__head,.ds-page--blog .ds-page__head{padding-top:28px}
  .ds-page--raboty .ds-kroshki,.ds-page--uslugi .ds-kroshki,.ds-page--blog .ds-kroshki{margin-bottom:12px}
  .ds-page--raboty .ds-page__lead,.ds-page--uslugi .ds-page__lead,.ds-page--blog .ds-page__lead{font-size:16px}
  .ds-page--raboty .ds-page__title{font-size:52px}
  .ds-page--uslugi .ds-page__title,.ds-page--blog .ds-page__title{font-size:62px}
  .ds-page__head--lico{grid-template-columns:minmax(0,1fr) minmax(0,144px);column-gap:8px;padding-bottom:0}
  .ds-page__head-text{padding-bottom:28px}
  .ds-page__lico{margin:40px 0 16px}
  .ds-page__head--lico .ds-page__lead{font-size:16px}
  .ds-cta--lico{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:20px 20px 0;padding:0 24px;min-height:0;border-radius:20px}
  .ds-cta--lico .ds-cta__body{padding:32px 0 12px}
  .ds-cta--lico .ds-cta__title{font-size:34px}
  .ds-cta--lico .ds-cta__text{margin-bottom:20px;max-width:300px;font-size:15px}
  .ds-cta__lico{align-self:flex-end;height:160px;width:auto;margin:0 -4px 0 0}

  /* работы: мокап под текстом на всю ширину */
  .ds-rabota{grid-template-columns:1fr;grid-template-areas:"tekst" "shot"}
  .ds-rabota__tekst{grid-area:tekst;padding:28px 20px 20px;gap:12px}
  .ds-rabota__shot{grid-area:shot;margin:0 20px 28px}
  .ds-rabota__nazv{font-size:22px}
  .ds-rabota__opis{font-size:16px}
  .ds-rabota__ssylka{font-size:16px}
  .ds-chip{font-size:15px}

  /* услуги: главная — столбцом, остальные — строкой «иллюстрация | номер, название, цена» */
  .ds-uslugi{grid-template-columns:1fr;gap:12px;padding:20px 20px 24px}
  .ds-usl--glavnaya{grid-template-columns:1fr;gap:16px;padding:28px 20px 24px;border-radius:20px}
  .ds-usl--glavnaya .ds-usl__tekst{display:contents}
  .ds-usl--glavnaya .ds-usl__nazv{order:1;font-size:40px}
  .ds-usl--glavnaya .ds-usl__nom{font-size:1.4em;vertical-align:-.06em}
  .ds-usl--glavnaya .ds-usl__opis{order:2}
  .ds-usl--glavnaya .ds-usl__lico{order:3;max-height:none}
  .ds-usl--glavnaya .ds-usl__cena{order:4}
  .ds-usl--glavnaya .ds-btn{order:5;justify-content:center;width:100%}
  .ds-usl--glavnaya .ds-usl__summa{font-size:38px}
  .ds-usl--glavnaya .ds-usl__pered{font-size:15px}
  .ds-usl--glavnaya .ds-usl__srok{font-size:14px}
  /* Карточка услуги на телефоне: картинка сверху, под ней название и цена со стрелкой.
     «Узкая картинка слева + текст справа» запрещена (Память: telefon-kartochki-foto-sverhu). */
  .ds-usl--karta,.ds-usl--karta:nth-of-type(n+5){grid-column:auto;display:flex;flex-direction:column;gap:12px;
    align-items:stretch;padding:16px}
  .ds-usl--karta .ds-usl__img,.ds-usl--karta:nth-of-type(n+5) .ds-usl__img{order:-1;width:100%;max-width:none;height:150px;max-height:none;margin:0}
  .ds-usl--karta .ds-usl__nazv{display:flex;align-items:center;gap:6px;font-size:20px}
  .ds-usl--karta .ds-usl__nom{font-size:32px;margin:0}
  .ds-usl--karta .ds-usl__opis{display:none}
  .ds-usl--karta .ds-usl__niz{margin:0;align-items:center}
  .ds-usl--karta .ds-usl__summa{font-size:36px}

}

/* ── Рубрики: полоса чипов под лидом ─────────────────────────── */
.ds-rubriki{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0 0 28px;list-style:none}
.ds-page--blog .ds-page__head{padding-bottom:0}
.ds-rubriki__chip{display:inline-flex;align-items:center;min-height:36px;padding:0 22px;border-radius:90px;
  background:var(--ds-tile);color:var(--ds-blue-dark);font:500 16px/1 var(--ds-font-text);white-space:nowrap;
  transition:background .18s ease,color .18s ease}
.ds-rubriki__chip:hover{background:var(--ds-badge)}
.ds-rubriki__chip[aria-current="page"]{background:var(--ds-blue);color:#fff}

/* ── Блог: журнальная сетка из 11 ячеек ──────────────────────── */
.ds-bgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.ds-bcard{display:flex;flex-direction:column;gap:14px;padding:24px 28px 28px;grid-column:span 2;
  background:var(--ds-bg);box-shadow:inset -1px -1px 0 var(--ds-line)}
.ds-bcard__shot{display:block;overflow:hidden;border-radius:14px;background:var(--ds-tile)}
.ds-bcard__img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;mix-blend-mode:multiply}
:root[data-theme="dark"] .ds-bcard__img{mix-blend-mode:normal}
.ds-bcard__body{display:flex;flex-direction:column;gap:10px;flex:1}
.ds-bcard__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin:0;
  font:500 13px/1.3 var(--ds-font-text)}
.ds-bcard__date{color:var(--ds-blue-dark);text-transform:uppercase;letter-spacing:.06em}
.ds-bcard__time{color:var(--ds-gray);font-size:14px;font-weight:400}
.ds-bcard__nazv{margin:0;font:600 28px/1.1 var(--ds-font-display);text-transform:uppercase}
.ds-bcard__nazv a{color:inherit}
.ds-bcard__nazv a:hover{color:var(--ds-blue-dark)}
.ds-bcard__opis{margin:0;color:var(--ds-gray);font:400 16px/1.5 var(--ds-font-text)}
.ds-bcard__more{display:none}

/* 1440: большая и две рядом, ряд из трёх, широкая, ряд из трёх, широкая.
   Неполные страницы (рубрика с четырьмя статьями, последняя страница) не рассыпаются:
   одинокая ячейка в ряду растягивается, пара делит ряд пополам. */
@media (min-width:1200px){
  .ds-bcard:nth-child(1){grid-column:1/5;grid-row:1/3}
  .ds-bcard:nth-child(2),.ds-bcard:nth-child(3){grid-column:5/7}
  .ds-bcard:nth-child(1):only-child{grid-column:1/-1;grid-row:auto}
  .ds-bcard:nth-child(2):last-child{grid-row:1/3}
  .ds-bcard:is(:nth-child(4):nth-last-child(2),:nth-child(5):last-child,
    :nth-child(8):nth-last-child(2),:nth-child(9):last-child){grid-column:span 3}
  .ds-bcard:is(:nth-child(7),:nth-child(11),:nth-child(4):last-child,:nth-child(8):last-child){
    grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);align-items:center;gap:28px}
  .ds-bcard:nth-child(1) .ds-bcard__nazv,
  .ds-bcard:is(:nth-child(7),:nth-child(11),:nth-child(4):last-child,:nth-child(8):last-child) .ds-bcard__nazv{font-size:40px}
  .ds-bcard:nth-child(1) .ds-bcard__opis,
  .ds-bcard:is(:nth-child(7),:nth-child(11),:nth-child(4):last-child,:nth-child(8):last-child) .ds-bcard__opis{font-size:17px}
  .ds-bcard:nth-child(1) .ds-bcard__nazv{max-width:780px}
  .ds-bcard:nth-child(2) .ds-bcard__opis,.ds-bcard:nth-child(3) .ds-bcard__opis{display:none}
  .ds-bcard:nth-child(2) .ds-bcard__nazv,.ds-bcard:nth-child(3) .ds-bcard__nazv{font-size:28px}
  .ds-bcard:nth-child(1) .ds-bcard__more,
  .ds-bcard:is(:nth-child(7),:nth-child(11),:nth-child(4):last-child,:nth-child(8):last-child) .ds-bcard__more{
    display:inline-flex;align-self:flex-start;margin-top:8px}
  .ds-bcard:nth-child(1):only-child{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);align-items:center;gap:28px}
}

/* 834: большая строкой, ряд из трёх, широкая, ряд из трёх, широкая, ряд из двух */
@media (min-width:810px) and (max-width:1199px){
  .ds-bcard{padding:16px 16px 22px}
  .ds-bcard__meta{flex-direction:column;justify-content:flex-start}
  .ds-bcard__nazv{font-size:26px}
  .ds-bcard__opis{font-size:15px}
  .ds-bcard:nth-child(1){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.48fr) minmax(0,.52fr);
    align-items:center;gap:24px;padding:38px 16px}
  .ds-bcard:nth-child(1) .ds-bcard__nazv{font-size:34px;max-width:none}
  .ds-bcard:is(:nth-child(5),:nth-child(9),:nth-child(2):last-child,:nth-child(6):last-child,:nth-child(10):last-child){
    grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);align-items:center;gap:24px}
  .ds-bcard:is(:nth-child(5),:nth-child(9),:nth-child(2):last-child,:nth-child(6):last-child,:nth-child(10):last-child) .ds-bcard__nazv{font-size:30px}
  .ds-bcard:is(:nth-child(5),:nth-child(9),:nth-child(2):last-child,:nth-child(6):last-child,:nth-child(10):last-child) .ds-bcard__more{
    position:relative;display:grid;place-items:center;width:44px;height:44px;margin-top:6px;padding:0;
    border:1px solid var(--ds-line);border-radius:50%;color:var(--ds-ink);align-self:flex-start;
    background-image:none;box-shadow:none;transform:none}
  .ds-bcard:is(:nth-child(5),:nth-child(9),:nth-child(2):last-child,:nth-child(6):last-child,:nth-child(10):last-child) .ds-bcard__more-t{
    position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ds-bcard:is(:nth-child(10),:nth-child(11)){grid-column:span 3}
  .ds-bcard:is(:nth-child(6):nth-last-child(2),:nth-child(7):last-child){grid-column:span 3}
  .ds-bcard:nth-child(1) .ds-bcard__more{display:inline-flex;align-self:flex-start;margin-top:8px}
  .ds-bcard:nth-child(1):only-child{grid-column:1/-1}
}

/* 390: лента чипов без переноса, главная крупно, остальные строкой с маленькой обложкой */
@media (max-width:809px){
  .ds-rubriki{flex-wrap:nowrap;overflow-x:auto;margin:20px -20px 0;padding:0 20px 24px;scrollbar-width:none;
    -webkit-overflow-scrolling:touch}
  .ds-rubriki::-webkit-scrollbar{display:none}
  .ds-rubriki__chip{flex:none;min-height:32px;padding:0 16px;font-size:14px}
  .ds-rubriki{gap:8px}
  .ds-bgrid{display:block}
  .ds-bcard{padding:20px;box-shadow:none;border-bottom:1px solid var(--ds-line)}
  .ds-bcard:nth-child(1){gap:16px;padding-bottom:28px}
  .ds-bcard:nth-child(1) .ds-bcard__meta{flex-direction:row;justify-content:space-between}
  .ds-bcard:nth-child(1) .ds-bcard__nazv{font-size:32px}
  .ds-bcard:nth-child(1) .ds-bcard__opis{font-size:15px}
  /* .ds-btn--sm на телефоне ужимается под шапку (12,5 px) — кнопке «Читать» оставляем размер 834 и 1440: 15 px, поля 12/20 */
  .ds-bcard:nth-child(1) .ds-bcard__more{display:inline-flex;align-self:flex-start;margin-top:8px;padding:12px 20px;font-size:15px}
  .ds-bcard:nth-child(n+2){display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start;padding:16px 20px}
  .ds-bcard:nth-child(n+2) .ds-bcard__shot{border-radius:12px}
  .ds-bcard:nth-child(n+2) .ds-bcard__img{aspect-ratio:3/2}
  .ds-bcard:nth-child(n+2) .ds-bcard__body{flex-direction:column-reverse;gap:6px}
  .ds-bcard:nth-child(n+2) .ds-bcard__nazv{font-size:22px}
  .ds-bcard:nth-child(n+2) .ds-bcard__opis{display:none}
  .ds-bcard:nth-child(n+2) .ds-bcard__meta{flex-direction:column}
}

/* Тёмная тема: плашки персонажей (общий компонент) — assets/css/parts/zz-plashki.css */
