/* REMONT homepage CSS — AUTHORITATIVE copy = inline <style> block 0 from
   'REMONT - Главная.html' (Claude Design). Replaces the earlier stale separate
   glavnaya.css which was missing 118+ rules (.mini-plan/.hs-plan/.mini-folder/
   .gr-folder/.qz-folder/.dp-doc/.qz-mini-smeta/.ex-main/.dots-wrap/...),
   causing document/folder/floor-plan motifs to render broken/oversized.
   theme3-overrides.css loads AFTER this and applies the full-bleed productionisation. */
/* ════════════════════════════════════════════════════════
   REMONT — дизайн-токены и базовые компоненты · v1.0
   Подключение:
   <link href="https://fonts.googleapis.com/css2?family=Onest:wght@400;450;500;600;700;800&display=swap" rel="stylesheet">
   <link rel="stylesheet" href="remont-tokens.css">
   ════════════════════════════════════════════════════════ */

:root{
  /* ---- цвет ---- */
  --ink:#16181D;                       /* текст, тёмные секции */
  --paper:#FAF8F4;                     /* основной фон сайта */
  --white:#FFFFFF;                     /* карточки, хедер, поля */
  --accent:#B8915A;                    /* латунь: линии, точки, обводки, ≤5% площади */
  --accent-ink:#96743F;                /* латунный ТЕКСТ на светлом (AA) */
  --accent-tint:rgba(184,145,90,.12);  /* латунные подложки */
  --accent-tint-strong:rgba(184,145,90,.16);
  --cta:#1E3A2F;                       /* только кнопки действия */
  --cta-hover:#2A4D3F;
  --cta-active:#183027;
  --muted:#6B6F76;                     /* вторичный текст на светлом */
  --line:rgba(22,24,29,.10);           /* разделители на светлом */
  --line-dark:rgba(255,255,255,.12);   /* разделители на тёмном */
  --success:#7FC8A4;                   /* только статус-точка «открыто» */
  --error:#A1452F;                     /* только ошибки форм */
  --disabled-bg:#E3E4E7;
  --disabled-text:#9A9DA3;

  /* ---- тени ---- */
  --shadow-card:0 20px 60px rgba(22,24,29,.10);
  --shadow-float:0 12px 36px rgba(22,24,29,.16);
  --shadow-cta:0 14px 30px -14px rgba(30,58,47,.55);
  --shadow-cta-hover:0 18px 36px -14px rgba(30,58,47,.6);
  --shadow-menu:0 40px 70px -24px rgba(22,24,29,.30);

  /* ---- радиусы ---- */
  --r-s:6px;   /* мини-чипы, чекбоксы */
  --r-m:8px;   /* кнопки, поля, соц-иконки */
  --r-l:12px;  /* icon-кнопки, rich CTA, бейджи-карточки */
  --r-xl:16px; /* карточки и крупные блоки */

  /* ---- движение ---- */
  --t-fast:.15s ease;
  --t-base:.18s ease;
  --ease-out:cubic-bezier(.22,.8,.3,1); /* drawer/модалки · 280ms */

  /* ---- шрифт ---- */
  --font:'Onest',sans-serif;
}

/* ════════ БАЗА ════════ */
body{
  font-family:var(--font);
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}

/* ════════ КНОПКИ ════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:var(--r-m);border:none;cursor:pointer;white-space:nowrap;
  font-family:var(--font);font-weight:600;font-size:15px;line-height:1;
  transition:background var(--t-base),color var(--t-base),border-color var(--t-base);
}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* Primary — зелёная */
.btn-cta{background:var(--cta);color:var(--white);padding:14px 24px;}
.btn-cta:hover{background:var(--cta-hover);}
.btn-cta:active{background:var(--cta-active);}
.btn-cta:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;}
.btn-cta--lg{padding:18px 32px;font-size:16px;}

/* Secondary — латунная обводка (светлый и тёмный фон) */
.btn-outline-accent{background:transparent;color:var(--accent-ink);border:1px solid var(--accent);padding:13px 24px;}
.dark .btn-outline-accent,.btn-outline-accent.on-dark{color:var(--accent);}
.btn-outline-accent:hover{background:var(--accent);color:var(--ink);}
.btn-outline-accent:active{background:#A07C46;border-color:#A07C46;color:var(--ink);}
.btn-outline-accent:disabled{border-color:var(--line);color:var(--disabled-text);background:transparent;cursor:not-allowed;}

/* Tertiary — ghost на тёмном */
.btn-ghost-dark{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.35);padding:13px 24px;}
.btn-ghost-dark:hover{border-color:var(--white);}
.btn-ghost-dark:active{background:rgba(255,255,255,.08);border-color:var(--white);}
.btn-ghost-dark:disabled{border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.35);cursor:not-allowed;}

/* Rich CTA — только хедер (54) и hero (62) */
.btn-calc{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--cta);color:var(--white);border:none;cursor:pointer;
  border-radius:var(--r-l);padding:0 22px;height:54px;white-space:nowrap;
  font-family:var(--font);box-shadow:var(--shadow-cta);
  transition:background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);
}
.btn-calc:hover{background:var(--cta-hover);transform:translateY(-1px);box-shadow:var(--shadow-cta-hover);}
.btn-calc:active{background:var(--cta-active);transform:translateY(0);box-shadow:0 8px 20px -12px rgba(30,58,47,.5);}
.btn-calc:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.btn-calc:disabled{background:var(--disabled-bg);color:var(--disabled-text);box-shadow:none;transform:none;cursor:not-allowed;}
.btn-calc .ic{
  width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);
  display:inline-flex;align-items:center;justify-content:center;margin-left:-6px;flex:none;
}
.btn-calc .tx{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1;text-align:left;}
.btn-calc .tx strong{font-size:14.5px;font-weight:800;}
.btn-calc .tx small{font-size:11px;font-weight:500;opacity:.8;}
.btn-calc--lg{height:62px;padding:0 28px;}
.btn-calc--lg .tx strong{font-size:16px;}
.btn-calc--lg .tx small{font-size:11.5px;}

/* Icon button 48 (моб 44) */
.iconbtn{
  width:48px;height:48px;border-radius:var(--r-l);
  border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast);
}
.iconbtn:hover{border-color:var(--accent);color:var(--accent-ink);}
.iconbtn:active{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-tint);}
.iconbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.iconbtn:disabled{color:var(--disabled-text);background:transparent;cursor:not-allowed;}
.iconbtn--44{width:44px;height:44px;}

/* Текстовая ссылка с латунным подчёркиванием */
.link-accent{
  font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:8px;
  color:inherit;text-decoration:none;white-space:nowrap;
  border-bottom:2px solid var(--accent);padding-bottom:4px;
  transition:color var(--t-base);
}
.link-accent:hover{color:var(--accent-ink);}
.link-accent:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px;}

/* Пунктирная ссылка (utility-полоса, тёмный фон) */
.link-dashed{
  color:var(--accent);font-weight:600;text-decoration:none;
  border-bottom:1px dashed rgba(184,145,90,.6);padding-bottom:1px;
}
.link-dashed:hover{border-bottom-style:solid;}

/* Загрузка (вешать на primary/rich) */
.is-loading{pointer-events:none;}
.is-loading .tx,.is-loading .btn-label{opacity:.55;}
.spinner{
  width:16px;height:16px;border-radius:50%;flex:none;
  border:2px solid rgba(255,255,255,.3);border-top-color:#fff;
  animation:rmSpin .8s linear infinite;
}
@keyframes rmSpin{to{transform:rotate(360deg);}}

/* ════════ БЕЙДЖИ И ЧИПЫ ════════ */
.badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(22,24,29,.06);color:var(--muted);}
.badge--brass{background:var(--accent-tint-strong);color:var(--accent-ink);}
.chip-brass{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;
  background:var(--accent-tint);color:var(--accent-ink);font-size:12.5px;font-weight:700;white-space:nowrap;
}
.dot-accent{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;display:inline-block;}
.dot-pulse{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(127,200,164,.18);flex:none;display:inline-block;}

