/* ════════════════════════════════
   TOKENS — фирменные цвета логотипа
════════════════════════════════ */
:root {
    --lime:        #70CF01;  /* верх логотипа */
    --brand:       #3AA305;  /* основной акцент */
    --brand-dark:  #2A8C06;  /* низ логотипа */
    --brand-light: #f0fae5;
    --brand-soft:  #e4f7cc;
    --logo-text:   #424249;

    --bg:     #ffffff;
    --bg2:    #f7faf2;
    --bg3:    #eef7e2;

    --text:   #1a1f14;
    --text2:  #3d4a2e;
    --text3:  #6b7c58;
    --text4:  #96a882;

    --border:  #e2efd6;
    --border2: #cde5b0;

    --amber:    #d97706;
    --amber-bg: #fffbeb;
    --red:      #dc2626;
    --red-bg:   #fef2f2;
    --blue:     #0369a1;
    --blue-bg:  #f0f9ff;

    --sh-sm: 0 1px 4px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --sh-md: 0 4px 16px rgba(0,0,0,0.07), 0 2px 6px rgba(0,0,0,0.04);
    --sh-lg: 0 12px 36px rgba(0,0,0,0.09), 0 4px 10px rgba(0,0,0,0.05);
    --sh-xl: 0 20px 56px rgba(0,0,0,0.11), 0 6px 14px rgba(0,0,0,0.06);

    --r:   12px;
    --rl:  18px;
    --rxl: 24px;
    --nav: 68px; /* nav height */

    /* Значение по умолчанию для прогресс-бара квиза */
    --qz-score-target: 0;

    --progres: 0;
}

/* ─── RESET ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family:'Exo 2', system-ui, sans-serif;
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
button { font-family:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
svg { display:block; }

/* ─── THREE.JS CANVAS ─── */
#cv {
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:0.55;
}

/* ─── A11Y ─── */
:focus-visible { outline:2.5px solid var(--brand); outline-offset:3px; border-radius:4px; }
.btn:focus-visible { outline-offset:4px; }

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--bg2); }
::-webkit-scrollbar-thumb { background:var(--border2); border-radius:2px; }
::-webkit-scrollbar-thumb:hover { background:var(--brand); }

/* ─── LAYOUT (ИСПРАВЛЕНО) ─── */
/* Главный контейнер для ограничения ширины */
.wrap {
    max-width:1200px;
    margin:0 auto;
    padding:0 48px;
    position:relative;
    z-index:2;
    width:100%; /* ВАЖНО: занимает 100% ширины родителя, но ограничена max-width */
}

/* Секции */
.sec {
    padding:96px 0;
    position:relative;
    z-index:2;
    scroll-margin-top:var(--nav);
    width:100%; /* ВАЖНО: секция на всю ширину */
}

/* Фоны для секций */
.sec-alt {
    background:var(--bg2);
    width:100%;
}

.sec-brand {
    background:var(--bg3);
    width:100%;
}

/* Внутренние контейнеры для контента секций */
.sec .wrap {
    width:100%;
}

/* Hero секция */
.hero {
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--bg3);
    position:relative;
    overflow:hidden;
    text-align:center;
    width:100%; /* ВАЖНО: на всю ширину */
}

.hero .hero-in {
    max-width:960px;
    margin:0 auto;
    padding:calc(var(--nav) + 72px) 48px 80px;
    display:flex;
    flex-direction:column;
    align-items:center;
    position:relative;
    z-index:2;
    width:100%;
}

/* Trust Bar */
.trust-bar {
    padding:28px 0;
    background:var(--bg);
    border-bottom:1px solid var(--border);
    position:relative;
    z-index:2;
    width:100%;
}

.trust-bar-in {
    max-width:1200px;
    margin:0 auto;
    padding:0 48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:36px;
    flex-wrap:wrap;
    width:100%;
}

/* Mid CTA */
.mid-cta {
    padding:32px 0;
    position:relative;
    z-index:2;
    background:linear-gradient(135deg, var(--brand-light) 0%, var(--bg3) 100%);
    border-top:1px solid var(--border2);
    border-bottom:1px solid var(--border2);
    width:100%;
}

.mid-cta-in {
    max-width:1200px;
    margin:0 auto;
    padding:0 48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    width:100%;
}

/* CTA Band */
.cta-band {
    background:var(--brand-dark);
    text-align:center; padding:88px 40px; position:relative; overflow:hidden; z-index:2;
}
.cta-band h2 {
    font-size:clamp(24px,3vw,42px); font-weight:800; letter-spacing:-.8px;
    color:#fff; margin-bottom:11px; max-width:640px; margin-left:auto; margin-right:auto;
}
.cta-band p { font-size:18px; color:rgba(255,255,255,.78); margin-bottom:32px; }
.cta-form-box {
    max-width:480px; margin:0 auto 24px;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25);
    border-radius:var(--rxl); padding:26px;
    backdrop-filter:blur(8px);
}
.cta-form-box .fg input,
.cta-form-box .fg select {
    background:rgba(255,255,255,.94); border-color:rgba(255,255,255,.6); color:var(--text);
}
.cta-form-box .fg input:focus,
.cta-form-box .fg select:focus { border-color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.18); }
.cta-form-box .fg label { color:rgba(255,255,255,.82); }
.cta-disc {
    max-width:520px; margin:22px auto 0;
    font-size:11px; color:rgba(255,255,255,.5); line-height:1.65;
    padding:11px 15px; background:rgba(0,0,0,.15); border-radius:9px;
}

/* ─── LABEL ─── */
.lbl {
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:12px;
    font-weight:800;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:var(--brand);
    margin-bottom:10px;
}
.lbl::before {
    content:'';
    width:14px;
    height:2px;
    background:var(--lime);
    border-radius:1px;
}

/* ─── HEADINGS ─── */
.h2 {
    font-size:clamp(32px,4vw,60px);
    font-weight:800;
    line-height:1.08;
    letter-spacing:-1.4px;
    color:var(--text);
}
.h2 .ac { color:var(--brand); }
.sub {
    font-size:18px;
    color:var(--text3);
    line-height:1.75;
    max-width:560px;
    margin-top:12px;
}

