/* ════════════════════════════════════════════════════════════
   ТЯГА · SALES CRM — styles.css
   Тёмная тема · aurora-акценты точечно · Inter + JetBrains Mono
   ════════════════════════════════════════════════════════════ */

/* ── 01 · Токены ─────────────────────────────────────────── */
:root{
  --void:#08090D;
  --bg:#0A0B11;
  --panel:#0F1119;
  --panel-2:#151826;
  --elevated:#1B2030;
  --border:rgba(255,255,255,0.08);
  --border-2:rgba(255,255,255,0.14);
  --text:#F5F6FA;
  --text-2:#9BA1B4;
  --text-3:#7C8499; /* поднят с #5C6274 ради контраста ≥4.5:1 на панелях */
  --violet:#8B5CF6;
  --blue:#4F7BFF;
  --cyan:#22D3EE;
  --aurora:linear-gradient(100deg,#8B5CF6 0%,#4F7BFF 50%,#22D3EE 100%);
  --aurora-soft:linear-gradient(100deg,rgba(139,92,246,0.16),rgba(79,123,255,0.16),rgba(34,211,238,0.16));
  --shadow-deep:0 30px 80px rgba(0,0,0,0.45);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --ease-io:cubic-bezier(0.4,0,0.2,1);
  --content-max:1200px;
  --pad-x:40px;
  --header-h:68px;
  --font-sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'Cascadia Mono',Consolas,monospace;
}
@media (max-width:1023px){ :root{ --pad-x:28px; } }
@media (max-width:767px){ :root{ --pad-x:20px; --header-h:60px; } }

/* ── 02 · Reset / база ───────────────────────────────────── */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; color-scheme:dark; }
html,body{ overflow-x:clip; }
body{
  background:var(--bg);
  color:var(--text-2);
  font:400 16px/1.6 var(--font-sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  transition:opacity .2s var(--ease-io);
}
body.lang-switching{ opacity:.25; }
body.menu-open,body.overlay-open{ overflow:hidden; }
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
input,select{ font:inherit; }
ul,ol{ list-style:none; }
::selection{ background:rgba(79,123,255,.35); color:var(--text); }
:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; border-radius:4px; }
::-webkit-scrollbar{ width:11px; }
::-webkit-scrollbar-track{ background:var(--bg); }
::-webkit-scrollbar-thumb{ background:var(--elevated); border-radius:8px; border:3px solid var(--bg); }

.visually-hidden{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap;
}
.skip-link{
  position:fixed; top:10px; left:10px; z-index:500;
  background:var(--elevated); color:var(--text);
  padding:10px 16px; border-radius:8px; font-size:14px;
  transform:translateY(-200%); transition:transform .3s var(--ease);
}
.skip-link:focus-visible{ transform:none; }

/* ── 03 · Типографика ────────────────────────────────────── */
h1,h2,h3,h4{ color:var(--text); font-weight:600; hyphens:none; }
h1{ font-size:clamp(38px,5.5vw,72px); line-height:1.05; letter-spacing:-0.02em; }
h2{ font-size:clamp(28px,4vw,50px); line-height:1.1; letter-spacing:-0.015em; }
h3{ font-size:clamp(20px,2.2vw,28px); line-height:1.25; }
p{ max-width:62ch; }
.lead{ font-size:clamp(17px,1.4vw,20px); line-height:1.55; color:var(--text-2); }
.eyebrow{
  font-family:var(--font-mono); font-weight:500; font-size:12px;
  text-transform:uppercase; letter-spacing:.12em; color:var(--text-3);
}
.mono{ font-family:var(--font-mono); font-weight:500; font-variant-numeric:tabular-nums; }
.aurora-text{
  background:var(--aurora);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ── 04 · Сетка / секции ─────────────────────────────────── */
.container{ max-width:var(--content-max); margin-inline:auto; padding-inline:var(--pad-x); }
.section{ padding-block:clamp(80px,11vh,150px); position:relative; }
.section-head{ margin-bottom:clamp(40px,6vh,64px); }
.section-head .eyebrow{ margin-bottom:16px; }
.section-head h2{ max-width:22ch; margin-bottom:18px; }
.section-head .lead{ max-width:52ch; }

/* ── 05 · Кнопки ─────────────────────────────────────────── */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  gap:8px; height:46px; padding:0 22px; border-radius:10px;
  font:500 15px/1 var(--font-sans); white-space:nowrap; user-select:none;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease),
             border-color .35s var(--ease-io), background-color .35s var(--ease-io);
}
.btn--sm{ height:40px; padding:0 16px; font-size:14px; }
.btn-primary{
  color:#fff;
  background-image:var(--aurora);
  background-size:200% 200%; background-position:0% 50%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 4px 18px rgba(79,123,255,.15);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 12px 34px rgba(79,123,255,.35);
  animation:gradShift 2.8s var(--ease-io) infinite alternate;
}
@keyframes gradShift{
  0%{ background-position:0% 50%; }
  100%{ background-position:100% 50%; }
}
.btn-secondary{
  color:var(--text);
  background:var(--panel);
  border:1px solid var(--border-2);
}
.btn-secondary:hover{
  transform:translateY(-2px);
  border-color:transparent;
  background:linear-gradient(var(--panel),var(--panel)) padding-box, var(--aurora) border-box;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

/* ── 06 · Карточки (база) ────────────────────────────────── */
.card{
  position:relative;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:16px;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease-io);
}
.card::before{
  content:""; position:absolute; top:-1px; left:14px; right:14px; height:1px;
  background:var(--aurora); border-radius:1px; opacity:.9;
  transform:scaleX(0); transform-origin:left;
  transition:transform .6s var(--ease);
}
.card:hover{
  transform:translateY(-4px);
  border-color:var(--border-2);
  box-shadow:var(--shadow-deep), 0 0 44px rgba(79,123,255,.06);
}
.card:hover::before{ transform:scaleX(1); }

/* курсор-glow на крупных поверхностях (desktop) */
@media (pointer:fine){
  .glow-track{ position:relative; }
  .glow-track::after{
    content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
    background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),
               rgba(139,92,246,.09), transparent 65%);
    opacity:0; transition:opacity .5s var(--ease-io);
  }
  .glow-track:hover::after{ opacity:1; }
}

/* ── 07 · Aurora-орбы и grain ────────────────────────────── */
.aurora-orb{
  position:absolute; border-radius:50%; pointer-events:none; z-index:0;
  will-change:transform;
  animation:orbDrift 24s var(--ease-io) infinite alternate;
}
.aurora-orb--violet{ background:radial-gradient(circle, rgba(139,92,246,.20) 0%, transparent 62%); }
.aurora-orb--blue{ background:radial-gradient(circle, rgba(79,123,255,.18) 0%, transparent 62%); }
.aurora-orb--cyan{ background:radial-gradient(circle, rgba(34,211,238,.13) 0%, transparent 62%); animation-duration:26s; animation-delay:-8s; }
@keyframes orbDrift{
  0%{ transform:translate3d(0,0,0) scale(1); }
  50%{ transform:translate3d(4%,-6%,0) scale(1.07); }
  100%{ transform:translate3d(-3%,5%,0) scale(.96); }
}
.grain{
  position:fixed; inset:0; z-index:400; pointer-events:none; opacity:.03;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:160px 160px;
}

