/* =========================================================================
   raschet-doma.ru v2 — style.css
   Визуальный язык: Ари (ARI-visual-language.md), структура: Кира (KIRA-ux-map.md)
   ДВА направления одним CSS: :root[data-variant="yandex"] (дефолт) / "apple".
   ========================================================================= */

/* ---------- Общий фундамент (Ари, одинаков для A и B) ---------- */
:root{
  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2rem;
  --sp-5:3rem;  --sp-6:4rem; --sp-7:6rem;   --sp-8:8rem;
  --container:1200px; --container-narrow:920px;

  --radius-sm:8px; --radius:12px; --radius-md:16px; --radius-lg:20px; --radius-pill:999px;

  --ease:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.4,.64,1);
  --t-fast:140ms; --t:220ms; --t-slow:420ms;

  --fs-display: clamp(2.6rem, 5.4vw, 4.4rem);
  --fs-h2:      clamp(1.9rem, 3.2vw, 2.8rem);
  --fs-h3:      clamp(1.3rem, 1.9vw, 1.65rem);
  --fs-lead:    clamp(1.08rem, 1.4vw, 1.28rem);
  --fs-body:    1.0625rem;
  --fs-sm:      .9375rem;
  --fs-xs:      .8125rem;
  --fs-price:   clamp(2.4rem, 4.6vw, 3.6rem);
  --fs-metric:  clamp(1.8rem, 3vw, 2.6rem);
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- НАПРАВЛЕНИЕ A — «Яндекс-сервис» ---------- */
:root[data-variant="yandex"]{
  --font:'Golos Text', -apple-system,'Segoe UI', Roboto, sans-serif;

  --base:#f4f5f7; --surface:#ffffff; --surface-2:#eceef1; --surface-3:#e2e5ea;
  --border:#e2e5ea; --border-strong:#c9ced6;

  --text:#14151a; --muted:#5c6270; --faint:#9aa0ab;

  --accent:#ffd633; --accent-ink:#14151a; --accent-soft:#fff6d1;
  --cta:#14151a; --cta-hover:#2a2c34; --cta-ink:#ffffff;

  --data-pos:#12855a; --data-pos-bg:#e4f4ec;
  --data-warn:#b8721a; --data-warn-bg:#fbf0dd;

  --seg-1:#2b2e36; --seg-2:#454956; --seg-3:#646a78; --seg-4:#8b909c; --seg-5:#b6bac3;

  --shadow-sm:0 1px 2px rgba(20,21,26,.05),0 1px 3px rgba(20,21,26,.07);
  --shadow:   0 4px 14px rgba(20,21,26,.07),0 2px 5px rgba(20,21,26,.05);
  --shadow-md:0 14px 36px rgba(20,21,26,.10),0 5px 10px rgba(20,21,26,.06);
  --shadow-lg:0 28px 70px rgba(20,21,26,.14),0 10px 20px rgba(20,21,26,.08);

  --band:#ffffff;                       /* секции-паузы */
  --ring:0 0 0 3px var(--accent-soft);  /* focus-visible */
  --range-fill:#14151a;                 /* заполнение слайдера — чёрное, не жёлтое */
}

/* ---------- НАПРАВЛЕНИЕ B — «Apple-инструмент» ---------- */
:root[data-variant="apple"]{
  --font:'Onest', -apple-system,'Segoe UI', Roboto, sans-serif;

  --base:#ffffff; --surface:#ffffff; --surface-2:#f5f5f7; --surface-3:#ebebef;
  --border:#e3e3e8; --border-strong:#c7c7cf;

  --text:#1d1d1f; --muted:#6e6e76; --faint:#a1a1aa;

  --accent:#0a66ff; --accent-ink:#ffffff; --accent-soft:#eaf1ff;
  --cta:#0a66ff; --cta-hover:#0a5ae0; --cta-ink:#ffffff;

  --data-pos:#0a7d3f; --data-pos-bg:#e6f5ec;
  --data-warn:#a15a00; --data-warn-bg:#fbf1e0;

  --seg-1:#1d1d1f; --seg-2:#3f3f45; --seg-3:#636370; --seg-4:#8a8a95; --seg-5:#b5b5bd;

  --shadow-sm:0 1px 2px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.06);
  --shadow:   0 4px 16px rgba(0,0,0,.06),0 2px 6px rgba(0,0,0,.04);
  --shadow-md:0 16px 40px rgba(0,0,0,.09),0 6px 12px rgba(0,0,0,.05);
  --shadow-lg:0 30px 80px rgba(0,0,0,.12),0 12px 24px rgba(0,0,0,.06);

  --band:#f5f5f7;
  --ring:0 0 0 4px var(--accent-soft);
  --range-fill:var(--accent);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font); font-size:var(--fs-body); font-weight:400;
  line-height:1.55; color:var(--text); background:var(--base);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit}
:focus-visible{outline:none;box-shadow:var(--ring)}
::placeholder{color:var(--faint)}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--sp-3)}

/* ---------- Типографика ---------- */
h1{font-size:var(--fs-display);line-height:1.04}
h2{font-size:var(--fs-h2);line-height:1.1}
h3{font-size:var(--fs-h3)}
[data-variant="yandex"] h1{font-weight:700;letter-spacing:-.028em}
[data-variant="yandex"] h2{font-weight:700;letter-spacing:-.022em}
[data-variant="yandex"] h3{font-weight:600;letter-spacing:-.014em}
[data-variant="apple"] h1{font-weight:700;letter-spacing:-.03em;line-height:1.03}
[data-variant="apple"] h2{font-weight:600;letter-spacing:-.024em;line-height:1.08}
[data-variant="apple"] h3{font-weight:600;letter-spacing:-.016em}