/* ─── BUTTONS — ПЛОСКИЕ ─── */
.btn, .btnl {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-family:'Exo 2',sans-serif;
    font-size:15px;
    font-weight:700;
    letter-spacing:0.1px;
    padding:14px 28px;
    border-radius:9px;
    border:none;
    transition:background .16s ease, color .16s ease, border-color .16s ease;
    white-space:nowrap;
    line-height:1.2;
}
.btn-primary, .btnl-primary { background:var(--brand); color:#fff; }
.btn-primary:hover, .btnl-primary:hover { background:var(--brand-dark); }
.btn-primary:active, .btnl-primary:active { background:#228003; }

.btn-outline, .btnl-outline {
    background:transparent;
    color:var(--brand);
    border:2px solid var(--border2);
}
.btn-outline:hover, .btnl-outline:hover { border-color:var(--brand); background:var(--brand-light); }

.btn-white, .btnl-white { background:#fff; color:var(--brand); border:2px solid rgba(255,255,255,0.5); }
.btn-white:hover, .btnl-white:hover { background:#f0fdf0; }

.btn-ghost, .btnl-ghost {
    background:rgba(255,255,255,0.12);
    color:#fff;
    border:1.5px solid rgba(255,255,255,0.3);
}
.btn-ghost:hover, .btnl-ghost:hover {
    background:rgba(255,255,255,0.22);
    border-color:rgba(255,255,255,0.55);
}

.btn-lg, .btnl-lg { padding:15px 32px; font-size:16px; border-radius:10px; }
.btn-full, .btnl-full { width:100%; }

/* ─── NAV ─── */
.nav {
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:100;
    height:var(--nav);
    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid transparent;
    transition:background .3s, border-color .3s, box-shadow .3s;
    width:100%;
}
.nav.stuck {
    background:rgba(255,255,255,0.97);
    border-bottom:1px solid var(--border);
    box-shadow:0 2px 16px rgba(42,140,6,0.08);
}
.nav-in {
    max-width:1200px;
    margin:0 auto;
    padding:0 48px;
    height:var(--nav);
    display:flex;
    align-items:center;
    gap:24px;
    width:100%;
}
.nav-logo { display:flex; align-items:center; flex-shrink:0; }
.nav-logo svg { height:44px; width:auto; }
.nav-links-row { display:flex; gap:2px; flex:1; }
.nav-links-row a {
    font-size:14px;
    font-weight:600;
    color:var(--text3);
    padding:6px 12px;
    border-radius:7px;
    transition:color .14s, background .14s;
}
.nav-links-row a:hover { color:var(--brand); background:var(--brand-light); }
.nav-right { display:flex; align-items:center; gap:10px; margin-left:auto; }
.nav-badge {
    display:flex;
    align-items:center;
    gap:5px;
    font-size:13px;
    font-weight:600;
    color:var(--brand);
    padding:5px 11px;
    border-radius:20px;
    background:var(--brand-light);
    border:1px solid var(--border2);
}
.nav-dot {
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--lime);
    animation:blink 2s infinite;
}
@keyframes blink {
    0%,100%{opacity:1;transform:scale(1)}
    50%{opacity:.4;transform:scale(.8)}
}

/* BURGER */
.burger {
    display:none;
    flex-direction:column;
    gap:5px;
    padding:5px;
    background:none;
    border:none;
}
.burger span {
    display:block;
    width:22px;
    height:2px;
    background:var(--text3);
    border-radius:1px;
    transition:all .22s;
}
.burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* MOB MENU */
.mob-menu {
    display:none;
    position:fixed;
    top:var(--nav);
    left:0;
    right:0;
    bottom:0;
    z-index:99;
    background:rgba(255,255,255,0.98);
    backdrop-filter:blur(20px);
    padding:24px 24px 32px;
    flex-direction:column;
    gap:0;
    overflow-y:auto;
    width:100%;
}
.mob-menu.open { display:flex; }
.mob-menu a {
    font-size:18px;
    font-weight:700;
    color:var(--text2);
    padding:14px 0;
    border-bottom:1px solid var(--border);
    transition:color .14s;
}
.mob-menu a:hover { color:var(--brand); }
.mob-menu-cta { margin-top:24px; display:flex; flex-direction:column; gap:10px; }

/* ─── HERO ─── */
.hero-blob1 {
    position:absolute;
    top:-180px;
    left:50%;
    transform:translateX(-50%);
    width:700px;
    height:700px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(112,207,1,0.12) 0%, transparent 70%);
    pointer-events:none;
    z-index:1;
}
.hero-blob2 {
    position:absolute;
    bottom:-120px;
    left:50%;
    transform:translateX(-50%);
    width:500px;
    height:500px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(42,140,6,0.08) 0%, transparent 70%);
    pointer-events:none;
    z-index:1;
}
.hero-badge {
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--brand);
    padding:7px 16px;
    border-radius:24px;
    background:#fff;
    border:1px solid var(--border2);
    margin-bottom:32px;
    box-shadow:var(--sh-sm);
}
.hero-h1 {
    font-size:clamp(38px,5.8vw,68px);
    font-weight:800;
    line-height:1.08;
    letter-spacing:-2px;
    color:var(--text);
    margin-bottom:24px;
    max-width:900px;
}
.hero-h1 .ac { color:var(--brand); }
.hero-desc {
    font-size:clamp(17px,1.5vw,21px);
    color:var(--text3);
    line-height:1.75;
    margin-bottom:44px;
    max-width:620px;
}
.hero-cta-wrap { margin-bottom:56px; }
.hero-cta-btn {
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:20px 48px;
    border-radius:13px;
    border:none;
    background:var(--brand);
    color:#fff;
    font-family:'Exo 2',sans-serif;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    letter-spacing:-.2px;
    box-shadow:0 8px 32px rgba(58,163,5,0.3);
    transition:all .2s ease;
}
.hero-cta-btn:hover {
    background:var(--brand-dark);
    transform:translateY(-2px);
    box-shadow:0 12px 40px rgba(58,163,5,0.38);
}
.hero-cta-btn:active { transform:translateY(0); }
.hero-cta-btn svg { transition:transform .2s; }
.hero-cta-btn:hover svg { transform:translateX(3px); }
.hero-cta-note {
    font-size:14px;
    color:var(--text4);
    margin-top:14px;
    font-weight:500;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
}
.hero-cta-note strong { color:var(--brand); }
.hero-live-dot {
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--lime);
    flex-shrink:0;
    animation:blink 2s infinite;
}
.hero-metrics {
    display:flex;
    gap:40px;
    flex-wrap:wrap;
    justify-content:center;
    padding-top:32px;
    border-top:1px solid var(--border2);
}
.hero-metric { text-align:center; }
.m-n {
    font-size:32px;
    font-weight:800;
    letter-spacing:-.8px;
    color:var(--text);
    line-height:1;
}
.m-l {
    font-size:13px;
    color:var(--text4);
    margin-top:5px;
    font-weight:600;
}
.hero-divider {
    width:1px;
    height:40px;
    background:var(--border2);
    align-self:center;
}
.hero-disc {
    margin-top:32px;
    max-width:560px;
    font-size:11px;
    color:var(--text4);
    line-height:1.65;
    text-align:center;
    padding:12px 18px;
    background:rgba(255,255,255,0.6);
    border:1px solid var(--border);
    border-radius:10px;
    backdrop-filter:blur(6px);
}

/* ─── FORMS ─── */
.fg { margin-bottom:13px; }
.fg label {
    display:block;
    font-size:11px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
    color:var(--text4);
    margin-bottom:5px;
}
.fg input, .fg select {
    width:100%;
    padding:13px 16px;
    border:1.5px solid var(--border);
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font-family:'Exo 2',sans-serif;
    font-size:16px;
    font-weight:500;
    outline:none;
    -webkit-appearance:none;
    appearance:none;
    transition:border-color .18s, box-shadow .18s;
}
.fg input:focus, .fg select:focus {
    border-color:var(--brand);
    box-shadow:0 0 0 3px rgba(58,163,5,0.12);
}
.fg input::placeholder { color:var(--text4); }
.fg select {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7c58'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 13px center;
    padding-right:36px;
}
.hf-submit {
    width:100%;
    padding:15px;
    background:var(--brand);
    color:#fff;
    border:none;
    border-radius:9px;
    font-family:'Exo 2',sans-serif;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:background .16s;
    margin-top:3px;
}
.hf-submit:hover { background:var(--brand-dark); }
.hf-note {
    font-size:10.5px;
    color:var(--text4);
    text-align:center;
    margin-top:9px;
}
.hf-disc {
    font-size:10.5px;
    color:var(--text4);
    margin-top:11px;
    padding:9px 11px;
    background:var(--bg2);
    border:1px solid var(--border);
    border-radius:7px;
    line-height:1.6;
}

