/* system.ekrukov.ru, вариант «Чертёж» (site-v3). Стиль по basement.studio: чёрная плоскость,
   один шрифт Geist, углы 0, без теней и градиентов в интерфейсе, один акцент — фирменный
   #FF5917. Движение — только в картинках (чертёж → город, бегущий свет, рентген). */
@font-face { font-family:Geist; src:url(fonts/geist-cyrillic.woff2) format("woff2"); font-weight:100 900; font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:Geist; src:url(fonts/geist-latin.woff2) format("woff2"); font-weight:100 900; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  --void:#000; --chalk:#fff; --ash:#c4c4c4; --graphite:#8a8a8a; --carbon:#333; --line:#454545;
  --cinder:#111; --ember:#ff5917; --pad:clamp(16px,3vw,32px); --max:1320px;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { background:var(--void); color:var(--chalk); font:400 16px/1.5 Geist, system-ui, -apple-system, sans-serif; font-feature-settings:"ss01"; overflow-x:hidden; }
a { color:inherit; }
img { display:block; max-width:100%; }
em { font-style:normal; color:var(--ember); }
::selection { background:var(--ember); color:#fff; }

/* Кнопки — скобки [ ] по мотивам uiverse.io/Navarog21/loud-bird-67: при наведении скобки
   раскрываются в полную рамку и загорается внутреннее свечение. В оригинале середины рамки
   закрыты плашками цвета фона — у нас кнопки стоят на картинках, поэтому скобки рисуются сами. */
.btn { --c:var(--ember); --glow:rgba(255,89,23,.55); position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:0 26px;
  background:transparent; color:#fff; border:0; border-radius:.3em; font:600 15px/1 Geist, system-ui, sans-serif; text-decoration:none; cursor:pointer; transition:box-shadow 1s, background .6s; isolation:isolate; }
.btn::before, .btn::after { content:""; position:absolute; top:0; bottom:0; width:14px; border:3px ridge var(--c); transition:width .5s cubic-bezier(.2,.8,.2,1); pointer-events:none; }
.btn::before { left:0; border-right:0; border-radius:.3em 0 0 .3em; }
.btn::after { right:0; border-left:0; border-radius:0 .3em .3em 0; }
.btn:hover::before, .btn:hover::after, .btn:focus-visible::before, .btn:focus-visible::after { width:calc(50% + 1px); }
.btn:hover, .btn:focus-visible { box-shadow:inset 0 0 25px var(--glow); background:rgba(255,89,23,.06); outline:0; }
.btn-line { --c:#d9d9d9; --glow:rgba(255,255,255,.28); }
.btn-line:hover, .btn-line:focus-visible { background:rgba(255,255,255,.04); }
@media (hover:none) { .btn::before, .btn::after { width:calc(50% + 1px); } .btn { box-shadow:inset 0 0 18px var(--glow); } }

/* Шапка */
.top { position:fixed; inset:0 0 auto; z-index:20; display:flex; align-items:center; gap:24px; padding:12px var(--pad); transition:background .3s, border-color .3s; border-bottom:1px solid transparent; }
.top.solid { background:rgba(0,0,0,.92); border-color:var(--carbon); }
.logo { font-weight:600; font-size:18px; letter-spacing:-.03em; text-decoration:none; }
.logo { display:block; line-height:0; }
.logo img { height:54px; width:auto; filter:drop-shadow(0 2px 6px rgba(0,0,0,.6)); transition:transform .3s; }
.logo:hover img { transform:scale(1.04) rotate(-1deg); }
.menu { display:flex; gap:22px; margin-left:auto; font-size:14px; }
.menu a { color:var(--ash); text-decoration:none; } .menu a:hover, .menu a.on { color:var(--ember); }
.top-cta { min-height:40px; font-size:14px; padding:0 18px; }

/* Общие блоки */
.sec, .final { scroll-margin-top:56px; }
.sec { max-width:var(--max); margin:0 auto; padding:clamp(80px,11vw,140px) var(--pad) 0; }
.head { max-width:1180px; margin-bottom:48px; }
.kicker { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--graphite); margin-bottom:16px; }
h2 { font-weight:600; font-size:clamp(34px,5.6vw,76px); line-height:.94; letter-spacing:-.045em; }
.audit h2, .about h2, .final h2 { font-size:clamp(32px,4.4vw,62px); }
h3 { font-weight:600; font-size:clamp(20px,2vw,26px); line-height:1.1; letter-spacing:-.025em; }
.sub { color:var(--ash); font-size:clamp(16px,1.4vw,18px); max-width:62ch; margin-top:20px; }
.small, .note { color:var(--graphite); font-size:13px; margin-top:16px; }
.note { margin-top:28px; }

/* Заголовки выезжают строками */
.lines > span { display:block; overflow:hidden; padding-bottom:.06em; }
.lines > span > b { display:block; font-weight:inherit; transform:translateY(105%); transition:transform 1s cubic-bezier(.2,.8,.2,1); }
.lines.in > span > b { transform:none; }
.lines > span:nth-child(2) > b { transition-delay:.08s } .lines > span:nth-child(3) > b { transition-delay:.16s }
.rise { opacity:0; transform:translateY(24px); transition:opacity .8s, transform .8s cubic-bezier(.2,.8,.2,1); }
.rise.in { opacity:1; transform:none; }

/* ── 01 Первый экран ── */
.hero { position:relative; height:100svh; min-height:640px; overflow:hidden; }
.stage { position:absolute; inset:0; --x:50%; --y:50%; }
.stage canvas, .stage .glow, .stage .xray, .stage .still { position:absolute; inset:0; width:100%; height:100%; }
.stage .still { object-fit:cover; display:none; }
.stage .glow, .stage .xray { background:center/cover no-repeat; opacity:0; transition:opacity .8s; pointer-events:none; }
.stage .glow { background-image:url(img/city-glow.jpg); mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(100deg, transparent 0 35%, #000 45%, #000 50%, transparent 60%); mask-image:linear-gradient(100deg, transparent 0 35%, #000 45%, #000 50%, transparent 60%);
  -webkit-mask-size:300% 100%; mask-size:300% 100%; }
.stage .xray { background-image:url(img/city-lines.jpg); mix-blend-mode:screen; filter:brightness(1.8);
  -webkit-mask-image:radial-gradient(circle 190px at var(--x) var(--y), #000 30%, transparent 100%); mask-image:radial-gradient(circle 190px at var(--x) var(--y), #000 30%, transparent 100%); }
.hero.live .stage .glow { opacity:1; animation:pulse 4.5s linear infinite; }
.hero.live .stage .xray { opacity:1; }
.hero.live .stage canvas { animation:drift 30s ease-in-out infinite alternate; }
@keyframes pulse { from { -webkit-mask-position:100% 0; mask-position:100% 0; } to { -webkit-mask-position:0 0; mask-position:0 0; } }
@keyframes drift { from { transform:scale(1); } to { transform:scale(1.06) translate(-1%, .5%); } }
.hero.live .stage .glow { animation:pulse 4.5s linear infinite, drift 30s ease-in-out infinite alternate; }
.hero.live .stage .xray { animation:drift 30s ease-in-out infinite alternate; }
.shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top, #000 6%, rgba(0,0,0,.55) 38%, transparent 70%), linear-gradient(to bottom, rgba(0,0,0,.6), transparent 18%); }
.hero-in { position:absolute; left:0; right:0; bottom:0; padding:0 var(--pad) clamp(28px,5vh,56px); max-width:1600px; margin:0 auto; pointer-events:none; }
.hero-in .kicker { color:var(--ash); }
.hero-in .kicker span:first-child { color:var(--ember); font-weight:600; }
h1 { font-weight:600; font-size:clamp(40px,6.3vw,104px); line-height:.89; letter-spacing:-.05em; }
.hero-row { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-top:28px; }
.lead { color:var(--ash); max-width:52ch; font-size:clamp(15px,1.3vw,18px); }
.hero-cta { display:flex; gap:10px; flex-wrap:wrap; pointer-events:auto; }
.replay { position:absolute; right:var(--pad); top:76px; background:none; border:0; color:var(--graphite); font:inherit; font-size:12px; cursor:pointer; }
.replay:hover { color:#fff; }

/* ── Разрез под городом: фон всей страницы ── */
.hero { z-index:2; background:#000; }
.depth { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.strip { position:absolute; left:0; right:0; top:0; will-change:transform; }
.layer { position:relative; width:100%; }
.layer + .layer { margin-top:calc(var(--ov) * -1); }
.layer canvas { display:block; width:100%; height:100%;
  -webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--ov), #000 calc(100% - var(--ov)), transparent);
          mask-image:linear-gradient(to bottom, transparent, #000 var(--ov), #000 calc(100% - var(--ov)), transparent); }
/* Текст поверх картинки должен читаться: затемняем фон, сильнее — там, где колонки текста */
.depth::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.5) 50%, rgba(0,0,0,.62)); }
.gauge { position:fixed; left:var(--pad); bottom:20px; z-index:15; pointer-events:none; display:flex; align-items:baseline; gap:10px; padding:8px 12px; background:#000; border:1px solid var(--line); opacity:0; transition:opacity .5s; }
.gauge.on { opacity:1; }
.gauge i { font-style:normal; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--graphite); }
.gauge b { font-weight:600; font-size:18px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; min-width:96px; }
.gauge span { font-size:12px; color:var(--ember); }
.g-bar { position:absolute; left:-1px; right:-1px; bottom:-1px; height:2px; background:var(--carbon); }
.g-bar s { position:absolute; inset:0; background:var(--ember); transform-origin:left; transform:scaleX(0); }
/* Живой фон по мотивам animmasterlib.dev: сверху светит прожектор — конус медленно
   покачивается и мерцает, в луче летает пыль. Светит поверх затемнения, чтобы было видно. */
.beam, .dust { position:absolute; inset:0; z-index:1; pointer-events:none; }
.beam { mix-blend-mode:screen; overflow:hidden; }
.beam i { position:absolute; left:50%; top:-12%; width:150vmax; height:130vh; margin-left:-75vmax; transform-origin:50% 0;
  background:conic-gradient(from 0deg at 50% 0, transparent 0 166deg, rgba(255,214,170,.12) 171deg, rgba(255,238,220,.30) 180deg, rgba(255,214,170,.12) 189deg, transparent 194deg 360deg);
  -webkit-mask-image:radial-gradient(ellipse 70% 62% at 50% 0, #000 15%, transparent 80%); mask-image:radial-gradient(ellipse 70% 62% at 50% 0, #000 15%, transparent 80%);
  filter:blur(4px); animation:sway 11s ease-in-out infinite alternate, flicker 7s steps(1) infinite; }
.beam i + i { width:110vmax; margin-left:-55vmax; opacity:.7; filter:blur(14px); animation-duration:15s, 9s; animation-delay:-4s, -3s; animation-direction:alternate-reverse, normal; }
@keyframes sway { from { transform:rotate(-7deg); } to { transform:rotate(7deg); } }
@keyframes flicker { 0%, 100% { opacity:1; } 41% { opacity:.86; } 43% { opacity:1; } 62% { opacity:.92; } 63% { opacity:.78; } 65% { opacity:1; } 88% { opacity:.9; } }
.facts, .sec, .final, .foot { position:relative; }
.sec p, .sec li, .sec h2, .sec h3, .sec .kicker, .sec .days b, .sec .days i, .final p, .final h2 { text-shadow:0 0 18px rgba(0,0,0,.95), 0 1px 3px rgba(0,0,0,.9); }
.days, .ticks, .pains, .vs, .faq, .steps3 { background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.35)); }
.facts { background:rgba(0,0,0,.55); }
.case, .dirs .dir, .pr, .pains li, .vs-row, .faq details, .grid4 > div { background:rgba(0,0,0,.5); }
.dir.on, .pr-main { background:var(--cinder); }
.foot { background:#000; }

/* Цифры */
.facts { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.facts div { padding:24px var(--pad); border-right:1px solid var(--line); }
.facts div:last-child { border-right:0; }
.facts b { display:block; font-weight:600; font-size:clamp(24px,2.6vw,38px); letter-spacing:-.04em; line-height:1; margin-bottom:8px; }
.facts span { color:var(--graphite); font-size:13px; line-height:1.35; display:block; }

/* ── 02 Боли ── */
.switch { display:inline-flex; margin-top:28px; border:1px solid var(--line); }
.switch button { background:none; border:0; color:var(--ash); font:inherit; font-size:14px; padding:10px 18px; cursor:pointer; }
.switch button.on { background:#fff; color:#000; }
.pains { list-style:none; border-top:1px solid var(--line); }
.pains li { display:grid; grid-template-columns:72px 1fr 1.2fr; gap:24px; align-items:baseline; padding:26px 0; border-bottom:1px solid var(--line); }
.pains i { font-style:normal; color:var(--graphite); font-size:13px; }
.pains p { color:var(--ash); grid-column:3; grid-row:1; transition:opacity .4s, transform .4s; }
.pains p[data-sys] { opacity:0; transform:translateY(8px); }
.pains.sys p[data-now] { opacity:0; transform:translateY(-8px); }
.pains.sys p[data-sys] { opacity:1; transform:none; color:#fff; }
.pains.sys i { color:var(--ember); }

/* ── 03 Направления ── */
.dirs { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.dir { position:relative; text-align:left; background:none; color:#fff; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 24px 28px; font:inherit; cursor:pointer; min-height:150px; display:flex; flex-direction:column; gap:6px; transition:background .25s; }
.dir::before { content:""; position:absolute; left:-1px; right:-1px; top:-1px; height:2px; background:var(--ember); transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.dir:hover::before, .dir.on::before { transform:scaleX(1); }
.dir.on { background:var(--cinder); }
.dir i { font-style:normal; color:var(--graphite); font-size:13px; margin-bottom:auto; }
.dir.on i { color:var(--ember); }
.dir b { font-weight:600; font-size:clamp(19px,1.8vw,24px); letter-spacing:-.025em; line-height:1.1; }
.dir span { color:var(--graphite); font-size:14px; }
.dir-info { display:grid; grid-template-columns:1.2fr 1fr .8fr; gap:32px; padding:32px 24px; border:1px solid var(--line); border-top:0; background:var(--cinder); }
.dir-info h3 { font-size:clamp(26px,2.6vw,36px); margin-bottom:12px; }
.dir-info p { color:var(--ash); }
.dir-info ul { list-style:none; border-top:1px solid var(--line); align-self:start; }
.dir-info li { padding:11px 0; border-bottom:1px solid var(--line); color:var(--ash); font-size:15px; }
.dir-info li::before { content:"→ "; color:var(--ember); }
.dir-info .links { color:#fff; font-size:15px; line-height:1.8; }
.dir-info.swap > * { animation:swap .5s cubic-bezier(.2,.8,.2,1); }
@keyframes swap { from { opacity:0; transform:translateY(10px); } }
.steps3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
.steps3 i { font-style:normal; font-weight:600; font-size:20px; letter-spacing:-.02em; display:block; margin-bottom:6px; }
.steps3 p { color:var(--graphite); }

/* ── 04 Кейсы ── */
.case { border:1px solid var(--line); display:grid; }
.case-wide { grid-template-columns:1.25fr 1fr; margin-bottom:-1px; }
.case-pic { overflow:hidden; background:var(--cinder); border-bottom:1px solid var(--line); }
.case-wide .case-pic { border-bottom:0; border-right:1px solid var(--line); }
.case-pic img { width:100%; height:100%; object-fit:cover; aspect-ratio:3/2; filter:grayscale(.35) contrast(1.05); transition:transform 1.2s cubic-bezier(.2,.8,.2,1), filter .6s; }
.case:hover .case-pic img { transform:scale(1.035); filter:none; }
.case-txt { padding:28px; display:flex; flex-direction:column; gap:14px; }
.case-txt p { color:var(--ash); }
.cases { display:grid; grid-template-columns:repeat(3,1fr); }
.cases .case { margin:0 -1px -1px 0; }
.case-text { grid-column:1 / -1; grid-template-columns:1fr 1fr; }
.case-text .case-txt + .case-txt { border-left:1px solid var(--line); }
.nums { display:flex; flex-wrap:wrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.nums div { flex:1 1 90px; padding:12px 14px 12px 0; color:var(--graphite); font-size:13px; line-height:1.3; }
.nums b { display:block; color:#fff; font-weight:600; font-size:28px; letter-spacing:-.04em; line-height:1.1; }
.nums-4 { margin-top:28px; }
.was, .now { font-size:12px; text-transform:uppercase; letter-spacing:.06em; padding:2px 6px; margin-right:4px; border:1px solid var(--line); color:var(--graphite); }
.now { border-color:var(--ember); color:var(--ember); }
.bars { display:flex; align-items:flex-end; gap:10px; height:160px; margin-top:6px; }
.bars div { flex:1; position:relative; height:100%; display:flex; flex-direction:column; justify-content:flex-end; }
.bars div::before { content:""; display:block; height:calc(var(--h) * 110px); background:var(--line); transform-origin:bottom; transform:scaleY(0); transition:transform 1.1s cubic-bezier(.2,.8,.2,1); order:1; }
.bars div:last-child::before { background:var(--ember); }
.bars.in div::before { transform:none; }
.bars div:nth-child(2)::before { transition-delay:.1s } .bars div:nth-child(3)::before { transition-delay:.2s } .bars div:nth-child(4)::before { transition-delay:.3s }
.bars b { order:0; font-weight:600; font-size:15px; letter-spacing:-.02em; }
.bars i { order:2; font-style:normal; color:var(--graphite); font-size:12px; margin-top:4px; }
.more { color:#fff; text-decoration:none; font-weight:500; margin-top:auto; align-self:flex-start; border-bottom:1px solid var(--ember); padding-bottom:2px; }
.more:hover { color:var(--ember); }
.plain { list-style:none; border-top:1px solid var(--line); }
.plain li { padding:9px 0; border-bottom:1px solid var(--line); color:var(--ash); }

/* ── 05 Аудит и форма ── */
.audit { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(32px,5vw,80px); align-items:start; }
.days { list-style:none; margin-top:36px; border-top:1px solid var(--line); }
.days li { display:grid; grid-template-columns:110px 1fr; gap:4px 20px; padding:18px 0; border-bottom:1px solid var(--line); }
.days i { font-style:normal; color:var(--ember); font-size:13px; grid-row:span 2; padding-top:3px; text-transform:uppercase; letter-spacing:.06em; }
.days b { font-weight:600; font-size:19px; letter-spacing:-.02em; }
.days p { color:var(--graphite); font-size:15px; }
.ticks { list-style:none; margin-top:28px; }
.ticks li { padding-left:26px; position:relative; color:var(--ash); margin-bottom:8px; }
.ticks li::before { content:""; position:absolute; left:0; top:.55em; width:12px; height:2px; background:var(--ember); }
.form-card { border:1px solid var(--line); background:var(--cinder); padding:clamp(22px,3vw,34px); position:sticky; top:84px; }
.price { font-weight:600; font-size:clamp(40px,4.4vw,60px); letter-spacing:-.05em; line-height:1; }
.form-card .sub { margin:10px 0 22px; font-size:15px; }
form { display:grid; gap:14px; }
.field { display:grid; gap:6px; }
label, legend { font-size:13px; color:var(--graphite); }
input, select { width:100%; min-height:48px; padding:0 14px; background:#000; color:#fff; border:1px solid var(--line); border-radius:0; font:inherit; font-size:16px; -webkit-appearance:none; appearance:none; }
select { background-image:linear-gradient(45deg, transparent 50%, #888 50%), linear-gradient(135deg, #888 50%, transparent 50%); background-position:calc(100% - 20px) 21px, calc(100% - 15px) 21px; background-size:5px 5px; background-repeat:no-repeat; padding-right:36px; }
input:focus, select:focus { outline:0; border-color:#fff; }
.field.bad input, .field.bad select { border-color:var(--ember); }
fieldset { border:0; }
.ways-row { display:grid; grid-template-columns:repeat(3,1fr); margin-top:6px; border:1px solid var(--line); }
.ways-row label { position:relative; cursor:pointer; }
.ways-row input { position:absolute; opacity:0; width:1px; height:1px; min-height:0; }
.ways-row span { display:block; text-align:center; padding:11px 4px; font-size:13px; color:var(--ash); border-right:1px solid var(--line); }
.ways-row label:last-child span { border-right:0; }
.ways-row input:checked + span { background:#fff; color:#000; }
.ways-row input:focus-visible + span { outline:2px solid var(--ember); outline-offset:-2px; }
.consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--graphite); cursor:pointer; }
.consent input { width:18px; height:18px; min-height:0; padding:0; flex:none; margin-top:1px; border:1px solid var(--line); background:#000; }
.consent input:checked { background:var(--ember); border-color:var(--ember); box-shadow:inset 0 0 0 3px #000; }
.consent.bad span { color:var(--ember); }
.consent a { color:var(--ash); }
form .btn { margin-top:6px; width:100%; }
.form-err { color:var(--ember); font-size:14px; min-height:1px; }
.form-ok { display:none; gap:8px; }
.form-ok b { font-weight:600; font-size:28px; letter-spacing:-.03em; }
.form-ok p { color:var(--ash); }
.sent form, .sent .sub { display:none; }
.sent .form-ok { display:grid; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ── 06 Кто ведёт ── */
.about { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(32px,5vw,80px); align-items:center; }
.portrait { position:relative; overflow:hidden; border:1px solid var(--line); aspect-ratio:2/3; --x:50%; --y:40%; }
.portrait img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.1) brightness(.9); }
.p-lines { position:absolute; inset:0; background:url(img/evgeny-lines.jpg) center/cover; mix-blend-mode:screen; filter:brightness(2) sepia(1) saturate(6) hue-rotate(-20deg);
  -webkit-mask-image:radial-gradient(circle 150px at var(--x) var(--y), #000 30%, transparent 100%); mask-image:radial-gradient(circle 150px at var(--x) var(--y), #000 30%, transparent 100%); opacity:0; transition:opacity .4s; }
.portrait:hover .p-lines, .portrait.auto .p-lines { opacity:1; }

/* ── 07 Сравнение ── */
.vs { border-top:1px solid var(--line); }
.vs-row { display:grid; grid-template-columns:.8fr 1fr 1.4fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); color:var(--graphite); }
.vs-row span:first-child { color:#fff; font-weight:500; }
.vs-row span:last-child { color:#fff; }
.vs-h { font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.vs-h span, .vs-h span:first-child, .vs-h span:last-child { color:var(--graphite); font-weight:400; }

/* ── 08 Цены ── */
.prices { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.pr { padding:30px 26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }
.pr i { font-style:normal; color:var(--graphite); font-size:13px; text-transform:uppercase; letter-spacing:.06em; }
.pr b { font-weight:600; font-size:clamp(34px,3.4vw,48px); letter-spacing:-.05em; line-height:1; }
.pr b small { font-size:18px; color:var(--graphite); letter-spacing:-.01em; font-weight:400; }
.pr > span { color:var(--ash); }
.pr ul { list-style:none; margin:10px 0 18px; border-top:1px solid var(--line); }
.pr li { padding:9px 0; border-bottom:1px solid var(--line); color:var(--ash); font-size:15px; }
.pr .btn { margin-top:auto; }
.pr-main { background:var(--cinder); }
.pr-main i { color:var(--ember); }

/* ── 09 Данные ── */
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.grid4 div { padding:24px 24px 24px 0; border-bottom:1px solid var(--line); }
.grid4 div + div { padding-left:24px; border-left:1px solid var(--line); }
.grid4 b { font-weight:600; font-size:19px; letter-spacing:-.02em; display:block; margin-bottom:8px; }
.grid4 p { color:var(--graphite); font-size:15px; }

/* ── 10 Вопросы ── */
.faq { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; cursor:pointer; padding:22px 40px 22px 0; position:relative; font-weight:500; font-size:clamp(17px,1.6vw,21px); letter-spacing:-.015em; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:4px; top:18px; font-size:26px; font-weight:300; color:var(--graphite); transition:transform .3s; }
.faq details[open] summary::after { transform:rotate(45deg); color:var(--ember); }
.faq details p { color:var(--ash); padding:0 0 24px; max-width:70ch; }

/* ── 11 Финал ── */
.final { position:relative; margin-top:clamp(100px,12vw,160px); border-top:1px solid var(--line); overflow:hidden; }
.final-in { position:relative; max-width:var(--max); margin:0 auto; padding:clamp(80px,10vw,130px) var(--pad); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px,5vw,80px); align-items:start; }
.final .form-card { position:static; }
.contacts { display:flex; flex-direction:column; gap:6px; margin-top:32px; font-size:clamp(20px,2vw,26px); font-weight:500; letter-spacing:-.02em; }
.contacts a { text-decoration:none; } .contacts a:hover { color:var(--ember); }
.foot { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:24px var(--pad) 28px; border-top:1px solid var(--line); color:var(--graphite); font-size:12px; }
.mbar { display:none; }

/* ── Телефон ── */
@media (max-width:980px) {
  .menu { display:none; } .top-cta { margin-left:auto; }
  .facts { grid-template-columns:repeat(2,1fr); } .facts div { border-bottom:1px solid var(--line); } .facts div:nth-child(2n) { border-right:0; } .facts div:last-child { grid-column:1 / -1; border-bottom:0; }
  .hero-row { flex-direction:column; align-items:flex-start; }
  .pains li { grid-template-columns:40px 1fr; gap:8px 12px; } .pains p { grid-column:2; grid-row:2; }
  .dirs { grid-template-columns:1fr 1fr; } .dir-info { grid-template-columns:1fr; }
  .steps3, .prices, .grid4 { grid-template-columns:1fr; } .grid4 div + div { padding-left:0; border-left:0; }
  .case-wide, .cases, .case-text, .audit, .about, .final-in { grid-template-columns:1fr; }
  .case-wide .case-pic { border-right:0; border-bottom:1px solid var(--line); }
  .case-text .case-txt + .case-txt { border-left:0; border-top:1px solid var(--line); }
  .form-card { position:static; }
  .about .portrait { max-width:420px; }
  .vs-row { grid-template-columns:1fr; gap:4px; } .vs-h { display:none; }
  .mbar { display:grid; grid-template-columns:1fr 1.4fr; position:fixed; left:0; right:0; bottom:0; z-index:30; border-top:1px solid var(--line); background:#000; padding-bottom:env(safe-area-inset-bottom); transform:translateY(110%); transition:transform .3s; }
  .mbar.show { transform:none; }
  .mbar a { text-align:center; padding:16px 8px; text-decoration:none; font-weight:500; } .mbar a.on { background:var(--ember); }
  .foot { padding-bottom:80px; }
  .logo img { height:40px; }
  .gauge { bottom:72px; } .gauge i { display:none; }
}
@media (max-width:560px) {
  .dirs { grid-template-columns:1fr; } .dir { min-height:auto; }
  .hero-cta { width:100%; } .hero-cta .btn { flex:1 1 100%; }
  .replay { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .lines > span > b, .rise, .bars div::before { transition:none; transform:none; opacity:1; }
  .hero.live .stage .glow, .hero.live .stage canvas, .hero.live .stage .xray, .beam i { animation:none; }
  .dust { display:none; }
}