/* ════════ ПОЛЯ ФОРМ ════════ */
.input{
  height:52px;border-radius:var(--r-m);border:1px solid rgba(22,24,29,.18);
  background:var(--white);padding:0 16px;width:100%;outline:none;
  font-family:var(--font);font-size:15px;color:var(--ink);
  transition:border-color var(--t-fast),box-shadow var(--t-fast);
}
.input::placeholder{color:var(--disabled-text);}
.input:hover{border-color:rgba(22,24,29,.34);}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(184,145,90,.18);}
.input.is-error{border-color:var(--error);box-shadow:0 0 0 3px rgba(161,69,47,.12);}
.input:disabled{background:#F2F2F4;color:var(--disabled-text);border-color:var(--line);cursor:not-allowed;}
.fld-label{font-size:13px;font-weight:600;display:block;margin-bottom:8px;}
.fld-error{font-size:12px;color:var(--error);font-weight:500;margin-top:6px;display:block;}

/* ════════ ТИПОГРАФИЧЕСКИЕ ХЕЛПЕРЫ ════════ */
.h1{font-size:64px;line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.h2{font-size:44px;line-height:1.1;font-weight:800;letter-spacing:-.02em;}
.h3{font-size:28px;line-height:1.25;font-weight:700;letter-spacing:-.01em;}
.lead{font-size:18px;line-height:1.6;color:var(--muted);}
.overline{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.caps-head{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);}
.price-num{font-size:52px;line-height:1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.em-marker{font-style:normal;font-weight:800;background:linear-gradient(180deg,transparent 60%,rgba(184,145,90,.35) 60%);padding:0 2px;}
@media (max-width:767px){
  .h1{font-size:34px;line-height:1.1;}
  .h2{font-size:28px;line-height:1.15;}
  .h3{font-size:22px;}
  .lead{font-size:16px;line-height:1.55;}
  .price-num{font-size:38px;}
}

/* ════════ ДОСТУПНОСТЬ ════════ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  .spinner{animation:rmSpin .8s linear infinite !important;} /* индикатор загрузки оставляем */
}

/* ════════════════════════════════════════════════════════
   REMONT — общие стили сайта (chrome + page kit)
   Требует: remont-tokens.css (токены, кнопки, поля, бейджи)
   Подключать ПОСЛЕ remont-tokens.css.
   ════════════════════════════════════════════════════════ */

*{margin:0;padding:0;box-sizing:border-box;}
html,body{background:#E8E8EB;}
body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;}
svg{display:block;}
::selection{background:rgba(184,145,90,.25);}

/* ============ VIEWER SHELL ============ */
#sizer{position:relative;}
#stage{
  position:absolute;top:48px;left:50%;
  transform:translateX(-50%) scale(1);
  transform-origin:top center;
  display:flex;align-items:flex-start;gap:80px;
  width:1910px;
}
.artboard-wrap{flex:none;}
.artboard-label{font-size:13px;font-weight:500;color:#84878D;letter-spacing:.04em;margin:0 0 12px 2px;}
.artboard{background:var(--white);box-shadow:0 8px 40px rgba(0,0,0,.12);overflow:hidden;position:relative;}
.artboard.desktop{width:1440px;}
.artboard.mobile{width:390px;}

#zoombar{
  position:fixed;right:20px;bottom:20px;z-index:100;
  display:flex;align-items:center;gap:2px;
  background:var(--white);border:1px solid rgba(22,24,29,.12);
  border-radius:10px;padding:6px;box-shadow:0 4px 20px rgba(0,0,0,.14);font-size:13px;
}
#zoombar button{background:none;border:none;border-radius:6px;width:32px;height:32px;font-size:16px;color:var(--ink);display:flex;align-items:center;justify-content:center;}
#zoombar button:hover{background:rgba(22,24,29,.06);}
#zoombar .zb-fit{width:auto;padding:0 12px;font-size:13px;font-weight:600;}
#zoomVal{min-width:48px;text-align:center;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;}

.anno{
  font-size:11px;font-weight:500;color:#9A9DA3;letter-spacing:.06em;text-transform:uppercase;
  padding:8px 16px 6px;border-top:1px dashed rgba(22,24,29,.18);background:#F4F4F6;
}

/* ============ SHARED PRIMITIVES (chrome) ============ */
.brass-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;display:inline-block;}
.m-ctabar .btn{flex:1;}
.d-iconbtn{
  width:48px;height:48px;border-radius:12px;flex:none;
  border:1px solid var(--line);background:var(--white);color:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;
  transition:border-color .15s ease,color .15s ease;
}
.d-iconbtn:hover{border-color:var(--accent);color:#96743F;}

/* ====================================================== */
/* ==================== DESKTOP HEADER ================== */
/* ====================================================== */
.d-header{position:sticky;top:0;z-index:10;background:var(--white);border-bottom:1px solid var(--line);}
.d-utility{background:var(--ink);}
.d-utility-in{height:40px;padding:0 48px;display:flex;align-items:center;gap:20px;font-size:12.5px;color:rgba(255,255,255,.85);}
.du-open{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--white);white-space:nowrap;}
.du-pulse{width:7px;height:7px;border-radius:50%;background:#7FC8A4;box-shadow:0 0 0 4px rgba(127,200,164,.18);flex:none;}
.du-div{width:1px;height:14px;background:rgba(255,255,255,.18);flex:none;}
.du-geo{color:rgba(255,255,255,.6);font-weight:500;white-space:nowrap;}
.du-facts{margin:0 auto;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.55);font-weight:500;white-space:nowrap;}
.du-facts i{width:3px;height:3px;border-radius:50%;background:var(--accent);font-style:normal;flex:none;}
.du-right{display:flex;align-items:center;gap:16px;flex:none;}
.du-msg{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.75);font-weight:600;transition:color .15s ease;}
.du-msg:hover{color:var(--white);}
.du-call{color:var(--accent);font-weight:600;border-bottom:1px dashed rgba(184,145,90,.6);padding-bottom:1px;}
.du-call:hover{border-bottom-style:solid;}
.d-main{padding:16px 48px;display:flex;align-items:center;gap:28px;}
.d-logo{display:flex;align-items:center;gap:14px;flex:none;}
.d-logo-mark{
  width:54px;height:54px;border-radius:14px;flex:none;
  background:var(--ink);color:var(--accent);position:relative;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px -10px rgba(22,24,29,.45);
}
.d-logo-mark::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}
.d-logo-text{display:flex;flex-direction:column;}
.d-logo-name{font-weight:800;font-size:19px;letter-spacing:-.01em;line-height:1;display:flex;align-items:baseline;gap:8px;}
.d-logo-name .geo{font-size:10px;font-weight:700;letter-spacing:.08em;color:#96743F;background:rgba(184,145,90,.14);padding:3px 7px;border-radius:6px;}
.d-logo-sub{font-size:12.5px;color:var(--muted);margin-top:6px;font-weight:500;}
.d-main-right{display:flex;align-items:center;gap:16px;margin-left:auto;}
.d-phone{text-align:right;}
.d-phone a{font-weight:800;font-size:19px;letter-spacing:-.01em;display:block;}
.d-phone a:hover{color:var(--cta);}
.d-phone small{font-size:11.5px;color:var(--muted);font-weight:500;display:block;margin-top:3px;}
.btn-calc{
  display:inline-flex;align-items:center;gap:12px;flex:none;
  background:var(--cta);color:var(--white);border:none;cursor:pointer;
  border-radius:12px;padding:0 22px;height:54px;white-space:nowrap;
  box-shadow:0 14px 30px -14px rgba(30,58,47,.55);
  transition:background .15s ease,transform .15s ease,box-shadow .15s ease;
}
.btn-calc:hover{background:var(--cta-hover);transform:translateY(-1px);box-shadow:0 18px 36px -14px rgba(30,58,47,.6);}
.btn-calc .ic{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;margin-left:-6px;flex:none;}
.btn-calc .tx{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1;text-align:left;}
.btn-calc .tx strong{font-size:14.5px;font-weight:800;}
.btn-calc .tx small{font-size:11px;font-weight:500;opacity:.8;}
.btn-calc-lg{height:62px;padding:0 28px;}
.btn-calc-lg .tx strong{font-size:16px;}
.btn-calc-lg .tx small{font-size:11.5px;}
/* nav band */
.d-navband-wrap{border-top:1px solid var(--line);background:var(--white);position:relative;}
.d-navband{padding:0 48px;display:flex;align-items:stretch;}
.d-cats{display:inline-flex;align-items:center;gap:12px;flex:none;padding:15px 24px 15px 0;margin-right:14px;border-right:1px solid var(--line);font-weight:700;font-size:14.5px;cursor:pointer;}
.d-cats:hover{color:#96743F;}
.d-cats .d-cats-chev{transition:transform .2s ease;}
.d-cats.open{color:#96743F;}
.d-cats.open .d-cats-chev{transform:rotate(180deg);}
.d-cats-mark{width:28px;height:18px;position:relative;flex:none;}
.d-cats-mark::before,.d-cats-mark::after,.d-cats-mark span{content:"";position:absolute;left:0;right:0;height:2px;background:var(--accent);border-radius:2px;}
.d-cats-mark::before{top:1px;}
.d-cats-mark span{top:8px;right:9px;}
.d-cats-mark::after{bottom:1px;right:4px;}
.d-mega{
  position:absolute;left:0;right:0;top:100%;z-index:30;
  background:var(--white);border-top:1px solid var(--line);box-shadow:0 40px 70px -24px rgba(22,24,29,.30);
  padding:36px 48px 44px;display:grid;grid-template-columns:1fr 1fr 340px;gap:48px;align-items:start;
  opacity:0;transform:translateY(-8px);visibility:hidden;pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.d-mega.open{opacity:1;transform:none;visibility:visible;pointer-events:auto;}
.d-mega-cap{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#96743F;margin-bottom:10px;}
.d-mega-link{display:flex;align-items:center;gap:10px;padding:12px 0;font-size:15px;font-weight:600;border-bottom:1px solid var(--line);transition:color .15s ease;}
.d-mega-link:hover{color:#96743F;}
.d-mega-link .arr{margin-left:auto;color:var(--accent);opacity:0;transform:translateX(-4px);transition:opacity .15s ease,transform .15s ease;}
.d-mega-link:hover .arr{opacity:1;transform:none;}
.d-mega-cta{background:var(--ink);border-radius:14px;padding:28px;color:var(--white);display:flex;flex-direction:column;align-items:flex-start;}
.d-mega-cta b{font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.3;}
.d-mega-cta p{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.65);margin-top:10px;}
.d-mega-cta .btn{margin-top:20px;}
.d-navlinks{display:flex;align-items:stretch;flex:1;min-width:0;}
.d-navlink{display:inline-flex;align-items:center;gap:8px;padding:0 14px;font-size:14.5px;font-weight:600;color:var(--ink);position:relative;white-space:nowrap;}
.d-navlink::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;background:var(--accent);border-radius:3px 3px 0 0;transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.d-navlink:hover::after{transform:scaleX(1);}
.d-navlink.is-current{color:var(--accent-ink);}
.d-navlink.is-current::after{transform:scaleX(1);}
.d-cats.is-current{color:var(--accent-ink);}
.d-nav-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(22,24,29,.06);color:var(--muted);}
.d-nav-badge.brass{background:rgba(184,145,90,.16);color:#96743F;}
.d-nav-chip{align-self:center;margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(184,145,90,.12);color:#96743F;font-size:12.5px;font-weight:700;white-space:nowrap;}

/* ====================================================== */
/* ==================== DESKTOP FOOTER ================== */
/* ====================================================== */
.d-footer{background:var(--ink);color:var(--white);padding:80px 0 40px;}
.d-footer-in{width:100%;padding:0 48px;}
.df-top{display:flex;justify-content:space-between;align-items:flex-start;}
.df-logo{font-weight:800;font-size:15px;line-height:1.25;letter-spacing:.04em;color:var(--white);}
.df-logo span{display:block;}
.df-tagline{font-size:15px;font-weight:400;color:rgba(255,255,255,.6);margin-top:14px;max-width:300px;line-height:1.6;}
.df-contact{text-align:right;}
.df-contact a.df-phone{font-weight:700;font-size:24px;color:var(--white);display:block;}
.df-contact a.df-phone:hover{color:var(--accent);}
.df-contact small{font-size:12px;color:rgba(255,255,255,.4);display:block;margin:6px 0 16px;}
.df-divider{height:1px;background:rgba(255,255,255,.12);margin:48px 0;}
.df-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.df-col h4{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.df-col ul{display:flex;flex-direction:column;gap:12px;}
.df-col a{font-size:15px;color:rgba(255,255,255,.75);transition:color .18s ease;}
.df-col a:hover{color:var(--white);}
.df-col address{font-style:normal;font-size:15px;color:rgba(255,255,255,.75);line-height:1.6;}
.df-socials{display:flex;gap:12px;margin-top:20px;}
.df-socials a{width:40px;height:40px;border-radius:8px;border:1px solid rgba(184,145,90,.5);display:flex;align-items:center;justify-content:center;transition:border-color .18s ease,background .18s ease;}
.df-socials a:hover{border-color:var(--accent);background:rgba(184,145,90,.12);}
.df-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px;color:rgba(255,255,255,.4);}
.df-bottom a{color:rgba(255,255,255,.4);}
.df-bottom a:hover{color:rgba(255,255,255,.7);}

/* ====================================================== */
/* ==================== MOBILE HEADER =================== */
/* ====================================================== */
.m-utility{background:var(--ink);height:34px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:rgba(255,255,255,.85);}
.m-utility .du-open{font-size:12px;}
.m-utility a{color:var(--white);display:inline-flex;align-items:center;gap:6px;font-weight:700;}
.m-header{background:var(--white);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;align-items:center;gap:12px;}
.m-burger{width:44px;height:44px;flex:none;margin-left:-11px;border:none;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:0 11px;}
.m-burger i{display:block;height:2px;background:var(--ink);border-radius:2px;font-style:normal;transition:transform .3s cubic-bezier(.22,.8,.3,1),width .3s cubic-bezier(.22,.8,.3,1),opacity .2s ease;}
.m-burger i:nth-child(1){width:22px;}
.m-burger i:nth-child(2){width:14px;}
.m-burger i:nth-child(3){width:22px;}
.m-burger.open i:nth-child(1){transform:translateY(7px) rotate(45deg);}
.m-burger.open i:nth-child(2){opacity:0;transform:scaleX(.4);}
.m-burger.open i:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.m-logo{display:flex;align-items:center;gap:10px;flex:1;min-width:0;}
.m-logo-mark{width:40px;height:40px;border-radius:11px;flex:none;background:var(--ink);color:var(--accent);display:flex;align-items:center;justify-content:center;}
.m-logo-text{min-width:0;}
.m-logo-name{display:block;font-weight:800;font-size:14px;line-height:1;letter-spacing:-.01em;}
.m-logo-sub{display:block;font-size:10.5px;color:var(--muted);margin-top:3px;}
.m-call{width:44px;height:44px;border-radius:12px;flex:none;background:var(--cta);color:var(--white);display:flex;align-items:center;justify-content:center;}
/* drawer — тёмный full-overlay (шторка сверху) */
.m-screen{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:40;pointer-events:none;}
.m-screen.open{pointer-events:auto;}
.m-scrim{position:absolute;inset:0;background:rgba(22,24,29,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .25s ease;}
.m-screen.open .m-scrim{opacity:1;}
.m-drawer{position:absolute;top:0;left:0;right:0;background:var(--ink);color:var(--white);border-radius:0 0 18px 18px;box-shadow:0 60px 90px -30px rgba(22,24,29,.55);transform:translateY(-28px);opacity:0;transition:transform .32s cubic-bezier(.22,.8,.3,1),opacity .22s ease;display:flex;flex-direction:column;}
.m-screen.open .m-drawer{transform:none;opacity:1;}
.m-drawer>*{opacity:0;transform:translateY(14px);transition:opacity .3s ease,transform .4s cubic-bezier(.22,.8,.3,1);}
.m-screen.open .m-drawer>*{opacity:1;transform:none;}
.m-screen.open .m-drawer>:nth-child(1){transition-delay:.04s;}
.m-screen.open .m-drawer>:nth-child(2){transition-delay:.09s;}
.m-screen.open .m-drawer>:nth-child(3){transition-delay:.15s;}
.m-screen.open .m-drawer>:nth-child(4){transition-delay:.21s;}
.m-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px 10px 20px;border-bottom:1px solid var(--line-dark);}
.m-drawer-head b{font-weight:800;font-size:14px;letter-spacing:.02em;color:var(--white);}
.m-drawer-head b .geo{color:var(--accent);margin-left:7px;}
.m-drawer-close{width:44px;height:44px;flex:none;border:none;background:transparent;color:rgba(255,255,255,.85);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.m-drawer-nav{display:flex;flex-direction:column;padding:12px 20px 14px;}
.m-nav-item{display:flex;align-items:baseline;gap:14px;padding:12px 0;color:var(--white);font-size:24px;font-weight:700;letter-spacing:-.015em;line-height:1.15;}
.m-nav-item .num{flex:none;width:24px;font-size:11.5px;font-weight:700;color:var(--accent);letter-spacing:.04em;font-variant-numeric:tabular-nums;}
.m-nav-item .d-nav-badge{margin-left:auto;background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);}
.m-nav-item .d-nav-badge.brass{background:var(--accent-tint-strong);color:var(--accent);}
.m-nav-item.is-current{color:var(--accent);}
.m-drawer-services{padding:16px 20px 20px;border-top:1px solid var(--line-dark);}
.m-drawer-cap{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.m-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;}
.m-services-grid a{font-size:14px;font-weight:600;color:rgba(255,255,255,.75);line-height:1.35;}
.m-drawer-foot{padding:18px 20px 22px;border-top:1px solid var(--line-dark);}
.m-drawer-callrow{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.m-drawer-phone{display:block;font-weight:800;font-size:21px;letter-spacing:-.01em;color:var(--white);}
.m-drawer-foot small{display:block;font-size:11.5px;color:rgba(255,255,255,.45);margin-top:3px;}
.m-drawer-socials{display:flex;gap:10px;flex:none;}
.m-drawer-socials a{width:44px;height:44px;border-radius:8px;border:1px solid rgba(184,145,90,.5);color:var(--accent);display:flex;align-items:center;justify-content:center;}
.m-drawer-foot .btn-cta{width:100%;margin-top:16px;padding:16px 20px;}

/* ====================================================== */
/* ==================== MOBILE FOOTER =================== */
/* ====================================================== */
.m-footer{background:var(--ink);color:var(--white);padding:48px 20px 32px;}
.m-acc{border-bottom:1px solid rgba(255,255,255,.12);}
.m-acc:first-child{border-top:1px solid rgba(255,255,255,.12);}
.m-acc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
.m-acc-body{display:flex;flex-direction:column;gap:12px;padding:0 0 20px;}
.m-acc-body a{font-size:15px;color:rgba(255,255,255,.75);}
.m-footer-phone{text-align:center;margin-top:36px;}
.m-footer-phone a{font-weight:700;font-size:26px;color:var(--white);display:block;}
.m-footer-phone small{font-size:12px;color:rgba(255,255,255,.4);display:block;margin-top:6px;}
.m-footer .btn-outline-accent{width:100%;margin-top:20px;padding:16px 24px;color:var(--accent);}
.m-footer-socials{display:flex;justify-content:center;gap:12px;margin-top:24px;}
.m-footer-socials a{width:42px;height:42px;border-radius:8px;border:1px solid rgba(184,145,90,.5);display:flex;align-items:center;justify-content:center;}
.m-footer-req{margin-top:32px;font-size:11px;line-height:1.7;color:rgba(255,255,255,.4);text-align:center;}
.m-footer-req a{color:rgba(255,255,255,.4);text-decoration:underline;}
.m-ctabar{background:var(--ink);padding:12px 16px;display:flex;gap:10px;}
.m-ctabar .btn{flex:1;padding:15px 8px;font-size:13.5px;gap:8px;}
.m-ctabar .btn svg{flex:none;}
.m-ctabar .btn-call{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.35);}
.m-ctabar .btn-call:hover{border-color:var(--white);}
.m-ctabar .btn-cta:hover{background:var(--cta-hover);}

/* ====================================================== */
/* ====================  PAGE KIT  ====================== */
/* ====================================================== */
/* breadcrumb + page head (desktop) */
.crumbs{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);font-weight:500;white-space:nowrap;flex-wrap:wrap;}
.crumbs a:hover{color:var(--accent-ink);}
.crumbs i{font-style:normal;color:var(--accent);font-size:11px;flex:none;}
.crumbs .cur{color:var(--ink);font-weight:600;}
.page-head{background:var(--paper);padding:40px 0 44px;border-bottom:1px solid var(--line);}
.page-head-in{padding:0 48px;}
.page-head h1{font-size:52px;line-height:1.06;font-weight:800;letter-spacing:-.02em;margin-top:20px;max-width:760px;}
.page-head h1 em{font-style:normal;font-weight:800;background:linear-gradient(180deg,transparent 60%,rgba(184,145,90,.35) 60%);padding:0 2px;}
.page-head .lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:560px;margin-top:18px;}
.page-head .overline{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

/* generic section (desktop) */
.sec{padding:72px 0;}
.sec-in{padding:0 48px;}
.sec-head{max-width:680px;margin-bottom:36px;}
.sec-head .overline{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.sec-head h2{font-size:40px;line-height:1.1;font-weight:800;letter-spacing:-.02em;margin-top:14px;}
.sec-head h2 em{font-style:normal;font-weight:800;background:linear-gradient(180deg,transparent 60%,rgba(184,145,90,.35) 60%);padding:0 2px;}
.sec-head p{font-size:16.5px;line-height:1.6;color:var(--muted);margin-top:14px;}
.caps-head{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);}

/* dark reusable CTA band (desktop) */
.cta-band{background:var(--ink);color:var(--white);}
.cta-band-in{padding:64px 48px;display:flex;align-items:center;justify-content:space-between;gap:48px;}
.cta-band h2{font-size:38px;line-height:1.1;font-weight:800;letter-spacing:-.02em;max-width:560px;}
.cta-band h2 em{font-style:normal;color:var(--accent);}
.cta-band p{font-size:16px;color:rgba(255,255,255,.6);margin-top:16px;max-width:500px;line-height:1.6;}
.cta-band-actions{display:flex;flex-direction:column;gap:14px;flex:none;align-items:stretch;min-width:300px;}
.cta-band-actions .btn-calc{justify-content:flex-start;}
.cta-band-actions .row{display:flex;align-items:center;gap:14px;}
.cta-band-actions .row .du-call{font-size:14px;}

/* mobile page head */
.m-page-head{background:var(--paper);padding:24px 20px 28px;border-bottom:1px solid var(--line);}
.m-page-head .crumbs{font-size:12px;}
.m-page-head h1{font-size:32px;line-height:1.1;font-weight:800;letter-spacing:-.02em;margin-top:14px;}
.m-page-head h1 em{font-style:normal;font-weight:800;background:linear-gradient(180deg,transparent 60%,rgba(184,145,90,.35) 60%);padding:0 2px;}
.m-page-head .lead{font-size:15.5px;line-height:1.55;color:var(--muted);margin-top:14px;}
.m-page-head .overline{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

/* mobile generic section */
.m-sec{padding:44px 20px;}
.m-sec-head{margin-bottom:24px;}
.m-sec-head .overline{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.m-sec-head h2{font-size:27px;line-height:1.15;font-weight:800;letter-spacing:-.02em;margin-top:12px;}
.m-sec-head h2 em{font-style:normal;font-weight:800;background:linear-gradient(180deg,transparent 60%,rgba(184,145,90,.35) 60%);padding:0 2px;}
.m-sec-head p{font-size:15px;line-height:1.55;color:var(--muted);margin-top:12px;}

/* mobile dark cta band */
.m-cta-band{background:var(--ink);color:var(--white);padding:40px 20px;}
.m-cta-band h2{font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.02em;}
.m-cta-band h2 em{font-style:normal;color:var(--accent);}
.m-cta-band p{font-size:15px;color:rgba(255,255,255,.6);margin-top:14px;line-height:1.55;}
.m-cta-band .btn-calc{width:100%;justify-content:center;height:58px;margin-top:22px;}

/* image-slot default look inside artboards */
image-slot{display:block;background:#EFEDE8;}

/* ════════════════════════════════════════════════════════
   REMONT — стили главной страницы (блоки 02–24)
   Требует: remont-tokens.css + remont-site.css
   ════════════════════════════════════════════════════════ */

/* ============ HERO DESKTOP (из v2) ============ */
.d-hero{background:var(--paper);padding:72px 0 88px;}
.d-hero-in{display:grid;grid-template-columns:55% 45%;align-items:center;padding:0 48px;}
.d-overline{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;}
.d-h1{font-size:64px;line-height:1.05;font-weight:800;letter-spacing:-.02em;margin-top:24px;max-width:640px;}
.d-h1 em{font-style:normal;font-weight:800;color:var(--ink);background:linear-gradient(180deg,transparent 60%,rgba(184,145,90,.35) 60%);padding:0 2px;}
.d-sub{font-size:18px;line-height:1.6;color:var(--muted);font-weight:400;max-width:480px;margin-top:24px;}
.d-price{display:flex;align-items:baseline;gap:14px;margin-top:32px;}
.d-price .from{font-size:14px;color:var(--muted);font-weight:450;}
.d-price .num{font-weight:800;letter-spacing:-.02em;font-size:52px;line-height:1;color:var(--ink);white-space:nowrap;}
.d-price .note{font-size:13px;color:var(--muted);max-width:130px;line-height:1.45;}
.d-cta-row{display:flex;align-items:center;gap:36px;margin-top:32px;}
.d-link-works{font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex:none;border-bottom:2px solid var(--accent);padding-bottom:4px;transition:color .18s ease;}
.d-link-works:hover{color:var(--accent-ink);}
.d-trust{display:flex;align-items:stretch;margin-top:40px;border-top:1px solid var(--line);padding-top:28px;max-width:640px;}
.d-trust li{flex:1;padding:0 28px;}
.d-trust li:first-child{padding-left:0;}
.d-trust li + li{border-left:1px solid var(--line);}
.d-trust .n{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;}
.d-trust .n em{font-style:normal;color:var(--accent);}
.d-trust .t{display:block;font-size:13px;color:var(--muted);line-height:1.45;margin-top:8px;font-weight:500;}
.d-hero-right{position:relative;}
.d-hero-right::before{content:"";position:absolute;inset:-36px -16px -36px 16px;border-radius:24px;background-image:radial-gradient(rgba(22,24,29,.10) 1.5px,transparent 1.5px);background-size:22px 22px;}

/* hero docs mockup */
.docs-card{position:relative;background:var(--white);border-radius:16px;box-shadow:0 20px 60px rgba(22,24,29,.10);transform:rotate(-1deg);height:620px;margin-left:24px;}
.sheet{position:absolute;border-radius:4px;}
.sheet-smeta{width:300px;height:400px;top:104px;left:260px;background:var(--white);border:1px solid rgba(22,24,29,.12);transform:rotate(5deg);box-shadow:0 10px 30px rgba(22,24,29,.10);padding:24px 22px;}
.smeta-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.smeta-sub{font-size:10px;color:var(--muted);margin-top:4px;}
.smeta-table{margin-top:18px;border-top:1px solid rgba(22,24,29,.14);}
.smeta-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(22,24,29,.10);padding:9px 0;}
.smeta-row span{font-size:10px;color:var(--muted);}
.smeta-row i{display:block;height:5px;border-radius:3px;background:rgba(22,24,29,.10);font-style:normal;}
.smeta-stamp{position:absolute;right:14px;bottom:18px;transform:rotate(-12deg);opacity:.25;}
.sheet-plan{width:330px;height:440px;top:130px;left:60px;background:#FDFCFA;border:1px solid rgba(22,24,29,.12);box-shadow:0 12px 34px rgba(22,24,29,.12);padding:20px;}
.sheet-folder{width:360px;height:250px;top:24px;left:130px;background:#F1EADD;border-radius:6px;transform:rotate(-6deg);box-shadow:0 14px 36px rgba(22,24,29,.16);display:flex;align-items:center;justify-content:center;}
.sheet-folder::before{content:"";position:absolute;inset:12px;border:1px solid var(--accent);border-radius:3px;opacity:.7;}
.sheet-folder::after{content:"";position:absolute;top:-10px;left:24px;width:110px;height:12px;background:#F1EADD;border-radius:5px 5px 0 0;}
.folder-emboss{text-align:center;}
.folder-emboss b{display:block;font-size:14px;font-weight:700;letter-spacing:.22em;color:#A08A66;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.8);}
.folder-emboss span{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;color:#B3A185;margin-top:8px;}
.docs-pen{position:absolute;right:28px;top:400px;transform:rotate(38deg);z-index:2;}
.docs-badge{position:absolute;left:-26px;bottom:42px;z-index:3;background:var(--white);border-radius:12px;box-shadow:0 12px 36px rgba(22,24,29,.16);border:1px solid rgba(22,24,29,.06);padding:14px 20px 14px 16px;display:flex;align-items:center;gap:12px;transform:rotate(var(--rot,1deg));}
.docs-badge.b2{left:auto;right:-20px;top:88px;bottom:auto;}
.docs-badge.b3{left:-20px;top:200px;bottom:auto;}
.docs-badge .sub{display:block;font-size:11.5px;color:var(--muted);font-weight:500;margin-top:2px;}
@keyframes badgeFloat{0%,100%{transform:translateY(0) rotate(var(--rot,1deg));}50%{transform:translateY(-7px) rotate(var(--rot,1deg));}}
@media (prefers-reduced-motion: no-preference){
  .docs-badge{animation:badgeFloat 4.5s ease-in-out infinite;}
  .docs-badge.b2{animation-duration:5.2s;animation-delay:-1.8s;}
  .docs-badge.b3{animation-duration:5.8s;animation-delay:-3.1s;}
  .m-docs-badge{animation:badgeFloat 4.8s ease-in-out infinite;}
  .m-docs-badge.b2{animation-duration:5.5s;animation-delay:-2.2s;}
}
.docs-badge .check{width:32px;height:32px;border-radius:50%;flex:none;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;}
.docs-badge-text{display:flex;flex-direction:column;gap:2px;}
.docs-badge b{display:block;font-size:13px;font-weight:600;}
.docs-badge .sum{font-weight:800;letter-spacing:-.01em;font-size:19px;line-height:1.15;color:var(--ink);}

/* ============ HERO MOBILE (из v2) ============ */
.m-hero{background:var(--paper);padding:40px 20px 48px;}
.m-overline{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;}
.m-h1{font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.02em;margin-top:16px;}
.m-h1 em{font-style:normal;font-weight:800;color:var(--ink);background:linear-gradient(180deg,transparent 60%,rgba(184,145,90,.35) 60%);padding:0 2px;}
.m-sub{font-size:16px;line-height:1.55;color:var(--muted);margin-top:16px;}
.m-price{display:flex;align-items:baseline;gap:10px;margin-top:24px;flex-wrap:wrap;}
.m-price .from{font-size:13px;color:var(--muted);}
.m-price .num{font-weight:800;letter-spacing:-.02em;font-size:38px;line-height:1;white-space:nowrap;}
.m-price .note{font-size:12px;color:var(--muted);width:100%;}
.m-hero .btn-calc{width:100%;justify-content:center;height:58px;margin-top:24px;}
.m-trust{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:16px;}
.m-trust li{display:flex;flex-direction:column;gap:6px;}
.m-trust .n{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1;}
.m-trust .n em{font-style:normal;color:var(--accent);}
.m-trust .t{font-size:11.5px;color:var(--muted);line-height:1.4;font-weight:500;}
.m-ticker{background:var(--ink);padding:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;}
.m-ticker span{color:var(--white);font-weight:700;font-size:13px;white-space:nowrap;}
.m-ticker i{width:5px;height:5px;background:var(--accent);transform:rotate(45deg);font-style:normal;flex:none;}
.m-docs{position:relative;background:var(--white);border-radius:16px;box-shadow:0 14px 40px rgba(22,24,29,.10);height:300px;margin-top:36px;transform:rotate(-1deg);}
.m-sheet-plan{position:absolute;width:200px;height:230px;top:44px;left:120px;background:#FDFCFA;border:1px solid rgba(22,24,29,.12);border-radius:4px;box-shadow:0 10px 26px rgba(22,24,29,.12);padding:12px;}
.m-sheet-folder{position:absolute;width:200px;height:140px;top:24px;left:26px;background:#F1EADD;border-radius:6px;transform:rotate(-6deg);box-shadow:0 12px 28px rgba(22,24,29,.16);display:flex;align-items:center;justify-content:center;}
.m-sheet-folder::before{content:"";position:absolute;inset:9px;border:1px solid var(--accent);border-radius:3px;opacity:.7;}
.m-sheet-folder b{font-size:10px;font-weight:700;letter-spacing:.2em;color:#A08A66;text-transform:uppercase;text-align:center;line-height:1.7;text-shadow:0 1px 0 rgba(255,255,255,.8);}
.m-docs-badge{position:absolute;left:14px;bottom:18px;z-index:3;background:var(--white);border-radius:12px;border:1px solid rgba(22,24,29,.06);box-shadow:0 10px 26px rgba(22,24,29,.16);padding:10px 16px 10px 12px;display:flex;align-items:center;gap:10px;transform:rotate(var(--rot,1deg));}
.m-docs-badge.b2{left:auto;right:10px;top:14px;bottom:auto;}
.m-docs-badge .check{width:26px;height:26px;border-radius:50%;border:1px solid var(--accent);flex:none;display:flex;align-items:center;justify-content:center;}
.m-docs-badge-text{display:flex;flex-direction:column;gap:2px;}
.m-docs-badge b{display:block;font-size:12px;font-weight:600;}
.m-docs-badge .sum{font-weight:800;letter-spacing:-.01em;font-size:16px;line-height:1.15;}

/* ════════ ОБЩИЕ ПРИМИТИВЫ ГЛАВНОЙ ════════ */
/* секции */
.sec--white{background:var(--white);}
.sec--paper{background:var(--paper);}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px;}
.sec-head-row .sec-head{margin-bottom:0;}

/* карусель */
.car-vp{overflow:hidden;}
.car-track{display:flex;transition:transform var(--car-dur) var(--car-ease);}
.car-item{flex:none;}
/* ── единая анимация переключения слайдов (desktop + mobile) ── */
.car-track,.m-scroll{--car-dur:.62s;--car-ease:cubic-bezier(.52,.02,.16,1);}
.car-track.is-anim > .car-item{animation:carSlideIn var(--car-dur) var(--car-ease) both;animation-delay:calc(max(0,var(--car-i,0)) * 70ms);}
.m-scroll.is-anim > *{animation:carSlideInM .54s cubic-bezier(.34,1.3,.64,1) both;animation-delay:calc(max(0,var(--car-i,0)) * 55ms);}
@keyframes carSlideIn{from{opacity:.32;transform:translateY(14px) scale(.984);}to{opacity:1;transform:none;}}
@keyframes carSlideInM{from{opacity:.3;transform:scale(.9);}to{opacity:1;transform:none;}}
.car-ctl{display:flex;align-items:center;gap:12px;flex:none;}
.car-count{font-size:14px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;min-width:64px;text-align:center;}
.car-ctl .iconbtn:disabled{opacity:.35;cursor:default;border-color:var(--line);color:var(--ink);}
/* мобильная scroll-карусель */
.m-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;scroll-padding-right:20px;padding-bottom:8px;margin:0 -20px;padding-left:20px;padding-right:20px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;}
/* скроллбар скрыт — навигация идёт счётчиком + стрелками (.m-ctl) */
.m-scroll::-webkit-scrollbar{display:none;width:0;height:0;}
.m-scroll > *{scroll-snap-align:start;flex:none;}
.m-hint{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:14px;}
.m-hint svg{flex:none;}
.m-ctl{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;}
.m-ctl .iconbtn{width:44px;height:44px;}

/* кнопка play */
.play-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(22,24,29,.55);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;transition:background .18s ease,transform .18s ease;z-index:2;}
a:hover > .play-btn,.vid-card:hover .play-btn{background:var(--cta);transform:translate(-50%,-50%) scale(1.06);}
.play-btn--sm{width:48px;height:48px;}
.dur-badge{position:absolute;right:12px;top:12px;z-index:2;background:rgba(22,24,29,.7);color:var(--white);font-size:12px;font-weight:700;padding:5px 10px;border-radius:6px;font-variant-numeric:tabular-nums;backdrop-filter:blur(4px);}

/* строка с чек-иконкой */
.check-row{display:flex;align-items:flex-start;gap:14px;}
.check-row .ck{width:28px;height:28px;border-radius:50%;border:1px solid var(--accent);flex:none;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.check-row b{display:block;font-size:15.5px;font-weight:700;line-height:1.35;}
.check-row p{font-size:14px;line-height:1.55;color:var(--muted);margin-top:4px;}
.on-dark .check-row b{color:var(--white);}
.on-dark .check-row p{color:rgba(255,255,255,.6);}

/* мини-форма (имя+телефон+кнопка) */
.lead-form .form-row{display:flex;gap:12px;}
.lead-form .form-row .input{flex:1;min-width:0;}
.lead-form .btn-cta{padding:0 28px;height:52px;flex:none;}
.agree{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:12.5px;color:var(--muted);line-height:1.5;}
.agree .box{width:18px;height:18px;border-radius:5px;border:1px solid var(--accent);background:var(--accent);flex:none;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:1px;}
.agree .box.off{background:transparent;}
.agree .box.off svg{opacity:0;}
.agree a,.agree .pol{color:var(--accent-ink);border-bottom:1px dashed rgba(184,145,90,.6);cursor:pointer;}
.on-dark .agree{color:rgba(255,255,255,.55);}
.on-dark .agree .pol{color:var(--accent);}
.form-success{display:flex;align-items:center;gap:12px;background:rgba(127,200,164,.14);border:1px solid rgba(127,200,164,.5);border-radius:var(--r-m);padding:14px 18px;font-size:14px;font-weight:600;color:#2E6B4F;line-height:1.45;}
.on-dark .form-success{color:#9FD9BD;background:rgba(127,200,164,.10);}

/* стилизованный документ (смета/договор) */
.doc-sheet{position:relative;background:var(--white);border:1px solid rgba(22,24,29,.12);border-radius:4px;box-shadow:0 12px 34px rgba(22,24,29,.12);padding:28px 26px;}
.doc-cap{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.doc-sub{font-size:10.5px;color:var(--muted);margin-top:4px;}
.doc-rows{margin-top:18px;border-top:1px solid rgba(22,24,29,.14);}
.doc-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(22,24,29,.10);padding:10px 0;}
.doc-row i{display:block;height:5px;border-radius:3px;background:rgba(22,24,29,.10);font-style:normal;}
.doc-row span{font-size:10.5px;color:var(--muted);}
.doc-sign{display:flex;align-items:flex-end;justify-content:space-between;margin-top:22px;}
.doc-sign .ln{width:110px;}
.doc-sign .ln i{display:block;height:1px;background:rgba(22,24,29,.35);font-style:normal;}
.doc-sign .ln span{display:block;font-size:9px;color:var(--muted);margin-top:5px;}

/* пульсирующий хотспот */
@keyframes hsPulse{0%{box-shadow:0 0 0 0 rgba(184,145,90,.45);}70%{box-shadow:0 0 0 14px rgba(184,145,90,0);}100%{box-shadow:0 0 0 0 rgba(184,145,90,0);}}

/* ════════ 03 · ПОРТФОЛИО (examples) ════════ */
.ex-slide{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;}
.ex-photo{position:relative;min-height:480px;display:flex;flex-direction:column;}
.ex-main{position:relative;flex:1;min-height:0;}
.ex-main image-slot{position:absolute;inset:0;width:100%;height:100%;}
.ex-thumbs{flex:none;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;height:88px;margin-top:4px;}
.ex-thumbs image-slot{display:block;width:100%;height:100%;}
.ex-main .ex-count{position:absolute;left:16px;bottom:16px;z-index:2;background:rgba(22,24,29,.7);color:var(--white);backdrop-filter:blur(4px);font-size:12.5px;font-weight:700;padding:8px 14px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;}
.ex-info{padding:40px 44px;display:flex;flex-direction:column;}
.ex-info h3{font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.01em;}
.ex-params{margin-top:24px;border-top:1px solid var(--line);}
.ex-param{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.ex-param span{color:var(--muted);font-weight:500;flex:none;}
.ex-param b{font-weight:700;text-align:right;}
.ex-desc{margin-top:20px;font-size:14.5px;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
.ex-info .link-accent{margin-top:auto;padding-top:24px;align-self:flex-start;border-bottom-width:0;}
.ex-info .link-accent span:last-child{color:var(--accent-ink);}

/* ════════ 04 · ВИДЕО-ОБЗОРЫ (reviews2) ════════ */
.sec--ink{background:var(--ink);color:var(--white);}
.sec--ink .sec-head h2{color:var(--white);}
.sec--ink .sec-head h2 em{background:none;color:var(--accent);}
.sec--ink .sec-head p{color:rgba(255,255,255,.6);}
.sec--ink .sec-head .overline{color:rgba(255,255,255,.5);}
.vr-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:repeat(2,272px);gap:20px;}
.vid-card{position:relative;border-radius:var(--r-l);overflow:hidden;display:block;background:#22242B;}
.vid-card image-slot{position:absolute;inset:0;width:100%;height:100%;}
.vid-card--feat{grid-row:1 / span 2;}
.vid-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:48px 20px 18px;background:linear-gradient(180deg,transparent,rgba(22,24,29,.85));}
.vid-caption b{display:block;font-size:17px;font-weight:700;color:var(--white);}
.vid-caption span{display:block;font-size:13px;color:rgba(255,255,255,.65);margin-top:4px;}

/* ════════ 05 · ВИДЕО С ОБЪЕКТОВ (our-works) ════════ */
.wk-item{width:calc((100% - 48px)/3);margin-right:24px;}
.wk-poster{position:relative;border-radius:var(--r-l);overflow:hidden;height:480px;background:#EFEDE8;display:block;}
.wk-poster image-slot{position:absolute;inset:0;width:100%;height:100%;}
.wk-item h3{font-size:17px;font-weight:700;line-height:1.35;margin-top:16px;}
.wk-item p{font-size:13.5px;line-height:1.55;color:var(--muted);margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ════════ 06 · КВИЗ ════════ */
.qz-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-card);display:grid;grid-template-columns:1fr 340px;overflow:hidden;position:relative;}
.qz-main{padding:36px 44px 40px;position:relative;min-height:520px;display:flex;flex-direction:column;}
.qz-prog{margin-bottom:32px;}
.qz-prog-track{height:6px;border-radius:3px;background:rgba(22,24,29,.08);overflow:hidden;}
.qz-prog-fill{height:100%;border-radius:3px;background:var(--accent);width:17%;transition:width .4s var(--ease-out);}
.qz-prog-text{font-size:12.5px;font-weight:600;color:var(--muted);margin-top:10px;font-variant-numeric:tabular-nums;}
.qz-step{display:none;flex:1;flex-direction:column;}
.qz-step.active{display:flex;}
.qz-qnum{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);}
.qz-step h3{font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.01em;margin-top:12px;}
.qz-answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px;}
.qz-ans{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(22,24,29,.16);border-radius:var(--r-l);cursor:pointer;font-size:15px;font-weight:600;line-height:1.35;transition:border-color .15s ease,background .15s ease;background:var(--white);text-align:left;}
.qz-ans:hover{border-color:var(--accent);}
.qz-ans .rad{width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(22,24,29,.25);flex:none;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease;}
.qz-ans .rad i{width:10px;height:10px;border-radius:50%;background:var(--accent);font-style:normal;transform:scale(0);transition:transform .15s ease;}
.qz-ans.checked{border-color:var(--accent);background:var(--accent-tint);}
.qz-ans.checked .rad{border-color:var(--accent);}
.qz-ans.checked .rad i{transform:scale(1);}
.qz-nav{display:flex;align-items:center;gap:20px;margin-top:auto;padding-top:32px;}
.qz-back{background:none;border:none;font-size:14.5px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:8px;padding:8px 0;}
.qz-back:hover{color:var(--ink);}
.qz-next{margin-left:auto;}
.qz-next:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;}
.qz-hint{font-size:12.5px;color:var(--muted);display:none;}
.qz-nav.show-hint .qz-hint{display:block;}
/* финал */
.qz-final-cap{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);}
.qz-tabs{display:flex;gap:10px;margin-top:24px;}
.qz-tab{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid rgba(22,24,29,.16);background:var(--white);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease;}
.qz-tab.active{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink);}
.qz-form{display:flex;flex-direction:column;gap:12px;margin-top:18px;max-width:420px;}
.qz-bonus{margin-top:26px;border-top:1px solid var(--line);padding-top:20px;}
.qz-bonus p.cap{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.qz-bonus ul{display:flex;flex-direction:column;gap:10px;}
.qz-bonus li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;}
.qz-bonus li svg{flex:none;}
/* финал — две колонки: форма слева, бонусы справа */
.qz-final-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(280px,1fr);gap:40px;align-items:start;}
.qz-bonus2{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px 8px;}
.qz-bonus2 .cap{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.qz-bonus-item{display:flex;align-items:center;gap:14px;padding:12px 0;}
.qz-bonus-item + .qz-bonus-item{border-top:1px solid var(--line);}
.qz-bonus-thumb{width:52px;height:52px;border-radius:10px;overflow:hidden;flex:none;border:1px solid var(--line);background:var(--white);}
.qz-bonus-thumb image-slot{display:block;width:100%;height:100%;}
.qz-bonus-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.qz-bonus-txt b{font-size:14px;font-weight:700;line-height:1.3;}
.qz-bonus-txt span{font-size:12.5px;color:var(--muted);line-height:1.4;}
/* прелоадер */
.qz-loader{position:absolute;inset:0;background:rgba(255,255,255,.96);z-index:5;display:none;align-items:center;justify-content:center;flex-direction:column;gap:18px;}
.qz-loader.active{display:flex;}
.qz-loader .spin{width:44px;height:44px;border-radius:50%;border:3px solid rgba(184,145,90,.25);border-top-color:var(--accent);animation:rmSpin .8s linear infinite;}
.qz-loader p{font-size:15px;font-weight:600;color:var(--muted);}
/* сайдбар квиза */
.qz-side{background:var(--ink);color:var(--white);padding:32px 28px;display:flex;flex-direction:column;}
.qz-side-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#9FD9BD;letter-spacing:.06em;text-transform:uppercase;}
.qz-person{display:flex;align-items:center;gap:14px;margin-top:22px;}
.qz-avatar{width:54px;height:54px;border-radius:50%;background:var(--accent-tint-strong);border:1px solid rgba(184,145,90,.5);color:var(--accent);font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;flex:none;}
.qz-person b{display:block;font-size:15px;font-weight:700;}
.qz-person span{display:block;font-size:12.5px;color:rgba(255,255,255,.55);margin-top:3px;}
.qz-side-hint{font-size:14px;line-height:1.6;color:rgba(255,255,255,.7);margin-top:20px;}
.qz-side-hint b{color:var(--white);}
.qz-side-div{height:1px;background:rgba(255,255,255,.12);margin:24px 0;}
.qz-side .cap{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
.qz-side ul{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
.qz-side li{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.8);}
.qz-side li svg{flex:none;}
.qz-side-note{margin-top:auto;padding-top:24px;font-size:12px;color:rgba(255,255,255,.4);line-height:1.6;}

/* ════════ 07 · ЦЕННОСТИ ════════ */
.vl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.vl-card{background:var(--ink);color:var(--white);border-radius:var(--r-xl);padding:32px 28px 36px;position:relative;overflow:hidden;}
.vl-card .num{font-size:52px;font-weight:800;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(184,145,90,.7);line-height:1;}
.vl-card b{display:block;font-size:19px;font-weight:700;line-height:1.35;margin-top:20px;}
.vl-card p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.6);margin-top:12px;}
.vl-foot{margin-top:32px;display:flex;align-items:center;gap:14px;font-size:15px;font-weight:600;}
.vl-foot .brass-dot{width:8px;height:8px;}

/* ════════ 08 · ПАРТНЁРЫ / ЖК — логотипы на белых чипах, тёмная тематическая лента ════════
   (CSS-инверсия в белый ломала логотипы со сплошной заливкой — превращала их в белые
   квадраты; поэтому показываем реальные лого на белых чипах на тёмном фоне секции.) */
.pn-marquee{overflow:hidden;}
.pn-loop{position:relative;margin-top:12px;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);}
.pn-loop-track{display:flex;align-items:center;gap:26px;width:max-content;animation:pnScroll 48s linear infinite;will-change:transform;}
.pn-loop:hover .pn-loop-track{animation-play-state:paused;}
.pn-logo{flex:none;display:flex;align-items:center;justify-content:center;height:66px;width:158px;background:#fff;border-radius:14px;padding:14px 20px;box-shadow:0 12px 26px -14px rgba(0,0,0,.6);transition:transform .2s ease;}
.pn-logo:hover{transform:translateY(-2px);}
.pn-logo img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;}
@keyframes pnScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){
  .pn-loop-track{animation:none;flex-wrap:wrap;justify-content:center;gap:18px;width:auto;}
  .pn-loop{-webkit-mask-image:none;mask-image:none;}
  .pn-logo[aria-hidden="true"]{display:none;}
}

/* ════════ 09 · ЭТАПЫ (reply) ════════ */
.st-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.st-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;position:relative;}
.st-card .num{font-size:14px;font-weight:800;color:var(--accent-ink);letter-spacing:.08em;}
.st-card .num::before{content:"";display:inline-block;width:24px;height:1px;background:var(--accent);vertical-align:middle;margin-right:10px;}
.st-card b{display:block;font-size:17px;font-weight:700;line-height:1.35;margin-top:16px;text-transform:none;}
.st-card p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px;}

/* ════════ 10 · ГАРАНТИИ (warranty) ════════ */
.wr-panel{background:var(--ink);border-radius:var(--r-xl);color:var(--white);padding:56px;position:relative;overflow:hidden;}
.wr-panel h2{font-size:36px;line-height:1.15;font-weight:800;letter-spacing:-.02em;max-width:620px;}
.wr-panel h2 em{font-style:normal;color:var(--accent);}
.wr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;margin-top:40px;max-width:760px;}
.wr-panel .wr-doc{position:absolute;right:48px;top:50%;transform:translateY(-46%) rotate(3deg);width:300px;}
.wr-doc .doc-sheet{padding:24px 22px;}
.wr-sheet-wrap{position:relative;}
.wr-snaps{display:flex;gap:12px;margin-top:18px;}
.wr-snap{flex:1;min-width:0;background:var(--white);border:1px solid rgba(22,24,29,.12);border-radius:4px;box-shadow:0 12px 28px rgba(22,24,29,.28);padding:5px 5px 7px;}
.wr-snap image-slot{display:block;width:100%;height:86px;border-radius:2px;}
.wr-snap > span{display:block;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wr-snap--plan{transform:rotate(-2deg);}
.wr-snap--photo{transform:rotate(1.2deg);}

/* ════════ 11 · ЮР. ЗАЩИТА (garant) ════════ */
.gr-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;}
.gr-doc-zone{position:relative;padding:32px 0;}
.gr-doc-zone::before{content:"";position:absolute;inset:-20px;border-radius:24px;background-image:radial-gradient(rgba(22,24,29,.10) 1.5px,transparent 1.5px);background-size:22px 22px;}
.gr-doc-zone .doc-sheet{transform:rotate(-2deg);max-width:380px;margin:0 auto;}
.gr-badge{position:absolute;right:8px;bottom:8px;z-index:2;background:var(--white);border-radius:12px;border:1px solid rgba(22,24,29,.06);box-shadow:var(--shadow-float);padding:12px 18px 12px 14px;display:flex;align-items:center;gap:10px;transform:rotate(1.5deg);}
.gr-badge b{display:block;font-size:13px;font-weight:700;}
.gr-badge span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;}
.gr-list{display:flex;flex-direction:column;gap:24px;margin-top:32px;}

/* ════════ 12 · УСЛУГИ ════════ */
.sv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.sv-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s ease,transform .18s ease;}
.sv-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px);}
.sv-img{height:170px;position:relative;background:#EFEDE8;}
.sv-img image-slot{position:absolute;inset:0;width:100%;height:100%;}
.sv-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1;}
.sv-body b{font-size:16.5px;font-weight:700;line-height:1.3;}
.sv-body p{font-size:13.5px;line-height:1.5;color:var(--muted);margin-top:8px;}
.sv-price{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--accent-ink);margin-top:14px;font-variant-numeric:tabular-nums;}
.sv-price.none{color:var(--muted);font-size:13px;font-weight:500;}
.sv-body .btn{margin-top:auto;width:100%;}
.sv-body .btn-outline-accent{margin-top:16px;padding:12px 16px;font-size:14px;}
.sv-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:13.5px;font-weight:700;color:var(--accent-ink);transition:gap .18s ease;}
.sv-link:hover{gap:10px;}
.sv-link span[aria-hidden]{transition:transform .18s ease;}
.sv-link:hover span[aria-hidden]{transform:translateX(2px);}

