/* ============================================================
   ДЖАРВИС · лендинг · стили (палитра: сине-красная на чёрном)
   ============================================================ */

:root,:root[data-palette="v1"]{
  --bg:#04070e; --bg-2:#080e1a; --panel:rgba(11,19,33,.88);
  --accent:#00A3FF; --glow:#86d6ff; --energy:#EE140F;
  --text:#ffffff; --dim:rgba(228,237,250,.8); --faint:rgba(228,237,250,.52);
  --line:rgba(0,163,255,.20); --line-strong:rgba(0,163,255,.5);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* инерционный скролл (Lenis) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  background:var(--bg); color:var(--text); color-scheme:dark;
  font-family:"Inter Tight",system-ui,sans-serif; font-size:18px; line-height:1.6;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
@media (pointer:fine){ body{cursor:none} }
/* на полях возвращаем обычный курсор (прицел мешал) */
input,textarea,select{cursor:text}
.slider,.slider::-webkit-slider-thumb{cursor:pointer}
.reticle.hide{opacity:0}
img,svg{display:block} a{color:inherit;text-decoration:none}
em{font-style:normal} b{font-weight:700}

body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(72% 50% at 50% -8%, color-mix(in srgb,var(--accent) 18%,transparent), transparent 60%),
    radial-gradient(60% 60% at 100% 100%, color-mix(in srgb,var(--accent) 9%,transparent), transparent 55%),
    var(--bg);
}

/* -------- ЗЕРНО / СКАНЛАЙН -------- */
.grain{position:fixed;inset:-50%;z-index:60;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 6s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,2%)}80%{transform:translate(4%,4%)}100%{transform:translate(0,0)}}
.scanlines{position:fixed;inset:0;z-index:59;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}

/* -------- ТУМАН (без mix-blend — кэшируется, не грузит скролл) -------- */
.fog{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.fog-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.32;will-change:transform}
.fog-blob--a{width:42vw;height:42vw;left:-8vw;top:6vh;background:color-mix(in srgb,var(--accent) 55%,transparent);animation:drift 28s ease-in-out infinite}
.fog-blob--b{width:36vw;height:36vw;right:-8vw;top:44vh;background:color-mix(in srgb,var(--glow) 40%,transparent);animation:drift 34s ease-in-out infinite reverse}
.fog-blob--c{width:30vw;height:30vw;left:32vw;bottom:-12vh;background:color-mix(in srgb,var(--energy) 26%,transparent);opacity:.18;animation:drift 40s ease-in-out infinite}
@keyframes drift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(6%,-5%,0) scale(1.1)}}

/* -------- КУРСОР-КОМЕТА -------- */
.comet{position:fixed;inset:0;z-index:118;pointer-events:none;width:100vw;height:100vh}
.reticle{position:fixed;top:0;left:0;z-index:120;pointer-events:none;transform:translate(-100px,-100px)}
@media (pointer:coarse){.comet,.reticle{display:none}}
.reticle-ring{position:absolute;left:-13px;top:-13px;width:26px;height:26px;border:1.5px solid var(--glow);
  border-radius:50%;box-shadow:0 0 14px var(--accent),inset 0 0 8px color-mix(in srgb,var(--accent) 60%,transparent);
  transition:width .18s,height .18s,left .18s,top .18s,border-color .18s,box-shadow .18s}
.reticle.is-hot .reticle-ring{width:54px;height:54px;left:-27px;top:-27px;border-color:var(--energy);
  box-shadow:0 0 26px var(--energy),inset 0 0 10px color-mix(in srgb,var(--energy) 50%,transparent)}

/* -------- БОКОВОЙ РЕЛЬС -------- */
.rail{position:fixed;top:0;bottom:0;width:46px;z-index:65;display:flex;flex-direction:column;
  align-items:center;justify-content:space-between;padding:84px 0 18px;font-family:"JetBrains Mono",monospace;
  pointer-events:none}
.rail--left{left:0;border-right:1px solid var(--line)}
.rail__brand,.rail__seq{writing-mode:vertical-rl;font-size:10px;letter-spacing:.34em;color:var(--faint)}
.rail__brand{color:var(--dim)}
.rail__seq{color:var(--accent)}
.rail__line{flex:1;width:1px;margin:18px 0;background:var(--line);position:relative}
.rail__line i{position:absolute;top:0;left:-1px;width:3px;background:var(--accent);height:0;
  box-shadow:0 0 10px var(--accent)}
@media(max-width:900px){.rail{display:none}}

/* -------- BOOT -------- */
/* position:absolute (не fixed): fixed на iOS прижат к видимой области между панелями браузера.
   absolute раскладывается в общем макете. Контент по центру (100lvh), а псевдоэлементы ::before/::after
   продлевают тёмный фон ВВЕРХ и ВНИЗ за пределы экрана — закрывают зоны за панелями браузера. */
.boot{position:absolute;top:0;left:0;right:0;height:100vh;height:100lvh;z-index:200;background:#02040a;display:grid;place-items:center;cursor:pointer;transition:opacity .6s,visibility .6s}
.boot::before,.boot::after{content:"";position:absolute;left:0;right:0;height:80vh;background:#02040a;pointer-events:none}
.boot::before{bottom:100%}
.boot::after{top:100%}
.boot.is-done{opacity:0;visibility:hidden}
.boot__inner{width:min(520px,84vw);text-align:center;font-family:"JetBrains Mono",monospace}
.boot__brand{color:var(--accent);letter-spacing:.2em;font-size:13px;font-weight:700}
.boot__brand span{color:var(--dim);font-weight:400}
.boot__title{color:var(--text);letter-spacing:.34em;font-size:12px;margin:22px 0 14px;opacity:.9}
.boot__bar{height:3px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}
.boot__fill{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 14px var(--accent)}
.boot__pct{color:var(--glow);font-size:13px;margin-top:10px;letter-spacing:.1em}
.boot__status{display:flex;justify-content:space-between;gap:8px;margin-top:26px;color:var(--faint);font-size:9.5px;letter-spacing:.12em;flex-wrap:wrap}
.boot__skip{color:var(--faint);font-size:10px;margin-top:30px;letter-spacing:.16em;animation:blink 1.4s steps(2) infinite}
@keyframes blink{50%{opacity:.3}}

/* -------- ШАПКА -------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;justify-content:space-between;
  align-items:center;padding:14px clamp(16px,4vw,48px) 14px clamp(60px,5vw,72px);font-family:"JetBrains Mono",monospace;
  background:rgba(7,11,20,.45);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);
  border-bottom:1px solid var(--line);box-shadow:0 14px 40px -28px rgba(0,0,0,.9)}
.topbar__brand{font-family:"JetBrains Mono",monospace;font-weight:700;letter-spacing:.14em;font-size:14px}
.topbar__brand span{font-family:"JetBrains Mono",monospace;color:var(--dim);font-weight:400;font-size:12px;margin-left:8px;letter-spacing:.04em}
.topbar__pill{display:inline-flex;align-items:center;gap:9px;font-family:"JetBrains Mono",monospace;font-size:12px;
  font-weight:700;letter-spacing:.06em;color:#02040a;background:var(--accent);border-radius:999px;padding:10px 18px;
  white-space:nowrap;box-shadow:0 0 28px -8px var(--accent);transition:transform .2s,box-shadow .2s;will-change:transform}
.topbar__pill:hover{transform:translateY(-1px);box-shadow:0 0 42px -4px var(--accent)}
.topbar__pill i{width:8px;height:8px;border-radius:50%;background:#02040a;box-shadow:0 0 0 3px color-mix(in srgb,#02040a 25%,transparent);animation:pulse 1.6s ease-in-out infinite}
@media(max-width:560px){
  /* на мобиле делаем фон плашки непрозрачным, чтобы сквозь неё не просвечивал сайт;
     padding-top с safe-area — чтобы контент не лез под чёлку/панель, а фон заполнял верх */
  .topbar{padding:max(14px,env(safe-area-inset-top)) 16px 14px;background:rgba(7,11,20,.98)}
  /* перекрываем зону НАД плашкой (за верхней панелью встроенного браузера Telegram), чтобы туда не лез герой */
  .topbar::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:100vh;background:inherit;pointer-events:none}
  .topbar__brand{font-size:12px;letter-spacing:.1em}
  .topbar__brand span{display:none}      /* убираем подпись, чтобы не налезала на кнопку */
}