.lead{font-weight:400;color:var(--muted);font-size:var(--fs-lead);line-height:1.5}
.kicker{display:inline-block;font-size:var(--fs-xs);text-transform:uppercase;color:var(--muted)}
[data-variant="yandex"] .kicker{font-weight:600;letter-spacing:.02em}
[data-variant="apple"] .kicker{font-weight:500;letter-spacing:.06em}
.tnum{font-variant-numeric:tabular-nums lining-nums}

/* ---------- Кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.95rem 1.5rem;border-radius:var(--radius);
  font-size:1rem;font-weight:600;line-height:1;white-space:nowrap;
  transition:background var(--t) var(--ease),box-shadow var(--t) var(--ease),
             transform var(--t) var(--ease),border-color var(--t) var(--ease);
}
.btn--primary{background:var(--cta);color:var(--cta-ink);box-shadow:var(--shadow)}
.btn--primary:hover{background:var(--cta-hover);box-shadow:var(--shadow-md)}
[data-variant="yandex"] .btn--primary:hover{transform:translateY(-1px)}
[data-variant="yandex"] .btn--primary:active{transform:translateY(0)}
[data-variant="apple"] .btn--primary{box-shadow:var(--shadow-sm)}
.btn--ghost{color:var(--text)}
[data-variant="yandex"] .btn--ghost{border:1.5px solid var(--border-strong);background:transparent}
[data-variant="yandex"] .btn--ghost:hover{background:var(--surface-2)}
[data-variant="apple"] .btn--ghost{background:var(--surface-2)}
[data-variant="apple"] .btn--ghost:hover{background:var(--surface-3)}
.btn--lg{min-height:54px;padding:1.05rem 1.8rem;font-size:1.06rem}
.btn--block{width:100%}
.btn[disabled]{opacity:.6;cursor:default;pointer-events:none}

.spinner{
  width:16px;height:16px;border-radius:50%;flex:none;
  border:2px solid currentColor;border-right-color:transparent;
  animation:spin .7s linear infinite;display:inline-block;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Header ---------- */
.header{
  position:sticky;top:0;z-index:60;height:60px;
  background:var(--surface);border-bottom:1px solid transparent;
  transition:box-shadow var(--t) var(--ease),border-color var(--t) var(--ease);
}
.header.is-scrolled{border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}
.header__inner{display:flex;align-items:center;gap:var(--sp-4);height:60px}
.logo{font-size:1.18rem;font-weight:800;letter-spacing:-.02em;display:flex;align-items:baseline;gap:.5rem}
.logo b{font-weight:800}
[data-variant="yandex"] .logo b{background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:0 .3rem}
[data-variant="apple"] .logo b{color:var(--accent)}
.logo__tag{font-size:.72rem;font-weight:500;color:var(--muted);letter-spacing:0}
.nav{display:flex;gap:var(--sp-3);margin-left:auto}
.nav a{font-size:var(--fs-sm);font-weight:500;color:var(--muted);padding:.5rem .25rem;border-radius:8px;transition:color var(--t-fast) var(--ease)}
.nav a:hover{color:var(--text)}
.header__phone{text-align:right;line-height:1.2}
.header__phone b{font-size:var(--fs-sm);font-weight:700;display:block}
.header__phone span{font-size:.72rem;color:var(--muted)}
.header__phone-mob{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--text)}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--radius)}

.mobile-nav{
  position:fixed;inset:60px 0 0;z-index:55;background:var(--surface);
  padding:var(--sp-4) var(--sp-3);display:none;flex-direction:column;gap:.25rem;
}
.mobile-nav.is-open{display:flex}
.mobile-nav a{padding:.9rem .5rem;font-weight:500;border-bottom:1px solid var(--border);min-height:48px;display:flex;align-items:center}

/* ---------- Hero ---------- */
.hero{padding:var(--sp-5) 0 var(--sp-6)}
[data-variant="apple"] .hero{background:linear-gradient(180deg,#fff 0%,var(--surface-2) 100%)}
.hero__grid{
  display:grid;grid-template-columns:1fr 1.08fr;
  grid-template-areas:"copy calc" "trust calc";
  gap:var(--sp-2) var(--sp-6);align-items:start;
}
.hero__copy{grid-area:copy;padding-top:var(--sp-5)}
.hero__copy .kicker{margin-bottom:var(--sp-2)}
.hero__lead{margin-top:var(--sp-3);max-width:30rem}
.hero__trust{grid-area:trust;align-self:end;font-size:var(--fs-sm);color:var(--muted);padding-bottom:var(--sp-2)}
.hero__trust b{color:var(--text);font-weight:700}
.hero__trust .sep{margin:0 .55rem;color:var(--faint)}

/* ---------- Калькулятор (герой-объект) ---------- */
.calc{
  grid-area:calc;position:relative;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  padding:var(--sp-3);
}
/* «постамент»: yandex — жёлтое мягкое пятно, apple — нейтральная тень-пятно */
.calc::before{
  content:"";position:absolute;left:8%;right:8%;bottom:-34px;height:70px;z-index:-1;
  border-radius:50%;filter:blur(60px);
}
[data-variant="yandex"] .calc::before{background:rgba(255,214,51,.35)}
[data-variant="apple"] .calc::before{background:rgba(0,0,0,.10)}

.calc__head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.calc__badge{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--accent-soft);color:var(--text);
  font-size:var(--fs-xs);font-weight:600;
  padding:.42rem .8rem;border-radius:var(--radius-pill);
}
[data-variant="apple"] .calc__badge{color:var(--accent)}
.calc__badge .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s var(--ease) infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 5px var(--accent-soft)}}
.calc__title{margin-left:auto;font-size:var(--fs-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}

.field{margin-bottom:var(--sp-3)}
.field__label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.6rem}
.field__label > span:first-child{font-weight:500;font-size:var(--fs-sm)}
.field__val{
  font-weight:700;font-size:var(--fs-sm);font-variant-numeric:tabular-nums lining-nums;
  background:var(--surface-2);padding:.2rem .6rem;border-radius:var(--radius-sm);
}