/* ════════ 13 · ПРАЙС-ЛИСТ ════════ */
.dp-band{background:var(--ink);border-radius:var(--r-xl);color:var(--white);padding:56px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative;overflow:hidden;}
.dp-band h2{font-size:34px;line-height:1.15;font-weight:800;letter-spacing:-.02em;}
.dp-band h2 em{font-style:normal;color:var(--accent);}
.dp-band .lead-in{font-size:15px;line-height:1.6;color:rgba(255,255,255,.6);margin-top:18px;max-width:440px;}
.dp-form{background:var(--white);border-radius:var(--r-xl);padding:28px;color:var(--ink);}
.dp-form .fld-label{margin-top:14px;}
.dp-form .fld-label:first-child{margin-top:0;}
.dp-select{position:relative;}
.dp-select select{appearance:none;width:100%;height:52px;border-radius:var(--r-m);border:1px solid rgba(22,24,29,.18);background:var(--white);padding:0 42px 0 16px;font-family:var(--font);font-size:15px;color:var(--ink);outline:none;cursor:pointer;}
.dp-select select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(184,145,90,.18);}
.dp-select svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;}
.dp-form .btn-cta{width:100%;margin-top:16px;padding:16px 24px;}
/* CTA-вариант секции прайса: вместо инлайн-формы — карточка, открывающая попап ovLead */
.dp-cta{display:flex;flex-direction:column;}
.dp-cta-doc{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid rgba(22,24,29,.10);}
.dp-cta-ic{width:48px;height:48px;border-radius:12px;background:var(--accent-tint);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex:none;}
.dp-cta-doc-tx b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em;}
.dp-cta-doc-tx span{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;}
.dp-cta-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin:18px 0 0;padding:0;}
.dp-cta-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:500;line-height:1.4;}
.dp-cta-ck{width:22px;height:22px;border-radius:50%;border:1px solid var(--accent);flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.dp-cta .btn-cta{margin-top:22px;}
.dp-cta-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:14px;text-align:center;}