/* -------- СЕТКА / ОБЩЕЕ -------- */
.section{position:relative;padding:clamp(64px,9vh,116px) clamp(16px,4vw,48px) clamp(64px,9vh,116px) clamp(60px,7vw,110px)}
/* мобилка: плашка слева скрыта (<900px) — убираем лишний левый отступ под неё, равняем бока */
@media(max-width:760px){
  .section{padding:clamp(44px,7vh,68px) 18px}
  .footer{padding:34px 18px 24px 18px}
}
.wrap{max-width:1180px;margin:0 auto;position:relative;z-index:1}
/* номера-призраки убраны по правкам */

.h2{font-family:"Unbounded",sans-serif;font-weight:800;line-height:1.04;font-size:clamp(28px,4.6vw,58px);letter-spacing:-.01em}
.lead{color:var(--dim);font-size:clamp(16px,1.9vw,20px);max-width:58ch;margin-top:18px}
.accent{color:var(--accent);text-shadow:0 0 30px color-mix(in srgb,var(--accent) 55%,transparent)}
.accent-red{color:var(--energy);text-shadow:0 0 30px color-mix(in srgb,var(--energy) 45%,transparent)}

.hud-line{font-family:"JetBrains Mono",monospace;color:var(--accent);font-size:12px;letter-spacing:.22em;margin-bottom:26px;opacity:.85}
/* служебные подписи SEQ … // … убраны со всех секций */
.hud-corner{display:none}
.hud-corner--unused{font-family:"JetBrains Mono",monospace;color:var(--faint);font-size:11px;letter-spacing:.2em;
  margin-bottom:24px;border-left:2px solid var(--accent);padding-left:10px}
.hud-corner--light{color:var(--dim)}

/* рамка-HUD с угловыми скобками */
.framed{position:relative}
.framed::before,.framed::after{content:"";position:absolute;width:16px;height:16px;pointer-events:none;opacity:.7}
.framed::before{top:-1px;left:-1px;border-top:1.5px solid var(--accent);border-left:1.5px solid var(--accent)}
.framed::after{bottom:-1px;right:-1px;border-bottom:1.5px solid var(--accent);border-right:1.5px solid var(--accent)}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}
/* при активном GSAP анимацией ревилов управляет он (не прячем через CSS) */
.gsap-on .reveal{opacity:1;transform:none;transition:none}

/* -------- КНОПКИ -------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:"JetBrains Mono",monospace;
  font-size:14px;letter-spacing:.04em;font-weight:500;padding:16px 26px;border-radius:10px;border:1px solid var(--line-strong);
  will-change:transform;transition:background .25s,color .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}
.btn--primary{background:var(--accent);color:#02040a;border-color:var(--accent);font-weight:700;box-shadow:0 0 32px -8px var(--accent)}
.btn--primary:hover{box-shadow:0 0 48px -4px var(--accent);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--text)}
.btn--ghost:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.btn--mini{padding:10px 16px;font-size:12px}

/* -------- HERO (центрированный оффер) -------- */
.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;padding-top:88px;text-align:center}
.hero__wrap{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes pulse{50%{opacity:.55}}
/* чип «связано с Claude» + искра-логотип */
.claude-chip{display:inline-flex;align-items:center;gap:10px;font-family:"JetBrains Mono",monospace;font-size:12px;
  letter-spacing:.08em;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:8px 16px;margin-bottom:24px;
  background:color-mix(in srgb,var(--accent) 7%,transparent)}
.spark{width:16px;height:16px;flex:none;border-radius:50%;
  background:
    conic-gradient(from 0deg,var(--accent),transparent 18%,var(--accent) 25%,transparent 43%,var(--accent) 50%,transparent 68%,var(--accent) 75%,transparent 93%,var(--accent));
  -webkit-mask:radial-gradient(circle,transparent 2px,#000 2.5px);mask:radial-gradient(circle,transparent 2px,#000 2.5px);
  filter:drop-shadow(0 0 6px var(--accent));animation:spin 9s linear infinite;transform-origin:50% 50%}
.hero .hud-line{margin-bottom:18px}
.hero__title{font-family:"Unbounded",sans-serif;font-weight:900;line-height:1.04;font-size:clamp(32px,5.2vw,64px);
  letter-spacing:-.02em;max-width:24ch;margin:0 auto 8px}
.hero__title em{color:var(--accent);text-shadow:0 0 50px color-mix(in srgb,var(--accent) 55%,transparent)}
/* плашка-выделение ключевого слова (как у конкурента, но по-своему) */
/* выделение слова Claude — вариант G: тёмная плашка + неон-рамка + бегущий блик */
.hl{position:relative;display:inline-block;color:#fff;background:#0a1626;border:1.5px solid var(--accent);
  border-radius:.26em;padding:0 .2em;line-height:1.04;overflow:hidden;
  box-shadow:0 0 30px -10px var(--accent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}
.hl::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--glow) 55%,transparent),transparent);
  animation:sheen 2.8s ease-in-out infinite}
@keyframes sheen{0%{left:-60%}55%,100%{left:130%}}
.hero__sub{color:var(--dim);font-size:clamp(16px,1.9vw,20px);max-width:54ch;margin:22px auto 32px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.trust{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;margin-top:28px;font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--dim);letter-spacing:.05em}
.trust span{color:var(--accent)}
.hero__scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.3em;color:var(--faint);animation:bob 2s ease-in-out infinite}
@keyframes bob{50%{transform:translate(-50%,8px)}}

/* === ГЕРОЙ: текст + образ брони === */
.hero__grid{position:relative;max-width:1320px;display:grid;grid-template-columns:.92fr 1.16fr;
  align-items:center;gap:clamp(20px,3vw,44px);text-align:left}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;align-self:start;padding-top:clamp(6px,2.5vh,34px)}
.hero__copy .claude-chip{margin-bottom:16px}
.hero .hud-line{margin-bottom:14px}
.hero__grid .hero__title{max-width:22ch;margin:0 0 8px;font-size:clamp(28px,3.7vw,52px)}
.hero__grid .hero__sub{max-width:44ch;margin:18px 0 28px;font-size:clamp(17px,2vw,21px);
  color:rgba(232,239,250,.86);line-height:1.55;text-wrap:balance}