/* ── 08 · Reveal ─────────────────────────────────────────────
   Скрытие ТОЛЬКО под html.js (класс ставит инлайн-скрипт в head;
   main.js подтверждает себя через window.__tyaga, иначе гейт
   снимается через 2.5с и контент виден статично).
   .reveal-done — жёсткое конечное состояние без transition:
   страховка от замороженных переходов в фоновых вкладках. ── */
html.js [data-reveal]{ opacity:0; }
html.js [data-reveal="fade-up"]{ transform:translateY(28px); filter:blur(6px); }
html.js [data-reveal="scale"]{ transform:scale(.97) translateY(12px); }
html.js [data-reveal="wipe"]{ clip-path:inset(0 -120px 100% -120px round 16px); }
html.js [data-reveal].revealed{
  opacity:1; transform:none; filter:none;
  clip-path:inset(-120px -120px -120px -120px round 16px);
  transition:
    opacity .8s var(--ease) var(--reveal-delay,0s),
    transform .8s var(--ease) var(--reveal-delay,0s),
    filter .8s var(--ease) var(--reveal-delay,0s),
    clip-path .9s var(--ease) var(--reveal-delay,0s);
}
html.js [data-reveal].reveal-done{
  transition:none;
  opacity:1; transform:none; filter:none; clip-path:none;
}
/* дожать внутренние анимации мокапов, если переход замёрз */
.hero-visual.reveal-done .hd-line{ animation:none; }
.hero-visual.reveal-done .hd-area{ opacity:1; transition:none; }
.live-dash.reveal-done #lvLine{ animation:none; }

/* ── 09 · Шапка ──────────────────────────────────────────── */
.site-header{
  position:sticky; top:0; z-index:120;
  border-bottom:1px solid transparent;
  transition:background-color .4s var(--ease-io), border-color .4s var(--ease-io),
             backdrop-filter .4s var(--ease-io);
}
.site-header.scrolled{
  background:rgba(10,11,17,.72);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-bottom-color:var(--border);
}
.header-inner{ display:flex; align-items:center; gap:28px; height:var(--header-h); }
.brand{ display:flex; align-items:center; gap:10px; color:var(--text); font-weight:600; font-size:19px; letter-spacing:-0.01em; }
.brand-mark{ width:22px; height:22px; flex:none; }
.main-nav{ display:flex; gap:26px; margin-left:6px; }
.main-nav a{ font-size:15px; color:var(--text-2); position:relative; padding:6px 0; transition:color .3s var(--ease-io); }
.main-nav a:hover{ color:var(--text); }
.main-nav a.active{ color:var(--text); }
.main-nav a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  border-radius:2px; background:var(--aurora);
}
.header-actions{ margin-left:auto; display:flex; align-items:center; gap:12px; }

/* тумблер языка */
.lang-toggle{
  position:relative; display:inline-flex; padding:3px;
  background:var(--panel); border:1px solid var(--border-2); border-radius:999px;
}
.lang-toggle .lang-pill{
  position:absolute; top:3px; bottom:3px; left:3px; width:calc(50% - 3px);
  border-radius:999px; background-image:var(--aurora);
  transition:transform .45s var(--ease);
}
.lang-toggle[data-lang="en"] .lang-pill{ transform:translateX(100%); }
.lang-toggle button{
  position:relative; z-index:1; width:40px; padding:6px 0; border-radius:999px;
  font:500 12px var(--font-mono); letter-spacing:.06em; color:var(--text-3);
  transition:color .35s var(--ease-io); text-align:center;
}
.lang-toggle button.active{ color:#fff; }

/* бургер — ВСЕГДА у правого края (margin-left:auto на .header-actions) */
.burger{
  display:none; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; width:44px; height:44px; margin-right:-8px; border-radius:10px;
}
.burger span{
  width:20px; height:2px; background:var(--text); border-radius:2px;
  transition:transform .35s var(--ease);
}
.burger.open span:nth-child(1){ transform:translateY(4px) rotate(45deg); }
.burger.open span:nth-child(2){ transform:translateY(-4px) rotate(-45deg); }

/* мобильное меню */
.mobile-menu{
  position:fixed; inset:0; z-index:110;
  background:rgba(8,9,13,.98);
  display:flex; flex-direction:column;
  padding:calc(var(--header-h) + 28px) var(--pad-x) 40px;
  opacity:0; visibility:hidden;
  transition:opacity .4s var(--ease), visibility 0s .4s;
}
.mobile-menu.open{ opacity:1; visibility:visible; transition:opacity .4s var(--ease); }
.mobile-menu nav{ display:flex; flex-direction:column; gap:4px; }
.mobile-menu nav a{
  font-size:30px; font-weight:600; color:var(--text); padding:10px 0;
  letter-spacing:-0.015em;
  opacity:0; transform:translateY(14px);
  transition:opacity .5s var(--ease), transform .5s var(--ease), color .3s;
}
.mobile-menu.open nav a{
  opacity:1; transform:none;
  transition-delay:calc(80ms + var(--i,0)*60ms);
}
.mobile-menu nav a.active{ background:var(--aurora); -webkit-background-clip:text; background-clip:text; color:transparent; }
.mobile-menu-bottom{
  margin-top:auto; display:flex; flex-direction:column; gap:20px;
  opacity:0; transform:translateY(14px);
  transition:opacity .5s var(--ease) .3s, transform .5s var(--ease) .3s;
}
.mobile-menu.open .mobile-menu-bottom{ opacity:1; transform:none; }
.mobile-menu-bottom .btn{ width:100%; height:52px; }
.mobile-menu-bottom .lang-toggle{ align-self:flex-start; }

/* ── 10 · Подвал ─────────────────────────────────────────── */
.site-footer{
  position:relative; background:var(--void);
  border-top:1px solid var(--border);
  padding:clamp(64px,8vh,100px) 0 32px;
  overflow:clip;
}
.footer-orb{ width:520px; aspect-ratio:1; right:-160px; top:-220px; }
.site-footer .container{ position:relative; z-index:1; }
.footer-cta{
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
  padding-bottom:clamp(40px,6vh,56px); margin-bottom:clamp(40px,6vh,56px);
  border-bottom:1px solid var(--border);
}
.footer-line{
  font-size:clamp(26px,3.4vw,44px); font-weight:600; line-height:1.15;
  letter-spacing:-0.015em; color:var(--text); max-width:none;
}
.footer-cols{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px;
  padding-bottom:clamp(40px,6vh,56px);
}
.footer-col h4{
  font:500 12px var(--font-mono); text-transform:uppercase; letter-spacing:.12em;
  color:var(--text-3); margin-bottom:16px;
}
.footer-col a{ display:block; font-size:15px; color:var(--text-2); padding:6px 0; transition:color .3s var(--ease-io); width:fit-content; }
.footer-col a:hover{ color:var(--text); }
.footer-bottom{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:12px 24px; padding-top:26px; border-top:1px solid var(--border);
  font-size:13px; color:var(--text-3);
}
.footer-bottom a{ color:var(--text-3); transition:color .3s; }
.footer-bottom a:hover{ color:var(--text-2); }
.footer-meta{ font:500 11px var(--font-mono); letter-spacing:.12em; color:var(--text-3); }

/* ── 11 · Адаптив: шапка/подвал ──────────────────────────── */
@media (max-width:920px){
  .header-actions .btn-secondary{ display:none; }
}
@media (max-width:767px){
  .main-nav{ display:none; }
  .header-actions .btn,
  .header-actions .lang-toggle{ display:none; }
  .burger{ display:flex; }
  .footer-cols{ grid-template-columns:1fr 1fr; }
  .footer-cta{ flex-direction:column; align-items:flex-start; }
  .footer-bottom{ justify-content:flex-start; }
}
@media (max-width:340px){
  .footer-cols{ grid-template-columns:1fr; }
}

/* ── 12 · Reduced motion ─────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .aurora-orb{ animation:none; }
  .btn-primary:hover{ animation:none; }
  html.js [data-reveal]{ opacity:1; transform:none; filter:none; clip-path:none; }
  .mobile-menu nav a,.mobile-menu-bottom{ transition-delay:0s; }
}

/* ── 13 · HERO + 3D-дашборд ──────────────────────────────── */
.hero{
  position:relative;
  padding-top:clamp(52px,8vh,104px);
  padding-bottom:clamp(72px,10vh,132px);
}
.hero-orb-1{ width:640px; aspect-ratio:1; left:-240px; top:-200px; }
.hero-orb-2{ width:760px; aspect-ratio:1; right:-300px; top:-120px; }
.hero-inner{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0,46fr) minmax(0,54fr);
  gap:clamp(32px,4vw,56px); align-items:center;
}
.hero-copy .eyebrow{ margin-bottom:20px; }
.hero-copy h1{ margin-bottom:22px; max-width:15ch; }
.hero-copy .lead{ margin-bottom:32px; max-width:46ch; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:20px; }
.hero-note{ font-size:12.5px; color:var(--text-3); letter-spacing:.05em; }

