:root {
  color-scheme: dark;
  --bg: #0b0d12;
  --panel: #11151d;
  --panel-2: #151a24;
  --line: rgba(255,255,255,.1);
  --muted: #9299a8;
  --text: #f4f5f7;
  --cyan: #8ce7dd;
  --lime: #d3fb83;
  --violet: #a89bff;
  --radius: 24px;
  --max: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 17px/1.55 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.grain { pointer-events: none; position: fixed; inset: 0; z-index: 10; opacity: .12; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.topbar { position: sticky; top: 0; z-index: 9; border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(11,13,18,.78); backdrop-filter: blur(18px); }
.nav { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.brand-mark { width: 29px; height: 29px; border-radius: 9px; display: grid; place-items: center; color: #101310; background: linear-gradient(135deg,var(--lime),var(--cyan)); box-shadow: 0 0 28px rgba(140,231,221,.25); }
.brand-mark svg { width: 17px; height: 17px; }
.nav-links { display: flex; gap: 30px; align-items: center; color: #aab0bb; font-size: 15px; }
.nav-links a:hover { color: white; }
.nav-cta, .button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 46px; padding: 0 18px; border-radius: 999px; font-size: 15px; font-weight: 650; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.nav-cta { border: 1px solid var(--line); color: var(--text); }
.nav-cta:hover, .button.secondary:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.25); }
.button { background: var(--lime); border: 1px solid var(--lime); color: #171b12; box-shadow: 0 8px 30px rgba(211,251,131,.13); }
.button:hover { transform: translateY(-2px); background: #e0ff9c; }
.button.secondary { border-color: var(--line); background: rgba(255,255,255,.025); color: var(--text); box-shadow: none; }
.button svg, .nav-cta svg { width: 15px; height: 15px; }

.hero { min-height: 668px; position: relative; overflow: hidden; padding: 92px 0 84px; }
.hero::before { content:""; position:absolute; width:700px; height:600px; right:-190px; top:-140px; background: radial-gradient(ellipse,rgba(74,125,119,.18),rgba(102,85,170,.10) 37%,transparent 70%); filter: blur(20px); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1fr .93fr; gap: 52px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--cyan); font-size: 13px; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; }
.eyebrow::before { content:""; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 12px var(--lime); }
h1 { max-width: 670px; margin: 22px 0 22px; font-size: clamp(44px,6vw,76px); line-height: 1.04; letter-spacing:-.008em; font-weight: 620; }
h1 span { color: var(--lime); }
.hero-copy { max-width: 525px; color: #aeb4c1; font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.hero-note { display: flex; align-items: center; gap: 10px; color: #727a89; font-size: 13px; margin-top: 28px; }
.hero-note span { width: 25px; height: 1px; background: #505866; }
.visual { min-height: 430px; position: relative; display: grid; place-items: center; }
.visual-glow { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle,rgba(140,231,221,.16),rgba(168,155,255,.09) 42%,transparent 70%); filter: blur(10px); }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.08); border-radius:50%; transform: rotate(-22deg); }
.orbit.one { width: 430px; height: 250px; }
.orbit.two { width: 330px; height: 420px; transform: rotate(39deg); }
.orbit-dot { position:absolute; width:9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 20px var(--lime); top:74px; right:96px; }
.dash { position:relative; z-index:1; width:min(420px,100%); padding:19px; background:linear-gradient(145deg,rgba(25,31,42,.96),rgba(14,17,24,.92)); border:1px solid rgba(255,255,255,.13); border-radius:22px; box-shadow:0 32px 90px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.05); transform:rotate(-2deg); }
.dash-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:15px; border-bottom:1px solid rgba(255,255,255,.08); }
.dash-label { color:#dce1e8; font-size:13px; font-weight:650; }
.live { display:flex; align-items:center; gap:6px; color:#9ea7b4; font-size:12px; }
.live::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--lime); }
.dash-intro { display:flex; justify-content:space-between; align-items:flex-end; padding:20px 0 17px; }
.dash-intro small { display:block; color:#7e8795; font-size:12px; margin-bottom:5px; }
.dash-intro strong { font-size:24px; letter-spacing:-.008em; font-weight:600; }
.dash-intro em { color:var(--lime); font-size:12px; font-style:normal; }
.flow { display:grid; grid-template-columns:1fr 24px 1fr 24px 1fr; align-items:center; gap:3px; }
.flow-card { min-height:94px; border:1px solid rgba(255,255,255,.085); border-radius:13px; padding:12px 10px; background:rgba(255,255,255,.025); }
.flow-icon { width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:rgba(140,231,221,.10);color:var(--cyan);margin-bottom:12px; }
.flow-icon svg { width:14px;height:14px; }
.flow-card:nth-of-type(5) .flow-icon { color:var(--violet); background:rgba(168,155,255,.12); }
.flow-card b { display:block;font-size:12px;font-weight:600;color:#e1e5ec; }
.flow-card small { display:block;color:#77808e;font-size:12px;margin-top:3px; }
.flow-arrow { color:#56606e; text-align:center; font-size:15px; }
.dash-foot { display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08);color:#858e9b;font-size:12px; }
.dash-foot strong { color:#dce1e8;font-size:12px;font-weight:600; }
.float-chip { display:none;position:absolute;z-index:2;padding:10px 13px;border-radius:12px;background:#181e27;border:1px solid rgba(255,255,255,.13);box-shadow:0 14px 35px rgba(0,0,0,.3);font-size:12px;color:#c5cbd4; }
.float-chip strong { color:var(--lime);font-weight:600; }
.chip-a { top:75px;left:-12px;transform:rotate(-5deg); }
.chip-b { right:-10px;bottom:74px;transform:rotate(4deg); }

.signal { border-block:1px solid var(--line); background:rgba(255,255,255,.018); }
.signal-row { display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0; }
.signal-label { color:#77808d;font-size:13px;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap; }
.signal-items { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px; }
.signal-items span { color:#b6bdc8;font-size:13px;padding:7px 11px;border:1px solid rgba(255,255,255,.085);border-radius:99px;background:rgba(255,255,255,.025); }

.promo-wrap { padding:28px 0 0; }
.promo-card { position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:28px 32px;border:1px solid rgba(211,251,131,.24);border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 0 50%,rgba(211,251,131,.11),transparent 50%),linear-gradient(120deg,#151b20,#11151d); }
.promo-card::after { content:"";position:absolute;width:180px;height:180px;right:150px;top:-130px;border-radius:50%;background:rgba(140,231,221,.12);filter:blur(45px);pointer-events:none; }
.promo-copy,.promo-action { position:relative;z-index:1; }
.promo-kicker { display:flex;align-items:center;gap:8px;color:var(--lime);font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:700; }
.promo-kicker::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime); }
.promo-card h2 { margin:8px 0 5px;font-size:clamp(23px,3vw,34px);line-height:1.12;letter-spacing:-.008em;font-weight:590; }
.promo-card p { max-width:650px;margin:0;color:#aeb4c1;font-size:15px;line-height:1.65; }
.promo-card .promo-terms { margin-top:8px;color:#737d8a;font-size:13px; }

section.block { padding:112px 0; }
.section-head { display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:43px; }
.section-head h2 { max-width:650px;margin:14px 0 0;font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.01em;font-weight:570; }
.section-head p { max-width:340px;margin:0;color:var(--muted);font-size:15px;line-height:1.7; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.service-card { min-height:225px;padding:24px;border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .25s ease,border-color .25s ease; }
.service-card:hover { transform:translateY(-4px);border-color:rgba(140,231,221,.3); }
.service-card::after { content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-70px;bottom:-85px;background:var(--card-glow,rgba(140,231,221,.13));filter:blur(35px); }
.service-number { color:#687180;font:13px ui-monospace,SFMono-Regular,Menlo,monospace; }
.service-icon { width:38px;height:38px;margin:22px 0 18px;border-radius:12px;display:grid;place-items:center;color:var(--icon,var(--cyan));background:var(--icon-bg,rgba(140,231,221,.09)); }
.service-icon svg { width:19px;height:19px; }
.service-card h3 { margin:0 0 8px;font-size:18px;font-weight:560;letter-spacing:-.01em; }
.service-card p { max-width:290px;margin:0;color:var(--muted);font-size:15px;line-height:1.65; }

.system-section { background:linear-gradient(180deg,transparent,rgba(255,255,255,.018) 45%,transparent); }
.system-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center; }
.system-copy h2 { max-width:470px;margin:14px 0 19px;font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.01em;font-weight:570; }
.system-copy > p { max-width:430px;color:var(--muted);font-size:16px;line-height:1.75; }
.system-points { margin-top:27px;display:grid;gap:13px; }
.system-point { display:flex;align-items:flex-start;gap:11px;color:#c0c6d0;font-size:15px; }
.check { display:grid;place-items:center;flex:0 0 18px;height:18px;border-radius:50%;background:rgba(211,251,131,.12);color:var(--lime);font-size:13px;margin-top:1px; }
.stack { padding:26px;border:1px solid var(--line);border-radius:26px;background:rgba(17,21,29,.75); }
.stack-top { display:flex;align-items:center;justify-content:space-between;padding:2px 2px 19px;color:#aab1bd;font-size:13px; }
.stack-top span:last-child { color:#697382;font-size:12px; }
.stack-row { display:grid;grid-template-columns:130px 1fr;align-items:center;gap:17px;padding:15px 0;border-top:1px solid rgba(255,255,255,.07); }
.stack-row > span { color:#727c8b;font-size:12px;text-transform:uppercase;letter-spacing:.1em; }
.stack-tags { display:flex;flex-wrap:wrap;gap:7px; }
.stack-tags i { padding:7px 10px;border-radius:8px;background:#1b222d;border:1px solid rgba(255,255,255,.06);color:#d2d7df;font-style:normal;font-size:13px; }
.stack-row:nth-child(3) .stack-tags i:nth-child(2) { color:var(--cyan);border-color:rgba(140,231,221,.2); }
.stack-row:nth-child(4) .stack-tags i:nth-child(1) { color:var(--violet);border-color:rgba(168,155,255,.2); }
.stack-foot { display:flex;align-items:center;gap:9px;margin-top:17px;color:#8e97a5;font-size:13px; }
.stack-foot b { color:var(--lime);font-weight:500; }

.steps { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.step { padding:25px 23px 28px 0;position:relative; }
.step + .step { padding-left:23px;border-left:1px solid var(--line); }
.step-num { color:var(--cyan);font:13px ui-monospace,SFMono-Regular,Menlo,monospace; }
.step h3 { margin:27px 0 10px;font-size:18px;letter-spacing:-.01em;font-weight:560; }
.step p { max-width:230px;margin:0;color:var(--muted);font-size:15px;line-height:1.7; }

.cases { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.case { min-height:290px;padding:25px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative; }
.case::before { content:"";position:absolute;width:200px;height:200px;right:-80px;top:-90px;border-radius:50%;background:var(--case-glow,rgba(140,231,221,.10));filter:blur(36px); }
.case > * { position:relative; }
.case-tag { color:#8b94a2;font-size:12px;text-transform:uppercase;letter-spacing:.12em; }
.case-visual { height:95px;display:flex;align-items:center;gap:8px;margin:15px 0; }
.mini-node { min-width:84px;padding:10px 9px;line-height:1.3;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);font-size:12px;color:#cdd3dc;text-align:center; }
.mini-node.accent { color:var(--lime);border-color:rgba(211,251,131,.3);background:rgba(211,251,131,.06); }
.mini-line { flex:1;height:1px;background:linear-gradient(90deg,rgba(140,231,221,.18),rgba(140,231,221,.6),rgba(140,231,221,.18));position:relative; }
.mini-line::after { content:"";position:absolute;right:1px;top:50%;width:6px;height:6px;border-top:1.5px solid var(--cyan);border-right:1.5px solid var(--cyan);transform:translateY(-50%) rotate(45deg); }
.case h3 { max-width:280px;margin:0 0 9px;font-size:21px;line-height:1.15;letter-spacing:-.008em;font-weight:560; }
.case p { margin:0;color:var(--muted);font-size:13px;line-height:1.65; }
.case-foot { margin-top:22px;padding-top:13px;border-top:1px solid rgba(255,255,255,.075);color:#9da6b3;font-size:12px; }
.note-inline { margin-top:15px;color:#737c8a;font-size:13px; }

.cta-panel { display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;padding:48px;border-radius:30px;border:1px solid rgba(255,255,255,.13);background:radial-gradient(ellipse at 20% 0%,rgba(140,231,221,.10),transparent 42%),linear-gradient(140deg,#151b24,#10131a); }
.cta-copy h2 { margin:14px 0 15px;font-size:clamp(34px,4vw,49px);line-height:1.08;letter-spacing:-.01em;font-weight:570; }
.cta-copy p { max-width:380px;color:var(--muted);font-size:15px;line-height:1.75; }
.contact-meta { margin-top:31px;color:#818b99;font-size:13px; }
.contact-meta strong { display:block;color:#dce1e7;font-weight:550;font-size:15px;margin-top:6px; }
.lead-form { display:grid;gap:12px; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.field label { display:block;margin:0 0 6px;color:#858e9b;font-size:13px; }
.field input, .field textarea { width:100%;border:1px solid rgba(255,255,255,.11);outline:0;border-radius:12px;background:rgba(7,9,13,.45);padding:12px 13px;color:var(--text);font-size:15px;transition:border-color .2s,box-shadow .2s; }
.field input:focus, .field textarea:focus { border-color:rgba(140,231,221,.5);box-shadow:0 0 0 3px rgba(140,231,221,.07); }
.field input::placeholder, .field textarea::placeholder { color:#5c6573; }
.field textarea { min-height:94px;resize:vertical; }
.form-submit { justify-self:start;margin-top:2px;cursor:pointer; }
.form-status { min-height:18px;color:var(--cyan);font-size:13px; }
.hp { position:absolute;left:-9999px;width:1px;height:1px;opacity:0; }
.privacy { color:#66707e;font-size:12px; }
footer { padding:25px 0 32px;border-top:1px solid var(--line); }
.footer-row { display:flex;align-items:center;justify-content:space-between;gap:20px;color:#747d8a;font-size:13px; }
.footer-row .brand { color:#dce1e7;font-size:15px; }
.footer-links { display:flex;gap:19px; }
.footer-links a:hover { color:#e9edf2; }
.fade { opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease; }
.fade.visible { opacity:1;transform:none; }

@media (max-width: 900px) {
  .hero-grid { grid-template-columns:1fr;gap:30px; }
  .hero { padding-top:72px; }
  .hero-copy { max-width:610px; }
  .visual { min-height:380px; }
  .system-grid { grid-template-columns:1fr;gap:38px; }
  .cases { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .case:last-child { grid-column:1 / -1; }
  .section-head { align-items:flex-start;flex-direction:column;gap:17px; }
  .section-head p { max-width:570px; }
  .cta-panel { gap:35px;padding:36px; }
  .promo-card { padding:25px; }
}
@media (max-width: 680px) {
  .shell { width:min(var(--max),calc(100% - 32px)); }
  .nav { height:66px; }
  .nav-links { display:none; }
  .nav-cta { min-height:39px;padding:0 13px;font-size:13px; }
  .hero { min-height:auto;padding:61px 0 52px; }
  h1 { font-size:clamp(42px,12.1vw,58px); }
  .hero-copy { font-size:17px; }
  .visual { min-height:330px; }
  .dash { padding:14px;border-radius:17px; }
  .flow { grid-template-columns:1fr 16px 1fr 16px 1fr; }
  .flow-card { padding:9px 7px;min-height:84px; }
  .flow-card b { font-size:12px; }
  .orbit.one { width:340px;height:200px; }
  .orbit.two { width:270px;height:350px; }
  .signal-row { align-items:flex-start;flex-direction:column;gap:12px;padding:20px 0; }
  .signal-items { justify-content:flex-start; }
  section.block { padding:77px 0; }
  .section-head { margin-bottom:29px; }
  .services-grid, .cases { grid-template-columns:1fr; }
  .service-card { min-height:195px; }
  .service-icon { margin:18px 0 14px; }
  .stack { padding:18px; }
  .stack-row { grid-template-columns:1fr;gap:8px; }
  .stack-tags { gap:5px; }
  .stack-tags i { font-size:12px;padding:6px 8px; }
  .steps { grid-template-columns:1fr 1fr; }
  .step { padding:21px 15px 23px 0; }
  .step + .step { padding-left:15px; }
  .step:nth-child(3) { border-left:0;padding-left:0;border-top:1px solid var(--line); }
  .step:nth-child(4) { border-top:1px solid var(--line); }
  .step h3 { margin-top:19px; }
  .case { min-height:255px; }
  .cta-panel { grid-template-columns:1fr;padding:27px 21px;gap:26px; }
  .promo-wrap { padding-top:18px; }
  .promo-card { grid-template-columns:1fr;gap:18px;padding:22px 19px; }
  .promo-action { justify-self:start; }
  .form-row { grid-template-columns:1fr; }
  .footer-row { align-items:flex-start;flex-direction:column; }
}


/* ---------- роли, безопасность, стоимость, вопросы ---------- */
.roles-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.role-card { padding:24px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));position:relative;overflow:hidden;transition:transform .25s ease,border-color .25s ease; }
.role-card::before { content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--role); }
.role-card:hover { transform:translateY(-4px);border-color:rgba(255,255,255,.2); }
.role-card h3 { margin:0 0 16px;font-size:18px;line-height:1.3;font-weight:590;letter-spacing:-.01em; }
.role-row { display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin-top:10px; }
.role-row p { margin:0;color:var(--muted);font-size:15px;line-height:1.6; }
.role-tag { font:13px ui-monospace,SFMono-Regular,Menlo,monospace;padding:3px 7px;border-radius:6px;white-space:nowrap;margin-top:1px; }
.role-tag.was { color:#a1a8b4;background:rgba(255,255,255,.05); }
.role-tag.now { color:#171b12;background:var(--lime); }
.safety-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px 32px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel); }
.safety-item { display:flex;gap:12px; }
.safety-item b { display:block;font-size:16px;font-weight:600;margin-bottom:4px; }
.safety-item p { margin:0;color:var(--muted);font-size:15px;line-height:1.6; }
.price-grid { display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center; }
.price-title { margin:14px 0 14px;font-size:clamp(30px,3.6vw,46px);line-height:1.1;letter-spacing:-.01em;font-weight:570; }
.price-copy { margin:0;color:var(--muted);font-size:15px;line-height:1.7;max-width:520px; }
.price-model { display:grid;gap:8px;margin-top:26px; }
.price-model div { display:flex;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;font-size:15px; }
.price-model b { font-weight:600; } .price-model span { color:var(--muted);text-align:right; }
.price-model div:first-child { border-color:rgba(211,251,131,.35); } .price-model div:first-child span { color:var(--lime); }
.calc { display:grid;gap:14px;padding:28px;border-radius:22px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(25,31,42,.96),rgba(14,17,24,.92)); }
.calc label { display:grid;gap:6px;color:#858e9b;font-size:13px; }
.calc input { width:100%;border:1px solid rgba(255,255,255,.11);outline:0;border-radius:12px;background:rgba(7,9,13,.45);padding:12px 13px;color:var(--text);font-size:17px; }
.calc input:focus { border-color:rgba(140,231,221,.5); }
.calc-out { display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;border-top:1px solid var(--line); }
.calc-out span { color:var(--muted);font-size:15px; } .calc-out b { font-size:28px;font-weight:620;letter-spacing:-.02em;color:var(--lime); }
.calc-note { margin:0;color:#66707e;font-size:13px;line-height:1.6; }
.faq { display:grid;gap:10px;max-width:880px; }
.faq details { border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:0 20px;transition:border-color .2s; }
.faq details[open] { border-color:rgba(140,231,221,.3); }
.faq summary { cursor:pointer;list-style:none;padding:18px 0;font-size:17px;font-weight:560;display:flex;justify-content:space-between;gap:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+";color:var(--cyan);font-size:20px;line-height:1;transition:transform .25s; }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details p { margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.7; }
@media (max-width: 900px) { .roles-grid { grid-template-columns:1fr 1fr; } .safety-grid { grid-template-columns:1fr 1fr; } .price-grid { grid-template-columns:1fr;gap:30px; } }
@media (max-width: 680px) { .roles-grid, .safety-grid { grid-template-columns:1fr; } .safety-grid { padding:22px; } .calc { padding:22px; } .price-model div { flex-direction:column;gap:2px; } .price-model span { text-align:left; } }

/* ---------- каталог и наше отличие ---------- */
.cat-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px; }
.cat-card { padding:20px 20px 22px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));transition:transform .25s ease,border-color .25s ease; }
.cat-card:hover { transform:translateY(-3px);border-color:rgba(140,231,221,.3); }
.cat-tag { font:13px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em; }
.cat-card h3 { margin:10px 0 8px;font-size:17px;font-weight:600;letter-spacing:-.01em; }
.cat-card p { margin:0;color:var(--muted);font-size:15px;line-height:1.6; }
.edge-card { padding:40px;border-radius:30px;border:1px solid rgba(211,251,131,.28);background:radial-gradient(ellipse at 100% 0%,rgba(211,251,131,.10),transparent 45%),radial-gradient(ellipse at 0% 100%,rgba(140,231,221,.08),transparent 45%),var(--panel); }
.edge-head { display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end; }
.edge-head h2 { margin:14px 0 0;font-size:clamp(30px,3.6vw,48px);line-height:1.08;letter-spacing:-.01em;font-weight:570; }
.edge-head p { margin:0;color:var(--muted);font-size:15px;line-height:1.7; }
.edge-points { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 26px; }
.edge-points div { padding:18px;border-radius:16px;background:rgba(211,251,131,.05);border:1px solid rgba(211,251,131,.18); }
.edge-points b { display:block;font-size:17px;font-weight:600;color:var(--lime);margin-bottom:6px; }
.edge-points span { color:#b8bfca;font-size:15px;line-height:1.6; }
.edge-table-wrap { overflow-x:auto; }
.edge-table { width:100%;border-collapse:collapse;font-size:15px;min-width:560px; }
.edge-table th, .edge-table td { text-align:left;padding:13px 14px;border-top:1px solid var(--line);vertical-align:top;line-height:1.55; }
.edge-table thead th { border-top:0;color:var(--muted);font-weight:600;font-size:15px; }
.edge-table thead th:last-child { color:var(--lime); }
.edge-table tbody th { color:#d6dbe3;font-weight:600;width:20%; }
.edge-table td:nth-child(2) { color:#8a92a0; }
.edge-table td:nth-child(3) { color:var(--text); }
@media (max-width: 900px) { .edge-head { grid-template-columns:1fr;gap:16px; } .edge-points { grid-template-columns:1fr; } .edge-card { padding:28px; } }
@media (max-width: 680px) { .edge-card { padding:22px 18px;border-radius:22px; } }
/* ---------- анимации ---------- */
@keyframes rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes shimmer { to { background-position:-200% 0; } }
@keyframes beat { 0%,100% { stroke-dashoffset:0; } 45% { stroke-dashoffset:-1; } 46% { stroke-dashoffset:1; } 90% { stroke-dashoffset:0; } }
@keyframes spinA { to { transform:rotate(338deg); } }
@keyframes spinB { to { transform:rotate(-321deg); } }
@keyframes floaty { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes glowDot { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.6); opacity:.55; } }
@keyframes ping { 0% { box-shadow:0 0 0 0 rgba(211,251,131,.55); } 100% { box-shadow:0 0 0 9px rgba(211,251,131,0); } }
@keyframes cardLit { 0%,8% { border-color:rgba(255,255,255,.085); box-shadow:none; transform:none; } 14%,30% { border-color:rgba(140,231,221,.55); box-shadow:0 0 22px rgba(140,231,221,.18); transform:translateY(-3px); } 40%,100% { border-color:rgba(255,255,255,.085); box-shadow:none; transform:none; } }
@keyframes arrowGo { 0%,10%,40%,100% { color:#56606e; transform:none; } 22% { color:var(--lime); transform:translateX(4px); } }
@keyframes tagPing { 0%,12%,100% { background:#1b222d; border-color:rgba(255,255,255,.06); } 5% { background:rgba(140,231,221,.14); border-color:rgba(140,231,221,.45); } }
@keyframes travel { from { left:0; opacity:0; } 15% { opacity:1; } 85% { opacity:1; } to { left:100%; opacity:0; } }
@keyframes nodeGlow { 0%,100% { box-shadow:0 0 0 rgba(211,251,131,0); } 50% { box-shadow:0 0 18px rgba(211,251,131,.25); } }
@keyframes fillLine { from { transform:scaleX(0); } to { transform:scaleX(1); } }

.hero-content.fade { opacity:1; transform:none; }
.hero-content > * { animation:rise .8s cubic-bezier(.2,.7,.2,1) both; }
.hero-content > :nth-child(2) { animation-delay:.12s; } .hero-content > :nth-child(3) { animation-delay:.26s; }
.hero-content > :nth-child(4) { animation-delay:.4s; } .hero-content > :nth-child(5) { animation-delay:.55s; }
h1 span { background:linear-gradient(90deg,var(--lime) 0%,var(--lime) 35%,var(--cyan) 50%,var(--lime) 65%,var(--lime) 100%); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shimmer 6s linear 1.2s infinite; }
.brand-mark path { stroke-dasharray:1; animation:beat 4.5s ease-in-out 1s infinite; }
.orbit.one { animation:spinA 46s linear infinite; }
.orbit.two { animation:spinB 60s linear infinite; }
.orbit-dot { animation:glowDot 3.2s ease-in-out infinite; }
.dash { animation:floaty 7s ease-in-out infinite; }
.float-chip.chip-a { animation:floaty 6s ease-in-out .8s infinite; } .float-chip.chip-b { animation:floaty 6.5s ease-in-out 2s infinite; }
.live::before { animation:ping 1.8s ease-out infinite; }
.flow-card { animation:cardLit 4.8s ease-in-out infinite; }
.flow-card:nth-of-type(3) { animation-delay:1.6s; } .flow-card:nth-of-type(5) { animation-delay:3.2s; }
.flow-arrow { animation:arrowGo 4.8s ease-in-out .8s infinite; } .flow-arrow:nth-of-type(4) { animation-delay:2.4s; }
.signal-items span { transition:color .25s, border-color .25s, background .25s, transform .25s; }
.signal-items span:hover { color:var(--text); border-color:rgba(140,231,221,.4); background:rgba(140,231,221,.07); transform:translateY(-2px); }
.button svg, .nav-cta svg { transition:transform .25s ease; }
.button:hover svg, .nav-cta:hover svg { transform:translateX(4px); }
.service-card::before { content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),var(--card-glow,rgba(140,231,221,.13)),transparent 70%); }
.service-card:hover::before { opacity:1; }
.service-icon { transition:transform .35s cubic-bezier(.3,1.6,.5,1); }
.service-card:hover .service-icon { transform:rotate(-8deg) scale(1.12); }
.stack.visible .stack-tags i { animation:tagPing 7s ease-in-out infinite; animation-delay:var(--d,0s); }
.steps { position:relative; }
.steps::before { content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--lime));transform:scaleX(0);transform-origin:left; }
.steps.visible::before { animation:fillLine 2.4s cubic-bezier(.3,.6,.2,1) .3s both; }
.steps.visible .step { animation:rise .7s ease both; } .steps.visible .step:nth-child(2) { animation-delay:.45s; }
.steps.visible .step:nth-child(3) { animation-delay:.9s; } .steps.visible .step:nth-child(4) { animation-delay:1.35s; }
.mini-line::before { content:"";position:absolute;top:-2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:travel 2.6s ease-in-out infinite; }
.mini-line + .mini-node + .mini-line::before { animation-delay:1.3s; }
.mini-node.accent { animation:nodeGlow 2.6s ease-in-out infinite; }
.case { transition:transform .3s ease, border-color .3s ease; }
.case:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.2); }
.topbar { transition:background .3s ease, box-shadow .3s ease; }
.topbar.scrolled { background:rgba(11,13,18,.92); box-shadow:0 10px 30px rgba(0,0,0,.35); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;animation-delay:0s !important;transition-duration:.01ms !important; } h1 span { background:none;color:var(--lime); } .brand-mark path { stroke-dasharray:none; } .fade { opacity:1;transform:none; } }
/* шапка: пункты меню не переносятся; на средних экранах меню сжимается, на узких — прячется */
.nav-links a, .nav-cta { white-space: nowrap; }
@media (max-width: 1100px) { .nav-links { gap: 18px; } }
@media (max-width: 1080px) { .nav-links { display: none; } }
/* заголовки без сжатия букв: системный шрифт на крупном размере и так плотный */
h1, h2, h3, h4, .price-title, .dash-intro strong, .fact b { letter-spacing: 0 !important; word-spacing: .02em; }
/* Тарифы сопровождения */
.plans { display:grid; grid-template-columns:1fr 1.08fr 1fr; gap:16px; align-items:stretch; }
.plan { position:relative; display:flex; flex-direction:column; gap:6px; padding:28px; border-radius:24px; border:1px solid var(--line); background:var(--panel); }
.plan-main { border-color:rgba(211,251,131,.45); background:radial-gradient(ellipse at 30% 0%,rgba(211,251,131,.10),transparent 55%),linear-gradient(150deg,#161c24,#10141a); box-shadow:0 20px 60px rgba(0,0,0,.35),0 0 0 1px rgba(211,251,131,.08); }
.plan-extra { background:rgba(255,255,255,.02); border-style:dashed; }
.plan-badge { position:absolute; top:-12px; left:28px; padding:5px 12px; border-radius:999px; background:var(--lime); color:#171b12; font-size:13px; font-weight:700; }
.plan-name { font-size:22px; font-weight:600; }
.plan-hours { color:var(--cyan); font-size:15px; }
.plan-price { display:flex; flex-direction:column; gap:2px; margin:16px 0 10px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.plan-price b { font-size:38px; line-height:1.1; font-weight:620; }
.plan-main .plan-price b { color:var(--lime); }
.plan-price span { color:var(--muted); font-size:15px; }
.plan-list { list-style:none; margin:0 0 20px; padding:0; display:grid; gap:10px; flex:1; }
.plan-list li { position:relative; padding-left:24px; color:#c3c8d1; font-size:15px; line-height:1.5; }
.plan-list li::before { content:""; position:absolute; left:2px; top:5px; width:10px; height:6px; border-left:1.5px solid var(--cyan); border-bottom:1.5px solid var(--cyan); transform:rotate(-45deg); }
.plan-list li.gift { color:var(--lime); }
.plan-list li.gift::before { border-color:var(--lime); }
.plan-btn { width:100%; cursor:pointer; }
.plan-note { margin-top:20px; font-size:15px; }
.price-model span a { color:var(--lime); }
@media (max-width: 900px) { .plans { grid-template-columns:1fr; } .plan-main { order:-1; } }
/* Чат-помощник */
.chat-root { position:fixed; right:20px; bottom:20px; z-index:50; display:flex; flex-direction:column; align-items:flex-end; gap:12px; font-size:16px; }
.chat-launch { display:inline-flex; align-items:center; gap:9px; min-height:52px; padding:0 20px 0 16px; border:0; border-radius:999px; background:var(--lime); color:#14180f; font:inherit; font-weight:650; cursor:pointer; box-shadow:0 12px 34px rgba(0,0,0,.45),0 0 0 6px rgba(211,251,131,.10); transition:transform .2s; }
.chat-launch:hover { transform:translateY(-2px); }
.chat-launch svg { width:22px; height:22px; }
.chat-root.open .chat-launch span { display:none; }
.chat-root.open .chat-launch { padding:0 15px; }
.chat-panel { display:none; flex-direction:column; width:min(380px,calc(100vw - 32px)); height:min(560px,calc(100vh - 110px)); border-radius:22px; border:1px solid rgba(255,255,255,.13); background:#10141b; box-shadow:0 30px 80px rgba(0,0,0,.55); overflow:hidden; }
.chat-root.open .chat-panel { display:flex; animation:chatIn .25s ease; }
@keyframes chatIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.chat-head { display:flex; align-items:center; gap:11px; padding:15px 16px; border-bottom:1px solid var(--line); background:linear-gradient(140deg,#161c25,#11151c); }
.chat-dot { width:9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 10px var(--lime); flex:none; }
.chat-who { display:flex; flex-direction:column; flex:1; min-width:0; }
.chat-who b { font-size:16px; font-weight:620; }
.chat-who span { color:var(--muted); font-size:13px; }
.chat-close { width:32px; height:32px; border:0; border-radius:10px; background:rgba(255,255,255,.05); color:#c9ced6; font-size:22px; line-height:1; cursor:pointer; }
.chat-close:hover { background:rgba(255,255,255,.1); }
.chat-log { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; scroll-behavior:smooth; }
.chat-msg { max-width:85%; padding:10px 13px; border-radius:16px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-msg.bot { align-self:flex-start; background:#1a2029; border:1px solid rgba(255,255,255,.06); border-bottom-left-radius:6px; color:#e3e6eb; }
.chat-msg.me { align-self:flex-end; background:rgba(211,251,131,.14); border:1px solid rgba(211,251,131,.25); border-bottom-right-radius:6px; }
.chat-msg a { color:var(--lime); text-decoration:underline; text-underline-offset:2px; }
.chat-msg.typing { display:flex; gap:5px; padding:14px; }
.chat-msg.typing i { width:7px; height:7px; border-radius:50%; background:#7d8796; animation:chatDot 1.2s infinite ease-in-out; }
.chat-msg.typing i:nth-child(2) { animation-delay:.15s; } .chat-msg.typing i:nth-child(3) { animation-delay:.3s; }
@keyframes chatDot { 0%,80%,100% { opacity:.3; transform:none; } 40% { opacity:1; transform:translateY(-3px); } }
.chat-chips { display:flex; flex-wrap:wrap; gap:6px; padding:0 16px; }
.chat-chips:not(:empty) { padding-bottom:10px; }
.chat-chip { padding:7px 11px; border-radius:999px; border:1px solid rgba(140,231,221,.35); background:rgba(140,231,221,.06); color:#cfeee9; font:inherit; font-size:15px; cursor:pointer; }
.chat-chip:hover { background:rgba(140,231,221,.14); }
.chat-form { display:flex; align-items:flex-end; gap:8px; padding:10px 12px; border-top:1px solid var(--line); }
.chat-input { flex:1; resize:none; max-height:120px; border:1px solid rgba(255,255,255,.11); outline:0; border-radius:14px; background:rgba(7,9,13,.5); padding:11px 12px; color:var(--text); font:inherit; font-size:16px; line-height:1.4; }
.chat-input:focus { border-color:rgba(140,231,221,.5); }
.chat-send { flex:none; width:44px; height:44px; border:0; border-radius:14px; background:var(--lime); color:#14180f; cursor:pointer; display:grid; place-items:center; }
.chat-send svg { width:18px; height:18px; }
.chat-send:disabled { opacity:.5; cursor:default; }
.chat-note { padding:0 14px 10px; color:#5f6876; font-size:13px; line-height:1.4; }
@media (max-width: 600px) {
  .chat-root { right:12px; bottom:12px; }
  .chat-root.open { left:12px; top:12px; }
  .chat-root.open .chat-panel { width:100%; height:100%; flex:1; }
  .chat-launch span { display:none; }
  .chat-launch { padding:0 15px; }
  .chat-root.open .chat-launch { display:none; }
}
/* узкие экраны: подвал переносится, декоративные круги не расширяют страницу */
.footer-links { flex-wrap:wrap; row-gap:8px; }
@media (max-width: 680px) { .footer-row { flex-wrap:wrap; } }
body { overflow-x:clip; }
/* Боты, квизы, ИИ-поддержка */
.ai-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ai-card { padding:26px; border-radius:22px; border:1px solid var(--line); background:var(--panel); }
.ai-card h3 { margin:14px 0 10px; font-size:20px; line-height:1.2; font-weight:600; }
.ai-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.ai-models { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.ai-models div { display:flex; flex-direction:column; gap:6px; padding:18px 22px; border-radius:18px; border:1px solid rgba(140,231,221,.22); background:rgba(140,231,221,.04); }
.ai-models b { font-size:16px; font-weight:620; }
.ai-models span { color:#b8c0cb; font-size:15px; line-height:1.6; }
.ai-try, .ai-try-alt { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:16px; color:#c3c8d1; font-size:16px; }
.ai-try[hidden] { display:none; }
@media (max-width: 900px) { .ai-grid, .ai-models { grid-template-columns:1fr; } }

/* чат: основной текст чуть меньше общей шкалы */
.chat-root { font-size:15px; }

/* Схемы-заглушки: блок не уже самого длинного слова, линии сжимаются */
.mini-node { min-width: min-content; overflow-wrap: break-word; hyphens: manual; }
.mini-line { min-width: 12px; }
