/* ===== ПринятоПро — главная (стиль «акт/досье») ===== */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;width:100%;overflow-x:clip}
/* при активном Lenis нативный smooth даёт двойную анимацию (тянет, потом рывок) */
html.lenis{scroll-behavior:auto!important}
body{
  font-family:var(--f-body);
  color:var(--ink);
  background-color:var(--paper);
  font-size:var(--fs-body);
  line-height:1.6;
  position:relative;
  width:100%;
  overflow-x:clip;
}
/* зерно поверх всего — фактура бумаги (без blend-mode ради перфа) */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity:.06;
}
/* (виньетку body::after убрали: фиксированный градиент читался как «непролистанная полоса» фона) */

/* ---- утилиты ---- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;position:relative;z-index:1}
.oswald{font-family:var(--f-display)}
.hand{font-family:var(--f-hand);color:var(--red);line-height:1.1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
section{position:relative;z-index:1}

/* заголовки секций */
.sec{padding:48px 0}
.sec-head{margin-bottom:34px;max-width:760px;position:relative}
/* красная пометка над заголовком — рукописная, наискосок, как «6 вопросов» в hero */
.eyebrow{font-family:var(--f-hand);font-size:30px;font-weight:700;color:var(--red-mark);line-height:1.05;display:inline-block;transform:rotate(-2deg);margin-bottom:8px}
h1.sh,h2.sh{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:clamp(34px,5vw,58px);line-height:1.14;letter-spacing:.005em;color:var(--ink)}
h3.sh3{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:clamp(34px,5vw,58px);line-height:1.14;letter-spacing:.005em;color:var(--ink);margin-bottom:8px}
.sec-lead{font-size:var(--fs-lead);color:var(--ink-soft);margin-top:14px;line-height:1.62}
.micro{font-size:var(--fs-sm);color:var(--ink-faint);margin-top:18px;font-style:italic}
/* ПК: однострочные заголовки секций (квиз/процесс/доказательства) + акты ровно в 2 строки */
@media(min-width:1100px){
  #process .sec-head h2.sh,
  #srok .sec-head h2.sh,
  #video .sec-head h2.sh{white-space:nowrap;width:fit-content;max-width:none}
  #garant .sec-head h2.sh{font-size:clamp(44px,4vw,50px);line-height:1.14;width:max-content;max-width:none}
  /* страница «Цены»: длинные заголовки в одну строку (пометка по тексту) + воздух между плотными секциями */
  .page-tseny #uslugi .sec-head h2.sh,
  .page-tseny #vhodit .sec-head h2.sh,
  .page-tseny #cta .sec-head h2.sh{white-space:nowrap;width:-webkit-fit-content;width:fit-content;max-width:none}
  .page-tseny #dop,
  .page-tseny #vhodit,
  .page-tseny #cta{padding-bottom:80px}
  /* страницы-услуги: заголовки с «висячим» одиночным словом — в одну строку, пометка садится по тексту */
  .page-uslugi #cta .sec-head h2.sh,
  .page-priemka-kvartiry #check .sec-head h2.sh,
  .page-priemka-kvartiry #faq .sec-head h2.sh,
  .page-priemka-kvartiry #cta .sec-head h2.sh,
  .page-priemka-kvartiry #quiz .sec-head h2.sh,
  .page-tehnadzor #check .sec-head h2.sh,
  .page-tehnadzor #faq .sec-head h2.sh,
  .page-audit #uslugi .sec-head h2.sh,
  .page-final #granicy .sec-head h2.sh,
  .page-distant #uslugi .sec-head h2.sh,
  .page-priemka-novostroyka #shots .sec-head h2.sh,
  .page-distant #granicy .sec-head h2.sh{white-space:nowrap;width:-webkit-fit-content;width:fit-content;max-width:none}
}
/* rough-notation рисует пометку по боксу заголовка — ужимаем бокс до текста,
   чтобы линия/рамка/овал обводили именно фразу, а не пустоту справа */
h2.sh,h3.sh3{width:-webkit-fit-content;width:fit-content;max-width:100%}
.sec-head[style*="center"] h2.sh{margin-inline:auto} /* центрованные заголовки (квиз) — держим по центру */