.hero-dash-wrap{ perspective:1400px; }
.hero-dash{
  position:relative;
  transform:translateY(-6px) rotateX(14deg) rotateY(-8deg);
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border:1px solid var(--border-2);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow-deep), 0 0 60px rgba(79,123,255,.10);
  will-change:transform;
}
.hero-dash::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:var(--aurora); opacity:.55; z-index:2;
}
@media (max-width:1023px), (pointer:coarse){
  .hero-dash{ transform:none; will-change:auto; }
}

/* внутренний UI мокапа */
.hd-top{
  display:flex; align-items:center; gap:14px;
  padding:11px 16px; border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.015);
}
.hd-brand{ display:flex; align-items:center; gap:7px; font:600 13px var(--font-sans); color:var(--text); }
.hd-search{
  flex:0 1 210px; font-size:11px; font-weight:400; color:var(--text-3);
  background:var(--bg); border:1px solid var(--border); border-radius:7px;
  padding:6px 10px; white-space:nowrap; overflow:hidden;
}
.hd-user{
  width:26px; height:26px; margin-left:auto; border-radius:50%; flex:none;
  background:var(--panel-2); border:1px solid var(--border-2);
  font-size:9.5px; color:var(--text-2); display:grid; place-items:center;
}
.hd-body{ display:grid; grid-template-columns:50px 1fr; }
.hd-side{
  border-right:1px solid var(--border); padding:12px 0;
  display:flex; flex-direction:column; align-items:center; gap:4px;
}
.hd-icon{
  width:30px; height:30px; border-radius:8px; color:var(--text-3);
  display:grid; place-items:center;
}
.hd-icon svg{ width:15px; height:15px; }
.hd-icon.active{ background:var(--aurora-soft); color:var(--text); }
.hd-main{ padding:14px 16px 16px; display:flex; flex-direction:column; gap:12px; }
.hd-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.hd-metric{
  background:var(--bg); border:1px solid var(--border); border-radius:10px;
  padding:10px 12px; display:flex; flex-direction:column; gap:3px; min-width:0;
}
.hd-metric-label{
  font-size:10.5px; color:var(--text-3);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hd-metric-val{ font-size:17px; color:var(--text); white-space:nowrap; }
.hd-metric-delta{ font-size:10px; color:var(--cyan); white-space:nowrap; overflow:hidden; }
.hd-chart{
  background:var(--bg); border:1px solid var(--border); border-radius:10px;
  padding:12px 12px 8px;
}
.hd-chart svg{ width:100%; height:120px; }
.hd-line{ stroke-width:2; stroke-linecap:round; }
.hero-visual.revealed .hd-line{ animation:drawLine 1.8s var(--ease) .45s both; }
@keyframes drawLine{
  from{ stroke-dasharray:1; stroke-dashoffset:1; }
  to{ stroke-dasharray:1; stroke-dashoffset:0; }
}
.hd-area{ opacity:0; transition:opacity .9s var(--ease-io) 1s; }
.hero-visual.revealed .hd-area{ opacity:1; }
.hd-list{
  background:var(--bg); border:1px solid var(--border); border-radius:10px;
  padding:2px 12px;
}
.hd-row{
  display:flex; align-items:center; gap:9px; padding:8px 0;
  border-top:1px solid var(--border); font-size:11.5px; color:var(--text-2);
}
.hd-row:first-child{ border-top:0; }
.hd-dot{ width:6px; height:6px; border-radius:50%; flex:none; }
.hd-row-name{ color:var(--text); font-weight:500; font-size:12px; }
.hd-amount{ margin-left:auto; font-size:11.5px; color:var(--text); }
.hd-chip{
  font:500 9px var(--font-mono); letter-spacing:.06em; text-transform:uppercase;
  padding:3px 8px; border-radius:999px; flex:none;
  background:var(--panel-2); border:1px solid var(--border); color:var(--text-2);
}
.hd-chip--hot{ background:var(--aurora-soft); border-color:transparent; color:var(--text); }

@media (max-width:1023px){
  .hero-inner{ grid-template-columns:1fr; gap:44px; }
  .hero-dash-wrap{ max-width:620px; }
}
@media (max-width:767px){
  .hero{ padding-top:36px; }
  .hero-actions .btn{ flex:1 1 auto; }
  .hd-metric-val{ font-size:12.5px; }
  .hd-metric-label{ font-size:9.5px; }
  .hd-metric{ padding:8px 9px; }
  .hd-main{ padding:12px; gap:10px; }
  .hd-chart svg{ height:96px; }
}
@media (prefers-reduced-motion:reduce){
  .hero-dash{ transform:none; }
  .hero-visual.revealed .hd-line{ animation:none; }
  .hd-area{ opacity:1; transition:none; }
}

/* ── 14 · Живой дашборд ──────────────────────────────────── */
.live-section{ padding-top:clamp(40px,6vh,80px); }
.live-dash{
  background:var(--panel);
  border:1px solid var(--border-2);
  border-radius:16px;
  box-shadow:var(--shadow-deep);
  overflow:hidden;
}
.live-head{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 16px; border-bottom:1px solid var(--border);
}
.live-tabs{
  display:flex; gap:4px; padding:3px;
  background:var(--bg); border:1px solid var(--border); border-radius:10px;
}
.live-tab{
  padding:7px 16px; border-radius:8px; font-size:13.5px; color:var(--text-2);
  transition:color .3s var(--ease-io), background-color .3s var(--ease-io);
}
.live-tab:hover{ color:var(--text); }
.live-tab.active{ color:var(--text); background-image:var(--aurora-soft); }
.live-status{ display:flex; align-items:center; gap:8px; font-size:10px; color:var(--text-3); letter-spacing:.14em; }
.live-dot{
  width:7px; height:7px; border-radius:50%; background:var(--cyan);
  animation:livePulse 2.4s var(--ease-io) infinite;
}
@keyframes livePulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(34,211,238,.45); }
  50%{ box-shadow:0 0 0 5px rgba(34,211,238,0); }
}