/* ─── ЧЕКБОКС СИМПТОМЫ ─── */
.sym-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:40px;
}
.sym-item {
    display:flex;
    align-items:flex-start;
    gap:11px;
    padding:14px 16px;
    border-radius:10px;
    border:1.5px solid var(--border);
    background:#fff;
    transition:border-color .2s, background .2s, box-shadow .2s;
    cursor:pointer;
    user-select:none;
}
.sym-item:hover {
    border-color:var(--brand);
    background:var(--brand-light);
    box-shadow:var(--sh-sm);
}
.sym-item.checked {
    border-color:var(--brand);
    background:var(--brand-light);
}
.sym-ico {
    width:22px;
    height:22px;
    border-radius:50%;
    flex-shrink:0;
    margin-top:1px;
    background:#fff;
    border:2px solid var(--border2);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s, border-color .2s;
}
.sym-ico::after {
    content:'';
    width:7px;
    height:4.5px;
    border-left:2px solid transparent;
    border-bottom:2px solid transparent;
    transform:rotate(-45deg) translateY(-1px);
    transition:border-color .2s;
}
.sym-item.checked .sym-ico {
    background:var(--brand);
    border-color:var(--brand);
}
.sym-item.checked .sym-ico::after {
    border-left-color:#fff;
    border-bottom-color:#fff;
}
.sym-t {
    font-size:15px;
    font-weight:600;
    color:var(--text2);
    line-height:1.4;
}
.sym-cta {
    margin-top:32px;
    padding:20px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    border-radius:14px;
    background:var(--brand-dark);
}
.sym-cta-t {
    color:#fff;
    font-size:17px;
    font-weight:700;
}
.sym-cta-s {
    font-size:13px;
    color:rgba(255,255,255,0.7);
    margin-top:3px;
}

/* ─── КВИЗ ─── */
.quiz-box { max-width:660px; margin:40px auto 0; }
.quiz-card {
    background:#fff;
    border:1.5px solid var(--border);
    border-radius:var(--rl);
    overflow:hidden;
    box-shadow:var(--sh-lg);
}
.quiz-prog {
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 24px;
    background:var(--bg2);
    border-bottom:1px solid var(--border);
}
.quiz-prog-t {
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--text4);
    white-space:nowrap;
}
.quiz-track {
    flex:1;
    height:4px;
    background:var(--border);
    border-radius:2px;
    overflow:hidden;
}
.quiz-bar {
    height:100%;
    background:var(--brand);
    border-radius:2px;
    transition:width .45s cubic-bezier(.16,1,.3,1);
}
.quiz-body {
    padding:26px 24px 30px;
    position:relative;
    overflow:hidden;
}
.quiz-q {
    font-size:20px;
    font-weight:700;
    margin-bottom:18px;
    letter-spacing:-.3px;
    color:var(--text);
}
.quiz-opts { display:flex; flex-direction:column; gap:8px; }
.quiz-opt {
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 18px;
    border-radius:10px;
    border:1.5px solid var(--border);
    background:#fff;
    cursor:pointer;
    font-size:15px;
    font-weight:600;
    color:var(--text2);
    transition:border-color .16s, background .16s, color .16s;
    user-select:none;
}
.quiz-opt:hover {
    border-color:var(--brand);
    background:var(--brand-light);
    color:var(--brand-dark);
}
.quiz-opt.sel {
    border-color:var(--brand);
    background:var(--brand-light);
    color:var(--brand-dark);
}
.q-dot {
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid var(--border2);
    flex-shrink:0;
    transition:all .16s;
    position:relative;
}
.quiz-opt.sel .q-dot { background:var(--brand); border-color:var(--brand); }
.quiz-opt.sel .q-dot::after {
    content:'';
    position:absolute;
    inset:3px;
    background:#fff;
    border-radius:50%;
}
.quiz-res { display:none; padding:26px 24px 30px; }
.quiz-res.show { display:block; }
.qr-badge {
    display:inline-flex;
    align-items:center;
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    padding:5px 11px;
    border-radius:12px;
    margin-bottom:14px;
}
.qr-mfc { background:var(--blue-bg); color:var(--blue); border:1px solid #bae6fd; }
.qr-court { background:var(--brand-light); color:var(--brand-dark); border:1px solid var(--border2); }
.qr-title {
    font-size:22px;
    font-weight:700;
    margin-bottom:9px;
    color:var(--text);
    letter-spacing:-.3px;
}
.qr-desc {
    font-size:16px;
    color:var(--text3);
    line-height:1.7;
    margin-bottom:18px;
}
.qr-list { display:flex; flex-direction:column; gap:7px; margin-bottom:20px; }
.qr-li { display:flex; gap:8px; font-size:15px; color:var(--text2); }
.qr-li::before { content:'→'; color:var(--brand); font-weight:700; flex-shrink:0; }
.quiz-restart {
    display:inline-block;
    margin-top:10px;
    font-size:12px;
    color:var(--text4);
    cursor:pointer;
    background:none;
    border:none;
    text-decoration:underline;
    font-family:'Exo 2',sans-serif;
}
.qr-form { margin-top:16px; display:flex; gap:8px; }
.qr-input {
    flex:1;
    padding:13px 16px;
    border:1.5px solid var(--border);
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font-family:'Exo 2',sans-serif;
    font-size:16px;
    font-weight:500;
    outline:none;
    transition:border-color .18s, box-shadow .18s;
    min-width:0;
}
.qr-input:focus {
    border-color:var(--brand);
    box-shadow:0 0 0 3px rgba(58,163,5,0.12);
}
.qr-form .btn { flex-shrink:0; }
.qr-form-note {
    font-size:10.5px;
    color:var(--text4);
    text-align:center;
    margin-top:8px;
}
@media(max-width:640px) { .qr-form { flex-direction:column; } }

/* ─── КАЛЬКУЛЯТОР ─── */
.calc-card {
    max-width:660px;
    margin:40px auto 0;
    background:#fff;
    border:1.5px solid var(--border);
    border-radius:var(--rl);
    overflow:hidden;
    box-shadow:var(--sh-lg);
}
.calc-hd {
    padding:20px 24px;
    background:var(--bg2);
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:center;
    gap:10px;
}
.calc-hd-ico { font-size:20px; }
.calc-hd-t { font-size:17px; font-weight:700; color:var(--text); }
.calc-body { padding:24px; }
.calc-row { margin-bottom:18px; }
.calc-label {
    font-size:14px;
    font-weight:600;
    color:var(--text3);
    margin-bottom:6px;
}
/*.calc-range { width:100%; accent-color:var(--brand); cursor:pointer; }*/
.calc-val {
    font-size:15px;
    font-weight:600;
    color:var(--brand-dark);
    margin-top:4px;
}
.calc-result {
    margin-top:8px;
    padding:18px;
    border-radius:12px;
    background:var(--brand-light);
    border:1px solid var(--border2);
    transition:background .3s, border-color .3s;
}
.calc-result.warn { background:var(--amber-bg); border-color:rgba(217,119,6,.25); }
.calc-res-row {
    display:flex;
    justify-content:space-between;
    font-size:15px;
    margin-bottom:8px;
}
.calc-res-row:last-child { margin-bottom:0; }
.calc-res-k { color:var(--text3); }
.calc-res-v { font-weight:700; color:var(--text); }
.calc-res-v.green { color:var(--brand-dark); }
.calc-res-v.amber { color:var(--amber); }
.calc-res-v.strike { text-decoration:line-through; color:var(--text4); font-weight:500; }
.calc-save {
    margin-top:14px;
    padding:14px;
    border-radius:10px;
    text-align:center;
    background:var(--brand-dark);
    color:#fff;
    transition:background .3s;
}
.calc-save.warn { background:var(--amber); }
.calc-save-n { font-size:28px; font-weight:800; letter-spacing:-.5px; }
.calc-save-l { font-size:14px; color:rgba(255,255,255,.75); margin-top:3px; }
.calc-ft { padding:14px 24px; border-top:1px solid var(--border); }

/* ─── О КОМПАНИИ ─── */
.about-layout {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center;
    margin-top:40px;
}
.about-founder {
    display:flex;
    gap:18px;
    align-items:center;
    padding:24px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--rl);
    box-shadow:var(--sh-md);
}
.about-ava {
    width:80px;
    height:80px;
    border-radius:50%;
    flex-shrink:0;
    background:var(--brand-light);
    border:2px solid var(--border2);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    font-weight:800;
    color:var(--brand-dark);
    overflow:hidden;
}
.about-ava img { width:100%; height:100%; object-fit:cover; }
.about-fname { font-size:18px; font-weight:700; color:var(--text); margin-bottom:2px; }
.about-frole { font-size:13px; color:var(--text4); margin-bottom:8px; }
.about-quote {
    font-size:15px;
    color:var(--text3);
    line-height:1.65;
    padding-left:12px;
    border-left:2px solid var(--brand);
}
.about-nums {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}
.about-num-card {
    padding:18px;
    border-radius:12px;
    background:#fff;
    border:1px solid var(--border);
    transition:border-color .18s, box-shadow .18s;
}
.about-num-card:hover { border-color:var(--border2); box-shadow:var(--sh-md); }
.about-num-n {
    font-size:30px;
    font-weight:800;
    color:var(--brand-dark);
    letter-spacing:-.5px;
}
.about-num-l { font-size:13px; color:var(--text4); margin-top:3px; }
.about-mission {
    margin-top:40px;
    padding:24px 28px;
    border-radius:14px;
    background:var(--brand-dark);
    text-align:center;
}
.about-mission-t {
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,.55);
    margin-bottom:8px;
}
.about-mission-q {
    font-size:20px;
    font-weight:700;
    color:#fff;
    line-height:1.45;
}
@media(max-width:1024px) { .about-layout { grid-template-columns:1fr; gap:32px; } }

