/* ===========================================================
   Блоки лендинга. Мобильные правила — только в @media внизу.
   =========================================================== */

/* ─────────── ШАПКА ─────────── */
.ctr-hdr{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ctr-border-color);
}
.ctr-hdr__in{display:flex;align-items:center;gap:var(--ctr-space-6);height:64px}
.ctr-hdr__logo{font-size:18px;font-weight:var(--ctr-fw-semibold);letter-spacing:-.02em;flex:0 0 auto}
.ctr-hdr__logo:hover{color:var(--ctr-ink)}
.ctr-hdr__nav{display:flex;gap:var(--ctr-space-6);font-size:14px;margin-left:var(--ctr-space-4)}
.ctr-hdr__side{display:flex;align-items:center;gap:var(--ctr-space-4);margin-left:auto}
.ctr-hdr__phone{font-size:16px;font-weight:var(--ctr-fw-medium);white-space:nowrap}
.ctr-hdr__call{display:none;width:44px;height:44px;border-radius:var(--ctr-radius-full);
  align-items:center;justify-content:center;border:1px solid var(--ctr-border-color)}

/* ─────────── 01 · ПЕРВЫЙ ЭКРАН ─────────── */
.ctr-hero{position:relative;min-height:770px;display:flex;align-items:flex-end;
  padding:270px 0 64px;overflow:hidden;background:var(--ctr-ink);
  border-radius:0 0 32px 32px}
.ctr-hero__media{position:absolute;inset:0;z-index:0}
.ctr-hero__media img{width:100%;height:100%;object-fit:cover}
.ctr-hero::after{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(to right, rgba(49,45,43,.74) 0%, rgba(49,45,43,.38) 48%, rgba(49,45,43,0) 74%),
  var(--ctr-scrim)}
.ctr-hero__in{position:relative;z-index:2}
.ctr-hero__text{max-width:720px;color:#fff}
.ctr-hero__lead{font-size:18px;line-height:28px;color:rgba(255,255,255,.82);
  margin-top:var(--ctr-space-4);max-width:620px}
.ctr-hero__actions{display:flex;gap:var(--ctr-space-3);margin-top:var(--ctr-space-8);flex-wrap:wrap}
/* Подложка под хиро: в скруглённых углах должен просвечивать серый фон
   строки доверия, а не белый лист страницы. */
.ctr-hero-bg{background:var(--ctr-surface-page)}

/* через .ctr-root — иначе базовое .ctr-root .ctr-btn--ghost сильнее */
.ctr-root .ctr-hero__phone-btn{background:rgba(255,255,255,.12);color:#fff;
  border-color:rgba(255,255,255,.28);backdrop-filter:blur(8px)}
.ctr-root .ctr-hero__phone-btn:hover{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.4)}

.ctr-hero__facts{display:flex;gap:var(--ctr-space-10);margin-top:var(--ctr-space-10);flex-wrap:wrap}
.ctr-hero__facts li{display:flex;flex-direction:column;gap:2px}
.ctr-hero__facts b{font-size:28px;line-height:36px;font-weight:var(--ctr-fw-medium);
  font-variant-numeric:tabular-nums}
.ctr-hero__facts span{font-size:13px;line-height:18px;color:rgba(255,255,255,.6);max-width:180px}

/* ─────────── 02 · СТРОКА ДОВЕРИЯ ─────────── */
.ctr-trust{padding:24px 0;border-radius:0 0 32px 32px}
.ctr-trust__list{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ctr-space-6)}
.ctr-trust__list li{display:flex;align-items:flex-start;gap:var(--ctr-space-3);
  font-size:14px;line-height:20px;color:var(--ctr-text-secondary)}
