/* Self-hosted Inter (cyrillic+latin) — быстро, без внешних запросов, безопасно для РФ */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/inter-400-cyr.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/inter-400-lat.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/inter-500-cyr.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/inter-500-lat.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/inter-600-cyr.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/inter-600-lat.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/inter-700-cyr.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/inter-700-lat.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/inter-800-cyr.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/inter-800-lat.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ============================================================
   МинДеп — дизайн-система обзорника казино с минимальным депозитом
   Нейтраль + emerald (доверие/проверено) + gold (бонус/выигрыш).
   Светлая тема по умолчанию, тёмная — по prefers-color-scheme.
   ============================================================ */

/* СВЕТЛАЯ МАРКЕТИНГОВАЯ ТЕМА ПО УМОЛЧАНИЮ — воздух, чистота, конверсия.
   Тёмная (нейтральный графит) — opt-in по prefers-color-scheme: dark. */
:root {
  --bg: #ffffff;
  --bg2: #f3f7fc;
  --surface: #ffffff;
  --surface-2: #f4f7fb;
  --surface-3: #e9f0f8;
  --ink: #141a26;
  --ink-2: #49525f;
  --muted: #828d9e;
  --line: #e7ecf3;
  --line-2: #d6dee8;

  --primary: #2f6fe0;
  --primary-700: #2259c4;
  --primary-ink: #ffffff;
  --primary-soft: #eaf1fd;

  --gold: #e3990f;
  --gold-soft: #fcf2da;
  --danger: #e2493f;
  --danger-soft: #fdeceb;

  --shadow-sm: 0 1px 2px rgba(20,30,50,.05), 0 1px 3px rgba(20,30,50,.07);
  --shadow-md: 0 6px 20px rgba(20,30,50,.08);
  --shadow-lg: 0 20px 48px rgba(20,30,50,.12);

  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 20px;
  --wrap: 1180px;
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-head: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --cta: #16a34a; --cta-700: #12833c;
  --grad-main: linear-gradient(135deg,#2f6fe0 0%,#5b8def 100%);
  --grad-cta:  linear-gradient(135deg,#1aa857,#15b35f);
  --grad-gold: linear-gradient(135deg,#ffcf5c,#e3990f);
  --grad-hero: radial-gradient(1100px 560px at 88% -14%, rgba(47,111,224,.09), transparent 58%),
               radial-gradient(720px 420px at 0% 2%, rgba(22,163,74,.06), transparent 56%);

  --c-emerald:#15a06a; --c-emerald-bg:rgba(21,160,106,.11);
  --c-gold:#e3990f;    --c-gold-bg:rgba(227,153,15,.13);
  --c-blue:#2f6fe0;    --c-blue-bg:rgba(47,111,224,.11);
  --c-violet:#6a5bf0;  --c-violet-bg:rgba(106,91,240,.11);
  --c-rose:#e24a74;    --c-rose-bg:rgba(226,74,116,.10);
  --c-cyan:#0e93aa;    --c-cyan-bg:rgba(14,147,170,.11);
  --c-gray:#6b7686;    --c-gray-bg:rgba(107,118,134,.10);
  --ok:#15a06a; --ok-bg:rgba(21,160,106,.11);
  --warn:#e3990f; --warn-bg:rgba(227,153,15,.13);
  --glow: 0 0 0 transparent;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg:#13161c; --bg2:#171b22; --surface:#1c212b; --surface-2:#232935; --surface-3:#2f3643;
    --ink:#eef1f6; --ink-2:#acb5c2; --muted:#7d8795; --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.15);
    --primary:#4f8cff; --primary-700:#3d7af0; --primary-ink:#fff; --primary-soft:rgba(79,140,255,.14);
    --gold:#f3b53f; --gold-soft:rgba(243,181,63,.13); --danger:#f06a62; --danger-soft:rgba(240,106,98,.11);
    --shadow-sm:0 1px 2px rgba(0,0,0,.35); --shadow-md:0 8px 24px rgba(0,0,0,.4); --shadow-lg:0 20px 52px rgba(0,0,0,.5);
    --cta:#19a65a; --cta-700:#15934f;
    --grad-cta: linear-gradient(135deg,#17a657,#17b863);
    --grad-hero: radial-gradient(1100px 520px at 88% -12%, rgba(79,140,255,.12), transparent 60%),
                 radial-gradient(720px 420px at 0% 2%, rgba(25,166,90,.07), transparent 58%);
    --c-emerald:#2fcf92;--c-emerald-bg:rgba(47,207,146,.13);
    --c-gold:#f3b53f;--c-gold-bg:rgba(243,181,63,.13);
    --c-blue:#4f8cff;--c-blue-bg:rgba(79,140,255,.13);
    --c-violet:#8f82f4;--c-violet-bg:rgba(143,130,244,.13);
    --c-rose:#f26d94;--c-rose-bg:rgba(242,109,148,.12);
    --c-cyan:#2bbccf;--c-cyan-bg:rgba(43,188,207,.13);
    --c-gray:#8591a0;--c-gray-bg:rgba(133,145,160,.11);
    --ok:#2fcf92;--ok-bg:rgba(47,207,146,.13);
    --warn:#f3b53f;--warn-bg:rgba(243,181,63,.13);
    --glow:0 0 0 transparent;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
/* Любой якорный элемент не прячется под липкой шапкой при переходе по #id */
[id] { scroll-margin-top: 84px; }
body {
  margin: 0;
  font-family: var(--font);
  background:
    radial-gradient(1100px 640px at 90% -300px, rgba(47,111,224,.05), transparent 58%),
    var(--bg);
  background-attachment: fixed;
  color: var(--ink);
  line-height: 1.6;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { line-height: 1.18; color: var(--ink); font-family: var(--font-head); font-weight: 800; letter-spacing: -.02em; }
.hero h1 { background: var(--grad-main); -webkit-background-clip: text; background-clip: text; color: transparent; }
h2 .accent, .grad-text { background: var(--grad-main); -webkit-background-clip: text; background-clip: text; color: transparent; }
h1 { font-size: clamp(2.2rem, 5vw, 3.9rem); margin: 0 0 .35em; line-height: 1.05; }
h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); margin: 1.6em 0 .6em; }
h3 { font-size: 1.22rem; margin: 1.3em 0 .4em; }
p { margin: 0 0 1em; }
.wrap { max-width: var(--wrap); margin-inline: auto; padding-inline: 20px; }

.skip-link {
  position: absolute; left: -999px; top: 0; z-index: 100;
  background: var(--primary); color: #fff; padding: 10px 16px; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; }

/* ---------- Кнопки ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  font-weight: 700; font-size: 1rem; padding: 13px 22px; border-radius: 999px;
  border: 1px solid transparent; cursor: pointer; transition: transform .12s ease, box-shadow .2s ease, background .2s;
  text-decoration: none; white-space: nowrap; line-height: 1;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn--primary { background: var(--grad-main); color: #04120c; box-shadow: 0 8px 22px rgba(25,208,143,.32), var(--glow); }
.btn--primary:hover { color: #04120c; filter: brightness(1.06); }
.btn--gold { background: var(--grad-gold); color: #2a1e04; box-shadow: 0 8px 22px rgba(255,157,46,.3); }
.btn--gold:hover { filter: brightness(1.05); color: #2a1e04; }
.btn--ghost { background: transparent; border-color: var(--line-2); color: var(--ink); }
.btn--ghost:hover { background: var(--surface-2); color: var(--ink); }
.btn--sm { padding: 9px 16px; font-size: .9rem; }

/* ---------- Шапка ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--surface) 86%, transparent);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-header__inner { display: flex; align-items: center; gap: 20px; min-height: 68px; }
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.logo__mark {
  width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--primary), var(--primary-700)); color: #fff;
  font-weight: 900; font-size: 1.25rem; box-shadow: var(--shadow-sm);
}
.logo__text { display: flex; flex-direction: column; line-height: 1.05; }
.logo__text b { color: var(--ink); font-size: 1.12rem; font-weight: 900; letter-spacing: -.02em; }
.logo__text i { color: var(--muted); font-style: normal; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }

.nav { margin-left: auto; }
.nav__list { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; align-items: center; }
.nav__item > a, .nav__btn {
  display: inline-flex; align-items: center; gap: 5px; padding: 9px 13px; border-radius: 10px;
  color: var(--ink-2); font-weight: 600; font-size: .96rem; background: none; border: none; cursor: pointer;
  font-family: inherit; text-decoration: none;
}
.nav__item > a:hover, .nav__btn:hover { background: var(--surface-2); color: var(--ink); text-decoration: none; }
.nav__item.is-active > a, .nav__item.is-active > .nav__btn { color: var(--primary-700); }
.nav__caret { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .6; }
.nav__item--has-sub { position: relative; }
.nav__sub {
  position: absolute; top: calc(100% + 6px); left: 0; min-width: 240px; list-style: none; margin: 0; padding: 8px;
  background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-lg);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: .16s ease; z-index: 20;
}
.nav__item--has-sub:hover .nav__sub, .nav__sub.open { opacity: 1; visibility: visible; transform: translateY(0); }
.nav__sub a { display: block; padding: 9px 12px; border-radius: 9px; color: var(--ink-2); font-size: .95rem; }
.nav__sub a:hover { background: var(--primary-soft); color: var(--primary-700); text-decoration: none; }
.nav__sub a[aria-current] { color: var(--primary-700); font-weight: 700; }

.burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; margin-left: auto; }
.burger span { width: 24px; height: 2px; background: var(--ink); border-radius: 2px; transition: .2s; }

/* ---------- Хлебные крошки ---------- */
.breadcrumbs { border-bottom: 1px solid var(--line); background: var(--surface); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 11px 0; font-size: .85rem; color: var(--muted); }
.breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: 6px; opacity: .6; }
.breadcrumbs a { color: var(--muted); }
.breadcrumbs a:hover { color: var(--primary-700); }
.breadcrumbs [aria-current] { color: var(--ink-2); }

/* ---------- Hero ---------- */
.hero { background: var(--grad-hero); border-bottom: 1px solid var(--line); position: relative; overflow: hidden; }
.hero__inner { display: grid; grid-template-columns: 1.4fr .9fr; gap: 40px; align-items: center; padding: 72px 20px 64px; }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 700; color: var(--primary-700); margin: 0 0 12px; }
.hero .lead { font-size: 1.16rem; color: var(--ink-2); max-width: 54ch; }
.hero__cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 24px; }
.hero__cta-note { color: var(--muted); font-size: .9rem; }
.hero__stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hero__stats li { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow-sm); }
.hero__stats b { display: block; font-size: 1.7rem; font-weight: 900; color: var(--ink); letter-spacing: -.02em; }
.hero__stats span { color: var(--muted); font-size: .88rem; }

/* ---------- Trust strip ---------- */
.trust-strip { background: var(--surface); border-bottom: 1px solid var(--line); }
.trust-strip__inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding: 18px 20px; }
.trust-strip__item { display: flex; align-items: center; gap: 12px; color: var(--ink-2); font-size: .93rem; }
.trust-strip__item b { color: var(--ink); }
.ti-ico { width: 36px; height: 36px; flex: none; border-radius: 10px; display: grid; place-items: center; background: var(--primary-soft); color: var(--primary-700); font-weight: 800; }