/* ─── TRUST ITEMS ─── */
.trust-item {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:700;
    color:var(--text3);
    text-transform:uppercase;
    letter-spacing:.5px;
}
.trust-item-ico {
    width:32px;
    height:32px;
    border-radius:8px;
    background:var(--brand-light);
    border:1px solid var(--border2);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
}

/* ─── СТРАХИ ─── */
.fears-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:40px;
}
.fear-card {
    padding:20px;
    border-radius:var(--r);
    background:#fff;
    border:1px solid var(--border);
    position:relative;
    overflow:hidden;
    transition:box-shadow .2s, border-color .2s, transform .2s;
}
.fear-card::before {
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:var(--brand);
    opacity:0;
    transition:opacity .2s;
}
.fear-card:hover {
    transform:translateY(-2px);
    box-shadow:var(--sh-lg);
    border-color:var(--border2);
}
.fear-card:hover::before { opacity:1; }
.fear-myth {
    font-size:14px;
    font-weight:700;
    color:var(--red);
    text-decoration:line-through;
    text-decoration-color:rgba(220,38,38,.4);
    margin-bottom:9px;
}
.fear-title {
    font-size:16px;
    font-weight:700;
    color:var(--brand-dark);
    margin-bottom:7px;
}
.fear-body {
    font-size:14px;
    color:var(--text3);
    line-height:1.63;
}

/* ─── РИСКИ ─── */
.risks {
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:40px;
    max-width:720px;
}
.risk {
    display:flex;
    gap:13px;
    align-items:flex-start;
    padding:15px 18px 15px 17px;
    border-radius:11px;
    background:#fff;
    border:1px solid var(--border);
    border-left:3px solid var(--amber);
    transition:background .18s, border-color .18s;
}
.risk:hover {
    background:var(--amber-bg);
    border-color:var(--amber);
    border-left-color:var(--amber);
}
.risk-ico {
    width:26px;
    height:26px;
    border-radius:50%;
    flex-shrink:0;
    background:var(--amber-bg);
    border:1.5px solid rgba(217,119,6,.2);
    color:var(--amber);
    font-size:11px;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
}
.risk-title {
    font-size:16px;
    font-weight:700;
    color:var(--text);
    margin-bottom:3px;
}
.risk-sub {
    font-size:14px;
    color:var(--text3);
    line-height:1.52;
}

/* ─── ПОСЛЕДСТВИЯ ─── */
.cons {
    max-width:680px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--rl);
    overflow:hidden;
    box-shadow:var(--sh-md);
    margin-top:40px;
}
.cons-hd {
    padding:15px 21px;
    background:var(--amber-bg);
    border-bottom:1px solid rgba(217,119,6,.15);
    display:flex;
    align-items:flex-start;
    gap:10px;
}
.cons-hd-ico { font-size:18px; line-height:1.3; flex-shrink:0; }
.cons-hd-ttl { font-size:15px; font-weight:700; color:var(--amber); }
.cons-hd-sub { font-size:13px; color:rgba(140,80,0,.65); margin-top:2px; }
.cons-list {
    padding:18px 21px;
    display:flex;
    flex-direction:column;
    gap:13px;
}
.cons-row { display:flex; gap:12px; align-items:flex-start; }
.cons-n {
    width:28px;
    height:28px;
    border-radius:50%;
    flex-shrink:0;
    background:var(--amber-bg);
    border:1px solid rgba(217,119,6,.2);
    color:var(--amber);
    font-size:13px;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}
.cons-ttl {
    font-size:16px;
    font-weight:700;
    color:var(--text);
    margin-bottom:3px;
}
.cons-dsc {
    font-size:14px;
    color:var(--text3);
    line-height:1.55;
}
.cons-ft {
    padding:13px 21px;
    border-top:1px solid var(--border);
    background:var(--bg2);
    font-size:14px;
    color:var(--text3);
    line-height:1.6;
}
.cons-ft strong { color:var(--brand-dark); }

/* ─── МФЦ vs СУД ─── */
.cmp-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:40px;
}
.cmp-card {
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--rl);
    overflow:hidden;
    box-shadow:var(--sh-sm);
}
.cmp-hd { padding:20px 22px; border-bottom:1px solid var(--border); }
.cmp-mfc .cmp-hd { background:var(--blue-bg); }
.cmp-court .cmp-hd { background:var(--brand-light); }
.cmp-lbl {
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:6px;
}
.cmp-mfc .cmp-lbl { color:var(--blue); }
.cmp-court .cmp-lbl { color:var(--brand-dark); }
.cmp-title {
    font-size:20px;
    font-weight:700;
    color:var(--text);
    letter-spacing:-.3px;
    margin-bottom:3px;
}
.cmp-sub { font-size:14px; color:var(--text4); }
.cmp-row {
    display:flex;
    padding:11px 20px;
    border-bottom:1px solid var(--bg2);
}
.cmp-row:last-child { border-bottom:none; }
.cmp-k {
    font-size:13px;
    color:var(--text4);
    font-weight:600;
    width:100px;
    flex-shrink:0;
}
.cmp-v { font-size:15px; font-weight:700; color:var(--text); }
.cmp-v .ag { color:var(--brand-dark); }
.cmp-v .ab { color:var(--blue); }