/* Чипы */
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips--grid4{display:grid;grid-template-columns:repeat(4,1fr)}
.chips--grid3{display:grid;grid-template-columns:repeat(3,1fr)}
.chip{
  min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  padding:.5rem .55rem;border-radius:var(--radius);
  font-size:var(--fs-sm);font-weight:500;line-height:1.25;text-align:center;
  transition:background var(--t-fast) var(--ease-spring),border-color var(--t-fast) var(--ease-spring),
             color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease-spring);
}
.chip small{font-size:.72rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums lining-nums}
.chip:active{transform:scale(.97)}
[data-variant="yandex"] .chip{background:var(--surface);border:1.5px solid var(--border)}
[data-variant="yandex"] .chip:hover{border-color:var(--border-strong)}
[data-variant="yandex"] .chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
[data-variant="yandex"] .chip[aria-pressed="true"] small{color:#14151a;opacity:.7}
[data-variant="apple"] .chip{background:var(--surface-2);border:1.5px solid transparent;transition-timing-function:var(--ease)}
[data-variant="apple"] .chip:hover{background:var(--surface-3)}
[data-variant="apple"] .chip:active{transform:none}
[data-variant="apple"] .chip[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}
[data-variant="apple"] .chip[aria-pressed="true"] small{color:var(--accent);opacity:.8}

/* Слайдер: hit-area ≥44px, трек 6px, fill через --fill */
.range{position:relative}
.range input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:44px;
  background:transparent;touch-action:none;--fill:28%;
}
.range input[type=range]::-webkit-slider-runnable-track{
  height:6px;border-radius:var(--radius-pill);
  background:linear-gradient(90deg,var(--range-fill) var(--fill),var(--surface-2) var(--fill));
}
.range input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;
  background:#fff;border:1.5px solid var(--border-strong);box-shadow:var(--shadow-md);
  transition:box-shadow var(--t-fast) var(--ease);
}
.range input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--accent-soft),var(--shadow-md)}
.range input[type=range]::-moz-range-track{height:6px;border-radius:var(--radius-pill);background:var(--surface-2)}
.range input[type=range]::-moz-range-progress{height:6px;border-radius:var(--radius-pill);background:var(--range-fill)}
.range input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:#fff;
  border:1.5px solid var(--border-strong);box-shadow:var(--shadow-md);
}
.range input[type=range]:focus-visible{box-shadow:none}
.range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--ring),var(--shadow-md)}
.range__ticks{display:flex;justify-content:space-between;font-size:.72rem;color:var(--faint);margin-top:-4px;font-variant-numeric:tabular-nums}
/* тултип значения над бегунком — только в apple-варианте */
.range__tip{
  display:none;position:absolute;top:-26px;left:var(--tipx,50%);transform:translateX(-50%) scale(.9);
  background:var(--surface);box-shadow:var(--shadow-sm);border:1px solid var(--border);
  font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;
  padding:.15rem .5rem;border-radius:var(--radius-sm);opacity:0;pointer-events:none;
  transition:opacity var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out);
}
[data-variant="apple"] .range__tip{display:block}
[data-variant="apple"] .range.is-drag .range__tip{opacity:1;transform:translateX(-50%) scale(1)}

/* Select */
.select-wrap{position:relative}
.select-wrap::after{
  content:"";position:absolute;right:1rem;top:50%;width:9px;height:9px;pointer-events:none;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:translateY(-70%) rotate(45deg);
}
select{
  -webkit-appearance:none;appearance:none;width:100%;min-height:48px;
  font:inherit;font-size:1rem;color:var(--text);
  background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);
  padding:.75rem 2.5rem .75rem 1rem;cursor:pointer;
  transition:border-color var(--t-fast) var(--ease);
}
[data-variant="apple"] select{border-width:1px;border-color:var(--border-strong)}
select:focus-visible{border-color:var(--text);box-shadow:var(--ring)}
[data-variant="apple"] select:focus-visible{border-color:var(--accent)}

/* ---------- AI-путь: вторичный вход (progressive disclosure) ---------- */
.ai-entry{margin:calc(var(--sp-3) * -.35) 0 var(--sp-3)}
.ai-entry__toggle{
  display:flex;align-items:center;gap:.5rem;width:100%;min-height:44px;
  font-size:var(--fs-sm);font-weight:500;color:var(--muted);
  padding:.5rem .25rem;border-radius:var(--radius-sm);
  transition:color var(--t-fast) var(--ease);
}
.ai-entry__toggle:hover{color:var(--text)}
.ai-entry__toggle svg{flex:none}
.ai-entry__toggle .chev{margin-left:auto;transition:transform var(--t) var(--ease)}
.ai-entry.is-open .ai-entry__toggle .chev{transform:rotate(180deg)}
.ai-entry__panel{display:none;padding-top:var(--sp-2)}
.ai-entry.is-open .ai-entry__panel{display:block;animation:fadeUp .28s var(--ease-out)}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.calc__textarea{
  width:100%;min-height:86px;resize:vertical;font:inherit;font-size:1rem;color:var(--text);
  background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);
  padding:.85rem 1rem;transition:border-color var(--t-fast) var(--ease);
}
[data-variant="apple"] .calc__textarea{border-width:1px;border-color:var(--border-strong)}
.calc__textarea:focus-visible{border-color:var(--text);box-shadow:var(--ring)}
[data-variant="apple"] .calc__textarea:focus-visible{border-color:var(--accent)}
.calc__examples{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.calc__example{
  min-height:44px;padding:.5rem .9rem;border-radius:var(--radius-pill);
  font-size:var(--fs-xs);font-weight:500;color:var(--muted);
  background:var(--surface-2);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease);
}
.calc__example:hover{background:var(--surface-3);color:var(--text)}
.ai-error{
  display:none;margin-top:.6rem;font-size:var(--fs-sm);color:var(--data-warn);
  background:var(--data-warn-bg);padding:.6rem .9rem;border-radius:var(--radius-sm);
}
.ai-error.is-visible{display:block}

