/* ВПРОД · тема «neon forge» — чистый чёрный, неоновые акценты, pill-формы, мягкие карточки.
   Самохостно: системный sans (SF Pro / Roboto / Segoe), без внешних шрифтов и CDN. */

:root{
  --bg:#050505;--bg2:#0A0A0A;--card:#111114;--card2:#16161B;
  --ink:#F5F5F7;--muted:#9A9AA6;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);
  --pink:#FF2D95;--lime:#39FF14;--mint:#00FF9F;--purple:#7B61FF;--violet:#9C27B0;--cyan:#00E5FF;--orange:#FF6B35;--yellow:#FFD23F;
  --on-lime:#04110A;--on-pink:#FFF;--on-purple:#FFF;--on-cyan:#031A1E;--on-orange:#1A0800;
  --font:system-ui,-apple-system,"SF Pro Display","SF Pro Text",Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --fs-micro:12px;--fs-small:14px;--fs-body:16px;--fs-h3:20px;--fs-h2:28px;--fs-h1:36px;
  --fs-display:clamp(2.6rem,1.4rem + 6.4vw,6.4rem);
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:20px;--sp-5:32px;--sp-6:48px;--sp-7:88px;
  --r:20px;--r-lg:32px;--pill:9999px;
  --glow-pink:0 0 40px rgba(255,45,149,.35);--glow-lime:0 0 40px rgba(57,255,20,.30);
  --glow-purple:0 0 40px rgba(123,97,255,.40);--glow-cyan:0 0 36px rgba(0,229,255,.32);
  --measure:66ch;
  /* совместимость со старыми классами (кабинет/админка) */
  --accent:var(--pink);--accent-ink:var(--pink);--ok:var(--mint);--err:#FF5A5A;--surface:var(--card);
  --term-bg:var(--card);--term-surface:var(--card2);--term-ink:var(--ink);--term-muted:var(--muted);
  --term-line:var(--line2);--term-accent:var(--lime);--term-ok:var(--mint);
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font-family:var(--font);font-size:var(--fs-body);line-height:1.55;background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-wrap:break-word}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
mark{background:none;color:inherit;padding:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.muted{color:var(--muted)}
.small{font-size:var(--fs-small)}
.lbl{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-micro);font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.lbl::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}

/* ── кнопки и pill-теги ────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;
  padding:14px 26px;font:inherit;font-weight:700;font-size:var(--fs-body);cursor:pointer;
  background:var(--lime);color:var(--on-lime);border-radius:var(--pill);text-decoration:none;min-height:48px;
  transition:transform .18s cubic-bezier(.2,0,0,1),box-shadow .18s;box-shadow:var(--glow-lime)}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 56px rgba(57,255,20,.45);text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2);box-shadow:none}
.btn.ghost:hover{border-color:var(--ink);box-shadow:none}
.btn.pink{background:var(--pink);color:var(--on-pink);box-shadow:var(--glow-pink)}
.btn.pink:hover{box-shadow:0 0 56px rgba(255,45,149,.5)}
.btn.purple{background:var(--purple);color:var(--on-purple);box-shadow:var(--glow-purple)}
.btn.sm{padding:8px 16px;font-size:var(--fs-small);min-height:auto;box-shadow:none}
.btn.sm:hover{transform:none}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:var(--pill);padding:7px 14px;
  font-size:var(--fs-small);font-weight:700;line-height:1;white-space:nowrap}
.pill.lime{background:var(--lime);color:var(--on-lime)}
.pill.pink{background:var(--pink);color:#fff}
.pill.purple{background:var(--purple);color:#fff}
.pill.cyan{background:var(--cyan);color:var(--on-cyan)}
.pill.orange{background:var(--orange);color:var(--on-orange)}
.pill.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line2)}
.pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.75}

/* ── шапка ─────────────────────────────────────────────────────── */
header.site{position:sticky;top:0;z-index:20;background:rgba(5,5,5,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:var(--sp-4);padding:14px 0}
.brand{font-weight:900;font-size:22px;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand .tilde{color:var(--pink)}
.nav-links{display:flex;gap:var(--sp-4);margin-left:auto;align-items:center}
.nav-links a{font-size:var(--fs-small);font-weight:600;color:var(--muted);padding:6px 4px}
.nav-links a:hover{color:var(--ink);text-decoration:none}
.nav-links a::before{content:""}
.nav-links a.plain{color:var(--muted)}
.nav .btn{padding:10px 18px;font-size:var(--fs-small);min-height:auto;box-shadow:none}
.menu{margin-left:auto;position:relative;display:none}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--line2);border-radius:var(--pill);font-size:20px}
.menu summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;right:0;top:calc(100% + 10px);background:var(--card);border:1px solid var(--line2);
  border-radius:var(--r);display:flex;flex-direction:column;min-width:240px;z-index:30;padding:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.menu-panel a{padding:12px 14px;border-radius:12px;color:var(--ink);font-weight:600}
.menu-panel a:hover{background:var(--card2);text-decoration:none}
@media(max-width:900px){.nav-links,.cta-header{display:none}.menu{display:block}.nav{justify-content:space-between}}

/* ── flash ─────────────────────────────────────────────────────── */
.flash{border-radius:var(--r);padding:12px 18px;margin:var(--sp-4) 0 0;font-size:var(--fs-small);font-weight:600;
  border:1px solid var(--line2);background:var(--card)}
.flash.ok{border-color:rgba(0,255,159,.5);color:var(--mint)}
.flash.err{border-color:rgba(255,90,90,.5);color:#FF7A7A}

/* ── страницы/секции ───────────────────────────────────────────── */
.page{padding-top:var(--sp-6);padding-bottom:var(--sp-7)}
.page-head{margin:var(--sp-4) 0 var(--sp-6);max-width:var(--measure)}
.page-head h1{font-size:var(--fs-h1);font-weight:900;letter-spacing:-.025em;line-height:1.1;margin-top:var(--sp-3);text-wrap:balance}
.page-head p{color:var(--muted);margin-top:var(--sp-3)}
section.land{padding:var(--sp-7) 0;position:relative}
section.dark{background:var(--bg2)}
.sec-head{margin-bottom:var(--sp-6);max-width:var(--measure)}
.sec-head h2{font-size:clamp(1.9rem,1.2rem + 2.6vw,3rem);font-weight:900;letter-spacing:-.025em;line-height:1.08;margin-top:var(--sp-3);text-wrap:balance}
.sec-head p{color:var(--muted);margin-top:var(--sp-3);font-size:17px}
.spark-rule{display:none}

/* мультицветные слова */
.c-pink{color:var(--pink)}.c-lime{color:var(--lime)}.c-purple{color:var(--purple)}.c-cyan{color:var(--cyan)}.c-orange{color:var(--orange)}.c-yellow{color:var(--yellow)}
.hi{color:var(--ink)}.hi-acc{color:var(--lime)}

/* ── hero ──────────────────────────────────────────────────────── */
.hero{padding:var(--sp-7) 0 var(--sp-6);position:relative;overflow:hidden}
.hero .display{font-size:var(--fs-display);font-weight:900;letter-spacing:-.035em;line-height:.98;text-wrap:balance;max-width:14ch}
.hero .display .cursor{display:none}
.kicker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-5)}
.hero-sub{font-size:clamp(1.05rem,.95rem + .6vw,1.35rem);color:var(--muted);max-width:56ch;margin:var(--sp-5) 0 var(--sp-5);line-height:1.5}
.hero-sub em,.hero-sub b{font-style:normal;color:var(--ink);font-weight:700}
.hero-props{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-5)}
.hero-props li{border-radius:var(--pill);padding:7px 14px;font-size:var(--fs-small);font-weight:600;border:1.5px solid var(--line2);color:var(--ink)}
.hero-props li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px;background:var(--cyan)}
.hero-props li:nth-child(2)::before{background:var(--pink)}
.hero-props li:nth-child(3)::before{background:var(--lime)}
.cta-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6);align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero-xl .display{max-width:12ch}
.hero-xl .kicker b{font-weight:700}
/* парящие фигуры */
.blobs{position:absolute;inset:0;pointer-events:none;z-index:0}
.blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.9;animation:float 9s ease-in-out infinite}
.blob.b1{width:120px;height:120px;background:radial-gradient(circle at 35% 35%,#FF7DBB,var(--pink) 60%,#7A0E45);right:6%;top:8%;box-shadow:var(--glow-pink)}
.blob.b2{width:70px;height:70px;background:radial-gradient(circle at 35% 35%,#B4FFA6,var(--lime) 60%,#0F5A08);right:26%;top:52%;animation-delay:-3s;box-shadow:var(--glow-lime)}
.blob.b3{width:44px;height:44px;background:radial-gradient(circle at 35% 35%,#C9BEFF,var(--purple) 60%,#2A1A80);right:14%;bottom:12%;animation-delay:-6s;box-shadow:var(--glow-purple)}
.bar{position:absolute;border-radius:var(--pill);pointer-events:none;opacity:.95;animation:float 11s ease-in-out infinite}
.bar.k1{width:180px;height:22px;background:var(--cyan);right:2%;top:36%;transform:rotate(-24deg);box-shadow:var(--glow-cyan)}
.bar.k2{width:110px;height:16px;background:var(--orange);right:36%;top:22%;transform:rotate(18deg);animation-delay:-5s}
.dots{position:absolute;pointer-events:none;width:120px;height:120px;right:40%;bottom:6%;
  background-image:radial-gradient(var(--line2) 2px,transparent 2px);background-size:14px 14px;opacity:.7}
@keyframes float{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-14px) rotate(var(--rot,0deg))}}
.bar.k1{--rot:-24deg}.bar.k2{--rot:18deg}
@media(prefers-reduced-motion:reduce){.blob,.bar{animation:none}}
.hero .wrap{position:relative;z-index:1}
/* окно-мокап справа в hero (заменяет терминал) */
.term{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04) inset}
.term-bar{display:flex;gap:1ch;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em}
.term-bar::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--pink);box-shadow:16px 0 0 var(--yellow),32px 0 0 var(--lime);margin-right:34px}
.forge-scene{padding:0}
.forge-svg-wrap{display:none}  /* наковальня — старая метафора; новый hero — статус-панель */
.forge-readout{padding:20px 20px 22px;font-size:var(--fs-small);line-height:1.9;white-space:pre-wrap;color:var(--muted)}
.forge-readout .c{color:var(--purple)}
.forge-readout .ok{color:var(--mint);font-weight:700}
.forge-readout .hl{color:var(--lime);font-weight:800}
.term-body{padding:16px 18px;white-space:pre-wrap}
.price-anchor{color:var(--cyan);text-decoration:none;border-bottom:3px solid var(--cyan)}
.price-anchor:hover{color:var(--ink);border-color:var(--ink);text-decoration:none}

/* ── карточки/сетки ────────────────────────────────────────────── */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
@media(max-width:900px){.grid3{grid-template-columns:1fr}}
@media(max-width:700px){.grid2{grid-template-columns:1fr}}
.frame{border:1px solid var(--line2);position:relative;background:var(--card);border-radius:var(--r-lg)}
.frame>.frame-t{position:absolute;top:-14px;left:20px;border-radius:var(--pill);padding:5px 12px;font-size:var(--fs-micro);
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--purple);color:#fff}
.frame>.frame-t::before,.frame>.frame-t::after{content:""}
.frame.hot{border-color:var(--pink);box-shadow:var(--glow-pink)}
.frame.hot>.frame-t{background:var(--pink)}
.card{padding:var(--sp-5) var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);
  transition:transform .2s cubic-bezier(.2,0,0,1),box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,.55)}