/* ─── ЭТАПЫ ─── */
.steps {
    max-width:720px;
    margin:40px auto 0;
    position:relative;
}
.steps-line {
    position:absolute;
    left:23px;
    top:23px;
    bottom:23px;
    width:2px;
    background:var(--border2);
    border-radius:1px;
}
.step {
    display:flex;
    gap:18px;
    margin-bottom:20px;
    position:relative;
}
.step:last-child { margin-bottom:0; }
.step-n {
    width:46px;
    height:46px;
    border-radius:50%;
    flex-shrink:0;
    background:var(--brand);
    color:#fff;
    font-size:16px;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:1;
}
.step-body {
    flex:1;
    padding:16px 18px;
    border-radius:12px;
    background:#fff;
    border:1px solid var(--border);
    transition:border-color .18s, box-shadow .18s;
}
.step-body:hover { border-color:var(--border2); box-shadow:var(--sh-md); }
.step-hd {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    margin-bottom:6px;
}
.step-title {
    font-size:17px;
    font-weight:700;
    color:var(--text);
    letter-spacing:-.2px;
}
.step-time {
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--brand-dark);
    padding:3px 9px;
    border-radius:9px;
    background:var(--brand-light);
    border:1px solid var(--border2);
    white-space:nowrap;
    flex-shrink:0;
}
.step-desc {
    font-size:15px;
    color:var(--text3);
    line-height:1.63;
}
.step-pill {
    margin-top:8px;
    padding:7px 12px;
    border-radius:7px;
    background:var(--brand-light);
    border:1px solid var(--border2);
    font-size:13px;
    font-weight:700;
    color:var(--brand-dark);
}

/* ─── СТОИМОСТЬ ─── */
.cost-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:40px;
}
.cost-card {
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--rl);
    overflow:hidden;
    box-shadow:var(--sh-md);
}
.cost-hd { padding:24px; }
.cost-free .cost-hd { background:var(--brand); }
.cost-paid .cost-hd { background:#1d3a1a; }
.cost-lbl {
    font-size:10px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,.65);
    margin-bottom:7px;
}
.cost-name {
    font-size:19px;
    font-weight:700;
    color:#fff;
    margin-bottom:7px;
}
.cost-price {
    font-size:36px;
    font-weight:800;
    color:#fff;
    letter-spacing:-1px;
    line-height:1;
}
.cost-price small { font-size:15px; font-weight:400; opacity:.65; }
.cost-psub { font-size:14px; color:rgba(255,255,255,.6); margin-top:4px; }
.cost-rows {
    padding:14px 22px;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.cost-row { display:flex; justify-content:space-between; font-size:15px; }
.cost-k { color:var(--text3); }
.cost-v { font-weight:700; color:var(--text); }
.cost-v.free { color:var(--brand-dark); }
.cost-sep { height:1px; background:var(--border); }
.cost-ft {
    padding:13px 22px;
    border-top:1px solid var(--border);
    background:var(--bg2);
}

/* ─── ЮРИСТЫ ─── */
.lawyers-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:40px;
}
.lawyer-card {
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--rl);
    overflow:hidden;
    transition:transform .2s, box-shadow .2s, border-color .2s;
    position:relative;
}
.lawyer-card::after {
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:2px;
    background:var(--brand);
    opacity:0;
    transition:opacity .2s;
}
.lawyer-card:hover {
    transform:translateY(-3px);
    box-shadow:var(--sh-xl);
    border-color:var(--border2);
}
.lawyer-card:hover::after { opacity:1; }
.lawyer-ava {
    height:108px;
    background:var(--brand-light);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:36px;
    font-weight:800;
    color:var(--brand-dark);
}
.lawyer-body { padding:16px; }
.lawyer-name {
    font-size:17px;
    font-weight:700;
    margin-bottom:3px;
    color:var(--text);
}
.lawyer-role { font-size:14px; color:var(--text4); margin-bottom:13px; }
.lawyer-stats { display:flex; gap:16px; margin-bottom:11px; }
.ls-n {
    font-size:24px;
    font-weight:800;
    color:var(--brand-dark);
    letter-spacing:-.5px;
}
.ls-l { font-size:12px; color:var(--text4); margin-top:2px; }
.lawyer-tag {
    font-size:12px;
    font-weight:700;
    padding:4px 10px;
    background:var(--brand-light);
    border:1px solid var(--border2);
    border-radius:5px;
    color:var(--brand-dark);
    display:inline-block;
    margin-bottom:11px;
}
.lawyer-link { font-size:14px; color:var(--brand); font-weight:700; }
.lawyer-link:hover { text-decoration:underline; }

/* ─── КЕЙСЫ ─── */
.cases-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:40px;
}
.case-card {
    padding:20px;
    border-radius:var(--rl);
    background:#fff;
    border:1px solid var(--border);
    transition:transform .2s, box-shadow .2s, border-color .2s;
}
.case-card:hover {
    transform:translateY(-2px);
    box-shadow:var(--sh-lg);
    border-color:var(--border2);
}
.case-type {
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--brand);
    margin-bottom:11px;
}
.case-amount {
    font-size:32px;
    font-weight:800;
    letter-spacing:-1px;
    color:var(--text);
    margin-bottom:4px;
}
.case-desc { font-size:14px; color:var(--text4); margin-bottom:14px; }
.case-row {
    display:flex;
    justify-content:space-between;
    font-size:14px;
    margin-bottom:5px;
}
.case-k { color:var(--text4); }
.case-v { font-weight:700; color:var(--text2); }
.case-out {
    margin-top:12px;
    padding:8px 12px;
    border-radius:7px;
    background:var(--brand-light);
    border:1px solid var(--border2);
    font-size:14px;
    font-weight:700;
    color:var(--brand-dark);
}

/* ─── ОТЗЫВЫ ─── */
.rev-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:40px;
}
.rev-card {
    padding:20px;
    border-radius:var(--rl);
    background:#fff;
    border:1px solid var(--border);
    transition:border-color .18s, box-shadow .18s;
}
.rev-card:hover { border-color:var(--border2); box-shadow:var(--sh-md); }
.rev-stars {
    color:#f59e0b;
    font-size:13px;
    letter-spacing:1px;
    margin-bottom:7px;
}
.rev-type {
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--brand);
    margin-bottom:9px;
}
.rev-text {
    font-size:15px;
    color:var(--text2);
    line-height:1.68;
    margin-bottom:15px;
}
.rev-auth { display:flex; align-items:center; gap:9px; }
.rev-ava {
    width:33px;
    height:33px;
    border-radius:50%;
    background:var(--brand);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:800;
    flex-shrink:0;
}
.rev-name { font-size:15px; font-weight:700; color:var(--text); }
.rev-meta { font-size:13px; color:var(--text4); }
.rev-ext {
    display:flex;
    gap:12px;
    justify-content:center;
    margin-top:24px;
    flex-wrap:wrap;
}
.ext-btn {
    padding:7px 16px;
    border:1.5px solid var(--border);
    border-radius:18px;
    font-size:14px;
    font-weight:700;
    color:var(--text3);
    background:#fff;
    transition:all .15s;
}
.ext-btn:hover {
    border-color:var(--brand);
    color:var(--brand);
    background:var(--brand-light);
}