/* ════════ 14 · ПРИНЦИПЫ (reasons) ════════ */
.rs-wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:start;}
.rs-info{position:sticky;top:140px;}
.rs-info h2{font-size:38px;line-height:1.12;font-weight:800;letter-spacing:-.02em;}
.rs-info h2 em{font-style:normal;font-weight:800;background:linear-gradient(180deg,transparent 60%,rgba(184,145,90,.35) 60%);padding:0 2px;}
.rs-info .sub{font-size:17px;color:var(--muted);margin-top:18px;line-height:1.55;}
.rs-info .btn-calc{margin-top:28px;}
.rs-list{display:flex;flex-direction:column;gap:24px;}
.rs-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;display:grid;grid-template-columns:300px 1fr;}
.rs-img{position:relative;min-height:240px;background:#EFEDE8;}
.rs-img image-slot{position:absolute;inset:0;width:100%;height:100%;}
.rs-body{padding:28px 32px;position:relative;}
.rs-body .num{font-size:13px;font-weight:800;color:var(--accent-ink);letter-spacing:.08em;}
.rs-body .num::before{content:"";display:inline-block;width:24px;height:1px;background:var(--accent);vertical-align:middle;margin-right:10px;}
.rs-body b{display:block;font-size:20px;font-weight:700;letter-spacing:-.01em;margin-top:14px;}
.rs-body p{font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:10px;max-width:420px;}
.rs-body .link-accent{margin-top:18px;font-size:14px;}

/* ════════ 15 · КОНСУЛЬТАЦИЯ ════════ */
.cn-band{background:var(--ink);color:var(--white);}
.cn-in{padding:72px 48px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.cn-in h2{font-size:38px;line-height:1.12;font-weight:800;letter-spacing:-.02em;}
.cn-in h2 em{font-style:normal;color:var(--accent);}
.cn-in .sub{font-size:16px;color:rgba(255,255,255,.6);line-height:1.6;margin-top:18px;max-width:440px;}
.cn-msg{display:flex;align-items:center;gap:14px;margin-top:28px;}
.cn-msg p{font-size:14.5px;color:rgba(255,255,255,.7);}
.cn-msg p b{color:var(--white);}
.cn-msg .iconbtn{background:transparent;border-color:rgba(184,145,90,.5);color:var(--accent);}
.cn-msg .iconbtn:hover{border-color:var(--accent);background:rgba(184,145,90,.12);}
.cn-form-card{background:var(--white);border-radius:var(--r-xl);padding:32px;color:var(--ink);}
.cn-form-card .cap{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:18px;}
.cn-form-card .input + .input{margin-top:12px;}
.cn-form-card .btn-cta{width:100%;margin-top:14px;padding:16px 24px;}

/* ════════ 16 · КАК МЫ РАБОТАЕМ (house) ════════ */
.hs-stage{position:relative;border-radius:var(--r-xl);overflow:hidden;height:560px;background:#EFEDE8;}
.hs-stage > image-slot{position:absolute;inset:0;width:100%;height:100%;}
.hs-spot{position:absolute;z-index:3;}
.hs-plus{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--ink);border:2px solid var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;animation:hsPulse 2.4s infinite;}
.hs-tip{position:absolute;left:50%;top:calc(100% + 12px);width:280px;background:var(--white);border-radius:var(--r-l);box-shadow:var(--shadow-float);border:1px solid rgba(22,24,29,.06);padding:18px 20px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:4;}
.hs-spot:hover{z-index:5;}
.hs-spot:hover .hs-tip{opacity:1;visibility:visible;transform:none;}
.hs-spot.flip .hs-tip{left:auto;right:50%;}
.hs-spot.up .hs-tip{top:auto;bottom:calc(100% + 12px);}
.hs-tip b{display:block;font-size:15px;font-weight:700;line-height:1.35;}
.hs-tip p{font-size:13px;line-height:1.55;color:var(--muted);margin-top:6px;}

/* ════════ 17 · АУДИТ СМЕТЫ ════════ */
.sa-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
.sa-wrap .lead-form{margin-top:28px;max-width:560px;}
/* audit form: stack name + phone full-width (the side-by-side pair read as "очень узкие") */
.sa-wrap .lead-form .form-row{flex-direction:column;}
/* flex:none so the inputs keep their 52px height in a column (flex:1 / flex-basis:0
   collapsed them vertically — the "по высоте узкие" fields) */
.sa-wrap .lead-form .form-row .input{flex:none;width:100%;height:52px;}
.sa-wrap .lead-form .btn-cta{width:100%;margin-top:12px;}
.sa-doc-zone{position:relative;padding:24px 0;}
.sa-doc-zone::before{content:"";position:absolute;inset:-16px;border-radius:24px;background-image:radial-gradient(rgba(22,24,29,.10) 1.5px,transparent 1.5px);background-size:22px 22px;}
.sa-doc-zone .doc-sheet{transform:rotate(2deg);max-width:360px;margin:0 auto;}
.sa-badge{position:absolute;left:24px;top:8px;z-index:2;background:var(--cta);color:var(--white);border-radius:12px;box-shadow:var(--shadow-cta);padding:12px 18px;transform:rotate(-2deg);}
.sa-badge b{display:block;font-size:18px;font-weight:800;letter-spacing:-.01em;}
.sa-badge span{display:block;font-size:11px;opacity:.75;margin-top:2px;}
.sa-row-flag{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(22,24,29,.10);padding:10px 0;background:rgba(161,69,47,.06);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:4px;}
.sa-row-flag i{display:block;height:5px;border-radius:3px;background:rgba(161,69,47,.25);font-style:normal;}
.sa-row-flag span{font-size:10.5px;color:var(--error);font-weight:700;}

/* ════════ 18 · КОМАНДА ════════ */
.tm-item{width:calc((100% - 60px)/4);margin-right:20px;}
.tm-card{position:relative;border-radius:var(--r-l);overflow:hidden;height:380px;background:#EFEDE8;}
.tm-card image-slot{position:absolute;inset:0;width:100%;height:100%;}
.tm-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:56px 18px 16px;background:linear-gradient(180deg,transparent,rgba(22,24,29,.85));}
.tm-info b{display:block;font-size:17px;font-weight:700;color:var(--white);}
.tm-info span{display:block;font-size:12.5px;color:rgba(255,255,255,.65);margin-top:4px;line-height:1.45;}

/* ════════ 19 · FAQ ════════ */
.fq-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-items:start;}
.fq-col{display:flex;flex-direction:column;gap:12px;}
.fq-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;}
.fq-q{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;background:none;border:none;text-align:left;font-size:15.5px;font-weight:700;line-height:1.4;color:var(--ink);}
.fq-q .pl{width:30px;height:30px;border-radius:50%;border:1px solid var(--accent);color:var(--accent-ink);flex:none;display:flex;align-items:center;justify-content:center;margin-left:auto;transition:transform .25s ease,background .25s ease;}
.fq-item.open .fq-q .pl{transform:rotate(45deg);background:var(--accent);color:var(--ink);}
.fq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.fq-item.open .fq-a{max-height:300px;}
.fq-a p{padding:0 20px 20px 20px;font-size:14px;line-height:1.6;color:var(--muted);}
.fq-foot{display:flex;justify-content:center;margin-top:36px;}