.ctr-trust__list b{color:var(--ctr-ink);font-weight:var(--ctr-fw-medium)}
.ctr-trust__list svg{width:24px;height:24px;flex:0 0 auto;stroke:var(--ctr-accent);
  fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ─────────── 03 · КАЛЬКУЛЯТОР ─────────── */
/* Оффер — фирменный градиент брендбука: 135deg, #FE5D26 30% → #7B2FF2 120% */
.ctr-offer{
  position:relative;display:flex;align-items:center;gap:var(--ctr-space-4);
  padding:18px var(--ctr-space-6);margin-bottom:var(--ctr-space-6);
  border-radius:var(--ctr-radius-img);color:#fff;overflow:hidden;
  background:linear-gradient(135deg,#FE5D26 30%,#7B2FF2 120%);
  box-shadow:0 10px 30px rgba(254,93,38,.18);
}
.ctr-offer::after{content:"";position:absolute;right:-80px;top:-140px;
  width:340px;height:340px;border-radius:var(--ctr-radius-full);
  background:rgba(255,255,255,.08);pointer-events:none}
.ctr-offer__ico{flex:0 0 auto;width:44px;height:44px;border-radius:var(--ctr-radius-full);
  background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
.ctr-offer__ico svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.ctr-offer__txt{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px}
.ctr-offer__txt b{font-size:17px;line-height:24px;font-weight:var(--ctr-fw-semibold)}
.ctr-offer__txt>span{font-size:14px;line-height:20px;color:rgba(255,255,255,.82)}
.ctr-offer__link{position:relative;z-index:1;margin-left:auto;flex:0 0 auto;white-space:nowrap;
  height:var(--ctr-control-h-md);padding:0 18px;border-radius:var(--ctr-radius-md);
  display:inline-flex;align-items:center;font-size:14px;font-weight:var(--ctr-fw-medium);
  color:#fff;border:1px solid rgba(255,255,255,.45);
  transition:background-color var(--ctr-transition),color var(--ctr-transition),border-color var(--ctr-transition)}
.ctr-root a.ctr-offer__link:hover{background:#fff;color:var(--ctr-ink);border-color:#fff}

/* Тултип — пояснения не занимают высоту: открываются наведением и с клавиатуры */
.ctr-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;flex:0 0 auto;border:0;background:transparent;
  color:var(--ctr-text-muted);cursor:help;transition:color var(--ctr-transition)}
.ctr-tip svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;
  stroke-width:1.4;stroke-linecap:round}
.ctr-tip:hover,.ctr-tip:focus-visible{color:var(--ctr-accent);outline:none}
.ctr-tip__pop{position:absolute;bottom:calc(100% + 10px);left:50%;
  transform:translateX(-50%) translateY(4px);
  width:280px;padding:12px 14px;border-radius:var(--ctr-radius-md);
  background:var(--ctr-ink);color:rgba(255,255,255,.85);
  font-size:12px;line-height:18px;font-weight:var(--ctr-fw-regular);text-align:left;
  box-shadow:0 12px 32px rgba(49,45,43,.28);
  opacity:0;visibility:hidden;pointer-events:none;z-index:20;
  transition:opacity var(--ctr-transition),transform var(--ctr-transition),visibility var(--ctr-transition)}
.ctr-tip__pop::after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;
  border:6px solid transparent;border-top-color:var(--ctr-ink)}
.ctr-tip:hover .ctr-tip__pop,
.ctr-tip:focus .ctr-tip__pop,
.ctr-tip:focus-within .ctr-tip__pop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ctr-tip__pop--r{left:auto;right:-8px;transform:translateY(4px)}
.ctr-tip:hover .ctr-tip__pop--r,
.ctr-tip:focus .ctr-tip__pop--r,
.ctr-tip:focus-within .ctr-tip__pop--r{transform:translateY(0)}
.ctr-tip__pop--r::after{left:auto;right:12px;margin-left:0}

.ctr-calc__head{display:flex;align-items:baseline;justify-content:space-between;
  gap:var(--ctr-space-8);margin-bottom:var(--ctr-space-5);flex-wrap:wrap}
.ctr-calc__head .ctr-lead{max-width:560px;font-size:15px;line-height:22px}

/* Параметры — одной лентой из четырёх колонок: секция влезает в экран */
.ctr-panel{border:var(--ctr-border);border-radius:var(--ctr-radius-img);
  padding:var(--ctr-space-6);background:var(--ctr-surface-card)}
.ctr-panel__row{display:grid;grid-template-columns:1.15fr 1fr 1.15fr 1.15fr;gap:var(--ctr-space-6)}

.ctr-calc__step--x2{grid-column:span 2}
.ctr-calc__step-h{display:flex;align-items:center;gap:var(--ctr-space-2);margin-bottom:var(--ctr-space-3)}
.ctr-calc .ctr-h3{font-size:17px;line-height:24px}
.ctr-calc__num{font-size:13px;font-weight:var(--ctr-fw-semibold);color:var(--ctr-accent);
  font-variant-numeric:tabular-nums}

.ctr-calc__opts{display:flex;flex-wrap:wrap;gap:var(--ctr-space-2)}
/* невыбранное — серый бабл: видно, что это переключатель, а не подпись */
.ctr-calc__opt{
  padding:8px 14px;border-radius:var(--ctr-radius-pill);
  border:1px solid transparent;background:var(--ctr-surface-sunken);
  font-size:14px;font-weight:var(--ctr-fw-medium);cursor:pointer;
  transition:border-color var(--ctr-transition),background-color var(--ctr-transition),color var(--ctr-transition);
}
.ctr-calc__opt:hover{background:var(--ctr-surface-hover);color:var(--ctr-accent)}
.ctr-calc__opt[aria-checked="true"]{background:var(--ctr-accent);border-color:var(--ctr-accent);color:#fff}

/* карточки-радио вместо селектов */
.ctr-calc__opts--cards{display:grid;grid-template-columns:1fr;gap:var(--ctr-space-2)}
.ctr-calc__card{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:2px var(--ctr-space-2);
  text-align:left;padding:10px var(--ctr-space-3);border-radius:var(--ctr-radius-md);
  border:1px solid transparent;background:var(--ctr-surface-page);cursor:pointer;
  transition:border-color var(--ctr-transition),background-color var(--ctr-transition),box-shadow var(--ctr-transition);
}
.ctr-calc__card:hover{background:var(--ctr-surface-hover)}
.ctr-calc__card[aria-checked="true"]{
  background:rgba(254,93,38,.06);border-color:var(--ctr-accent);box-shadow:var(--ctr-shadow-focus);
}
.ctr-calc__card-t{font-size:14px;font-weight:var(--ctr-fw-medium)}
.ctr-calc__card-s{font-size:12px;line-height:16px;color:var(--ctr-text-secondary)}
.ctr-calc__card-p{margin-left:auto;font-size:13px;font-weight:var(--ctr-fw-medium);
  color:var(--ctr-accent);font-variant-numeric:tabular-nums}

.ctr-calc__rangerow{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--ctr-space-2)}
.ctr-calc__rangerow--mt{margin-top:var(--ctr-space-4)}
.ctr-calc__val{font-size:18px;font-weight:var(--ctr-fw-medium);line-height:24px}

.ctr-calc__range{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;
  background:rgba(49,45,43,.12);cursor:pointer;
}
.ctr-calc__range::-webkit-slider-thumb{
  -webkit-appearance:none;width:24px;height:24px;border-radius:50%;
  background:#fff;border:1px solid var(--ctr-border-color);box-shadow:var(--ctr-shadow-rest);cursor:grab;
}
.ctr-calc__range::-moz-range-thumb{
  width:24px;height:24px;border-radius:50%;background:#fff;
  border:1px solid var(--ctr-border-color);box-shadow:var(--ctr-shadow-rest);cursor:grab;
}
.ctr-calc__range:focus-visible{outline:none;box-shadow:var(--ctr-shadow-focus)}

.ctr-calc__presets{display:flex;gap:var(--ctr-space-2);margin-top:var(--ctr-space-2)}
.ctr-calc__presets button{
  flex:1;padding:4px 0;border-radius:var(--ctr-radius-sm);border:1px solid var(--ctr-border-color);
  background:var(--ctr-surface-card);font-size:13px;font-variant-numeric:tabular-nums;
  cursor:pointer;transition:border-color var(--ctr-transition),color var(--ctr-transition);
}
.ctr-calc__presets button:hover{border-color:var(--ctr-accent);color:var(--ctr-accent)}

.ctr-calc__zone{margin-top:var(--ctr-space-3)}

.ctr-calc__more{
  display:inline-flex;align-items:center;gap:var(--ctr-space-2);
  font-size:14px;font-weight:var(--ctr-fw-medium);color:var(--ctr-accent);
  padding:var(--ctr-space-3) 0;margin-top:var(--ctr-space-2);
}
.ctr-calc__more[aria-expanded="true"] svg{transform:rotate(180deg)}
.ctr-calc__more svg{transition:transform var(--ctr-transition)}
.ctr-calc__extra{margin-top:var(--ctr-space-4);padding-top:var(--ctr-space-5);
  border-top:1px solid var(--ctr-border-soft)}

.ctr-calc__checks{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ctr-space-2)}
.ctr-calc__check{
  display:flex;align-items:center;gap:var(--ctr-space-3);padding:12px var(--ctr-space-4);
  border:1px solid var(--ctr-border-color);border-radius:var(--ctr-radius-md);
  font-size:14px;cursor:pointer;transition:border-color var(--ctr-transition);
}
.ctr-calc__check:hover{border-color:var(--ctr-accent)}
.ctr-calc__check input{width:16px;height:16px;border-radius:var(--ctr-radius-xs);accent-color:var(--ctr-accent)}
.ctr-calc__check-p{margin-left:auto;font-size:13px;color:var(--ctr-text-secondary);
  font-variant-numeric:tabular-nums;white-space:nowrap}

/* ── ПОЛОСА ИТОГА ── */
.ctr-calc__result{margin-top:var(--ctr-space-4)}
.ctr-result__cols{display:grid;grid-template-columns:1fr 1.1fr 1fr;
  gap:var(--ctr-space-8);align-items:start}
