:root{
      --bg: #0b0f14;
      --bg-elev: #0f141b;
      --text: #e9eef5;
      --muted:#9eabb7;
      --brand:#46b8ff; /* спокойный синий — доверие */
      --brand-2:#63e2b2; /* акцентная мята — современность */
      --accent:#8fb4ff;
      --danger:#ff6b6b;
      --card:#121823;
      --border: rgba(255,255,255,.08);
      --shadow: 0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.03);
      --radius: 16px;
    }
    @media (prefers-color-scheme: light){
      :root{ --bg:#f7fafc; --bg-elev:#ffffff; --text:#0a1020; --muted:#516079; --card:#ffffff; --border: rgba(15,20,27,.08); }
      .hero::before{ opacity:.25; }
    }
    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{ margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif; background:radial-gradient(1200px 800px at 80% -10%, rgba(120,227,255,.12), transparent 60%), radial-gradient(1000px 700px at 10% -20%, rgba(126,246,182,.10), transparent 60%), var(--bg); color:var(--text); }
    a{ color:inherit; text-decoration:none; }
    .container{ width:min(1200px, 92%); margin:0 auto; }
    header{ position:sticky; top:0; z-index:50; backdrop-filter:saturate(140%) blur(10px); background:color-mix(in oklab, var(--bg-elev) 70%, transparent); border-bottom:1px solid var(--border); }
    .nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
    .brand{ display:flex; gap:12px; align-items:center; }
    .logo{ width:36px; height:36px; border-radius:10px; box-shadow: var(--shadow); flex:0 0 36px; }
    .brand h1{ font-size:18px; letter-spacing:.3px; margin:0; }
    .menu{ display:flex; gap:18px; align-items:center; }
    .menu a{ padding:8px 10px; color:var(--muted); font-weight:600; border-radius:10px; }
    .menu a:hover{ color:var(--text); background:rgba(255,255,255,.06); }
    .cta{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; color:#06131a; background:linear-gradient(120deg, var(--brand), var(--brand-2)); border-radius:12px; font-weight:800; box-shadow:0 8px 24px rgba(120,227,255,.25); }
    .cta.secondary{ color:var(--text); background:transparent; border:1px solid var(--border); box-shadow:none; }

    .hero{ position:relative; overflow:hidden; }
    .hero::before{ content:""; position:absolute; inset:-10% -10% auto -10%; height:60%; background:radial-gradient(1200px 600px at 50% 20%, rgba(198,169,255,.25), transparent 60%); pointer-events:none; }
    .hero-in{ display:grid; grid-template-columns:1.2fr .8fr; gap:min(5vw,40px); align-items:center; padding:72px 0 40px; }
    .hero h2{ font-size:clamp(28px, 5vw, 56px); line-height:1.05; margin:0 0 18px; letter-spacing:.2px; }
    .hero p.lead{ color:var(--muted); font-size:clamp(16px, 2.2vw, 18px); margin:0 0 28px; }
    .hero .actions{ display:flex; gap:12px; flex-wrap:wrap; }
    .hero-visual{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow: var(--shadow); border:1px solid var(--border); }
    .hero-visual img{ width:100%; height:100%; object-fit:cover; display:block; }
    .badge{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; border:1px solid var(--border); background: color-mix(in oklab, var(--bg-elev) 85%, transparent); color:var(--muted); font-weight:700; margin-bottom:14px; }

    section{ padding:64px 0; }
    .grid-3{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
    .card{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:22px; box-shadow: var(--shadow); }
    .card h3{ margin:0 0 8px; font-size:20px; }
    .card p{ margin:0; color:var(--muted); }
    .icon{ width:22px; height:22px; display:inline-block; vertical-align:-3px; margin-right:8px; }

    .pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .pillar{ border-radius:18px; padding:18px; background:linear-gradient(180deg, rgba(120,227,255,.08), rgba(126,246,182,.04)); border:1px dashed var(--border); }
    .pillar strong{ display:block; font-size:15px; letter-spacing:.4px; margin-bottom:6px; color:var(--brand); }

    .gallery{ display:grid; grid-template-columns: 1.2fr .8fr; gap:16px; }
    .gallery img{ width:100%; height:100%; object-fit:cover; border-radius:16px; border:1px solid var(--border); box-shadow: var(--shadow); }
    .gallery .stack{ display:grid; gap:16px; }

    .steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; counter-reset: step; }
    .step{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:18px; box-shadow: var(--shadow); position:relative; }
    .step::before{ counter-increment: step; content: counter(step); position:absolute; top:12px; right:14px; font-weight:900; color:var(--muted); }

    .faq{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    details{ background:var(--card); border:1px solid var(--border); border-radius:14px; padding:14px 16px; box-shadow: var(--shadow); }
    summary{ cursor:pointer; font-weight:800; }
    details p{ color:var(--muted); margin:10px 0 0; }

    .manifest{ background: radial-gradient(800px 400px at 20% 0%, rgba(120,227,255,.12), transparent 60%), radial-gradient(900px 500px at 90% 20%, rgba(126,246,182,.10), transparent 60%), var(--bg-elev); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    blockquote{ margin:0; padding:26px; border:1px solid var(--border); border-radius:16px; background:color-mix(in oklab, var(--bg-elev) 85%, transparent); box-shadow: var(--shadow); font-size:18px; line-height:1.5; }

    .cta-band{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; padding:22px; background:linear-gradient(120deg, rgba(120,227,255,.10), rgba(126,246,182,.10)); border:1px solid var(--border); border-radius:16px; box-shadow: var(--shadow); }

    footer{ padding:38px 0 32px; color:var(--muted); border-top:1px solid var(--border); background:var(--bg-elev); }
    footer .cols{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:22px; }
    footer a:hover{ color:var(--text); }
    .legal{ font-size:12px; margin-top:14px; opacity:.9; }

    /* responsive */
    @media (max-width: 980px){
      .hero-in{ grid-template-columns:1fr; padding-top:40px; }
      .grid-3{ grid-template-columns:1fr; }
      .pillars{ grid-template-columns:1fr; }
      .gallery{ grid-template-columns:1fr; }
      .steps{ grid-template-columns:1fr; }
      .faq{ grid-template-columns:1fr; }
      footer .cols{ grid-template-columns:1fr; }
      .menu{ display:none; }
      .menu.mobile{ display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid var(--border); background:var(--bg-elev); position:absolute; right:4%; top:64px; border-radius:12px; }
      .hamb{ display:inline-flex; gap:8px; align-items:center; padding:8px 12px; border:1px solid var(--border); border-radius:10px; }
    }
    /* micro-animations */
    .reveal{ opacity:0; transform: translateY(12px); transition: opacity .6s ease, transform .6s ease; }
    .reveal.in{ opacity:1; transform:none; }
    .cta{ transition: transform .18s ease, box-shadow .18s ease; }
    .cta:hover{ transform: translateY(-1px); box-shadow:0 10px 28px rgba(70,184,255,.25); }
    .cta.secondary:hover{ box-shadow:0 8px 18px rgba(0,0,0,.2); }
    @media (prefers-reduced-motion: reduce){ .reveal{ transition:none; transform:none; } .cta{ transition:none; } }

        /* Документы */
.doc-card h3{ font-size:18px; }
.doc-meta{ color:var(--muted); font-size:14px; margin:2px 0 0; }
.badge.small{ padding:4px 8px; font-size:12px; border-radius:999px; border:1px solid var(--border); background: color-mix(in oklab, var(--bg-elev) 85%, transparent); }
.doc-grid .cta .icon{ width:20px; height:20px; margin-right:0; }