.hero__grid .hero__cta,.hero__grid .trust{justify-content:flex-start}
.hero__grid .trust{margin-top:22px}
.hero__sub em{color:#fff;font-weight:700;text-shadow:0 0 22px color-mix(in srgb,var(--accent) 40%,transparent)}
/* образ — приподнят */
.hero__visual{position:relative;display:grid;place-items:center;align-self:center;overflow:hidden;
  min-height:min(82svh,1040px);top:40px;margin-bottom:0}
/* рисованные варианты и переключатель убраны — ждём картинку персонажа */
.hero__visual .hv,.hero__visual .hero-switch{display:none}
/* слот под персонажа: крупнее, ниже, с уходом в туман снизу */
.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 40%;z-index:3;
  filter:drop-shadow(0 0 26px color-mix(in srgb,var(--accent) 20%,transparent));
  -webkit-mask-image:radial-gradient(84% 60% at 50% 36%, #000 42%, transparent 85%);
          mask-image:radial-gradient(84% 60% at 50% 36%, #000 42%, transparent 85%)}
.hero__ph{position:absolute;inset:8% 4%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;border:1.5px dashed var(--line-strong);border-radius:24px;text-align:center;
  font-family:"JetBrains Mono",monospace;background:radial-gradient(circle at 50% 40%, color-mix(in srgb,var(--accent) 8%,transparent), transparent 70%)}
.hero__ph span{font-size:12px;letter-spacing:.2em;color:var(--dim)}
.hero__ph b{font-size:11px;letter-spacing:.06em;color:var(--faint);font-weight:500}
.hero__visual.has-photo .hero__ph,
.hero__visual.has-photo .hero__glow,
.hero__visual.has-photo .hero__smoke{display:none}
@media(max-width:900px){.hero__visual{min-height:48svh}
  /* мягкое размытие краёв героя на мобиле — фигура растворяется в фоне */
  .hero__photo{-webkit-mask-image:radial-gradient(108% 58% at 50% 34%, #000 40%, transparent 82%);
               mask-image:radial-gradient(108% 58% at 50% 34%, #000 40%, transparent 82%)}}
.herosuit{position:relative;z-index:2;width:min(100%,440px);height:auto;
  filter:drop-shadow(0 0 46px color-mix(in srgb,var(--accent) 45%,transparent));animation:floaty 6s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-12px)}}
.herosuit .hreactor{animation:pulse 2.6s ease-in-out infinite;transform-origin:200px 362px}
.herosuit .heye{filter:drop-shadow(0 0 5px var(--glow))}
.hero__glow{position:absolute;z-index:1;width:90%;height:90%;border-radius:50%;
  background:radial-gradient(circle at 50% 42%, color-mix(in srgb,var(--accent) 40%,transparent), transparent 62%);
  filter:blur(38px);animation:pulse 5s ease-in-out infinite}
.hero__smoke{position:absolute;z-index:0;left:-5%;right:-5%;bottom:-6%;height:55%;
  background:radial-gradient(ellipse at 50% 100%, color-mix(in srgb,var(--accent) 26%,transparent), transparent 70%);filter:blur(34px)}
/* переключение вариантов образа */
.hv{display:none;position:relative;z-index:2;width:100%;justify-items:center}
/* рисованные фигуры (.hv) больше не используем — остаются скрытыми (.hv{display:none}) */
.herocore{width:min(100%,440px);height:auto;filter:drop-shadow(0 0 50px color-mix(in srgb,var(--accent) 50%,transparent));animation:floaty 6s ease-in-out infinite}
.herocore .rot{transform-box:view-box;transform-origin:200px 240px}
.herocore .s1{animation:spin360 20s linear infinite}
.herocore .s2{animation:spin360 13s linear infinite reverse}
.herocore .s3{animation:spin360 8s linear infinite}
.herocore .ccore{transform-box:fill-box;transform-origin:center;animation:pulse 2.6s ease-in-out infinite}
@keyframes spin360{to{transform:rotate(360deg)}}
/* переключатель образа */
.hero-switch{position:absolute;z-index:5;bottom:-6px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.hero-switch button{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.04em;color:var(--dim);
  background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;transition:.2s;white-space:nowrap}
.hero-switch button:hover{color:var(--text);border-color:var(--line-strong)}
.hero-switch button.is-active{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 20px -6px var(--accent)}
@media(max-width:900px){.hero-switch{bottom:auto;top:8px}}
@media(max-width:900px){
  .hero{min-height:auto;padding-top:92px;padding-bottom:36px;text-align:center}
  .hero__grid{grid-template-columns:1fr;text-align:center;gap:10px}
  .hero__copy{align-items:center;position:relative;z-index:2;order:1;padding-top:0}
  .hero__grid .hero__title{margin-left:auto;margin-right:auto}
  .hero__grid .hero__sub{margin-left:auto;margin-right:auto}
  .hero__grid .hero__cta,.hero__grid .trust{justify-content:center}
  /* картинка героя — видимый блок снизу (стек: текст → герой), как у конкурента */
  .hero__visual{order:2;position:relative;inset:auto;top:0;opacity:1;z-index:1;
    min-height:0;height:min(56svh,500px);width:100%;margin-top:14px}
  .hero__photo{object-position:50% 30%}
  .herosuit{width:min(78%,360px);animation:none}
}

/* -------- ПРОБЛЕМА (асимметрия) -------- */
.problem__layout{display:grid;grid-template-columns:.66fr 1.34fr;gap:clamp(20px,4vw,56px);align-items:center;margin-top:30px}
@media(max-width:820px){.problem__layout{grid-template-columns:1fr}}
.problem__big{text-align:center}
.problem__text .h2{max-width:none;text-wrap:pretty}
.bignum{font-family:"Unbounded",sans-serif;font-weight:900;font-size:clamp(90px,15vw,200px);line-height:.8;
  color:var(--energy);text-shadow:0 0 50px color-mix(in srgb,var(--energy) 45%,transparent);display:block}
.bignum i{font-style:normal;font-size:.4em;vertical-align:super}
.bignum__cap{font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.16em;color:var(--faint);display:block;margin-top:8px}
.problem__text .lead+.lead{margin-top:16px}

/* -------- КАЛЬКУЛЯТОР -------- */
.calc__panel{margin-top:38px;background:
    radial-gradient(120% 80% at 50% -10%, color-mix(in srgb,var(--accent) 12%,transparent), transparent 60%),
    var(--panel);
  border:1px solid var(--line-strong);border-radius:20px;padding:clamp(18px,2.6vw,28px);
  box-shadow:0 0 80px -34px var(--accent), inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}
/* верхняя строка-«прибор» */
.calc__bar{display:flex;justify-content:space-between;align-items:center;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.2em;color:var(--faint);
  padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.calc__tag{color:var(--accent)}
.calc__live{display:inline-flex;align-items:center;gap:7px;color:var(--energy)}
.calc__live i{width:7px;height:7px;border-radius:50%;background:var(--energy);box-shadow:0 0 8px var(--energy);animation:pulse 1.4s ease-in-out infinite}

/* контролы: число + ползунок со свечением */
.calc__inputs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,34px)}
@media(max-width:620px){.calc__inputs{grid-template-columns:1fr}}
.ctrl__top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.ctrl__label{font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.06em;color:var(--dim)}
.ctrl__val{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:22px;color:var(--accent);white-space:nowrap}
.ctrl__val input{width:4.2em;font:inherit;color:var(--accent);background:transparent;border:none;border-bottom:1px solid var(--line-strong);
  text-align:right;padding:2px 2px;outline:none}
.ctrl__val input:focus{border-color:var(--accent)}
/* ползунок */
.slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;outline:none;cursor:pointer;
  background:linear-gradient(90deg,var(--accent) 0 var(--fill,20%),rgba(255,255,255,.1) var(--fill,20%) 100%);
  box-shadow:0 0 18px -6px var(--accent)}
.slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;
  background:radial-gradient(circle,#fff 30%,var(--glow) 60%,var(--accent));border:2px solid var(--accent);
  box-shadow:0 0 14px var(--accent),0 0 4px var(--glow);cursor:pointer;transition:transform .15s}
.slider::-webkit-slider-thumb:hover{transform:scale(1.18)}
.slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--glow);border:2px solid var(--accent);box-shadow:0 0 14px var(--accent);cursor:pointer}

/* табло результатов */
.calc__readout{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin:20px 0 18px}
@media(max-width:860px){.calc__readout{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.calc__readout{grid-template-columns:1fr}}
.stat{position:relative;overflow:hidden;background:rgba(0,0,0,.4);border:1px solid var(--line);border-radius:14px;padding:16px}
.stat__label{display:block;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--faint);text-transform:uppercase}
.stat__value{display:block;font-family:"JetBrains Mono",monospace;font-weight:700;font-size:clamp(20px,2.6vw,28px);margin-top:8px;color:var(--accent)}
.stat--feat{display:flex;flex-direction:column;justify-content:center;
  border-color:color-mix(in srgb,var(--energy) 50%,transparent);
  background:radial-gradient(100% 120% at 0% 0%, color-mix(in srgb,var(--energy) 14%,transparent), rgba(0,0,0,.4) 60%)}
.stat--feat .stat__value{font-size:clamp(28px,4.2vw,48px);color:var(--energy);text-shadow:0 0 30px color-mix(in srgb,var(--energy) 55%,transparent);line-height:1.02}
.stat--alarm{border-color:color-mix(in srgb,var(--energy) 45%,transparent)}
.stat__scan{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--energy),transparent);
  animation:scan 3.2s linear infinite;opacity:.7}