/* ---------- Секции ---------- */
/* Единый вертикальный ритм: симметричные поля; две подряд идущие секции
   делят один зазор (не удваивают), поэтому расстояния всегда одинаковые. */
.section { padding: 40px 0; }
.section + .section { padding-top: 0; }
.section--tight { padding-top: 0; }
.section--tint { background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 5%, transparent), transparent 70%); border-block: 1px solid var(--line); }
.lead-block { font-size: 1.08rem; color: var(--ink-2); max-width: none; }
/* Текст заполняет контейнер по ширине (без узкой колонки и пустот справа).
   Но если .prose стоит на том же элементе, что и .wrap (как на споках),
   контейнер всё равно ограничиваем шириной страницы — иначе текст расползается на весь экран. */
.prose { max-width: none; }
.wrap.prose { max-width: var(--wrap); }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li { margin-bottom: .4em; }
.prose h2 { scroll-margin-top: 84px; }
.prose a { font-weight: 600; }

/* ---------- Чипы-фильтры ---------- */
.chips { display: flex; flex-wrap: wrap; gap: 9px; margin: 18px 0; }
.chip {
  display: inline-flex; align-items: center; padding: 8px 15px; border-radius: 999px;
  background: var(--surface); border: 1px solid var(--line-2); color: var(--ink-2);
  font-size: .9rem; font-weight: 600; transition: .15s;
}
.chip:hover { border-color: var(--primary); color: var(--primary-700); background: var(--primary-soft); text-decoration: none; }