/* ─── FAQ ─── */
.faq-layout {
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:56px;
}
.faq-list { margin-top:6px; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-q {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:18px 0;
    cursor:pointer;
    font-size:16px;
    font-weight:700;
    color:var(--text2);
    user-select:none;
    transition:color .14s;
}
.faq-q:hover { color:var(--brand-dark); }
.faq-item.open .faq-q { color:var(--brand-dark); }
.faq-icon {
    width:26px;
    height:26px;
    padding-left: 1px;
    border-radius:50%;
    background:var(--brand-light);
    border:1px solid var(--border2);
    color:var(--brand);
    display: block;
    text-align: center;
    line-height: 22px;
    font-size:18px;
    font-weight:300;
    flex-shrink:0;
    transition:all .22s;
}
.faq-item.open .faq-icon {
    background:var(--brand);
    color:#fff;
    border-color:var(--brand);
    transform:rotate(45deg);
}
.faq-ans {
    font-size:15px;
    color:var(--text3);
    line-height:1.75;
    max-height:0;
    overflow:hidden;
    transition:max-height .38s ease, padding .22s;
}
.faq-item.open .faq-ans { max-height:300px; padding-bottom:16px; }

/* ─── SEO TEXT ─── */
.seo-block { max-width:840px; }
.seo-block h2 {
    font-size:26px;
    font-weight:800;
    color:var(--text);
    margin-bottom:13px;
    letter-spacing:-.3px;
}
.seo-block h3 {
    font-size:19px;
    font-weight:700;
    color:var(--text2);
    margin:24px 0 9px;
}
.seo-block p {
    font-size:16px;
    color:var(--text3);
    line-height:1.8;
    margin-bottom:12px;
}
.seo-block ul { margin:0 0 12px 17px; }
.seo-block li {
    font-size:16px;
    color:var(--text3);
    line-height:1.8;
    margin-bottom:4px;
}
.seo-block strong { color:var(--text2); }
.seo-block a { color:var(--brand); }
.seo-note {
    font-size:11px;
    color:var(--text4);
    line-height:1.6;
    padding:10px 14px;
    background:var(--bg2);
    border:1px solid var(--border);
    border-radius:7px;
    margin-top:24px;
}

/* ─── CTA FORM BOX ─── */
.cta-form-box {
    max-width:480px;
    margin:0 auto 24px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25);
    border-radius:var(--rxl);
    padding:26px;
    backdrop-filter:blur(8px);
}
.cta-form-box .fg input,
.cta-form-box .fg select {
    background:rgba(255,255,255,.94);
    border-color:rgba(255,255,255,.6);
    color:var(--text);
}
.cta-form-box .fg input:focus,
.cta-form-box .fg select:focus {
    border-color:#fff;
    box-shadow:0 0 0 3px rgba(255,255,255,.18);
}
.cta-form-box .fg label { color:rgba(255,255,255,.82); }
.cta-disc {
    max-width:520px;
    margin:22px auto 0;
    font-size:11px;
    color:rgba(255,255,255,.5);
    line-height:1.65;
    padding:11px 15px;
    background:rgba(0,0,0,.15);
    border-radius:9px;
}

/* ─── FOOTER GRID ─── */
.foot-grid {
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:44px;
    padding-bottom:36px;
    border-bottom:1px solid rgba(255,255,255,.1);
    margin-bottom:22px;
}
.foot-about {
    font-size:14px;
    color:rgba(255,255,255,.48);
    line-height:1.75;
    max-width:230px;
    margin-top:13px;
}
.foot-col h4 {
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    color:rgba(255,255,255,.65);
    margin-bottom:13px;
}
.foot-col a {
    display:block;
    font-size:14px;
    color:rgba(255,255,255,.4);
    margin-bottom:8px;
    transition:color .14s;
}
.foot-col a:hover { color:var(--lime); }
.foot-bottom {
    display:flex;
    justify-content:space-between;
    font-size:12px;
    color:rgba(255,255,255,.3);
    flex-wrap:wrap;
    gap:7px;
}
.foot-bottom a {
    color:rgba(255,255,255,.3);
    transition:color .14s;
}
.foot-bottom a:hover { color:var(--lime); }