.ctr-result__col--rows{border-left:1px solid rgba(255,255,255,.12);
  border-right:1px solid rgba(255,255,255,.12);padding:0 var(--ctr-space-8)}
.ctr-result__cap{font-size:13px;line-height:18px;color:rgba(255,255,255,.55);
  margin-bottom:var(--ctr-space-3)}
.ctr-calc__result-in{
  background:var(--ctr-ink);color:#fff;border-radius:var(--ctr-radius-lg);padding:var(--ctr-space-6);
}
.ctr-calc__result-cap{font-size:13px;line-height:18px;color:rgba(255,255,255,.55);
  padding-bottom:var(--ctr-space-4);border-bottom:1px solid rgba(255,255,255,.12)}
.ctr-calc__total{padding:var(--ctr-space-2) 0 0;display:flex;flex-direction:column;gap:2px}
.ctr-calc__total-val{font-size:30px;line-height:38px;font-weight:var(--ctr-fw-medium);color:var(--ctr-accent)}
.ctr-calc__total-per{font-size:14px;line-height:20px;color:rgba(255,255,255,.55)}

.ctr-calc__rows{display:flex;flex-direction:column;gap:var(--ctr-space-2)}
.ctr-calc__rows li{display:flex;justify-content:space-between;gap:var(--ctr-space-4);
  font-size:14px;line-height:20px}
.ctr-calc__rows span:first-child{color:rgba(255,255,255,.55)}
.ctr-calc__rows span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.ctr-calc__rows li.ctr-is-zero span:last-child{color:var(--ctr-accent);font-weight:var(--ctr-fw-medium)}

/* Плашка выгод без своего фона и боковых отступов: иначе её текст уезжает
   на 16 px вправо относительно колонок итога и выглядит съехавшим. */
.ctr-calc__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--ctr-space-4) var(--ctr-space-6);
  padding-top:var(--ctr-space-5);margin-top:var(--ctr-space-5);
  border-top:1px solid rgba(255,255,255,.12)}
.ctr-calc__benefits:empty{display:none}
.ctr-calc__benefits li{display:flex;gap:var(--ctr-space-3);font-size:13px;line-height:18px}
.ctr-calc__benefits b{display:block;font-weight:var(--ctr-fw-medium);color:#fff;margin-bottom:1px}
.ctr-calc__benefits span{color:rgba(255,255,255,.6)}
.ctr-calc__benefits .ctr-ico{flex:0 0 auto;width:18px;height:18px;display:block}
.ctr-calc__benefits .ctr-ico svg{width:18px;height:18px;fill:none;stroke:var(--ctr-accent);
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}

.ctr-calc__natura{font-size:13px;line-height:18px;color:rgba(255,255,255,.6);
  margin-top:var(--ctr-space-4)}
.ctr-calc__actions{display:flex;flex-direction:column;gap:var(--ctr-space-2)}
.ctr-calc__result .ctr-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.ctr-calc__result .ctr-btn--ghost:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.45)}

/* ===========================================================
   АДАПТИВ
   =========================================================== */

@media (max-width:1260px){
  .ctr-hdr__nav{display:none}
}

@media (max-width:1260px){
  .ctr-panel__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ctr-space-5)}
  .ctr-result__cols{grid-template-columns:1fr 1fr}
  .ctr-result__col--rows{border-right:0;padding-right:0}
  .ctr-result__col--form{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.12);
    padding-top:var(--ctr-space-5)}
}

@media (max-width:991px){
  .ctr-trust__list{grid-template-columns:repeat(2,1fr)}
  .ctr-hero{min-height:520px}
}

@media (max-width:768px){
  .ctr-cta__in{padding:var(--ctr-space-5);flex-direction:column;align-items:flex-start}
  .ctr-cta__actions{width:100%;flex-direction:column}
  .ctr-cta__actions .ctr-btn{width:100%}
  .ctr-h2-cta{font-size:22px;line-height:30px}
  .ctr-hdr__in{height:56px;gap:var(--ctr-space-3)}
  .ctr-hdr__phone,.ctr-hdr__cta{display:none}
  .ctr-hdr__call{display:inline-flex}

  .ctr-hero{min-height:0;padding:88px 0 40px;border-radius:0 0 20px 20px}
  .ctr-trust{border-radius:0 0 20px 20px}
  /* На узком экране кадр обрезается и светлых мест больше — скрим плотнее,
     иначе лид и цифры теряются на фоне еды. */
  .ctr-hero::after{background:linear-gradient(to top,
    rgba(49,45,43,.84) 0%, rgba(49,45,43,.62) 45%, rgba(49,45,43,.30) 100%)}
  .ctr-hero__lead{font-size:16px;line-height:24px}
  .ctr-hero__actions{flex-direction:column;align-items:stretch;margin-top:var(--ctr-space-6)}
  .ctr-hero__actions .ctr-btn{width:100%}
  .ctr-hero__facts{gap:var(--ctr-space-6);margin-top:var(--ctr-space-8)}
  .ctr-hero__facts b{font-size:22px;line-height:28px}

  .ctr-trust__list{grid-template-columns:1fr;gap:var(--ctr-space-4)}

  .ctr-offer{flex-direction:column;align-items:flex-start;gap:var(--ctr-space-3);
    padding:var(--ctr-space-4) var(--ctr-space-5)}
  .ctr-offer__txt b{font-size:16px;line-height:22px}
  .ctr-offer__link{margin-left:0;width:100%;justify-content:center}
  .ctr-tip__pop{width:240px}
  .ctr-calc__head{display:block}
  .ctr-calc__head .ctr-lead{margin-top:var(--ctr-space-2)}
  .ctr-panel{padding:var(--ctr-space-4);border-radius:var(--ctr-radius-md)}
  .ctr-panel__row{grid-template-columns:1fr}
  .ctr-calc__step--x2{grid-column:auto}
  .ctr-calc__checks{grid-template-columns:1fr}
  .ctr-calc__result-in{padding:var(--ctr-space-4)}
  .ctr-result__cols{grid-template-columns:1fr;gap:var(--ctr-space-5)}
  .ctr-result__col--rows{border-left:0;padding:var(--ctr-space-5) 0 0;
    border-top:1px solid rgba(255,255,255,.12)}
  .ctr-calc__benefits{grid-template-columns:1fr;gap:var(--ctr-space-3)}
  .ctr-norms__table th{padding:0 14px var(--ctr-space-3)}
  .ctr-norms__table td{padding:12px 14px}
  .ctr-calc__total-val{font-size:28px;line-height:36px}
}

/* ─────────── 04 · РАЗВИЛКА ПО СЕГМЕНТАМ ─────────── */
.ctr-segment{display:flex;flex-direction:column;gap:var(--ctr-space-2);background:var(--ctr-surface-card)}
.ctr-segment__t{font-size:16px;line-height:24px;font-weight:var(--ctr-fw-medium)}
.ctr-segment__d{font-size:13px;line-height:18px;color:var(--ctr-text-secondary);flex:1}
.ctr-segment__l{font-size:14px;font-weight:var(--ctr-fw-medium);color:var(--ctr-accent);margin-top:var(--ctr-space-2)}