@keyframes scan{0%{transform:translateY(0)}100%{transform:translateY(220px)}}
@media(max-width:620px){.stat--feat{grid-row:auto}}
/* круговая шкала окупаемости */
.stat--gauge{--deg:300deg;display:flex;align-items:center;gap:16px}
.ring{position:relative;width:84px;height:84px;flex:none;display:grid;place-items:center}
.ring::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(var(--accent) var(--deg), rgba(255,255,255,.08) 0);
  -webkit-mask:radial-gradient(circle, transparent 29px, #000 30px);mask:radial-gradient(circle, transparent 29px, #000 30px);
  box-shadow:0 0 18px -4px var(--accent)}
.ring .stat__value{position:relative;margin:0;font-size:15px;text-align:center;line-height:1.05;color:#fff}
.calc__btn{margin-top:4px}

/* ============ СБОРКА КОСТЮМА ============ */
.assembly{position:relative;height:470vh;padding-left:clamp(60px,7vw,110px)}
@media(max-width:860px){.assembly{height:280vh;padding-left:0}}
.assembly__sticky{position:sticky;top:0;height:100svh;padding:clamp(64px,9vh,104px) clamp(16px,4vw,48px) 36px;
  display:flex;flex-direction:column;justify-content:center;gap:16px;overflow:hidden}
.assembly__stage{max-width:1180px;margin:0 auto;width:100%;flex:1;min-height:0;display:grid;
  grid-template-columns:1fr 1fr;gap:clamp(20px,5vw,64px);align-items:center}
@media(max-width:860px){.assembly__stage{grid-template-columns:1fr;gap:10px;align-content:center}}
.assembly__kicker{font-family:"JetBrains Mono",monospace;font-size:13px;letter-spacing:.14em;color:var(--accent)}
.assembly__info{display:flex;flex-direction:column;gap:22px}
.assembly__hint{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.16em;color:var(--faint);animation:bob2 2s ease-in-out infinite}
@keyframes bob2{50%{opacity:.45}}
.assembly__progress{height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.assembly__progress span{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 12px var(--accent)}
/* колода уроков: виден только активный */
.lesson-deck{position:relative;display:grid}
.lesson{grid-area:1/1;opacity:0;transform:translateY(14px);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.lesson.is-active{opacity:1;transform:none;pointer-events:auto;transition:opacity .45s ease .14s,transform .45s ease .14s}
.lesson__no{font-family:"JetBrains Mono",monospace;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.12em}
.lesson__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:2px}
.lesson__tag{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;letter-spacing:.1em;
  color:#02040a;background:var(--accent);border-radius:999px;padding:3px 11px}
.lesson h3{font-family:"Unbounded",sans-serif;font-weight:800;font-size:clamp(28px,4.6vw,58px);margin:14px 0 16px;line-height:1.04;letter-spacing:-.01em}
.lesson p{color:var(--dim);font-size:clamp(16px,1.95vw,21px);line-height:1.5;max-width:40ch}
.steps{display:flex;gap:8px}
.steps span{width:30px;height:4px;border-radius:2px;background:var(--line);transition:.4s}
.steps span.on{background:var(--accent);box-shadow:0 0 10px var(--accent)}
@media(max-width:860px){.assembly__info{text-align:center;align-items:center}.lesson p{margin:0 auto}.steps{justify-content:center}}

.suit-wrap{position:relative;width:100%;max-width:540px;margin:0 auto;aspect-ratio:36/60;max-height:76svh;
  display:grid;place-items:center}
@media(max-width:860px){.suit-wrap{max-height:42svh;max-width:290px}}
/* свечение-аура под костюмом */
.suit-wrap::before{content:"";position:absolute;inset:6% 18%;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent) 26%,transparent),transparent 70%);
  filter:blur(20px);z-index:0}
.suit-aura{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .6s;
  background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--glow) 26%,transparent),transparent 60%)}
.suit-aura.is-on{opacity:1;animation:pulse 2.6s ease-in-out infinite}

/* слои PNG-деталей */
.suit-imgs{position:absolute;inset:0;z-index:2}
.suit-imgs.is-active+ .suit{display:none}            /* если PNG загрузились — прячем SVG */
.part-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  opacity:0;transform:translateY(30px) scale(.96);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);
  filter:drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 40%,transparent))}
.part-img[data-part="1"]{transform:scale(.5)}
.part-img[data-part="2"]{transform:translateY(-40px) scale(.92)}
.part-img[data-part="4"]{transform:translateX(-40px) scale(.94)}
.part-img[data-part="5"]{transform:translateY(46px) scale(.94)}
.part-img[data-part="6"]{transform:translateY(60px) scale(.92)}
.part-img.is-on{opacity:1;transform:none}
/* мобилка: костюм виден сразу (погашен), части «загораются» по мере прокрутки — сборка остаётся, но не пусто */
@media(max-width:860px){
  .part-img[data-part]{opacity:.18;transform:none}
  .part-img.is-on{opacity:1;transform:none}
}