/* ---------- Лестница сумм ---------- */
.ladder { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 18px 0; padding: 14px 16px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius); }
.ladder__label { font-weight: 700; font-size: .85rem; color: var(--muted); }
.ladder ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ladder a, .ladder__cur { display: inline-flex; padding: 6px 12px; border-radius: 999px; font-size: .88rem; font-weight: 700; }
.ladder a { background: var(--surface); border: 1px solid var(--line-2); color: var(--ink-2); }
.ladder a:hover { border-color: var(--primary); color: var(--primary-700); background: var(--primary-soft); text-decoration: none; }
.ladder__cur { background: var(--primary); color: #fff; }

/* ---------- Звёзды / оценки ---------- */
.stars { display: inline-flex; gap: 2px; vertical-align: middle; }
.star { width: 15px; height: 15px; background: var(--line-2); -webkit-mask: var(--star-mask) center/contain no-repeat; mask: var(--star-mask) center/contain no-repeat; position: relative; }
.star::after { content: ""; position: absolute; inset: 0; width: var(--fill); background: var(--gold); }
:root { --star-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.3 6.9.7-5.1 4.6 1.4 6.8L12 17.8 5.9 20.4l1.4-6.8L2.2 9l6.9-.7z'/%3E%3C/svg%3E"); }
.score { font-weight: 900; color: var(--primary-700); font-size: 1.05rem; }
.score--inline { font-size: .9rem; color: var(--muted); font-weight: 700; }

/* ---------- Рейтинг-таблица ---------- */
.rating-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); background: var(--surface); }
.rating-table { width: 100%; border-collapse: collapse; min-width: 820px; }
.rating-table thead th { text-align: left; font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 700; padding: 14px 14px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.rating-table td { padding: 16px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; font-size: .95rem; }
.rt-row:last-child td { border-bottom: none; }
.rt-row:hover { background: var(--surface-2); }
.rank { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--surface-3); font-weight: 800; color: var(--ink-2); }
.rank--top { background: var(--gold-soft); color: var(--gold); }
.rt-brand { display: flex; align-items: center; gap: 11px; }
.rt-logo { width: 42px; height: 42px; flex: none; border-radius: 11px; display: grid; place-items: center; font-weight: 900; font-size: 1.2rem; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-700)); }
.rt-logo--lg { width: 54px; height: 54px; border-radius: 14px; font-size: 1.5rem; }
.rt-brand__name b { display: block; font-size: 1rem; }
.rt-brand__name i { font-style: normal; color: var(--muted); font-size: .8rem; }
.rt-dep b { color: var(--primary-700); font-size: 1.05rem; }
.rt-bonus span { display: block; font-weight: 600; }
.rt-bonus i { font-style: normal; color: var(--muted); font-size: .8rem; }
.rt-score { white-space: nowrap; }
.rt-score .score { display: inline-block; margin-right: 6px; }
.rt-cta { text-align: right; white-space: nowrap; }
.rt-more { display: block; font-size: .78rem; margin-top: 6px; color: var(--muted); }

