/* ==== tokens (единый бренд с главной) ==== */
:root{
  --font:'Montserrat','Century Gothic','Futura',system-ui,-apple-system,'Segoe UI',sans-serif;
  --violet:#7B5CFF;--violet-600:#6A46F5;--violet-300:#A791FF;--amber:#FFB53D;--green:#2FDE8C;
  --ground:#F6F4FB;--surface:#FFFFFF;--surface-2:#EFEAFB;--ink:#17131F;--ink-2:#4C4658;--ink-3:#847D95;--line:#E4DDF3;
  --shadow:0 18px 50px -24px rgba(51,32,120,.35);--shadow-sm:0 8px 24px -14px rgba(51,32,120,.30);
  --stage:#0E0B1A;--stage-2:#171128;--stage-line:#2A2140;--stage-ink:#F3F0FB;--stage-ink-2:#B7AFD0;--stage-ink-3:#7E769A;
}
@media(prefers-color-scheme:dark){:root{
  --ground:#0B0912;--surface:#151022;--surface-2:#1C1533;--ink:#F3F0FB;--ink-2:#C4BDD8;--ink-3:#8A82A0;--line:#282140;
  --violet:#8F73FF;--violet-300:#B7A3FF;--shadow:0 24px 60px -28px rgba(0,0,0,.7);--shadow-sm:0 10px 30px -18px rgba(0,0,0,.6);}}
:root[data-theme="dark"]{--ground:#0B0912;--surface:#151022;--surface-2:#1C1533;--ink:#F3F0FB;--ink-2:#C4BDD8;--ink-3:#8A82A0;--line:#282140;--violet:#8F73FF;--violet-300:#B7A3FF;--shadow:0 24px 60px -28px rgba(0,0,0,.7);--shadow-sm:0 10px 30px -18px rgba(0,0,0,.6);}
:root[data-theme="light"]{--ground:#F6F4FB;--surface:#FFFFFF;--surface-2:#EFEAFB;--ink:#17131F;--ink-2:#4C4658;--ink-3:#847D95;--line:#E4DDF3;--violet:#7B5CFF;--violet-300:#A791FF;--shadow:0 18px 50px -24px rgba(51,32,120,.35);--shadow-sm:0 8px 24px -14px rgba(51,32,120,.30);}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;font-synthesis:none;overflow-x:hidden}
h1,h2,h3{margin:0;font-weight:800;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
a{color:inherit;text-decoration:none}
.wrap{max-width:1000px;margin:0 auto;padding:0 clamp(20px,5vw,44px)}
.section{padding:clamp(48px,7vw,88px) 0}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--violet)}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--violet);opacity:.6}
.stage .eyebrow{color:var(--violet-300)}
.stage .eyebrow::before{background:var(--violet-300)}

/* ==== buttons ==== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;padding:15px 26px;border-radius:14px;border:1.5px solid transparent;transition:transform .18s,box-shadow .25s,background .2s,border-color .2s;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--violet),var(--violet-600));color:#fff;box-shadow:0 12px 30px -12px rgba(123,92,255,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px -12px rgba(123,92,255,.85)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-2px)}
.stage .btn-ghost{border-color:var(--stage-line);color:var(--stage-ink)}
.stage .btn-ghost:hover{border-color:var(--violet-300);color:var(--violet-300)}
.btn-sm{padding:11px 18px;font-size:.92rem;border-radius:11px}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--violet-300);outline-offset:3px;border-radius:8px}

.trust{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--stage-ink-3);font-size:.86rem;font-weight:500}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--violet-300)}

/* ==== logo ==== */
.logo{display:inline-flex;align-items:baseline;font-weight:800;font-size:1.28rem;letter-spacing:-.02em}
.logo .gen{color:var(--stage-ink)}
.logo .off{color:var(--violet)}
.logo .on{color:var(--green);position:relative}
.logo .on::after{content:"";position:absolute;right:-9px;top:52%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px 2px rgba(47,222,140,.85)}

/* ==== nav ==== */
.nav{position:sticky;top:0;z-index:50;background:rgba(14,11,26,.72);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav .wrap{max-width:1180px;display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{color:var(--stage-ink-2);font-size:.94rem;font-weight:500;transition:color .2s}
.nav-links a:hover{color:#fff}
.nav-actions{display:flex;gap:12px;align-items:center}
.nav-login{color:var(--stage-ink-2);font-weight:600;font-size:.94rem}
.nav-login:hover{color:#fff}
@media(max-width:820px){.nav-links{display:none}.nav-login{display:none}}

/* ==== stage ==== */
.stage{background:var(--stage);color:var(--stage-ink);position:relative;overflow:hidden}
.stage h1,.stage h2,.stage h3{color:var(--stage-ink)}

/* ==== page hero ==== */
.page-hero{background:radial-gradient(120% 90% at 80% 0%,#251a45 0%,#140f28 45%,var(--stage) 80%)}
.page-hero .wrap{position:relative;z-index:1;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(44px,6vw,76px);max-width:860px}
.crumbs{font-size:.82rem;color:var(--stage-ink-3);margin-bottom:20px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--stage-ink-2)}.crumbs a:hover{color:#fff}
.crumbs span{opacity:.5}
.page-hero h1{font-size:clamp(1.9rem,4.4vw,3rem);color:#fff;margin:14px 0 0}
.page-hero .lede{color:var(--stage-ink-2);font-size:clamp(1.02rem,1.6vw,1.2rem);max-width:60ch;margin:18px 0 28px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}

/* ==== content blocks ==== */
.lede-intro{font-size:clamp(1.1rem,1.9vw,1.35rem);color:var(--ink);font-weight:500;max-width:70ch;line-height:1.5;margin-bottom:8px}
.block{margin-top:clamp(34px,4vw,52px);max-width:74ch}
.block h2{font-size:clamp(1.4rem,2.8vw,2rem);margin-bottom:14px}
.block p{color:var(--ink-2);margin-bottom:14px;font-size:1.02rem}
.block ul{list-style:none;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:11px}
.block li{position:relative;padding-left:30px;color:var(--ink-2);line-height:1.5}
.block li::before{content:"";position:absolute;left:0;top:8px;width:16px;height:16px;border-radius:5px;background:rgba(123,92,255,.14);
  background-image:linear-gradient(135deg,transparent 45%,var(--violet) 45%,var(--violet) 55%,transparent 55%);background-size:100% 100%}
.block li{padding-left:28px}
.block li::before{content:"✓";width:auto;height:auto;background:none;color:var(--violet);font-weight:800;top:0;font-size:.95rem}

/* ==== highlight / callout ==== */
.callout{margin:clamp(34px,4vw,48px) 0;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--violet);border-radius:16px;padding:clamp(24px,3vw,32px);box-shadow:var(--shadow-sm);max-width:74ch}
.callout .tag{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}
.callout h3{font-size:clamp(1.15rem,2.2vw,1.5rem);margin:10px 0 10px}
.callout p{color:var(--ink-2);font-size:1.02rem}

/* ==== faq ==== */
.faq{max-width:820px;margin-top:8px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;font-weight:700;font-size:1.05rem;position:relative;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--violet)}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 44px 22px 0;color:var(--ink-2);line-height:1.6;max-width:72ch}

/* ==== cta band ==== */
.cta-band{text-align:center;background:radial-gradient(90% 130% at 50% 0%,#241a44,var(--stage) 70%)}
.cta-band h2{font-size:clamp(1.7rem,3.6vw,2.6rem);color:#fff}
.cta-band p{color:var(--stage-ink-2);max-width:52ch;margin:16px auto 0;font-size:1.08rem;font-weight:500}
.cta-band .hero-cta{justify-content:center;margin-top:28px}

/* ==== footer ==== */
.foot{background:var(--stage);color:var(--stage-ink-2);border-top:1px solid var(--stage-line)}
.foot .wrap{max-width:1180px;padding-top:56px;padding-bottom:32px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:32px}
.foot-brand .logo .gen{color:#fff}
.foot-brand p{margin-top:14px;color:var(--stage-ink-3);font-size:.9rem;max-width:30ch}
.foot-col{display:flex;flex-direction:column;gap:11px}
.foot-col h4{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stage-ink-3);font-weight:700;margin:0 0 4px}
.foot-col a{color:var(--stage-ink-2);font-size:.88rem;white-space:nowrap}
.foot-col a:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:44px;padding-top:22px;border-top:1px solid var(--stage-line);color:var(--stage-ink-3);font-size:.84rem}
@media(max-width:760px){.foot-top{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}.foot-col a{white-space:normal}}

/* ==== doc modal ==== */
.doc-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.doc-modal.open{display:flex}
.doc-backdrop{position:absolute;inset:0;background:rgba(8,6,18,.62);backdrop-filter:blur(3px)}
.doc-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:86vh;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 40px 100px -30px rgba(0,0,0,.6);overflow:hidden;animation:docpop .22s cubic-bezier(.2,.7,.2,1)}
@keyframes docpop{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line)}
.doc-head h3{font-size:clamp(1.05rem,2.2vw,1.35rem);color:var(--ink);text-wrap:balance}
.doc-x{flex:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink-2);font-size:1rem;cursor:pointer;transition:.2s;font-family:inherit}
.doc-x:hover{border-color:var(--violet);color:var(--violet)}
.doc-body{padding:22px 24px;overflow-y:auto;line-height:1.62}
.doc-body h4{font-size:1rem;font-weight:800;color:var(--ink);margin:22px 0 8px}
.doc-body h4:first-child{margin-top:0}
.doc-body p{color:var(--ink-2);margin:0 0 12px;font-size:.94rem}
.doc-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 24px;border-top:1px solid var(--line);flex-wrap:wrap}
.doc-full{color:var(--violet);font-weight:600;font-size:.9rem}
.doc-full:hover{text-decoration:underline}
body.modal-open{overflow:hidden}

/* ==== reveal ==== */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.doc-dialog{animation:none}html{scroll-behavior:auto}}