/* SVG-запас */
.suit{position:relative;z-index:1;width:100%;height:100%;filter:drop-shadow(0 0 30px color-mix(in srgb,var(--accent) 35%,transparent))}
.suit .part{fill:#0c1422;stroke:var(--accent);stroke-width:1.4;opacity:0;transform:translateY(26px) scale(.94);
  transform-origin:180px 300px;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.suit .part[data-part="1"]{transform:scale(.4)}
.suit .part[data-part="2"]{transform:translateY(-40px) scale(.9)}
.suit .part[data-part="4"]{transform:translateX(-46px) scale(.92)}
.suit .part[data-part="5"]{transform:translateY(46px) scale(.92)}
.suit .part[data-part="6"]{transform:translateY(60px) scale(.9)}
.suit .part.is-on{opacity:1;transform:none}
.suit .seam{fill:var(--accent);stroke:none;opacity:.5}
.suit .core-ring{fill:none;stroke:var(--glow);stroke-width:2}
.suit .core-center{fill:var(--glow)}
.suit .core-glow{opacity:0;transition:opacity .6s}
.suit .part[data-part="1"].is-on .core-glow{opacity:1;animation:pulse 2.4s ease-in-out infinite}
.suit .eye,.suit .faceplate,.suit .repulsor{fill:var(--glow);stroke:none;opacity:.85}

/* старый список уроков убран — теперь колода .lesson-deck выше */

/* -------- ДЛЯ КОГО -------- */
.who__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
@media(max-width:860px){.who__grid{grid-template-columns:1fr;gap:14px;margin-top:28px}}
/* листалка-точки для отзывов (как у конкурента) */
.reviews__dots{display:flex;gap:8px;align-items:center}
.reviews__dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong);border:none;padding:0;cursor:pointer;transition:.25s}
.reviews__dot.is-on{width:24px;border-radius:4px;background:var(--accent);box-shadow:0 0 12px -2px var(--accent)}
.reviews__mobnav{display:none}
@media(max-width:760px){.reviews__mobnav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}}
.who__card{border:1px solid var(--line);border-radius:16px;padding:30px 26px 26px;background:var(--panel);transition:.3s}
.who__card:nth-child(2){transform:translateY(26px)}        /* лёгкая ступенька — уход от «листа» */
@media(max-width:860px){.who__card:nth-child(2){transform:none}}
.who__card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.who__card:nth-child(2):hover{transform:translateY(22px)}
.who__photo{position:relative;overflow:hidden;height:180px;border-radius:12px;margin-bottom:18px;display:grid;place-items:center;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;color:var(--faint);
  background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 16%,transparent),color-mix(in srgb,var(--bg-2) 90%,transparent));
  border:1px dashed var(--line-strong)}
.who__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;z-index:1}
.who__card h3{font-family:"Unbounded",sans-serif;font-size:23px;font-weight:700;margin:0 0 10px}
.who__card p{color:var(--dim);font-size:15px}
.who__card ul{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:8px}
.who__card li{font-size:14.5px;padding-left:18px;position:relative}
.who__card li::before{content:"▸";position:absolute;left:0;color:var(--accent)}
/* одноколоночная раскладка: широкое фото — даём ~2:1, чтобы лица не резались.
   Стоит после базового .who__photo, иначе height:180px перебьёт height:auto */
@media(max-width:860px){
  .who__photo{height:auto;aspect-ratio:2/1;margin-bottom:16px}
  .who__img{object-position:50% 30%}
}

/* -------- АРСЕНАЛ (бенто) -------- */
.arsenal__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
@media(max-width:880px){.arsenal__grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.arsenal__grid{grid-template-columns:1fr}}
.arsenal__card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:22px 20px;background:var(--panel);transition:.3s}
.arsenal__card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.arsenal__tag{align-self:flex-start;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;letter-spacing:.16em;
  color:#02040a;background:var(--accent);border-radius:999px;padding:4px 11px;margin-bottom:14px}
.arsenal__card h3{font-family:"Unbounded",sans-serif;font-size:20px;font-weight:700;margin:0 0 5px}
.arsenal__sub{color:var(--faint);font-size:12.5px;line-height:1.4;margin-bottom:15px}
.arsenal__list{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:18px}
.arsenal__list li{font-size:13.5px;color:var(--dim);padding-left:17px;position:relative;line-height:1.3}
.arsenal__list li::before{content:"▸";position:absolute;left:0;color:var(--accent)}
.arsenal__foot{margin-top:auto;border-top:1px dashed var(--line);padding-top:13px;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--faint)}
.arsenal__foot b{font-family:"Unbounded",sans-serif;font-style:normal;font-weight:700;font-size:19px;color:var(--accent);margin-right:7px}
.arsenal__note{margin-top:24px;font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--dim)}

/* -------- АВТОР -------- */
.author__eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;
  letter-spacing:.18em;color:var(--accent);margin-bottom:22px}
.author__eyebrow::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.author__top{display:flex;gap:28px;align-items:center;margin-bottom:34px;border:1px solid var(--line);
  border-radius:16px;padding:26px;background:var(--panel)}
@media(max-width:620px){.author__top{flex-direction:column;text-align:center}}
.author__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.author__phcap{position:relative;z-index:1}
.author__photo{position:relative;overflow:hidden;flex:none;width:140px;height:170px;border-radius:14px;display:grid;place-items:center;text-align:center;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--faint);line-height:1.5;
  background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--bg-2) 90%,transparent));
  border:1px dashed var(--line-strong)}
.author__intro .lead{margin-top:14px}
.cases{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:860px){.cases{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.cases{grid-template-columns:1fr}}
.case{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--panel)}
.case__num{font-family:"Unbounded",sans-serif;font-weight:800;font-size:clamp(24px,3.2vw,36px);color:var(--accent);
  display:block;line-height:1;text-shadow:0 0 30px color-mix(in srgb,var(--accent) 45%,transparent)}
.case__num i{font-style:normal;font-size:.42em;color:var(--faint)}
.case p{color:var(--dim);font-size:14px;margin-top:12px}
/* мобилка: крупные цифры не переносятся по слогам и не ломаются */
@media(max-width:600px){.case__num{font-size:19px;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;word-break:keep-all}}
.reviews{margin-top:120px}
.reviews__title{font-family:"Unbounded",sans-serif;font-size:clamp(28px,4.6vw,58px);font-weight:800;line-height:1.04;letter-spacing:-.01em}
.reviews__title .accent{color:var(--accent)}
.reviews__sub{margin-top:10px;color:var(--faint);font-size:14px}
.reviews__sub span{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--energy)}
.reviews__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.reviews__nav{display:flex;gap:10px;flex:0 0 auto}
.reviews__arrow{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);
  color:var(--accent);font-family:"Unbounded",sans-serif;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;
  transition:background .2s,color .2s,border-color .2s,transform .2s}