.live-body{ display:grid; }
.live-pane{
  grid-area:1/1; min-width:0;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .45s var(--ease), transform .45s var(--ease), visibility 0s .45s;
  pointer-events:none;
}
.live-pane.active{
  opacity:1; visibility:visible; transform:none; pointer-events:auto;
  transition:opacity .45s var(--ease) .1s, transform .45s var(--ease) .1s, visibility 0s;
}

/* обзор */
.lv-metrics{
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
  padding:16px 16px 0;
}
.lv-metric{
  background:var(--bg); border:1px solid var(--border); border-radius:12px;
  padding:12px 14px; display:flex; flex-direction:column; gap:5px; min-width:0;
}
.lv-label{ font-size:11px; color:var(--text-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lv-val{ font-size:clamp(16px,1.6vw,22px); color:var(--text); white-space:nowrap; }
.lv-grid{
  display:grid; grid-template-columns:minmax(0,62fr) minmax(0,38fr); gap:10px;
  padding:10px 16px 16px;
}
.lv-panel{ background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:12px 14px; min-width:0; }
.lv-panel-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-size:12.5px; font-weight:500; color:var(--text-2); margin-bottom:10px;
}
.lv-dim{ font-size:10px; color:var(--text-3); letter-spacing:.08em; }
.lv-chart svg{ width:100%; height:170px; }
#lvLine{ }
.live-dash.revealed #lvLine{ animation:drawLine 1.6s var(--ease) .5s both; }
.lv-feed ul{ display:flex; flex-direction:column; }
.lv-feed li{
  display:flex; align-items:baseline; gap:9px;
  padding:8.5px 0; border-top:1px solid var(--border);
  font-size:12.5px; color:var(--text-2); line-height:1.4;
  opacity:1; transform:none;
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.lv-feed li:first-child{ border-top:0; }
.lv-feed li.enter{ opacity:0; transform:translateY(12px); }
.lv-feed li.leave{ opacity:0; transform:translateY(-8px); }
.lv-feed li::before{
  content:""; width:5px; height:5px; border-radius:50%; flex:none;
  background:var(--blue); transform:translateY(-1.5px);
}
.lv-feed li .mono{ color:var(--text); font-size:12px; }

/* воронка (канбан) */
.lv-kanban{ display:flex; gap:10px; padding:16px; }
.lv-col{
  flex:1 1 0; min-width:0;
  background:var(--bg); border:1px solid var(--border); border-radius:12px;
  padding:10px; display:flex; flex-direction:column; gap:8px;
}
.lv-col-head{
  display:flex; align-items:center; justify-content:space-between; gap:6px;
  font-size:11px; color:var(--text-3); padding:0 2px 4px;
}
.lv-col-sum{ font-size:10px; color:var(--text-2); white-space:nowrap; }
.lv-card{
  position:relative;
  background:var(--panel-2); border:1px solid var(--border); border-radius:10px;
  padding:9px 10px;
  display:grid; grid-template-columns:minmax(0,1fr) 24px; gap:2px 8px; align-items:center;
  transition:transform .35s var(--ease), border-color .35s var(--ease-io), box-shadow .35s var(--ease);
}
.lv-card:hover{ transform:translateY(-2px); border-color:var(--border-2); }
.lv-card-name{
  font-size:12.5px; font-weight:500; color:var(--text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lv-card-sum{ font-size:11px; color:var(--text-2); white-space:nowrap; }
.lv-card-avatar{
  grid-area:1/2/3/3; width:22px; height:22px; border-radius:50%;
  background:var(--elevated); border:1px solid var(--border-2);
  font-size:8.5px; color:var(--text-2); display:grid; place-items:center;
}
.lv-card.moving{
  border-color:transparent;
  background:linear-gradient(var(--panel-2),var(--panel-2)) padding-box, var(--aurora) border-box;
  box-shadow:0 10px 26px rgba(79,123,255,.22);
  z-index:2;
}

/* аналитика */
.lv-analytics{
  display:grid; grid-template-columns:minmax(0,58fr) minmax(0,42fr); gap:10px;
  padding:16px;
}
.lv-bar-row{
  display:grid; grid-template-columns:88px minmax(0,1fr) 34px; gap:10px;
  align-items:center; font-size:12.5px; color:var(--text-2); padding:7px 0;
}
.lv-bar-row .mono{ text-align:right; color:var(--text); font-size:12px; }
.lv-bar{ height:8px; border-radius:4px; background:var(--panel-2); overflow:hidden; }
.lv-bar i{
  display:block; height:100%; width:var(--w,50%); border-radius:4px;
  background:var(--aurora);
  transform:scaleX(0); transform-origin:left;
  transition:transform 1s var(--ease);
}
.lv-analytics.on .lv-bar i{ transform:scaleX(1); }
.lv-analytics.on .lv-bar-row:nth-child(3) i{ transition-delay:.08s; }
.lv-analytics.on .lv-bar-row:nth-child(4) i{ transition-delay:.16s; }
.lv-analytics.on .lv-bar-row:nth-child(5) i{ transition-delay:.24s; }
.lv-analytics.on .lv-bar-row:nth-child(6) i{ transition-delay:.32s; }
.lv-donut-box{ position:relative; width:150px; margin:8px auto 4px; }
.lv-donut-box svg{ width:150px; height:150px; transform:rotate(-90deg); }
.lv-donut-track{ fill:none; stroke:var(--panel-2); stroke-width:10; }
.lv-donut-bar{
  fill:none; stroke-width:10; stroke-linecap:round;
  stroke-dasharray:301.6; stroke-dashoffset:301.6;
  transition:stroke-dashoffset 1.3s var(--ease) .2s;
}
.lv-analytics.on .lv-donut-bar{ stroke-dashoffset:96.5; } /* 68% плана */
.lv-donut-center{
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:2px;
}
.lv-donut-val{ font-size:24px; color:var(--text); }

/* адаптив живого дашборда */
@media (max-width:1023px){
  .lv-metrics{ grid-template-columns:repeat(2,1fr); }
  .lv-grid{ grid-template-columns:1fr; }
  .lv-kanban{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .lv-col{ flex:0 0 176px; }
  .lv-analytics{ grid-template-columns:1fr; }
}
@media (max-width:767px){
  .live-head{ flex-wrap:wrap; padding:10px 12px; }
  .live-tabs{ width:100%; }
  .live-tab{ flex:1 1 0; text-align:center; padding:8px 6px; min-height:36px; }
  .live-status{ display:none; }
  .lv-metrics{ padding:12px 12px 0; gap:8px; }
  .lv-grid{ padding:8px 12px 12px; gap:8px; }
  .lv-kanban{ padding:12px; }
  .lv-analytics{ padding:12px; }
  .lv-val{ font-size:15px; }
}
@media (prefers-reduced-motion:reduce){
  .live-dot{ animation:none; }
  .live-dash.revealed #lvLine{ animation:none; }
  .lv-bar i{ transition:none; }
  .lv-donut-bar{ transition:none; }
}

/* ── 15 · Логотипы-доверие ───────────────────────────────── */
.logos-section{ padding:clamp(30px,5vh,56px) 0 clamp(20px,3vh,32px); }
.logos-label{
  text-align:center; font:500 12px var(--font-mono); text-transform:uppercase;
  letter-spacing:.12em; color:var(--text-3); margin-bottom:24px; max-width:none;
}
.logos-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px 46px; }
.logo-mark{
  font-weight:600; font-size:17px; color:var(--text-3); white-space:nowrap;
  letter-spacing:.01em; transition:color .35s var(--ease-io);
}
.logo-mark:hover{ color:var(--text); }

/* ── 16 · Проблема ───────────────────────────────────────── */
.problem-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.problem-card{ padding:24px; }
.problem-icon{
  display:grid; place-items:center; width:42px; height:42px; margin-bottom:18px;
  background:var(--panel-2); border:1px solid var(--border); border-radius:11px;
  color:var(--text-2);
}
.problem-icon svg{ width:21px; height:21px; }
.problem-card h3{ font-size:17px; line-height:1.3; margin-bottom:8px; }
.problem-card p{ font-size:14px; line-height:1.55; color:var(--text-3); }

/* ── 17 · Возможности (табы) ─────────────────────────────── */
.feat-wrap{ display:grid; grid-template-columns:minmax(0,42fr) minmax(0,58fr); gap:22px; align-items:stretch; }
.feat-list{ display:flex; flex-direction:column; gap:6px; }
.feat-item{
  position:relative; text-align:left; width:100%;
  padding:18px 20px 18px 26px; border-radius:12px;
  border:1px solid transparent;
  transition:background-color .35s var(--ease-io), border-color .35s var(--ease-io);
}
.feat-item::before{
  content:""; position:absolute; left:11px; top:18px; bottom:18px; width:2px;
  border-radius:2px; background:var(--aurora);
  transform:scaleY(0); transform-origin:top;
  transition:transform .45s var(--ease);
}
.feat-item h3{ font-size:17px; margin-bottom:4px; color:var(--text-2); transition:color .3s var(--ease-io); }
.feat-item p{ font-size:14px; line-height:1.5; color:var(--text-3); transition:color .3s var(--ease-io); }
.feat-item:hover h3{ color:var(--text); }
.feat-item.active{ background:var(--panel); border-color:var(--border); }
.feat-item.active::before{ transform:scaleY(1); }
.feat-item.active h3{ color:var(--text); }
.feat-item.active p{ color:var(--text-2); }

.feat-stage{
  position:relative; display:grid; min-height:380px;
  background:var(--panel); border:1px solid var(--border); border-radius:16px;
  overflow:hidden;
}
.feat-pane{
  grid-area:1/1; display:grid; place-items:center; padding:28px; min-width:0;
  opacity:0; visibility:hidden; transform:translateY(10px) scale(.99);
  transition:opacity .45s var(--ease), transform .45s var(--ease), visibility 0s .45s;
}
.feat-pane.active{
  opacity:1; visibility:visible; transform:none;
  transition:opacity .5s var(--ease) .08s, transform .5s var(--ease) .08s, visibility 0s;
}

/* мини-мокапы */
.fm-kanban{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; width:100%; max-width:430px; }
.fm-col{
  background:var(--bg); border:1px solid var(--border); border-radius:10px;
  padding:10px; display:flex; flex-direction:column; gap:8px;
}
.fm-col-title{ font-size:10.5px; color:var(--text-3); padding:0 2px 2px; }
.fm-skel{
  height:38px; border-radius:8px; background:var(--panel-2); border:1px solid var(--border);
  display:grid; place-items:center; font-size:11px; color:var(--text);
}
.fm-skel--dim{ opacity:.5; }
.fm-skel--hot{
  border-color:transparent;
  background:linear-gradient(var(--panel-2),var(--panel-2)) padding-box, var(--aurora) border-box;
  box-shadow:0 8px 22px rgba(79,123,255,.18);
}
.fm-flow{ display:flex; flex-direction:column; width:100%; max-width:300px; }
.fm-node{
  display:flex; align-items:center; gap:12px;
  background:var(--bg); border:1px solid var(--border); border-radius:11px;
  padding:13px 16px; font-size:13px; color:var(--text);
}
.fm-node-icon{ color:var(--text-2); display:grid; place-items:center; }
.fm-node-icon svg{ width:16px; height:16px; }
.fm-link{
  position:relative; width:2px; height:28px; margin:0 auto;
  background:linear-gradient(180deg, rgba(139,92,246,.5), rgba(34,211,238,.5));
  border-radius:2px;
}
.fm-link::after{
  content:""; position:absolute; left:-1.5px; top:0; width:5px; height:5px;
  border-radius:50%; background:var(--cyan);
  animation:flowPulse 1.9s var(--ease-io) infinite;
}
.fm-flow .fm-link:nth-of-type(4)::after{ animation-delay:.95s; }
@keyframes flowPulse{
  0%{ transform:translateY(-2px); opacity:0; }
  25%{ opacity:1; }
  100%{ transform:translateY(25px); opacity:0; }
}
.fm-forecast{ display:flex; flex-direction:column; align-items:center; gap:6px; width:100%; max-width:320px; }
.fm-fc-label{ font-size:12px; color:var(--text-3); letter-spacing:.04em; }
.fm-fc-val{ font-size:clamp(28px,3vw,38px); }
.fm-fc-delta{ font-size:12px; color:var(--cyan); margin-bottom:14px; }
.fm-forecast svg{ width:100%; height:80px; }
.fm-net{ position:relative; width:300px; height:240px; max-width:100%; }
.fm-net-lines{ position:absolute; inset:0; width:100%; height:100%; }
.fm-hub{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:54px; height:54px; border-radius:15px;
  background-image:var(--aurora); display:grid; place-items:center;
  box-shadow:0 14px 40px rgba(79,123,255,.35);
}
.fm-sat{
  position:absolute; width:46px; height:46px; border-radius:12px;
  background:var(--bg); border:1px solid var(--border-2);
  display:grid; place-items:center; font-size:10px; color:var(--text-2);
}

/* ── 18 · Интеграции ─────────────────────────────────────── */
.int-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.int-tile{ padding:20px; display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.int-tile svg{ width:22px; height:22px; color:var(--text-2); margin-bottom:12px; transition:color .35s var(--ease-io); }
.int-tile:hover svg{ color:var(--text); }
.int-name{ font-size:14.5px; font-weight:500; color:var(--text); }
.int-desc{ font-size:12.5px; color:var(--text-3); }

/* адаптив слоя 3 */
@media (max-width:1023px){
  .problem-grid{ grid-template-columns:repeat(2,1fr); }
  .feat-wrap{ grid-template-columns:1fr; }
  .feat-list{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .feat-item{ padding:14px 16px 14px 22px; }
  .feat-item p{ display:none; }
  .feat-stage{ min-height:320px; }
  .int-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .problem-grid{ grid-template-columns:1fr; }
}
@media (max-width:420px){
  .feat-item h3{ font-size:14.5px; }
}
@media (prefers-reduced-motion:reduce){
  .fm-link::after{ animation:none; opacity:0; }
}

/* ── 19 · Числа-результаты ───────────────────────────────── */
.stats-section{ position:relative; }
.stats-orb{ width:560px; aspect-ratio:1; left:-200px; top:-100px; }
.stats-grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.stat{ padding:26px 22px 6px; border-top:1px solid var(--border-2); }
.stat-val{ display:block; font-size:clamp(38px,4.2vw,54px); line-height:1; margin-bottom:12px; }
.stat-label{ font-size:14px; color:var(--text-3); }

/* ── 20 · Отзывы ─────────────────────────────────────────── */
.reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.review-card{ padding:26px; display:flex; flex-direction:column; gap:22px; }
.review-card blockquote{ font-size:15.5px; line-height:1.6; color:var(--text-2); flex:1; }
.review-card figcaption{ display:flex; align-items:center; gap:14px; }
.review-avatar{
  position:relative; width:46px; height:46px; flex:none;
  border-radius:50%; padding:1.5px; background-image:var(--aurora);
}
.review-avatar .review-mono,
.review-avatar img{
  width:100%; height:100%; border-radius:50%; object-fit:cover;
}
.review-avatar .review-mono{
  display:grid; place-items:center; background:var(--panel-2);
  font-weight:600; font-size:16px; color:var(--text);
}
.review-avatar img{ position:absolute; inset:1.5px; width:43px; height:43px; }
.review-who{ display:flex; flex-direction:column; gap:1px; font-size:13px; color:var(--text-3); }
.review-who b{ font-weight:500; font-size:14px; color:var(--text); }

/* ── 21 · Прайс-тизер ────────────────────────────────────── */
.teaser-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:30px; }
.teaser-card{ padding:26px; display:flex; flex-direction:column; gap:8px; }
.teaser-card--pro{
  border-color:transparent;
  background:linear-gradient(var(--panel),var(--panel)) padding-box, var(--aurora) border-box;
}
.teaser-badge{
  position:absolute; top:-11px; right:20px;
  font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#fff;
  background-image:var(--aurora); border-radius:999px; padding:4px 11px;
}
.teaser-name{ font-size:15px; font-weight:600; color:var(--text); }
.teaser-price-row{ display:flex; align-items:baseline; gap:6px; }
.teaser-price{ font-size:30px; color:var(--text); }
.teaser-per{ font-size:12px; color:var(--text-3); }
.teaser-card p{ font-size:13.5px; line-height:1.5; color:var(--text-3); margin-top:4px; }
.teaser-cta{ text-align:center; }

/* ── 22 · CTA ────────────────────────────────────────────── */
.cta-section{ text-align:center; }
.cta-orb-1{ width:620px; aspect-ratio:1; left:calc(50% - 560px); top:-140px; }
.cta-orb-2{ width:560px; aspect-ratio:1; right:calc(50% - 520px); top:-40px; }
.cta-inner{ position:relative; z-index:1; }
.cta-inner h2{ max-width:none; font-size:clamp(34px,4.6vw,58px); margin-bottom:16px; }
.cta-sub{ max-width:none; color:var(--text-3); margin-bottom:34px; font-size:15px; }
.btn--lg{ height:54px; padding:0 30px; font-size:16px; border-radius:12px; }

/* адаптив слоя 4 */
@media (max-width:1023px){
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .reviews-grid{ grid-template-columns:1fr; }
  .teaser-grid{ grid-template-columns:1fr; }
}
@media (max-width:767px){
  .stat-val{ font-size:38px; }
}

/* ── 23 · Pricing: hero-lite, сег-контролы, тарифы ───────── */
.page-hero{
  position:relative;
  padding-top:clamp(48px,7vh,90px); padding-bottom:clamp(28px,4vh,48px);
}
.page-hero .eyebrow{ margin-bottom:16px; }
.page-hero h1{ font-size:clamp(34px,4.6vw,60px); max-width:20ch; }
.billing-row{ margin-top:30px; }

.seg{
  position:relative; display:inline-flex; gap:2px; padding:3px;
  background:var(--panel); border:1px solid var(--border-2); border-radius:999px;
}
.seg-pill{
  position:absolute; top:3px; bottom:3px; left:3px; width:60px;
  border-radius:999px; background-image:var(--aurora);
  transition:transform .45s var(--ease), width .45s var(--ease);
}
.seg-btn{
  position:relative; z-index:1; padding:8px 18px; border-radius:999px;
  font-size:14px; color:var(--text-2); white-space:nowrap;
  transition:color .35s var(--ease-io);
}
.seg-btn:hover{ color:var(--text); }
.seg-btn.active{ color:#fff; }
.seg-btn em{ font-style:normal; font-size:11px; opacity:.75; }

.plans-section{ padding-bottom:clamp(40px,6vh,80px); }
.plans-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.plan-card{ padding:28px; display:flex; flex-direction:column; }
.plan-card--pro{
  border-color:transparent;
  background:linear-gradient(var(--panel),var(--panel)) padding-box, var(--aurora) border-box;
}
.plan-name{ font-size:16px; font-weight:600; color:var(--text); }
.plan-price-row{ display:flex; align-items:baseline; gap:7px; margin:16px 0 2px; }
.plan-price{ font-size:38px; color:var(--text); }
.plan-per{ font-size:12px; color:var(--text-3); }
.plan-note{ font-size:11px; color:var(--text-3); min-height:16px; }
.plan-desc{ font-size:14px; line-height:1.5; color:var(--text-2); margin:14px 0 20px; }
.plan-feats{ display:flex; flex-direction:column; gap:10px; margin-bottom:26px; }
.plan-feats li{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--text-2); }
.plan-feats svg{ width:15px; height:15px; flex:none; margin-top:2px; }
.plan-card .btn{ margin-top:auto; width:100%; }

/* ── 24 · Калькулятор ────────────────────────────────────── */
.calc-card{
  padding:34px; display:grid;
  grid-template-columns:minmax(0,58fr) minmax(0,42fr); gap:38px;
}
.calc-card:hover{ transform:none; }
.calc-controls{ display:flex; flex-direction:column; gap:28px; }
.calc-block{ display:flex; flex-direction:column; gap:12px; }
.calc-label{
  font:500 11px var(--font-mono); text-transform:uppercase;
  letter-spacing:.12em; color:var(--text-3);
}
.calc-label-row{ display:flex; align-items:baseline; justify-content:space-between; }
.calc-users{ font-size:26px; color:var(--text); }
input[type=range]{
  -webkit-appearance:none; appearance:none; width:100%; height:4px;
  border-radius:2px; background:var(--panel-2); outline-offset:6px; cursor:pointer;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:20px; height:20px; border-radius:50%;
  background-image:var(--aurora); border:none;
  box-shadow:0 0 0 5px rgba(79,123,255,.18), 0 4px 12px rgba(0,0,0,.5);
}
input[type=range]::-moz-range-thumb{
  width:20px; height:20px; border-radius:50%; border:none;
  background:var(--blue);
  box-shadow:0 0 0 5px rgba(79,123,255,.18), 0 4px 12px rgba(0,0,0,.5);
}
.calc-result{
  border-left:1px solid var(--border); padding-left:38px;
  display:flex; flex-direction:column; justify-content:center; gap:8px;
}
.calc-total-row{ display:flex; align-items:baseline; gap:10px; }
.calc-total{ font-size:clamp(40px,4vw,56px); line-height:1; }
.calc-unit{ font-size:14px; color:var(--text-3); }
.calc-save{ font-size:13px; color:var(--cyan); min-height:18px; }
.calc-note{ font-size:11.5px; color:var(--text-3); margin-top:14px; }

/* ── 25 · Таблица сравнения ──────────────────────────────── */
.table-wrap{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  background:var(--panel); border:1px solid var(--border); border-radius:14px;
}
.table-wrap table{ width:100%; min-width:640px; border-collapse:collapse; font-size:14px; }
.table-wrap th,.table-wrap td{
  padding:13px 18px; border-bottom:1px solid var(--border); text-align:center;
}
.table-wrap th{ font-weight:500; color:var(--text); padding-top:18px; font-size:13.5px; }
.table-wrap td:first-child,.table-wrap th:first-child{ text-align:left; color:var(--text-2); }
.table-wrap tbody tr:last-child td{ border-bottom:0; }
.table-wrap th:nth-child(3),.table-wrap td:nth-child(3){ background:rgba(139,92,246,.055); }
.tbl-ck{ width:16px; height:16px; display:block; margin:0 auto; }
.tbl-dash{ color:var(--text-3); }
.tbl-txt{ font-size:13px; color:var(--text-2); }

/* ── 26 · FAQ ────────────────────────────────────────────── */
.faq-list{ max-width:760px; }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-item:first-child{ border-top:1px solid var(--border); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:20px 4px; text-align:left;
  font-size:16.5px; font-weight:500; color:var(--text);
  transition:color .3s var(--ease-io);
}
.faq-q svg{
  width:18px; height:18px; flex:none; color:var(--text-3);
  transition:transform .45s var(--ease), color .3s;
}
.faq-q:hover svg{ color:var(--text); }
.faq-item.open .faq-q svg{ transform:rotate(45deg); color:var(--cyan); }
.faq-a{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .5s var(--ease);
}
.faq-a-inner{ overflow:hidden; }
.faq-a p{ padding:0 40px 22px 4px; font-size:14.5px; line-height:1.6; color:var(--text-2); max-width:60ch; }
.faq-item.open .faq-a{ grid-template-rows:1fr; }

/* адаптив pricing */
@media (max-width:1023px){
  .plans-grid{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; }
  .calc-card{ grid-template-columns:1fr; gap:28px; }
  .calc-result{ border-left:0; padding-left:0; border-top:1px solid var(--border); padding-top:26px; }
}
@media (max-width:767px){
  .calc-card{ padding:22px; }
  .seg-btn{ padding:8px 13px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce){
  .seg-pill{ transition:none; }
  .faq-a{ transition:none; }
}

/* ── 27 · Cases: сегменты и мини-кейсы ───────────────────── */
.segments-section{ padding-top:clamp(36px,5vh,64px); }
.seg-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.seg-card{ padding:26px; }
.seg-card h3{ font-size:17px; margin-bottom:8px; }
.seg-card p{ font-size:14px; line-height:1.55; color:var(--text-3); }
.case-flow{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:20px; }
.cf-chip{
  font-size:10.5px; letter-spacing:.03em; padding:5px 10px; border-radius:999px;
  background:var(--panel-2); border:1px solid var(--border); color:var(--text-2);
}
.cf-chip--hot{
  border-color:transparent; color:var(--text);
  background:linear-gradient(var(--panel-2),var(--panel-2)) padding-box, var(--aurora) border-box;
}
.cf-arr{ color:var(--text-3); font-size:11px; }

.minicase-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.minicase{ padding:28px; }
.mc-head{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.mc-brand{ font-size:19px; font-weight:600; color:var(--text); letter-spacing:-0.01em; }
.mc-tag{
  font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:var(--text-3);
  border:1px solid var(--border); border-radius:999px; padding:4px 10px;
}
.mc-rows{ display:flex; flex-direction:column; gap:12px; margin-bottom:22px; }
.mc-row{ display:grid; grid-template-columns:64px minmax(0,1fr); gap:14px; }
.mc-key{ font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--text-3); padding-top:4px; }
.mc-val{ font-size:14.5px; line-height:1.55; color:var(--text-2); }
.mc-metric{
  display:flex; align-items:baseline; gap:14px;
  border-top:1px solid var(--border); padding-top:20px;
}
.mc-num{ font-size:clamp(34px,3.6vw,44px); line-height:1; }
.mc-cap{ font-size:13px; color:var(--text-3); }

.trust-section .logos-row{ margin-bottom:clamp(40px,6vh,60px); }
.single-review{ max-width:680px; margin-inline:auto; }

@media (max-width:1023px){
  .seg-cards{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; }
  .minicase-grid{ grid-template-columns:1fr; }
}

/* ── 28 · Форма-заявка: полноэкранный overlay ────────────── */
.demo-overlay{
  position:fixed; inset:0; z-index:300;
  background:var(--void);
  display:flex; flex-direction:column;
  opacity:0; visibility:hidden;
  transition:opacity .45s var(--ease), visibility 0s .45s;
  overflow:hidden;
}
.demo-overlay.open{ opacity:1; visibility:visible; transition:opacity .45s var(--ease); }
.ov-orb-1{ width:720px; aspect-ratio:1; left:-240px; top:-240px; }
.ov-orb-2{ width:620px; aspect-ratio:1; right:-220px; bottom:-240px; }
.ov-progress{
  position:absolute; top:0; left:0; right:0; height:2px;
  background:rgba(255,255,255,.06); z-index:2;
}
.ov-progress i{
  display:block; height:100%; width:0;
  background:var(--aurora);
  transition:width .5s var(--ease);
}
.ov-close{
  position:absolute; top:16px; right:calc(var(--pad-x) - 8px); z-index:2;
  width:44px; height:44px; border-radius:10px; color:var(--text-2);
  display:grid; place-items:center;
  transition:color .3s var(--ease-io), transform .45s var(--ease);
}
.ov-close:hover{ color:var(--text); transform:rotate(90deg); }
.ov-stage{
  flex:1; display:grid; place-items:center;
  padding:80px var(--pad-x) 76px;
  position:relative; z-index:1;
}
.ov-step{
  width:100%; max-width:780px;
  transition:opacity .3s var(--ease-io), transform .3s var(--ease-io);
}
.ov-step.out{ opacity:0; transform:translateY(-16px); }
.ov-step.pre{ opacity:0; transform:translateY(22px); transition:none; }
.ov-count{
  font-size:12px; color:var(--text-3); letter-spacing:.16em; margin-bottom:20px;
}
.ov-q{
  font:500 clamp(28px,4vw,52px)/1.15 var(--font-sans);
  letter-spacing:-0.015em; color:var(--text); margin-bottom:40px; hyphens:none;
}
.ov-input-wrap{ position:relative; max-width:540px; }
.ov-input{
  width:100%; background:none; border:none; outline:none;
  border-bottom:2px solid var(--border-2);
  padding:8px 2px 14px;
  font:400 clamp(20px,2.4vw,30px)/1.3 var(--font-sans);
  color:var(--text); caret-color:var(--cyan);
}
.ov-input::placeholder{ color:var(--text-3); }
.ov-input-wrap::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--aurora);
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.ov-input-wrap.focus::after{ transform:scaleX(1); }
.ov-input.err{ animation:shake .4s var(--ease-io); }
@keyframes shake{
  0%,100%{ transform:none; }
  25%{ transform:translateX(-7px); }
  75%{ transform:translateX(7px); }
}
.ov-chips{ display:flex; flex-wrap:wrap; gap:10px; max-width:680px; }
.ov-chip{
  min-height:48px; padding:12px 22px; border-radius:999px;
  background:var(--panel); border:1px solid var(--border-2);
  color:var(--text); font-size:15.5px;
  animation:chipIn .55s var(--ease) both;
  animation-delay:calc(var(--i,0)*60ms);
  transition:transform .3s var(--ease), border-color .3s var(--ease-io),
             background-color .3s var(--ease-io), box-shadow .3s var(--ease);
}
@keyframes chipIn{
  from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:none; }
}
.ov-chip:hover{
  transform:translateY(-2px); border-color:transparent;
  background:linear-gradient(var(--panel-2),var(--panel-2)) padding-box, var(--aurora) border-box;
}
.ov-chip.sel{
  background-image:var(--aurora); border-color:transparent; color:#fff;
  box-shadow:0 10px 32px rgba(79,123,255,.35);
}
.ov-nav{ display:flex; align-items:center; gap:16px; margin-top:46px; min-height:46px; }
.ov-back{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--text-3); font-size:14px; padding:10px 6px;
  transition:color .3s var(--ease-io);
}
.ov-back:hover{ color:var(--text); }
.ov-enter-hint{
  font:500 11px var(--font-mono); letter-spacing:.08em; color:var(--text-3);
}
.ov-note{
  position:absolute; left:0; right:0; bottom:22px; z-index:1; max-width:none;
  text-align:center; padding:0 var(--pad-x);
  font:500 11.5px var(--font-mono); letter-spacing:.02em; color:var(--text-3);
}
@media (max-width:767px){
  .ov-stage{ padding:70px var(--pad-x) 84px; align-items:start; }
  .ov-step{ margin-top:8vh; }
  .ov-q{ margin-bottom:30px; }
  .ov-nav{ margin-top:34px; }
  .ov-chips{ gap:8px; }
  .ov-chip{ padding:12px 18px; font-size:14.5px; }
}
@media (prefers-reduced-motion:reduce){
  .ov-chip{ animation:none; }
  .ov-step,.ov-step.out,.ov-step.pre{ transition:none; transform:none; opacity:1; }
}

/* ═══ layer-end (слои добавляются выше этой строки) ═══ */

/* ── Атрибуция студии Coreform ─────────────────────────────── */
.madeby{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:8px 16px;
  margin-top:22px;
  font-size:12.5px; color:var(--text-3);
}
.madeby a{ text-decoration:none; }
.madeby .madeby-brand{
  display:inline-flex; align-items:center; gap:10px;
  color:inherit;
  transition:color .3s;
}
.madeby .madeby-logo{
  width:30px; height:30px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid var(--border-2);
  transition:transform .35s, border-color .3s, box-shadow .4s;
}
.madeby .madeby-brand:hover{ color:var(--cyan); }
.madeby .madeby-brand:hover .madeby-logo{
  border-color:var(--cyan);
  transform:scale(1.06);
  box-shadow:0 0 14px rgba(34,211,238,0.25);
}
.madeby .madeby-url{
  color:inherit;
  transition:color .3s;
}
.madeby .madeby-url:hover{
  color:var(--cyan);
  text-decoration:underline;
  text-underline-offset:3px;
}