/* ─────────── 05 · ФОРМАТЫ ─────────── */
.ctr-fmt__card{display:flex;flex-direction:column}
.ctr-fmt__card .ctr-card__body{display:flex;flex-direction:column;flex:1;gap:var(--ctr-space-2)}
.ctr-fmt__card .ctr-card__meta{flex:1;margin-top:0}
.ctr-fmt__price{font-size:20px;line-height:28px;font-weight:var(--ctr-fw-medium);
  font-variant-numeric:tabular-nums;color:var(--ctr-ink)}
.ctr-fmt__price span{font-size:13px;font-weight:var(--ctr-fw-regular);color:var(--ctr-text-secondary)}
.ctr-fmt__link{font-size:14px;font-weight:var(--ctr-fw-medium);color:var(--ctr-accent)}

/* ─────────── 06 · ПОЛНОШИРИННОЕ ФОТО ─────────── */
.ctr-wide{position:relative;height:56vh;min-height:380px;overflow:hidden;background:var(--ctr-ink)}
.ctr-wide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ctr-wide::after{content:"";position:absolute;inset:0;background:var(--ctr-scrim)}
.ctr-wide__in{position:relative;z-index:1;height:100%;display:flex;align-items:flex-end;padding-bottom:var(--ctr-space-10)}
.ctr-wide__text{color:#fff;font-size:24px;line-height:34px;font-weight:var(--ctr-fw-medium);max-width:680px}

@media (max-width:991px){
  .ctr-segments{grid-template-columns:repeat(2,1fr)}
  .ctr-fmt{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  .ctr-segments{grid-template-columns:1fr}
  .ctr-wide{height:auto;min-height:0}
  .ctr-wide img{position:relative;height:auto;aspect-ratio:4/3}
  .ctr-wide__in{position:absolute;inset:0;padding-bottom:var(--ctr-space-4)}
  .ctr-wide__text{font-size:18px;line-height:26px}
}

/* ─────────── ФОРМА ЗАЯВКИ В КАЛЬКУЛЯТОРЕ ─────────── */
.ctr-calc__phone{
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;
  margin-bottom:var(--ctr-space-2);
}
.ctr-calc__phone::placeholder{color:rgba(255,255,255,.4)}
.ctr-calc__phone:focus{background:rgba(255,255,255,.12);border-color:var(--ctr-accent)}
.ctr-calc__phone[aria-invalid="true"]{border-color:var(--ctr-error)}
.ctr-calc__micro{display:flex;align-items:center;gap:var(--ctr-space-2);
  font-size:12px;line-height:17px;color:rgba(255,255,255,.45);margin-top:var(--ctr-space-3)}
.ctr-calc__micro .ctr-tip{color:rgba(255,255,255,.45)}
.ctr-calc__micro .ctr-tip:hover{color:#fff}
.ctr-calc__err{font-size:13px;line-height:18px;color:#FF9B84;margin-top:var(--ctr-space-2)}
/* штатная иконка календаря чёрная — на тёмном поле её не видно */
.ctr-section--dark input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);
  opacity:.7;cursor:pointer}
.ctr-section--dark input[type="date"]::-webkit-calendar-picker-indicator:hover{opacity:1}

.ctr-msg{position:relative}
.ctr-msg__btn svg{transition:transform var(--ctr-transition)}
.ctr-msg__btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.ctr-msg__list{position:absolute;left:0;right:0;top:calc(100% + var(--ctr-space-2));z-index:12;
  display:flex;flex-direction:column;gap:2px;padding:6px;
  background:var(--ctr-surface-card);border-radius:var(--ctr-radius-md);
  box-shadow:0 12px 32px rgba(49,45,43,.28)}
.ctr-root .ctr-msg__item{display:flex;align-items:center;gap:var(--ctr-space-3);
  padding:10px var(--ctr-space-3);border-radius:var(--ctr-radius-sm);
  font-size:14px;font-weight:var(--ctr-fw-medium);color:var(--ctr-ink);
  text-align:left;cursor:pointer;transition:background-color var(--ctr-transition)}
.ctr-msg__item:hover,
.ctr-root a.ctr-msg__item:hover{background:var(--ctr-surface-hover);color:var(--ctr-ink)}
.ctr-msg__ico{width:20px;height:20px;flex:0 0 auto}
.ctr-msg__ico svg{width:20px;height:20px;display:block;fill:none;stroke:var(--ctr-accent);
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ctr-msg__list[hidden]{display:none}
.ctr-calc__done{
  padding:var(--ctr-space-5);margin-top:var(--ctr-space-5);
  background:rgba(255,255,255,.08);border-radius:var(--ctr-radius-md);
}
.ctr-calc__done-t{font-size:18px;line-height:26px;font-weight:var(--ctr-fw-medium);color:#fff}
.ctr-calc__done-d{font-size:13px;line-height:19px;color:rgba(255,255,255,.6);margin-top:var(--ctr-space-2)}

/* ─────────── 08 · МЕНЮ ─────────── */
.ctr-menu__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ctr-space-4)}
.ctr-dish{display:flex;flex-direction:column;gap:var(--ctr-space-3)}
.ctr-dish img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--ctr-radius-img);
  background:rgba(255,255,255,.06);transition:transform .5s ease}
.ctr-dish:hover img{transform:scale(1.04)}
.ctr-dish figcaption{font-size:13px;line-height:18px;color:rgba(255,255,255,.75)}
.ctr-menu__note{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ctr-space-6);
  margin-top:var(--ctr-space-10);padding-top:var(--ctr-space-8);
  border-top:1px solid rgba(255,255,255,.12)}
.ctr-menu__note p{font-size:13px;line-height:20px;color:rgba(255,255,255,.6)}
.ctr-menu__note b{color:#fff;font-weight:var(--ctr-fw-medium)}

/* ─────────── 09 · НОРМЫ ─────────── */
.ctr-norms .ctr-lead{max-width:470px;font-size:15px;line-height:22px;margin:0}
.ctr-norms__wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:var(--ctr-space-8);align-items:start}
.ctr-norms__table{width:100%;border-collapse:separate;border-spacing:0}
.ctr-norms__table th{text-align:left;font-size:12px;line-height:16px;font-weight:var(--ctr-fw-semibold);
  text-transform:uppercase;letter-spacing:.06em;color:var(--ctr-text-secondary);
  padding:0 var(--ctr-space-3) var(--ctr-space-3);border-bottom:1px solid var(--ctr-border-color)}
.ctr-norms__table th:not(:first-child){text-align:right}
.ctr-norms__table td{padding:11px var(--ctr-space-3);border-bottom:1px solid var(--ctr-border-soft);
  font-size:15px;line-height:22px}