.reviews__arrow:hover{background:var(--accent);color:#02040a;border-color:var(--accent);transform:translateY(-2px)}
.reviews__arrow:active{transform:translateY(0)}
@media(max-width:760px){.reviews__nav{display:none}}
.reviews__row{display:flex;gap:22px;margin-top:24px;overflow-x:auto;padding:14px 2px 44px}
.reviews__row::-webkit-scrollbar{height:6px}
.reviews__row::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}
.reviews__row::-webkit-scrollbar-track{background:transparent}
.tg{flex:0 0 338px;scroll-snap-align:start;background:#172230;border:1px solid rgba(255,255,255,.06);
  border-radius:16px;border-top-left-radius:5px;padding:14px 16px 12px;box-shadow:0 20px 44px -26px rgba(0,0,0,.85)}
.tg:nth-child(even){margin-top:46px}
@media(max-width:760px){.tg{flex-basis:300px}.tg:nth-child(even){margin-top:0}}
.tg__name{font-weight:700;font-size:14px;margin-bottom:8px;display:flex;align-items:center;gap:5px}
.tg__star{color:#f5c451;font-size:12px}
.tg__reply{border-left:2px solid var(--accent);padding:2px 0 2px 9px;margin-bottom:9px;display:flex;flex-direction:column;gap:1px}
.tg__reply b{color:var(--accent);font-size:12.5px;font-weight:600}
.tg__reply span{color:var(--faint);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:270px}
.tg__text{font-size:13.5px;line-height:1.5;color:#e7eef7}
.tg__meta{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:10px}
.tg__foot{display:flex;align-items:center;gap:8px}
.tg__ava{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;flex:0 0 auto}
.tg__react{display:inline-flex;align-items:center;gap:5px;background:rgba(0,163,255,.16);color:#cfe9ff;font-size:12px;border-radius:999px;padding:3px 9px}
.tg__time{color:var(--faint);font-size:11px;font-family:"JetBrains Mono",monospace}
.tg-shot{flex:0 0 clamp(440px,46vw,580px);width:clamp(440px,46vw,580px);height:auto;align-self:flex-start;
  border-radius:14px;border:1px solid rgba(255,255,255,.10);box-shadow:0 22px 48px -28px rgba(0,0,0,.85)}
.tg-shot:nth-child(even){margin-top:48px}
@media(max-width:760px){.tg-shot{flex-basis:86vw;width:86vw}.tg-shot:nth-child(even){margin-top:0}}

/* -------- ЦЕНА + СРОЧНОСТЬ -------- */
.urgency{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid color-mix(in srgb,var(--energy) 40%,transparent);
  border-radius:12px;padding:14px 20px;margin-bottom:38px;background:color-mix(in srgb,var(--energy) 7%,transparent)}
.urgency::before,.urgency::after{border-color:var(--energy)}
.urgency__badge{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--energy);
  border:1px solid var(--energy);border-radius:6px;padding:5px 9px}
.urgency__text{color:var(--dim);font-size:14px}
.urgency__timer{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:18px;letter-spacing:.06em;margin-left:auto}
.urgency__todo{width:100%;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--faint)}
.price__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px;align-items:start}
@media(max-width:760px){.price__grid{grid-template-columns:1fr}}
.plan{border:1px solid var(--line);border-radius:18px;padding:32px;background:var(--panel);transition:.3s}
.plan--pro{border-color:var(--accent);box-shadow:0 0 90px -20px var(--accent), inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);
  background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb,var(--accent) 14%,transparent), var(--panel) 60%);transform:translateY(-12px) scale(1.015)}
@media(max-width:760px){.plan--pro{transform:none}}
.plan__flag{position:absolute;top:-14px;left:28px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;
  letter-spacing:.1em;color:#02040a;background:var(--accent);padding:6px 14px;border-radius:999px;box-shadow:0 0 26px -6px var(--accent)}
.plan__name{font-family:"Unbounded",sans-serif;font-size:24px;font-weight:700}
.plan__price{font-family:"JetBrains Mono",monospace;font-size:clamp(36px,4.2vw,46px);font-weight:700;margin:10px 0 2px;color:var(--accent);line-height:1}
.plan__pnote{font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--faint);margin-bottom:24px}
.plan__pnote b{color:var(--energy);font-weight:700}
.plan__price span{font-size:13px;color:var(--faint);font-weight:400}
.plan__list{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:26px}
.plan__list li{font-size:15px;padding-left:22px;position:relative}
.plan__list li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.plan .btn{width:100%}
.plan__trust{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--faint);text-align:center;margin-top:12px}
.price__paynote{margin-top:18px;text-align:center;font-style:italic;font-size:13px;line-height:1.45;color:var(--dim)}
.guarantee{display:flex;gap:20px;align-items:center;margin-top:34px;border:1px solid var(--line);border-radius:16px;padding:24px 28px;background:var(--panel)}
.guarantee__shield{font-size:42px;filter:drop-shadow(0 0 16px var(--accent))}
.guarantee h3{font-family:"Unbounded",sans-serif;font-size:20px;font-weight:600;margin-bottom:6px}
.guarantee p{color:var(--dim);font-size:15px;max-width:70ch}

/* -------- FAQ -------- */
.faq__wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:860px){.faq__wrap{grid-template-columns:1fr}}
.faq__head .lead{margin-top:14px}
.faq__ask{display:inline-block;margin-top:24px;font-family:"Unbounded",sans-serif;font-weight:600;font-size:clamp(15px,1.5vw,17px);
  color:var(--accent);border-bottom:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);padding-bottom:3px;transition:color .2s,border-color .2s}
.faq__ask:hover{color:var(--glow);border-color:var(--accent)}
.faq__list{display:flex;flex-direction:column;gap:10px}
.faq__item{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}
.faq__item summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:600;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-family:"JetBrains Mono",monospace;color:var(--accent);font-size:22px;transition:.3s}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{padding:0 24px 22px;color:var(--dim);font-size:15.5px}

/* -------- ФИНАЛ -------- */
.final{text-align:center}
.final__wrap{max-width:1160px;margin:0 auto}
.final__title{font-family:"Unbounded",sans-serif;font-weight:800;line-height:1.04;font-size:clamp(28px,4.6vw,58px);letter-spacing:-.01em}
.final .lead{max-width:680px}
.final .lead{margin:24px auto 36px}
.final .hero__cta,.final .trust{justify-content:center}