/* ─── STICKY BAR ─── */
.mob-sticky {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 90;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(18px);
    border-top: 1px solid var(--border);
    padding: 11px 16px calc(11px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -3px 16px rgba(42, 140, 6, 0.09);
    transform: translateY(100%); /* Скрыт по умолчанию */
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    gap: 10px;
    width: 100%;
}

.mob-sticky.up {
    transform: translateY(0); /* Показывается при скролле */
}

.sticky-cta { flex:1; }
.sticky-quiz { display:flex; gap:10px; flex:1; }
.sticky-quiz .qz-btn-back { flex-shrink:0; }
.sticky-quiz .qz-btn-next { flex:1; }

/* ─── QUIZ EMBED ─── */
@keyframes qzSlideIn {
    from { opacity:0; transform:translateY(6px); }
    to { opacity:1; transform:translateY(0); }
}
@keyframes qzFadeIn {
    from { opacity:0; transform:translateY(10px); }
    to { opacity:1; transform:translateY(0); }
}
@keyframes qzScoreAnim {
    from { stroke-dasharray:0 327; }
    to { stroke-dasharray:var(--qz-score-target, 0) 327; }
}

.qz-card {
    background:#fff;
    border-radius:var(--rl);
    box-shadow:var(--sh-lg);
    padding:28px 24px;
    transition:opacity .22s,transform .22s;
}
/*.quiz-embed { min-height:780px; }*/
#quizApp { scroll-margin-top:calc(var(--nav) + 16px); }
.qz-card.fade-out { opacity:0; transform:translateY(10px); }
.qz-card h2 {
    font-size:19px;
    font-weight:600;
    line-height:1.35;
    margin-bottom:4px;
    color:var(--text);
}
.qz-card .qz-sub {
    font-size:13px;
    color:var(--text3);
    line-height:1.5;
    margin-bottom:22px;
}
.qz-pills { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:20px; }
.qz-pill {
    padding:4px 10px;
    border-radius:6px;
    font-size:11px;
    font-weight:600;
    background:var(--bg2);
    color:var(--text4);
    transition:all .2s;
}
.qz-pill.active { background:var(--brand); color:#fff; }
.qz-pill.done { background:var(--brand-soft); color:var(--brand-dark); }
.qz-prow {
    display:flex;
    justify-content:space-between;
    margin-bottom:6px;
    font-size:12px;
}
.qz-prow .left { color:var(--text3); font-weight:500; }
.qz-prow .right { color:var(--brand); font-weight:600; }
.qz-pbar {
    height:5px;
    border-radius:3px;
    background:var(--border);
    overflow:hidden;
    margin-bottom:24px;
}
.qz-pfill {
    height:100%;
    border-radius:3px;
    background:linear-gradient(90deg,var(--brand),var(--lime));
    transition:width .4s ease;
}
.qz-btn-row { display:flex; gap:10px; margin-top:20px; }
.qz-btn-back {
    height:48px;
    padding:0 20px;
    border-radius:10px;
    border:1.5px solid var(--border);
    background:#fff;
    color:var(--text2);
    font-size:14px;
    font-weight:500;
    cursor:pointer;
    font-family:'Exo 2',sans-serif;
}
.qz-btn-next {
    flex:1;
    height:48px;
    border-radius:10px;
    border:none;
    background:var(--brand);
    color:#fff;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    font-family:'Exo 2',sans-serif;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    box-shadow:0 4px 14px rgba(58,163,5,.25);
    transition:all .2s;
}
.qz-btn-next:disabled {
    background:var(--border);
    color:var(--text4);
    box-shadow:none;
    cursor:default;
}
.qz-radio {
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 16px;
    border-radius:10px;
    border:1.5px solid var(--border);
    background:#fff;
    cursor:pointer;
    font-family:'Exo 2',sans-serif;
    transition:all .15s;
    width:100%;
    text-align:left;
    font-size:14px;
    color:var(--text);
    margin-bottom:8px;
}
.qz-radio.on { border-color:var(--brand); background:var(--brand-light); }
.qz-rdot {
    width:20px;
    height:20px;
    border-radius:10px;
    border:2px solid var(--border2);
    background:#fff;
    flex-shrink:0;
    transition:all .15s;
}
.qz-radio.on .qz-rdot { border:6px solid var(--brand); }
.qz-check {
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 14px;
    border-radius:10px;
    border:1.5px solid var(--border);
    background:#fff;
    cursor:pointer;
    font-family:'Exo 2',sans-serif;
    transition:all .12s;
    width:100%;
    text-align:left;
    font-size:13px;
    color:var(--text);
    margin-bottom:6px;
}
.qz-check.on { border-color:var(--brand); background:var(--brand-light); }
.qz-cbox {
    width:20px;
    height:20px;
    border-radius:6px;
    border:1.5px solid var(--border2);
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    flex-shrink:0;
    transition:all .12s;
}
.qz-check.on .qz-cbox { border:none; background:var(--brand); }
.qz-tag-forb {
    font-size:10px;
    color:var(--red);
    background:var(--red-bg);
    padding:2px 7px;
    border-radius:4px;
    font-weight:600;
    white-space:nowrap;
    margin-left:auto;
}
.qz-insight {
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:12px 14px;
    border-radius:10px;
    margin-top:20px;
    animation:qzSlideIn .3s ease;
}
.qz-insight-ico {
    width:22px;
    height:22px;
    border-radius:11px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
    flex-shrink:0;
    margin-top:1px;
}
.qz-insight-txt { font-size:13px; line-height:1.5; font-weight:500; }
.qz-num-wrap { margin-bottom:18px; }
.qz-num-wrap label {
    display:block;
    font-size:13px;
    font-weight:500;
    color:var(--text2);
    margin-bottom:6px;
}
.qz-num-box {
    margin-top: 20px; position:relative; }
.qz-num-input {
    width:100%;
    height:50px;
    border-radius:10px;
    border:1.5px solid var(--border);
    padding:0 44px 0 16px;
    font-size:17px;
    font-weight:600;
    font-family:'Exo 2',sans-serif;
    color:var(--text);
    outline:none;
    background:var(--bg2);
    transition:all .15s;
}
.qz-num-input:focus {
    border-color:var(--brand);
    background:#fff;
    box-shadow:0 0 0 3px rgba(58,163,5,.1);
}
.qz-num-sfx {
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    color:var(--text4);
    font-size:15px;
    font-weight:500;
}
.qz-counter {
    display:flex;
    align-items:center;
    gap:20px;
    justify-content:center;
    padding:16px 0;
}
.qz-counter-btn {
    width:48px;
    height:48px;
    border-radius:12px;
    border:1.5px solid var(--border);
    background:#fff;
    font-size:22px;
    cursor:pointer;
    color:var(--text2);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Exo 2',sans-serif;
}
.qz-counter-val { font-size:40px; font-weight:700; min-width:48px; text-align:center; }
.qz-phone {
    width:100%;
    height:56px;
    border-radius:12px;
    border:2px solid var(--border);
    padding:0 16px 0 48px;
    font-size:18px;
    font-weight:600;
    font-family:'Exo 2',sans-serif;
    color:var(--text);
    outline:none;
    background:var(--bg2);
    transition:all .15s;
    letter-spacing:.5px;
}
.qz-phone:focus {
    border-color:var(--brand);
    background:#fff;
    box-shadow:0 0 0 3px rgba(58,163,5,.1);
}
.qz-amount-display { text-align:center; margin-bottom:20px; }
.qz-amount-val {
    font-size:38px;
    font-weight:700;
    letter-spacing:-.02em;
    color:var(--text);
}
.qz-amount-input {
    font-size:38px;
    font-weight:700;
    letter-spacing:-.02em;
    color:var(--text);
    border:none;
    background:transparent;
    text-align:center;
    outline:none;
    width:auto;
    max-width:280px;
    font-family:'Exo 2',sans-serif;
    border-bottom:2px solid var(--brand);
    caret-color:var(--brand);
}
.qz-amount-sfx { font-size:16px; color:var(--text4); margin-left:6px; }
.qz-amount-range {
    display:flex;
    justify-content:space-between;
    margin-top:6px;
    font-size:11px;
    color:var(--text4);
}
.qz-presets { display:flex; gap:6px; margin-top:16px; flex-wrap:wrap; justify-content:center; }
.qz-preset {
    padding:7px 14px;
    border-radius:8px;
    border:1.5px solid var(--border);
    background:#fff;
    color:var(--text3);
    font-size:12px;
    font-weight:500;
    cursor:pointer;
    font-family:'Exo 2',sans-serif;
    transition:all .15s;
}
.qz-preset.on { border-color:var(--brand); background:var(--brand-light); color:var(--brand); }
.qz-res-card {
    background:#fff;
    border-radius:12px;
    padding:14px 16px;
    box-shadow:var(--sh-sm);
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
}
.qz-res-label { font-size:13px; color:var(--text3); font-weight:500; }
.qz-res-badge { padding:3px 10px; border-radius:6px; font-size:12px; font-weight:600; }
.qz-bg-good { background:var(--brand-light); color:var(--brand-dark); }
.qz-bg-warn { background:var(--amber-bg); color:var(--amber); }
.qz-bg-bad { background:var(--red-bg); color:var(--red); }
.qz-stars { display:flex; gap:3px; }
.qz-trust-item { display:flex; gap:8px; align-items:center; margin-bottom:8px; }
.qz-trust-ico {
    width:18px;
    height:18px;
    border-radius:9px;
    background:var(--brand-light);
    color:var(--brand);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.qz-trust-txt { font-size:12px; color:var(--text3); }
.qz-cta-card {
    background:#fff;
    border-radius:var(--rl);
    padding:24px 20px;
    box-shadow:var(--sh-md);
    text-align:center;
    margin-bottom:16px;
}
.qz-cta-btn {
    width:100%;
    height:52px;
    border-radius:12px;
    border:none;
    background:var(--brand);
    color:#fff;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    font-family:'Exo 2',sans-serif;
    box-shadow:0 6px 20px rgba(58,163,5,.3);
}
.qz-restart {
    display:block;
    margin:0 auto;
    background:none;
    border:none;
    color:var(--text4);
    font-size:12px;
    cursor:pointer;
    font-family:'Exo 2',sans-serif;
    text-decoration:underline;
}

/* ─── SLOTS ─── */
.slots-day { margin-bottom:16px; }
.slots-day-label {
    font-size:13px;
    font-weight:700;
    color:var(--text3);
    text-transform:uppercase;
    letter-spacing:0.5px;
    margin-bottom:8px;
}
.slots-grid { display:flex; flex-wrap:wrap; gap:8px; }
.slot-btn {
    padding:10px 16px;
    border-radius:8px;
    border:1.5px solid var(--border);
    background:#fff;
    font-family:'Exo 2',sans-serif;
    font-size:14px;
    font-weight:600;
    color:var(--text2);
    cursor:pointer;
    transition:all .15s;
}
.slot-btn:hover { border-color:var(--brand); background:var(--brand-light); color:var(--brand-dark); }
.slot-btn.sel { border-color:var(--brand); background:var(--brand); color:#fff; }
.slot-btn.gone { opacity:.35; pointer-events:none; text-decoration:line-through; }

/* ─── MODAL ─── */
.modal-overlay {
    display:none;
    position:fixed;
    inset:0;
    z-index:200;
    background:rgba(0,0,0,0.45);
    backdrop-filter:blur(6px);
    align-items:center;
    justify-content:center;
    padding:24px;
}
.modal-overlay.open { display:flex; }
.modal-box {
    background:#fff;
    border-radius:var(--rl);
    padding:32px;
    max-width:440px;
    width:100%;
    position:relative;
    box-shadow:var(--sh-xl);
}
.modal-close {
    position:absolute;
    top:14px;
    right:14px;
    width:32px;
    height:32px;
    border-radius:50%;
    background:var(--bg2);
    border:1px solid var(--border);
    font-size:14px;
    color:var(--text3);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .15s;
}
.modal-close:hover { background:var(--border); }

/* ─── DIVIDER ─── */
.div { height:1px; background:var(--border); }

/* ─── REVEAL ─── */
.rv {
    opacity:0;
    transform:translateY(22px);
    transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1);
}
.rv.on { opacity:1; transform:none; }
.rvr {
    opacity:0;
    transform:translateX(22px);
    transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1);
}
.rvr.on { opacity:1; transform:none; }
.stg > * {
    opacity:0;
    transform:translateY(16px);
    transition:opacity .52s cubic-bezier(.16,1,.3,1), transform .52s cubic-bezier(.16,1,.3,1);
}
.stg.on > *:nth-child(1) { opacity:1; transform:none; transition-delay:0s; }
.stg.on > *:nth-child(2) { opacity:1; transform:none; transition-delay:.06s; }
.stg.on > *:nth-child(3) { opacity:1; transform:none; transition-delay:.12s; }
.stg.on > *:nth-child(4) { opacity:1; transform:none; transition-delay:.18s; }
.stg.on > *:nth-child(5) { opacity:1; transform:none; transition-delay:.24s; }
.stg.on > *:nth-child(6) { opacity:1; transform:none; transition-delay:.30s; }
.stg.on > *:nth-child(7) { opacity:1; transform:none; transition-delay:.36s; }
.stg.on > *:nth-child(8) { opacity:1; transform:none; transition-delay:.42s; }

/* ─── REDUCED MOTION ─── */
@media (prefers-reduced-motion:reduce) {
    *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
    #cv { display:none; }
    .rv,.rvr,.stg > * { opacity:1; transform:none; }
}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px) {
    .wrap { padding:0 24px; }
    .nav-in { padding:0 24px; }
    .nav-links-row, .nav-badge, .nav-cta { display:none; }
    .nav-logo svg { height:38px; }
    .burger { display:flex; }
    .hero-in { padding:calc(var(--nav) + 48px) 24px 56px; }
    .hero-metrics { gap:24px; }
    .hero-divider { display:none; }
    .fears-grid, .lawyers-grid, .cases-grid { grid-template-columns:1fr 1fr; }
    .sym-grid { grid-template-columns:1fr; }
    .cmp-grid, .cost-grid { grid-template-columns:1fr; }
    .faq-layout { grid-template-columns:1fr; gap:28px; }
    .foot-grid { grid-template-columns:1fr 1fr; gap:28px; }
    .cta-band { padding:60px 24px; }
   /* footer { padding:40px 0 88px; }*/
    .sec { padding:64px 0; }
    .trust-bar-in { padding:0 24px; }
    .mid-cta-in { padding:0 24px; }
}

@media(max-width:640px) {
    .wrap { padding:0 16px; }
    .fears-grid, .rev-grid, .lawyers-grid, .cases-grid { grid-template-columns:1fr; }
    .foot-grid { grid-template-columns:1fr; gap:22px; }
    .hero-h1 { font-size:34px; letter-spacing:-1px; }
    .hero-desc { font-size:16px; }
    .hero-cta-btn { padding:16px 32px; font-size:16px; }
    .hero-metrics { flex-direction:row; flex-wrap:wrap; gap:0; }
    .hero-metric { width:50%; padding:12px 0; text-align:center; }
    .h2 { font-size:clamp(26px,7vw,44px); }
    .sec { padding:48px 0; }
    .quiz-embed { min-height:auto; }
    .trust-bar-in { padding:0 16px; gap:16px; }
    .trust-item { font-size:10px; }
    .mid-cta-in { flex-direction:column; text-align:center; padding:0 16px; }
    .nav-in { padding:0 16px; }
    .hero-in { padding:calc(var(--nav) + 48px) 16px 56px; }
}

/* ─── INPUT RANGE ─── */
footer {
    z-index: 2;
    position: relative;
}

/* ─── INPUT RANGE ─── */

input[type="range"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    outline: none;
    cursor: pointer;
    /* Начальный градиент через переменные */
    background: linear-gradient(to right,
    var(--brand) 0%,
    var(--brand) var(--progress, 0%),
    var(--border2) var(--progress, 0%),
    var(--border2) 100%);
}

/* WebKit трек */
input[type="range"]::-webkit-slider-runnable-track {
    height: 6px;
    /*background: var(--border2);*/
    border-radius: 3px;
}

/* Firefox трек */
input[type="range"]::-moz-range-track {
    height: 6px;
    /*background: var(--border2);*/
    border-radius: 3px;
}

/* Ползунок WebKit */
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    background:var(--brand); /* зеленый */
    border-radius: 50%;
    border:3px solid #fff;
    margin-top: -8px; /* (16-6)/2 */
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

/* Ползунок Firefox */
input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: var(--brand);
    border-radius: 50%;
    border:3px solid #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

/* Заполненная часть Firefox */
input[type="range"]::-moz-range-progress {
    height: 6px;
    /*background: var(--brand);*/
    border-radius: 2px;
}

/* Активное состояние */
input[type="range"]:active::-webkit-slider-thumb,
input[type="range"]:active::-moz-range-thumb {
    transform: scale(1.1);
}

/* Фокус */
input[type="range"]:focus-visible::-webkit-slider-thumb {
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.3);
}

