:root{
  --bg:#0a0a0a; --paper:#f4f5f0; --ink:#0a0a0a; --text:#f4f5f0; --muted:#8b8f86;
  --acid:#ccff00; --acid-d:#aee000; --violet:#b14bff; --cyan:#00e5ff; --graf-pop:#ff2d2d;
  /* warm / retro-ski palettes — for colour variety per block (owner 2026-06-15) */
  --cream:#efe7d4; --cream-2:#e6dcc4; --cream-ink:#241f15; --sand-line:rgba(36,31,21,.16);
  --rust:#d35a2b; --mustard:#e3a838; --teal:#1f7d6e; --sky:#2f6f9a; --berry:#b8434e;
  --line:rgba(255,255,255,.12); --line-ink:rgba(10,10,10,.14);
  --card:#121310; --mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif;
  /* heading face — Onest: dense grotesk, goes to 900 (thick+tight), full Cyrillic. */
  --display:'Onest',var(--sans);
  /* accent serif — Lora italic: контраст-акцент для ключевых слов (Playfair забракован) */
  --serif:'Lora',Georgia,serif;
  /* граффити-акцент — Caveat (есть кириллица; Brush кириллицу не рендерит). Всегда с поворотом.
     TODO: найти более жирный рукописный с кириллицей. */
  --graffiti:'Caveat',cursive;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;}
/* Display face on every headline-class element; tracking tightens as size grows (display rule). */
h1,h2,h3,h4,.mark,.win h3,.surf h3,.manifesto .line,.s-free .big,.term .eb .big,.stab .num{font-family:var(--display);}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
a{color:inherit;text-decoration:none;}
section{position:relative;}
.style-tag{position:absolute;top:14px;right:16px;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;background:var(--acid);padding:5px 8px;border-radius:6px;z-index:5;opacity:.9;}
.style-tag.dark{background:#0a0a0a;color:var(--acid);border:1px solid var(--acid);}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:14px 22px;border-radius:11px;border:0;cursor:pointer;transition:transform .12s ease;}
.btn:active{transform:translateY(1px);}
.btn-acid{background:var(--acid);color:#0a0a0a;}.btn-acid:hover{background:var(--acid-d);}
.btn-ink{background:var(--ink);color:var(--paper);}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line);}
.btn-ghost.ink{color:var(--ink);border-color:var(--line-ink);}
.btn svg{width:18px;height:18px;}
.mark{font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--text);}
.mark .dot{color:var(--acid);}
@media(max-width:760px){.mark{font-size:27px;}}
.eyebrow{font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;}

/* NAV */
.nav{position:sticky;top:0;z-index:40;background:rgba(10,10,10,.82);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px;}
.nav-links{display:flex;gap:24px;font-size:14px;color:var(--muted);}
.nav-links a:hover{color:var(--text);}
@media(max-width:760px){.nav-links{display:none;}}
/* nav-CTA появляется только когда CTA первого экрана уже прокручен (не две ярких кнопки сразу) */
.nav-cta{opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease,visibility .25s;}
.nav-cta.show{opacity:1;visibility:visible;transform:none;}