/* -------- ПОДВАЛ -------- */
.footer{border-top:1px solid var(--line);padding:64px clamp(16px,4vw,48px) 30px clamp(60px,7vw,110px);background:var(--bg-2)}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(24px,4vw,56px)}
@media(max-width:860px){.footer__grid{grid-template-columns:1fr 1fr;gap:22px 20px}.footer__about{grid-column:1/-1;margin-bottom:2px}}
@media(max-width:600px){.footer__col a{font-size:14px;padding:4px 0}.footer__col h4{margin-bottom:6px}}
.footer__brand{font-family:"JetBrains Mono",monospace;font-size:19px;font-weight:700;letter-spacing:.14em;margin-bottom:14px}
.footer__brand span{font-family:"JetBrains Mono",monospace;font-weight:400;color:var(--dim);font-size:.72em;letter-spacing:.04em}
.footer__desc{color:var(--dim);font-size:14px;max-width:34ch;margin-bottom:16px}
.footer__legal{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--faint);line-height:1.7}
.footer__col h4{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint);margin-bottom:16px;font-weight:500}
.footer__col a{display:block;color:var(--dim);font-size:15px;padding:5px 0;transition:color .2s,transform .2s;-webkit-hyphens:none;hyphens:none}
.footer__col a:hover{color:var(--accent);transform:translateX(3px)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:48px;padding-top:22px;border-top:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--faint);letter-spacing:.04em}
.footer__sign{color:var(--dim)}
.footer__sign a{color:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.footer__sign a:hover{border-bottom-color:var(--accent)}

[data-todo]{outline:1px dashed color-mix(in srgb,var(--energy) 55%,transparent);outline-offset:2px;border-radius:3px}

/* -------- ЧТО УМЕЕТ CLAUDE (пилюли) -------- */
.caps{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.cap{font-family:"JetBrains Mono",monospace;font-size:14px;color:var(--dim);border:1px solid var(--line);
  border-radius:999px;padding:11px 18px;background:rgba(0,0,0,.25);transition:.25s;cursor:default}
.cap:hover{border-color:var(--line-strong);color:var(--text);transform:translateY(-2px)}
.cap--on{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:600;box-shadow:0 0 24px -8px var(--accent)}
.cap--on:hover{color:var(--bg)}
.cap--more{background:transparent;border-style:dashed;border-color:var(--line-strong);color:var(--dim);font-weight:400}
.cap--more:hover{color:var(--text);border-color:var(--accent)}
/* мобилка: компактные плашки — больше в ряд, блок короче (как у конкурента) */
@media(max-width:760px){
  .caps{gap:8px;margin-top:26px}
  .cap{font-size:12px;padding:7px 12px}
}
@media(max-width:430px){
  .cap{font-size:11.5px;padding:6px 11px}
}

/* -------- ДОСТУП ИЗ РОССИИ -------- */
.ru__wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(20px,3vw,36px);align-items:stretch}
@media(max-width:860px){.ru__wrap{grid-template-columns:1fr}}
.ru__card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;
  border:1px solid var(--line-strong);border-radius:20px;padding:clamp(26px,4vw,42px);padding-left:calc(clamp(26px,4vw,42px) + 10px);
  background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb,var(--energy) 12%,transparent), var(--panel) 60%)}
.ru__flag{position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(to bottom,#ffffff 0 33.3%, #1b4dd6 33.3% 66.6%, #EE140F 66.6% 100%)}
.ru__img{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:20px;min-height:clamp(440px,52vw,640px);
  display:grid;place-items:center;text-align:center;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.08em;
  color:var(--faint);line-height:1.8;
  background:linear-gradient(160deg, color-mix(in srgb,var(--energy) 12%,transparent), color-mix(in srgb,var(--bg-2) 92%,transparent))}
.ru__img b{color:var(--dim);font-size:11px}
.ru__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 8%;z-index:2;
  -webkit-mask-image:linear-gradient(to bottom,#000 0 70%,transparent 97%);
  mask-image:linear-gradient(to bottom,#000 0 70%,transparent 97%)}
.ru__imgcap{position:relative;z-index:1}
.ru__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;position:relative;overflow:hidden;
  font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--glow);
  border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:999px;padding:7px 15px 7px 13px;margin-bottom:8px;
  background:linear-gradient(100deg, color-mix(in srgb,var(--accent) 12%,transparent), transparent 62%);
  box-shadow:0 0 26px -12px var(--accent), inset 0 0 18px -13px var(--accent)}
.ru__badge::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#2fe0b0;
  box-shadow:0 0 10px #2fe0b0;animation:ruLive 2s ease-in-out infinite}
.ru__badge::after{content:"";position:absolute;top:0;left:-60%;width:42%;height:100%;
  background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--glow) 38%,transparent),transparent);
  animation:ruScan 3.6s ease-in-out infinite}
@keyframes ruLive{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
@keyframes ruScan{0%{left:-60%}55%,100%{left:120%}}
.ru__title{font-family:"Unbounded",sans-serif;font-weight:700;font-size:clamp(22px,3vw,34px);line-height:1.14}
.ru__title-sub{font-family:"Unbounded",sans-serif;font-weight:600;font-size:clamp(15px,1.7vw,20px);line-height:1.28;
  color:rgba(232,239,250,.82);max-width:30ch;margin-top:-6px}
.ru__steps{list-style:none;display:flex;flex-direction:column;gap:14px}
.ru__steps li{font-size:16px;color:var(--text);padding-left:42px;position:relative}
.ru__steps b{position:absolute;left:0;top:-1px;font-family:"JetBrains Mono",monospace;color:var(--accent);font-size:14px}
.ru__note{font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--faint);margin-top:18px}
/* мобилка: картинка ru-блока ниже, чтобы блок не был длинным (как у конкурента) */
@media(max-width:760px){
  .ru__card{gap:14px}
  .ru__img{min-height:clamp(240px,58vw,300px)}
  .ru__steps li{font-size:15px}
  .ru__note{margin-top:14px}
}

/* -------- КОМУ НЕ ПОДХОДИТ -------- */
.notfit__list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
@media(max-width:900px){.notfit__list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.notfit__list{grid-template-columns:1fr}}
.notfit__list li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;line-height:1.4;color:var(--dim);
  border:1px solid var(--line);border-radius:12px;padding:15px 17px;background:var(--panel)}
.notfit__list li span{color:var(--energy);font-weight:700;flex:none;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--energy) 60%,transparent))}
.notfit{position:relative;overflow:hidden}
.notfit::before{content:"";position:absolute;top:4%;right:-8%;width:46%;height:82%;pointer-events:none;z-index:0;
  background:radial-gradient(closest-side, color-mix(in srgb,var(--energy) 13%,transparent), transparent 72%)}
.notfit .wrap{position:relative;z-index:1}
.notfit__hud{display:inline-flex;align-items:center;gap:9px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;
  letter-spacing:.16em;color:var(--energy);border:1px solid color-mix(in srgb,var(--energy) 45%,transparent);border-radius:999px;
  padding:7px 15px;margin-bottom:22px;background:color-mix(in srgb,var(--energy) 9%,transparent)}
.notfit__hud i{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--energy);box-shadow:0 0 10px var(--energy);animation:ruLive 1.6s ease-in-out infinite}
.notfit__list li{border-color:color-mix(in srgb,var(--energy) 22%,var(--line));transition:border-color .25s,box-shadow .25s,transform .25s}
.notfit__list li:hover{border-color:color-mix(in srgb,var(--energy) 55%,transparent);box-shadow:0 0 34px -16px var(--energy);transform:translateY(-2px)}
.notfit__turn{display:inline-block;margin-top:30px;font-family:"Unbounded",sans-serif;font-weight:600;font-size:clamp(15px,1.6vw,18px);
  color:var(--accent);border-bottom:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);padding-bottom:3px;transition:color .2s,border-color .2s}
.notfit__turn:hover{color:var(--glow);border-color:var(--accent)}