/* ---------- РЕЗУЛЬТАТ — акцентная карточка (Кира P1-2) ---------- */
.calc__result{
  position:relative;margin-top:var(--sp-3);
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);box-shadow:var(--shadow-md);
  padding:var(--sp-3);
}
[data-variant="yandex"] .calc__result::before{
  content:"";position:absolute;top:-1px;left:var(--sp-3);width:56px;height:4px;
  background:var(--accent);border-radius:0 0 4px 4px;
}
.result__label{
  display:flex;align-items:center;gap:.45rem;
  font-size:var(--fs-xs);font-weight:600;color:var(--muted);
  text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem;
}
.result__price{
  font-size:var(--fs-price);font-weight:700;line-height:1.05;
  font-variant-numeric:tabular-nums lining-nums;
}
[data-variant="yandex"] .result__price{letter-spacing:-.03em}
[data-variant="apple"] .result__price{letter-spacing:-.032em}
.result__price .cur{font-size:.45em;font-weight:600;color:var(--muted);letter-spacing:0}
/* пересчёт: A — micro-pulse, B — flash of change */
[data-variant="yandex"] .result__price.is-change{animation:pricePulse 220ms var(--ease)}
@keyframes pricePulse{50%{transform:scale(1.015)}}
[data-variant="apple"] .result__price.is-change b{animation:priceFlash 300ms var(--ease-out)}
@keyframes priceFlash{0%{color:var(--accent)}100%{color:var(--text)}}
.result__persqm{font-size:var(--fs-sm);color:var(--muted);margin-top:.35rem}
.result__persqm b{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums lining-nums}

/* Breakdown — МОНО-рампа графита */
.breakdown{margin-top:var(--sp-3)}
.breakdown__bar{display:flex;gap:3px;height:14px}
.breakdown__seg{border-radius:4px;flex-basis:0%;transition:flex-basis var(--t-slow) var(--ease-out)}
.breakdown__seg[data-seg="found"]{background:var(--seg-5)}
.breakdown__seg[data-seg="box"]{background:var(--seg-1)}
.breakdown__seg[data-seg="roof"]{background:var(--seg-4)}
.breakdown__seg[data-seg="eng"]{background:var(--seg-3)}
.breakdown__seg[data-seg="finish"]{background:var(--seg-2)}
/* первый reveal: stagger 40/50ms */
.breakdown__bar:not(.bd-ready) .breakdown__seg:nth-child(1){transition-delay:0ms}
.breakdown__bar:not(.bd-ready) .breakdown__seg:nth-child(2){transition-delay:40ms}
.breakdown__bar:not(.bd-ready) .breakdown__seg:nth-child(3){transition-delay:80ms}
.breakdown__bar:not(.bd-ready) .breakdown__seg:nth-child(4){transition-delay:120ms}
.breakdown__bar:not(.bd-ready) .breakdown__seg:nth-child(5){transition-delay:160ms}
[data-variant="apple"] .breakdown__bar:not(.bd-ready) .breakdown__seg{opacity:0;transition:flex-basis var(--t-slow) var(--ease-out),opacity var(--t-slow) var(--ease-out)}
[data-variant="apple"] .breakdown__bar.bd-armed .breakdown__seg{opacity:1}
.breakdown__legend{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin-top:.75rem}
.breakdown__item{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-xs);color:var(--muted)}
.breakdown__item i{width:8px;height:8px;border-radius:2px;flex:none}
.breakdown__item b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums lining-nums}

/* AI-пояснение: fade+stagger блоками, БЕЗ typewriter */
.ai-note{
  margin-top:var(--sp-3);background:var(--accent-soft);
  border-radius:var(--radius);padding:var(--sp-2) var(--sp-2) var(--sp-2);
}
.ai-note__head{
  display:flex;align-items:center;gap:.45rem;
  font-size:var(--fs-xs);font-weight:600;margin-bottom:.5rem;
}
[data-variant="apple"] .ai-note__head{color:var(--accent)}
.ai-note__head svg{width:15px;height:15px}
.ai-note__text{font-size:var(--fs-sm);line-height:1.55;min-height:3.2em}
.ai-line{display:inline;opacity:0;transition:opacity .32s var(--ease-out)}
.ai-line.is-in{opacity:1}
.ai-note__tip{
  display:flex;align-items:flex-start;gap:.5rem;margin-top:.7rem;padding-top:.7rem;
  border-top:1px solid rgba(0,0,0,.07);font-size:var(--fs-xs);color:var(--muted);line-height:1.5;
}
.ai-note__tip svg{flex:none;margin-top:.1em}

/* ---------- ГЕЙТ ---------- */
.gate{margin-top:var(--sp-3);border-top:1px solid var(--border);padding-top:var(--sp-3)}
.gate__delta{display:flex;flex-direction:column;gap:.4rem;margin-bottom:var(--sp-2)}
.gate__delta-item{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--fs-sm)}
.gate__delta-item svg{flex:none;width:16px;height:16px;color:var(--data-pos);margin-top:.15em}
.gate__sub{font-size:var(--fs-xs);color:var(--muted);margin-top:.7rem;text-align:center;line-height:1.5}