/* ════════ 20 · КОНТАКТЫ ════════ */
.ct-wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:stretch;}
.ct-info{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);padding:36px 40px;}
.ct-row{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);}
.ct-row:first-of-type{padding-top:0;}
.ct-ic{width:40px;height:40px;border-radius:10px;background:var(--accent-tint);color:var(--accent-ink);flex:none;display:flex;align-items:center;justify-content:center;}
.ct-row .lbl{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.ct-row .val{display:block;font-size:15px;font-weight:600;line-height:1.5;margin-top:5px;}
.ct-row .val a:hover{color:var(--accent-ink);}
.ct-row .val small{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-top:2px;}
.ct-row .val small a.ct-wa{display:inline-flex;align-items:center;gap:6px;color:#1FA855;font-weight:700;font-size:13.5px;}
.ct-row .val small a.ct-wa:hover{color:#178043;}
.ct-row .val small a.ct-wa .ct-wa-ic{flex:none;}
.ct-soc{display:flex;align-items:center;gap:14px;padding-top:20px;}
.ct-soc p{font-size:13.5px;color:var(--muted);}
.ct-soc p b{color:var(--ink);}
.ct-soc-btns{display:flex;gap:10px;margin-left:auto;}
.ct-map{position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);background:#EBEAE6;min-height:520px;}
.ct-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(22,24,29,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,24,29,.06) 1px,transparent 1px);background-size:44px 44px;}
.ct-map-roads{position:absolute;inset:0;}
.ct-pin{position:absolute;left:50%;top:44%;transform:translate(-50%,-100%);z-index:2;display:flex;flex-direction:column;align-items:center;}
.ct-pin-card{background:var(--white);border-radius:var(--r-l);box-shadow:var(--shadow-float);padding:12px 18px;text-align:center;}
.ct-pin-card b{display:block;font-size:13.5px;font-weight:700;}
.ct-pin-card span{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;}
.ct-pin-leg{width:2px;height:18px;background:var(--ink);}
.ct-pin-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);border:2.5px solid var(--ink);}
.ct-map-link{position:absolute;left:20px;bottom:20px;z-index:2;background:var(--white);border-radius:var(--r-m);box-shadow:var(--shadow-float);padding:12px 18px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px;}
.ct-map-link:hover{color:var(--accent-ink);}
.ct-map-anno{position:absolute;right:16px;top:14px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9A9DA3;}