.ctr-norms__table td:not(:first-child){text-align:right;white-space:nowrap;
  font-weight:var(--ctr-fw-medium)}
.ctr-norms__table tr:last-child td{border-bottom:0}

/* строка-переключатель: ведёт факт в правой колонке */
.ctr-norms__table tbody tr{cursor:pointer;outline:none;
  transition:background-color var(--ctr-transition)}
.ctr-norms__table tbody tr td:first-child{border-left:2px solid transparent}
.ctr-norms__table tbody tr:hover td,
.ctr-norms__table tbody tr.is-active td{background:var(--ctr-surface-page)}
.ctr-norms__table tbody tr.is-active td:first-child{border-left-color:var(--ctr-accent)}
.ctr-norms__table tbody tr:focus-visible td{background:var(--ctr-surface-page);
  box-shadow:inset 0 0 0 1px var(--ctr-accent)}
.ctr-norms__table tbody tr td:first-child{border-radius:var(--ctr-radius-sm) 0 0 var(--ctr-radius-sm)}
.ctr-norms__table tbody tr td:last-child{border-radius:0 var(--ctr-radius-sm) var(--ctr-radius-sm) 0}

.ctr-norms__side{position:sticky;top:24px;padding:var(--ctr-space-5);min-height:250px;
  background:var(--ctr-surface-page);border-radius:var(--ctr-radius-lg)}
.ctr-norms__cap{font-size:12px;line-height:16px;font-weight:var(--ctr-fw-semibold);
  text-transform:uppercase;letter-spacing:.06em;color:var(--ctr-text-muted);
  margin-bottom:var(--ctr-space-4)}
.ctr-norms__fact{display:none}
.ctr-norms__fact.is-on{display:block}
/* без JS показываем первый факт, чтобы панель не была пустой */
.ctr-norms__side:not(.is-ready) .ctr-norms__fact:first-of-type{display:block}
.ctr-norms__fact b{display:block;font-size:26px;line-height:34px;font-weight:var(--ctr-fw-medium);
  color:var(--ctr-accent);font-variant-numeric:tabular-nums}
.ctr-norms__fact span{display:block;font-size:14px;line-height:20px;color:var(--ctr-ink);
  margin-top:var(--ctr-space-1)}
.ctr-norms__fact p{font-size:13px;line-height:19px;color:var(--ctr-text-secondary);
  margin-top:var(--ctr-space-3);padding-top:var(--ctr-space-3);
  border-top:1px solid var(--ctr-border-color)}
.ctr-norms__hint{margin-top:var(--ctr-space-6);font-size:13px;line-height:20px;
  color:var(--ctr-text-secondary);max-width:900px}

@media (max-width:991px){
  .ctr-menu__grid{grid-template-columns:repeat(4,1fr)}
  .ctr-menu__note{grid-template-columns:1fr;gap:var(--ctr-space-4)}
  .ctr-serv__grid{grid-template-columns:1fr}
  .ctr-norms__wrap{grid-template-columns:1fr}
  .ctr-norms__side{position:static}
}
@media (max-width:768px){
  .ctr-menu__grid{grid-template-columns:repeat(2,1fr);gap:var(--ctr-space-3)}
  .ctr-dish figcaption{font-size:12px;line-height:17px}
  .ctr-norms__table td{font-size:14px;padding:12px 0}
  .ctr-norms__table th{font-size:11px}
}

/* ─────────── 09.1 · СЕРВИРОВКА ─────────── */
.ctr-serv .ctr-lead{max-width:620px;font-size:15px;line-height:22px;margin:0}
.ctr-serv__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--ctr-space-6) var(--ctr-space-5)}
.ctr-serv__item img{width:100%;aspect-ratio:3/2;object-fit:cover;
  border-radius:var(--ctr-radius-img);cursor:zoom-in}

/* попап с крупным фото */
.ctr-lb{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;
  justify-content:center;padding:var(--ctr-space-6);
  background:rgba(49,45,43,.88);opacity:0;visibility:hidden;
  transition:opacity var(--ctr-transition),visibility var(--ctr-transition)}
.ctr-lb.is-on{opacity:1;visibility:visible}
.ctr-lb__fig{max-width:min(1100px,100%);max-height:100%;display:flex;
  flex-direction:column;gap:var(--ctr-space-3)}
.ctr-lb__fig img{max-width:100%;max-height:78vh;object-fit:contain;
  border-radius:var(--ctr-radius-img)}
.ctr-lb__cap{text-align:center}
.ctr-lb__cap b{display:block;color:#fff;font-size:16px;line-height:24px;
  font-weight:var(--ctr-fw-medium)}
.ctr-lb__cap span{display:block;margin-top:2px;color:rgba(255,255,255,.7);
  font-size:14px;line-height:20px}
.ctr-lb__close{position:absolute;top:var(--ctr-space-5);right:var(--ctr-space-5);
  width:var(--ctr-control-h-md);height:var(--ctr-control-h-md);
  border-radius:var(--ctr-radius-full);border:1px solid rgba(255,255,255,.35);
  background:transparent;color:#fff;display:inline-flex;align-items:center;
  justify-content:center;cursor:pointer;transition:background-color var(--ctr-transition)}
.ctr-lb__close:hover{background:rgba(255,255,255,.14)}
.ctr-lb__close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round}
.ctr-serv__item figcaption{margin-top:var(--ctr-space-3)}
.ctr-serv__item b{display:block;font-size:16px;line-height:24px;
  font-weight:var(--ctr-fw-medium)}
.ctr-serv__item span{display:block;margin-top:2px;font-size:13px;line-height:19px;
  color:var(--ctr-text-secondary)}

/* ─────────── 10 · ВИДЕО-РАЗДЕЛИТЕЛЬ ─────────── */
.ctr-vsep{position:relative;height:64vh;min-height:420px;overflow:hidden;background:var(--ctr-ink)}
.ctr-vsep__poster,.ctr-vsep__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ctr-vsep__video{opacity:0;transition:opacity .24s ease}
.ctr-vsep__video.is-on{opacity:1}
.ctr-vsep__poster{opacity:1;transition:opacity .24s ease}
.ctr-vsep__poster.is-off{opacity:0}
.ctr-vsep::after{content:"";position:absolute;inset:0;background:var(--ctr-scrim)}
.ctr-vsep__in{position:relative;z-index:1;height:100%;display:flex;align-items:flex-end;
  padding-bottom:var(--ctr-space-10)}