.gate__form{display:none}
.gate__form.is-open{display:block;animation:fadeUp .32s var(--ease-out)}
.gate__form h4{font-size:1.1rem;font-weight:700;margin-bottom:.3rem}
.gate__form .hint{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-2)}
.input{
  width:100%;min-height:52px;font:inherit;font-size:1rem;color:var(--text);
  background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);
  padding:.85rem 1rem;margin-bottom:.75rem;
  transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);
}
[data-variant="apple"] .input{border-width:1px;border-color:var(--border-strong)}
.input:focus-visible{border-color:var(--text);box-shadow:var(--ring)}
[data-variant="apple"] .input:focus-visible{border-color:var(--accent)}
.input.is-error{border-color:var(--data-warn);box-shadow:0 0 0 3px var(--data-warn-bg)}
.field-error{
  display:none;font-size:var(--fs-xs);color:var(--data-warn);
  margin:-.4rem 0 .75rem .25rem;
}
.field-error.is-visible{display:block}
.consent{display:flex;align-items:flex-start;gap:.65rem;margin:.25rem 0 1rem;min-height:44px}
.consent input[type=checkbox]{
  width:20px;height:20px;margin-top:.15rem;flex:none;accent-color:var(--cta);cursor:pointer;
}
[data-variant="apple"] .consent input[type=checkbox]{accent-color:var(--accent)}
.consent label{font-size:var(--fs-xs);color:var(--muted);line-height:1.5;cursor:pointer}
.consent a{text-decoration:underline;text-underline-offset:2px}
[data-variant="apple"] .consent a{color:var(--accent);text-decoration:none}

.gate__done,.gate__error{display:none;text-align:center;padding:var(--sp-2) 0}
.gate__done.is-visible,.gate__error.is-visible{display:block;animation:fadeUp .32s var(--ease-out)}
.gate__done svg{width:44px;height:44px;color:var(--data-pos);margin:0 auto .6rem}
.gate__done h4{font-size:1.15rem;font-weight:700;margin-bottom:.4rem}
.gate__done p{font-size:var(--fs-sm);color:var(--muted);line-height:1.55}
.gate__done a{font-weight:700;color:var(--text)}
.gate__error svg{width:40px;height:40px;color:var(--data-warn);margin:0 auto .6rem}
.gate__error p{font-size:var(--fs-sm);color:var(--muted)}
.gate__error a{font-weight:700;color:var(--text)}

/* ---------- Trustbar (сразу под hero) ---------- */
.trustbar{background:var(--band);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trustbar__inner{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);
  padding-top:var(--sp-3);padding-bottom:var(--sp-3);
}
.trustbar__item{display:flex;align-items:center;gap:.7rem;font-size:var(--fs-sm);color:var(--muted);line-height:1.35}
.trustbar__item b{color:var(--text);font-weight:600}
.trustbar__item svg{width:22px;height:22px;flex:none;color:var(--text)}
[data-variant="apple"] .trustbar__item svg{color:var(--accent)}

/* ---------- Секции ---------- */
.section{padding:var(--sp-7) 0}
.section--band{background:var(--band)}
.section-head{max-width:640px;margin-bottom:var(--sp-5)}
.section-head .kicker{margin-bottom:var(--sp-2)}
.section-head .lead{margin-top:var(--sp-2)}

/* Как работает */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);counter-reset:step}
.step{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--sp-3);box-shadow:var(--shadow-sm);counter-increment:step;
}
.step__num{
  width:36px;height:36px;border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:1rem;margin-bottom:var(--sp-2);
  font-variant-numeric:tabular-nums lining-nums;
}
.step__num::before{content:counter(step)}
[data-variant="yandex"] .step__num{background:var(--accent);color:var(--accent-ink)}
[data-variant="apple"] .step__num{background:var(--accent-soft);color:var(--accent)}
.step h3{font-size:1.12rem;margin-bottom:.45rem}
.step p{font-size:var(--fs-sm);color:var(--muted);line-height:1.55}

/* Материалы (money-хабы) */
.mat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}
.mat-card{
  display:flex;flex-direction:column;gap:.4rem;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--sp-3);box-shadow:var(--shadow-sm);
  transition:box-shadow var(--t) var(--ease),border-color var(--t) var(--ease),transform var(--t) var(--ease);
}
.mat-card:hover{box-shadow:var(--shadow-md)}
[data-variant="yandex"] .mat-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.mat-card__ico{width:42px;height:42px;color:var(--text);margin-bottom:.4rem}
[data-variant="apple"] .mat-card__ico{color:var(--accent)}
.mat-card h3{font-size:1.12rem}
.mat-card__price{font-size:var(--fs-sm);color:var(--muted)}
.mat-card__price b{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums lining-nums}
.mat-card__from{font-size:var(--fs-xs);color:var(--muted)}
.mat-card__more{
  display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:var(--sp-2);
  font-size:var(--fs-sm);font-weight:600;
}
[data-variant="apple"] .mat-card__more{color:var(--accent)}
.mat-card__more svg{width:15px;height:15px;transition:transform var(--t-fast) var(--ease)}
.mat-card:hover .mat-card__more svg{transform:translateX(3px)}