.card h3{font-size:var(--fs-h3);font-weight:800;line-height:1.25;letter-spacing:-.01em}
.card h3 a{color:var(--ink)}
.card .meta{font-size:var(--fs-small);color:var(--muted)}
.card .price{font-weight:900;font-size:24px;letter-spacing:-.02em;color:var(--lime)}
.card .price small{color:var(--muted);font-weight:600;font-size:var(--fs-small);letter-spacing:0}
.card p.descr{font-size:var(--fs-small);color:var(--muted);flex:1;line-height:1.55}
/* цветные карточки «что делаем» */
#what .grid3 .frame:nth-child(1){border-color:rgba(57,255,20,.35)}#what .grid3 .frame:nth-child(1)>.frame-t{background:var(--lime);color:var(--on-lime)}
#what .grid3 .frame:nth-child(2){border-color:rgba(255,45,149,.4)}#what .grid3 .frame:nth-child(2)>.frame-t{background:var(--pink)}
#what .grid3 .frame:nth-child(3){border-color:rgba(123,97,255,.45)}#what .grid3 .frame:nth-child(3)>.frame-t{background:var(--purple)}
#what .grid3 .frame:nth-child(2) .price{color:var(--pink)}#what .grid3 .frame:nth-child(3) .price{color:var(--purple)}

/* config-dump список → пилюли-строки */
.conf{list-style:none;border-top:1px solid var(--line)}
.conf li{display:grid;grid-template-columns:18ch 1fr;gap:var(--sp-3);padding:14px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small);align-items:baseline}
.conf .k{color:var(--cyan);font-weight:700;letter-spacing:.02em}
.conf .k::after{content:""}
@media(max-width:560px){.conf li{grid-template-columns:1fr;gap:4px}}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--sp-5)}
.chip{border:1.5px solid var(--line2);border-radius:var(--pill);padding:8px 14px;font-size:var(--fs-small);font-weight:600;color:var(--ink);background:transparent}
.chip:hover{border-color:var(--ink);text-decoration:none}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip .n{color:var(--pink);font-weight:800;margin-left:6px}
.chip.on .n{color:var(--pink)}
.badge{display:inline-flex;align-items:center;border-radius:var(--pill);padding:3px 10px;font-size:var(--fs-micro);font-weight:700;
  border:1.5px solid var(--line2);color:var(--muted);white-space:nowrap}
.badge.approved,.badge.accepted,.badge.done,.badge.closed{border-color:var(--mint);color:var(--mint)}
.badge.pending,.badge.new,.badge.open{border-color:var(--pink);color:var(--pink)}
.badge.rejected,.badge.declined,.badge.cancelled{border-color:#FF5A5A;color:#FF7A7A}
.badge.in_progress,.badge.delivered{border-color:var(--cyan);color:var(--cyan)}

/* ── формы ─────────────────────────────────────────────────────── */
form.stack{display:flex;flex-direction:column;gap:var(--sp-3);max-width:64ch}
label.f{display:flex;flex-direction:column;gap:8px;font-size:var(--fs-small);color:var(--muted)}
label.f b{color:var(--ink);font-weight:700}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],textarea,select{
  width:100%;padding:14px 16px;border:1.5px solid var(--line2);border-radius:14px;background:var(--card);color:var(--ink);
  font:inherit;font-size:var(--fs-body)}
input::placeholder,textarea::placeholder{color:#6B6B78}
textarea{min-height:120px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--cyan);outline-offset:0;border-color:var(--cyan)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
@media(max-width:560px){.form-row{grid-template-columns:1fr}}
.hint{font-size:var(--fs-micro);color:var(--muted)}
.rows{border-top:1px solid var(--line)}
.row-i{display:flex;gap:var(--sp-4);align-items:baseline;flex-wrap:wrap;padding:var(--sp-3) 0;border-bottom:1px solid var(--line);font-size:var(--fs-small)}
.row-i .grow{flex:1;min-width:24ch}
.row-i b{font-size:var(--fs-body);font-weight:700}
.row-i form{display:inline}

/* ── этапы «как мы работаем»: bento из цветных карточек ─────────── */
.stages{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);border:0}
@media(max-width:900px){.stages{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.stages{grid-template-columns:1fr}}
.stages li{display:block;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-4) var(--sp-4);
  position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.2,0,0,1)}
.stages li:hover{transform:translateY(-4px)}
.stages .st-n{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;
  font-size:var(--fs-h3);font-weight:900;margin-bottom:var(--sp-3);color:var(--bg)}
.stages li:nth-child(1) .st-n{background:var(--lime);box-shadow:var(--glow-lime)}
.stages li:nth-child(2) .st-n{background:var(--pink);color:#fff;box-shadow:var(--glow-pink)}
.stages li:nth-child(3) .st-n{background:var(--purple);color:#fff;box-shadow:var(--glow-purple)}
.stages li:nth-child(4) .st-n{background:var(--cyan);box-shadow:var(--glow-cyan)}
.stages li:nth-child(5) .st-n{background:var(--orange)}
.stages li:nth-child(6) .st-n{background:var(--yellow)}
.stages li::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;opacity:.14;filter:blur(8px)}
.stages li:nth-child(1)::after{background:var(--lime)}.stages li:nth-child(2)::after{background:var(--pink)}
.stages li:nth-child(3)::after{background:var(--purple)}.stages li:nth-child(4)::after{background:var(--cyan)}
.stages li:nth-child(5)::after{background:var(--orange)}.stages li:nth-child(6)::after{background:var(--yellow)}
.stages h3{font-size:var(--fs-h3);font-weight:800;line-height:1.25;letter-spacing:-.01em}
.stages p{font-size:var(--fs-small);color:var(--muted);margin-top:8px;line-height:1.55}
.stages .st-last .st-n{background:var(--mint)}
.stages b.hi-acc{color:var(--lime)}

/* ── конкурс: сплошной цветной блок ─────────────────────────────── */
#contest{background:var(--purple);color:#fff;border-radius:var(--r-lg);margin:0 clamp(8px,2vw,24px)}
#contest .lbl{color:rgba(255,255,255,.75)}#contest .lbl::before{background:#fff;box-shadow:none}
#contest h2{color:#fff}#contest mark{color:var(--lime);background:none}
#contest .contest-sub,#contest .muted{color:rgba(255,255,255,.8)}
#contest .contest-side{border-color:rgba(255,255,255,.25)}
#contest .btn{background:#fff;color:var(--purple);box-shadow:0 0 40px rgba(255,255,255,.25)}
#contest .hi-acc{color:var(--lime)}
.contest-compact{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6);align-items:center}
@media(max-width:820px){.contest-compact{grid-template-columns:1fr;gap:var(--sp-4)}}
.contest-compact h2{font-size:clamp(1.9rem,1.2rem + 2.6vw,3rem);font-weight:900;line-height:1.08;letter-spacing:-.025em;margin-top:var(--sp-3);text-wrap:balance}
.contest-sub{margin-top:var(--sp-3);max-width:56ch}
.contest-side{border-left:1px solid;padding-left:var(--sp-5)}
@media(max-width:820px){.contest-side{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.25);padding-top:var(--sp-4)}}
.contest-when{font-size:var(--fs-body);margin-bottom:var(--sp-3);line-height:1.5}