/* ---------- Карточки-обзоры ---------- */
.review-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; margin: 20px 0; box-shadow: var(--shadow-sm); scroll-margin-top: 84px; }
.review-card__head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.review-card__title { flex: 1 1 260px; }
.review-card__title h3 { margin: 0 0 6px; }
.lat { color: var(--muted); font-weight: 600; font-size: .9em; }
.review-card__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tag { font-size: .76rem; padding: 3px 9px; border-radius: 999px; background: var(--surface-2); color: var(--muted); font-weight: 600; }
.review-card__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 22px; margin-top: 20px; }
.specs { margin: 0; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.specs > div { display: flex; justify-content: space-between; gap: 14px; padding: 10px 14px; background: var(--surface); font-size: .9rem; }
.specs dt { color: var(--muted); margin: 0; }
.specs dd { margin: 0; text-align: right; color: var(--ink-2); font-weight: 600; }
.specs dd i { font-style: normal; color: var(--muted); font-weight: 400; }
.proscons { display: grid; gap: 14px; }
.proscons ul { list-style: none; margin: 0; padding: 14px 16px; border-radius: var(--radius); font-size: .92rem; }
.proscons .pros { background: var(--primary-soft); }
.proscons .cons { background: var(--danger-soft); }
.proscons li { padding-left: 24px; position: relative; margin-bottom: 6px; }
.proscons li:last-child { margin-bottom: 0; }
.proscons__h { font-weight: 800 !important; padding-left: 0 !important; margin-bottom: 8px !important; color: var(--ink); }
.pros li:not(.proscons__h)::before { content: "✓"; position: absolute; left: 0; color: var(--primary-700); font-weight: 900; }
.cons li:not(.proscons__h)::before { content: "−"; position: absolute; left: 2px; color: var(--danger); font-weight: 900; }
.review-card__verdict { margin: 18px 0 0; padding: 14px 16px; background: var(--surface-2); border-left: 3px solid var(--gold); border-radius: 0 10px 10px 0; font-size: .95rem; }

/* ---------- Шаги ---------- */
.steps { counter-reset: s; list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 14px; }
.step { counter-increment: s; display: flex; gap: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; }
.step::before { content: counter(s); flex: none; width: 36px; height: 36px; border-radius: 10px; background: var(--primary); color: #fff; font-weight: 900; display: grid; place-items: center; }
.step__body b { display: block; margin-bottom: 2px; }
.step__body p { margin: 0; color: var(--ink-2); font-size: .95rem; }

/* ---------- FAQ ---------- */
.faq__list { display: grid; gap: 10px; }
.faq__item { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.faq__item summary { cursor: pointer; padding: 16px 48px 16px 18px; font-weight: 700; position: relative; list-style: none; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--primary-700); font-weight: 400; transition: transform .2s; }
.faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq__answer { padding: 0 18px 16px; color: var(--ink-2); }
.faq__answer p { margin: 0; }

/* ---------- Калькулятор ---------- */
.calc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px; box-shadow: var(--shadow-sm); }
.calc__lead { color: var(--ink-2); }
.calc__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 18px 0; }
.calc__field { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: .9rem; color: var(--muted); }
.calc__field input { font-size: 1.1rem; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg); color: var(--ink); font-family: inherit; }
.calc__field input:focus { outline: 2px solid var(--primary); border-color: var(--primary); }
.calc__result { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.calc__out { background: var(--surface-2); border-radius: var(--radius); padding: 16px; text-align: center; }
.calc__out span { display: block; color: var(--muted); font-size: .82rem; margin-bottom: 4px; }
.calc__out b { font-size: 1.5rem; font-weight: 900; color: var(--primary-700); }
.calc__out:last-child b { color: var(--gold); }
.calc__note { color: var(--muted); font-size: .88rem; margin: 16px 0 0; }

/* ---------- CTA band ---------- */
.cta-band { margin: 40px 0; }
.cta-band__inner { max-width: var(--wrap); margin-inline: auto; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; background: linear-gradient(120deg, var(--primary-700), var(--primary)); color: #fff; padding: 30px 34px; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.cta-band__inner h2 { color: #fff; margin: 0 0 4px; }
.cta-band__inner p { margin: 0; opacity: .9; }

/* ---------- Callout ---------- */
.callout { border-radius: var(--radius); padding: 16px 18px 16px 50px; position: relative; margin: 18px 0; font-size: .96rem; }
.callout > b { display: block; margin-bottom: 2px; }
.callout p { margin: 0; color: var(--ink-2); }
.callout::before { position: absolute; left: 16px; top: 16px; font-size: 1.2rem; }
.callout--info { background: var(--primary-soft); } .callout--info::before { content: "ℹ"; color: var(--primary-700); }
.callout--warn { background: var(--gold-soft); } .callout--warn::before { content: "⚠"; color: var(--gold); }
.callout--danger { background: var(--danger-soft); } .callout--danger::before { content: "⛔"; }

/* ---------- Related ---------- */
.related__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.related__card { position: relative; display: block; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; transition: .15s; }
.related__card:hover { border-color: var(--primary); transform: translateY(-2px); box-shadow: var(--shadow-md); text-decoration: none; }
.related__card b { display: block; color: var(--ink); margin-bottom: 4px; }
.related__card span { color: var(--muted); font-size: .88rem; }
.related__arrow { position: absolute; right: 16px; top: 18px; color: var(--primary-700); font-style: normal; transition: transform .15s; }
.related__card:hover .related__arrow { transform: translateX(4px); }

/* ---------- Author box ---------- */
.author-box { display: flex; gap: 16px; align-items: flex-start; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; margin: 24px 0; }
.author-box__avatar { width: 48px; height: 48px; flex: none; border-radius: 50%; background: linear-gradient(135deg, var(--gold), #c98a06); color: #241c06; font-weight: 900; display: grid; place-items: center; }
.author-box__name { margin: 0 0 4px; font-weight: 800; }
.author-box__name span { color: var(--muted); font-weight: 600; }
.author-box__bio { margin: 0 0 6px; color: var(--ink-2); font-size: .92rem; }
.author-box__meta { margin: 0; color: var(--muted); font-size: .82rem; }

/* ---------- Таблицы в контенте ---------- */
.data-table-wrap { overflow-x: auto; margin: 18px 0; border: 1px solid var(--line); border-radius: var(--radius); }
.data-table { width: 100%; border-collapse: collapse; min-width: 520px; }
.data-table th, .data-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); font-size: .93rem; }
.data-table th { background: var(--surface-2); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.data-table tr:last-child td { border-bottom: none; }
.data-table tbody tr:hover { background: var(--surface-2); }

/* ---------- Age badge ---------- */
.age-badge { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; border: 2px solid var(--danger); color: var(--danger); font-weight: 900; font-size: .8rem; }

/* ---------- Подвал ---------- */
.site-footer { background: var(--surface); border-top: 1px solid var(--line); margin-top: 50px; padding: 44px 0 26px; }
.footer__grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 28px; }
.footer__about p { color: var(--muted); font-size: .9rem; max-width: 42ch; }
.footer__age { display: flex; align-items: center; gap: 10px; }
.footer__title { font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin: 0 0 12px; }
.footer__col ul { list-style: none; margin: 0; padding: 0; }
.footer__col li { margin-bottom: 8px; }
.footer__col a { color: var(--ink-2); font-size: .92rem; }
.footer__col a:hover { color: var(--primary-700); }
.footer__bottom { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.footer__bottom p { margin: 0 0 4px; }
.logo--footer .logo__mark { width: 32px; height: 32px; font-size: 1.1rem; }

/* ---------- Отзывы ---------- */
.reviews__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; margin-top: 18px; }
.rv { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 10px; }
.rv__head { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "ava who" "ava stars"; gap: 2px 12px; align-items: center; }
.rv__ava { grid-area: ava; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-700)); }
.rv__who { grid-area: who; display: flex; flex-direction: column; line-height: 1.2; }
.rv__who b { font-size: .98rem; }
.rv__who i { font-style: normal; color: var(--muted); font-size: .8rem; }
.rv-stars { grid-area: stars; letter-spacing: 1px; font-size: .9rem; }
.rv-star { color: var(--line-2); }
.rv-star.on { color: var(--gold); }
.rv__text { margin: 0; color: var(--ink-2); font-size: .94rem; }
.rv__tag { align-self: flex-start; font-size: .76rem; font-weight: 700; color: var(--primary-700); background: var(--primary-soft); padding: 4px 10px; border-radius: 999px; }