/* Проекты */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.proj{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  overflow:hidden;box-shadow:var(--shadow-sm);
  transition:box-shadow var(--t) var(--ease),transform var(--t) var(--ease);
}
.proj:hover{box-shadow:var(--shadow-md)}
[data-variant="yandex"] .proj:hover{transform:translateY(-2px)}
.proj__img{position:relative;aspect-ratio:16/10;overflow:hidden}
.proj__img img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
[data-variant="apple"] .proj__img img{filter:saturate(.85) contrast(1.03)}
.proj__tag{
  position:absolute;top:.75rem;left:.75rem;
  font-size:.72rem;font-weight:600;padding:.28rem .6rem;border-radius:var(--radius-pill);
  background:var(--surface);box-shadow:var(--shadow-sm);
}
[data-variant="yandex"] .proj__tag{background:var(--accent);color:var(--accent-ink)}
.proj__body{padding:var(--sp-2) var(--sp-3) var(--sp-3)}
.proj__meta{display:flex;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--muted);margin-bottom:.5rem;font-variant-numeric:tabular-nums}
.proj__meta b{color:var(--text);font-weight:700}
.proj h3{font-size:1.05rem;margin-bottom:.6rem}
.proj__price{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums lining-nums}
.proj__price small{font-size:.72rem;font-weight:500;color:var(--muted)}
.proj-more{text-align:center;margin-top:var(--sp-4)}

/* Доказательства: метрики + отзывы (слито, Кира P2-3) */
.metrics{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);
  margin-bottom:var(--sp-5);
}
.metric{text-align:center}
.metric b{
  display:block;font-size:var(--fs-metric);font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums lining-nums;line-height:1.1;
}
[data-variant="apple"] .metric b{font-weight:600}
.metric span{font-size:var(--fs-sm);color:var(--muted)}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.review{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--sp-3);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--sp-2);
}
.review__stars{color:var(--data-warn);font-size:.9rem;letter-spacing:.1em}
[data-variant="yandex"] .review__stars{color:#e8a70a}
[data-variant="apple"] .review__stars{color:#f5a623}
.review__text{font-size:var(--fs-sm);line-height:1.6;color:var(--text)}
.review__who{display:flex;align-items:center;gap:.75rem;margin-top:auto}
.review__ava{
  width:40px;height:40px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;font-weight:700;background:var(--surface-2);color:var(--muted);
}
.review__who b{font-size:var(--fs-sm);display:block}
.review__who span{font-size:.75rem;color:var(--muted)}

/* География — честный список, без псевдо-карты (Кира P2-6) */
.geo__cities{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--sp-3)}
.geo__city{
  display:inline-flex;align-items:center;min-height:44px;padding:.55rem 1.1rem;
  border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:500;
  transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease);
}
[data-variant="yandex"] .geo__city{background:var(--surface);border:1.5px solid var(--border)}
[data-variant="yandex"] .geo__city:hover{border-color:var(--border-strong)}
[data-variant="apple"] .geo__city{background:var(--surface-2)}
[data-variant="apple"] .geo__city:hover{background:var(--surface-3)}
.geo__city--more{font-weight:600}
[data-variant="apple"] .geo__city--more{color:var(--accent)}

/* FAQ */
.faq{max-width:var(--container-narrow);margin:0 auto}
.faq details{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  margin-bottom:.75rem;box-shadow:var(--shadow-sm);overflow:hidden;
}
.faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);
  min-height:56px;padding:1rem var(--sp-3);cursor:pointer;list-style:none;
  font-weight:600;font-size:1.02rem;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";width:10px;height:10px;flex:none;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:rotate(45deg);transition:transform var(--t) var(--ease);margin-top:-4px;
}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.faq details p{padding:0 var(--sp-3) var(--sp-3);font-size:var(--fs-sm);color:var(--muted);line-height:1.6}

/* Финальный CTA */
.cta-final{text-align:center;max-width:640px;margin:0 auto}
.cta-final p{margin:var(--sp-2) 0 var(--sp-4);color:var(--muted)}

/* ---------- Футер ---------- */
.footer{border-top:1px solid var(--border);padding:var(--sp-6) 0 var(--sp-4);background:var(--band)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-5)}
.footer__brand p{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--sp-2);max-width:26rem;line-height:1.6}
.footer__col h4{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:var(--sp-2)}
.footer__col ul{list-style:none}
.footer__col li{margin-bottom:.55rem}
.footer__col a{font-size:var(--fs-sm);color:var(--text);transition:color var(--t-fast) var(--ease)}
.footer__col a:hover{color:var(--muted)}
.footer__bottom{
  display:flex;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap;
  margin-top:var(--sp-5);padding-top:var(--sp-3);border-top:1px solid var(--border);
  font-size:var(--fs-xs);color:var(--muted);
}

/* ---------- Sticky bottom-bar (mobile only, Кира P0-3) ---------- */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;
  align-items:center;gap:var(--sp-2);
  background:var(--surface);border-top:1px solid var(--border);
  box-shadow:0 -6px 24px rgba(0,0,0,.08);
  padding:.6rem var(--sp-2) calc(.6rem + env(safe-area-inset-bottom));
  transform:translateY(110%);visibility:hidden;
  transition:transform var(--t-slow) var(--ease-out),visibility var(--t-slow);
}
.stickybar.is-on{transform:none;visibility:visible}
.stickybar__price{line-height:1.15;flex:1;min-width:0}
.stickybar__price small{display:block;font-size:.68rem;color:var(--muted)}
.stickybar__price b{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.stickybar .btn{min-height:48px;padding:.8rem 1.3rem}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:60ms}
.reveal[data-delay="2"]{transition-delay:120ms}
.reveal[data-delay="3"]{transition-delay:180ms}

/* =========================================================================
   ХАБ МАТЕРИАЛА (/doma/{material}/) — на токенах v2, дизайн-система «Яндекс-сервис»
   ========================================================================= */