/* -------- МЕТА: СОБРАНО НА CLAUDE -------- */
.meta__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,60px);align-items:center}
@media(max-width:860px){.meta__grid{grid-template-columns:1fr}}
.meta__stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.meta__stats .case{flex:1;min-width:120px}
.mock{border:1px solid var(--line-strong);border-radius:16px;overflow:hidden;background:#0a121f;box-shadow:0 0 70px -34px var(--accent)}
.mock__bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.mock__bar span{width:11px;height:11px;border-radius:50%;background:var(--line-strong)}
.mock__bar i{margin-left:12px;font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--faint);font-style:normal}
.mock__body{padding:22px;display:flex;flex-direction:column;gap:14px}
.mock__msg{font-size:14.5px;line-height:1.5;padding:14px 16px;border-radius:12px;max-width:92%}
.mock__msg--you{align-self:flex-end;background:var(--accent);color:#02040a}
.mock__msg--ai{align-self:flex-start;background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--line)}
.mock__chip{align-self:flex-start;font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--accent);border:1px dashed var(--line-strong);border-radius:7px;padding:8px 12px}

/* живая консоль сборки */
.meta__console{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:18px;
  background:linear-gradient(160deg, color-mix(in srgb,var(--accent) 9%,transparent), #0a121f 70%);
  box-shadow:0 44px 90px -44px rgba(0,0,0,.92), inset 0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent)}
.console__scan{position:absolute;left:0;right:0;top:0;height:42%;pointer-events:none;z-index:2;
  background:linear-gradient(to bottom, color-mix(in srgb,var(--accent) 16%,transparent), transparent);
  animation:scanY 4.5s linear infinite}
@keyframes scanY{0%{transform:translateY(-110%)}100%{transform:translateY(360%)}}
.console__bar{position:relative;z-index:3;display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}
.console__dots{display:flex;gap:6px}
.console__dots i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.16)}
.console__title{font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.14em;color:var(--dim)}
.console__live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;color:#2fe0b0}
.console__live b{width:7px;height:7px;border-radius:50%;background:#2fe0b0;box-shadow:0 0 9px #2fe0b0;animation:ruLive 1.6s ease-in-out infinite}
.console__body{position:relative;z-index:3;padding:20px 20px 22px}
.console__cmd{font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--glow);margin-bottom:16px;line-height:1.5}
.console__cur{display:inline-block;width:8px;height:15px;background:var(--accent);margin-left:5px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.console__log{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.console__log li{font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--dim);padding-left:26px;position:relative}
.console__log li::before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:700;filter:drop-shadow(0 0 6px var(--accent))}
.console__prog{height:4px;border-radius:3px;background:var(--line);overflow:hidden;margin-bottom:14px}
.console__prog span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--accent),var(--glow));box-shadow:0 0 12px var(--accent)}
.console__done{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.04em;color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:8px;padding:9px 12px;
  background:color-mix(in srgb,var(--accent) 8%,transparent)}

/* -------- CTA-ПОЛОСА -------- */
.ctaband{padding:clamp(20px,3.5vh,42px) clamp(16px,4vw,48px) clamp(20px,3.5vh,42px) clamp(60px,7vw,110px)}
.ctaband__wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  border:1px solid var(--line-strong);border-radius:18px;padding:clamp(22px,3vw,34px) clamp(24px,4vw,42px);
  background:radial-gradient(120% 160% at 0% 0%, color-mix(in srgb,var(--accent) 14%,transparent), var(--panel) 60%);
  box-shadow:0 0 70px -34px var(--accent)}
.ctaband__wrap p{font-family:"Unbounded",sans-serif;font-size:clamp(18px,2.4vw,26px);font-weight:600;max-width:62%;margin:0}
@media(max-width:760px){
  .ctaband{padding-left:18px;padding-right:18px}
  .ctaband__wrap{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}
  .ctaband__wrap p{max-width:100%}
}
.ctaband__wrap p b{color:var(--accent)}

/* -------- ЛИПКАЯ КНОПКА -------- */
.sticky-cta{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,28px);z-index:75;
  display:inline-flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:700;
  letter-spacing:.04em;padding:15px 22px;border-radius:12px;background:var(--accent);color:#02040a;
  box-shadow:0 0 40px -8px var(--accent),0 10px 30px -10px rgba(0,0,0,.6);
  transform:translateY(140%);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s;will-change:transform}
.sticky-cta.is-shown{transform:translateY(0);opacity:1}
.sticky-cta:hover{box-shadow:0 0 56px -4px var(--accent),0 10px 30px -10px rgba(0,0,0,.6)}
@media(max-width:560px){.sticky-cta{left:16px;right:16px;justify-content:center}}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;transition-duration:.05s!important}
  .reveal{opacity:1;transform:none}
}

/* ============ МОБИЛЬНАЯ ТИПОГРАФИКА + ЦЕНТРИРОВАНИЕ ============ */
/* подпись-ТЗ за картинкой ru не должна проступать сквозь фото */
.ru__imgcap{display:none}

@media(max-width:600px){
  /* текст мельче по всей мобильной версии */
  body{font-size:16px}
  .h2,.reviews__title,.final__title{font-size:clamp(21px,5.6vw,28px)}
  .hero__title{font-size:clamp(26px,7vw,34px)}
  .lead,.hero__sub{font-size:15px}
  .ru__title{font-size:clamp(19px,5vw,24px)}
  .ru__title-sub{font-size:14.5px}
  .plan__name{font-size:19px}
  .plan__price{font-size:clamp(30px,8vw,36px)}
  .plan__list li{font-size:14.5px}
  .bignum{font-size:clamp(60px,20vw,84px)}

  /* все блоки по центру (как герой/проблема) */
  .section{text-align:center}
  .lead,.hero__sub{margin-left:auto;margin-right:auto}
  .caps{justify-content:center}
  .author__eyebrow,.notfit__hud,.ru__badge{align-self:center}

  /* списки/карточки/код — текст слева для читаемости */
  .plan{text-align:left}
  .arsenal__card{text-align:left}
  .calc__panel{text-align:left}
  .faq__item{text-align:left}
  .notfit__list li{text-align:left}
  .ru__steps{text-align:left}
  .ru__card{text-align:left}
  .who__card{text-align:left}
  [class*=console]{text-align:left}
}

/* нормальный перенос текста на мобиле (переносы по слогам + баланс строк) */
@media(max-width:600px){
  body{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
  .h2,.hero__title,.reviews__title,.final__title,.ru__title,.who__card h3,.lesson h3,.plan__name{
    -webkit-hyphens:manual;hyphens:manual;text-wrap:balance}
  .lead,.hero__sub,.who__card p,.who__card li,.lesson p,.ru__steps li,
  .notfit__list li,.arsenal__list li,.arsenal__sub,.faq__item p,.faq__item summary,.plan__list li{text-wrap:pretty}
}

/* Планшет (761–900px): вертикальная рельса уже скрыта (≤900px),
   поэтому убираем «рельсовый» отступ слева и центрируем контент симметрично.
   Стоит в конце файла, чтобы перебить базовые .section/.assembly/.footer/.ctaband */
@media(min-width:761px) and (max-width:900px){
  .section{padding-left:clamp(28px,4vw,48px);padding-right:clamp(28px,4vw,48px)}
  .assembly{padding-left:0}
  .footer{padding-left:clamp(28px,4vw,48px);padding-right:clamp(28px,4vw,48px)}
  .ctaband{padding-left:clamp(28px,4vw,48px);padding-right:clamp(28px,4vw,48px)}
}