/* ---------- Сценарии ---------- */
.scenarios__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-top: 18px; }
.scn { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow-sm); }
.scn__ico { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--surface-2); font-size: 1.4rem; margin-bottom: 10px; }
.scn h3 { margin: 0 0 6px; font-size: 1.08rem; }
.scn p { margin: 0 0 12px; color: var(--ink-2); font-size: .92rem; }
.scn__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.scn__tags span { font-size: .74rem; font-weight: 600; color: var(--muted); background: var(--surface-2); padding: 3px 9px; border-radius: 999px; }

/* ---------- TOC ---------- */
.toc { background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 22px; margin: 22px 0; }
.toc b { display: block; margin-bottom: 8px; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.toc ol { margin: 0; padding-left: 1.3em; columns: 2; column-gap: 30px; }
.toc li { margin-bottom: 5px; }

/* ---------- Адаптив ---------- */
@media (max-width: 920px) {
  .hero__inner { grid-template-columns: 1fr; gap: 28px; padding: 40px 20px; }
  .trust-strip__inner { grid-template-columns: 1fr 1fr; }
  .review-card__grid { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__about { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  .nav { display: none; position: fixed; inset: 68px 0 auto 0; background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-lg); margin: 0; max-height: calc(100vh - 68px); overflow-y: auto; }
  .nav.open { display: block; }
  .nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: 10px; }
  .nav__item > a, .nav__btn { width: 100%; justify-content: space-between; padding: 13px 14px; }
  .nav__sub { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; display: none; padding: 0 0 6px 14px; min-width: 0; }
  .nav__sub.open { display: block; }
  .burger { display: flex; }
  .toc ol { columns: 1; }

  /* Рейтинг-таблица → карточки */
  .rating-table-wrap { overflow: visible; border: none; box-shadow: none; background: none; }
  .rating-table { min-width: 0; }
  .rating-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .rating-table, .rating-table tbody, .rt-row, .rating-table td { display: block; width: 100%; }
  .rt-row { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 14px; padding: 16px; box-shadow: var(--shadow-sm); position: relative; }
  .rating-table td { border: none !important; padding: 6px 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .rating-table td::before { content: attr(data-label); color: var(--muted); font-size: .82rem; font-weight: 600; }
  .rt-brand { padding-top: 0 !important; justify-content: flex-start; padding-right: 44px; }
  .rt-brand::before { display: none; }
  .rt-rank { position: absolute; top: 16px; right: 16px; padding: 0 !important; }
  .rt-rank::before { display: none; }
  .rt-cta { flex-direction: column; align-items: stretch; }
  .rt-cta .btn { width: 100%; }
  .rt-cta::before { display: none; }
  .calc__grid, .calc__result { grid-template-columns: 1fr; }
  .cta-band__inner { flex-direction: column; align-items: flex-start; text-align: left; }
}

/* ============================================================
   БОГАТЫЕ КОМПОНЕНТЫ (плотный лендинг) — адаптация топ-референса
   ============================================================ */
/* Пилюля-надзаголовок секции */
.eyebrow-pill { display: inline-flex; align-items: center; gap: 7px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--primary-700); background: var(--primary-soft); border: 1px solid color-mix(in srgb, var(--primary) 30%, transparent); padding: 5px 12px; border-radius: 999px; margin-bottom: 14px; }
.section-lead { font-size: 1.08rem; color: var(--ink-2); max-width: none; }

/* Цветные чипы-ключи */
.kchip { display: inline-flex; align-items: center; gap: 5px; font-size: .8rem; font-weight: 700; padding: 5px 11px; border-radius: 999px; border: 1px solid transparent; white-space: nowrap; }
.kchip--emerald { color: var(--c-emerald); background: var(--c-emerald-bg); border-color: color-mix(in srgb, var(--c-emerald) 28%, transparent); }
.kchip--gold { color: var(--c-gold); background: var(--c-gold-bg); border-color: color-mix(in srgb, var(--c-gold) 30%, transparent); }
.kchip--blue { color: var(--c-blue); background: var(--c-blue-bg); border-color: color-mix(in srgb, var(--c-blue) 28%, transparent); }
.kchip--violet { color: var(--c-violet); background: var(--c-violet-bg); border-color: color-mix(in srgb, var(--c-violet) 28%, transparent); }
.kchip--rose { color: var(--c-rose); background: var(--c-rose-bg); border-color: color-mix(in srgb, var(--c-rose) 28%, transparent); }
.kchip--cyan { color: var(--c-cyan); background: var(--c-cyan-bg); border-color: color-mix(in srgb, var(--c-cyan) 28%, transparent); }
.kchip--gray { color: var(--c-gray); background: var(--c-gray-bg); border-color: color-mix(in srgb, var(--c-gray) 26%, transparent); }

/* HERO: насыщенный, со статус-виджетом */
.hero--rich .hero__inner { grid-template-columns: 1.15fr .85fr; align-items: center; gap: 48px; }
.hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 4px; }
.hero__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; color: var(--muted); font-size: .88rem; }
.hero__meta b { color: var(--ink); }
/* Виджет-мокап кассы */
.mock { background: color-mix(in srgb, var(--surface) 80%, transparent); backdrop-filter: blur(10px); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 18px; box-shadow: var(--shadow-lg), var(--glow); }
.mock__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.mock__brand { display: flex; align-items: center; gap: 10px; font-weight: 800; }
.mock__dot { width: 38px; height: 38px; border-radius: 10px; background: linear-gradient(135deg, var(--primary), var(--primary-700)); display: grid; place-items: center; color: #fff; font-weight: 900; }
.mock__live { font-size: .72rem; font-weight: 800; color: var(--c-emerald); background: var(--c-emerald-bg); padding: 4px 9px; border-radius: 999px; display: inline-flex; gap: 6px; align-items: center; }
.mock__live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c-emerald); box-shadow: 0 0 0 0 color-mix(in srgb, var(--c-emerald) 60%, transparent); animation: pulse 2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--c-emerald) 55%, transparent); } 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.mock__rows { display: grid; gap: 8px; }
.mock__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--surface-2); border-radius: 10px; padding: 10px 13px; font-size: .88rem; }
.mock__row span { color: var(--ink-2); }
.mock__row b { color: var(--ink); white-space: nowrap; }
.mock__ok { color: var(--ok) !important; font-weight: 700; }
.mock__grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.mock__stat { background: var(--surface-2); border-radius: 10px; padding: 10px 12px; }
.mock__stat i { font-style: normal; display: block; color: var(--muted); font-size: .72rem; }
.mock__stat b { font-size: 1.05rem; }