/* 1 HERO · Acid Bold */
.s-hero{background:var(--bg);padding:88px 0 76px;overflow:hidden;border-bottom:1px solid var(--line);}
.s-hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center;}
@media(max-width:920px){.s-hero .grid{grid-template-columns:1fr;gap:34px;}}
.s-hero h1{font-size:clamp(42px,6.7vw,88px);line-height:.94;letter-spacing:-.04em;font-weight:900;margin:16px 0 0;}
/* «Бесплатно» — дерзкий граффити-акцент: Caveat, крупно, налезает на строку выше, лёгкий поворот */
.s-hero h1 .hl{color:var(--acid);font-family:var(--graffiti);font-weight:700;font-size:1.85em;line-height:.7;letter-spacing:0;display:inline-block;transform:rotate(-4deg) translateY(-.04em);transform-origin:left center;white-space:nowrap;}
.s-hero .lede{color:var(--muted);font-size:19px;line-height:1.5;margin:22px 0 0;max-width:480px;}
.s-hero .cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap;}
.s-hero .chips{display:flex;gap:18px;margin-top:26px;flex-wrap:wrap;color:var(--muted);font-size:13px;}
.s-hero .chips i{width:7px;height:7px;border-radius:50%;background:var(--acid);display:inline-block;margin-right:7px;}
.till{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.till-top{display:flex;justify-content:space-between;align-items:center;font:600 12px/1 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;}
.till-top .live{color:var(--acid);}
.till-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;}
.till-row .q{color:var(--acid);font-weight:700;margin-right:10px;}
.till-tot{display:flex;justify-content:space-between;margin-top:12px;font-weight:800;font-size:18px;}
.till-pay{margin-top:14px;display:flex;gap:8px;}
.till-pay span{flex:1;text-align:center;padding:9px;border:1px solid var(--line);border-radius:9px;font-size:12px;color:var(--muted);cursor:pointer;transition:background .14s,color .14s,border-color .14s;}
.till-pay span:hover{border-color:var(--acid);color:var(--text);}
.till-pay span.on:hover{color:#0a0a0a;}
.till-pay span.on{background:var(--acid);color:#0a0a0a;border-color:var(--acid);font-weight:700;}

/* 2 TICKER · Marquee — auto-scroll + drag/swipe (interactive, см. JS) */
.s-ticker{background:var(--acid);color:#0a0a0a;overflow-x:auto;overflow-y:hidden;border-bottom:3px solid #0a0a0a;cursor:grab;scrollbar-width:none;-ms-overflow-style:none;}
.s-ticker::-webkit-scrollbar{display:none;}
.s-ticker.dragging{cursor:grabbing;}
.ticker{display:flex;white-space:nowrap;width:max-content;user-select:none;}
.ticker span{font:800 16px/1 var(--sans);letter-spacing:.02em;text-transform:uppercase;padding:16px 0;margin:0 26px;}
.ticker .s{opacity:.45;}

/* 2b · БОЛИ — agitation: что болит сегодня → Смена снимает (актуальные трудности) */
.s-pain{background:#0b0b0b;padding:82px 0;border-top:1px solid var(--line);}
.s-pain .head{max-width:700px;margin-bottom:34px;}
.s-pain .eyebrow{color:var(--berry);}
.s-pain h2{font-size:clamp(28px,3.8vw,46px);line-height:1.04;letter-spacing:-.03em;font-weight:800;margin:12px 0 10px;}
.s-pain .head p{color:var(--muted);font-size:17px;max-width:560px;}
/* разделители вместо карточек (owner 2026-06-15) */
.pains2{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;}
@media(max-width:680px){.pains2{grid-template-columns:1fr;}}
.pain{padding:22px 0;border-bottom:1px solid var(--line);}
.pain .was{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:14px;line-height:1.4;}
.pain .was b{color:var(--berry);font-weight:800;flex:none;font-size:15px;line-height:1.3;}
.pain .now{display:flex;gap:9px;align-items:flex-start;margin-top:10px;color:var(--text);font-size:15px;font-weight:650;line-height:1.4;}
.pain .now b{color:var(--acid);font-weight:800;flex:none;}

/* 3 ЦЕНА · Brutalist Big-Number — Full Acid (яркий неоновый блок сразу за лентой сфер) */
.s-free{background:var(--acid);color:var(--ink);border-top:0;}
.s-free .grid{display:grid;grid-template-columns:.85fr 1.15fr;}
@media(max-width:920px){.s-free .grid{grid-template-columns:1fr;}}
.s-free .num{padding:60px 40px;border-right:3px solid #0a0a0a;}
/* mobile: убрать боковые отступы у списка (разделители .li — по ширине контента). Первый
   разделитель (после героя) — на ВСЮ ширину секции, в край лайма (owner 2026-06-17):
   border-bottom заменён на ::after width:100vw, остальные .li-разделители как раньше. */
@media(max-width:920px){
  .s-free .num{border-right:0;border-bottom:0;padding:48px 0 30px;position:relative;}
  .s-free .num::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100vw;height:3px;background:#0a0a0a;}
  /* .grid в селекторе — поднять специфичность над десктопным `.s-free .list{padding:44px 40px}`
     ниже по коду, иначе боковые 40px остаются и .li-разделители выходят узкими (owner 2026-06-17) */
  .s-free .grid .list{padding:26px 0;}
}
.s-free .eyebrow{color:#2c3a00;}
.s-free .big{font-size:clamp(96px,16vw,200px);line-height:.8;font-weight:850;letter-spacing:-.05em;margin-top:8px;}
.s-free .big small{font-size:.34em;}
.s-free .sum{font-size:clamp(40px,5.6vw,64px);line-height:1.02;font-weight:850;letter-spacing:-.03em;margin:12px 0 0;}
/* графити-акцент зелёного блока — красный поверх лайма (--graf-pop, owner 2026-06-17;
   меняется одной строкой). Базовый стиль общий, размеры — у заголовка и пунктов свои. */
.s-free .hand{font-family:var(--graffiti);font-weight:700;letter-spacing:0;color:var(--graf-pop);display:inline-block;}
.s-free .sum .hand{font-size:1.3em;line-height:.7;transform:rotate(-4deg);transform-origin:left center;margin-right:.06em;}
.s-free .li h4 .hand{font-size:1.4em;line-height:.55;transform:rotate(-3deg);transform-origin:left center;margin-right:.03em;}
.s-free .num p{font-weight:700;font-size:18px;margin-top:14px;max-width:300px;}
.s-free .list{padding:44px 40px;display:flex;flex-direction:column;}
.s-free .li{padding:18px 0;border-bottom:3px solid #0a0a0a;}
.s-free .li:last-child{border-bottom:0;}
.s-free .li h4{font-size:20px;font-weight:800;margin:0 0 5px;}
.s-free .li p{font-size:15px;margin:0;color:#1c2300;}

/* 4 РАЗВИТИЕ · Soft Rounded */
.s-evolve{background:#0d120c;padding:82px 0;}
.s-evolve .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;}
@media(max-width:920px){.s-evolve .grid{grid-template-columns:1fr;gap:30px;}}
.s-evolve .eyebrow{color:var(--acid);}
.s-evolve h2{font-size:clamp(28px,3.8vw,48px);line-height:1.02;letter-spacing:-.03em;font-weight:850;margin:12px 0 16px;}
.s-evolve .lede{color:var(--muted);font-size:17px;max-width:440px;margin-bottom:22px;}
.s-evolve .pts{display:flex;flex-direction:column;gap:14px;}
.s-evolve .pt{display:flex;gap:13px;}
.s-evolve .pt .ic{flex:none;width:40px;height:40px;border-radius:12px;background:rgba(204,255,0,.12);display:grid;place-items:center;}
.s-evolve .pt .ic svg{width:20px;height:20px;color:var(--acid);}
.s-evolve .pt h4{margin:2px 0 3px;font-size:16px;font-weight:750;}
.s-evolve .pt p{margin:0;color:var(--muted);font-size:14px;}
.ask{background:#0a0a0a;border:1px solid var(--line);border-radius:22px;padding:20px;}
.ask .lab{font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid);margin-bottom:14px;}
.ask .q{max-width:88%;margin-left:auto;background:rgba(255,255,255,.07);border-radius:16px 16px 5px 16px;padding:11px 14px;font-size:14px;}
.ask .a{max-width:88%;background:rgba(204,255,0,.14);border:1px solid rgba(204,255,0,.4);border-radius:16px 16px 16px 5px;padding:11px 14px;font-size:14px;margin-top:10px;}
.ask .inp{display:flex;gap:8px;margin-top:16px;}
.ask .inp input{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:#fff;font-size:14px;font-family:var(--sans);outline:none;}
.ask .inp button{width:46px;border:0;border-radius:12px;background:var(--acid);color:#0a0a0a;display:grid;place-items:center;cursor:pointer;}
.ask .inp button svg{width:18px;height:18px;}

/* 4b СТАБИЛЬНОСТЬ · cyan/teal trust band (другой акцент, не лайм) */
.s-stab{background:#081413;padding:66px 0;border-top:1px solid var(--line);}
.s-stab .head{max-width:680px;margin-bottom:30px;}
.s-stab .eyebrow{color:var(--acid);}
.s-stab h2{font-size:clamp(26px,3.4vw,42px);line-height:1.05;letter-spacing:-.03em;font-weight:850;margin:12px 0 8px;}
.s-stab .head p{color:var(--muted);font-size:16px;max-width:520px;}
/* разделители вместо карточек: вертикальные линии между цифрами (owner 2026-06-15) */
.stab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
@media(max-width:820px){.stab-grid{grid-template-columns:repeat(2,1fr);row-gap:26px;}}
@media(max-width:460px){.stab-grid{grid-template-columns:1fr;row-gap:0;}}
.stab{padding:6px 30px;border-left:1px solid var(--line);}
.stab:first-child{border-left:0;padding-left:0;}
@media(max-width:820px){.stab:nth-child(odd){border-left:0;padding-left:0;}}
@media(max-width:460px){.stab{border-left:0;padding:18px 0;border-bottom:1px solid var(--line);}}
.stab .num{font-family:var(--graffiti);font-size:clamp(46px,5.2vw,62px);font-weight:700;letter-spacing:0;color:var(--acid);line-height:.85;display:inline-block;transform:rotate(-3deg);transform-origin:left center;}
.stab:nth-child(2) .num{transform:rotate(2.5deg);}
.stab:nth-child(3) .num{transform:rotate(-2deg);}
.stab:nth-child(4) .num{transform:rotate(3.5deg);}
.stab h4{margin:12px 0 4px;font-size:15px;font-weight:750;letter-spacing:-.02em;}
.stab p{margin:0;color:var(--muted);font-size:13px;}

/* 5 ВСЁ В ОДНОМ · Neon Outline Grid */
.s-surf{background:var(--bg);padding:82px 0;border-top:1px solid var(--line);}
.s-surf .head{max-width:640px;margin-bottom:34px;}
.s-surf .eyebrow{color:var(--acid);}
.s-surf h2{font-size:clamp(28px,3.6vw,46px);line-height:1.04;letter-spacing:-.03em;font-weight:850;margin:12px 0 10px;}
.s-surf .head p{color:var(--muted);font-size:17px;}
.surf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:920px){.surf-grid{grid-template-columns:repeat(2,1fr);}}
/* mobile: keep 2-up (1-up looked sparse / broke rhythm) — owner 2026-06-15 */
@media(max-width:520px){.surf-grid{grid-template-columns:repeat(2,1fr);gap:10px;}.surf{padding:14px;}}
/* разделители вместо карточек (owner 2026-06-15) */
.surf{padding:18px 16px 0 0;border-top:1px solid var(--line);transition:color .15s;}
.surf:hover h3{color:var(--acid);}
.surf .ic{width:34px;height:34px;color:var(--acid);margin-bottom:14px;}
.surf h3{font-size:16px;font-weight:750;margin:0 0 6px;letter-spacing:-.02em;}
.surf p{color:var(--muted);font-size:13.5px;margin:0;}
.surf .lab{display:inline-block;margin-top:11px;font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--acid);border:1px solid var(--acid);border-radius:20px;padding:2px 8px;}

/* 6 P&L · Terminal / Data */
.s-pnl{background:#070807;padding:82px 0;border-top:1px solid var(--line);}
.s-pnl .grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;}
@media(max-width:920px){.s-pnl .grid{grid-template-columns:1fr;gap:28px;}}
.s-pnl .eyebrow{color:var(--acid);}
.s-pnl h2{font-size:clamp(28px,3.6vw,46px);line-height:1.04;letter-spacing:-.03em;font-weight:850;margin:12px 0 14px;}
.s-pnl .lede{color:var(--muted);font-size:17px;max-width:440px;}
.term{background:#0c0e0b;border:1px solid var(--line);border-radius:14px;padding:20px;font-family:var(--mono);}
.term .t{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;display:flex;justify-content:space-between;}
.term .t .live{color:var(--acid);}
.term .r{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px 0;font-size:13px;}
.term .r .bar{height:8px;background:linear-gradient(90deg,var(--acid),transparent);border-radius:4px;}
.term .r .bar.b2{background:linear-gradient(90deg,var(--acid-d),transparent);opacity:.7;}
.term .r .bar.b3{background:linear-gradient(90deg,#6f8a00,transparent);}
.term .v{color:var(--text);text-align:right;}
.term .eb{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.term .eb .big{font-size:30px;font-weight:800;color:var(--acid);}
.term .chips{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.term .chip{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:11px;color:var(--muted);}
.term .chip b{color:var(--acid);}

/* 7 ПОБЕДЫ · Multi-neon Tiles (оригинал — retro-ski убран по фидбеку) */
.s-wins{background:var(--bg);padding:82px 0;border-top:1px solid var(--line);}
.s-wins .head{max-width:660px;margin-bottom:30px;}
.s-wins .eyebrow{color:var(--acid);}
.s-wins h2{font-size:clamp(28px,3.6vw,46px);line-height:1.04;letter-spacing:-.03em;font-weight:850;margin:12px 0 10px;}
.s-wins .head p{color:var(--muted);font-size:17px;}
.wins{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px;}
@media(max-width:820px){.wins{grid-template-columns:1fr;}}
/* разделители вместо карточек (owner 2026-06-15) */
.win{padding:22px 18px 0 0;border-top:1px solid var(--line);}
.win .k{font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid);}
.win:hover h3,.surf:hover h3{color:var(--acid);}
.win h3{font-size:21px;font-weight:800;margin:12px 0 8px;letter-spacing:-.02em;}
.win p{color:var(--muted);font-size:14.5px;margin:0;}

/* 8 КАССА · тёмная (разбить две светлые секции подряд; owner 2026-06-15) */
.s-kassa{background:#0c0e0b;color:var(--text);padding:78px 0;border-top:1px solid var(--line);}
.s-kassa .grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
@media(max-width:920px){.s-kassa .grid{grid-template-columns:1fr;gap:30px;}}
.s-kassa .eyebrow{color:var(--acid);}
.s-kassa h2{font-size:clamp(28px,3.6vw,46px);line-height:1.04;letter-spacing:-.03em;font-weight:850;margin:12px 0 16px;}
.s-kassa p{color:var(--muted);font-size:17px;max-width:420px;}
.s-kassa .pts{margin:20px 0 24px;display:flex;flex-direction:column;gap:11px;}
.s-kassa .pt{display:flex;gap:11px;align-items:flex-start;font-size:15px;}
.s-kassa .tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--acid);display:grid;place-items:center;}
.s-kassa .tick svg{width:13px;height:13px;stroke:#0a0a0a;}
.pad{background:#15170f;border:1px solid var(--line);border-radius:20px;padding:16px;color:var(--text);}
.pad-top{display:flex;justify-content:space-between;font:600 11px/1 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;}
.pad-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.pad-tile{background:#16170f;border:1px solid var(--line);border-radius:12px;padding:13px 11px;}
.pad-tile .nm{font-size:13px;font-weight:600;}
.pad-tile .pr{font:600 12px var(--mono);color:var(--acid);margin-top:7px;}
.pad-tile .d{width:8px;height:8px;border-radius:50%;display:block;margin-bottom:9px;}

/* 9 ИСТОРИЯ · Manifesto (атомные лозунги) — светлый */
.s-story{background:var(--paper);color:var(--ink);padding:84px 0;}
.s-story .head{max-width:760px;margin:0 auto 32px;}
.s-story .eyebrow{color:#5a6b00;}
.s-story h2{font-size:clamp(30px,4.4vw,56px);line-height:1.0;letter-spacing:-.035em;font-weight:850;margin:12px 0 0;}
/* «умников» — наш зелёный как ХАЙЛАЙТ (кислотный текст на белом не виден): acid-фон + тёмный текст */
.s-story h2 .hand{font-family:var(--graffiti);font-weight:700;font-size:1.4em;letter-spacing:0;line-height:.8;color:#0a0a0a;background:var(--acid);padding:.02em .16em .04em;border-radius:.08em;display:inline-block;transform:rotate(-3deg);}
.manifesto{max-width:760px;margin:0 auto;display:flex;flex-direction:column;}
.manifesto .line{font-size:clamp(20px,2.6vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.22;padding:16px 0;border-bottom:1px solid var(--line-ink);display:flex;gap:16px;align-items:baseline;}
.manifesto .line:last-child{border-bottom:0;}
.manifesto .line em{font-style:normal;background:var(--acid);color:#0a0a0a;padding:0 .1em;border-radius:.05em;}
.manifesto .punch{font-size:clamp(24px,3.4vw,38px);color:var(--ink);}

/* 10 FINAL · Full Acid */
.s-final{background:var(--acid);color:var(--ink);padding:92px 0;text-align:center;}
.s-final h2{font-size:clamp(34px,5.4vw,68px);line-height:.98;letter-spacing:-.035em;font-weight:900;margin:0 0 16px;}
.s-final .scare{font-family:var(--serif);font-style:italic;font-weight:700;letter-spacing:-.01em;}
.s-final p{font-size:19px;font-weight:600;max-width:560px;margin:0 auto 28px;color:#1c2300;}
.s-final .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.s-final .note{margin-top:20px;font-size:13.5px;color:#2c3a00;}

footer{background:#070807;color:var(--muted);padding:40px 0;border-top:1px solid var(--line);}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:13px;}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;}
.foot-links a:hover{color:var(--text);}
/* ── sales chat widget (single conversation, no thread list) ── */
.chatw{position:fixed;right:20px;bottom:20px;z-index:60;display:none;flex-direction:column;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 40px));background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);overflow:hidden}
.chatw.open{display:flex}
.chatw-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.chatw-h b{font:700 14px var(--display);color:var(--text)}
.chatw-h .s{font-size:12px;color:var(--muted)}
.chatw-x{margin-left:auto;background:transparent;border:0;color:var(--muted);font-size:20px;cursor:pointer;line-height:1}
.chatw-x:hover{color:var(--text)}
.chatw-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.chatw-msg{max-width:85%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.45;white-space:pre-wrap}
.chatw-msg.u{align-self:flex-end;background:var(--acid);color:#0a0a0a;border-bottom-right-radius:4px}
.chatw-msg.a{align-self:flex-start;background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--line);border-bottom-left-radius:4px}
.chatw-foot{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chatw-foot textarea{flex:1;resize:none;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:9px;color:var(--text);padding:9px 11px;font:400 14px var(--sans);max-height:90px}
.chatw-foot textarea:focus{outline:none;border-color:var(--acid)}
.chatw-send{background:var(--acid);color:#0a0a0a;border:0;border-radius:9px;padding:0 14px;font:700 13px var(--sans);cursor:pointer}
.chatw-send:disabled{opacity:.5;cursor:default}
/* Mobile: full-screen panel, no rounded float. Height is driven by JS from
   window.visualViewport (the on-screen keyboard shrinks the visual viewport, not the
   layout viewport, on iOS) so the composer + latest messages stay above the keyboard;
   100dvh is the no-keyboard fallback. Safe-area insets keep header/composer clear of
   the notch and home indicator (needs viewport-fit=cover). */
@media (max-width:560px){
  .chatw{top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none}
  .chatw-h{padding-top:max(14px,env(safe-area-inset-top))}
  .chatw-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
/* Lock the page behind the open full-screen chat so nothing scrolls underneath it. */
html.chatw-lock,body.chatw-lock{overflow:hidden;overscroll-behavior:none}

/* ════════════════════════════════════════════════════════════════════════
   SITE — multi-page additions (nav across 8 sections + section-page shells).
   Home keeps its bespoke one-page sections above; these power the section pages.
   ════════════════════════════════════════════════════════════════════════ */

/* Site nav: 8 section links — tighter gap, wraps to burger on mobile. */
.nav-links a.active{color:var(--text);}
.nav-links a.active::after{content:'';display:block;height:2px;background:var(--acid);margin-top:3px;border-radius:2px;}
.nav-burger{display:none;background:transparent;border:0;color:var(--text);cursor:pointer;padding:8px;margin:-8px;}
.nav-burger svg{width:26px;height:26px;}
@media(max-width:980px){
  .nav-links{gap:18px;font-size:13px;}
}
@media(max-width:860px){
  .nav-burger{display:block;}
  .nav-links{position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:0;background:rgba(10,10,10,.97);
    backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);padding:8px 0;
    max-height:0;overflow:hidden;transition:max-height .28s ease;}
  .nav.open .nav-links{display:flex;max-height:80vh;}
  .nav-links a{padding:13px 28px;font-size:15px;border-bottom:1px solid var(--line);}
  .nav-links a:last-child{border-bottom:0;}
  /* on section pages nav-cta is always shown; keep it out of the burger column */
  .nav-cta{display:none;}
}

/* Section page hero — compact, left-aligned, acid eyebrow. */
.s-phero{background:var(--bg);padding:74px 0 56px;border-bottom:1px solid var(--line);overflow:hidden;}
.s-phero .eyebrow{color:var(--acid);}
.s-phero h1{font-size:clamp(36px,5.4vw,68px);line-height:.98;letter-spacing:-.035em;font-weight:900;margin:14px 0 0;max-width:14ch;}
.s-phero h1 .hl{color:var(--acid);}
.s-phero .lede{color:var(--muted);font-size:19px;line-height:1.5;margin:20px 0 0;max-width:560px;}
.s-phero .cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap;}
.s-phero .chips{display:flex;gap:18px;margin-top:24px;flex-wrap:wrap;color:var(--muted);font-size:13px;}
.s-phero .chips i{width:7px;height:7px;border-radius:50%;background:var(--acid);display:inline-block;margin-right:7px;}

/* Section "feature rows" — alternating text / demo, reuses tokens. */
.s-rows{background:var(--bg);padding:18px 0 72px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding:46px 0;border-bottom:1px solid var(--line);}
.frow:last-child{border-bottom:0;}
.frow.flip .ftext{order:2;}
@media(max-width:860px){.frow{grid-template-columns:1fr;gap:24px;}.frow.flip .ftext{order:0;}}
.frow .eyebrow{color:var(--acid);}
.frow h2{font-size:clamp(24px,3.2vw,38px);line-height:1.05;letter-spacing:-.03em;font-weight:850;margin:10px 0 12px;}
.frow p{color:var(--muted);font-size:16px;line-height:1.55;margin:0 0 16px;max-width:480px;}
.frow .pts{display:flex;flex-direction:column;gap:11px;}
.frow .pt{display:flex;gap:11px;align-items:flex-start;font-size:15px;line-height:1.45;}
.frow .pt .tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--acid);display:grid;place-items:center;margin-top:1px;}
.frow .pt .tick svg{width:13px;height:13px;stroke:#0a0a0a;}
/* generic demo card for the visual half of a feature row */
.fdemo{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.45);}
.fdemo .dt{display:flex;justify-content:space-between;align-items:center;font:600 12px/1 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;}
.fdemo .dt .live{color:var(--acid);}
.fdemo .drow{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;}
.fdemo .drow:last-child{border-bottom:0;}
.fdemo .drow .q{color:var(--acid);font-weight:700;margin-right:8px;}
.fdemo .pill{display:inline-block;font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acid);border:1px solid var(--acid);border-radius:20px;padding:3px 10px;}

/* Cross-section "ещё в Смене" footer band before the final CTA. */
.s-more{background:#0b0b0b;padding:64px 0;border-top:1px solid var(--line);}
.s-more .head{max-width:640px;margin-bottom:26px;}
.s-more .eyebrow{color:var(--acid);}
.s-more h2{font-size:clamp(24px,3.2vw,38px);line-height:1.05;letter-spacing:-.03em;font-weight:850;margin:10px 0 0;}
.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:920px){.more-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.more-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
.more{display:block;padding:16px 14px 0 0;border-top:1px solid var(--line);transition:color .15s;}
.more:hover h3{color:var(--acid);}
.more .ic{width:30px;height:30px;color:var(--acid);margin-bottom:11px;}
.more h3{font-size:15px;font-weight:750;margin:0 0 5px;letter-spacing:-.02em;}
.more p{color:var(--muted);font-size:13px;margin:0;}