.ctr-vsep__text{color:#fff;font-size:24px;line-height:34px;font-weight:var(--ctr-fw-medium);max-width:720px}

/* ─────────── 11 · ПЛОЩАДКА ─────────── */
.ctr-venue__hero{position:relative;border-radius:var(--ctr-radius-lg);overflow:hidden;
  background:var(--ctr-ink)}
/* рамка ровно по пропорции ролика 1900×958 — иначе снизу остаётся полоса фона */
.ctr-venue__hero img{width:100%;aspect-ratio:1900/958;object-fit:cover;
  transition:opacity .24s ease}
.ctr-venue__hero img.is-off{opacity:0}
.ctr-venue__hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:var(--ctr-scrim);pointer-events:none}
.ctr-venue__hero-in{position:absolute;inset:0;z-index:2;display:flex;
  flex-direction:column;justify-content:flex-end;padding:var(--ctr-space-8);color:#fff}
.ctr-venue__hero-in .ctr-section__title{color:#fff;margin-bottom:var(--ctr-space-2)}
.ctr-venue__hero-lead{max-width:640px;font-size:16px;line-height:24px;
  color:rgba(255,255,255,.82)}

.ctr-venue__nums{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ctr-space-4);
  margin-top:var(--ctr-space-8);padding-bottom:var(--ctr-space-8);
  border-bottom:1px solid var(--ctr-border-color)}
.ctr-venue__nums li{display:flex;flex-direction:column;gap:var(--ctr-space-1)}
.ctr-venue__nums b{font-size:24px;line-height:32px;font-weight:var(--ctr-fw-medium);
  font-variant-numeric:tabular-nums}
.ctr-venue__nums span{font-size:13px;line-height:18px;color:var(--ctr-text-secondary)}

/* видео в хиро площадки: два файла — горизонтальный и вертикальный */
/* через .ctr-root: базовое .ctr-root video{height:auto} специфичнее одного класса */
.ctr-root .ctr-venue__video{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:0;transition:opacity .24s ease}
.ctr-venue__video.is-on{opacity:1}
.ctr-venue__hero img.is-off{opacity:0}
.ctr-venue__hero img{transition:opacity .24s ease}

/* ── галерея-лента ── */
.ctr-gal{margin-top:var(--ctr-space-10)}
.ctr-gal__head{display:flex;align-items:center;justify-content:space-between;
  gap:var(--ctr-space-4);margin-bottom:var(--ctr-space-4)}
.ctr-gal__nav{display:flex;gap:var(--ctr-space-2)}
.ctr-gal__btn{width:var(--ctr-control-h-md);height:var(--ctr-control-h-md);
  border-radius:var(--ctr-radius-full);border:1px solid var(--ctr-border-color);
  background:var(--ctr-surface-card);display:inline-flex;align-items:center;
  justify-content:center;cursor:pointer;transition:border-color var(--ctr-transition)}
.ctr-gal__btn:hover{border-color:var(--ctr-accent)}
.ctr-gal__btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.ctr-gal__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none}
.ctr-gal__viewport::-webkit-scrollbar{display:none}
.ctr-gal__track{display:flex;gap:var(--ctr-space-4)}
.ctr-gal__item{flex:0 0 clamp(260px,26vw,380px);scroll-snap-align:start}
.ctr-gal__item img{width:100%;aspect-ratio:3/2;object-fit:cover;
  border-radius:var(--ctr-radius-img)}
.ctr-gal__item figcaption{margin-top:var(--ctr-space-2);font-size:13px;line-height:18px;
  color:var(--ctr-text-secondary)}

/* ── контакты площадки ── */
.ctr-venue__contacts{margin-top:var(--ctr-space-10);padding:var(--ctr-space-6);
  background:var(--ctr-surface-page);border-radius:var(--ctr-radius-lg)}
.ctr-venue__clabel{font-size:12px;line-height:16px;font-weight:var(--ctr-fw-semibold);
  text-transform:uppercase;letter-spacing:.06em;color:var(--ctr-text-muted);
  margin-bottom:var(--ctr-space-4)}
.ctr-venue__clist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--ctr-space-5) var(--ctr-space-6);margin-bottom:var(--ctr-space-6)}
.ctr-venue__clist li{display:flex;gap:var(--ctr-space-3);align-items:flex-start}
.ctr-venue__clist b{display:block;font-size:15px;line-height:22px;
  font-weight:var(--ctr-fw-medium)}
.ctr-venue__clist span:last-child{font-size:13px;line-height:19px;color:var(--ctr-text-secondary)}
.ctr-venue__cico{flex:0 0 auto;width:20px;height:20px;margin-top:2px}
.ctr-venue__cico svg{width:20px;height:20px;display:block;fill:none;stroke:var(--ctr-accent);
  stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}


@media (max-width:991px){
  .ctr-venue__nums{grid-template-columns:repeat(3,1fr);gap:var(--ctr-space-5)}
  .ctr-venue__clist{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .ctr-vsep{height:auto;min-height:0}
  .ctr-vsep__poster{position:relative;height:auto;aspect-ratio:4/3}
  .ctr-vsep__in{position:absolute;inset:0;padding-bottom:var(--ctr-space-4)}
  .ctr-vsep__text{font-size:18px;line-height:26px}
  .ctr-venue__nums{grid-template-columns:repeat(2,1fr)}
  .ctr-venue__clist{grid-template-columns:1fr}
  .ctr-venue__contacts{padding:var(--ctr-space-4)}
  .ctr-gal__item{flex:0 0 78%}
  .ctr-venue__hero{border-radius:var(--ctr-radius-img)}
  .ctr-venue__hero-in{padding:var(--ctr-space-4)}
  .ctr-venue__hero-lead{font-size:14px;line-height:20px}
  /* на телефоне играет вертикальный ролик 430×932 — кадр под него */
  .ctr-venue__hero img{aspect-ratio:430/932}
}

/* ─────────── 12 · МЕРОПРИЯТИЕ ЦЕЛИКОМ ─────────── */
.ctr-full__list{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ctr-space-4)}
.ctr-full__list li{padding:var(--ctr-space-5);background:var(--ctr-surface-card);
  border-radius:var(--ctr-radius-img)}
.ctr-full__ico{display:flex;align-items:center;justify-content:center;
  width:var(--ctr-icon-box);height:var(--ctr-icon-box);border-radius:var(--ctr-radius-full);
  background:var(--ctr-accent-tint);margin-bottom:var(--ctr-space-3)}