/* Бенефит-карточки (зачем/что даёт) */
.benefits__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 20px; }
.bf { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; }
.bf__ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; background: var(--surface-2); margin-bottom: 12px; }
.bf h3 { margin: 0 0 8px; font-size: 1.08rem; }
.bf p { margin: 0 0 14px; color: var(--ink-2); font-size: .92rem; flex: 1; }
.bf__res { align-self: flex-start; font-size: .78rem; font-weight: 700; color: var(--ok); background: var(--ok-bg); padding: 6px 12px; border-radius: 999px; display: inline-flex; gap: 6px; }
.bf__res::before { content: "✓"; }

/* Быстрый выбор (мини-карточки с бейджами) */
.quickpick__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 20px; }
.qp { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 10px; }
.qp__badge { align-self: flex-start; font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }
.qp__name { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 1.15rem; }
.qp__logo { width: 34px; height: 34px; border-radius: 9px; background: linear-gradient(135deg, var(--primary), var(--primary-700)); color: #fff; display: grid; place-items: center; font-weight: 900; }
.qp__spec { color: var(--muted); font-size: .82rem; }
.qp__desc { color: var(--ink-2); font-size: .9rem; margin: 0; flex: 1; }

/* Богатая продукт-карточка казино */
.pcard { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px; margin: 16px 0; box-shadow: var(--shadow-sm); scroll-margin-top: 84px; }
.pcard.is-featured { border-color: color-mix(in srgb, var(--primary) 45%, var(--line)); box-shadow: var(--shadow-md), var(--glow); }
.pcard__head { display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 14px; }
.pcard__rank { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; font-weight: 900; font-size: .95rem; background: var(--surface-3); color: var(--ink-2); }
.pcard__rank.is-top { background: linear-gradient(135deg, var(--gold), #c98a06); color: #241c06; }
.pcard__logo { width: 50px; height: 50px; border-radius: 13px; display: grid; place-items: center; font-weight: 900; font-size: 1.4rem; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-700)); }
.pcard__tw h3 { margin: 0 0 3px; font-size: 1.2rem; }
.pcard__tw h3 .lat { color: var(--muted); font-weight: 600; font-size: .85em; }
.pcard__tagline { color: var(--ink-2); font-size: .88rem; line-height: 1.45; }
.pcard__verdict { justify-self: end; align-self: start; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--gold); background: var(--gold-soft); padding: 5px 11px; border-radius: 999px; white-space: nowrap; }
.pcard__chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0; }
.pcard__summary { color: var(--ink-2); font-size: .95rem; margin: 0 0 16px; }
.ptest { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-bottom: 16px; }
.ptest__h { background: var(--surface-2); padding: 9px 14px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.ptest__row { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding: 10px 14px; border-top: 1px solid var(--line); font-size: .88rem; align-items: center; }
.ptest__dev { color: var(--ink-2); }
.ptest__res { font-weight: 700; white-space: nowrap; }
.ptest__res.ok { color: var(--ok); }
.ptest__res.warn { color: var(--warn); }
.pcard__foot { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.pcard__extra { margin-top: 14px; border-top: 1px dashed var(--line); padding-top: 12px; }
.pcard__extra summary { cursor: pointer; font-weight: 700; color: var(--primary-700); font-size: .9rem; list-style: none; }
.pcard__extra summary::-webkit-details-marker { display: none; }
.pcard__extra summary::before { content: "＋ "; }
.pcard__extra[open] summary::before { content: "－ "; }
.pcard__extra .prose { margin-top: 10px; }

/* Троблшут-карточки (причина→решение) */
.trouble__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px; }
.trb { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; position: relative; }
.trb__num { font-size: .8rem; font-weight: 900; color: var(--primary-700); background: var(--primary-soft); width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; margin-bottom: 10px; }
.trb__q { font-weight: 800; margin: 0 0 8px; font-size: 1rem; }
.trb__cause, .trb__fix { margin: 0 0 6px; font-size: .9rem; color: var(--ink-2); }
.trb__cause b { color: var(--c-rose); } .trb__fix b { color: var(--ok); }

/* Таблица-сравнение */
.compare-table td .st-ok { color: var(--ok); font-weight: 700; }
.compare-table td .st-warn { color: var(--warn); font-weight: 700; }
.compare-table td .st-no { color: var(--c-rose); font-weight: 700; }
.compare-table tr.is-best { background: var(--primary-soft); }

/* Полоса «в цифрах» */
.statband { border-block: 1px solid var(--line); background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 6%, transparent), transparent); }
.statband__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; padding: 26px 20px; text-align: center; }
.stat b { display: block; font-family: var(--font-head); font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 800; letter-spacing: -.02em; }
.stat span { color: var(--muted); font-size: .84rem; }