/* ── тарифы ────────────────────────────────────────────────────── */
.tariffs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);align-items:stretch}
@media(max-width:900px){.tariffs{grid-template-columns:1fr}}
.tariff{display:flex;flex-direction:column;padding:var(--sp-5) var(--sp-4) var(--sp-4)}
.tariff:nth-child(1){border-color:rgba(57,255,20,.4)}.tariff:nth-child(1)>.frame-t{background:var(--lime);color:var(--on-lime)}
.tariff:nth-child(2){border-color:rgba(255,45,149,.5)}.tariff:nth-child(2)>.frame-t{background:var(--pink)}
.tariff:nth-child(3){border-color:rgba(123,97,255,.5)}.tariff:nth-child(3)>.frame-t{background:var(--purple)}
.tariff .t-price{font-size:38px;font-weight:900;letter-spacing:-.03em;line-height:1}
.tariff:nth-child(1) .t-price{color:var(--lime)}.tariff:nth-child(2) .t-price{color:var(--pink)}.tariff:nth-child(3) .t-price{color:var(--purple)}
.tariff .t-days{display:inline-flex;align-self:flex-start;border-radius:var(--pill);padding:5px 12px;font-size:var(--fs-small);font-weight:700;
  background:var(--card2);color:var(--ink);margin:10px 0 var(--sp-3)}
.tariff h3{font-size:var(--fs-h3);font-weight:800;line-height:1.3;margin-bottom:var(--sp-2)}
.tariff .descr{font-size:var(--fs-small);color:var(--muted);margin-bottom:var(--sp-3)}
.tariff ul{list-style:none;font-size:var(--fs-small);flex:1;margin-bottom:var(--sp-4)}
.tariff li{padding:6px 0;color:var(--ink)}
.tariff li::before{content:"✓ ";color:var(--mint);font-weight:800}
.tariff.feat{background:var(--card2);box-shadow:var(--glow-pink)}
.tariff .btn{width:100%}
.tariff:nth-child(2) .btn{background:var(--pink);color:#fff;box-shadow:none}
.tariff:nth-child(3) .btn{background:var(--purple);color:#fff;box-shadow:none}

/* ── конфигуратор ──────────────────────────────────────────────── */
.cfg{max-width:860px}
.cfg fieldset{border:0;margin:0 0 var(--sp-5);min-width:0}
.cfg legend{font-size:var(--fs-h2);font-weight:900;letter-spacing:-.02em;margin-bottom:var(--sp-4)}
.cfg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-3)}
@media(max-width:560px){.cfg-cards{grid-template-columns:1fr 1fr}}
.cfg-card{position:relative;cursor:pointer}
.cfg-card input{position:absolute;opacity:0;pointer-events:none}
.cfg-card .cb{display:flex;flex-direction:column;gap:4px;border:1.5px solid var(--line2);background:var(--card);border-radius:var(--r);
  padding:var(--sp-3) var(--sp-4);min-height:72px;height:100%;transition:border-color .15s,box-shadow .15s}
.cfg-card .cb small{color:var(--muted);font-size:var(--fs-micro)}
.cfg-card input:checked + .cb{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime),var(--glow-lime);background:var(--card2)}
.cfg-card input:focus-visible + .cb{outline:2px solid var(--cyan);outline-offset:2px}
.cfg-chips{display:flex;flex-wrap:wrap;gap:8px}
.cfg-chip{position:relative;cursor:pointer}
.cfg-chip input{position:absolute;opacity:0;pointer-events:none}
.cfg-chip span{display:inline-block;border:1.5px solid var(--line2);background:transparent;border-radius:var(--pill);padding:9px 16px;font-size:var(--fs-small);font-weight:600}
.cfg-chip input:checked + span{background:var(--pink);color:#fff;border-color:var(--pink)}
.cfg-chip input:focus-visible + span{outline:2px solid var(--cyan);outline-offset:2px}
.cfg-tz input:checked + span{background:var(--lime);color:var(--on-lime);border-color:var(--lime)}
.cfg-nav{display:flex;gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap}
.cfg-skip{margin-top:var(--sp-4);font-size:var(--fs-small)}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--cyan);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.est{margin-top:var(--sp-5);max-width:860px}
.est-body{padding:18px 20px 20px}
.est-price{font-size:clamp(1.8rem,1.4rem + 2vw,2.6rem);font-weight:900;letter-spacing:-.03em;color:var(--lime);text-shadow:0 0 30px rgba(57,255,20,.35)}
.est-days{color:var(--ink);font-size:var(--fs-small);margin-top:4px}
.est-days b{color:var(--cyan)}
.est-note{color:var(--muted);font-size:var(--fs-micro);margin-top:var(--sp-2);max-width:64ch;line-height:1.5}
.est-full{color:var(--muted);font-size:var(--fs-small)}
.est-full s{text-decoration-thickness:2px}
.est-disc{border-top:1px dashed var(--line2);margin-top:var(--sp-3);padding-top:var(--sp-3);font-size:var(--fs-small)}
.est-disc b{color:var(--pink)}
.proof{margin-top:var(--sp-5);border-top:1px dashed var(--line2);padding-top:var(--sp-4)}
.proof .conf{margin-top:var(--sp-3)}
.quick{border:1px solid var(--line2);background:var(--card);color:var(--ink);padding:0;border-radius:var(--r-lg);
  width:min(520px,calc(100vw - 32px));box-shadow:0 30px 90px rgba(0,0,0,.7);margin:auto;max-height:calc(100vh - 32px);overflow:auto}
.quick::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(6px)}
.quick-form{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5) var(--sp-4)}
.quick-form h2{font-size:var(--fs-h2);font-weight:900;line-height:1.15;letter-spacing:-.02em}

/* ── скидки/таймеры, кабинет ───────────────────────────────────── */
.disc-box{padding:var(--sp-4)}
.disc-title{font-size:var(--fs-body);font-weight:700}
.disc-now{font-size:var(--fs-h2);font-weight:900;margin-top:4px;color:var(--lime)}
.disc-pct{display:inline-flex;background:var(--pink);color:#fff;border-radius:var(--pill);padding:3px 10px;font-size:var(--fs-small);vertical-align:middle;margin-left:8px;font-weight:800}
.disc-tiers{margin-top:var(--sp-3);border-top:1px solid var(--line)}
.disc-tier{display:grid;grid-template-columns:7ch 1fr auto;gap:var(--sp-3);padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small);align-items:baseline}
.disc-tier b{color:var(--pink)}
.disc-tier .cd{color:var(--cyan);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.disc-tier.off{color:var(--muted);text-decoration:line-through}
.disc-tier.off b,.disc-tier.off .cd{color:var(--muted);font-weight:400}
.disc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-4);margin:var(--sp-3) 0 var(--sp-6)}
@media(max-width:560px){.disc-tier{grid-template-columns:6ch 1fr}.disc-tier .cd{grid-column:2}}
.path{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}
.path li{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:var(--sp-4)}
.path li.p-win{border-color:var(--pink);box-shadow:var(--glow-pink)}
.path .p-n{display:block;font-size:var(--fs-micro);color:var(--muted);letter-spacing:.06em;font-weight:700;margin-bottom:6px}
.path b{display:block;font-size:var(--fs-h3);font-weight:800}
.path .p-d{display:block;font-size:var(--fs-small);color:var(--muted);margin-top:6px}
@media(max-width:820px){.path{grid-template-columns:1fr}}