.hub-hero{padding:var(--sp-4) 0 var(--sp-5)}
.hub-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-3)}
.hub-breadcrumb a{color:var(--muted);transition:color var(--t-fast) var(--ease)}
.hub-breadcrumb a:hover{color:var(--text)}
.hub-breadcrumb .sep{color:var(--faint)}
.hub-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);align-items:center}
.hub-hero__grid .kicker{margin-bottom:var(--sp-2)}
.hub-hero__grid h1{font-size:clamp(2.1rem,4vw,3.2rem)}
.hub-hero__grid h1 b{color:var(--text)}
[data-variant="yandex"] .hub-hero__grid h1 b{background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:0 .35rem;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hub-priceband{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-4)}
.hub-priceband__item b{display:block;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;line-height:1.1}
.hub-priceband__item span{font-size:var(--fs-xs);color:var(--muted)}
.hub-hero__visual{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:9/5}
.hub-hero__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}

/* сплит: проза + компактный калькулятор (minmax(0,…) чтобы треки могли сжиматься) */
.hub-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--sp-6);align-items:start}
.hub-calc{position:sticky;top:80px;min-width:0}
.prose{min-width:0}

/* SEO-проза */
.prose{max-width:none}
.prose .kicker{margin-bottom:var(--sp-2)}
.prose h2{font-size:var(--fs-h2);margin-bottom:var(--sp-3)}
.prose h3{font-size:var(--fs-h3);margin:var(--sp-4) 0 var(--sp-2)}
.prose p{margin-bottom:var(--sp-2);line-height:1.65}
.prose ul{list-style:none;margin:var(--sp-2) 0 var(--sp-3)}
.prose li{position:relative;padding-left:1.5rem;margin-bottom:.7rem;font-size:var(--fs-sm);line-height:1.55;color:var(--muted)}
.prose li b{color:var(--text);font-weight:600}
.prose li::before{content:"";position:absolute;left:.15rem;top:.55em;width:6px;height:6px;border-radius:2px;background:var(--accent)}
[data-variant="apple"] .prose li::before{background:var(--accent)}
.prose a{color:var(--text);font-weight:600;text-decoration:underline;text-underline-offset:2px}
[data-variant="apple"] .prose a{color:var(--accent);text-decoration:none}
.callout{
  margin:var(--sp-3) 0;padding:var(--sp-3);border-radius:var(--radius-md);
  background:var(--accent-soft);font-size:var(--fs-sm);line-height:1.6;
}
.callout b{font-weight:700}

/* =========================================================================
   ВОЛНА 1 — компоненты каталога / узлов / сравнений (только токены дизайн-системы)
   ========================================================================= */

/* — метрики узла (node-hub priceband-строка чисел) — переиспользуем hub-priceband */
.node-metrics{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-3)}
.node-metrics__item b{display:block;font-size:var(--fs-metric);font-weight:800;line-height:1;font-variant-numeric:tabular-nums lining-nums}
.node-metrics__item span{font-size:var(--fs-xs);color:var(--muted)}

/* — фильтр-чипы каталога (facet chips) — */
.facet-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:var(--sp-3) 0 var(--sp-4)}
.facet-chip{
  display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;
  border:1px solid var(--border-strong);border-radius:var(--radius-pill);
  background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:500;
  text-decoration:none;transition:all var(--t-fast) var(--ease);white-space:nowrap;
}
.facet-chip:hover{border-color:var(--text);transform:translateY(-1px)}
.facet-chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
[data-variant="apple"] .facet-chip.is-active{background:var(--accent);color:var(--accent-ink)}
.facet-chip small{color:var(--muted);font-variant-numeric:tabular-nums}
.facet-chip.is-active small{color:var(--accent-ink);opacity:.7}

/* — карточка проекта-СХЕМЫ (без фото, параметры крупно + цена) — */
.pcard{
  display:flex;flex-direction:column;border:1px solid var(--border);
  border-radius:var(--radius-md);background:var(--surface);overflow:hidden;
  transition:box-shadow var(--t) var(--ease),transform var(--t) var(--ease),border-color var(--t) var(--ease);
}
.pcard:hover{box-shadow:var(--shadow-md)}
[data-variant="yandex"] .pcard:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.pcard__schema{
  position:relative;aspect-ratio:16/10;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:.3rem;
  background:
    linear-gradient(var(--surface-2),var(--surface-3)),
    repeating-linear-gradient(0deg,transparent,transparent 23px,var(--border) 23px,var(--border) 24px),
    repeating-linear-gradient(90deg,transparent,transparent 23px,var(--border) 23px,var(--border) 24px);
  background-blend-mode:normal;
}
.pcard__gab{font-size:var(--fs-metric);font-weight:800;line-height:1;color:var(--text);font-variant-numeric:tabular-nums lining-nums}
.pcard__area{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}
.pcard__series{
  position:absolute;top:.7rem;left:.7rem;padding:.25rem .6rem;border-radius:var(--radius-pill);
  background:var(--text);color:var(--surface);font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;
}
.pcard__body{padding:var(--sp-2) var(--sp-3) var(--sp-3);display:flex;flex-direction:column;gap:.5rem;flex:1}
.pcard__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.pcard__meta b{color:var(--text);font-weight:700}
.pcard h3{font-size:1.02rem;line-height:1.25}
.pcard__price{margin-top:auto;font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums lining-nums}
.pcard__price small{font-size:.72rem;font-weight:500;color:var(--muted)}
.pcard__tags{display:flex;flex-wrap:wrap;gap:.3rem}
.pcard__tags span{font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2);padding:.15rem .5rem;border-radius:var(--radius-sm)}

/* — сетка проектов-схем — */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}

/* — пагинация каталога — */
.pager{display:flex;gap:.5rem;justify-content:center;margin-top:var(--sp-4);flex-wrap:wrap}
.pager a,.pager span{
  min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);
  font-size:var(--fs-sm);font-weight:600;text-decoration:none;color:var(--text);
  font-variant-numeric:tabular-nums;
}
.pager a:hover{border-color:var(--text)}
.pager .is-current{background:var(--text);color:var(--surface);border-color:var(--text)}
.pager .is-disabled{opacity:.4;pointer-events:none}