/* Карточки-термины */
.concept__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 18px; }
.cc { background: color-mix(in srgb, var(--surface) 80%, transparent); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; }
.cc__ico { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; font-size: 1.2rem; background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 20%, transparent), color-mix(in srgb, var(--c-violet) 16%, transparent)); border: 1px solid var(--line); margin-bottom: 10px; }
.cc h3 { margin: 0 0 6px; font-size: 1.02rem; }
.cc p { margin: 0 0 10px; color: var(--ink-2); font-size: .88rem; }
.cc__k { font-size: .74rem; font-weight: 700; color: var(--c-cyan); background: var(--c-cyan-bg); padding: 4px 10px; border-radius: 999px; }

/* Премиум-полировка: стекло + свечение.
   ВАЖНО: таблицы НЕ стеклянные — backdrop-filter на скроллируемом контейнере
   даёт артефакты в углах. Таблицам оставляем сплошной фон. */
.pcard, .bf, .qp, .rv, .scn, .trb, .mock, .author-box, .calc, .toc, .related__card, .hero__stats li, .ladder {
  background: color-mix(in srgb, var(--surface) 80%, transparent);
  -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px);
}
.rating-table-wrap, .data-table-wrap { background: var(--surface); -webkit-backdrop-filter: none; backdrop-filter: none; }
.pcard.is-featured { box-shadow: var(--shadow-lg), var(--glow); border-color: color-mix(in srgb, var(--primary) 55%, var(--line)); }
.bf:hover, .qp:hover, .scn:hover, .trb:hover { border-color: color-mix(in srgb, var(--primary) 40%, var(--line)); transform: translateY(-2px); box-shadow: var(--shadow-md); transition: .18s; }
.bf__ico, .scn__ico { background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 22%, transparent), color-mix(in srgb, var(--c-blue) 18%, transparent)); border: 1px solid var(--line); }
.cta-band__inner { background: linear-gradient(120deg, #2259c4 0%, #2f6fe0 55%, #1aa857 100%); box-shadow: var(--shadow-md); }
.btn--ghost { border-color: var(--line-2); color: var(--ink); background: color-mix(in srgb, var(--surface) 55%, transparent); }
.site-header { background: color-mix(in srgb, var(--bg) 78%, transparent); }
.eyebrow-pill { box-shadow: 0 0 24px color-mix(in srgb, var(--primary) 22%, transparent); }
/* чуть ярче ранг-бейдж топ-3 */
.pcard__rank.is-top, .rank--top { box-shadow: 0 4px 14px rgba(255,196,77,.35); }

/* Адаптив богатых компонентов */
@media (max-width: 920px) {
  .benefits__grid, .quickpick__grid, .concept__grid { grid-template-columns: 1fr 1fr; }
  .statband__grid { grid-template-columns: repeat(3, 1fr); }
  .hero--rich .hero__inner { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .benefits__grid, .quickpick__grid, .trouble__grid, .mock__grid2, .concept__grid { grid-template-columns: 1fr; }
  .statband__grid { grid-template-columns: 1fr 1fr; }
  .pcard__head { grid-template-columns: auto 1fr; grid-template-areas: "rank title" "logo title"; row-gap: 8px; }
  .pcard__rank { grid-area: rank; } .pcard__logo { grid-area: logo; } .pcard__tw { grid-area: title; }
  .pcard__verdict { display: none; }
  .ptest__row { grid-template-columns: 1fr; gap: 4px; }
}

/* ---------- Доступность ---------- */
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto; } }

/* ============================================================
   РЕДИЗАЙН v2 — отличимый визуальный язык (не перекрас базы).
   Плоские поверхности + левый градиент-акцент, острая геометрия,
   градиентная шапка таблицы, крупные неоновые ранги, солидный H1.
   ============================================================ */

/* Верхняя неоновая полоса + плоская шапка (без стекла) */
.site-header { background: var(--bg2); -webkit-backdrop-filter: none; backdrop-filter: none;
  border-top: 3px solid transparent; border-image: var(--grad-main) 1; border-bottom: 1px solid var(--line); }
.nav__item.is-active > a, .nav__item.is-active > .nav__btn { background: var(--primary-soft); color: var(--primary); }
.logo__mark { border-radius: 9px; }

/* Кнопки — чёткая геометрия; главный CTA зелёный (конверсия) */
.btn { border-radius: 12px; letter-spacing: .01em; font-weight: 800; font-size: .92rem; }
.btn--primary { background: var(--grad-cta); color: #fff; box-shadow: 0 8px 20px rgba(22,163,74,.22); }
.btn--primary:hover { color: #fff; filter: brightness(1.04); }

/* Заголовки: солидный H1 (без градиент-текста базы) + неоновая черта у H2 */
.hero h1 { background: none; -webkit-background-clip: border-box; background-clip: border-box;
  -webkit-text-fill-color: currentColor; color: var(--ink); }
.hero h1 .accent, .grad-text { background: var(--grad-main); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.section > .wrap > h2:first-child { position: relative; padding-left: 16px; }
.section > .wrap > h2:first-child::before { content: ""; position: absolute; left: 0; top: .12em; bottom: .12em; width: 4px; border-radius: 4px; background: var(--grad-main); }

/* Эйброу — плоская метка с ведущей чертой (другой вид) */
.eyebrow-pill { background: transparent; border: 1px solid var(--line-2); color: var(--ink-2);
  box-shadow: none; border-radius: 7px; }
.eyebrow-pill::before { content: ""; width: 16px; height: 2px; background: var(--grad-main); display: inline-block; border-radius: 2px; }

/* Карточки — плоские (без блюра) + левый градиент-акцент + острее */
.pcard, .review-card, .bf, .qp, .rv, .scn, .trb, .cc, .mock, .author-box, .calc, .toc, .related__card, .hero__stats li, .ladder {
  -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--surface);
}
.pcard, .review-card, .trb { position: relative; }
.pcard::before, .review-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--grad-main);
}
/* Разные типы карточек — разные акценты (не «в одном стиле») */
.bf { border-radius: 16px; }
.bf__ico { background: var(--primary-soft); color: var(--primary); border: 1px solid color-mix(in srgb, var(--primary) 25%, transparent); }
.qp { border-top: 3px solid var(--primary); }
.scn__ico { background: var(--gold-soft); color: var(--gold); }
.cc { border-radius: 14px; }
.cc__ico { background: var(--surface-3); border: 1px solid var(--line); }
.trb::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--c-rose); }
.rv { border-top: 3px solid var(--gold); }
.hero__stats li { position: relative; border-left: 3px solid; border-image: var(--grad-main) 1; border-radius: 0 var(--radius) var(--radius) 0; }