.ctr-full__ico svg{width:var(--ctr-icon-size);height:var(--ctr-icon-size);display:block;
  fill:none;stroke:var(--ctr-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ctr-full__list b{display:block;font-size:16px;line-height:24px;font-weight:var(--ctr-fw-medium);
  margin-bottom:var(--ctr-space-1)}
.ctr-full__list span{font-size:13px;line-height:19px;color:var(--ctr-text-secondary)}

/* акция — тем же фирменным градиентом, что и оффер в калькуляторе */
.ctr-full__note{position:relative;display:flex;align-items:center;gap:var(--ctr-space-4);
  margin-top:var(--ctr-space-6);padding:18px var(--ctr-space-6);
  border-radius:var(--ctr-radius-img);color:#fff;overflow:hidden;
  background:linear-gradient(135deg,#FE5D26 30%,#7B2FF2 120%);
  box-shadow:0 10px 30px rgba(254,93,38,.18)}
.ctr-full__note::after{content:"";position:absolute;right:-80px;top:-140px;
  width:340px;height:340px;border-radius:var(--ctr-radius-full);
  background:rgba(255,255,255,.08);pointer-events:none}
.ctr-full__note-ico{flex:0 0 auto;width:44px;height:44px;border-radius:var(--ctr-radius-full);
  background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
.ctr-full__note-ico svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.ctr-full__note-txt{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px}
.ctr-full__note-txt b{font-size:17px;line-height:24px;font-weight:var(--ctr-fw-semibold)}
.ctr-full__note-txt>span{font-size:14px;line-height:20px;color:rgba(255,255,255,.82)}

/* ─────────── 13 · КЕЙСЫ ─────────── */
.ctr-cases__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ctr-space-4)}
.ctr-case .ctr-card__media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.ctr-case__meta{font-size:12px;line-height:16px;font-weight:var(--ctr-fw-medium);
  text-transform:uppercase;letter-spacing:.06em;color:var(--ctr-text-secondary);
  margin-bottom:var(--ctr-space-2)}
.ctr-case__nums{margin-top:var(--ctr-space-3);font-size:14px;line-height:20px;
  color:var(--ctr-text-secondary)}
.ctr-case__nums b{color:var(--ctr-ink);font-weight:var(--ctr-fw-medium);
  font-variant-numeric:tabular-nums}

/* ─────────── 14 · ОТЗЫВЫ ─────────── */
/* ─────────── CTA В СЕРЕДИНЕ ─────────── */
.ctr-cta__in{display:flex;align-items:center;justify-content:space-between;
  gap:var(--ctr-space-8);flex-wrap:wrap;
  padding:var(--ctr-space-8);border-radius:var(--ctr-radius-lg);
  background:var(--ctr-accent-tint)}
.ctr-h2-cta{font-size:28px;line-height:36px;font-weight:var(--ctr-fw-medium)}
.ctr-cta__txt p{max-width:620px;margin-top:var(--ctr-space-3);
  font-size:15px;line-height:22px;color:var(--ctr-text-secondary)}
.ctr-cta__actions{display:flex;gap:var(--ctr-space-3);flex-wrap:wrap}

.ctr-rev__grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--ctr-space-10);
  align-items:start}
.ctr-rev__score{padding:var(--ctr-space-6);background:rgba(255,255,255,.06);
  border-radius:var(--ctr-radius-lg);text-align:center}
.ctr-rev__stars{color:var(--ctr-accent);font-size:20px;letter-spacing:.1em}
.ctr-rev__val{font-size:64px;line-height:72px;font-weight:var(--ctr-fw-medium);
  margin-top:var(--ctr-space-2)}
.ctr-rev__cap{font-size:13px;line-height:19px;color:rgba(255,255,255,.55);
  margin-top:var(--ctr-space-2)}
.ctr-rev__link{display:inline-block;margin-top:var(--ctr-space-4);font-size:14px;
  color:var(--ctr-accent)}
.ctr-rev__clients{display:flex;flex-wrap:wrap;gap:var(--ctr-space-2);margin-top:var(--ctr-space-6)}
.ctr-rev__clients li{padding:8px 16px;border:1px solid rgba(255,255,255,.18);
  border-radius:var(--ctr-radius-pill);font-size:14px;color:rgba(255,255,255,.8)}
.ctr-rev__awards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ctr-space-4);
  margin-top:var(--ctr-space-8);padding-top:var(--ctr-space-6);
  border-top:1px solid rgba(255,255,255,.12)}
.ctr-rev__awards b{display:block;font-size:15px;line-height:22px;font-weight:var(--ctr-fw-medium)}
.ctr-rev__awards span{font-size:13px;line-height:18px;color:rgba(255,255,255,.55)}

/* ─────────── 15 · ПОЛНОШИРИННОЕ ФОТО (чистая пауза, без текста) ───────────
   Отдельный класс: у блока 06 та же роль, но там есть текст-оверлей
   и другая механика (position:relative + img absolute).            */
.ctr-strip{display:block;font-size:0}
.ctr-strip img{width:100%;height:48vh;min-height:320px;object-fit:cover}

@media (max-width:991px){
  .ctr-full__list{grid-template-columns:repeat(2,1fr)}
  .ctr-cases__grid{grid-template-columns:repeat(2,1fr)}
  .ctr-rev__grid{grid-template-columns:1fr;gap:var(--ctr-space-6)}
  .ctr-rev__awards{grid-template-columns:1fr;gap:var(--ctr-space-3)}
}
@media (max-width:768px){
  .ctr-full__list{grid-template-columns:1fr}
  .ctr-full__note{flex-direction:column;align-items:flex-start;gap:var(--ctr-space-3);
    padding:var(--ctr-space-4) var(--ctr-space-5)}
  .ctr-full__note-txt b{font-size:16px;line-height:22px}
  .ctr-cases__grid{grid-template-columns:1fr}
  .ctr-rev__val{font-size:48px;line-height:56px}
  .ctr-strip img{height:auto;aspect-ratio:4/3;min-height:0}
}

/* ─────────── 16 · КАК МЫ РАБОТАЕМ ─────────── */
.ctr-how__list{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ctr-space-4)}
.ctr-how__list li{padding:var(--ctr-space-5);background:var(--ctr-surface-page);
  border-radius:var(--ctr-radius-lg);display:flex;flex-direction:column;gap:var(--ctr-space-2)}
.ctr-how__n{font-size:13px;font-weight:var(--ctr-fw-semibold);color:var(--ctr-accent);
  font-variant-numeric:tabular-nums}
.ctr-how__list b{font-size:16px;line-height:24px;font-weight:var(--ctr-fw-medium)}
.ctr-how__list p{font-size:13px;line-height:19px;color:var(--ctr-text-secondary);flex:1}
.ctr-how__list em{font-style:normal;font-size:12px;line-height:16px;font-weight:var(--ctr-fw-medium);
  color:var(--ctr-accent);padding-top:var(--ctr-space-2);
  border-top:1px solid var(--ctr-border-color)}

/* ─────────── 17 · ГАРАНТИИ ─────────── */

/* ─────────── 18 · ДОКУМЕНТЫ И ГОСЗАКАЗ ─────────── */
.ctr-docs__grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--ctr-space-10);
  align-items:start}
.ctr-docs .ctr-section__lead b{color:#fff;font-weight:var(--ctr-fw-medium)}
.ctr-docs__list{margin-top:var(--ctr-space-6);display:flex;flex-direction:column;gap:var(--ctr-space-3)}
.ctr-docs__list li{position:relative;padding-left:26px;font-size:15px;line-height:22px;
  color:rgba(255,255,255,.9)}
.ctr-docs__list li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:9px;
  border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.ctr-docs__card{background:#fff;color:var(--ctr-ink);padding:var(--ctr-space-6);
  border-radius:var(--ctr-radius-lg)}
.ctr-docs__pack{margin:var(--ctr-space-4) 0;display:flex;flex-direction:column;gap:var(--ctr-space-2)}
.ctr-docs__pack li{font-size:14px;line-height:21px;padding-left:16px;position:relative}
.ctr-docs__pack li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;
  border-radius:50%;background:var(--ctr-accent)}