/* — таблица сравнения — */
.cmp-table{width:100%;border-collapse:collapse;margin:var(--sp-3) 0;font-size:var(--fs-sm)}
.cmp-table th,.cmp-table td{padding:.8rem .9rem;text-align:left;border-bottom:1px solid var(--border)}
.cmp-table thead th{font-weight:700;color:var(--text);border-bottom:2px solid var(--border-strong);background:var(--surface-2)}
.cmp-table tbody tr:hover{background:var(--surface-2)}
.cmp-table td:first-child,.cmp-table th:first-child{font-weight:600}
.cmp-table .tnum{font-variant-numeric:tabular-nums lining-nums}
.cmp-wrap{overflow-x:auto}

/* — вердикт-карточки сравнения — */
.verdict-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3);margin-top:var(--sp-3)}
.verdict{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.verdict h4{font-size:1.02rem;margin-bottom:.5rem}
.verdict p{font-size:var(--fs-sm);color:var(--muted);line-height:1.55;margin:0}

/* — плашка «оценочно» (estimated) — */
.est-note{
  display:inline-flex;align-items:center;gap:.4rem;margin-top:var(--sp-2);
  padding:.35rem .7rem;border-radius:var(--radius-pill);background:var(--data-warn-bg);
  color:var(--data-warn);font-size:var(--fs-xs);font-weight:600;
}

/* — простая таблица цен (material/node) — */
.ptable{width:100%;border-collapse:collapse;margin:var(--sp-2) 0;font-size:var(--fs-sm)}
.ptable th,.ptable td{padding:.7rem .8rem;border-bottom:1px solid var(--border);text-align:left}
.ptable thead th{font-weight:700;background:var(--surface-2);border-bottom:2px solid var(--border-strong)}
.ptable td:last-child,.ptable th:last-child{text-align:right;font-variant-numeric:tabular-nums lining-nums}

/* =========================================================================
   АДАПТИВ
   ========================================================================= */
@media (max-width:1024px){
  .hero__grid{grid-template-columns:1fr;grid-template-areas:"copy" "calc" "trust";gap:var(--sp-3)}
  .hero__copy{padding-top:var(--sp-2)}
  .hero__trust{padding-bottom:0}
  .nav{display:none}
  .steps,.mat-grid{grid-template-columns:repeat(2,1fr)}
  .proj-grid,.reviews,.pgrid{grid-template-columns:1fr 1fr}
  .verdict-grid{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr 1fr;gap:var(--sp-4)}
  .hub-hero__grid{grid-template-columns:1fr;gap:var(--sp-3)}
  .hub-split{grid-template-columns:1fr;gap:var(--sp-4)}
  .hub-calc{position:static}
}

@media (max-width:720px){
  .section{padding:var(--sp-6) 0}
  .header__phone,.header__cta{display:none}
  .header__phone-mob{display:flex}
  .burger{display:flex}
  .logo__tag{display:none}
  .header__inner{gap:var(--sp-1)}
  .header__phone-mob{margin-left:auto}

  /* P0-1: калькулятор в первый экран 390×844 */
  .hero{padding:var(--sp-2) 0 var(--sp-5)}
  .hero__copy .kicker{display:none}
  .hero__copy{padding-top:var(--sp-1)}
  h1{font-size:clamp(1.9rem,8vw,2.2rem);line-height:1.1}
  .h1-ext{display:none}
  .hero__lead{margin-top:.5rem;font-size:var(--fs-sm)}
  .hero__trust{font-size:var(--fs-xs);text-align:center}

  .calc{padding:var(--sp-2)}
  .calc__head{margin-bottom:var(--sp-2)}
  .field{margin-bottom:var(--sp-2)}
  .chips--grid4{grid-template-columns:repeat(2,1fr)}
  .chip{min-height:56px}                     /* P0-2: моб ≥48px */
  .calc__example{min-height:48px}
  .geo__city{min-height:48px}
  .calc__result{padding:var(--sp-2)}
  .result__price{font-size:clamp(2rem,9vw,2.4rem)}

  .trustbar__inner{grid-template-columns:1fr 1fr;gap:var(--sp-2)}
  .trustbar__item{font-size:var(--fs-xs);align-items:flex-start}
  .trustbar__item svg{width:18px;height:18px;margin-top:.1rem}

  .steps,.mat-grid,.proj-grid,.reviews{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr 1fr;gap:var(--sp-2)}
  .verdict-grid{grid-template-columns:1fr}
  .node-metrics{gap:var(--sp-3)}
  .metrics{grid-template-columns:1fr 1fr;gap:var(--sp-3) var(--sp-2)}
  .footer__grid{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;gap:.5rem}

  .stickybar{display:flex}

  .hub-hero{padding:var(--sp-3) 0 var(--sp-4)}
  .hub-hero__grid h1{font-size:clamp(1.9rem,8vw,2.2rem)}
  .hub-priceband{gap:var(--sp-3)}
  .hub-priceband__item b{font-size:1.25rem}
}

@media (max-width:400px){
  .container{padding:0 var(--sp-2)}
  .chips--grid3{grid-template-columns:1fr 1fr;}
  .chips--grid3 .chip:last-child{grid-column:1/-1}
}

/* hero-фото хаба (материал) */
.hub-hero__grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5);align-items:center}
@media(min-width:1080px){.hub-hero__grid{grid-template-columns:1.05fr .95fr}}
.hub-hero__media{margin:0}
.hub-hero__media img{width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block}