/* Баннер для кук */
.cookie-banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #333;
    color: #fff;
    padding: 15px 25px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 15px;
    z-index: 2001;
    font-family: sans-serif;
}

.cookie-link {
    color: #28a745;
    text-decoration: underline;
    cursor: pointer;
}

.cookie-btn {
    background: #28a745;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: bold;
}

/* Оверлей (заблюренный фон) */
.cookie-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(8px); /* Тот самый блюр */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

/* Модальное окно с соглашением по кукам */
.wrp-modal-content {
    background: white;
    width: 90%;
    max-width: 600px;
    border-radius: 15px;
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.modal-content .mt-2 {
    margin-top: 0.5rem !important;
}
.modal-content .fsz-18 {
    font-size: 14px;
}
.modal-content ul {
    padding: 5px 18px;
}

.modal-content {
    max-height: 80vh;
    padding: 15px 30px;
    margin-bottom: 15px;
    line-height: 21px;
    overflow-y: auto;
}

.header-modal h5 {
    font-size: 1.25rem;
    font-weight: normal;
}

.header-modal {
    height: 57px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.modal-close-c {
    font-size: 30px;
    border: none;
    background: none;
    cursor: pointer;
    color: #28a745;
    position: relative;
    top: -7px;
}

.no-scroll {
    overflow: hidden;
}

@media (max-width: 430px) {
    .cookie-banner {
        max-width: 320px;
        margin-right: auto;
        margin-left: auto;
        right: 0;
        left: 0;
    }
}