/* кнопки */
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;padding:14px 26px;border:none;border-radius:var(--radius);cursor:pointer;font-size:15px;box-shadow:0 3px 0 var(--red-dark);transition:transform .05s, background .15s;text-align:center}
.btn:hover{background:var(--red-dark);box-shadow:0 2px 0 var(--red-dark)}
.btn:active{transform:translateY(2px);box-shadow:none}
.btn.sm{padding:10px 18px;font-size:13px}
.btn.lg{padding:17px 36px;font-size:19px}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:none}
.btn.ghost:hover{background:var(--ink);color:var(--paper-2)}
/* header CTA: тёмная (≈чёрная) у верха страницы, краснеет после 2-го экрана (класс .cta-dark на .site-header снимается скриптом) */
.site-header .btn.sm{transition:background .28s ease, box-shadow .28s ease, color .2s ease, transform .05s}
.site-header.cta-dark .btn.sm{background:var(--ink);box-shadow:0 3px 0 #0b0907}
.site-header.cta-dark .btn.sm:hover{background:#000;box-shadow:0 2px 0 #0b0907}
.site-header.cta-dark .btn.sm:active{box-shadow:none}

/* ===== ШАПКА «оторванный лист» ===== */
.site-header{position:sticky;top:0;z-index:40;width:100%}
.site-header .hd-inner{
  position:relative;
  background:rgba(243,234,212,.96);backdrop-filter:saturate(1.1) blur(3px);
  filter:drop-shadow(0 5px 7px rgba(30,20,8,.14));
}
/* рваный нижний край — отдельный декоративный слой, контент не клипает */
.site-header .hd-inner::after{
  content:"";position:absolute;left:0;right:0;bottom:-22px;height:24px;
  background:rgba(243,234,212,.96);
  -webkit-mask:var(--torn-edge);mask:var(--torn-edge);
  -webkit-mask-size:auto 100%;mask-size:auto 100%;
  -webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;
}
@supports not ((-webkit-mask-image:url(x)) or (mask-image:url(x))){
  .site-header .hd-inner{border-bottom:2px solid var(--ink)}
  .site-header .hd-inner::after{display:none}
}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 24px;max-width:var(--wrap);margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}
.brand img{height:64px;width:auto}
.brand .tg{font-family:var(--f-display);text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--ink);line-height:1.15;max-width:200px}
.nav{display:flex;align-items:center;gap:26px}
.nav .navlink{font-family:var(--f-display);text-transform:uppercase;font-size:14.5px;font-weight:500;letter-spacing:.06em;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav a.navlink:hover{border-bottom-color:var(--red)}
/* выпадающее меню «Услуги» */
.nav-dd{position:relative}
.dd-toggle svg{width:11px;height:8px;transition:transform .2s}
.nav-dd:hover .dd-toggle svg,.nav-dd.open .dd-toggle svg{transform:rotate(180deg)}
.nav-dd:hover .dd-toggle,.nav-dd.open .dd-toggle{border-bottom-color:var(--red)}
.dd-menu{
  position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:266px;background:var(--card-paper);border:1px solid var(--line-dark);border-radius:8px;
  box-shadow:0 16px 34px rgba(30,20,8,.22);padding:8px;opacity:0;visibility:hidden;transition:.18s;z-index:50;
}
.nav-dd:hover .dd-menu,.nav-dd.open .dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dd-menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.dd-menu a{display:block;font-family:var(--f-body);text-transform:none;font-size:15px;font-weight:500;letter-spacing:0;color:var(--ink);text-decoration:none;padding:10px 14px;border-radius:6px}
.dd-menu a:hover{background:rgba(204,32,24,.08);color:var(--red)}
.dd-menu a.dd-all{margin-top:4px;border-top:1px dashed var(--line-dark);border-radius:0;color:var(--red-mark);font-weight:600;font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-label);letter-spacing:.03em}
.head-contact{text-align:right;display:flex;flex-direction:column;line-height:1.1}
.head-contact .hours{font-size:11px;color:var(--ink-soft)}
.head-contact .phone{font-family:var(--f-display);font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:.01em}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:26px;height:2px;background:var(--ink);display:block;transition:.2s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;flex-direction:column;gap:2px;background:var(--panel);border-bottom:2px solid var(--ink);padding:14px 24px 20px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--f-display);text-transform:uppercase;font-size:18px;color:var(--ink);text-decoration:none;padding:13px 0;border-bottom:1px solid var(--line)}
.mobile-menu a.phone{font-size:22px;border-bottom:none}
.mobile-menu a.btn{color:#fff;text-align:center;margin-top:10px;border-bottom:none}
/* соцсети: кликабельные иконки TG/VK в шапке (ПК) и в мобильном меню */
.head-social{display:flex;align-items:center;gap:12px}
.head-social a{display:inline-flex;color:var(--ink);transition:color .18s ease,transform .05s ease}
.head-social a svg{width:26px;height:26px;display:block}
.head-social a:hover{color:var(--red)}
.head-social a:active{transform:translateY(1px)}
.mm-social{display:flex;justify-content:flex-end;align-items:center;gap:22px;padding-top:16px;margin-top:2px}
.mm-social a{display:inline-flex;color:var(--ink)}
.mm-social a svg{width:34px;height:34px;display:block}
.mm-social a:active{color:var(--red)}

/* ===== HERO (чистый, без фоновой плиты) ===== */
.hero{position:relative;padding:40px 0 64px}
.akt{position:relative;max-width:var(--wrap);margin:0 auto;padding:0}
.akt-meta{display:grid;grid-template-columns:1fr 1fr auto;gap:8px 26px;border-bottom:1.5px dashed var(--line-dark);padding-bottom:14px;margin-bottom:10px;font-size:14px}
.akt-meta .f{display:flex;gap:8px;align-items:baseline}
.akt-meta .f .k{font-family:var(--f-display);text-transform:uppercase;font-size:11px;color:var(--ink-soft);white-space:nowrap}
.akt-meta .f .v{flex:1;border-bottom:1px solid var(--line-dark);font-weight:700;min-width:60px}
.akt-no{font-family:var(--f-display);font-weight:700;color:var(--red);font-size:20px;text-align:right}
/* hero: композиция (текст + фото) по центру контейнера — равные поля слева/справа. */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:32px;margin-top:18px;align-items:start}
/* H1 — на всю ширину НАД блоком «текст+фото», крупный (как секционные H2, чуть больше) */
.hero h1{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:clamp(34px,5vw,60px);line-height:1.14;letter-spacing:.005em;color:var(--ink);margin:2px 0 4px;overflow-wrap:normal;hyphens:manual;-webkit-hyphens:manual}
.hero .lead-red{font-weight:700;font-size:22px;line-height:1.34;color:var(--ink)}
.hero #mark-lead{color:var(--red)}
.hero .lead{color:var(--ink-soft);font-size:18px;margin:16px 0 22px;max-width:580px;line-height:1.55}
.hero-bullets{display:flex;flex-direction:column;gap:13px;margin:20px 0 26px}
.hero-bullets li{display:flex;gap:11px;align-items:flex-start;list-style:none;font-size:17px;color:var(--ink);line-height:1.45}
.hero-bullets .ic{width:26px;height:26px;color:var(--red);flex:0 0 auto;margin-top:1px}
.cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cta-note{font-size:24px;transform:rotate(-5deg)}
.cta-sub{font-size:13px;color:var(--ink-soft);margin-top:10px}
.hero-second{margin-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:18px;font-weight:600;color:var(--ink)}
.hero-second .msgs{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero-second .msgs a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:3px}
/* иконки мессенджеров менеджера на hero (TG + MAX) — монохром под стиль «акта» */
.hero-second .msgs a.msg-ic{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;transition:color .18s ease,transform .05s ease}
.hero-second .msgs a.msg-ic svg{width:24px;height:24px;display:block}
.hero-second .msgs a.msg-ic--max svg{width:30px;height:30px} /* у MAX глиф занимает ~76% вьюбокса — крупнее, чтобы оптически совпасть с TG */
.hero-second .msgs a.msg-ic:hover{color:var(--red)}
.hero-second .msgs a.msg-ic:active{transform:translateY(1px)}
/* фото */
.photo-wrap{position:relative}
.photo{width:100%;aspect-ratio:4/5;object-fit:cover;border:8px solid #fff;box-shadow:4px 6px 0 rgba(34,29,22,.18);display:block;background:#cfc7b6}
.photo-cap{position:absolute;left:-6px;bottom:24px;font-family:var(--f-hand);color:#fff;font-size:28px;line-height:1;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.7);padding:6px 12px;max-width:82%;transform:rotate(-2deg)}
.tape{position:absolute;width:120px;height:30px;background:rgba(214,200,160,.55);border-left:1px dashed rgba(0,0,0,.12);border-right:1px dashed rgba(0,0,0,.12);top:-14px;left:50%;transform:translateX(-50%) rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,.1);z-index:2}
/* веер из трёх фото: задние выглядывают из-под переднего */
.photo-fan .fan-front{position:relative;z-index:1}
.photo-fan .photo-cap,.photo-fan .stamp{z-index:2}
.photo-fan .fan-b1,.photo-fan .fan-b2{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-fan .fan-b1{transform:rotate(5deg) translate(18px,10px)}
.photo-fan .fan-b2{transform:rotate(-6.5deg) translate(-20px,14px)}
/* hero: одиночное командное фото — показываем ЦЕЛИКОМ, без обрезки (натуральные пропорции).
   Ширину фото задаёт «остаточная» колонка сетки (она выпущена вправо до края экрана). */
.photo-single .photo{aspect-ratio:auto;height:auto;object-fit:contain;transform:rotate(-1.2deg)}
.stamp{position:absolute;font-family:var(--f-display);font-weight:700;text-transform:uppercase;color:var(--red);border:3px double var(--red);border-radius:8px;padding:8px 16px;font-size:22px;letter-spacing:.04em;transform:rotate(-13deg);opacity:.82;box-shadow:inset 0 0 0 2px rgba(204,32,24,.15);background:rgba(251,246,234,.25);mix-blend-mode:multiply}
.stamp small{display:block;font-size:9px;letter-spacing:.12em;text-align:center;font-weight:400}
.stamp.notchecked{top:16px;right:22px}

/* ===== ТРАСТЫ / ЦИФРЫ ===== */
.trust{background:var(--ink);color:var(--paper-2);padding:36px 0}
.trust .wrap{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.tcard{text-align:center}
.tcard .num{font-family:var(--f-display);font-weight:700;font-size:40px;color:#fff;line-height:1}
.tcard .lbl{font-size:14px;color:#cfc4ad;margin-top:8px;line-height:1.3}
.tcard .num.red{color:#ff6258}
.trust-micro{grid-column:1/-1;text-align:center;font-size:13.5px;color:#b8ad94;font-style:italic;margin-top:6px}

/* ===== ЧТО ПРОВЕРЯЕМ — лента карточек с фото =====
   База (мобила и no-JS): ручная горизонтальная карусель со снапом, как «5 шагов».
   На ПК main.js включает hs-on → скролл-джек (страница вниз = лента влево). */
.check-track{
  display:flex;gap:18px;margin-top:8px;
  overflow-x:auto;scroll-snap-type:x proximity;
  margin-inline:-24px;padding:8px 24px 14px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.check-track::-webkit-scrollbar{display:none}
.check-card{
  flex:0 0 clamp(300px,26vw,400px);scroll-snap-align:start;
  background:var(--card-paper);padding:16px 16px 20px;
  -webkit-clip-path:var(--torn-clip);clip-path:var(--torn-clip);
}
.check-card:nth-child(4n+2){-webkit-clip-path:var(--torn-clip-2);clip-path:var(--torn-clip-2)}
.check-card:nth-child(4n+3){-webkit-clip-path:var(--torn-clip-3);clip-path:var(--torn-clip-3)}
.check-card:nth-child(4n){-webkit-clip-path:var(--torn-clip-4);clip-path:var(--torn-clip-4)}
.check-card b{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-text);letter-spacing:.02em;display:block;margin:12px 0 6px}
.check-card span{font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.5}
.cc-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border:4px solid #fff;box-shadow:2px 3px 0 rgba(34,29,22,.14);background:#cfc7b6}
@media(max-width:680px){.check-card{flex-basis:78vw}}
/* подсказка свайпа — только там, где лента листается рукой (мобила) */
.swipe-hint{display:none}
@media(max-width:680px){
  .swipe-hint{display:block;font-family:var(--f-hand);font-size:24px;font-weight:600;color:var(--red);transform:rotate(-2deg);margin:0 0 8px}
}
/* ПК-режим скролл-джека (включает JS классом hs-on) */
@media(min-width:681px){
  [data-hscroll].hs-on .hs-pin{
    position:sticky;top:0;min-height:100vh;
    display:flex;flex-direction:column;justify-content:flex-start;
    overflow:hidden;padding:96px 0 24px;
  }
  [data-hscroll].hs-on [data-hscroll-track]{overflow:visible;width:max-content;margin-inline:0;padding:8px 0 14px;will-change:transform}
}
.equip{margin-top:40px}
.reels:not(.sec){margin-top:40px}
.equip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:18px}
.equip-card{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:18px 16px;text-align:left}
.ec-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;margin-bottom:12px;border:4px solid #fff;box-shadow:2px 3px 0 rgba(34,29,22,.14);background:#cfc7b6}
.equip-card b{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-sm);display:block;margin-bottom:6px}
.equip-card span{font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.45}

/* ===== ЛЕНТА ЭТАПОВ — scroll-snap карусель (без скролл-джекинга) ===== */
.process{background:var(--paper-2);overflow:hidden}
.process .sec-head{margin-bottom:22px}

/* выравнивание края ленты по контентной колонке (--wrap), но скролл — на всю ширину */
.process-carousel{--proc-gutter:max(20px, calc((100% - var(--wrap)) / 2))}
.process-track{
  display:flex;gap:24px;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  padding-inline:var(--proc-gutter);padding-block:14px;
  scroll-padding-inline:var(--proc-gutter);
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  cursor:grab;position:relative;
}
.process-track::-webkit-scrollbar{display:none}
.process-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.process-track:focus-visible{outline:2px solid var(--red);outline-offset:4px}

.pstep{
  flex:0 0 clamp(280px, 78vw, 400px);
  scroll-snap-align:start;scroll-snap-stop:always;
  display:flex;gap:20px;align-items:flex-start;
  padding:26px 26px;
  min-height:248px;
  transition:transform .25s ease, filter .25s ease;
}
/* clip-path (карточки-клочки) режет box-shadow/border — тень даём через filter:drop-shadow */
.pstep:hover{transform:translateY(-4px);filter:drop-shadow(0 12px 22px rgba(40,28,12,.18))}
.pstamp{flex:0 0 auto;font-family:var(--f-display);font-weight:700;color:var(--red);border:3px double var(--red);border-radius:8px;width:74px;height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg);font-size:22px;line-height:1}
.pstamp small{font-size:8px;letter-spacing:.1em;font-weight:400;text-transform:uppercase}
.pstep .pbody b{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-20);display:block;margin-bottom:8px}
.pstep .pbody p{font-size:var(--fs-text);color:var(--ink-soft);line-height:1.5}
.pstep .pbody p img{pointer-events:none}

/* управление: стрелки + точки */
.process-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.proc-arrow{
  flex:0 0 auto;width:46px;height:46px;border-radius:50%;
  border:1.5px solid var(--line);background:var(--panel);color:var(--ink);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.proc-arrow svg{width:20px;height:20px}
.proc-arrow:hover:not(:disabled){background:var(--red);border-color:var(--red);color:#fff}
.proc-arrow:disabled{opacity:.32;cursor:default}
.proc-dots{display:flex;align-items:center;gap:10px}
.proc-dot{
  width:10px;height:10px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:var(--line);transition:background .2s ease, transform .2s ease, width .25s ease, border-radius .25s ease;
}
.proc-dot:hover{background:var(--ink-faint)}
.proc-dot.is-active{background:var(--red);width:26px;border-radius:6px}

/* ===== УСЛУГИ ===== */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.svc{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px 22px;display:flex;flex-direction:column;box-shadow:var(--shadow-card);position:relative}
.svc h3{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-21);line-height:1.1;margin-bottom:10px;padding-right:30px}
.svc p{font-size:var(--fs-text);color:var(--ink-soft);flex:1;line-height:1.5}
.svc .price{font-family:var(--f-display);font-weight:700;color:var(--ink);font-size:var(--fs-20);margin:14px 0 4px}
.svc .price small{font-weight:400;font-size:var(--fs-note);color:var(--ink-faint)}
a.more{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-14);color:var(--red-mark);text-decoration:none;letter-spacing:.03em;margin-top:6px}
a.more:hover{text-decoration:underline}
.svc .num-tag{position:absolute;top:16px;right:18px;font-family:var(--f-display);font-weight:700;color:var(--line-dark);font-size:26px;opacity:.6}

/* ===== УСЛУГИ: мобильная «колода» карт (≤680px; класс .svc-deck вешает JS) ===== */
@media(max-width:680px){
  .svc-deck .svc-grid{position:relative;display:block;margin-top:8px;touch-action:pan-y;-webkit-user-select:none;user-select:none}
  .svc-deck .svc{position:absolute;top:0;left:0;right:0;width:100%;margin:0;will-change:transform;backface-visibility:hidden;transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
  .svc-deck .svc.is-top{touch-action:none;cursor:grab}
  .svc-deck .svc.is-dragging{transition:none;cursor:grabbing}
  .svc-deck .svc.is-flying{transition:transform .42s cubic-bezier(.4,0,.2,1),opacity .42s ease}
  .svc-deck .svc[data-reveal]{opacity:1}
  .svc-deck .svc:hover{transform:none}
  .svc-deck-ui{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 14px}
  .svc-deck-hint{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-faint)}
  .svc-deck-hint .svc-deck-arrow{font-style:normal;font-size:18px;line-height:1;color:var(--red-mark)}
  .svc-deck:not(.swiped) .svc-deck-hint .svc-deck-arrow{display:inline-block;animation:svcHintNudge 1.6s ease-in-out infinite}
  @keyframes svcHintNudge{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
  .svc-deck-dots{display:flex;gap:6px}
  .svc-deck-dots b{width:7px;height:7px;border-radius:50%;background:var(--line-dark);opacity:.4;transition:opacity .2s,transform .2s}
  .svc-deck-dots b.on{opacity:1;transform:scale(1.35);background:var(--red-mark)}
  .svc-deck-count{font-family:var(--f-display);font-weight:700;font-size:14px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
}
@media(prefers-reduced-motion:reduce) and (max-width:680px){
  .svc-deck .svc,.svc-deck .svc.is-flying{transition:none}
  .svc-deck:not(.swiped) .svc-deck-hint .svc-deck-arrow{animation:none}
}

/* ===== ДИСТАНЦИОННАЯ ===== */
.distance{background:var(--ink);color:var(--paper-2)}
.distance h1.sh,.distance h2.sh{color:#fff}
.distance .eyebrow{color:#ff6258}
.distance .sec-lead,.distance p{color:#d3c8b2}
.dist-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start;margin-top:24px}
.dist-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.dist-list li{display:flex;gap:12px;font-size:17px;color:#e6ddc9;line-height:1.5}
.dist-list .ic{width:24px;height:24px;color:#ff6258;flex:0 0 auto;margin-top:2px}
.dist-pic{display:block;max-width:430px;margin:0 auto}
.dist-pic img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;border:6px solid #fff;box-shadow:5px 7px 0 rgba(0,0,0,.35)}
.dist-cta{margin-top:26px}

/* ===== ГАРАНТИИ / АКТ ===== */
.guarant-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;margin-top:18px}
.guarant-list{display:flex;flex-direction:column;gap:16px}
.gitem{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:18px 20px;border-left:4px solid var(--green)}
.gitem b{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-text);display:block;margin-bottom:7px}
.gitem p{font-size:var(--fs-text);color:var(--ink-soft);line-height:1.5}
.act-sample{position:relative;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink-faint);font-size:14px;padding:30px;box-shadow:var(--shadow-card)}
.act-sample .stamp{position:absolute;top:24px;right:24px;font-size:18px}
.act-sample.has-img{padding:9px;min-height:0;display:block;background:var(--card-paper)}
.act-sample.has-img img{width:100%;height:auto;display:block}

/* ===== ДОК-СТОПКА: реальный акт (автолистание) ===== */
.doc-stack{position:relative}
.doc-stack__deck{position:relative;aspect-ratio:760/1075;max-width:420px;margin:0 auto;cursor:pointer}
.doc-card{position:absolute;inset:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow-card);overflow:hidden;transform-origin:center;transition:transform .6s cubic-bezier(.4,.05,.2,1),opacity .55s;backface-visibility:hidden;will-change:transform;opacity:0}
.doc-card img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.doc-stack__deck>.doc-card:first-child{opacity:1;z-index:3} /* no-JS fallback: видна верхняя страница */
.doc-stack.is-live .doc-card{opacity:0;z-index:1}
.doc-stack.is-live .doc-card[data-depth="0"]{transform:none;opacity:1;z-index:6}
.doc-stack.is-live .doc-card[data-depth="1"]{transform:translateY(8px) scale(.985) rotate(-1.1deg);opacity:1;z-index:5}
.doc-stack.is-live .doc-card[data-depth="2"]{transform:translateY(16px) scale(.97) rotate(1.3deg);opacity:1;z-index:4}
.doc-stack.is-live .doc-card[data-depth="back"]{transform:translateY(22px) scale(.955);opacity:0;z-index:1}
.doc-stack.is-live .doc-card.is-leaving{transform:translateX(-34%) rotate(-7deg);opacity:0;z-index:7}
.doc-stack__hint{display:block;text-align:center;margin:0 0 2px;font-family:var(--f-hand);font-style:italic;font-size:clamp(28px,5.5vw,34px);font-weight:700;line-height:1.05;color:var(--red-mark);transform:rotate(-1.5deg)}
/* стрелка-указатель «от фразы вниз к актам» — мягко покачивается, ведёт взгляд к стопке; уходит после первого клика */
.doc-stack__arrow{display:block;width:100%;text-align:center;margin:0 auto 10px;color:var(--red-mark);line-height:0;pointer-events:none}
.doc-stack__arrow svg{display:inline-block}
.doc-stack.is-live .doc-stack__arrow{animation:docArrowBob 1.7s ease-in-out infinite}
.doc-stack.is-live.interacted .doc-stack__arrow{animation:none;opacity:0;transition:opacity .4s}
.doc-stack:hover .doc-stack__arrow{animation-play-state:paused}
@keyframes docArrowBob{
  0%,100%{transform:translateY(0);opacity:.6}
  50%{transform:translateY(8px);opacity:1}
}
@media (max-width:680px){.doc-stack__deck{max-width:320px}}
@media (prefers-reduced-motion:reduce){.doc-card,.doc-stack.is-live .doc-card.is-leaving{transition:none}.doc-stack.is-live .doc-stack__arrow{animation:none}}

/* ===== ЭКСПЕРТЫ ===== */
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.exp{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:var(--shadow-card)}
.exp .ava{width:90px;height:90px;border-radius:50%;background:var(--paper);border:3px solid var(--line-dark);display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-family:var(--f-display);font-size:13px;margin-bottom:14px}
.exp b{font-family:var(--f-display);font-size:var(--fs-21);display:block}
.exp .role{font-size:var(--fs-sm);color:var(--red);margin:4px 0 8px;font-weight:700}
.exp .meta{font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.5}
.exp-photo{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;margin-bottom:14px;background:var(--paper)}

/* ===== ВИДЕО / КЕЙСЫ ===== */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.vcard{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-card)}
.vthumb{aspect-ratio:16/9;background:#1a1610;display:flex;align-items:center;justify-content:center;color:#8a7f68;position:relative;overflow:hidden}
.vthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vthumb .play{position:relative;z-index:2;width:54px;height:54px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.vthumb .play svg{width:22px;height:22px;color:#fff;margin-left:3px}
.vthumb .vsoon,.reel-thumb .vsoon{position:relative;z-index:2;font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:20px;letter-spacing:.08em;color:#fff;border:3px double #fff;border-radius:8px;padding:8px 18px;transform:rotate(-13deg);opacity:.92;box-shadow:inset 0 0 0 2px rgba(255,255,255,.2);background:rgba(204,32,24,.55)}
.vcard p{padding:16px;font-size:var(--fs-text);color:var(--ink-soft);line-height:1.5}
/* ===== Рилсы из ВК (#reels): вертикальная лента 9:16, листается пальцем ===== */
.reels-track{display:flex;align-items:flex-start;gap:18px;margin-top:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.reels-track::-webkit-scrollbar{display:none}
.reel{flex:0 0 232px;scroll-snap-align:start;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-card)}
.reel-thumb{aspect-ratio:9/16;background:#1a1610;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.reel-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
button.reel-thumb{border:none;padding:0;width:100%;cursor:pointer;font:inherit;display:flex;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.reel-thumb .play{position:relative;z-index:2;width:54px;height:54px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.reel-thumb .play svg{width:22px;height:22px;color:#fff;margin-left:3px}
.reel-cap{padding:14px 16px 16px;font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.45}
/* карточки в горизонтальных лентах не «выезжают» снизу: translateY создаёт
   вертикальное переполнение трека, из-за которого лента перехватывала свайп вниз */
.js-anim [data-hscroll-track] [data-reveal]{opacity:1;transform:none}
.reels-cta{margin-top:22px}
.reels-cta__text{font-size:var(--fs-20);color:var(--ink);font-weight:600;line-height:1.35;margin-bottom:14px}
.reels-cta .micro{margin-top:14px}

/* ===== ОТЗЫВЫ ===== */
.rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}
.rev{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:var(--shadow-card);position:relative}
.rev::before{content:"“";font-family:Georgia,serif;font-size:64px;color:var(--line-dark);position:absolute;top:6px;left:16px;line-height:1}
.rev p{font-size:var(--fs-text);color:var(--ink);padding-top:18px;font-style:italic;line-height:1.55}
.rev .who{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-14);color:var(--ink-soft);margin-top:14px;font-style:normal;letter-spacing:.02em}
.rev .tag{font-size:11px;color:var(--ink-faint);font-style:normal}

/* ===== ГЕО ===== */
.geo-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:8px}
.geo-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.geo-list>li{font-size:var(--fs-body);line-height:1.5}
.geo-list b{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-text);color:var(--ink)}
.geo-coast{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-left:14px}
.geo-coast a{color:var(--red-mark);text-decoration:none}
.geo-coast a:hover{text-decoration:underline}
.geo-coast .soon{color:var(--ink-faint);font-size:12px;font-style:italic}

/* ===== КВИЗ / Marquiz-блок ===== */
.quiz{background:var(--paper-2)}
.quiz-embed{max-width:820px;margin:30px auto 0}
.quiz-placeholder{
  background:var(--card-paper);border:2px solid var(--ink);border-radius:12px;
  padding:44px 40px;text-align:center;box-shadow:0 18px 40px rgba(30,20,8,.16);position:relative;
}
.quiz-placeholder .qp-stamp{
  display:inline-block;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;
  font-size:13px;color:var(--red);border:2px double var(--red);border-radius:6px;padding:6px 14px;
  transform:rotate(-2deg);margin-bottom:18px;
}
.quiz-placeholder strong{display:block;font-family:var(--f-display);text-transform:uppercase;font-size:clamp(24px,3vw,34px);line-height:1.14;color:var(--ink);margin-bottom:14px}
.quiz-placeholder p{font-size:18px;color:var(--ink-soft);max-width:600px;margin:0 auto 26px;line-height:1.55}
.quiz-placeholder .qp-note{display:block;margin-top:16px;font-size:13px;color:var(--ink-faint);font-style:italic}
.quiz-box{background:var(--panel);border:2px solid var(--ink);border-radius:0;padding:30px;max-width:780px;margin:24px auto 0;box-shadow:var(--shadow-deep);position:relative}
.quiz-progress{font-family:var(--f-display);text-transform:uppercase;font-size:12px;color:var(--ink-soft);letter-spacing:.06em;margin-bottom:6px}
.quiz-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-bottom:22px}
.quiz-bar span{display:block;height:100%;background:var(--red);width:16.6%;transition:width .3s}
.quiz-step h3{font-family:var(--f-display);text-transform:uppercase;font-size:22px;margin-bottom:4px}
.quiz-step .q-sub{font-size:14px;color:var(--ink-soft);margin-bottom:18px}
.q-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.q-opt{display:block;cursor:pointer}
.q-opt input{position:absolute;opacity:0;pointer-events:none}
.q-opt .card{border:2px solid var(--line-dark);border-radius:8px;padding:16px 18px;font-size:15px;background:var(--panel-2);transition:.15s;font-weight:700;font-family:var(--f-body)}
.q-opt input:checked+.card,.q-opt .card:hover{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.quiz-nav{display:flex;justify-content:space-between;margin-top:24px;gap:12px}
.quiz-result{display:none}
.quiz-result.active{display:block}
.quiz-step.hidden{display:none}
.result-card{border:3px double var(--red);border-radius:0;padding:26px;background:var(--panel-2);position:relative}
.result-card .res-stamp{position:absolute;top:18px;right:20px;font-family:var(--f-display);font-weight:700;color:var(--red);border:3px double var(--red);border-radius:8px;padding:6px 12px;font-size:14px;transform:rotate(-10deg);opacity:.85}
.result-card h3{font-family:var(--f-display);text-transform:uppercase;font-size:20px;margin:6px 0 10px;max-width:75%}
.result-card .res-price{font-family:var(--f-display);font-weight:700;font-size:20px;color:var(--ink);margin-top:12px}
.lead-form{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.lead-form input{flex:1;min-width:160px;padding:14px 16px;border:2px solid var(--line-dark);border-radius:7px;font-size:15px;font-family:var(--f-body);background:#fff}
.lead-form input:focus{outline:none;border-color:var(--red)}
.lead-success{display:none;margin-top:16px;padding:14px;background:rgba(60,122,78,.12);border:1px solid var(--green);border-radius:7px;color:var(--green);font-weight:700}

/* ===== FAQ ===== */
.faq-list{max-width:840px;margin:8px 0 0}
.faq-list details{border-bottom:1px solid var(--line-dark);padding:4px 0}
.faq-list summary{font-family:var(--f-display);text-transform:none;font-size:var(--fs-21);font-weight:600;color:var(--ink);cursor:pointer;padding:18px 40px 18px 0;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:26px;color:var(--red-mark);font-weight:400;transition:.2s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{font-size:var(--fs-body);color:var(--ink-soft);padding:0 30px 20px 0;line-height:1.6}

/* ===== ФУТЕР «оторванный лист» ===== */
.site-footer{background:var(--ink);color:var(--paper-2);margin-top:50px;position:relative}
.site-footer .ft-inner{padding:64px 0 36px;position:relative}
/* рваный верхний край — декоративный слой над футером */
.site-footer::before{
  content:"";position:absolute;left:0;right:0;top:-22px;height:24px;z-index:2;
  background:var(--ink);
  -webkit-mask:var(--torn-edge-top);mask:var(--torn-edge-top);
  -webkit-mask-size:auto 100%;mask-size:auto 100%;
  -webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;
}
@supports not ((-webkit-mask-image:url(x)) or (mask-image:url(x))){
  .site-footer::before{display:none}
  .site-footer{border-top:3px solid var(--red)}
}
.site-footer h2{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-24);color:#fff;margin-bottom:14px}
.site-footer p{color:#cfc4ad;font-size:var(--fs-sm);max-width:760px}
.ft-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:30px;margin-top:30px}
.ft-cols h4{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-label);color:#ff6258;margin-bottom:12px;letter-spacing:.04em}
.ft-cols a,.ft-cols li{color:#d3c8b2;text-decoration:none;font-size:14px;list-style:none;line-height:1.9}
.ft-cols a:hover{color:#fff}
.ft-legal{border-top:1px solid #3a3225;margin-top:30px;padding-top:18px;font-size:12.5px;color:#9b9079}
.ft-policy{display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid #3a3225;margin-top:30px;padding-top:18px}
.ft-policy a{color:#ff6258;text-decoration:underline;text-underline-offset:3px;font-size:13px}
.ft-policy a:hover{color:#fff}
.ft-policy + .ft-legal{border-top:0;margin-top:14px;padding-top:0}
.ft-dev{margin-top:10px;font-size:12.5px;color:#9b9079}
.ft-dev a{color:#cfc4ad;text-decoration:underline;text-underline-offset:3px}
.ft-dev a:hover{color:#fff}

/* ===== ФОРМА ЗАЯВКИ (CF7 → Битрикс24) ===== */
.sec.lead .wrap{max-width:1120px}
.lead-band{display:grid;grid-template-columns:1.05fr .95fr;background:var(--ink,#241f1a);overflow:hidden;-webkit-clip-path:var(--torn-clip);clip-path:var(--torn-clip);filter:drop-shadow(0 14px 28px rgba(0,0,0,.20))}
.lead-left{padding:48px 46px 50px}
.lead-left .eyebrow{color:#ff6258;margin-bottom:14px}
.lead-title{font-family:var(--f-display);color:#fff;font-size:33px;line-height:1.12;margin:0 0 14px;text-transform:none}
.lead-sub{color:#c7bdac;font-size:15px;line-height:1.6;max-width:470px;margin:0 0 26px}
.lead-right{position:relative}
.lead-right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* поля */
.lead-band .lf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-band input[type=text],.lead-band input[type=tel]{width:100%;padding:15px 18px;font-size:15px;font-family:inherit;color:var(--ink,#2b2620);border:1px solid transparent;border-radius:11px;background:#fff;margin-top:12px}
.lead-band .lf-row .wpcf7-form-control-wrap input{margin-top:0}
.lead-band input::placeholder{color:#79705f}
.lead-band input:focus{outline:none;border-color:#ff6258;box-shadow:0 0 0 3px rgba(255,98,88,.25)}
/* галочки */
.lead-band .lf-consents{margin:16px 0 4px;display:flex;flex-direction:column;gap:9px}
.lead-band .lf-consents .wpcf7-list-item{margin:0}
.lead-band .lf-consents label{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:#a79d8c;line-height:1.45;cursor:pointer}
.lead-band .lf-consents input[type=checkbox]{margin-top:1px;width:16px;height:16px;accent-color:#ff6258;flex:0 0 auto}
.lead-band .lf-consents a{color:#ff8179;text-decoration:underline}
/* кнопка */
.lead-band .wpcf7-submit{width:100%;margin-top:18px;background:var(--red);color:#fff;border:none;border-radius:11px;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;font-size:16px;padding:16px 26px;cursor:pointer;box-shadow:0 3px 0 var(--red-dark);transition:background .15s,transform .05s}
.lead-band .wpcf7-submit:hover{background:var(--red-dark)}
.lead-band .wpcf7-submit:active{transform:translateY(1px)}
.lead-band .wpcf7-spinner{margin:12px auto 0;display:block}
.lead-band .wpcf7-not-valid-tip{color:#ff8179;font-size:12px;margin-top:5px}
.lead-band .wpcf7-response-output{margin:14px 0 0!important;padding:11px 14px!important;border-radius:8px;font-size:13.5px;color:#fff;border-color:rgba(255,255,255,.35)!important}
/* CF7: пустой/idle блок ответа прячем — иначе под формой видна «линия» (рамка пустого бокса) */
.wpcf7-response-output[aria-hidden="true"],.wpcf7-response-output:empty{display:none!important}
@media(max-width:820px){
  .sec.lead .wrap{padding:0}
  .lead-band{grid-template-columns:1fr;border-radius:0;box-shadow:none}
  .lead-right{order:-1;height:200px}
  .lead-left{padding:32px 22px 36px}
  .lead-title{font-size:26px}
  .lead-band .lf-row{grid-template-columns:1fr;gap:0}
  .lead-band .lf-row .wpcf7-form-control-wrap input{margin-top:12px}
}

/* ===== МОДАЛЬНАЯ ФОРМА ЗАЯВКИ ===== */
.lead-modal{position:fixed;inset:0;z-index:1000;display:none}
.lead-modal.is-open{display:flex;align-items:center;justify-content:center}
.lead-modal__overlay{position:absolute;inset:0;background:rgba(20,16,12,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.lead-modal__card{position:relative;z-index:1;width:min(440px,calc(100% - 28px));max-height:calc(100svh - 36px);overflow:auto;margin:0;background:var(--ink,#241f1a);color:#fff;padding:42px 32px 34px;-webkit-clip-path:var(--torn-clip);clip-path:var(--torn-clip);filter:drop-shadow(0 18px 40px rgba(0,0,0,.4))}
.lead-modal__close{position:absolute;top:16px;right:22px;width:32px;height:32px;background:none;border:none;color:#c7bdac;font-size:30px;line-height:1;cursor:pointer;z-index:2}
.lead-modal__close:hover{color:#fff}
.lead-modal__card .eyebrow{color:#ff6258;margin-bottom:12px}
.lead-modal__title{font-family:var(--f-display);color:#fff;font-size:24px;line-height:1.16;margin:0 0 10px;text-transform:none}
.lead-modal__sub{color:#c7bdac;font-size:14px;line-height:1.55;margin:0 0 20px}
.lead-modal__card .lf-row{display:flex;flex-direction:column}
.lead-modal__card input[type=text],.lead-modal__card input[type=tel]{width:100%;padding:14px 16px;font-size:15px;font-family:inherit;color:var(--ink,#2b2620);border:1px solid transparent;border-radius:11px;background:#fff;margin-top:12px}
.lead-modal__card input::placeholder{color:#79705f}
.lead-modal__card input:focus{outline:none;border-color:#ff6258;box-shadow:0 0 0 3px rgba(255,98,88,.25)}
.lead-modal__card .lf-consents{margin:16px 0 4px;display:flex;flex-direction:column;gap:9px}
.lead-modal__card .lf-consents .wpcf7-list-item{margin:0}
.lead-modal__card .lf-consents label{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:#a79d8c;line-height:1.45;cursor:pointer}
.lead-modal__card .lf-consents input[type=checkbox]{margin-top:1px;width:16px;height:16px;accent-color:#ff6258;flex:0 0 auto}
.lead-modal__card .lf-consents a{color:#ff8179;text-decoration:underline}
.lead-modal__card .wpcf7-submit{width:100%;margin-top:18px;background:var(--red);color:#fff;border:none;border-radius:11px;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;font-size:16px;padding:15px 24px;cursor:pointer;box-shadow:0 3px 0 var(--red-dark)}
.lead-modal__card .wpcf7-submit:hover{background:var(--red-dark)}
.lead-modal__card .wpcf7-not-valid-tip{color:#ff8179;font-size:12px;margin-top:5px}
.lead-modal__card .wpcf7-spinner{margin:12px auto 0;display:block}
.lead-modal__card .wpcf7-response-output{margin:14px 0 0!important;padding:11px 14px!important;border-radius:8px;font-size:13px;color:#fff;border-color:rgba(255,255,255,.35)!important}

/* ===== КВИЗ «Расчёт стоимости» ===== */
.pp-quiz{max-width:1080px;margin:0 auto;background:var(--card-paper);padding:46px 52px 52px;position:relative;-webkit-clip-path:var(--torn-clip);clip-path:var(--torn-clip);filter:drop-shadow(0 12px 26px rgba(30,20,8,.16))}
.ppq-top{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.ppq-counter{font-family:var(--f-display);text-transform:uppercase;font-size:12.5px;letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap}
.ppq-counter b{color:var(--red)}
.ppq-bar{flex:1;height:5px;background:rgba(0,0,0,.10);border-radius:3px;overflow:hidden}
.ppq-bar span{display:block;height:100%;background:var(--red);border-radius:3px;transition:width .3s ease}
.ppq-step{display:none;animation:ppqIn .28s ease}
.ppq-step.is-active{display:block}
@keyframes ppqIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ppq-q{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:27px;letter-spacing:.015em;color:var(--ink);margin:0 0 24px}
/* варианты с картинками */
.ppq-opts--img{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ppq-opts--img .ppq-opt{display:flex;flex-direction:column;background:#fff;border:2px solid var(--line,#d8cdb8);border-radius:0;overflow:hidden;cursor:pointer;padding:0;text-align:left;transition:transform .14s,border-color .14s,box-shadow .14s;font-family:inherit}
.ppq-opts--img .ppq-opt:hover{transform:translateY(-3px);border-color:var(--red);box-shadow:0 10px 22px rgba(30,20,8,.14)}
.ppq-pic{display:block;aspect-ratio:3/2;overflow:hidden}
.ppq-pic img{width:100%;height:100%;object-fit:cover;display:block}
.ppq-opts--img .ppq-label{padding:12px 14px 14px;font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.3}
/* варианты-плитки с цифрами */
.ppq-opts--text{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ppq-opts--text .ppq-opt{background:#fff;border:2px solid var(--line,#d8cdb8);border-radius:0;cursor:pointer;padding:20px 10px 16px;text-align:center;transition:transform .14s,border-color .14s,box-shadow .14s;font-family:inherit;display:flex;flex-direction:column;gap:2px;align-items:center}
.ppq-opts--text .ppq-opt:hover{transform:translateY(-3px);border-color:var(--red);box-shadow:0 10px 22px rgba(30,20,8,.14)}
.ppq-big{font-family:var(--f-display);font-weight:700;font-size:34px;color:var(--ink);line-height:1}
.ppq-opts--text .ppq-label{font-size:14.5px;color:var(--ink-soft)}
/* варианты-строки */
.ppq-opts--list{display:flex;flex-direction:column;gap:10px;max-width:560px}
.ppq-opts--list .ppq-opt{background:#fff;border:2px solid var(--line,#d8cdb8);border-radius:0;cursor:pointer;padding:15px 18px;text-align:left;font-size:16px;font-weight:500;color:var(--ink);font-family:inherit;transition:border-color .14s,box-shadow .14s}
.ppq-opts--list .ppq-opt:hover{border-color:var(--red);box-shadow:0 6px 16px rgba(30,20,8,.12)}
.ppq-opt.is-picked{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(204,32,24,.15)!important}
/* финал: бейдж цены + форма */
.ppq-result{display:flex;flex-direction:column;gap:4px;border:1.5px dashed var(--red);border-radius:0;padding:16px 20px;margin-bottom:22px;background:rgba(204,32,24,.04)}
.ppq-result-label{font-family:var(--f-display);text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:var(--ink-soft)}
.ppq-result-price{font-family:var(--f-display);font-weight:700;font-size:34px;color:var(--red);line-height:1.1}
.ppq-result-note{font-size:13.5px;color:var(--ink-soft);line-height:1.45}
.ppq-step--final .ppq-q{font-size:20px}
.pp-quiz .lf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px}
.pp-quiz input[type=text],.pp-quiz input[type=tel]{width:100%;padding:14px 16px;font-size:15px;font-family:inherit;color:var(--ink);border:1.5px solid var(--line-dark,#c9bda5);border-radius:0;background:#fff;margin-top:12px}
.pp-quiz .lf-row .wpcf7-form-control-wrap input{margin-top:0}
.pp-quiz input[type=tel]{max-width:560px}
.pp-quiz input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(204,32,24,.12)}
.pp-quiz .lf-consents{margin:16px 0 4px;display:flex;flex-direction:column;gap:9px;max-width:560px}
.pp-quiz .lf-consents .wpcf7-list-item{margin:0}
.pp-quiz .lf-consents label{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--ink-soft);line-height:1.45;cursor:pointer}
.pp-quiz .lf-consents input[type=checkbox]{margin-top:1px;width:16px;height:16px;accent-color:var(--red);flex:0 0 auto}
.pp-quiz .lf-consents a{color:var(--red);text-decoration:underline}
.pp-quiz .wpcf7-submit{margin-top:18px;background:var(--red);color:#fff;border:none;border-radius:0;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;font-size:16px;padding:15px 34px;cursor:pointer;box-shadow:0 3px 0 var(--red-dark)}
.pp-quiz .wpcf7-submit:hover{background:var(--red-dark)}
.pp-quiz .wpcf7-not-valid-tip{color:var(--red);font-size:12px;margin-top:5px}
.pp-quiz .wpcf7-response-output{margin:14px 0 0!important;padding:11px 14px!important;border-radius:8px;font-size:13.5px}
.ppq-back{margin-top:22px;background:none;border:none;color:var(--ink-soft);font-family:var(--f-display);text-transform:uppercase;font-size:13px;letter-spacing:.05em;cursor:pointer;padding:6px 0}
.ppq-back:hover{color:var(--red)}
@media(max-width:760px){
  .pp-quiz{padding:32px 20px 40px}
  .ppq-opts--img,.ppq-opts--text{grid-template-columns:1fr 1fr;gap:12px}
  .ppq-pic{aspect-ratio:4/3}
  .ppq-q{font-size:22px}
  .pp-quiz .lf-row{grid-template-columns:1fr;gap:0}
  .pp-quiz .lf-row .wpcf7-form-control-wrap input{margin-top:12px}
  .ppq-result-price{font-size:32px}
  .pp-quiz .wpcf7-submit{width:100%}
}

/* ===== СЕРВИСНЫЕ СТРАНИЦЫ: hero-фото + галерея «реальные приёмки» ===== */
/* hero в 2 колонки: текст слева + фото в рамке справа (на мобиле — стек) */
.svc-hero{display:grid;gap:24px;align-items:center}
@media(min-width:861px){.svc-hero{grid-template-columns:1.18fr .82fr;gap:40px}}
.svc-hero__text{min-width:0}
.svc-hero__pic{position:relative;margin:0}
.svc-hero__pic img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border:8px solid #fff;box-shadow:5px 7px 0 rgba(34,29,22,.18);background:#cfc7b6;transform:rotate(-1.1deg)}
.svc-hero__cap{position:absolute;left:10px;bottom:-12px;font-family:var(--f-hand);font-weight:700;color:var(--red-mark);font-size:23px;line-height:1;transform:rotate(-2deg);background:var(--paper);padding:2px 9px}
@media(max-width:860px){.svc-hero__pic{max-width:460px;margin:8px auto 14px}}

/* галерея «реальные приёмки» — фото-полароиды с рукописной подписью */
.shots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.shot{margin:0;background:#fff;border:7px solid #fff;box-shadow:4px 6px 0 rgba(34,29,22,.16);position:relative}
.shot:nth-child(2n){transform:rotate(1deg)}
.shot:nth-child(3n){transform:rotate(-1.2deg)}
.shot img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:#cfc7b6}
.shot figcaption{font-family:var(--f-hand);font-weight:700;color:var(--ink);font-size:18px;line-height:1.15;padding:9px 6px 3px;text-align:center}
@media(max-width:680px){
  .shots-grid{display:flex;overflow-x:auto;gap:14px;margin-inline:-24px;padding:6px 24px 14px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .shots-grid::-webkit-scrollbar{display:none}
  .shot{flex:0 0 78%;scroll-snap-align:center}
  .svc-hero__pic{display:none} /* мобайл: hero-фото после первого экрана убираем целиком */
}
/* доводка эталона: мобильные заголовки длинных секций — ~2 строки (не мельчат сильнее нужного) */
@media(max-width:680px){
  .page-priemka-novostroyka #check .sec-head h2.sh,
  .page-priemka-novostroyka #faq .sec-head h2.sh{font-size:clamp(23px,6.4vw,30px);text-wrap:balance}
}
/* статбенд «фишек» под hero — тёмная рваная плашка (переиспользуемый модификатор) */
.statband.statband--ink{background:var(--ink);padding:26px 26px 28px;-webkit-clip-path:var(--torn-clip);clip-path:var(--torn-clip)}
.statband.statband--ink .stat b{color:#fff}
.statband.statband--ink .stat span{color:#d3c8b2}

/* ===== РВАНЫЕ ГРАНИЦЫ МЕЖДУ ВСЕМИ БЛОКАМИ ===== */
#srok,#trust,#quiz,#check,.sec.reels,#process,#uslugi,#distance,#garant,#lead,#experts,#video,#reviews,#geo,#faq,#dop,#vhodit,#granicy,#cta,#shots{position:relative}
#srok::before,#trust::before,#quiz::before,#check::before,.sec.reels::before,#process::before,#uslugi::before,#distance::before,#garant::before,#experts::before,#video::before,#reviews::before,#geo::before,#faq::before,#dop::before,#vhodit::before,#granicy::before,#cta::before,#granicy-o::before,#shots::before,#post-related::before{
  content:"";position:absolute;left:0;right:0;top:-22px;height:24px;z-index:3;pointer-events:none;
  background:var(--sec-bg,var(--paper));
  -webkit-mask:var(--torn-edge-top);mask:var(--torn-edge-top);
  -webkit-mask-size:auto 100%;mask-size:auto 100%;
  -webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;
}
#trust,#distance,#granicy,#shots{--sec-bg:var(--ink)}
#srok,.sec.reels,#quiz,#process,#video,#geo,#dop,#cta,#granicy-o,#post-related{--sec-bg:var(--paper-2)}
#check,#uslugi,#garant,#experts,#reviews,#faq,#vhodit{--sec-bg:var(--paper)}
@supports not ((-webkit-mask-image:url(x)) or (mask-image:url(x))){
  #srok::before,#trust::before,#quiz::before,#check::before,.sec.reels::before,#process::before,#uslugi::before,#distance::before,#garant::before,#experts::before,#video::before,#reviews::before,#geo::before,#faq::before,#dop::before,#vhodit::before,#granicy::before,#cta::before,#granicy-o::before,#shots::before,#post-related::before{display:none}
}

/* ===== КАРТОЧКИ-«КЛОЧКИ» (рваные края clip-path, желтоватая бумага) ===== */
.check-item,.equip-card,.pstep,.svc,.gitem,.exp,.rev,.vcard,.act-sample{
  background:var(--card-paper);
  border:none;border-radius:0;box-shadow:none;
  -webkit-clip-path:var(--torn-clip);clip-path:var(--torn-clip);
}
.check-item:nth-child(4n+2),.equip-card:nth-child(4n+2),.svc:nth-child(4n+2),.exp:nth-child(4n+2),.rev:nth-child(4n+2),.gitem:nth-child(4n+2){
  -webkit-clip-path:var(--torn-clip-2);clip-path:var(--torn-clip-2);
}
.check-item:nth-child(4n+3),.equip-card:nth-child(4n+3),.svc:nth-child(4n+3),.exp:nth-child(4n+3),.rev:nth-child(4n+3),.gitem:nth-child(4n+3){
  -webkit-clip-path:var(--torn-clip-3);clip-path:var(--torn-clip-3);
}
.check-item:nth-child(4n),.equip-card:nth-child(4n),.svc:nth-child(4n),.exp:nth-child(4n),.rev:nth-child(4n),.gitem:nth-child(4n){
  -webkit-clip-path:var(--torn-clip-4);clip-path:var(--torn-clip-4);
}
/* «тень» под клочком — отдельный слой, т.к. clip-path режет box-shadow */
.check-item,.equip-card,.pstep,.svc,.gitem,.exp,.rev,.vcard,.act-sample{position:relative}
@supports not ((clip-path:polygon(0 0)) or (-webkit-clip-path:polygon(0 0))){
  .check-item,.equip-card,.pstep,.svc,.gitem,.exp,.rev,.vcard,.act-sample{
    border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:6px;
  }
}

/* ===== reveal-анимации (включаются классом js-anim на <html>) ===== */
.js-anim [data-reveal]{opacity:0;transform:translateY(24px)}
.js-anim [data-reveal].is-in{opacity:1;transform:none;transition:opacity .6s ease, transform .6s ease}

/* ===== галочки и контуры иконок «дорисовываются» как от руки ===== */
.js-anim .hero-bullets .ic :is(path,rect),
.js-anim .dist-list .ic :is(path,rect){stroke-dasharray:90;stroke-dashoffset:90}
.js-anim .hero-bullets .ic :is(path,rect){animation:ppDraw .7s ease forwards}
.js-anim .hero-bullets li:nth-child(1) .ic :is(path,rect){animation-delay:.35s}
.js-anim .hero-bullets li:nth-child(2) .ic :is(path,rect){animation-delay:.85s}
.js-anim .hero-bullets li:nth-child(3) .ic :is(path,rect){animation-delay:1.35s}
@keyframes ppDraw{to{stroke-dashoffset:0}}
/* живые значки hero: тонкая петля после дорисовки (act — «галочка», recheck — оборот, remote — «полёт») */
.js-anim .hero-bullets .ic--act{animation:hbPop 4s ease-in-out 2.4s infinite;transform-origin:50% 50%}
.js-anim .hero-bullets .ic--recheck{animation:hbRecheck 4.5s ease-in-out 2.6s infinite;transform-origin:50% 50%}
.js-anim .hero-bullets .ic--remote{animation:hbFloat 3s ease-in-out 2.8s infinite}
@keyframes hbPop{0%,90%,100%{transform:scale(1)}95%{transform:scale(1.18)}}
@keyframes hbRecheck{0%{transform:rotate(0)}12%,100%{transform:rotate(360deg)}}
@keyframes hbFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(2.5px,-3px)}}
.js-anim .dist-list li .ic :is(path,rect){transition:stroke-dashoffset .8s ease .15s}
.js-anim .dist-list li .ic :is(path,rect):nth-child(2){transition-delay:.55s}
.js-anim .dist-list li.is-in .ic :is(path,rect){stroke-dashoffset:0}

/* ===== АДАПТИВ ===== */
@media(max-width:1023px){
  .trust .wrap{grid-template-columns:repeat(3,1fr)}
  .equip-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid,.exp-grid,.video-grid{grid-template-columns:1fr 1fr}
  .dist-grid,.guarant-grid,.geo-grid,.rev-grid{grid-template-columns:1fr}
  .nav{display:none}
  .head-contact{display:none}
  .head-social{display:none} /* на мобиле иконки соцсетей живут в выдвижном меню (.mm-social) */
  .burger{display:flex}
}
@media(max-width:680px){
  body{font-size:16.5px}
  .sec{padding:44px 0}
  .hero{padding:22px 0 40px}
  .hero-grid{grid-template-columns:1fr;gap:22px}
  .hero h1{font-size:clamp(30px,8.5vw,44px);text-wrap:balance}
  .hero .lead{line-height:1.4}
  .hero .lead-red{line-height:1.24} /* плотнее на мобиле — строки ближе */
  .akt-meta{grid-template-columns:1fr;gap:6px}
  .akt-no{text-align:left}
  .cta-row{flex-direction:column;align-items:flex-start;gap:12px}
  .cta-note{font-size:21px}
  .check-grid{grid-template-columns:1fr}
  .equip-grid{grid-template-columns:1fr}
  .svc-grid,.exp-grid,.video-grid,.rev-grid{grid-template-columns:1fr}
  /* указатель свайпа над лентой этапов: контролы выше карусели (моб.) */
  #process{display:flex;flex-direction:column}
  #process>.process-carousel{order:3}
  #process>.wrap:last-child{order:2}
  .trust .wrap{grid-template-columns:repeat(2,1fr);gap:16px}
  .ft-cols{grid-template-columns:1fr}
  .brand img{height:58px}
  /* тэглайн в мобильной шапке: крупнее, кнопка прижата вправо к бургеру */
  .brand .tg{font-size:11px;max-width:168px;letter-spacing:.03em}
  .topbar{gap:10px}
  .topbar>.btn.sm{margin-left:auto}
  .photo-wrap{display:none} /* мобайл: hero-фото скрываем — оставляем только на ПК */
  .pstep{flex-direction:row}
  .quiz-placeholder{padding:30px 22px}
  .act-sample{min-height:220px}
  h1.sh,h2.sh,.hero h1{overflow-wrap:break-word}
}
@media(max-width:430px){
  .trust .wrap{grid-template-columns:1fr}
  .site-header .btn.sm{padding:9px 12px;font-size:12px}
  .hero h1{font-size:30px}
}

/* ===== МОБИЛЬНЫЙ «СКРОЛЛ-ДЖЕК»: вертикальный скролл двигает ленту влево =====
   Без JS / при reduced-motion лента остаётся обычной горизонтальной прокруткой пальцем.
   Класс hs-on вешает main.js только когда движок активен. */
@media(max-width:680px){
  [data-hscroll] [data-hscroll-track]{
    display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;
    margin-inline:-24px;padding:6px 24px 10px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  [data-hscroll] [data-hscroll-track]::-webkit-scrollbar{display:none}
  [data-hscroll] .equip-card{width:76vw;flex:0 0 auto}
  [data-hscroll] .reel{flex:0 0 62vw}
  [data-hscroll] .exp{width:60vw;flex:0 0 auto}
  [data-hscroll] .exp .meta{font-size:13.5px}
  /* в режиме пина ужимаем вертикаль, чтобы экран влезал целиком */
  [data-hscroll].hs-on .exp-photo{aspect-ratio:1/1}
  /* активный режим: секция-«взлётка», контент приклеен, лента едет по transform */
  [data-hscroll].hs-on .hs-pin{
    position:sticky;top:0;min-height:100vh;min-height:100svh;
    display:flex;flex-direction:column;justify-content:flex-start;
    overflow:hidden;padding:76px 0 16px;
  }
  [data-hscroll].hs-on [data-hscroll-track]{overflow:visible;width:max-content;will-change:transform;margin-inline:0;padding:6px 0 10px}
  [data-hscroll].hs-on .sec-head{margin-bottom:18px}
  [data-hscroll].hs-on .sec-lead{font-size:15.5px;margin-top:8px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
}

/* ===== ОТЗЫВЫ НА МОБИЛЬНОМ: горизонтальная карусель пальцем ===== */
@media(max-width:680px){
  .rev-grid{
    display:flex;overflow-x:auto;gap:14px;
    scroll-snap-type:x proximity;
    margin-inline:-24px;padding:4px 24px 12px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .rev-grid::-webkit-scrollbar{display:none}
  .rev{flex:0 0 84%;scroll-snap-align:center}
}

/* reduced-motion: всё в финальном состоянии */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js-anim [data-reveal]{opacity:1;transform:none;transition:none}
  .js-anim .hero-bullets .ic :is(path,rect),
  .js-anim .dist-list .ic :is(path,rect){animation:none;transition:none;stroke-dasharray:none;stroke-dashoffset:0}
  .js-anim .hero-bullets .ic--act,
  .js-anim .hero-bullets .ic--recheck,
  .js-anim .hero-bullets .ic--remote{animation:none;transform:none}
}

/* ===== СТРАНИЦА «СПАСИБО» (/spasibo/) ===== */
.thanks-main{padding:80px 0 90px;min-height:55vh;display:flex;align-items:center}
.thanks-card{max-width:680px;margin:0 auto;background:var(--card-paper);padding:48px 44px 44px;text-align:center;position:relative;-webkit-clip-path:var(--torn-clip);clip-path:var(--torn-clip);filter:drop-shadow(0 12px 26px rgba(30,20,8,.16))}
/* рукописная надпись «Заявка принята» — выписывается слева направо, как от руки */
.thanks-hand{display:inline-block;transform:rotate(-3deg);margin-bottom:14px;line-height:1}
.thanks-hand-text{
  display:inline-block;
  font-family:var(--f-hand);font-weight:700;font-size:clamp(38px,6vw,52px);color:var(--red);
  padding:0 .12em; /* запас, чтобы клип не резал хвосты букв */
  clip-path:inset(-25% 100% -25% 0);
  -webkit-clip-path:inset(-25% 100% -25% 0);
  animation:thanksWrite 2s cubic-bezier(.35,.05,.4,1) 1s forwards;
}
@keyframes thanksWrite{to{clip-path:inset(-25% -5% -25% 0);-webkit-clip-path:inset(-25% -5% -25% 0)}}
@media(prefers-reduced-motion:reduce){
  .thanks-hand-text{animation:none;clip-path:none;-webkit-clip-path:none}
}
.thanks-title{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:clamp(26px,4vw,38px);line-height:1.14;color:var(--ink);margin-bottom:14px}
.thanks-text{font-size:var(--fs-text);color:var(--ink-soft);line-height:1.6;max-width:520px;margin:0 auto}
.thanks-social{border-top:1.5px dashed var(--line-dark);margin-top:26px;padding-top:24px}
.thanks-social-lead{font-size:15px;color:var(--ink-soft);max-width:500px;margin:0 auto 16px}
.thanks-social-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.thanks-soc{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-display);text-transform:uppercase;font-weight:600;font-size:14px;letter-spacing:.04em;text-decoration:none;padding:12px 22px;border-radius:0;color:#fff;transition:transform .12s,filter .15s}
.thanks-soc:hover{transform:translateY(-2px);filter:brightness(1.08)}
.thanks-soc svg{width:21px;height:21px}
.thanks-soc.tg{background:#2aabee}
.thanks-soc.vk{background:#0077ff}
.thanks-actions{margin-top:26px;display:flex;flex-direction:column;gap:12px;align-items:center}
.thanks-call{font-size:14.5px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}
.thanks-call:hover{color:var(--red)}
@media(max-width:560px){.thanks-card{padding:36px 20px 36px}.thanks-main{padding:48px 0 60px}}

/* ===== Страницы услуг: бежевые секции (#dop, #cta) + светлый icon-list ===== */
#dop,#cta,#granicy-o,.sec.reels,#video{background:var(--paper-2)}
/* #video после бежевой секции (страница «Цены»: #cta → #video) — иначе два
   paper-2 сливаются в одно пятно и рваный край режет его посередине */
#cta + #video,#dop + #video,#granicy-o + #video{background:var(--paper);--sec-bg:var(--paper)}
/* финальный бежевый CTA вплотную к футеру: гасим зазор margin-top:50px футера,
   чтобы рваный верх футера «врезался» в бежевый фон, а не в paper-зазор */
#cta,#granicy-o{margin-bottom:-50px}
/* главная: #cta — это форма В СЕРЕДИНЕ страницы (за ней #faq), а не финальный CTA у футера.
   Гасим нахлёст -50px, иначе #faq наезжает на бежевый #cta и виден прямой тоновый шов-«линия». */
#cta.lead{margin-bottom:0}
.dist-list.dl-light{margin-top:6px}
.dist-list.dl-light li{color:var(--ink-soft)}
.dist-list.dl-light li b{color:var(--ink)}
.dist-list.dl-light .ic{color:var(--red)}
/* Контакты: ссылки в карточках — фирменный красный вместо дефолтного синего */
#kontakty .svc a{color:var(--red-mark);text-decoration:none}
#kontakty .svc a:hover{color:var(--red);text-decoration:underline}

/* ===== Поведенческий слой (пилот хаба №1): свайп-иконки, счётчики, hover, sticky-CTA ===== */
/* «Что проверяем» свайп-лентой иконками (без фото) — иконка вместо .cc-photo */
.check-card .ic{width:38px;height:38px;color:var(--red);display:block;margin-bottom:2px}
.check-card{transition:transform .22s ease,box-shadow .22s ease}
.check-card:hover{transform:translateY(-5px);box-shadow:6px 10px 0 rgba(34,29,22,.12)}
.svc{transition:transform .22s ease,box-shadow .22s ease}
.svc:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(30,20,8,.16)}
/* Счётчики (count-up) */
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
.statband .stat{text-align:center;padding:6px 4px}
.statband .stat b{display:block;font-family:var(--f-display);font-weight:700;font-size:clamp(30px,4.4vw,42px);color:var(--ink);line-height:1}
.statband .stat span{display:block;margin-top:7px;font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.35}
@media(max-width:680px){.statband{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}}
/* Секция «сроки по закону»: цифры-крючки для клиента (#srok) */
.srok .statband .stat{padding:14px 12px 16px;background:var(--paper);border:1px solid rgba(34,29,22,.1);-webkit-clip-path:var(--torn-clip-2);clip-path:var(--torn-clip-2)}
.srok .statband .stat b{color:var(--red-mark)}
.srok-note{margin-top:22px;text-align:center;font-size:var(--fs-sm);color:var(--ink-faint);line-height:1.5;max-width:70ch;margin-left:auto;margin-right:auto}
.srok-note a{color:var(--red-mark);font-weight:600;white-space:nowrap}
@media(max-width:680px){.srok .statband .stat{padding:12px 10px 14px}}
/* Sticky-CTA на мобиле (только на странице, где в разметке есть .sticky-cta) */
.sticky-cta{display:none}
@media(max-width:680px){
  .sticky-cta{display:flex;align-items:center;justify-content:center;position:fixed;left:12px;right:12px;bottom:12px;z-index:35;padding:14px 18px;background:var(--ink);color:#fff;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;font-size:var(--fs-text);border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,.32);text-decoration:none;opacity:0;transform:translateY(140%);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
  .sticky-cta.is-visible{opacity:1;transform:none;pointer-events:auto}
  body:has(.sticky-cta){padding-bottom:78px}
}
@media(prefers-reduced-motion:reduce){
  .check-card,.svc{transition:none}
  .check-card:hover,.svc:hover{transform:none}
}

/* ===== Мобильное меню: аккордеон «Услуги» (как дропдаун на ПК) ===== */
.mobile-menu .mm-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:13px 0;cursor:pointer;font-family:var(--f-display);text-transform:uppercase;font-size:18px;color:var(--ink);text-align:left}
.mobile-menu .mm-toggle svg{width:14px;height:9px;flex:0 0 auto;transition:transform .2s ease}
.mobile-menu .mm-services.open .mm-toggle svg{transform:rotate(180deg)}
.mobile-menu .mm-sub{display:none;flex-direction:column}
.mobile-menu .mm-services.open .mm-sub{display:flex}
.mobile-menu .mm-sub a{font-size:16px;text-transform:none;color:var(--ink-soft);padding:11px 0 11px 14px;border-bottom:1px dashed var(--line)}
.mobile-menu .mm-sub a.mm-all{color:var(--red-mark);text-transform:uppercase;font-size:15px;padding-left:0}

/* Картинка в карточке услуги (.svc) — для «частных случаев» и подобных */
.svc-pic{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;border:3px solid #fff;box-shadow:2px 3px 0 rgba(34,29,22,.12);margin-bottom:14px;display:block;background:#cfc7b6}

/* ======================================================================
 * БЛОГ — лента (/blog/), рубрики (archive), статья (single).
 * Шаблоны: home.php / archive.php / single.php / template-parts/blog-card.php
 * Акцент ссылок в тексте статьи — тёплый коралл (#d64a2f): явно «кликабельно».
 * Журнальная типографика: глобальный *{margin:0} гасит отступы, задаём ритм явно.
 * ====================================================================== */

/* ---- хлебные крошки + мета статьи ---- */
.crumbs{font-family:var(--f-body);font-size:14px;color:var(--ink-faint);margin-bottom:20px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.crumbs a{color:var(--ink-soft);text-decoration:none}
.crumbs a:hover{color:var(--red)}
.post-meta{display:flex;gap:10px;align-items:center;margin-top:18px;font-size:13px;color:var(--ink-faint);font-family:var(--f-display);text-transform:uppercase;letter-spacing:.04em}
.post-cover{margin-top:30px}
.post-cover img{width:100%;height:auto;display:block;border:6px solid #fff;box-shadow:var(--shadow-card)}
/* шапка статьи: заголовок в 2-3 строки, а не четыре */
.post-head .sec-head{max-width:860px}
.post-head h1.sh{font-size:clamp(26px,3.4vw,42px);line-height:1.16}
/* колонка контента статьи — по центру страницы, а не прижата влево */
.post-head>.wrap>*,.post-body>.wrap>*{margin-left:auto;margin-right:auto;max-width:860px}

/* ---- фильтр рубрик (чипсы): не синие ссылки, а аккуратные пилюли ---- */
.blog-filter{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{font-family:var(--f-display);text-transform:uppercase;font-size:13px;font-weight:500;letter-spacing:.05em;color:var(--ink-soft);background:#fff;text-decoration:none;padding:9px 18px;border:1.5px solid var(--line-dark);border-radius:999px;transition:background .15s,color .15s,border-color .15s}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.is-active{background:var(--red);color:#fff;border-color:var(--red)}

/* ---- сетка карточек ---- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:10px}
.blog-card{background:var(--card-paper);position:relative;display:flex;flex-direction:column;-webkit-clip-path:var(--torn-clip);clip-path:var(--torn-clip);transition:transform .22s ease}
.blog-card:nth-child(4n+2){-webkit-clip-path:var(--torn-clip-2);clip-path:var(--torn-clip-2)}
.blog-card:nth-child(4n+3){-webkit-clip-path:var(--torn-clip-3);clip-path:var(--torn-clip-3)}
.blog-card:nth-child(4n){-webkit-clip-path:var(--torn-clip-4);clip-path:var(--torn-clip-4)}
@media(hover:hover){.blog-card:hover{transform:translateY(-4px)}}
/* padding-top-бокс + абсолютная картинка: детерминированная высота на любом движке
   (aspect-ratio внутри clip-path-флекса на iOS резолвится нестабильно → обложка «разлетается») */
.blog-card__media{display:block;position:relative;padding-top:52.5%;overflow:hidden;margin:14px 16px 0}
.blog-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.blog-card__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--panel-2);font-family:var(--f-hand);color:var(--red-mark);font-size:26px}
.blog-card__body{padding:16px 22px 24px;display:flex;flex-direction:column;flex:1}
.blog-card .eyebrow{font-family:var(--f-hand);font-size:20px;color:var(--red-mark);margin-bottom:4px;text-decoration:none;display:inline-block}
.blog-card__title{font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-21);line-height:1.18;margin-bottom:8px}
.blog-card__title a{color:var(--ink);text-decoration:none}
.blog-card__title a:hover{color:var(--red)}
.blog-card__excerpt{font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.55;flex:1}
.blog-card__meta{display:flex;gap:8px;align-items:center;margin-top:16px;font-size:12px;color:var(--ink-faint);font-family:var(--f-display);text-transform:uppercase;letter-spacing:.04em}
/* «Читать» — крупная заметная ссылка, а не мелкий текст */
.blog-card .more{margin-top:14px;font-family:var(--f-display);text-transform:uppercase;font-weight:600;font-size:15px;letter-spacing:.03em;color:var(--red);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.blog-card .more:hover{gap:9px}
@supports not ((clip-path:polygon(0 0)) or (-webkit-clip-path:polygon(0 0))){
  .blog-card{border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:6px}
}

/* ---- пустая лента + пагинация ---- */
.blog-empty{font-size:var(--fs-lead);color:var(--ink-soft);max-width:600px;line-height:1.6}
.blog-empty a{color:var(--red-mark)}
.pagination{margin-top:44px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;font-family:var(--f-display);font-weight:600;color:var(--ink-soft);text-decoration:none;border:1.5px solid var(--line-dark);border-radius:6px}
.pagination a.page-numbers:hover{border-color:var(--ink);color:var(--ink)}
.pagination .page-numbers.current{background:var(--red);color:#fff;border-color:var(--red)}
.pagination .page-numbers.dots{border:none;min-width:auto}

/* ---- ТЕЛО СТАТЬИ (single): журнальная типографика с воздухом ----
   Скоуп .post .prose — не задевает .prose на других страницах. */
#post-related{background:var(--paper-2)}
.post .prose{max-width:860px;margin-left:auto;margin-right:auto;color:var(--ink-soft);font-size:18px;line-height:1.8}
.post .prose > * + *{margin-top:1.5em}
/* лид-абзац крупнее — журнальный зачин */
.post .prose > p:first-of-type{font-size:20px;line-height:1.7;color:var(--ink)}
.post .prose p{font-size:18px;line-height:1.8}
/* H2 — секция с линией-разделителем и большим воздухом сверху: сразу видно структуру */
.post .prose h2{font-family:var(--f-display);text-transform:uppercase;font-weight:700;color:var(--ink);font-size:clamp(23px,3vw,32px);line-height:1.2;margin-top:2.2em;padding-top:.7em;border-top:2px solid var(--line-dark)}
.post .prose h3{font-family:var(--f-display);text-transform:uppercase;font-weight:600;color:var(--ink);font-size:clamp(18px,2.2vw,22px);line-height:1.28;margin-top:1.8em}
.post .prose > *:first-child{margin-top:0;padding-top:0;border-top:0}
/* ссылки в тексте — тёплый коралл, жирные, подчёркнутые */
.post .prose a{color:#d64a2f;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.post .prose a:hover{color:#b23a22;text-decoration-thickness:3px}
.post .prose ul,.post .prose ol{margin-top:1.3em;padding-left:1.4em}
.post .prose li{margin-top:.55em;line-height:1.7}
.post .prose ul li::marker{color:#d64a2f}
.post .prose ol li::marker{color:var(--ink-faint);font-family:var(--f-display)}
.post .prose strong,.post .prose b{color:var(--ink)}
.post .prose blockquote{border-left:4px solid var(--red);background:var(--panel);padding:18px 22px;margin:1.6em 0;color:var(--ink);font-size:19px}
.post .prose img{max-width:100%;height:auto;display:block;border:5px solid #fff;box-shadow:var(--shadow-card)}
.post .prose figure{margin:1.8em 0}
.post .prose figcaption{font-size:14px;color:var(--ink-faint);margin-top:10px;font-style:italic;text-align:center}
.post .prose table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);display:block;overflow-x:auto}
.post .prose th,.post .prose td{border:1px solid var(--line-dark);padding:10px 12px;text-align:left}
.post .prose th{background:var(--panel);font-family:var(--f-display);text-transform:uppercase;font-size:var(--fs-label)}
.post-tags{margin-top:34px;display:flex;flex-wrap:wrap;gap:8px}
.post-tags a{font-size:var(--fs-sm);color:var(--red-mark);text-decoration:none;border:1px solid var(--line-dark);padding:5px 12px;border-radius:20px}
.post-tags a:hover{background:var(--panel)}

/* ---- адаптив блога ---- */
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
  .blog-grid{grid-template-columns:1fr}
  /* iOS Safari: clip-path на карточке не клипует object-fit-обложку при инерц-скролле → она «разлетается».
     На мобиле убираем рваный клип, даём ровные углы — источник артефакта устранён. */
  .blog-card,.blog-card:nth-child(4n+2),.blog-card:nth-child(4n+3),.blog-card:nth-child(4n){-webkit-clip-path:none;clip-path:none;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-card)}
  .post .prose{max-width:none;font-size:17px}
  .post .prose > p:first-of-type{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.blog-card{transition:none}.blog-card:hover{transform:none}}

/* ===== Лендинги-заявки под рекламу (.page-zayavka: /priemka-kvartiry-zayavka/, /tehnadzor-zayavka/) =====
   Требование: на мобиле заголовок + форма ЦЕЛИКОМ в первом экране —
   фото lead-band прячем, верхний отступ секции ужимаем. */
@media(max-width:820px){
  .page-zayavka .sec.lead{padding:10px 0 40px}
  .page-zayavka .lead-right{display:none}
}

/* ===== Плавающий виджет быстрой связи (TG + MAX) — показываем после 2-го экрана ===== */
.cfab{position:fixed;right:20px;bottom:20px;z-index:45;
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;pointer-events:none}
.cfab.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
/* выезжающие иконки — абсолютно над кнопкой, в закрытом виде не занимают место */
.cfab__opts{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);margin-bottom:12px;
  display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}
.cfab__opt{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
  background:var(--ink);color:#fff;text-decoration:none;box-shadow:0 6px 16px rgba(0,0,0,.28);
  opacity:0;transform:scale(.5) translateY(10px);pointer-events:none;
  transition:opacity .2s ease,transform .2s ease,background .18s ease}
.cfab__opt svg{width:26px;height:26px;display:block}
.cfab__opt--max svg{width:33px;height:33px} /* глиф MAX занимает ~76% вьюбокса — крупнее для оптического паритета */
.cfab__opt:hover{background:var(--red)}
.cfab.open .cfab__opt{opacity:1;transform:none;pointer-events:auto}
.cfab.open .cfab__opt--tg{transition-delay:.04s}
.cfab__toggle{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;
  border:none;cursor:pointer;background:var(--red);color:#fff;position:relative;
  box-shadow:0 8px 22px rgba(204,32,24,.38);transition:transform .2s ease,box-shadow .2s ease}
.cfab__toggle:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(204,32,24,.45)}
.cfab__toggle:active{transform:translateY(0)}
.cfab__ic{position:absolute;width:28px;height:28px;transition:opacity .2s ease,transform .25s ease}
.cfab__ic--close{opacity:0;transform:rotate(-90deg)}
.cfab.open .cfab__ic--chat{opacity:0;transform:rotate(90deg)}
.cfab.open .cfab__ic--close{opacity:1;transform:rotate(0)}
@media(max-width:680px){
  .cfab{right:14px;bottom:14px}
  body:has(.sticky-cta) .cfab{bottom:88px} /* приподнимаем над мобильной sticky-cta-плашкой */
}
@media(prefers-reduced-motion:reduce){
  .cfab,.cfab__opt,.cfab__ic,.cfab__toggle{transition-duration:.01ms}
}

/* ===== Уведомление о сборе данных (152-ФЗ) — плашка справа снизу, один раз ===== */
.pd-consent{position:fixed;right:20px;bottom:96px;z-index:1000001;max-width:360px;
  background:var(--panel);color:var(--ink);border:2px solid var(--ink);border-radius:12px;
  box-shadow:0 12px 30px rgba(30,20,8,.24);padding:18px 20px 16px;
  opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .3s ease,transform .3s ease}
.pd-consent.is-shown{opacity:1;transform:none;pointer-events:auto}
.pd-consent__text{font-size:13.5px;line-height:1.5;margin:0 0 14px;padding-right:14px}
.pd-consent__text a{color:var(--red-mark);text-decoration:underline;text-underline-offset:2px}
.pd-consent__btn{display:block;width:100%;text-align:center;background:var(--ink);color:#fff;
  border:none;border-radius:8px;padding:11px 16px;cursor:pointer;
  font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;font-size:13px}
.pd-consent__btn:hover{background:#000}
.pd-consent__close{position:absolute;top:6px;right:10px;width:26px;height:26px;border:none;background:none;
  color:var(--ink-soft);font-size:24px;line-height:1;cursor:pointer;padding:0}
.pd-consent__close:hover{color:var(--ink)}
@media(max-width:680px){
  /* мобилка: плашка компактнее (меньше шрифт/отступы), у нижнего края */
  .pd-consent{left:12px;right:12px;bottom:12px;max-width:none;padding:14px 16px 13px;border-radius:10px}
  body:has(.sticky-cta) .pd-consent{bottom:88px} /* над мобильной sticky-cta-плашкой */
  .pd-consent__text{font-size:12px;line-height:1.45;margin-bottom:11px;padding-right:6px}
  .pd-consent__btn{padding:10px 14px;font-size:12px}
  .pd-consent__close{top:4px;right:8px;font-size:22px}
}
@media(prefers-reduced-motion:reduce){
  .pd-consent{transition-duration:.01ms}
}

/* ===== Арбитражный лендинг Telegram (.page-telegram, /telegram/) =====
   Буллиты на первом экране (тёмный lead-band) — галочки вместо браузерных маркеров. */
.tg-bullets{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:11px}
.tg-bullets li{position:relative;padding-left:28px;color:#e6ddc9;font-size:15px;line-height:1.5}
.tg-bullets li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;background:#2aabee;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ===== Модалка видео (ВКонтакте embed) — открывается по клику на .vthumb с data-video-open ===== */
button.vthumb{border:none;padding:0;width:100%;cursor:pointer;font:inherit;text-align:left}
.video-modal{position:fixed;inset:0;z-index:1000;display:none}
.video-modal.is-open{display:flex;align-items:center;justify-content:center}
.video-modal__overlay{position:absolute;inset:0;background:rgba(20,16,12,.78);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.video-modal__card{position:relative;z-index:1;width:min(860px,calc(100% - 28px));margin:0}
.video-modal__close{position:absolute;top:-40px;right:-6px;width:34px;height:34px;background:none;border:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;z-index:2}
.video-modal__close:hover{color:#ff6258}
.video-modal__frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:8px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.video-modal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
@media(max-width:680px){
  .video-modal__close{top:-38px;right:0}
}

/* ===== БЛОК АКЦИИ (template-parts/promo.php; данные — prinyato_promo() в functions.php) ===== */
/* «bar» — узкая полоса на первом экране, под CTA hero */
/* Полоса в hero: без рамки и рваного края — только красная метка + текст,
   чтобы не «шуметь» на первом экране. */
.promo-bar{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 4px;padding:0}
/* в hero страниц услуг полоса стоит перед микротекстом/статбендом — даём воздух */
.svc-hero__text .promo-bar{margin:16px 0 10px}
.promo-bar__tag{font-family:var(--f-display);text-transform:uppercase;font-weight:600;font-size:12px;letter-spacing:.05em;color:#fff;background:var(--red);padding:4px 10px;flex:0 0 auto}
.promo-bar__text{font-size:14.5px;line-height:1.4;color:var(--ink);position:relative}
.promo-bar__text b{font-weight:600}
/* «card» — плашка над квизом и в секциях */
.promo-card{max-width:760px;margin:0 auto 26px;padding:24px 26px 26px;background:var(--card-paper);border:2px solid var(--red);text-align:center}
.promo-card__tag{display:inline-block;font-family:var(--f-display);text-transform:uppercase;font-weight:600;font-size:12.5px;letter-spacing:.05em;color:#fff;background:var(--red);padding:5px 12px;margin-bottom:12px}
.promo-card__title{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:clamp(20px,3vw,27px);line-height:1.14;color:var(--ink);margin:0 0 10px}
.promo-card__text{font-size:15px;line-height:1.6;color:var(--ink-soft);max-width:600px;margin:0 auto}
.promo-card .cta-row{margin-top:18px;justify-content:center}
/* тёмные секции (#trust,#distance,#granicy,#shots): бумажная плашка на тёмном — оставляем светлой,
   но подводку делаем читаемой */
.distance .promo-card__text,.sec--ink .promo-card__text{color:var(--ink-soft)}
@media(max-width:560px){
  .promo-bar{gap:9px;padding:10px 14px;margin-top:14px}
  .promo-bar__text{font-size:14px}
  .promo-card{padding:20px 18px 22px;margin-bottom:20px}
}

/* P0-фикс: на мобиле промо-полоса поднимается сразу под подзаголовок (до буллетов),
   иначе на 390×844 она уезжала за первый экран. На ПК порядок прежний. */
@media(max-width:680px){
  .hero-col{display:flex;flex-direction:column}
  .hero-col .lead-red{order:1}
  .hero-col .promo-bar{order:2;margin-top:14px;margin-bottom:2px}
  .hero-col .hero-bullets{order:3}
  .hero-col .cta-row{order:4}
  .hero-col .hero-second{order:5}
}