/* Featured-карточка — живая градиентная рамка */
.pcard.is-featured { border: 1px solid transparent;
  background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-main) border-box;
  box-shadow: var(--shadow-lg), var(--glow); }

/* Рейтинг-таблица — тёмная градиентная шапка + зебра + неоновые ранги */
.rating-table thead th { background: linear-gradient(90deg, var(--surface-3), var(--surface-2)); color: var(--ink); border-bottom: 1px solid var(--line-2); }
.rt-row:nth-child(even) { background: color-mix(in srgb, var(--surface-2) 55%, transparent); }
.rank { background: var(--primary-soft); color: var(--primary); border: 1px solid color-mix(in srgb, var(--primary) 38%, transparent); border-radius: 10px; }
.rank--top { background: var(--grad-gold); color: #3a2a04; border: none; box-shadow: 0 5px 14px rgba(227,153,15,.35); }
.rt-logo, .pcard__logo, .qp__logo, .rv__ava { border-radius: 12px; }

/* Чипы/лэддер — острее */
.chip, .ladder a, .ladder__cur, .kchip, .tag, .rv__tag, .qp__badge { border-radius: 8px; }
.ladder { border-left: 3px solid; border-image: var(--grad-main) 1; }

/* Hover-поведение карточек — подъём + неоновая рамка */
.pcard:hover, .review-card:hover, .bf:hover, .qp:hover, .scn:hover, .trb:hover, .related__card:hover {
  border-color: color-mix(in srgb, var(--primary) 50%, var(--line)); box-shadow: var(--shadow-md), 0 0 0 1px color-mix(in srgb, var(--primary) 22%, transparent); }