/* ── админка/аналитика/вебвизор — совместимость ─────────────────── */
.ab-panel{border:1px solid var(--line2);background:var(--card);padding:var(--sp-4);border-radius:var(--r-lg)}
.ab-bar{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;padding-bottom:var(--sp-4);border-bottom:1px dashed var(--line2);margin-bottom:var(--sp-4);font-size:var(--fs-small)}
.ab-bar .grow{flex:1;min-width:28ch}
.ab-bar form{display:inline}
.ab-grid{gap:var(--sp-4)}
.ab-card{border:1px solid var(--line2);background:var(--bg2);padding:var(--sp-4);border-radius:var(--r)}
.ab-card.lead{border-color:var(--lime);box-shadow:var(--glow-lime)}
.ab-name{font-size:var(--fs-body);font-weight:700;margin-bottom:var(--sp-3)}
.ab-key{display:inline-flex;background:var(--ink);color:var(--bg);border-radius:var(--pill);padding:2px 10px;margin-right:6px;font-weight:800}
.ab-card.lead .ab-key{background:var(--lime)}
.ab-flag{color:var(--lime);font-size:var(--fs-micro);font-weight:700}
.ab-cr{font-size:var(--fs-h1);font-weight:900;line-height:1;letter-spacing:-.02em}
.ab-cr small{font-size:var(--fs-h3);color:var(--muted);margin-left:2px}
.ab-track{height:8px;background:var(--line2);border-radius:var(--pill);margin:var(--sp-3) 0;overflow:hidden}
.ab-track span{display:block;height:100%;background:var(--lime);min-width:2px}
.ab-nums{margin-top:var(--sp-3);font-size:var(--fs-small)}
.ab-verdict{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px dashed var(--line2);font-size:var(--fs-small);line-height:1.6}
.ab-verdict .win{color:var(--mint);font-weight:700}
.lead-i{align-items:flex-start}
.lead-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v-badge{display:inline-flex;padding:2px 10px;font-size:var(--fs-micro);border-radius:var(--pill);margin-left:6px;vertical-align:middle;font-weight:700;border:1.5px solid var(--line2)}
.v-a{color:var(--muted)}.v-b{background:var(--pink);color:#fff;border-color:var(--pink)}.v-c{color:var(--pink);border-color:var(--pink)}
.funnel{display:flex;flex-direction:column;gap:8px;max-width:900px}
.f-step{display:grid;grid-template-columns:19ch minmax(0,1fr) 22ch;gap:var(--sp-3);align-items:center;font-size:var(--fs-small)}
.f-label{text-align:right;color:var(--muted)}
.f-track{background:var(--card);border:1px solid var(--line2);height:44px;border-radius:var(--pill);overflow:hidden}
.f-fill{height:100%;background:var(--purple);display:flex;align-items:center;padding:0 14px;min-width:2ch;color:#fff;font-weight:900;font-size:var(--fs-h3);white-space:nowrap;border-radius:var(--pill)}
.f-step.last .f-fill{background:var(--lime);color:var(--on-lime)}
.f-conv{color:var(--muted);font-size:var(--fs-micro)}
@media(max-width:760px){.f-step{grid-template-columns:1fr;gap:4px}.f-label{text-align:left}}
.ab-funnel{max-width:900px;font-size:var(--fs-small);border-top:1px solid var(--line)}
.af-head,.af-row{display:grid;grid-template-columns:17ch 1fr 1fr 1fr;gap:var(--sp-3);padding:8px 0;border-bottom:1px solid var(--line);align-items:baseline}
.af-head{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.05em}
.af-label{color:var(--muted)}
.af-bar{color:var(--pink);letter-spacing:-.5px}
@media(max-width:760px){.af-head{display:none}.af-row{grid-template-columns:1fr;gap:2px}}
.an-head{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.05em}
.an-head .grow{min-width:24ch}
.ok-txt{color:var(--mint);font-weight:700}
.an-cols .conf{margin-top:var(--sp-3)}
.an-route{margin-top:3px;color:var(--cyan);overflow-wrap:anywhere}
.an-route::before{content:"→ ";color:var(--muted)}
.vis-i{align-items:center}
.vis-i .grow{min-width:30ch}
.player-bar{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-3);padding:10px 14px;border:1px solid var(--line2);background:var(--card);border-radius:var(--r)}
.player-bar label{display:flex;gap:6px;align-items:center}
.player-bar select{padding:6px 10px;font:inherit;font-size:var(--fs-small);border-radius:10px;background:var(--card2);color:var(--ink);border:1px solid var(--line2)}
.pl-track{flex:1;min-width:120px;height:8px;background:var(--line2);position:relative;border-radius:var(--pill);overflow:hidden}
.pl-fill{height:100%;background:var(--lime);width:0}
.player{position:relative;border:1px solid var(--line2);background:#fff;overflow:hidden;max-width:100%;border-radius:var(--r)}
.player iframe{display:block;border:0;pointer-events:none}
.player canvas{position:absolute;inset:0;pointer-events:none}
.pl-cursor{position:absolute;width:0;height:0;left:-100px;top:-100px;pointer-events:none;z-index:3;
  border-left:10px solid var(--pink);border-top:6px solid transparent;border-bottom:6px solid transparent;transform:rotate(-30deg);filter:drop-shadow(0 0 2px #000)}
.pl-click{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:3px solid var(--pink);pointer-events:none;z-index:2;animation:pl-ring 1.4s ease-out forwards}
@keyframes pl-ring{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.8);opacity:0}}
.steps{list-style:none;counter-reset:st;max-width:840px}
.steps li{counter-increment:st;display:grid;grid-template-columns:5ch 1fr;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(st);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--purple);color:#fff;font-weight:900}
.steps h3{font-size:var(--fs-body);font-weight:800}
.steps p{color:var(--muted);font-size:var(--fs-small);margin-top:4px}

/* ── футер ─────────────────────────────────────────────────────── */
footer.site{padding:var(--sp-6) 0;font-size:var(--fs-small);color:var(--muted);border-top:1px solid var(--line);margin-top:var(--sp-7)}
footer.site .row{display:flex;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}
footer.site .sig::before{content:"✦ ";color:var(--pink)}
footer.site a{color:var(--ink)}

/* ── финальный CTA: сплошной розовый блок ───────────────────────── */
#cta{background:var(--pink);border-radius:var(--r-lg);margin:0 clamp(8px,2vw,24px) var(--sp-6);color:#fff}
#cta .frame{border:0;background:transparent;box-shadow:none;padding:var(--sp-5) 0!important}
#cta .lbl{color:rgba(255,255,255,.8)}#cta .lbl::before{background:#fff;box-shadow:none}
#cta h2{color:#fff}#cta h2 .c-lime{color:var(--lime)}
#cta .muted{color:rgba(255,255,255,.82)}
#cta .btn.pink,#cta .btn{background:#fff;color:var(--pink);box-shadow:0 0 44px rgba(255,255,255,.28)}
#cta .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}

/* ── геометрический «молот и наковальня» — декор в «что делаем» ──── */
.forge-geo{position:absolute;right:clamp(0px,3vw,40px);top:var(--sp-6);width:150px;height:130px;pointer-events:none;opacity:.95}
.forge-geo .anvil{position:absolute;left:10px;bottom:10px;width:120px;height:34px;border-radius:12px 12px 26px 26px;background:var(--purple);box-shadow:var(--glow-purple)}
.forge-geo .anvil::after{content:"";position:absolute;left:34px;bottom:-16px;width:52px;height:18px;border-radius:0 0 14px 14px;background:var(--violet)}
.forge-geo .hammer{position:absolute;left:58px;top:2px;width:16px;height:70px;border-radius:var(--pill);background:var(--orange);transform-origin:50% 100%;
  animation:hammer 1.6s cubic-bezier(.6,0,.4,1) infinite}
.forge-geo .hammer::before{content:"";position:absolute;left:-14px;top:-6px;width:44px;height:22px;border-radius:10px;background:var(--pink);box-shadow:var(--glow-pink)}
.forge-geo .spark{position:absolute;left:66px;bottom:44px;width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px var(--lime);opacity:0;animation:spark 1.6s linear infinite}
.forge-geo .spark.s2{left:82px;animation-delay:.08s}.forge-geo .spark.s3{left:50px;animation-delay:.14s}
@keyframes hammer{0%,55%{transform:rotate(-38deg)}70%{transform:rotate(0)}76%{transform:rotate(-6deg)}100%{transform:rotate(-38deg)}}
@keyframes spark{0%,68%{opacity:0;transform:translate(0,0) scale(.4)}72%{opacity:1;transform:translate(0,-6px) scale(1)}100%{opacity:0;transform:translate(var(--dx,14px),-40px) scale(.6)}}
.forge-geo .spark.s2{--dx:22px}.forge-geo .spark.s3{--dx:-18px}
@media(prefers-reduced-motion:reduce){.forge-geo .hammer,.forge-geo .spark{animation:none}}
@media(max-width:900px){.forge-geo{display:none}}
#what{overflow:hidden}

/* ── мобильный hero: фигуры уходят на второй план, текст не уезжает ── */
.hero{contain:paint}
.hero .wrap{max-width:1180px;min-width:0}
.hero .display{overflow-wrap:anywhere}
@media(max-width:900px){
  .hero{padding-top:var(--sp-6)}
  .hero .display{font-size:clamp(2.3rem,1.2rem + 7.5vw,4rem);max-width:none;letter-spacing:-.03em;line-height:1.02}
  .hero-sub{font-size:1.02rem}
  .blobs{opacity:.85}
  .blob.b1{width:80px;height:80px;right:-20px;top:4%}
  .blob.b2{width:44px;height:44px;right:8%;top:60%}
  .blob.b3{display:none}
  .bar.k1{width:110px;height:14px;right:-30px;top:30%}
  .bar.k2{width:70px;height:10px;right:24%;top:14%}
  .dots{display:none}
  .kicker .pill{font-size:12px;padding:6px 11px}
}
@media(max-width:560px){
  .hero-grid{gap:var(--sp-5)}
  .cta-row .btn{width:100%}
}
/* hero главной: сетка 7/5 держит панель справа, заголовок не крошится */
.hero-grid .display{font-size:clamp(2.4rem,1.2rem + 4.6vw,5rem);max-width:12ch;overflow-wrap:normal;hyphens:manual}
.hero-grid .term{align-self:center}
.forge-geo{top:var(--sp-5);right:clamp(16px,6vw,120px)}
@media(max-width:1100px){.forge-geo{display:none}}

/* ── этапы: «кто делает» — иконки человек/робот ─────────────────── */
.stages li{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num who" "body body";column-gap:var(--sp-3);align-items:center}
.stages .st-n{grid-area:num;margin-bottom:0}
.stages .who{grid-area:who;display:inline-flex;align-items:center;gap:6px;justify-self:end;
  border:1.5px solid var(--line2);border-radius:var(--pill);padding:6px 12px 6px 8px;font-size:var(--fs-micro);font-weight:700;color:var(--muted)}
.stages .who .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.stages .who .ic-h{color:var(--cyan)}
.stages .who .ic-r{color:var(--pink)}
.stages .who .ic-r .eye{fill:currentColor;stroke:none}
.stages .who .ic + .ic{margin-left:-6px}
.stages .who-t{margin-left:4px;white-space:nowrap}
.stages li > div{grid-area:body;margin-top:var(--sp-3)}
@media(max-width:420px){.stages .who-t{display:none}}

/* ── «почему так быстро»: крупные цифры ─────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stats{grid-template-columns:1fr}}
.stat{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;gap:10px}
.stat-n{font-size:clamp(2rem,1.4rem + 2.2vw,3rem);font-weight:900;letter-spacing:-.03em;line-height:1}
.stat-t{font-size:var(--fs-small);color:var(--muted);line-height:1.5}
.stat-t a{color:var(--cyan)}

/* ── счётчик проектов по программе ──────────────────────────────── */
.counter{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--sp-5);align-items:center;
  background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-5);margin-bottom:var(--sp-5)}
@media(max-width:820px){.counter{grid-template-columns:1fr;gap:var(--sp-4);padding:var(--sp-4)}}
.counter-main{display:flex;align-items:center;gap:var(--sp-4)}
.counter-n{font-size:clamp(4rem,3rem + 5vw,7rem);font-weight:900;letter-spacing:-.05em;line-height:.9;text-shadow:0 0 40px rgba(57,255,20,.35)}
.counter-t{font-size:var(--fs-body);font-weight:700;line-height:1.3;color:var(--ink)}
.counter-split{list-style:none;display:flex;flex-direction:column;gap:10px}
.counter-split li{display:grid;grid-template-columns:3ch 1fr;gap:var(--sp-3);align-items:center;font-size:var(--fs-small);position:relative;padding-bottom:8px}
.counter-split b{font-size:var(--fs-h3);font-weight:900;text-align:right}
.counter-split span{color:var(--muted)}
.counter-split i{grid-column:2;height:6px;border-radius:var(--pill);background:var(--line2);position:relative;overflow:hidden}
.counter-split i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--c);border-radius:var(--pill);box-shadow:0 0 12px var(--c)}