.ctr-docs__hint{font-size:13px;line-height:19px;color:var(--ctr-text-secondary)}
.ctr-docs__btn{margin-top:var(--ctr-space-5);width:100%}

/* ─────────── 19 · ГЕОГРАФИЯ ─────────── */
.ctr-geo__grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--ctr-space-10);
  align-items:start}
.ctr-geo__zones{margin-top:var(--ctr-space-4);display:flex;flex-direction:column}
.ctr-geo__zones li{display:flex;justify-content:space-between;gap:var(--ctr-space-4);
  padding:14px 0;border-bottom:1px solid var(--ctr-border-soft);font-size:15px;line-height:22px}
.ctr-geo__zones b{font-weight:var(--ctr-fw-medium);white-space:nowrap}
.ctr-geo__zones span{color:var(--ctr-text-secondary);text-align:right;font-size:14px}
.ctr-geo__note{margin-top:var(--ctr-space-4);font-size:13px;line-height:19px;
  color:var(--ctr-text-secondary)}
.ctr-geo__urgent{padding:var(--ctr-space-6);background:var(--ctr-ink);color:#fff;
  border-radius:var(--ctr-radius-lg)}
.ctr-geo__urgent p{font-size:14px;line-height:21px;color:rgba(255,255,255,.7);
  margin-top:var(--ctr-space-3)}
.ctr-geo__urgent b{color:#fff;font-weight:var(--ctr-fw-medium)}
.ctr-geo__actions{display:flex;flex-direction:column;gap:var(--ctr-space-2);margin-top:var(--ctr-space-5)}
.ctr-geo__urgent .ctr-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.ctr-geo__actions .ctr-msg__ico svg{stroke:currentColor}
.ctr-geo__urgent .ctr-btn--ghost:hover{background:rgba(255,255,255,.1);color:#fff}

/* ─────────── 20 · FAQ ─────────── */
.ctr-faq__list{display:flex;flex-direction:column}
.ctr-faq__item{border-bottom:1px solid var(--ctr-border-color)}
.ctr-faq__item summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;
  font-size:16px;line-height:24px;font-weight:var(--ctr-fw-medium);position:relative;
  transition:color var(--ctr-transition)}
.ctr-faq__item summary::-webkit-details-marker{display:none}
.ctr-faq__item summary:hover{color:var(--ctr-accent)}
.ctr-faq__item summary::after{content:"";position:absolute;right:8px;top:28px;
  width:9px;height:9px;border-right:2px solid var(--ctr-text-secondary);
  border-bottom:2px solid var(--ctr-text-secondary);transform:rotate(45deg);
  transition:transform var(--ctr-transition)}
.ctr-faq__item[open] summary::after{transform:rotate(-135deg);top:32px}
.ctr-faq__a{padding:0 40px 20px 0}
.ctr-faq__a p{font-size:15px;line-height:23px;color:var(--ctr-text-secondary)}

/* ─────────── 21 · ФИНАЛЬНАЯ ФОРМА ─────────── */
.ctr-final__grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--ctr-space-10);
  align-items:start}
.ctr-final__facts{display:flex;flex-direction:column;gap:var(--ctr-space-4);
  margin-top:var(--ctr-space-8)}
.ctr-final__facts li{display:flex;align-items:baseline;gap:var(--ctr-space-3)}
.ctr-final__facts b{font-size:20px;line-height:28px;font-weight:var(--ctr-fw-medium);
  color:var(--ctr-accent);white-space:nowrap;font-variant-numeric:tabular-nums}
.ctr-final__facts span{font-size:14px;line-height:21px;color:rgba(255,255,255,.65)}
.ctr-final__contacts{margin-top:var(--ctr-space-8);padding-top:var(--ctr-space-6);
  border-top:1px solid rgba(255,255,255,.12);font-size:15px;line-height:24px;
  color:rgba(255,255,255,.7)}
.ctr-final__contacts a{color:#fff;font-weight:var(--ctr-fw-medium)}
.ctr-final__form{background:rgba(255,255,255,.06);padding:var(--ctr-space-6);
  border-radius:var(--ctr-radius-lg);display:flex;flex-direction:column;gap:var(--ctr-space-4)}
.ctr-final__form .ctr-field__label{color:rgba(255,255,255,.55)}
.ctr-final__form .ctr-field__control{background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.18);color:#fff}
.ctr-final__form .ctr-field__control::placeholder{color:rgba(255,255,255,.35)}
.ctr-final__form .ctr-field__control:focus{border-color:var(--ctr-accent);
  background:rgba(255,255,255,.12)}
.ctr-final__micro{font-size:12px;line-height:17px;color:rgba(255,255,255,.45)}
.ctr-final__done{grid-column:1 / -1}

@media (max-width:991px){
  .ctr-how__list{grid-template-columns:repeat(2,1fr)}
  .ctr-docs__grid,.ctr-geo__grid,.ctr-final__grid{grid-template-columns:1fr;gap:var(--ctr-space-6)}
}
@media (max-width:768px){
  .ctr-how__list{grid-template-columns:1fr}
  .ctr-geo__zones li{flex-direction:column;gap:2px}
  .ctr-geo__zones span{text-align:left}
  .ctr-faq__item summary{font-size:15px;padding-right:32px}
  .ctr-final__facts b{font-size:18px}
}

/* ===========================================================
   МОБИЛЬНЫЕ ЛЕНТЫ
   Длинные сетки на телефоне разворачиваем горизонтально: столбиком
   каждый такой блок занимает по полтора экрана прокрутки.
   =========================================================== */
@media (max-width:768px){
  .ctr-fmt,
  .ctr-menu__grid,
  .ctr-full__list,
  .ctr-cases__grid,
  .ctr-how__list{display:flex;gap:var(--ctr-space-3);overflow-x:auto;
    scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
  .ctr-fmt::-webkit-scrollbar,
  .ctr-menu__grid::-webkit-scrollbar,
  .ctr-full__list::-webkit-scrollbar,
  .ctr-cases__grid::-webkit-scrollbar,
  .ctr-how__list::-webkit-scrollbar{display:none}
  .ctr-fmt__card,
  .ctr-full__list li,
  .ctr-case,
  .ctr-how__list li{flex:0 0 78%;scroll-snap-align:start}
  .ctr-dish{flex:0 0 60%;scroll-snap-align:start}

  /* подсветке строки нужен воздух по бокам */
  .ctr-norms__table th{padding:0 14px var(--ctr-space-3)}
  .ctr-norms__table td{padding:12px 14px}

  /* длинная надпись не должна ломаться в две строки в узкой кнопке */
  .ctr-venue__contacts .ctr-btn{width:100%}
}