/* ════════ 21 · SEO-ТЕКСТ ════════ */
.seo-content{max-width:860px;position:relative;max-height:180px;overflow:hidden;}
.seo-content::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--white));pointer-events:none;}
.seo-open .seo-content{max-height:none;}
.seo-open .seo-content::after{display:none;}
.seo-open .seo-more{display:none;}
.seo-content h3{font-size:21px;font-weight:700;letter-spacing:-.01em;margin-top:32px;}
.seo-content h4{font-size:16.5px;font-weight:700;margin-top:24px;}
.seo-content h3:first-child{margin-top:0;}
.seo-content p{font-size:15px;line-height:1.7;color:var(--muted);margin-top:12px;}
.seo-content p b{color:var(--ink);}
.seo-content ul{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.seo-content li{font-size:15px;line-height:1.6;color:var(--muted);display:flex;gap:12px;}
.seo-content li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none;margin-top:9px;}
.seo-content li b{color:var(--ink);}
.seo-content hr{border:none;height:1px;background:var(--line);margin:32px 0 0;}
.seo-more{margin-top:24px;background:none;border:none;display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--accent-ink);border-bottom:1px dashed rgba(184,145,90,.6);padding:0 0 3px;}

/* ════════ 22/24 · ПЛАВАЮЩИЕ ВИДЖЕТЫ ════════ */
.fx-strip{background:#F4F4F6;padding:28px 48px;display:flex;align-items:center;gap:48px;}
.fx-side{display:flex;flex-direction:column;gap:8px;width:108px;}
.fx-side-btn{background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-float);padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;font-weight:600;text-align:center;line-height:1.3;cursor:pointer;transition:border-color .15s ease;}
.fx-side-btn:hover{border-color:var(--accent);}
.fx-side-btn .ic{width:34px;height:34px;border-radius:50%;background:var(--accent-tint);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;}
.fx-side-toggle{align-self:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--muted);display:flex;align-items:center;justify-content:center;}
.fx-top{width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--white);box-shadow:var(--shadow-float);display:flex;align-items:center;justify-content:center;border:none;}
.fx-top:hover{background:#2A2D35;}
.fx-note{font-size:12.5px;color:var(--muted);line-height:1.6;max-width:380px;}

/* ════════════════════════════════════════════
   МОБИЛЬНЫЕ ОВЕРРАЙДЫ (внутри .artboard.mobile)
   ════════════════════════════════════════════ */
.artboard.mobile .sec-head-row{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:22px;}
.artboard.mobile .car-ctl{display:none;}

/* тёмные секции в мобильном артборде */
.sec--ink .m-sec-head h2{color:var(--white);}
.sec--ink .m-sec-head h2 em{background:none;color:var(--accent);}
.sec--ink .m-sec-head p{color:rgba(255,255,255,.6);}
.sec--ink .m-sec-head .overline{color:rgba(255,255,255,.5);}

/* 03 портфолио mobile */
.artboard.mobile .ex-slide{display:flex;flex-direction:column;width:316px;}
.artboard.mobile .ex-photo{min-height:230px;}
.artboard.mobile .ex-thumbs{height:60px;}
.artboard.mobile .ex-info{padding:20px;}
.artboard.mobile .ex-info h3{font-size:17px;}
.artboard.mobile .ex-params{margin-top:14px;}
.artboard.mobile .ex-param{font-size:13px;padding:8px 0;}
.artboard.mobile .ex-desc{font-size:13px;-webkit-line-clamp:4;margin-top:12px;}
.artboard.mobile .ex-info .link-accent{padding-top:16px;font-size:13.5px;}

/* 04 видео mobile */
.artboard.mobile .vr-grid{display:flex;flex-direction:column;gap:12px;grid-template-rows:none;}
.artboard.mobile .vid-card{height:200px;}
.artboard.mobile .vid-card--feat{height:380px;}
.artboard.mobile .vr-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.artboard.mobile .vr-row2 .vid-card{height:180px;}

/* 05 работы mobile */
.artboard.mobile .wk-item{width:240px;margin-right:0;}
.artboard.mobile .wk-poster{height:340px;}
.artboard.mobile .wk-item h3{font-size:15px;margin-top:12px;}
.artboard.mobile .wk-item p{font-size:12.5px;}

/* 06 квиз mobile */
.artboard.mobile .qz-card{display:block;}
.artboard.mobile .qz-main{padding:24px 20px 28px;min-height:0;}
.artboard.mobile .qz-step h3{font-size:20px;}
.artboard.mobile .qz-answers{grid-template-columns:1fr;gap:10px;margin-top:20px;}
.artboard.mobile .qz-ans{padding:14px 16px;font-size:14px;}
.artboard.mobile .qz-nav{padding-top:24px;flex-wrap:wrap;}
.artboard.mobile .qz-side{padding:24px 20px;}
.artboard.mobile .qz-side-note{padding-top:18px;}
.artboard.mobile .qz-tabs{flex-wrap:wrap;}
.artboard.mobile .qz-form{max-width:none;}
.artboard.mobile .qz-final-grid{grid-template-columns:1fr;gap:0;}

/* 07 ценности mobile */
.artboard.mobile .vl-card{width:280px;}
.artboard.mobile .vl-card .num{font-size:40px;}
.artboard.mobile .vl-card b{font-size:16.5px;margin-top:14px;}

/* 08 партнёры mobile — чипы компактнее, лента чуть быстрее */
.artboard.mobile .pn-loop-track{gap:16px;animation-duration:32s;}
.artboard.mobile .pn-logo{height:52px;width:124px;padding:10px 14px;border-radius:12px;}

/* 09 этапы mobile */
.artboard.mobile .st-grid{grid-template-columns:1fr;gap:12px;}
.artboard.mobile .st-card{padding:20px;}

/* 10 гарантии mobile */
.artboard.mobile .wr-panel{padding:28px 22px;border-radius:var(--r-xl);}
.artboard.mobile .wr-panel h2{font-size:23px;}
.artboard.mobile .wr-grid{grid-template-columns:1fr;gap:18px;margin-top:24px;}
.artboard.mobile .wr-doc{position:static;transform:none;width:auto;margin-top:28px;}
.artboard.mobile .wr-doc .doc-sheet{transform:rotate(-1.5deg);}
.artboard.mobile .wr-snaps{margin-top:20px;}
.artboard.mobile .wr-snap image-slot{height:120px;}
.artboard.mobile .wr-snap--plan{transform:rotate(-1.2deg);}
.artboard.mobile .wr-snap--photo{transform:rotate(1deg);}
/* mobile: точечный фон не на весь блок .wr-doc (он становится full-width),
   а только под картинками (.wr-snaps), как и в остальных мокапах сайта */
.artboard.mobile .wr-doc.dots-wrap::before{display:none;}
.artboard.mobile .wr-snaps{position:relative;}
.artboard.mobile .wr-snaps::before{content:"";position:absolute;inset:-12px -8px;border-radius:14px;background-image:radial-gradient(rgba(255,255,255,.17) 1.5px,transparent 1.5px);background-size:20px 20px;pointer-events:none;z-index:0;}
.artboard.mobile .wr-snap{position:relative;z-index:1;}

/* 11 юр mobile */
.artboard.mobile .gr-wrap{display:flex;flex-direction:column;gap:40px;}
.artboard.mobile .gr-doc-zone{order:2;}
.artboard.mobile .gr-list{gap:18px;margin-top:22px;}

/* 12 услуги mobile */
.artboard.mobile .sv-grid{grid-template-columns:1fr;gap:14px;}
.artboard.mobile .sv-more .sv-card:nth-child(n+3){display:none;}
.artboard.mobile .sv-more.all .sv-card:nth-child(n+3){display:flex;}
.artboard.mobile .sv-foot{display:flex;justify-content:center;margin-top:22px;}
.artboard.mobile .sv-more.all + .sv-foot{display:none;}

/* 13 прайс mobile */
.artboard.mobile .dp-band{display:block;padding:28px 22px;}
.artboard.mobile .dp-band h2{font-size:23px;}
.artboard.mobile .dp-form{margin-top:46px;padding:20px;}

/* 14 принципы mobile */
.artboard.mobile .rs-wrap{display:flex;flex-direction:column;gap:28px;}
.artboard.mobile .rs-info{position:static;}
.artboard.mobile .rs-info h2{font-size:25px;}
.artboard.mobile .rs-info .sub{font-size:15px;}
.artboard.mobile .rs-info .btn-calc{width:100%;justify-content:center;}
.artboard.mobile .rs-card{display:flex;flex-direction:column;}
.artboard.mobile .rs-img{min-height:190px;}
.artboard.mobile .rs-body{padding:20px;}
.artboard.mobile .rs-body b{font-size:17px;}

/* 15 консультация mobile */
.artboard.mobile .cn-in{display:block;padding:44px 20px;}
.artboard.mobile .cn-in h2{font-size:25px;}
.artboard.mobile .cn-form-card{margin-top:28px;padding:22px 20px;}
.artboard.mobile .lead-form .form-row{flex-direction:column;}
.artboard.mobile .lead-form .btn-cta{width:100%;}
.artboard.mobile .cn-msg{flex-wrap:wrap;}
.artboard.mobile .cn-msg p{flex-basis:100%;}

/* 16 дом mobile */
.artboard.mobile .hs-stage{height:420px;}
.artboard.mobile .hs-plus{width:34px;height:34px;}
.artboard.mobile .hs-tip{width:210px;}
/* keep every marker inside the stage on mobile: anchor the dot by its centre,
   so high left%/top% (e.g. the bottom-right spot at left:92%) no longer overflow */
.artboard.mobile .hs-spot{transform:translate(-50%,-50%);}

/* 17 аудит mobile */
.artboard.mobile .sa-wrap{display:flex;flex-direction:column;gap:40px;}
.artboard.mobile .sa-doc-zone{order:2;}
.artboard.mobile .sa-wrap .lead-form{margin-top:22px;}

/* 18 команда mobile */
.artboard.mobile .tm-item{width:220px;margin-right:0;}
.artboard.mobile .tm-card{height:300px;}

/* 19 faq mobile */
.artboard.mobile .fq-cols{grid-template-columns:1fr;gap:0;}
.artboard.mobile .fq-col + .fq-col{margin-top:12px;display:none;}
.artboard.mobile .fq-wrap.all .fq-col + .fq-col{display:flex;}
.artboard.mobile .fq-more-wrap{display:flex;justify-content:center;margin-top:20px;}
.artboard.mobile .fq-wrap.all ~ .fq-more-wrap{display:none;}
.artboard.mobile .fq-q{font-size:14px;padding:15px 16px;gap:12px;}
.artboard.mobile .fq-a p{padding:0 16px 16px;font-size:13px;}

/* 20 контакты mobile */
.artboard.mobile .ct-wrap{display:flex;flex-direction:column;gap:14px;}
.artboard.mobile .ct-info{padding:22px 20px;}
.artboard.mobile .ct-map{min-height:320px;}
.artboard.mobile .ct-soc{flex-wrap:wrap;}
.artboard.mobile .ct-soc-btns{margin-left:0;width:100%;}

/* 21 seo mobile */
.artboard.mobile .seo-content{max-height:200px;}
.artboard.mobile .seo-content h3{font-size:17.5px;margin-top:24px;}
.artboard.mobile .seo-content h4{font-size:15px;}
.artboard.mobile .seo-content p,.artboard.mobile .seo-content li{font-size:13.5px;}

/* точечная подложка */
.dots-wrap{position:relative;}
.dots-wrap::before{content:"";position:absolute;inset:-22px;border-radius:20px;background-image:radial-gradient(rgba(22,24,29,.10) 1.5px,transparent 1.5px);background-size:22px 22px;pointer-events:none;}
.dots-wrap--dark::before{background-image:radial-gradient(rgba(255,255,255,.17) 1.5px,transparent 1.5px);}
.dots-wrap > *{position:relative;}

/* папка «проектная документация» */
.mini-folder{position:absolute;width:230px;height:138px;background:#F1EADD;border-radius:6px;transform:rotate(5deg);box-shadow:0 14px 36px rgba(22,24,29,.16);pointer-events:none;}
.mini-folder::before{content:"";position:absolute;inset:9px;border:1px solid var(--accent);border-radius:3px;opacity:.7;}
.mini-folder::after{content:"";position:absolute;top:-9px;left:20px;width:88px;height:11px;background:#F1EADD;border-radius:5px 5px 0 0;}
.mini-folder b{display:block;text-align:center;margin-top:15px;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#A08A66;text-shadow:0 1px 0 rgba(255,255,255,.8);white-space:nowrap;}
.mini-folder--sm{width:190px;height:112px;}
.mini-folder--sm b{margin-top:12px;font-size:8.5px;}

/* мини-план квартиры (поверх фото) */
.mini-plan{position:absolute;background:#FDFCFA;border:1px solid rgba(22,24,29,.12);border-radius:4px;box-shadow:0 12px 30px rgba(22,24,29,.18);padding:8px;pointer-events:none;}

/* плавающая плашка */
.tag-badge{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid rgba(22,24,29,.06);border-radius:12px;box-shadow:var(--shadow-float);padding:11px 16px 11px 13px;transform:rotate(var(--rot,1deg));pointer-events:none;}
.tag-badge .check{width:28px;height:28px;border-radius:50%;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;flex:none;}
.tag-badge b{display:block;font-size:12.5px;font-weight:600;line-height:1.2;color:var(--ink);}
.tag-badge .sum{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;}
.tag-badge .sub{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:1px;}
@media (prefers-reduced-motion: no-preference){.tag-badge{animation:badgeFloat 5s ease-in-out infinite;}}

/* overline вне sec-head: флекс + отступ точки */
p.overline{display:flex;align-items:center;gap:12px;}
.artboard.mobile p.overline{gap:10px;}

/* чип «обновлено» */
.upd-chip{display:inline-block;margin-top:16px;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--accent);background:rgba(184,145,90,.14);padding:5px 11px;border-radius:999px;text-transform:uppercase;}

/* номер объекта в портфолио */
.ex-num{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:12px;display:flex;align-items:center;gap:12px;}
.ex-num::after{content:"";height:1px;background:var(--line);flex:1;}

/* паспорт-строки в карточке услуги */
.sv-pass{margin-top:12px;border-top:1px solid var(--line);}
.sv-pass > div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);}
.sv-pass span{font-size:12.5px;color:var(--muted);font-weight:500;flex:none;}
.sv-pass b{font-size:13.5px;font-weight:700;text-align:right;}
.sv-pass b.brass{color:var(--accent-ink);font-size:14.5px;}

/* микро-документы в шагах */
.st-doc{margin-top:16px;border-top:1px dashed rgba(22,24,29,.18);padding-top:4px;}
.st-doc .doc-row{padding:7px 0;}
.st-doc .doc-row span{font-size:10px;}
.st-doc .doc-sign{margin-top:14px;}
.doc-sign .ln{position:relative;}
.sig-ink{position:absolute;left:2px;bottom:9px;pointer-events:none;}
/* signature columns inside the contract-step card: equal width, tops aligned,
   underline on one shared line, hand-drawn ink centred just above the line,
   labels forced to a single line so a long name can't push a column up. */
.st-doc .doc-sign{align-items:flex-start;gap:22px;}
.st-doc .doc-sign .ln{flex:1 1 0;width:auto;min-width:0;padding-top:26px;text-align:center;}
.st-doc .doc-sign .ln span{white-space:nowrap;}
.st-doc .sig-ink{left:50%;top:0;bottom:auto;transform:translateX(-50%);}
.st-stamp{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:2px;margin-top:16px;padding:7px 18px 6px;border:2.5px solid rgba(61,90,128,.78);border-radius:7px;color:rgba(61,90,128,.92);font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;transform:rotate(-4deg);-webkit-mask-image:radial-gradient(130% 110% at 28% 18%,#000 48%,rgba(0,0,0,.45) 72%,rgba(0,0,0,.9) 100%);mask-image:radial-gradient(130% 110% at 28% 18%,#000 48%,rgba(0,0,0,.45) 72%,rgba(0,0,0,.9) 100%);}
.st-stamp::before{content:"";position:absolute;inset:3px;border:1px solid rgba(61,90,128,.6);border-radius:4px;pointer-events:none;}
.st-stamp small{font-size:7.5px;font-weight:700;letter-spacing:.16em;color:rgba(61,90,128,.78);}

/* квиз: документы вокруг карточки */
.qz-wrap{position:relative;}
.qz-wrap .qz-card{position:relative;z-index:1;}
.qz-folder{top:-30px;right:30px;z-index:0;transform:rotate(4deg);}
.artboard.mobile .qz-folder{width:190px;height:112px;top:-24px;right:8px;}
.artboard.mobile .qz-folder b{margin-top:12px;font-size:8.5px;}
.qz-mini-smeta{background:var(--white);color:var(--ink);border-radius:6px;padding:16px;box-shadow:0 18px 44px -14px rgba(0,0,0,.5);transform:rotate(1.5deg);margin-top:26px;}
.qz-mini-smeta .doc-cap{font-size:10px;}
.qz-mini-smeta .doc-rows{margin-top:10px;}
.qz-mini-smeta .doc-row{padding:7px 0;}
.qz-mini-smeta .doc-row span{font-size:10px;}
.qz-mini-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:10px;}
.qz-mini-total span{font-size:10.5px;font-weight:600;color:var(--muted);}
.qz-mini-total b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;}

/* квиз: фото-ответы (вопрос 1) */
.qz-ans--img{flex-direction:column;align-items:stretch;padding:0;overflow:hidden;}
.qz-ans--img .qz-ans-img{position:relative;display:block;height:122px;background:#EFEDE8;border-bottom:1px solid var(--line);}
.qz-ans--img .qz-ans-img image-slot{position:absolute;inset:0;width:100%;height:100%;}
.qz-ans--img .qz-ans-row{display:flex;align-items:center;gap:12px;padding:13px 16px;}
.artboard.mobile .qz-answers--img{grid-template-columns:1fr 1fr;}
.artboard.mobile .qz-ans--img .qz-ans-img{height:92px;}
.artboard.mobile .qz-ans--img .qz-ans-row{padding:11px 12px;gap:9px;font-size:12.5px;line-height:1.3;}

/* гарантии: плашка у договора */
.wr-badge{left:-64px;bottom:-14px;--rot:-1.5deg;}
.artboard.mobile .wr-badge{left:-4px;bottom:-12px;}
.gr-folder{top:-10px;right:-2px;}
.sa-folder{top:-12px;right:6px;}

/* прайс-банд: документы */
.dp-form-wrap{position:relative;z-index:1;}
.dp-folder{top:-30px;right:120px;z-index:0;}
.dp-doc{position:absolute;right:24px;bottom:-46px;width:230px;transform:rotate(6deg);z-index:0;pointer-events:none;}
.dp-doc .doc-sheet{box-shadow:0 24px 54px -18px rgba(0,0,0,.55);padding:20px 18px;}
.dp-doc .doc-cap{font-size:10px;}
.dp-doc .doc-row{padding:8px 0;}
.dp-doc .doc-row span{font-size:10px;}
.dp-form{position:relative;z-index:1;}
.artboard.mobile .dp-doc{display:none;}
.artboard.mobile .dp-folder{top:-34px;right:18px;width:190px;height:110px;}
.artboard.mobile .dp-folder b{margin-top:12px;font-size:8.5px;}

/* консультация: плашка над формой */
.cn-form-card{position:relative;}
.cn-badge{right:-16px;top:-24px;left:auto;--rot:1.5deg;}
.artboard.mobile .cn-badge{right:-4px;top:-42px;}

/* план на фото «как мы работаем» */
.hs-plan{right:22px;top:22px;width:172px;transform:rotate(3deg);z-index:2;}
.artboard.mobile .hs-plan{width:124px;right:12px;top:12px;}

/* SEO как газетная полоса */
.seo-rule{height:3px;background:var(--ink);margin:4px 0 24px;}
.seo-open.seo-cols .seo-content{columns:2;column-gap:56px;max-width:none;}
.seo-cols .seo-content > h3:first-child{margin-top:0;}
.seo-cols.seo-open .seo-content > p:first-of-type::first-letter{font-size:46px;font-weight:800;float:left;line-height:.85;padding:5px 10px 0 0;color:var(--accent-ink);}

/* SEO block (rm3_seo_block) — desktop split: photo left, text right.
   Only the desktop artboard carries .seo-split; the mobile .m-sec block stays stacked. */
.lp-seo-fig{margin:0 0 20px;}
.seo-split .seo-content{display:flex;gap:44px;align-items:flex-start;max-width:none;}
.seo-split .seo-content .lp-seo-fig{flex:0 0 42%;max-width:440px;margin:0;}
.seo-split .seo-content .seo-split-text{flex:1 1 0;min-width:0;}
.seo-split .seo-content .seo-split-text p:first-child{margin-top:0;}

.lead-form .input{width:100%;box-sizing:border-box;}