/* ── иллюстрации ────────────────────────────────────────────────── */
/* hero-арт: молот и наковальня — справа, за контентом, растворяется в чёрном */
.hero-art{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(58vw,900px);height:auto;pointer-events:none;
  z-index:0;opacity:.95;mask-image:linear-gradient(90deg,transparent 0,#000 22%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
.hero-grid .hero-art{right:-2%;width:min(46vw,760px);top:58%}
.hero-grid .term{position:relative;z-index:1;background:rgba(17,17,20,.86);backdrop-filter:blur(8px)}
.hero .blobs{z-index:0}
@media(max-width:900px){
  .hero-art{right:-24%;top:14%;transform:none;width:120vw;opacity:.42;mask-image:linear-gradient(180deg,#000 40%,transparent 95%);-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 95%)}
  .hero-grid .hero-art{width:120vw;right:-24%;top:8%}
}
/* пакеты */
.pkg-img{display:block;width:100%;max-width:220px;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--r);margin:4px auto 6px}
.tariff .pkg-img{max-width:200px}
#what .card .pkg-img{max-width:180px;margin:0 0 6px}
/* конкурс */
.contest-compact{position:relative}
.contest-art{position:absolute;right:26%;top:50%;transform:translateY(-50%);width:200px;height:200px;object-fit:cover;border-radius:50%;
  pointer-events:none;opacity:.95;box-shadow:0 0 60px rgba(57,255,20,.35)}
@media(max-width:1100px){.contest-art{display:none}}
/* команда */
.team{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}
.avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 20%;padding:3px;background:var(--bg)}
.avatar.ring-lime{box-shadow:0 0 0 3px var(--lime),var(--glow-lime)}
.avatar.ring-pink{box-shadow:0 0 0 3px var(--pink),var(--glow-pink)}
.avatar.ring-cyan{box-shadow:0 0 0 3px var(--cyan),var(--glow-cyan)}
/* hero-арт: маска по всем краям (у картинки свой почти-чёрный фон), CSS-фигуры под артом — прячем */
.hero-art{mask-image:radial-gradient(ellipse 60% 70% at 62% 50%,#000 45%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 60% 70% at 62% 50%,#000 45%,transparent 100%);
  right:-8%;width:min(64vw,980px);opacity:1}
.hero:has(.hero-art) .blob,.hero:has(.hero-art) .bar,.hero:has(.hero-art) .dots{display:none}
.hero-grid .hero-art{right:-6%;width:min(52vw,820px);top:56%}
@media(max-width:900px){
  .hero-art{mask-image:radial-gradient(ellipse 70% 60% at 70% 40%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 40%,#000 30%,transparent 100%);opacity:.5}
}
.hero-side{min-height:1px}
.hero-grid .hero-art{right:-10%;width:min(58vw,900px);top:52%}
/* мобильный hero-арт: не полупрозрачный краешек, а полноценная картинка над CTA */
@media(max-width:900px){
  .hero-art,.hero-grid .hero-art{position:static;transform:none;display:block;width:100%;max-width:520px;height:auto;margin:var(--sp-4) auto 0;opacity:1;
    mask-image:radial-gradient(ellipse 75% 70% at 55% 50%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 75% 70% at 55% 50%,#000 55%,transparent 100%)}
  .hero .wrap{display:flex;flex-direction:column}
  .hero .cta-row{order:5}
  .hero-art{order:4;margin-bottom:var(--sp-3)}
  .hero-xl .cta-row{margin-top:0}
}
/* десктоп: арт позиционируется относительно .hero (не .wrap), поэтому .wrap/.hero-side — static */
.hero .wrap{position:relative;z-index:1}
.hero-art{position:absolute}
.hero-side{position:static}
@media(min-width:901px){
  .hero-xl .wrap{position:static}                  /* экспресс: абсолют относительно .hero */
  .hero-grid{position:static}
}
/* финальный порядок правил для hero-арта (перекрывает всё выше) */
@media(max-width:900px){
  .hero-art,.hero-grid .hero-art,.hero-xl .hero-art{position:static!important;transform:none!important;display:block;width:100%!important;max-width:520px;height:auto;
    margin:var(--sp-3) auto var(--sp-2);opacity:1!important;right:auto!important;top:auto!important;
    mask-image:radial-gradient(ellipse 72% 68% at 55% 50%,#000 50%,transparent 100%)!important;-webkit-mask-image:radial-gradient(ellipse 72% 68% at 55% 50%,#000 50%,transparent 100%)!important}
  .hero-side{display:block}
  .hero .wrap{display:flex;flex-direction:column;align-items:stretch}
  .hero-grid{display:flex;flex-direction:column}
  .hero .cta-row{order:9}
  .hero-art,.hero-side{order:8}
}
/* десктоп: арт — под текстом (z-index 0), текст поверх */
@media(min-width:901px){
  .hero-art{z-index:0}
  .hero .wrap>*:not(.hero-art):not(.hero-side){position:relative;z-index:1}
  .hero-grid>div:first-child{position:relative;z-index:1}
  .hero-xl .hero-art{right:-6%;width:min(60vw,920px);top:52%;transform:translateY(-50%)}
}

/* ── анимированный молот и наковальня (два растровых слоя + CSS-искры) ── */
.forge-anim{position:absolute;right:clamp(16px,6vw,120px);top:var(--sp-5);width:clamp(220px,22vw,320px);aspect-ratio:1;pointer-events:none;z-index:0}
.forge-anim img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fa-anvil{animation:fa-jolt 1.8s linear infinite}
.fa-hammer{transform-origin:88% 12%;animation:fa-swing 1.8s cubic-bezier(.6,0,.4,1) infinite;filter:drop-shadow(0 0 18px rgba(57,255,20,.25))}
.fa-flash{position:absolute;left:44%;top:56%;width:22%;height:6%;border-radius:50%;background:#fff;filter:blur(6px);opacity:0;animation:fa-flash 1.8s linear infinite}
.fa-spark{position:absolute;left:52%;top:58%;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);opacity:0;animation:fa-spark 1.8s linear infinite;--dx:26px;--dy:-44px}
.fa-spark.s2{--dx:-30px;--dy:-38px;background:var(--pink);box-shadow:0 0 12px var(--pink);animation-delay:.03s}
.fa-spark.s3{--dx:44px;--dy:-18px;background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation-delay:.06s;width:6px;height:6px}
.fa-spark.s4{--dx:-12px;--dy:-56px;background:var(--orange);box-shadow:0 0 12px var(--orange);animation-delay:.09s;width:6px;height:6px}
@keyframes fa-swing{0%,50%{transform:rotate(-34deg)}64%{transform:rotate(-40deg)}72%{transform:rotate(0)}76%{transform:rotate(-5deg)}80%{transform:rotate(-1deg)}100%{transform:rotate(-34deg)}}
@keyframes fa-jolt{0%,71%{transform:translateY(0)}73%{transform:translateY(3px)}77%{transform:translateY(0)}100%{transform:translateY(0)}}
@keyframes fa-flash{0%,71%{opacity:0}72.5%{opacity:.9}78%{opacity:0}100%{opacity:0}}
@keyframes fa-spark{0%,72%{opacity:0;transform:translate(0,0) scale(.4)}74%{opacity:1;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.5)}}
@media(prefers-reduced-motion:reduce){.fa-anvil,.fa-hammer,.fa-flash,.fa-spark{animation:none}.fa-hammer{transform:rotate(-8deg)}}
@media(max-width:1100px){.forge-anim{display:none}}
/* крупный вводный абзац секции (важная мысль, а не подпись) */
.sec-head .lead{font-size:clamp(1.15rem,1rem + 1vw,1.55rem);line-height:1.4;color:var(--ink);font-weight:500;max-width:34ch;margin-top:var(--sp-4)}
.sec-head .lead b{font-weight:800}
/* forge-anim: крупнее, ниже заголовка, ось молота — у конца рукояти (правый верх) */
.forge-anim{width:clamp(280px,26vw,400px);top:auto;bottom:var(--sp-5);right:clamp(16px,5vw,100px)}
.fa-hammer{transform-origin:96% 6%}
@keyframes fa-swing{0%,50%{transform:rotate(-26deg)}64%{transform:rotate(-31deg)}72%{transform:rotate(0)}76%{transform:rotate(-4deg)}80%{transform:rotate(-1deg)}100%{transform:rotate(-26deg)}}
.fa-flash{left:38%;top:52%}
.fa-spark{left:46%;top:54%}
#what .sec-head{position:relative;z-index:1}
#what .grid3{position:relative;z-index:1}
/* forge-anim в потоке: справа от заголовка секции, никогда не перекрывает карточки */
.what-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-5);align-items:end;margin-bottom:var(--sp-6)}
.what-head .sec-head{margin-bottom:0}
.what-head .forge-anim{position:relative;right:auto;top:auto;bottom:auto;width:clamp(240px,24vw,360px);margin-bottom:-24px}
@media(max-width:1100px){.what-head{grid-template-columns:1fr}.what-head .forge-anim{display:none}}

/* ── этапы: анимированные персонажи (видео-лупы) вместо иконок ─────── */
.stages .who{padding:4px 12px 4px 4px;gap:2px;border-color:transparent;background:rgba(255,255,255,.04)}
.stages .who .wv{width:44px;height:64px;object-fit:cover;object-position:50% 20%;display:block;border-radius:12px;
  mask-image:radial-gradient(ellipse 60% 70% at 50% 45%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 45%,#000 55%,transparent 100%)}
.stages .who .wv + .wv{margin-left:-14px}
.stages .who-t{margin-left:6px}
@media(max-width:420px){.stages .who .wv{width:36px;height:52px}}
/* prefers-reduced-motion: браузер не автозапускает видео — остаётся постер, ничего не прячем */
/* персонажи стоят рядом, без нахлёста */
.stages .who{gap:6px;padding:4px 12px 4px 6px}
.stages .who .wv{width:38px;height:56px;object-position:50% 15%;border-radius:10px;
  mask-image:radial-gradient(ellipse 62% 72% at 50% 46%,#000 60%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 62% 72% at 50% 46%,#000 60%,transparent 100%)}
.stages .who .wv + .wv{margin-left:0}
.stages .who-t{margin-left:4px}
@media(max-width:420px){.stages .who .wv{width:32px;height:48px}}
/* пилюля «кто делает» может переноситься под номер, если не влезает */
.stages li{grid-template-columns:auto minmax(0,1fr);}
.stages .who{justify-self:end;max-width:100%;flex-wrap:nowrap}
.stages .who-t{white-space:nowrap}
@media(max-width:1200px){.stages li{grid-template-areas:"num num" "who who" "body body"}.stages .who{justify-self:start;margin-top:8px}}

/* ── «ИИ + люди»: две карточки с анимированными персонажами ────────── */
.ta-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);align-items:stretch}
@media(max-width:900px){.ta-grid{grid-template-columns:1fr}}
.ta-card{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-4) var(--sp-4);position:relative;overflow:hidden}
.ta-ai{border-color:rgba(255,45,149,.45)}
.ta-people{border-color:rgba(0,229,255,.45)}
.ta-card::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;filter:blur(20px);opacity:.16;pointer-events:none}
.ta-ai::after{background:var(--pink)}.ta-people::after{background:var(--cyan)}
.ta-head{display:flex;gap:var(--sp-4);align-items:flex-end;margin-bottom:var(--sp-4);position:relative;z-index:1}
.ta-head h3{font-size:var(--fs-h2);font-weight:900;letter-spacing:-.02em;margin-top:8px}
.ta-figs{display:flex;align-items:flex-end;gap:6px;flex:none}
.tv{width:96px;height:140px;object-fit:cover;object-position:50% 12%;border-radius:18px;display:block;
  mask-image:radial-gradient(ellipse 60% 74% at 50% 46%,#000 58%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 60% 74% at 50% 46%,#000 58%,transparent 100%)}
.ta-people .tv{width:64px;height:96px}
.ta-people .tv.d1{transform:translateY(6px) scale(.92)}
.ta-people .tv.d2{transform:translateY(10px) scale(.86)}
.tv-r{filter:drop-shadow(0 0 22px rgba(255,45,149,.35))}
.tv-h{filter:drop-shadow(0 0 22px rgba(0,229,255,.28))}
.ta-list{list-style:none;display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.ta-list li{padding-left:22px;position:relative;font-size:var(--fs-small);color:var(--muted);line-height:1.5}
.ta-list li b{color:var(--ink);font-weight:700}
.ta-list li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%}
.ta-ai .ta-list li::before{background:var(--pink);box-shadow:0 0 10px var(--pink)}
.ta-people .ta-list li::before{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.ta-note{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px dashed var(--line2);font-size:var(--fs-small);color:var(--ink);font-weight:600;position:relative;z-index:1}
@media(max-width:560px){.tv{width:72px;height:104px}.ta-people .tv{width:48px;height:72px}.ta-head{align-items:center}}
/* персонажи в «ИИ + люди»: мягче маска, робот полностью в кадре, чёрная подложка под свечением карточки */
.tv{object-position:50% 20%;background:#050505;
  mask-image:radial-gradient(ellipse 70% 78% at 50% 50%,#000 68%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 78% at 50% 50%,#000 68%,transparent 100%)}
.ta-ai .tv{width:110px;height:150px;object-position:50% 25%}
.ta-card::after{opacity:.10}
.ta-figs{position:relative;z-index:2}
.tv{background:transparent}
/* аватар-видео в кружке с кольцом (постер — заглушка на медленной сети) */
video.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 30%;padding:3px;background:var(--bg);display:block}
.team{align-items:center}
/* «ИИ + люди»: свечение — подложкой за фигурами, а не filter на <video> (filter+mask на видео
   рендерится не везде одинаково: в headless/старых движках давал прямоугольники); пилюля переносится */
.tv-r,.tv-h{filter:none}
.ta-figs::before{content:"";position:absolute;inset:-6px -14px;border-radius:50%;filter:blur(20px);opacity:.22;z-index:-1;pointer-events:none}
.ta-ai .ta-figs::before{background:var(--pink)}
.ta-people .ta-figs::before{background:var(--cyan)}
.ta-head>div{min-width:0}
.ta-head .pill{white-space:normal;text-align:left;line-height:1.25;height:auto}
/* ролики сняты на чёрном: screen-наложение делает фон прозрачным везде, даже где mask на <video>
   не поддерживается; маска остаётся как мягкий край там, где работает */
.stages .who .wv,.tv{mix-blend-mode:screen}
/* карточка — единая группа наложения: без z-index на голове/фигурах/списке, иначе screen у видео
   смешивается с пустотой группы и чёрный фон ролика остаётся виден */
.ta-card{isolation:isolate}
.ta-card::after{z-index:-1}
.ta-head,.ta-figs,.ta-list,.ta-note{z-index:auto}
/* «Почему так быстро»: иллюстрация в правом верхнем углу карточки, текст поверх, картинка утоплена в фон */
.stat{position:relative;overflow:hidden;isolation:isolate}
.stat-img{position:absolute;right:-8px;top:-8px;width:132px;height:132px;object-fit:contain;z-index:-1;opacity:.95;pointer-events:none;
  mask-image:radial-gradient(circle at 60% 40%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(circle at 60% 40%,#000 55%,transparent 100%)}
.stat:has(.stat-img) .stat-n{padding-right:110px}
@media(max-width:560px){.stat-img{width:104px;height:104px}.stat:has(.stat-img) .stat-n{padding-right:90px}}
/* карточки статистики: 2×2 до 1400px — иллюстрации в углу и цифры не толкаются */
@media(max-width:1400px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stats{grid-template-columns:1fr}}
@media(min-width:1401px){.stat-img{width:108px;height:108px}.stat:has(.stat-img) .stat-n{padding-right:92px}}
/* картинка занимает правую полосу карточки, текст (цифра и описание) её не задевает */
.stat-img{top:50%;right:6px;transform:translateY(-50%);width:120px;height:120px}
.stat:has(.stat-img){padding-right:150px}
.stat:has(.stat-img) .stat-n{padding-right:0}
@media(min-width:1401px){.stat-img{width:100px;height:100px}.stat:has(.stat-img){padding-right:118px}.stat:has(.stat-img) .stat-n{padding-right:0}}
@media(max-width:560px){.stat-img{width:96px;height:96px}.stat:has(.stat-img){padding-right:112px}.stat:has(.stat-img) .stat-n{padding-right:0}}
.stats{grid-template-columns:1fr 1fr}
@media(min-width:1401px){.stat-img{width:120px;height:120px}.stat:has(.stat-img){padding-right:150px}}
@media(max-width:560px){.stats{grid-template-columns:1fr}}
/* карточки этапов: строки не растягиваются на высоту карточки — номер, пилюля и заголовок
   на одном уровне во всех шести карточках независимо от длины текста */
.stages li{align-content:start}
.stat-img{width:150px;height:150px;right:2px}
.stat:has(.stat-img){padding-right:172px;min-height:150px}
@media(min-width:1401px){.stat-img{width:150px;height:150px}.stat:has(.stat-img){padding-right:172px}}
@media(max-width:560px){.stat-img{width:110px;height:110px}.stat:has(.stat-img){padding-right:124px;min-height:0}}
/* конкурсная форма: поле «социальная значимость» выделено, в админке — заметная строка */
.social-f textarea{border-color:rgba(57,255,20,.45);box-shadow:0 0 0 1px rgba(57,255,20,.15)}
.social-f .req{color:var(--lime);font-weight:700}
.social-note{color:var(--ink);border-left:3px solid var(--lime);padding-left:10px}
/* «ИИ + люди»: пилюля над рядом «фигуры + заголовок», ряд одной высоты в обеих карточках —
   заголовки и списки начинаются на одном уровне независимо от длины пилюли */
.ta-head{display:block}
.ta-row{display:flex;gap:var(--sp-4);align-items:flex-end;margin-top:var(--sp-3);min-height:150px}
.ta-figs{height:150px;align-items:flex-end}
.ta-row h3{margin:0 0 8px;line-height:1.05;min-width:0}
@media(max-width:560px){.ta-row{min-height:104px}.ta-figs{height:104px}.ta-ai .tv{width:80px;height:104px}}
@media(max-width:560px){.ta-row{flex-direction:column;align-items:flex-start;min-height:0;gap:var(--sp-2)}.ta-figs{height:auto}.ta-row h3{margin:0}}
/* «Ваша выгода в четырёх строках»: не сноски, а четыре крупные карточки-обещания */
.benefit{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.benefit li{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.benefit li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:currentColor;opacity:.9}
.benefit li:nth-child(1){color:var(--lime)}.benefit li:nth-child(2){color:var(--pink)}
.benefit li:nth-child(3){color:var(--purple)}.benefit li:nth-child(4){color:var(--cyan)}
.bf-k{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem);font-weight:900;letter-spacing:-.02em;line-height:1}
.bf-t{color:var(--ink);font-size:var(--fs-body);line-height:1.5}
@media(max-width:700px){.benefit{grid-template-columns:1fr}}
/* финальный CTA: две колонки — бриф | «просто позвоните мне», с человечком с телефоном */
#cta .cta-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6);align-items:center}
#cta .cta-call{border-left:1px solid rgba(255,255,255,.35);padding-left:var(--sp-5);display:flex;gap:var(--sp-4);align-items:center}
#cta .cta-art{width:150px;height:200px;object-fit:cover;object-position:50% 20%;flex:none;border-radius:20px;
  mask-image:radial-gradient(ellipse 66% 76% at 50% 50%,#000 60%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 66% 76% at 50% 50%,#000 60%,transparent 100%)}
#cta .cta-call-body{min-width:0;flex:1}
#cta .cta-call-t{color:rgba(255,255,255,.85);font-size:var(--fs-body);line-height:1.4}
#cta .cta-call-t b{color:#fff;font-weight:800;display:block;font-size:var(--fs-h3);margin-top:4px;letter-spacing:-.01em}
#cta .cta-call-form{display:flex;gap:8px;margin-top:var(--sp-3);flex-wrap:wrap}
#cta .cta-call-form input{flex:1 1 160px;min-width:0;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.5);color:#fff;border-radius:var(--pill);padding:12px 16px;font-size:var(--fs-body)}
#cta .cta-call-form input::placeholder{color:rgba(255,255,255,.6)}
#cta .cta-call-form input:focus{outline:2px solid #fff;outline-offset:2px;border-color:#fff}
#cta .cta-call-form .btn{background:var(--lime);color:var(--on-lime);box-shadow:0 0 30px rgba(57,255,20,.35);white-space:nowrap}
#cta .cta-call-h{color:rgba(255,255,255,.7);font-size:var(--fs-micro);margin-top:8px}
@media(max-width:1000px){#cta .cta-grid{grid-template-columns:1fr;gap:var(--sp-5)}#cta .cta-call{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.35);padding-top:var(--sp-5)}}
@media(max-width:560px){#cta .cta-art{width:96px;height:130px;border-radius:14px}}
/* конкурс: кубок — своя колонка сетки, не наезжает на дату и кнопку */
@media(min-width:1101px){.contest-compact:has(.contest-art){grid-template-columns:minmax(0,7fr) 200px minmax(0,5fr);gap:var(--sp-5)}
.contest-art{position:static;transform:none;justify-self:center}}
/* человечек с телефоном: переход в розовый запечён в ролик — без CSS-маски и скругления */
#cta .cta-art{mask-image:none;-webkit-mask-image:none;border-radius:0}
/* человечек с телефоном: кадр целиком, без обрезки и масок — object-fit:contain, лёгкое скругление */
#cta .cta-art{object-fit:contain;object-position:50% 50%;width:150px;height:200px;border-radius:16px;mask-image:none;-webkit-mask-image:none}
/* персонажи без обрезки и без опоры на mask/blend у <video> (Safari их не применяет):
   кадр целиком (contain), под фигурами — чёрная «сцена» того же цвета, что фон роликов */
.tv,.stages .who .wv{object-fit:contain;object-position:50% 100%}
.ta-ai .tv{width:110px;height:163px;object-position:50% 100%}
.ta-people .tv{width:64px;height:95px}
.ta-figs{background:#050505;border:1px solid var(--line2);border-radius:20px;padding:10px 12px 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.ta-figs::before{display:none}
.ta-row{min-height:0}
.ta-figs{height:auto}
.stages .who{background:#050505;border:1px solid var(--line2)}
@media(max-width:560px){.ta-ai .tv{width:80px;height:119px}.ta-people .tv{width:48px;height:71px}.ta-figs{padding:8px 10px 0}}
/* кадры персонажей целиком: высота фиксирована, ширина — по пропорции ролика (ничего не режем) */
.tv,.stages .who .wv{width:auto!important;object-fit:contain;object-position:50% 100%;mask-image:none;-webkit-mask-image:none}
.ta-ai .tv{height:160px}
.ta-people .tv{height:96px}
.ta-people .tv.d1,.ta-people .tv.d2{transform:none}
.stages .who .wv{height:56px}
@media(max-width:560px){.ta-ai .tv{height:120px}.ta-people .tv{height:72px}}
@media(max-width:420px){.stages .who .wv{height:48px}}
.ta-figs{height:172px;box-sizing:border-box;align-items:flex-end;gap:10px}
.ta-people .tv{height:112px}
@media(max-width:560px){.ta-figs{height:132px}.ta-ai .tv{height:120px}.ta-people .tv{height:84px}}
/* ── hero /express: факты пакетов и обещания вместо абзаца ─────────── */
.hero-lead{font-size:var(--fs-h3);color:var(--ink);font-weight:600;margin-top:var(--sp-3)}
.hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:var(--sp-4) 0 var(--sp-3);position:relative;z-index:1}
.hero-facts li{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:12px 18px 12px 14px;min-width:200px}
.hero-facts b{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);font-weight:900;letter-spacing:-.03em;line-height:1;white-space:nowrap}
.hero-facts span{display:flex;flex-direction:column;font-size:var(--fs-small);color:var(--ink);font-weight:700;line-height:1.2}
.hero-facts em{font-style:normal;color:var(--muted);font-weight:500;font-size:var(--fs-micro);margin-top:2px}
.hero-promise{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0 0 var(--sp-5);max-width:62ch;position:relative;z-index:1}
.hero-promise li{display:flex;gap:12px;align-items:baseline;color:var(--muted);font-size:var(--fs-body);line-height:1.45}
.hero-promise li b{color:var(--ink);font-weight:700}
.hp-k{flex:none;font-size:var(--fs-micro);font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid currentColor;border-radius:var(--pill);padding:3px 9px;line-height:1.2}
@media(max-width:560px){.hero-facts li{min-width:0;flex:1 1 100%;padding:10px 14px}.hero-facts b{font-size:1.5rem}}
/* ── FAQ ───────────────────────────────────────────────────────────── */
.faq{max-width:860px;border-top:1px solid var(--line2)}
.faq-i{border-bottom:1px solid var(--line2)}
.faq-i summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:18px 0;font-weight:800;font-size:var(--fs-h3);letter-spacing:-.01em}
.faq-i summary::-webkit-details-marker{display:none}
.faq-x{flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center;font-weight:400;color:var(--cyan);transition:transform .2s}
.faq-i[open] .faq-x{transform:rotate(45deg);border-color:var(--cyan);box-shadow:var(--glow-cyan)}
.faq-a{color:var(--muted);line-height:1.6;padding:0 48px 18px 0;max-width:70ch}
/* анимация молота в «что делаем» убрана по решению владельца — шапка секции в одну колонку */
.what-head{grid-template-columns:1fr}
/* hero-арт привязан к колонке контента, а не к краю экрана: на широких/8K мониторах не уезжает вбок */
@media(min-width:901px){
  .hero-art,.hero-grid .hero-art,.hero-xl .hero-art{right:max(calc(50% - 650px),-6%);left:auto}
}
/* ── «Кузница сейчас» — живая панель процесса над подвалом ─────────── */
.ws{background:var(--card);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:var(--sp-6) 0;position:relative;overflow:hidden}
.ws-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-5);margin-bottom:var(--sp-4)}
.ws-head .lbl{flex:0 0 100%}
.ws-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:var(--glow-lime);margin-right:8px;animation:ws-blink 1.6s ease-in-out infinite;vertical-align:middle}
@keyframes ws-blink{0%,100%{opacity:1}50%{opacity:.25}}
.ws-title{font-size:var(--fs-h2);font-weight:900;letter-spacing:-.02em}
.ws-clock{color:var(--muted);font-size:var(--fs-small)}
.ws-clock b{color:var(--ink);font-variant-numeric:tabular-nums}
.ws-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:var(--sp-3);overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;scrollbar-width:thin}
.ws-card{background:var(--bg);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-3) var(--sp-3);display:flex;flex-direction:column;gap:10px;scroll-snap-align:start;min-width:0}
.ws-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ws-top .pill{font-size:11px;padding:5px 10px}
.pill.yellow{background:var(--yellow);color:#111}
.ws-stage{font-size:var(--fs-micro);color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.ws-name{font-size:var(--fs-body);font-weight:800;letter-spacing:-.01em;line-height:1.25}
.ws-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.ws-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--cyan),var(--lime));box-shadow:0 0 12px rgba(57,255,20,.35);position:relative;transition:width 1s ease}
.ws-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-100%);animation:ws-shine 2.8s linear infinite}
@keyframes ws-shine{to{transform:translateX(100%)}}
.ws-who{display:flex;align-items:center;gap:10px;min-height:44px}
.ws-figs{display:flex;align-items:flex-end;gap:2px;flex:none;min-width:34px}
.ws-fig{height:44px;width:auto;object-fit:contain;animation:ws-bob 2.4s ease-in-out infinite}
.ws-r{animation-duration:1.6s}
@keyframes ws-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.ws-status{font-size:var(--fs-micro);color:var(--muted);line-height:1.35}
.ws-paused .ws-bar i{background:rgba(255,255,255,.28);box-shadow:none}
.ws-paused .ws-bar i::after{display:none}
.ws-zz{font-weight:900;color:var(--purple);font-size:14px;line-height:1;position:relative;top:-6px;display:inline-block;min-width:34px}
.ws-zz span{display:inline-block;animation:ws-zz 2s ease-in-out infinite;opacity:.6}
.ws-zz span+span{animation-delay:.6s;font-size:11px}
@keyframes ws-zz{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:1}}
.ws-note{margin-top:var(--sp-3);font-size:var(--fs-micro);color:var(--muted);max-width:80ch}
.ws-night .ws-live{background:var(--purple);box-shadow:var(--glow-purple)}
@media(max-width:560px){.ws-row{grid-auto-columns:82vw}.ws-title{font-size:var(--fs-h3)}}
@media(prefers-reduced-motion:reduce){.ws-fig,.ws-live,.ws-bar i::after,.ws-zz span{animation:none}}
.ws-lbl::before{animation:ws-blink 1.6s ease-in-out infinite}
.ws-night .ws-lbl::before{background:var(--purple);box-shadow:var(--glow-purple)}
.ws-fig{mix-blend-mode:screen}
.ws-top{align-items:flex-start}
.ws-stage{white-space:normal;text-align:right;line-height:1.3}
.ws-row{grid-auto-columns:minmax(250px,1fr)}
/* ── согласие в формах ─────────────────────────────────────────────── */
.consent{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-small);color:var(--muted);line-height:1.45;cursor:pointer;margin-top:var(--sp-2)}
.consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--lime);cursor:pointer}
.consent a{color:var(--cyan)}
.consent-sm{font-size:var(--fs-micro)}
#cta .consent-cta{flex:1 1 100%;color:rgba(255,255,255,.8);margin-top:4px}
#cta .consent-cta a{color:#fff;text-decoration:underline}
#cta .consent-cta input{accent-color:var(--lime)}
/* ── cookie-баннер ─────────────────────────────────────────────────── */
.cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:720px;margin:0 auto;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);display:flex;gap:var(--sp-4);align-items:center;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.cc[hidden]{display:none}
.cc-t{font-size:var(--fs-small);color:var(--muted);line-height:1.45;margin:0}
.cc-t a{color:var(--cyan)}
.cc-b{display:flex;gap:8px;flex:none;flex-wrap:wrap}
@media(max-width:640px){.cc{flex-direction:column;align-items:stretch;left:8px;right:8px;bottom:8px}.cc-b .btn{flex:1}}
/* ── документы ─────────────────────────────────────────────────────── */
.doc{max-width:860px}
.doc h2{font-size:var(--fs-h3);font-weight:800;margin:var(--sp-5) 0 var(--sp-2);letter-spacing:-.01em}
.doc p{color:var(--muted);line-height:1.6;margin-bottom:var(--sp-2)}
.doc p b{color:var(--ink)}
.doc a{color:var(--cyan)}
.doc .tbl{overflow-x:auto;margin:var(--sp-3) 0}
.doc table{border-collapse:collapse;width:100%;font-size:var(--fs-small);min-width:640px}
.doc th,.doc td{border:1px solid var(--line2);padding:10px 12px;vertical-align:top;text-align:left;color:var(--muted);line-height:1.45}
.doc th{color:var(--ink);background:var(--card)}
.doc td b{color:var(--ink)}
.legal-links a{color:var(--muted)}
.legal-links a:hover{color:var(--ink)}
.cfg-step .cfg-chips+*{margin-top:var(--sp-3)}
.cfg-step > div > .cfg-chips{margin-bottom:var(--sp-3)}
/* скидка — отдельный «стикер»-кружок, левитирует поверх окна расчёта справа сверху */
.est{position:relative;overflow:visible}
.est-badge{position:absolute;right:-10px;top:-22px;z-index:2;width:92px;height:92px;border-radius:50%;background:var(--pink);color:#fff;
  display:grid;place-items:center;font-weight:900;font-size:1.45rem;letter-spacing:-.03em;line-height:1;
  box-shadow:0 0 0 4px var(--bg),0 0 34px rgba(255,45,149,.55);transform:rotate(-8deg);animation:est-float 3.2s ease-in-out infinite;pointer-events:none}
@keyframes est-float{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-7px)}}
@media(max-width:560px){.est-badge{width:72px;height:72px;font-size:1.1rem;right:-4px;top:-18px}}
@media(prefers-reduced-motion:reduce){.est-badge{animation:none}}
/* «без скидки: <зачёркнутая полная вилка>» — крупно, чтобы исходная цена читалась */
.est-full{font-size:var(--fs-h3);color:var(--muted);margin-bottom:6px}
.est-full s{color:var(--ink);font-weight:800;font-size:1.35em;text-decoration-color:var(--pink);text-decoration-thickness:3px;letter-spacing:-.02em}
/* блок «уже есть ТЗ» — отделён от выбора темпа и выделен */
.tz-box{margin:var(--sp-5) 0 var(--sp-2);padding:var(--sp-4);border:1.5px dashed rgba(57,255,20,.55);border-radius:var(--r-lg);background:rgba(57,255,20,.05);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.tz-box .lbl{margin:0}
.tz-box .hint{margin:0;color:var(--muted)}
.tz-box .cfg-chip span{font-size:var(--fs-body);padding:12px 20px}
.tz-box .cfg-chip input:checked+span{background:var(--lime);color:var(--on-lime);border-color:var(--lime);box-shadow:var(--glow-lime)}
/* конфигуратор, шаг 4: воздух между полями (в .cfg-step поля не в form.stack) */
.cfg-step label.f{margin-bottom:var(--sp-4)}
.cfg-step .form-row{margin-bottom:var(--sp-4)}
.cfg-step .form-row label.f{margin-bottom:0}
.cfg-step .lbl{margin-top:var(--sp-2)}
.cfg-step > .small.muted{margin-bottom:var(--sp-3)}
.cfg-step .consent{margin-top:var(--sp-4)}
.cfg-step .consent+.consent{margin-top:var(--sp-2)}
.cfg-step .consent+.hint{margin-top:var(--sp-3)}
/* ── вложения в брифе: голосовое + файлы ───────────────────────────── */
.att-box{margin:var(--sp-2) 0 var(--sp-4);padding:var(--sp-4);border:1.5px dashed rgba(0,229,255,.45);border-radius:var(--r-lg);background:rgba(0,229,255,.04)}
.att-box .lbl{margin-bottom:var(--sp-3)}
.att-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.att-rec{background:var(--pink);color:#fff;box-shadow:0 0 30px rgba(255,45,149,.35);font-size:var(--fs-body);padding:16px 24px;display:inline-flex;align-items:center;gap:10px}
.att-rec .rec-dot{width:12px;height:12px;border-radius:50%;background:#fff;flex:none}
.att-rec.rec-on{background:#fff;color:var(--pink);box-shadow:0 0 0 3px var(--pink),0 0 40px rgba(255,45,149,.6)}
.att-rec.rec-on .rec-dot{background:var(--pink);animation:rec-blink 1s ease-in-out infinite}
@keyframes rec-blink{0%,100%{opacity:1}50%{opacity:.2}}
.att-file{cursor:pointer}
.att-box .hint{margin-top:10px}
.att-box .hint.att-err{color:var(--pink);font-weight:700}
.att-list{list-style:none;margin-top:var(--sp-3);display:flex;flex-direction:column;gap:8px}
.att-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:8px 10px;font-size:var(--fs-small)}
.att-list li audio{height:36px;max-width:100%;flex:1 1 220px}
.att-name{color:var(--ink);font-weight:600}
.att-x{margin-left:auto;background:transparent;border:1px solid var(--line2);color:var(--muted);border-radius:50%;width:28px;height:28px;cursor:pointer}
.att-x:hover{color:var(--pink);border-color:var(--pink)}
.att-uploading{color:var(--muted);font-style:italic}
/* админка: вложения заявки */
.lead-atts{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px;align-items:center}
.lead-atts .att{font-size:var(--fs-small);display:inline-flex;align-items:center;gap:6px}
.lead-atts audio{height:32px}
@media(max-width:560px){.att-rec{width:100%;justify-content:center}.att-file{width:100%;text-align:center}}
.cfg-step > div:has(> .cfg-chips){margin-bottom:var(--sp-5)}
/* ── «Готовые проекты» — покупка решения из библиотеки ─────────────── */
.rp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
@media(max-width:1000px){.rp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.rp-grid{grid-template-columns:1fr}}
.rp-card{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--sp-4);display:flex;flex-direction:column;gap:12px;transition:transform .2s cubic-bezier(.2,0,0,1)}
.rp-card:hover{transform:translateY(-4px)}
.rp-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rp-days{font-size:var(--fs-micro);color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.rp-card h3{font-size:var(--fs-h3);font-weight:800;letter-spacing:-.01em;line-height:1.3}
.rp-descr{color:var(--muted);font-size:var(--fs-small);line-height:1.5}
.rp-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0}
.rp-list li{position:relative;padding-left:18px;color:var(--muted);font-size:var(--fs-small);line-height:1.45}
.rp-list li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}
.rp-buy{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--line2);padding-top:var(--sp-3)}
.rp-price{font-size:clamp(1.4rem,1.1rem + 1vw,1.8rem);font-weight:900;letter-spacing:-.02em;white-space:nowrap}
.rp-buy .btn{padding:12px 18px;font-size:var(--fs-small)}
.rp-note{margin-top:var(--sp-4);font-size:var(--fs-small);color:var(--muted);max-width:90ch;line-height:1.55}
.rp-note a{color:var(--cyan)}
