/* Шрифти підключені через <link> у <head> кожної сторінки (render-blocking @import прибрано — паралельне завантаження) */

/* ═══════════════ ШРИФТ e-Ukraine (той самий, що на diia.gov.ua) ═══════════════
   Джерело: thedigital.gov.ua/fonts (Мінцифра). Ліцензія CC BY 4.0 → потрібна
   атрибуція (див. футер / сторінку «В межах закону»).
   У Google Fonts його немає, тому самохост із /fonts/.
   ⚠️ Ваги 600 у шрифті НЕМАЄ (Thin/UltraLight/Light/Regular/Medium/Bold),
   а сайт користується нею скрізь → Bold підв'язаний діапазоном 600–700,
   інакше браузер синтезує напівжирний сам і «замилює» контури.
   ⚠️ Немає символів ✓ ✕ ★ ⚠ — падають у системний фолбек (виглядає нормально). */

@font-face { font-family:'e-Ukraine'; src:url('/fonts/e-ukraine-300.woff2') format('woff2');
  font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'e-Ukraine'; src:url('/fonts/e-ukraine-400.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'e-Ukraine'; src:url('/fonts/e-ukraine-500.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'e-Ukraine'; src:url('/fonts/e-ukraine-700.woff2') format('woff2');
  font-weight:600 700; font-style:normal; font-display:swap; }

@font-face { font-family:'e-Ukraine Head'; src:url('/fonts/e-ukraine-head-400.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'e-Ukraine Head'; src:url('/fonts/e-ukraine-head-500.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'e-Ukraine Head'; src:url('/fonts/e-ukraine-head-700.woff2') format('woff2');
  font-weight:600 700; font-style:normal; font-display:swap; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:        #FFFFFF;
  --bg2:       #F7F9FC;
  --bg3:       #EFF3F8;
  --bg4:       #E8EDF5;

  --border:    #E2E8F0;
  --border2:   #CBD5E1;
  --border3:   #94A3B8;

  --text:      #0F172A;
  --text2:     #475569;
  --text3:     #576172;

  --blue:      #2563EB;
  --blue-dim:  rgba(37,99,235,0.08);
  --blue-mid:  rgba(37,99,235,0.15);
  --blue-text: #1D4ED8;

  --amber:     #D97706;
  --amber-dim: #FFFBEB;
  --red:       #DC2626;
  --red-dim:   #FEF2F2;
  --green:     #16A34A;
  --green-dim: #F0FDF4;

  --mono: 'JetBrains Mono', monospace;
  --sans: 'e-Ukraine', system-ui, -apple-system, sans-serif;
  --display: 'e-Ukraine Head', 'e-Ukraine', system-ui, sans-serif;

  --ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);

  --z-nav:     100;
  --z-modal:   200;
  --z-tooltip: 300;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── UTILITY ── */
.container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

.mono-label {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
}

.tag {
  display: inline-block;
  font-family: var(--mono);
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: .06em;
}
.tag-amber { background: #FFFBEB; color: #92400E; border: 1px solid #FDE68A; }
.tag-red   { background: #FEF2F2; color: #DC2626; border: 1px solid #FECACA; }
.tag-green { background: #F0FDF4; color: #15803D; border: 1px solid #BBF7D0; }
.tag-blue  { background: var(--blue-dim); color: var(--blue); border: 1px solid rgba(37,99,235,.2); }
.tag-gray  { background: var(--bg2); color: var(--text2); border: 1px solid var(--border); }

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: var(--z-nav);
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 56px;
  max-width: 1100px; margin: 0 auto; padding: 0 24px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none;
}
.nav-logo-icon {
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
}
.nav-logo-icon img { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; }
.nav-logo-text {
  font-family: var(--mono); font-size: 13px; font-weight: 500;
  color: var(--text); letter-spacing: .1em;
}
.nav-center {
  display: flex; align-items: center; gap: 2px;
}
.nav-service {
  padding: 6px 14px; border-radius: 4px;
  border: 1px solid transparent; color: var(--text2);
  font-size: 13px; font-weight: 500; text-decoration: none;
  transition: color 150ms var(--ease-out), background 150ms var(--ease-out), border-color 150ms var(--ease-out);
  white-space: nowrap;
}
.nav-service:hover {
  border-color: var(--border); color: var(--text); background: var(--bg2);
}
.nav-service.active { border-color: var(--border2); color: var(--text); }
@media (max-width: 960px) { .nav-center { display: none; } }

.nav-right { display: flex; align-items: center; gap: 12px; }
.lang-toggle {
  display: flex; align-items: center;
  border: 1px solid var(--border2); border-radius: 4px;
  overflow: hidden; font-family: var(--mono); font-size: 11px;
}
.lang-btn {
  padding: 8px 11px; min-height: 34px; cursor: pointer; border: none; background: none;
  color: var(--text2); letter-spacing: .06em;
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none; line-height: 1;
  transition: background 120ms, color 120ms;
}
.lang-btn:active { transform: none; }
.lang-btn.active { background: var(--blue); color: #fff; }
.lang-toggle a.lang-btn { color: var(--text2); }
.lang-toggle a.lang-btn:hover { background: var(--bg3); color: var(--text); }
.nav-cta {
  padding: 7px 16px; border-radius: 4px;
  background: var(--blue); color: #fff;
  font-size: 13px; font-weight: 600; text-decoration: none;
  transition: background 150ms var(--ease-out), transform 100ms var(--ease-out);
}
.nav-cta:hover { background: #1D4ED8; }
.nav-cta:active { transform: scale(0.97); }
@media (max-width: 640px) { .nav-cta { display: none; } }

/* ── NAV DROPDOWN (Послуги) ── */
.nav-dropdown { position: relative; display: inline-block; }
.nav-dropdown-trigger {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px 6px 14px; border-radius: 4px;
  border: 1px solid transparent; background: none;
  font-family: var(--sans); font-size: 13px; font-weight: 500;
  color: var(--text2); cursor: pointer; white-space: nowrap;
  transition: color 150ms var(--ease-out), background 150ms var(--ease-out), border-color 150ms var(--ease-out);
}
.nav-dropdown-trigger:hover,
.nav-dropdown.open .nav-dropdown-trigger {
  border-color: var(--border); color: var(--text); background: var(--bg2);
}
.nav-chevron { transition: transform 200ms var(--ease-out); flex-shrink: 0; }
.nav-dropdown.open .nav-chevron { transform: rotate(180deg); }

.nav-dropdown-menu {
  position: absolute; top: calc(100% + 10px); left: 0;
  transform: translateY(-6px);
  width: 680px; max-width: calc(100vw - 32px);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 16px 48px rgba(15, 23, 42, .14), 0 4px 12px rgba(15, 23, 42, .06);
  padding: 14px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out), visibility 180ms;
}
.nav-dropdown.open .nav-dropdown-menu {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateY(0);
}
/* Послуги: наведення відкриває меню (десктоп); клік веде на граф через navServicesClick */
@media (min-width: 961px) {
  .nav-dropdown-menu::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
  .nav-dropdown:hover .nav-dropdown-trigger { border-color: var(--border); color: var(--text); background: var(--bg2); }
  .nav-dropdown:hover .nav-chevron { transform: rotate(180deg); }
  .nav-dropdown:hover .nav-dropdown-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
}
.nav-dropdown-col2 { display: flex; flex-direction: column; gap: 8px; }
.nav-dropdown-label {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--blue);
  padding: 8px 10px 4px;
}
.nav-dropdown-item {
  display: block; padding: 8px 10px; border-radius: 5px;
  text-decoration: none; color: var(--text);
  transition: background 150ms var(--ease-out);
}
.nav-dropdown-item:hover { background: var(--bg2); }
.nav-dropdown-title {
  font-size: 13px; font-weight: 600; color: var(--text);
  margin-bottom: 2px; line-height: 1.3;
}
.nav-dropdown-desc {
  font-size: 11.5px; color: var(--text2); line-height: 1.4;
}
@media (max-width: 960px) { .nav-dropdown { display: none; } }

/* ── HERO ── */
#hero {
  position: relative;
}
.hero-grid-bg {
  position: absolute; inset: 0; z-index: 0;
  background-image:
    linear-gradient(rgba(37,99,235,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,.035) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 90% 70% at 60% 40%, black 20%, transparent 80%);
  pointer-events: none;
}
.hero-grid-bg::after {
  content: "DUE DILIGENCE";
  position: absolute;
  left: -1.5vw; bottom: 2vh;
  font-family: var(--display);
  font-size: clamp(120px, 15vw, 220px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 0.9;
  color: rgba(15,23,42,0.055);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
body.en .hero-grid-bg::after { content: "DUE DILIGENCE"; }
body.ru .hero-grid-bg::after { content: "РАЗВЕДКА"; }
body.pl .hero-grid-bg::after { content: "WYWIAD"; }
@media (max-width: 860px) {
  .hero-grid-bg::after { display: none; }
}
.hero-container {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 80px;
}
@media (max-width: 860px) {
  .hero-container { grid-template-columns: 1fr; gap: 48px; }
}

.hero-content { max-width: 560px; }

.hero-eyebrow {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 24px;
}
.hero-eyebrow-line { width: 28px; height: 1px; background: var(--blue); flex-shrink: 0; }

.hero-title {
  font-family: var(--display);
  font-size: clamp(23px, 3.1vw, 40px);
  font-weight: 600; line-height: 1.08;
  color: var(--text); margin-bottom: 20px;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.hero-title em { font-style: normal; color: var(--blue); }

.hero-sub {
  font-size: 16px; color: var(--text2); line-height: 1.7;
  max-width: 500px; margin-bottom: 36px;
}

.hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.btn-primary {
  display: inline-flex; align-items: center;
  padding: 12px 24px; border-radius: 5px;
  background: var(--blue); color: #fff;
  font-family: var(--sans); font-size: 14px; font-weight: 600;
  text-decoration: none;
  transition: background 150ms var(--ease-out), transform 100ms var(--ease-out), box-shadow 150ms var(--ease-out);
}
.btn-primary:hover { background: #1D4ED8; box-shadow: 0 4px 16px rgba(37,99,235,.3); }
.btn-primary:active { transform: scale(0.97); }

.btn-ghost {
  display: inline-flex; align-items: center;
  padding: 12px 24px; border-radius: 5px;
  border: 1px solid var(--border2); color: var(--text2);
  font-family: var(--sans); font-size: 14px; font-weight: 500;
  text-decoration: none;
  transition: border-color 150ms var(--ease-out), color 150ms var(--ease-out), transform 100ms var(--ease-out);
}
.btn-ghost:hover { border-color: var(--blue); color: var(--blue); }
.btn-ghost:active { transform: scale(0.97); }

/* ── REPORT CARD (hero visual) ── */
.hero-visual {
  display: flex; justify-content: center; align-items: center;
}
.report-card {
  position: relative;
  width: 100%; max-width: 420px;
  background: var(--bg);
  border: 1.5px solid var(--text);
  border-radius: 2px;
  overflow: visible;
  box-shadow: 10px 10px 0 0 var(--blue);
}
.report-card.has-stamp::before {
  content: "ARG-2026-0034-DD";
  position: absolute;
  top: -10px; left: 16px;
  padding: 2px 8px;
  background: var(--bg);
  font-family: var(--mono); font-size: 9px;
  letter-spacing: .14em;
  color: var(--text3);
  border: 1px solid var(--border2);
  border-radius: 2px;
  z-index: 3;
}
.report-card.has-stamp::after {
  content: "CAUTION";
  position: absolute;
  top: 38%; right: -22px;
  transform: rotate(-14deg);
  padding: 6px 16px;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(220,38,38,0.55);
  border: 2.5px solid rgba(220,38,38,0.55);
  border-radius: 4px;
  background: rgba(255,255,255,0.4);
  pointer-events: none;
  z-index: 4;
  text-transform: uppercase;
}
body.en .report-card.has-stamp::after { content: "CAUTION"; }
body.ru .report-card.has-stamp::after { content: "ОСТОРОЖНО"; font-size: 16px; }
body.pl .report-card.has-stamp::after { content: "UWAGA"; }
.rc-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px;
  background: var(--bg2);
  border-bottom: 1px solid var(--border);
}
.rc-brand {
  display: flex; align-items: center; gap: 8px;
}
.rc-logo { width: 20px; height: 20px; object-fit: cover; border-radius: 50%; }
.rc-brand-name {
  font-family: var(--mono); font-size: 11px; letter-spacing: .1em;
  color: var(--text3); font-weight: 500;
}
.rc-score {
  display: flex; align-items: baseline; gap: 2px;
  padding: 6px 12px; border-radius: 6px;
}
.rc-score-warn { background: #FFF7ED; border: 1px solid #FED7AA; }
.rc-score-fail { background: var(--red-dim); border: 1px solid #FECACA; }
.rc-score-ok   { background: var(--green-dim); border: 1px solid #BBF7D0; }
.rc-score-num {
  font-family: var(--mono); font-size: 22px; font-weight: 700; line-height: 1;
}
.rc-score-warn .rc-score-num { color: var(--amber); }
.rc-score-fail .rc-score-num { color: var(--red); }
.rc-score-ok   .rc-score-num { color: var(--green); }
.rc-score-div { font-family: var(--mono); font-size: 12px; color: var(--text3); }

.rc-subject { padding: 16px 20px; border-bottom: 1px solid var(--border); }
.rc-subject-label {
  font-family: var(--mono); font-size: 10px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text3); margin-bottom: 6px;
}
.rc-subject-name {
  font-size: 15px; font-weight: 600; color: var(--text);
  margin-bottom: 4px; letter-spacing: .01em;
}
.rc-subject-meta { font-family: var(--mono); font-size: 11px; color: var(--text3); }

.rc-verdict {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 20px;
  font-size: 12px; font-weight: 600;
  border-bottom: 1px solid var(--border);
}
.rc-verdict-warn { background: #FFFBEB; color: var(--amber); }
.rc-verdict-fail { background: var(--red-dim); color: var(--red); }
.rc-verdict-ok   { background: var(--green-dim); color: var(--green); }

.rc-checks { padding: 14px 20px; display: flex; flex-direction: column; gap: 8px; border-bottom: 1px solid var(--border); }
.rc-check {
  display: flex; align-items: center; gap: 10px;
  font-size: 12px; color: var(--text2); line-height: 1.4;
}
.rc-dot {
  width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0;
}
.rc-ok   .rc-dot { background: var(--green); }
.rc-warn .rc-dot { background: var(--amber); }
.rc-fail .rc-dot { background: var(--red); }
.rc-ok   span:last-child { color: var(--text2); }
.rc-warn span:last-child { color: var(--amber); }
.rc-fail span:last-child { color: var(--red); font-weight: 500; }

.rc-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 20px;
  background: var(--bg2);
}
.rc-sources {
  font-family: var(--mono); font-size: 10px; color: var(--text3);
  letter-spacing: .04em;
}
.rc-time { font-family: var(--mono); font-size: 11px; color: var(--blue); font-weight: 500; }

/* ── HERO SCROLL-PIN ── */
.hero-pin { position: relative; }
.hero-sticky {
  position: sticky; top: 0;
  min-height: 100vh;
  display: flex; align-items: flex-start;
  overflow: hidden;
  padding-top: clamp(90px, 9vh, 132px);
}
.hero-stage-wrap { position: relative; z-index: 2; width: 100%; }
.hero-stage { display: grid; }
.hero-slide {
  grid-area: 1 / 1;
  display: grid; grid-template-columns: 0.56fr 0.44fr;
  gap: 32px; align-items: start;
  opacity: 0; visibility: hidden;
  transform: translateY(22px);
  transition: opacity .55s var(--ease-out), transform .55s var(--ease-out);
  pointer-events: none;
}
.hero-slide .hero-visual {
  margin-top: 8px;
  margin-left: -64px;
  align-self: start;
}
@media (max-width: 1100px) {
  .hero-slide .hero-visual { margin-left: -24px; }
}
@media (max-width: 860px) {
  .hero-slide .hero-visual { margin-top: 0; margin-left: 0; }
}
.hero-slide.is-active {
  opacity: 1; visibility: visible; transform: none;
  pointer-events: auto;
}

/* persistent brand line — stays across all three states */
.hero-persist { max-width: 560px; margin-bottom: 22px; }
.hero-brandline {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(19px, 2.2vw, 29px);
  font-weight: 700; line-height: 1.1;
  letter-spacing: -0.02em; color: var(--text);
}
.hero-brandline em { font-style: normal; color: var(--blue); }
.hero-persist-sub { margin: 9px 0 0; font-size: 15px; line-height: 1.5; color: var(--text2); max-width: 520px; }
.hero-persist-sub strong { color: var(--blue); font-weight: 600; }

/* differentiator list */
.hero-diffs { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-direction: column; gap: 13px; max-width: 520px; }
.hero-diffs li { position: relative; padding-left: 28px; font-size: 15px; line-height: 1.5; color: var(--text2); }
.hero-diffs li::before {
  content: '✓'; position: absolute; left: 0; top: 1px;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--blue-dim); color: var(--blue);
  font-size: 11px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}

.btn-ghost-arrow .ga { margin-left: 8px; transition: transform .15s var(--ease-out); }
.btn-ghost-arrow:hover .ga { transform: translateX(3px); }

/* comparison card (slide 1) */
.cmp-tag, .rfi-tag {
  font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--blue); background: var(--blue-dim);
  border: 1px solid rgba(37,99,235,.2); border-radius: 5px;
  padding: 4px 9px; font-weight: 600;
}
.cmp-head {
  display: grid; grid-template-columns: 1fr 90px 90px;
  align-items: end;
  padding: 12px 20px 8px;
  font-family: var(--mono); font-size: 10px; letter-spacing: .03em; text-transform: uppercase;
  color: var(--text3);
}
.cmp-h-col { text-align: center; }
.cmp-h-argus { color: var(--blue); font-weight: 700; }
.cmp-rows { padding: 0 20px 14px; }
.cmp-row {
  display: grid; grid-template-columns: 1fr 90px 90px;
  align-items: center;
  padding: 9px 0; border-top: 1px solid var(--border);
  font-size: 13px;
}
.cmp-label { color: var(--text); }
.cmp-yes, .cmp-no { text-align: center; font-weight: 700; font-size: 15px; }
.cmp-yes { color: var(--blue); }
.cmp-no { color: var(--text3); opacity: .7; }

/* RFI card (slide 2) */
.rfi-body { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; }
.rfi-meta { display: flex; align-items: center; gap: 8px; }
.rfi-prio {
  font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase;
  font-weight: 700; color: var(--red);
  background: var(--red-dim); border: 1px solid #FECACA; border-radius: 5px;
  padding: 3px 8px;
}
.rfi-layer {
  font-family: var(--mono); font-size: 10px; letter-spacing: .06em;
  color: var(--text3); background: var(--bg2); border: 1px solid var(--border);
  border-radius: 5px; padding: 3px 8px;
}
.rfi-k { font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--text3); margin-bottom: 4px; }
.rfi-k-warn { color: var(--amber); }
.rfi-v { font-size: 13px; line-height: 1.45; color: var(--text2); }
.rfi-q { background: var(--blue-dim); margin: 0 -10px; padding: 10px 12px; border-radius: 8px; border-left: 3px solid var(--blue); }
.rfi-q .rfi-k { color: var(--blue); }
.rfi-q .rfi-v { color: var(--text); font-weight: 500; }

/* slide indicator + scroll hint */
.hero-progress {
  position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%);
  display: flex; gap: 10px; z-index: 5;
}
.hp-dot {
  width: 9px; height: 9px; border-radius: 50%; padding: 0;
  border: 1px solid var(--border2); background: transparent;
  cursor: pointer; transition: background .2s var(--ease-out), border-color .2s var(--ease-out), transform .2s var(--ease-out);
}
.hp-dot.is-active { background: var(--blue); border-color: var(--blue); transform: scale(1.18); }
.hero-scroll-hint {
  position: absolute; right: 0; bottom: 24px; z-index: 5;
  display: flex; align-items: center; gap: 7px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .05em;
  color: var(--text3);
  transition: opacity .3s var(--ease-out);
  white-space: nowrap;
}
.hero-pin.at-end .hero-scroll-hint { opacity: 0; pointer-events: none; }
.hsh-arrow { animation: hsh-bounce 1.8s ease-in-out infinite; }
@keyframes hsh-bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(4px)} }

/* fallback: mobile + reduced motion -> static stacked, no scroll-pin */
@media (max-width: 860px), (prefers-reduced-motion: reduce) {
  .hero-pin { height: auto !important; }
  .hero-sticky { position: static; min-height: 0; display: block; overflow: visible; padding-top: 0; }
  .hero-stage { display: block; }
  .hero-slide {
    grid-area: auto;
    opacity: 1 !important; visibility: visible !important; transform: none !important;
    pointer-events: auto;
    padding: 52px 0; border-top: 1px solid var(--border);
  }
  .hero-slide[data-slide="0"] { border-top: none; }
  .hero-progress, .hero-scroll-hint { display: none; }
  .hero-globe-bg { display: none; }
}
@media (max-width: 860px) {
  /* hero на мобільному — горизонтальна каруселя слайдів (свайп) */
  .hero-stage {
    display: flex; flex-wrap: nowrap;
    overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory;
    gap: 14px;
    margin: 0 -24px; padding: 4px 24px 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .hero-stage::-webkit-scrollbar { display: none; }
  .hero-slide {
    flex: 0 0 87%; width: 87%;
    scroll-snap-align: center;
    grid-template-columns: minmax(0, 1fr); gap: 18px;
    padding: 0 !important; border-top: none !important;
  }
  /* у каруселі картка не має вилазити за слайд: тиснемо shadow, ховаємо штамп/серійник */
  .hero-slide .hero-visual { min-width: 0; max-width: 100%; }
  .hero-slide .report-card { box-shadow: 6px 6px 0 var(--blue); }
  .hero-slide .report-card.has-stamp::before,
  .hero-slide .report-card.has-stamp::after { display: none; }
  .hero-progress {
    display: flex !important;
    position: static; transform: none;
    justify-content: center; gap: 2px; margin-top: 10px;
  }
  /* dots: тач-зона 44px, крапка через ::before (WCAG 2.5.5) */
  .hp-dot {
    width: 44px; height: 44px; background: transparent; border: none; position: relative;
  }
  .hp-dot.is-active { background: transparent; border: none; transform: none; }
  .hp-dot::before {
    content: ''; position: absolute; top: 50%; left: 50%;
    width: 9px; height: 9px; border-radius: 50%;
    border: 1px solid var(--border2); background: transparent;
    transform: translate(-50%, -50%);
    transition: background .2s var(--ease-out), border-color .2s var(--ease-out), transform .2s var(--ease-out);
  }
  .hp-dot.is-active::before { background: var(--blue); border-color: var(--blue); transform: translate(-50%, -50%) scale(1.25); }
  /* CTA-кнопки в слайдах сховані на мобільному — є закріплений нижній бар */
  .hero-slide .hero-actions { display: none !important; }
  /* менше тексту: прибрати підзаголовок + текстові блоки слайдів (diff/опис) —
     суть на всіх 3 слайдах несуть картки поруч; зменшити заголовки */
  .hero-persist-sub { display: none; }
  .hero-persist { margin-bottom: 14px; }
  .hero-eyebrow { margin-bottom: 12px; }
  .hero-slide .hero-diffs,
  .hero-slide .hero-sub { display: none; }
  .hero-title { font-size: clamp(21px, 5.4vw, 26px); margin-bottom: 16px; }
}

/* ── TRUST BAR ── */
.trust-bar {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--bg2);
  padding: 12px 0;
  overflow: hidden;
}
.trust-bar-inner {
  display: flex; align-items: center; gap: 0;
  max-width: 1100px; margin: 0 auto; padding: 0 24px;
  flex-wrap: wrap; gap: 6px 0;
}
.trust-bar-label {
  font-family: var(--mono); font-size: 10px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text3);
  white-space: nowrap; margin-right: 16px; flex-shrink: 0;
}
.trust-bar-sources {
  display: flex; flex-wrap: wrap; gap: 4px; align-items: center;
}
.trust-source {
  font-family: var(--mono); font-size: 11px;
  color: var(--text3); white-space: nowrap;
  padding: 2px 8px;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--bg);
  transition: color 150ms, border-color 150ms;
}
.trust-source:hover { color: var(--blue); border-color: rgba(37,99,235,.3); }

/* ── SECTION COMMON ── */
section { padding: 96px 0; }
.section-header { margin-bottom: 48px; }
.section-title {
  font-family: var(--display);
  font-size: clamp(20px, 2.6vw, 31px);
  font-weight: 600; color: var(--text);
  line-height: 1.15; letter-spacing: -0.02em;
  text-wrap: balance;
}
.section-desc { font-size: 15px; color: var(--text2); margin-top: 10px; max-width: 540px; line-height: 1.65; }

/* ── SERVICES BENTO ── */
#services { background: var(--bg2); }
.services-bento {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  min-height: 440px;
}
@media (max-width: 860px) {
  .services-bento {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: auto;
  }
  .service-main { grid-row: auto !important; }
}

.service-main {
  grid-row: 1 / 3;
}

.service-card-new {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg);
  padding: 32px 28px;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  transition: border-color 200ms var(--ease-out), box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out);
  position: relative; overflow: hidden;
}
.service-card-new::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  opacity: 0; transition: opacity 200ms var(--ease-out);
}
.service-card-new:hover {
  border-color: var(--border2);
  box-shadow: 0 8px 28px rgba(15,23,42,.08);
  transform: translateY(-2px);
}
.service-card-new:hover::before { opacity: 1; }
.service-card-new:active { transform: translateY(0) scale(0.99); }

.service-main-card::before { background: linear-gradient(90deg, transparent, var(--blue), transparent); }
.service-main-card:hover { border-color: rgba(37,99,235,.25); }

.service-mi-card { background: #EFF6FF; border-color: #BFDBFE; }
.service-mi-card::before { background: linear-gradient(90deg, transparent, #3B82F6, transparent); }
.service-mi-card:hover { border-color: #93C5FD; }

.service-silent-card { background: var(--bg2); }
.service-silent-card::before { background: linear-gradient(90deg, transparent, var(--text3), transparent); }
.service-silent-card:hover { border-color: var(--border2); }

.service-category {
  font-family: var(--mono); font-size: 10px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--text3); margin-bottom: 12px;
}
.service-main-card .service-category { color: var(--blue); }
.service-mi-card .service-category { color: #2563EB; }

.service-heading {
  font-size: 22px; font-weight: 700; color: var(--text);
  margin-bottom: 8px; line-height: 1.2; letter-spacing: -0.02em;
}
.service-card-new .service-for {
  font-family: var(--mono); font-size: 11px; color: var(--text3);
  margin-bottom: 14px; letter-spacing: .02em;
}
.service-card-new .service-body {
  font-size: 14px; color: var(--text2); line-height: 1.65; margin-bottom: 20px; flex: 1;
}
.service-feats {
  list-style: none; display: flex; flex-direction: column; gap: 7px;
  margin-bottom: 24px; flex: 1;
}
.service-feats li {
  font-size: 13px; color: var(--text2);
  display: flex; align-items: flex-start; gap: 8px; line-height: 1.4;
}
.service-feats li::before {
  content: '✓'; color: var(--blue); font-size: 12px; flex-shrink: 0; margin-top: 1px;
}
.service-mi-card .service-feats li::before { color: #3B82F6; }
.service-silent-card .service-feats li::before { color: var(--text3); }

.service-price-row {
  font-family: var(--mono); font-size: 12px; color: var(--text3);
  padding-top: 16px; border-top: 1px solid var(--border); margin-bottom: 18px;
}
.service-price-row strong { font-size: 15px; color: var(--text); font-weight: 700; }

.service-link {
  display: block; text-align: center; padding: 10px 16px;
  border-radius: 5px; font-size: 13px; font-weight: 600;
  border: 1px solid rgba(37,99,235,.3); color: var(--blue);
  background: var(--blue-dim);
  transition: background 150ms var(--ease-out), border-color 150ms var(--ease-out), transform 100ms var(--ease-out);
}
.service-link:hover { background: var(--blue-mid); border-color: rgba(37,99,235,.4); }
.service-link:active { transform: scale(0.97); }
.service-link-mi {
  border-color: rgba(59,130,246,.3); color: #2563EB;
  background: rgba(59,130,246,.07);
}
.service-link-silent {
  border-color: var(--border2); color: var(--text2);
  background: transparent;
}
.service-link-silent:hover { background: var(--bg3); border-color: var(--text3); color: var(--text); }

/* Small secondary cards — compact layout */
.service-secondary {
  display: flex; flex-direction: column;
}
.service-secondary .service-heading { font-size: 17px; }
.service-secondary .service-body { font-size: 13px; }
.service-secondary .service-feats { display: none; }

/* ── PRICING ── */
#pricing { background: var(--bg); }
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--border); border-radius: 10px; overflow: hidden;
}
/* 4 картки (напр. /pricing з Legal-Grade) — рівномірно на 4 колонки */
.pricing-grid:has(> .pricing-card:nth-child(4)) { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
  .pricing-grid,
  .pricing-grid:has(> .pricing-card:nth-child(4)) { grid-template-columns: repeat(2, 1fr); }
  .pricing-card { border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .pricing-card:nth-child(2n) { border-right: none; }
}
@media (max-width: 640px) {
  .pricing-grid,
  .pricing-grid:has(> .pricing-card:nth-child(4)) { grid-template-columns: 1fr; }
  .pricing-card { border-right: none; }
}
.pricing-card-legal { background: linear-gradient(180deg, #FFFBEB 0%, var(--bg) 60%); }
.pricing-card {
  padding: 28px 24px;
  display: flex; flex-direction: column;
  position: relative;
  background: var(--bg);
  border-right: 1px solid var(--border);
  transition: background 200ms var(--ease-out);
}
.pricing-card:last-child { border-right: none; }
.pricing-card.featured {
  background: #EFF6FF;
  border-right-color: #BFDBFE;
  border-left: 1px solid #BFDBFE;
  z-index: 1;
}
.pricing-card.featured::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--blue), transparent);
}
.pricing-badge {
  display: inline-block;
  font-family: var(--mono); font-size: 10px; letter-spacing: .08em;
  padding: 3px 8px; border-radius: 3px; margin-bottom: 12px;
  background: var(--blue-dim); color: var(--blue);
  border: 1px solid rgba(37,99,235,.2);
  width: fit-content;
}
.pricing-tier {
  font-family: var(--mono); font-size: 11px; letter-spacing: .1em;
  color: var(--text3); text-transform: uppercase; margin-bottom: 10px;
}
.pricing-price {
  font-size: 36px; font-weight: 700; color: var(--text);
  line-height: 1; margin-bottom: 4px; letter-spacing: -0.02em;
}
.featured .pricing-price { color: var(--blue); }
.pricing-time {
  font-family: var(--mono); font-size: 11px; color: var(--text3); margin-bottom: 22px;
}
.pricing-features {
  list-style: none; display: flex; flex-direction: column; gap: 8px;
  flex: 1; margin-bottom: 22px;
}
.pricing-features li {
  font-size: 13px; color: var(--text2);
  display: flex; align-items: flex-start; gap: 8px; line-height: 1.4;
}
.pricing-features li::before {
  content: '✓'; color: var(--text3); font-size: 12px; flex-shrink: 0; margin-top: 1px;
}
.featured .pricing-features li::before { color: var(--blue); }
.pricing-features li.dim { color: var(--text3); }
.pricing-features li.dim::before { color: var(--border2); }

.btn-order {
  display: block; text-align: center; padding: 10px;
  border-radius: 5px; font-size: 13px; font-weight: 600;
  text-decoration: none;
  transition: background 150ms var(--ease-out), border-color 150ms var(--ease-out), transform 100ms var(--ease-out);
}
.btn-order:active { transform: scale(0.97); }
.btn-order-primary { background: var(--blue); color: #fff; font-weight: 700; }
.btn-order-primary:hover { background: #1D4ED8; }
.btn-order-ghost { border: 1px solid var(--border2); color: var(--text2); }
.btn-order-ghost:hover { border-color: var(--blue); color: var(--blue); }

/* ── WAR-TIME COMPLIANCE ── */
#war-compliance { background: var(--bg2); padding: 96px 0; position: relative; }
.wtc-wrap { display: flex; gap: 48px; align-items: flex-start; }
@media (max-width: 700px) { .wtc-wrap { flex-direction: column; gap: 32px; } }
.wtc-badge {
  flex-shrink: 0; width: 64px; height: 64px; border-radius: 12px;
  background: var(--blue-dim); border: 1px solid rgba(37,99,235,.2);
  display: flex; align-items: center; justify-content: center;
}
.wtc-badge-icon { width: 32px; height: 32px; object-fit: contain; line-height: 1; }
.wtc-body { flex: 1; }
.wtc-title {
  font-size: clamp(20px, 2.5vw, 30px); font-weight: 700;
  color: var(--text); margin-bottom: 12px; line-height: 1.2;
  letter-spacing: -0.02em; text-wrap: balance;
}
.wtc-desc {
  font-size: 15px; color: var(--text2); margin-bottom: 24px;
  line-height: 1.7; max-width: 640px;
}
.wtc-desc strong { color: var(--blue); font-weight: 600; }
.wtc-checks {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px;
}
@media (max-width: 640px) { .wtc-checks { grid-template-columns: 1fr; } }
.wtc-check {
  display: flex; gap: 10px; align-items: flex-start;
  background: var(--bg); border: 1px solid var(--border);
  border-radius: 8px; padding: 14px;
  transition: border-color 150ms var(--ease-out);
}
.wtc-check:hover { border-color: rgba(37,99,235,.25); }
.wtc-icon { width: 32px; height: 32px; object-fit: contain; flex-shrink: 0; margin-top: 1px; }
.wtc-check-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 3px; }
.wtc-check-sub { font-size: 12px; color: var(--text2); line-height: 1.5; }

/* ── FREE CHECK ── */
#free-check { padding: 96px 0; background: var(--bg); }
.free-check-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 768px) { .free-check-wrap { grid-template-columns: 1fr; gap: 40px; } }
.free-check-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.free-check-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--text); }
.fc-icon { font-family: var(--mono); font-size: 13px; color: var(--green); flex-shrink: 0; margin-top: 1px; }
.fc-icon-muted { color: var(--text3); }
.fc-item-muted span:not(.fc-icon) { color: var(--text3); }

.fc-preview {
  background: var(--bg); border: 1px solid var(--border2);
  border-radius: 10px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.07);
}
.fc-preview-header {
  display: flex; align-items: center; gap: 10px; padding: 12px 20px;
  background: var(--bg2); border-bottom: 1px solid var(--border);
}
.fc-preview-dot { width: 10px; height: 10px; border-radius: 50%; }
.fc-dot-green { background: var(--green); box-shadow: 0 0 6px rgba(52,211,153,.5); }
.fc-preview-body { padding: 20px; }
.fc-row { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; }
.fc-row-label { font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--text3); }
.fc-row-value { font-size: 13px; color: var(--text); font-weight: 500; }
.fc-mono { font-family: var(--mono); }
.fc-divider { height: 1px; background: var(--border); margin: 12px 0; }
.fc-check-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 6px; margin-bottom: 8px; }
.fc-check-ok   { background: var(--green-dim); }
.fc-check-warn { background: var(--amber-dim); }
.fc-check-badge {
  font-family: var(--mono); font-size: 11px; font-weight: 700;
  width: 20px; height: 20px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.fc-ok   { background: var(--green); color: #fff; }
.fc-warn { background: var(--amber); color: #fff; }
.fc-check-title { font-size: 12px; font-weight: 600; color: var(--text); margin-bottom: 2px; }
.fc-check-sub   { font-size: 11px; color: var(--text2); }
.fc-warn-text   { color: var(--amber); }
.fc-blur-block  { background: var(--bg2); border-radius: 6px; padding: 12px; position: relative; overflow: hidden; }
.fc-blur-content { filter: blur(4px); margin-bottom: 8px; }
.fc-blur-line { height: 10px; background: var(--border); border-radius: 4px; margin-bottom: 7px; }
.fc-blur-short { width: 60%; }
.fc-blur-label { font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); text-align: center; }

/* ── ARGUS SCORE ── */
#argus-score { padding: 96px 0; background: var(--bg2); }
.score-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
@media (max-width: 768px) { .score-wrap { grid-template-columns: 1fr; } }
.score-card-mock {
  background: var(--bg); border: 1px solid var(--border2);
  border-radius: 10px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.07);
}
.score-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--border); }
.score-obj { font-size: 14px; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.score-meta { font-family: var(--mono); font-size: 10px; color: var(--text3); letter-spacing: .06em; }
.score-badge { display: flex; align-items: baseline; gap: 2px; padding: 10px 14px; border-radius: 8px; min-width: 72px; justify-content: center; }
.score-medium { background: var(--amber-dim); border: 1px solid #FDE68A; }
.score-number { font-family: var(--mono); font-size: 28px; font-weight: 700; color: var(--amber); line-height: 1; }
.score-max { font-family: var(--mono); font-size: 13px; color: var(--text3); }
.score-verdict { padding: 12px 24px; font-size: 12px; font-weight: 500; }
.score-verdict-medium { background: var(--amber-dim); color: var(--amber); border-bottom: 1px solid var(--border); }
.score-bars { padding: 20px 24px; display: flex; flex-direction: column; gap: 14px; }
.score-bar-item { display: grid; grid-template-columns: 90px 1fr 36px; gap: 10px; align-items: center; }
.score-bar-label { font-size: 12px; color: var(--text2); }
.score-bar-track { height: 6px; background: var(--border); border-radius: 3px; overflow: hidden; }
.score-bar-fill { height: 100%; border-radius: 3px; }
.score-fill-green { background: var(--green); }
.score-fill-amber { background: var(--amber); }
.score-fill-red   { background: var(--red); }
.score-bar-val { font-family: var(--mono); font-size: 12px; text-align: right; }
.score-val-green { color: var(--green); }
.score-val-amber { color: var(--amber); }
.score-val-red   { color: var(--red); }
.score-legend { display: flex; flex-direction: column; gap: 20px; padding: 8px 0; }
.score-legend-title { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--text3); margin-bottom: 4px; }
.score-legend-item { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; color: var(--text); }
.score-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-top: 3px; }
.score-dot-green { background: var(--green); }
.score-dot-amber { background: var(--amber); }
.score-dot-red   { background: var(--red); }
.score-dot-black { background: var(--text3); }
.score-note { font-size: 12px; color: var(--text3); line-height: 1.6; border-top: 1px solid var(--border); padding-top: 16px; margin-top: 4px; }

/* ── METHODOLOGY ── */
#method { background: var(--bg2); }
.method-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1px;
  border: 1px solid var(--border); border-radius: 8px; overflow: hidden;
}
.method-card {
  padding: 28px; background: var(--bg);
  transition: background 150ms var(--ease-out);
}
.method-card:hover { background: var(--bg2); }
.method-icon {
  width: 36px; height: 36px; border-radius: 6px;
  background: var(--bg2); border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; margin-bottom: 14px;
}
.method-name {
  font-family: var(--mono); font-size: 12px; font-weight: 500;
  color: var(--blue); letter-spacing: .06em; margin-bottom: 7px;
}
.method-desc { font-size: 13px; color: var(--text2); line-height: 1.6; }
.method-list {
  margin-top: 10px; list-style: none; display: flex; flex-direction: column; gap: 4px;
}
.method-list li {
  font-family: var(--mono); font-size: 11px; color: var(--text3);
  padding-left: 12px; position: relative;
}
.method-list li::before { content: '›'; position: absolute; left: 0; color: var(--blue); }

/* ── STEPS / HOW ── */
#how { background: var(--bg); }
.steps { display: flex; flex-direction: column; }
.step {
  display: grid; grid-template-columns: 48px 1fr;
  gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--border);
}
.step:last-child { border-bottom: none; }
.step-num {
  font-family: var(--mono); font-size: 22px; font-weight: 500;
  color: var(--border2); line-height: 1; padding-top: 3px;
}
.step-title { font-size: 15px; font-weight: 600; color: var(--text); margin-bottom: 5px; }
.step-desc { font-size: 14px; color: var(--text2); line-height: 1.65; }

/* ── VS TABLE ── */
#vs { background: var(--bg2); }
.vs-table { width: 100%; border-collapse: collapse; }
.vs-table th, .vs-table td {
  padding: 14px 20px; text-align: left;
  border-bottom: 1px solid var(--border); font-size: 14px;
}
/* Mobile: дозволяємо горизонтальний скрол замість перекидання за viewport */
@media (max-width: 760px) {
  .vs-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
  .vs-table th, .vs-table td { padding: 12px 14px; }
}
.vs-table th {
  font-family: var(--mono); font-size: 11px; letter-spacing: .1em;
  color: var(--text2); text-transform: uppercase; background: var(--bg2);
}
.vs-table td:nth-child(2) { color: var(--text3); }
.vs-table td:nth-child(3) { color: var(--green); font-weight: 500; }
.vs-table tr:hover td { background: var(--bg3); }

/* ── CASES ── */
#cases { background: var(--bg2); }
.cases-grid { display: flex; flex-direction: column; gap: 24px; }
.case-card { border: 1px solid var(--border); border-radius: 8px; background: var(--bg); overflow: hidden; }
.case-header {
  padding: 20px 28px; border-bottom: 1px solid var(--border);
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.case-meta { display: flex; flex-direction: column; gap: 6px; }
.case-number { font-family: var(--mono); font-size: 11px; color: var(--text3); letter-spacing: .08em; }
.case-title { font-size: 17px; font-weight: 600; color: var(--text); }
.case-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.case-outcome { text-align: right; flex-shrink: 0; }
.case-outcome-num { font-family: var(--mono); font-size: 22px; font-weight: 500; color: var(--green); display: block; }
.case-outcome-label { font-size: 11px; color: var(--text3); }
.case-body { padding: 24px 28px; }
.case-context { font-size: 14px; color: var(--text2); margin-bottom: 20px; line-height: 1.65; }
.flags-title {
  font-family: var(--mono); font-size: 11px; letter-spacing: .1em;
  color: var(--text3); text-transform: uppercase; margin-bottom: 12px;
}
.flags-list { display: flex; flex-direction: column; gap: 8px; }
.flag-item {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13px; color: var(--text2); line-height: 1.5;
  padding: 10px 14px; background: var(--amber-dim); border-radius: 5px;
  border-left: 2px solid var(--amber);
}
.flag-dot { color: var(--amber); flex-shrink: 0; font-size: 11px; margin-top: 2px; }
.case-verdict {
  margin-top: 20px; padding: 14px 18px;
  background: var(--red-dim); border: 1px solid #FECACA; border-radius: 6px;
  display: flex; align-items: center; gap: 10px;
}
.case-verdict-icon { font-size: 18px; flex-shrink: 0; }
.case-verdict-text { font-size: 13px; font-weight: 600; color: var(--red); }
.case-verdict-sub { font-size: 12px; color: var(--text3); margin-top: 2px; }

/* ── PARTNERS ── */
#partners { padding: 96px 0; background: var(--bg); }
.partners-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
@media (max-width: 768px) { .partners-wrap { grid-template-columns: 1fr; gap: 40px; } }
.partners-cards { display: flex; flex-direction: column; gap: 12px; }
.partner-card {
  background: var(--bg); border: 1px solid var(--border);
  border-radius: 8px; padding: 18px 20px;
  display: flex; gap: 16px; align-items: flex-start;
  transition: border-color 150ms var(--ease-out);
}
.partner-card:hover { border-color: rgba(37,99,235,.25); }
.partner-icon { font-size: 20px; flex-shrink: 0; margin-top: 2px; }
.partner-title { font-size: 14px; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.partner-desc { font-size: 12px; color: var(--text2); line-height: 1.6; }
.partners-cta { background: var(--blue-dim); border: 1px solid rgba(37,99,235,.2); border-radius: 8px; padding: 20px 24px; margin-top: 16px; }
.partners-cta-label { font-family: var(--mono); font-size: 11px; color: var(--blue); letter-spacing: .1em; margin-bottom: 8px; }
.partners-cta-text { font-size: 13px; color: var(--text); line-height: 1.6; }
.partners-cta a { color: var(--blue); text-decoration: none; border-bottom: 1px solid rgba(37,99,235,.3); }
.partners-cta a:hover { border-color: var(--blue); }

/* ── CTA ── */
#cta { background: var(--bg2); padding: 96px 0; }
.cta-box {
  border: 1px solid var(--border); border-radius: 12px;
  background: var(--bg); padding: 56px;
  text-align: center; position: relative; overflow: hidden;
}
.cta-box::before {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 60%; height: 1px;
  background: linear-gradient(90deg, transparent, var(--blue), transparent);
}
.cta-title {
  font-family: var(--display);
  font-size: clamp(21px, 2.7vw, 33px); font-weight: 600;
  color: var(--text); margin-bottom: 12px; letter-spacing: -0.02em;
  text-wrap: balance;
}
.cta-sub { font-size: 15px; color: var(--text2); margin-bottom: 32px; line-height: 1.65; }
.cta-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.btn-cta {
  padding: 14px 32px; border-radius: 6px;
  background: var(--blue); color: #fff;
  font-family: var(--sans); font-size: 15px; font-weight: 700;
  text-decoration: none; display: inline-block;
  transition: background 150ms var(--ease-out), transform 100ms var(--ease-out), box-shadow 150ms var(--ease-out);
}
.btn-cta:hover { background: #1D4ED8; box-shadow: 0 6px 20px rgba(37,99,235,.3); }
.btn-cta:active { transform: scale(0.97); }
.cta-note { font-size: 12px; color: var(--text3); margin-top: 20px; font-family: var(--mono); }
@media (max-width: 640px) { .cta-box { padding: 36px 24px; } }

/* ── MONITORING BANNER ── */
.monitoring-banner {
  margin-top: 20px; border: 1px dashed var(--border2); border-radius: 8px;
  background: var(--bg2); padding: 28px 36px;
  display: flex; align-items: center; gap: 32px;
  position: relative;
  transition: border-color 200ms var(--ease-out);
}
.monitoring-banner:hover { border-color: var(--border3); }
.monitoring-banner::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, transparent, var(--blue), transparent);
  border-radius: 8px 0 0 8px;
}
.monitoring-icon { width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; }
.monitoring-body { flex: 1; }
.monitoring-body .monitoring-label {
  font-family: var(--mono); font-size: 10px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--blue); margin-bottom: 4px;
}
.monitoring-body h3 { font-size: 17px; font-weight: 600; color: var(--text); margin-bottom: 7px; }
.monitoring-features { display: flex; flex-wrap: wrap; gap: 6px 20px; list-style: none; }
.monitoring-features li { font-size: 13px; color: var(--text2); }
.monitoring-features li::before { content: '· '; color: var(--blue); }
.monitoring-right {
  flex-shrink: 0; text-align: right;
  display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
}
.hnr-banner { border-color: rgba(37,99,235,.2); background: var(--blue-dim); }
.hnr-banner:hover { border-color: rgba(37,99,235,.4); }
.hnr-banner::before { background: linear-gradient(180deg, transparent, var(--blue), transparent); }
.bm-banner { border-color: #BFDBFE; background: #EFF6FF; }
.bm-tiers { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.bm-tier { background:#FFFFFF; border:1px solid var(--border2); border-radius:6px; padding:8px 14px; }
.bm-tier-name { font-family:var(--mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); margin-bottom:3px; }
.bm-tier-price { font-family:var(--mono); font-size:15px; font-weight:700; color:var(--blue); }
.bm-tier-desc { font-size:10px; color:var(--text3); margin-top:2px; }
.monitoring-price {
  font-family: var(--mono); font-size: 26px; font-weight: 700;
  color: var(--text); line-height: 1;
}
.monitoring-price span { font-size: 13px; color: var(--text2); font-weight: 400; }
@media (max-width: 700px) {
  .monitoring-banner { flex-direction: column; align-items: flex-start; padding: 24px 20px; }
  .monitoring-right { align-items: flex-start; width: 100%; }
}

/* ── AMI / MARKET SIGNAL ── */
.ami-block { margin-top: 20px; border: 1px solid #BFDBFE; border-radius: 8px; background: #EFF6FF; overflow: hidden; }
.ami-top {
  padding: 14px 24px; background: #DBEAFE; border-bottom: 1px solid #BFDBFE;
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.ami-top-left { display: flex; align-items: center; gap: 10px; }
.ami-pulse {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--blue); box-shadow: 0 0 6px rgba(37,99,235,.6);
  flex-shrink: 0; animation: pulse-blue 2s infinite;
}
.ami-label { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); }
.ami-tagline { font-size: 13px; color: var(--text2); }
.ami-metrics { padding: 20px 24px; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
@media (max-width: 768px) { .ami-metrics { grid-template-columns: 1fr 1fr; } }
.ami-metric { background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 14px; }
.ami-metric-label { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--text3); margin-bottom: 8px; }
.ami-bar-track { height: 4px; background: var(--border); border-radius: 2px; overflow: hidden; margin-bottom: 6px; }
.ami-bar-fill { height: 100%; border-radius: 2px; background: linear-gradient(90deg, #BFDBFE, var(--blue)); }
.ami-bar-fill.dim { background: linear-gradient(90deg, #DBEAFE, #BFDBFE); }
.ami-metric-row { display: flex; justify-content: space-between; align-items: baseline; }
.ami-score { font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--blue); }
.ami-max  { font-family: var(--mono); font-size: 11px; color: var(--text3); }
.ami-footer { padding: 14px 24px; border-top: 1px solid #BFDBFE; font-size: 12px; color: var(--text2); line-height: 1.6; display: flex; align-items: center; gap: 10px; }
.ami-footer strong { color: var(--text); }
@keyframes pulse-blue { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* ── MI CONSULT BANNER ── */
.mi-consult-banner {
  margin-top: 20px; border: 1px dashed #BFDBFE; border-radius: 8px;
  background: #EFF6FF; padding: 24px 32px;
  display: flex; align-items: center; gap: 28px;
  position: relative;
  transition: border-color 200ms var(--ease-out);
}
.mi-consult-banner:hover { border-color: var(--blue); }
.mi-consult-banner::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, transparent, var(--blue), transparent);
  border-radius: 8px 0 0 8px;
}
.mi-consult-icon { width: 38px; height: 38px; object-fit: contain; flex-shrink: 0; }
.mi-consult-body { flex: 1; }
.mi-consult-label { font-family: var(--mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); margin-bottom: 4px; }
.mi-consult-body h3 { font-size: 16px; font-weight: 600; color: var(--text); margin-bottom: 6px; }
.mi-consult-body p { font-size: 13px; color: var(--text2); line-height: 1.6; }
.mi-consult-action { flex-shrink: 0; }
@media (max-width: 640px) {
  .mi-consult-banner { flex-direction: column; padding: 20px; gap: 14px; }
  .mi-consult-action { width: 100%; }
}
.btn-blue { border: 1px solid rgba(37,99,235,.25); color: var(--blue); }
.btn-blue:hover { border-color: var(--blue); background: var(--blue-dim); }

/* ── SILENT ── */
#silent { background: var(--bg2); position: relative; }
.sl-label {
  font-family: var(--mono); font-size: 11px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--text3);
}
.sl-phases {
  display: flex; flex-direction: column;
  border: 1px solid var(--border); border-radius: 8px; overflow: hidden;
  margin-bottom: 28px;
}
.sl-phase {
  display: grid; grid-template-columns: 80px 1fr 200px;
  gap: 24px; align-items: center;
  padding: 22px 28px; border-bottom: 1px solid var(--border);
  transition: background 150ms var(--ease-out);
}
.sl-phase:last-child { border-bottom: none; }
.sl-phase:hover { background: var(--bg2); }
.sl-phase-code { font-family: var(--mono); font-size: 13px; font-weight: 500; color: var(--text3); letter-spacing: .08em; }
.sl-phase-name { font-size: 14px; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.sl-phase-desc { font-size: 13px; color: var(--text2); line-height: 1.5; }
.sl-phase-meta { text-align: right; }
.sl-phase-time { font-family: var(--mono); font-size: 11px; color: var(--text3); margin-bottom: 4px; }
.sl-phase-price { font-family: var(--mono); font-size: 14px; font-weight: 500; color: var(--text); }
.sl-packs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 28px; }
.sl-pack { border: 1px solid var(--border); border-radius: 8px; padding: 22px 20px; background: var(--bg); transition: border-color 150ms var(--ease-out); }
.sl-pack:hover { border-color: var(--border2); }
.sl-pack-featured { border-color: var(--border2); background: var(--bg2); }
.sl-pack-tier { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; color: var(--text3); text-transform: uppercase; margin-bottom: 8px; }
.sl-pack-price { font-size: 22px; font-weight: 700; color: var(--text); line-height: 1; margin-bottom: 8px; letter-spacing: -0.02em; }
.sl-pack-incl { font-family: var(--mono); font-size: 11px; color: var(--text3); letter-spacing: .04em; }
.sl-cta {
  border: 1px dashed var(--border2); border-radius: 8px;
  padding: 28px 36px; background: var(--bg2);
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
}
.sl-cta-label { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; color: var(--text3); text-transform: uppercase; margin-bottom: 6px; }
.sl-cta-sub { font-size: 14px; color: var(--text2); }
.sl-cta-links { display: flex; gap: 10px; flex-wrap: wrap; }
.btn-sl {
  padding: 9px 18px; border-radius: 5px; font-size: 13px; font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--border2); color: var(--text2); font-family: var(--mono);
  transition: border-color 150ms var(--ease-out), color 150ms var(--ease-out), background 150ms var(--ease-out), transform 100ms var(--ease-out);
}
.btn-sl:hover { border-color: var(--text); color: var(--text); background: var(--bg3); }
.btn-sl:active { transform: scale(0.97); }
@media (max-width: 768px) {
  .sl-phase { grid-template-columns: 60px 1fr; gap: 16px; }
  .sl-phase-meta { grid-column: 2; text-align: left; margin-top: 2px; }
  .sl-packs { grid-template-columns: 1fr; }
  .sl-cta { flex-direction: column; align-items: flex-start; padding: 24px 20px; }
}
@media (max-width: 480px) {
  .sl-phase { grid-template-columns: 1fr; gap: 8px; }
  .sl-phase-meta { text-align: left; }
}

/* ── ARTICLES ── */
#articles { background: var(--bg2); }
.articles-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (max-width: 768px) { .articles-grid { grid-template-columns: 1fr; } }
.article-card {
  border: 1px solid var(--border); border-radius: 8px;
  background: var(--bg); overflow: hidden;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  transition: border-color 200ms var(--ease-out), transform 200ms var(--ease-out);
}
.article-card:hover { border-color: var(--border2); transform: translateY(-2px); }
.article-card.featured { grid-column: 1 / -1; }
.article-body { padding: 28px; flex: 1; display: flex; flex-direction: column; }
.article-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.article-date { font-family: var(--mono); font-size: 11px; color: var(--text3); }
.article-read { font-family: var(--mono); font-size: 11px; color: var(--text3); }
.article-meta-sep { color: var(--text3); font-size: 11px; }
.article-title {
  font-size: 18px; font-weight: 600; color: var(--text);
  margin-bottom: 10px; line-height: 1.35;
  transition: color 150ms var(--ease-out);
}
.article-card:not(.featured) .article-title { font-size: 16px; }
.article-card:hover .article-title { color: var(--blue); }
.article-excerpt { font-size: 14px; color: var(--text2); line-height: 1.65; flex: 1; margin-bottom: 20px; }
.article-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 16px; border-top: 1px solid var(--border);
}
.article-read-more {
  font-family: var(--mono); font-size: 12px; color: var(--blue);
  letter-spacing: .04em; transition: color 150ms var(--ease-out);
}
.article-card:hover .article-read-more { color: #1D4ED8; }
.article-author { font-size: 12px; color: var(--text3); }
.articles-cats { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px; }
.cat-btn {
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em;
  padding: 4px 12px; border-radius: 3px; cursor: pointer;
  border: 1px solid var(--border); background: none; color: var(--text2);
  transition: border-color 150ms, color 150ms, background 150ms;
}
.cat-btn:hover, .cat-btn.active { border-color: var(--blue); color: var(--blue); background: var(--blue-dim); }

/* ── FAQ ── */
#faq { padding: 80px 0; }
.faq-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 2px; }
.faq-item {
  border: 1px solid var(--border); border-radius: 6px;
  background: var(--bg2); overflow: hidden;
  transition: border-color 150ms var(--ease-out);
}
.faq-item[open] { border-color: var(--blue); }
.faq-q {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px; cursor: pointer;
  font-size: 15px; font-weight: 600; color: var(--text);
  line-height: 1.4; list-style: none; gap: 16px;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after {
  content: '+'; font-family: var(--mono); font-size: 18px;
  color: var(--blue); flex-shrink: 0;
}
.faq-item[open] .faq-q::after { content: '−'; }
.faq-a { padding: 0 20px 18px; font-size: 14px; color: var(--text2); line-height: 1.7; }

/* ── ADD-ONS ── */
.addons-section {
  margin-top: 32px; border: 1px solid var(--border); border-radius: 10px;
  background: var(--bg2); padding: 36px 32px;
}
.addons-header { margin-bottom: 28px; }
.addons-header h3 { font-size: 20px; font-weight: 600; color: var(--text); margin: 8px 0 10px; letter-spacing: -0.01em; }
.addons-header p { font-size: 13px; color: var(--text2); }
.addons-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px; margin-bottom: 20px;
}
.addon-card {
  background: var(--bg); border: 1px solid var(--border); border-radius: 8px;
  padding: 16px 18px;
  transition: border-color 150ms var(--ease-out), transform 150ms var(--ease-out);
}
.addon-card:hover { border-color: rgba(37,99,235,.25); transform: translateY(-1px); }
.addon-price {
  font-family: var(--mono); font-size: 18px; font-weight: 700; color: var(--blue);
  margin-bottom: 8px;
}
.addon-name { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 5px; }
.addon-desc { font-size: 11px; color: var(--text3); line-height: 1.5; }
.addons-note {
  font-size: 12px; color: var(--text2); font-family: var(--mono);
  background: var(--bg); border: 1px dashed var(--border2); border-radius: 6px;
  padding: 10px 16px;
}
@media (max-width: 600px) {
  .addons-section { padding: 24px 18px; }
  .addons-grid { grid-template-columns: 1fr 1fr; }
}

/* ── FREE-CHECK VS ── */
.fc-vs-row { display: flex; gap: 8px; margin-bottom: 6px; align-items: stretch; }
.fc-vs-col { flex: 1; border-radius: 6px; padding: 10px 14px; font-size: 12px; line-height: 1.5; }
.fc-vs-col-bad { background: #F8F8F8; border: 1px solid var(--border); color: var(--text3); }
.fc-vs-col-good { background: var(--green-dim); border: 1px solid #BBF7D0; color: var(--text2); }
.fc-vs-label { font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 5px; }
.fc-vs-label-bad { color: var(--text3); }
.fc-vs-label-good { color: var(--green); }
.fc-vs-divider { display: flex; align-items: center; font-size: 10px; color: var(--text3); padding-top: 2px; }
.free-check-vs { margin-top: 24px; }
.free-check-vs-title { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--text3); margin-bottom: 12px; }

/* ── NAV MI DOT ── */
.nav-mi-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--blue); box-shadow: 0 0 6px rgba(37,99,235,.5);
  flex-shrink: 0; animation: pulse-blue 2s infinite;
}

/* ── FOOTER ── */
footer { border-top: 1px solid var(--border); padding: 32px 0; background: var(--bg); }
.footer-inner {
  display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 24px;
}
.footer-copy { font-size: 13px; color: var(--text3); margin-top: 4px; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.footer-link { font-size: 13px; color: var(--text3); text-decoration: none; transition: color 150ms var(--ease-out); }
.footer-link:hover { color: var(--text2); }
.footer-social { display: flex; align-items: center; gap: 20px; }
.footer-social-label { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--text3); }
.footer-social-link {
  display: flex; align-items: center; gap: 7px;
  font-size: 13px; color: var(--text2); text-decoration: none;
  transition: color 150ms var(--ease-out);
}
.footer-social-link:hover { color: var(--text); }
@media (max-width: 640px) {
  .footer-links { gap: 4px 18px; }
  .footer-link { padding: 11px 0; }
  .footer-social { flex-wrap: wrap; gap: 8px 20px; }
  .footer-social-link { padding: 11px 0; }
}

/* ── PAGE TOP (inner pages) ── */
.pt-nav { padding-top: 152px !important; }

/* ── LANG SWITCH ── */
[data-en], [data-ru], [data-pl] { display: none !important; }
body.en [data-ua] { display: none !important; }
body.en [data-en] { display: revert !important; }
body.ru [data-ua] { display: none !important; }
body.ru [data-ru] { display: revert !important; }
body.pl [data-ua] { display: none !important; }
body.pl [data-pl] { display: revert !important; }
body.en .pricing-features li[data-en],
body.en .pricing-time[data-en],
body.en .pricing-badge[data-en] { display: flex !important; }
body.ru .pricing-features li[data-ru],
body.ru .pricing-time[data-ru],
body.ru .pricing-badge[data-ru] { display: flex !important; }
body.pl .pricing-features li[data-pl],
body.pl .pricing-time[data-pl],
body.pl .pricing-badge[data-pl] { display: flex !important; }

/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hero-content { animation: fadeUp 600ms var(--ease-out) both; }
.hero-visual  { animation: fadeUp 600ms 150ms var(--ease-out) both; }

.reveal {
  opacity: 0; transform: translateY(16px);
  transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

/* Stagger for grid children */
.stagger-children > *:nth-child(1) { transition-delay: 0ms; }
.stagger-children > *:nth-child(2) { transition-delay: 60ms; }
.stagger-children > *:nth-child(3) { transition-delay: 120ms; }
.stagger-children > *:nth-child(4) { transition-delay: 180ms; }
.stagger-children > *:nth-child(5) { transition-delay: 240ms; }
.stagger-children > *:nth-child(6) { transition-delay: 300ms; }

/* ── RESPONSIVE ── */
@media (max-width: 860px) {
  .hero-container { padding-top: 48px; padding-bottom: 64px; }
  .report-card { max-width: 100%; }
}
@media (max-width: 640px) {
  #hero { min-height: auto; }
  section { padding: 72px 0; }
  .cta-box { padding: 36px 20px; }
  .case-header { flex-direction: column; }
  .case-outcome { text-align: left; }
}

/* ── LABEL (old .label class — keep for other pages) ── */
.label {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
}

/* ── NAV SILENT ── */
.nav-silent {
  padding: 5px 12px; border-radius: 4px;
  border: 1px solid var(--border2); color: var(--text2);
  font-size: 12px; font-weight: 500; text-decoration: none;
  font-family: var(--mono); letter-spacing: .04em;
  transition: border-color 150ms var(--ease-out), color 150ms var(--ease-out);
}
.nav-silent:hover { border-color: var(--text); color: var(--text); }

/* ── NAV ARTICLES ── */
.nav-articles {
  font-size: 13px; font-weight: 500; color: var(--text2);
  text-decoration: none; transition: color 150ms var(--ease-out);
}
.nav-articles:hover { color: var(--text); }
@media (max-width: 768px) { .nav-articles { display: none; } }

/* ── PRICE-WAS (strikethrough original price) ── */
.price-was {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 400;
  color: var(--text3);
  text-decoration: line-through;
  display: block;
  line-height: 1;
  margin-bottom: 2px;
}

/* ── NAV-FREE (free check button in nav) ── */
.nav-free {
  padding: 7px 14px; border-radius: 4px;
  border: 1.5px solid var(--blue); color: var(--blue);
  background: var(--blue-dim);
  font-size: 13px; font-weight: 600; text-decoration: none;
  transition: background 150ms var(--ease-out), border-color 150ms var(--ease-out), transform 100ms var(--ease-out);
  white-space: nowrap;
}
.nav-free:hover { background: var(--blue-mid); }
.nav-free:active { transform: scale(0.97); }

/* ── BTN-HERO-FREE (old hero free check button) ── */
.btn-hero-free {
  display: inline-flex; align-items: center;
  padding: 12px 24px; border-radius: 5px;
  border: 1.5px solid var(--blue); color: var(--blue);
  background: var(--blue-dim);
  font-family: var(--sans); font-size: 14px; font-weight: 600;
  text-decoration: none;
  transition: background 150ms var(--ease-out), transform 100ms var(--ease-out);
}
.btn-hero-free:hover { background: var(--blue-mid); }
.btn-hero-free:active { transform: scale(0.97); }

/* ── HERO STATS (old stat row) ── */
.hero-stats { display: flex; gap: 40px; margin-top: 56px; flex-wrap: wrap; }
.hero-stat-num {
  font-family: var(--mono); font-size: 26px; font-weight: 500;
  color: var(--text); display: block;
}
.hero-stat-label { font-size: 13px; color: var(--text3); margin-top: 2px; }

/* ── HERO GLOBE ── */
@keyframes globe-pulse {
  0%, 100% { transform: scale(1);   opacity: .8; }
  50%       { transform: scale(2.2); opacity: 0; }
}
.globe-pulse {
  animation: globe-pulse 3.5s ease-out infinite;
  transform-origin: center center;
  transform-box: fill-box;
}

.hero-globe-bg {
  position: absolute;
  right: -2%;
  top: 50%;
  transform: translateY(-50%);
  width: 56%;
  max-width: 680px;
  z-index: 0;
  opacity: 1;
  pointer-events: none;
}
.hero-globe-svg {
  width: 100%; height: auto;
  animation: float-card 12s ease-in-out infinite;
  filter: drop-shadow(0 0 40px rgba(37,99,235,0.25));
}
@media (max-width: 860px) { .hero-globe-bg { display: none; } }

/* ── WTC CHAIN DIAGRAM ── */
.wtc-chain-wrap {
  margin-bottom: 24px;
  padding: 16px 20px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}
.wtc-chain-label {
  font-family: var(--mono);
  font-size: 10px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--text3); margin-bottom: 14px;
}
.wtc-chain-svg {
  width: 100%; height: auto; display: block;
  max-height: 110px;
}

/* ── MARQUEE TRUST BAR ── */
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes float-card {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  33%       { transform: translateY(-8px) rotate(0.4deg); }
  66%       { transform: translateY(-4px) rotate(-0.3deg); }
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .4; transform: scale(.7); }
}
@keyframes count-up {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.trust-bar { overflow: hidden; }
.trust-bar .trust-bar-inner { display: none; }
.trust-marquee-wrapper {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
  padding: 12px 0;
}
.trust-marquee-track {
  display: flex; align-items: center; gap: 8px;
  width: max-content;
  animation: marquee 34s linear infinite;
}
.trust-marquee-track:hover { animation-play-state: paused; }
.trust-marquee-label {
  font-family: var(--mono); font-size: 10px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--text3);
  white-space: nowrap; padding-right: 20px; flex-shrink: 0;
}

/* ── STATS STRIP ── */
#stats-strip {
  padding: 56px 0; background: var(--bg);
  border-bottom: 1px solid var(--border);
}
.stats-strip-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--border); border-radius: 10px; overflow: hidden;
}
@media (max-width: 640px) {
  .stats-strip-grid { grid-template-columns: 1fr 1fr; }
}
.stat-item {
  padding: 28px 24px;
  border-right: 1px solid var(--border);
  text-align: center;
  background: var(--bg);
  transition: background 200ms var(--ease-out);
}
.stat-item:last-child { border-right: none; }
.stat-item:hover { background: var(--bg2); }
.stat-num {
  font-family: var(--mono); font-size: 34px; font-weight: 700;
  color: var(--text); line-height: 1; margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.stat-num .stat-accent { color: var(--blue); }
.stat-label {
  font-size: 12px; color: var(--text3); line-height: 1.4;
  font-family: var(--mono); letter-spacing: .04em;
  text-transform: uppercase;
}
.stat-item.visible .stat-num {
  animation: count-up .5s var(--ease-out) forwards;
}

/* ── HOW IT WORKS ── */
#how-it-works {
  padding: 96px 0; background: var(--bg2);
}
.how-steps-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0; position: relative;
  border: 1px solid var(--border); border-radius: 10px; overflow: hidden;
}
@media (max-width: 860px) {
  .how-steps-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .how-steps-grid { grid-template-columns: 1fr; }
}
.how-step-card {
  padding: 28px 24px;
  background: var(--bg);
  border-right: 1px solid var(--border);
  position: relative;
  transition: background 200ms var(--ease-out);
}
.how-step-card:last-child { border-right: none; }
.how-step-card:hover { background: var(--bg2); }
.how-step-num {
  font-family: var(--mono); font-size: 11px; letter-spacing: .1em;
  color: var(--blue); margin-bottom: 14px;
  display: flex; align-items: center; gap: 6px;
}
.how-step-num::before {
  content: ''; display: block; width: 20px; height: 1px; background: var(--blue);
}
.how-step-icon img { width: 44px; height: 44px; object-fit: contain; display: block; }
/* 3D-іконка самодостатня — плашка-підкладка була рамкою для емодзі.
   Розмір узгоджено зі стандартом сайту (.msvc-ico 44 / .lg-case-ico 56). */
.how-step-icon {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
}
.how-step-title {
  font-size: 14px; font-weight: 700; color: var(--text);
  margin-bottom: 6px; line-height: 1.3; letter-spacing: -0.01em;
}
.how-step-desc {
  font-size: 12px; color: var(--text2); line-height: 1.65;
}
.how-step-arrow {
  position: absolute; right: -12px; top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--bg); border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; color: var(--blue);
}
@media (max-width: 860px) { .how-step-arrow { display: none; } }

/* ── DATA SOURCES GRID ── */
#data-sources {
  padding: 96px 0; background: var(--bg);
}
.sources-intro {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; margin-bottom: 40px; flex-wrap: wrap;
}
.sources-count-badge {
  flex-shrink: 0; display: flex; align-items: center; gap: 8px;
  padding: 8px 16px; border-radius: 20px;
  background: var(--blue-dim); border: 1px solid rgba(37,99,235,.2);
}
.sources-count-badge span {
  font-family: var(--mono); font-size: 12px; color: var(--blue); font-weight: 600;
}
.sources-pulse {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--blue);
  animation: pulse-dot 2s infinite;
}
.sources-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
@media (max-width: 860px) { .sources-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 540px) { .sources-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Реєстри — згортуваний блок, щоб не займав багато місця одразу */
.sources-collapse {
  position: relative; max-height: 264px; overflow: hidden;
  transition: max-height .45s ease;
}
.sources-collapse::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 104px;
  background: linear-gradient(to bottom, transparent, var(--bg));
  pointer-events: none; transition: opacity .3s ease;
}
.sources-collapse.open { max-height: 6000px; }
.sources-collapse.open::after { opacity: 0; }
.sources-toggle-wrap { display: flex; justify-content: center; margin-top: 20px; }
.sources-toggle {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 22px; border-radius: 24px; cursor: pointer;
  font-family: var(--sans); font-size: 14px; font-weight: 600; color: var(--blue);
  background: var(--blue-dim); border: 1px solid rgba(37,99,235,.25);
  transition: background .2s ease, border-color .2s ease;
}
.sources-toggle:hover { background: rgba(37,99,235,.12); border-color: rgba(37,99,235,.4); }
.sources-toggle .st-hide { display: none; }
.sources-toggle[aria-expanded="true"] .st-show { display: none; }
.sources-toggle[aria-expanded="true"] .st-hide { display: inline; }
.sources-toggle .st-chevron { transition: transform .3s ease; }
.sources-toggle[aria-expanded="true"] .st-chevron { transform: rotate(180deg); }

/* На вузьких екранах назва джерела переноситься, а не обрізається:
   у вітрині обрізана назва не доводить нічого. */
@media (max-width: 860px) {
  .sources-grid .source-card { align-items: flex-start; padding: 10px 12px; }
  .sources-grid .source-card .source-mono { margin-top: 1px; }
  .sources-grid .source-card .source-name {
    white-space: normal; overflow: visible; text-overflow: clip;
    overflow-wrap: anywhere;
    font-size: 11.5px; line-height: 1.25;
  }
  .sources-grid .source-card .source-tag {
    white-space: normal; overflow: visible; text-overflow: clip;
  }
}

.source-card {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 8px; background: var(--bg);
  transition: border-color 150ms, box-shadow 150ms, transform 150ms var(--ease-out);
  cursor: default;
}
.source-card:hover {
  border-color: var(--border2);
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  transform: translateY(-2px);
}
.source-mono {
  width: 30px; height: 30px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 9px; font-weight: 700;
  letter-spacing: .02em; flex-shrink: 0; line-height: 1;
  text-align: center;
}
.source-info { min-width: 0; }
.source-name {
  font-size: 12px; font-weight: 600; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  line-height: 1.2; margin-bottom: 2px;
}
.source-tag {
  font-family: var(--mono); font-size: 9px; color: var(--text3);
  letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
  display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
}

/* source accent colors */
.sm-ofac   { background: #FEF2F2; color: #DC2626; }
.sm-eu     { background: #EFF6FF; color: #1D4ED8; }
.sm-un     { background: #F0FDFA; color: #0D9488; }
.sm-nsdc   { background: #FFFBEB; color: #92400E; }
.sm-icij   { background: #1F2937; color: #60A5FA; }
.sm-pandora{ background: #F5F3FF; color: #7C3AED; }
.sm-panama { background: #ECFDF5; color: #065F46; }
.sm-fincen { background: #FFF7ED; color: #C2410C; }
.sm-edprou { background: var(--blue-dim); color: var(--blue); }
.sm-ocorp  { background: #FFF7ED; color: #EA580C; }
.sm-courts { background: var(--bg2); color: var(--text2); }
.sm-shodan { background: #FEF2F2; color: #DC2626; }
.sm-intelx { background: #F0FDFA; color: #0891B2; }
.sm-hibp   { background: #FEF2F2; color: #9B1C1C; }
.sm-leakck { background: #F0FDF4; color: #15803D; }
.sm-dehash { background: #F5F3FF; color: #5B21B6; }

/* ── HERO FLOAT ── */
.report-card-float {
  animation: float-card 8s ease-in-out infinite;
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* ════════════════════════════════════════════════════════════
   UX-АУДИТ ФІКСИ (конверсія + доступність + мобільна навігація)
   ════════════════════════════════════════════════════════════ */

/* A11Y — видимий фокус для клавіатурної навігації (WCAG 2.4.7) */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
.service-chip:focus-within {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Reveal-контент видимий, якщо JS вимкнено/впав (no-JS fallback) */
@media (scripting: none) {
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* ── МОБІЛЬНЕ МЕНЮ (бургер) ── */
.nav-toggle {
  display: none;
  flex-direction: column; justify-content: center; gap: 5px;
  width: 44px; height: 44px; padding: 10px;
  background: none; border: none; cursor: pointer;
  margin-left: 4px;
}
.nav-toggle span {
  display: block; height: 2px; width: 100%;
  background: var(--text); border-radius: 2px;
  transition: transform 200ms var(--ease-out), opacity 150ms var(--ease-out);
}
nav.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
nav.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
nav.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 960px) {
  .nav-toggle { display: flex; order: 2; }
  /* у згорнутому стані в шапці лишаються тільки лого + бургер */
  .nav-right { display: none; }
  /* розгорнута панель меню */
  nav.nav-open .nav-inner {
    height: auto; flex-wrap: wrap; row-gap: 4px; padding-bottom: 18px;
  }
  /* шапка (лого + мова + ✕) закріплена зверху, скролиться лише список послуг */
  nav.nav-open .nav-center {
    max-height: calc(100dvh - 200px);
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  nav.nav-open .nav-center {
    display: flex; flex-direction: column; align-items: stretch;
    width: 100%; order: 3; gap: 2px; margin-top: 6px;
  }
  nav.nav-open .nav-dropdown { display: block; width: 100%; }
  nav.nav-open .nav-dropdown-menu {
    position: static; display: flex; flex-direction: column;
    width: auto; max-width: none; padding: 2px 0 6px; gap: 0;
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: none; box-shadow: none; border: none; transition: none;
  }
  nav.nav-open .nav-dropdown-group { padding: 2px 0; }
  nav.nav-open .nav-dropdown-trigger {
    width: 100%; justify-content: flex-start; pointer-events: none;
    font-weight: 600; color: var(--text);
  }
  nav.nav-open .nav-chevron { display: none; }
  nav.nav-open .nav-service {
    width: 100%; padding: 11px 12px; border-bottom: 1px solid var(--border);
  }
  nav.nav-open .nav-right {
    display: flex; flex-direction: column; align-items: stretch;
    width: 100%; order: 4; gap: 12px; margin-top: 12px;
    padding-top: 14px; border-top: 1px solid var(--border);
  }
  nav.nav-open .lang-toggle { align-self: flex-start; }
  nav.nav-open .nav-free,
  nav.nav-open .nav-cta {
    display: block; text-align: center; padding: 12px 16px; font-size: 15px;
  }
}

/* ── МОВНИЙ DROPDOWN (компактний, у шапці на мобільному) ── */
.lang-dropdown { position: relative; display: none; }
.lang-dropdown-trigger {
  display: inline-flex; align-items: center; gap: 5px;
  height: 44px; padding: 0 12px;
  border: 1px solid var(--border2); border-radius: 6px;
  background: #fff; cursor: pointer;
  font-family: var(--mono); font-size: 12px; font-weight: 600;
  color: var(--text); letter-spacing: .04em;
  transition: border-color 150ms var(--ease-out);
}
.lang-dropdown-trigger:hover { border-color: var(--border3); }
.ld-chevron { transition: transform .2s var(--ease-out); flex-shrink: 0; }
.lang-dropdown.open .ld-chevron { transform: rotate(180deg); }
.lang-dropdown-menu {
  position: absolute; top: calc(100% + 8px); right: 0;
  min-width: 172px;
  background: #fff; border: 1px solid var(--border);
  border-radius: 8px; box-shadow: 0 14px 38px rgba(15,23,42,.16), 0 4px 10px rgba(15,23,42,.06);
  padding: 6px; display: flex; flex-direction: column; gap: 2px;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .18s var(--ease-out), transform .18s var(--ease-out), visibility .18s;
  z-index: var(--z-tooltip);
}
.lang-dropdown.open .lang-dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.lang-opt {
  display: flex; align-items: center; gap: 10px;
  padding: 0 12px; min-height: 44px; width: 100%;
  border: none; background: none; cursor: pointer;
  border-radius: 6px; text-align: left;
  font-family: var(--sans); font-size: 14px; color: var(--text2);
  transition: background 120ms, color 120ms;
}
.lang-opt:hover { background: var(--bg2); color: var(--text); }
.lang-opt.active { background: var(--blue-dim); color: var(--blue); font-weight: 600; }
.lang-opt .lang-code { font-family: var(--mono); font-size: 11px; font-weight: 700; width: 22px; flex-shrink: 0; color: inherit; }
/* desktop: dropdown у nav-right замість горизонтального toggle */
.lang-dropdown--desk { display: inline-flex; align-items: center; }
.lang-dropdown--desk .lang-dropdown-trigger { height: 36px; padding: 0 10px; font-size: 12px; }
@media (max-width: 960px) {
  .lang-dropdown--desk { display: none; }
  /* зворотна сумісність: старий мобільний .lang-dropdown (без --mobile) ТА новий --mobile */
  .lang-dropdown:not(.lang-dropdown--desk) { display: block; order: 1; margin-left: auto; margin-right: 8px; }
}

/* ── STICKY МОБІЛЬНИЙ CTA-БАР (завжди доступне «Замовити») ── */
.mobile-cta-bar { display: none; }
@media (max-width: 860px) {
  .mobile-cta-bar {
    display: flex; gap: 10px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--border);
  }
  .mobile-cta-bar a {
    flex: 1; text-align: center; padding: 13px 14px; border-radius: 8px;
    font-size: 15px; font-weight: 600; text-decoration: none;
    min-height: 48px; display: flex; align-items: center; justify-content: center;
  }
  .mcb-primary { background: var(--blue); color: #fff; }
  .mcb-primary:active { background: var(--blue-text); }
  .mcb-ghost { background: var(--bg3); color: var(--text); border: 1px solid var(--border2); }
  /* щоб бар не перекривав футер */
  body { padding-bottom: 72px; }
}

/* ===== DARK THEME — site-wide (2026-06-23). Активується лише коли <html class="dark"> (ставить theme.js/FOUC). Сторінки без theme.js лишаються світлими. ===== */
html.dark{
  --bg:#0B0F1A; --bg2:#121826; --bg3:#1A2233; --bg4:#232E44;
  --border:#222C40; --border2:#2E3A52; --border3:#46536E;
  --text:#E8EEF7; --text2:#9FB0C9; --text3:#7382A0;
  --blue:#4F8DF5; --blue-dim:rgba(79,141,245,.14); --blue-mid:rgba(79,141,245,.24); --blue-text:#8FB6FB;
  --amber:#E0A33A; --amber-dim:rgba(224,163,58,.13);
  --red:#F87171; --red-dim:rgba(248,113,113,.12);
  --green:#34D399; --green-dim:rgba(52,211,153,.12);
  color-scheme:dark;
}
html.dark nav{ background:rgba(11,15,26,.92); }
html.dark .lang-dropdown-trigger{ background:var(--bg2); color:var(--text); border-color:var(--border2); }
html.dark .lang-dropdown-trigger:hover{ border-color:var(--border3); }
html.dark .lang-dropdown-menu{ background:var(--bg2); border-color:var(--border); box-shadow:0 14px 38px rgba(0,0,0,.5),0 4px 10px rgba(0,0,0,.3); }
html.dark .lang-opt:hover{ background:var(--bg3); }
html.dark .lang-dropdown-trigger:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }
html.dark .nav-dropdown-menu{ background:var(--bg2); border-color:var(--border); box-shadow:0 16px 48px rgba(0,0,0,.55),0 4px 12px rgba(0,0,0,.3); }
html.dark .nav-dropdown-item:hover{ background:var(--bg3); }
html.dark .service-mi-card{ background:rgba(79,141,245,.10); border-color:rgba(79,141,245,.32); }
html.dark .service-mi-card::before{ background:linear-gradient(90deg,transparent,#4F8DF5,transparent); }
html.dark .pricing-card-legal{ background:linear-gradient(180deg,rgba(224,163,58,.10) 0%,var(--bg2) 60%); }
html.dark .bm-tier{ background:var(--bg3); border-color:var(--border2); }
html.dark .tag-amber{ background:rgba(224,163,58,.14); color:#F0C77A; border-color:rgba(224,163,58,.4); }
html.dark .rc-score-warn{ background:rgba(224,163,58,.13); border-color:rgba(224,163,58,.4); }
html.dark .rc-verdict-warn{ background:rgba(224,163,58,.13); }
html.dark .sm-nsdc{ background:rgba(224,163,58,.16); color:#F0C77A; }
html.dark .sm-fincen, html.dark .sm-ocorp{ background:rgba(217,119,6,.18); color:#F0B870; }
/* кнопка перемикача теми (вставляється theme.js у .nav-right) */
.gl-theme-btn{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:10px; border:1px solid var(--border); background:transparent; color:var(--text); cursor:pointer; transition:background .2s; flex:0 0 auto; }
.gl-theme-btn:hover{ background:var(--bg3); }

/* ===== DARK THEME — додаткові світлі плашки/бейджі (2026-06-23) ===== */
html.dark .pricing-card.featured{ background:rgba(79,141,245,.10); border-right-color:rgba(79,141,245,.32); border-left-color:rgba(79,141,245,.32); }
html.dark .mi-consult-banner{ background:rgba(79,141,245,.10); border-color:rgba(79,141,245,.32); }
html.dark .bm-banner,html.dark .ami-block{ background:rgba(79,141,245,.10); border-color:rgba(79,141,245,.32); }
html.dark .tag-red{ background:rgba(220,38,38,.15); color:#F0A0A0; border-color:rgba(220,38,38,.4); }
html.dark .tag-green{ background:rgba(22,163,74,.15); color:#86E0A8; border-color:rgba(22,163,74,.4); }
html.dark .fc-vs-col-bad{ background:var(--bg3); color:var(--text3); }
html.dark .mobile-cta-bar{ background:rgba(11,15,26,.97); border-top-color:var(--border); }
html.dark .mcb-ghost{ background:var(--bg2); color:var(--text); border-color:var(--border2); }
html.dark .sm-ofac,html.dark .sm-shodan,html.dark .sm-hibp{ background:rgba(220,38,38,.16); color:#F2A0A0; }
html.dark .sm-eu{ background:rgba(79,141,245,.16); color:#9FC0F5; }
html.dark .sm-un,html.dark .sm-intelx{ background:rgba(13,148,136,.16); color:#6FD3C5; }
html.dark .sm-pandora,html.dark .sm-dehash{ background:rgba(124,58,237,.16); color:#C4B0F0; }
html.dark .sm-panama,html.dark .sm-leakck{ background:rgba(22,163,74,.16); color:#86E0A8; }
html.dark .sm-courts{ background:var(--bg3); color:var(--text2); }
html.dark [style*="#EFF6FF"],html.dark [style*="#eff6ff"]{ background:rgba(79,141,245,.10)!important; border-color:rgba(79,141,245,.30)!important; }
html.dark [style*="#FFFBEB"],html.dark [style*="#fffbeb"]{ background:rgba(224,163,58,.12)!important; }
html.dark [style*="239, 246, 255"],html.dark [style*="239,246,255"]{ background:rgba(79,141,245,.10)!important; border-color:rgba(79,141,245,.32)!important; }

/* ── ЗСУ ANNOUNCEMENT BAR ── */
:root { --zsu-h: 34px; }
body { padding-top: var(--zsu-h); }
nav { top: var(--zsu-h); }
.zsu-bar {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: calc(var(--z-nav) + 1);
  height: var(--zsu-h);
  display: flex; align-items: center; justify-content: center;
  background: #2563EB; color: #fff;
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(11px, 2.7vw, 13px);
  letter-spacing: .01em; line-height: 1.2;
  padding: 0 14px; text-align: center;
  white-space: nowrap;
}
.zsu-bar .zsu-flag { font-size: 1.05em; }
@media (max-width: 600px) { :root { --zsu-h: 30px; } }
html.dark .zsu-bar { background: #1D4ED8; color: #fff; }

/* --- Accessibility: skip-link + visible focus (audit 2026-07-18) --- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--blue);color:#fff;padding:10px 16px;border-radius:0 0 6px 0;font:600 14px/1 var(--sans);text-decoration:none}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:2px}
html.dark a:focus-visible,html.dark button:focus-visible,html.dark [tabindex]:focus-visible,html.dark input:focus-visible,html.dark textarea:focus-visible,html.dark select:focus-visible{outline-color:#3B82F6}
/* Inline form validation — red only after user interaction (:user-invalid), no JS, safe for conversion forms */
input:user-invalid,textarea:user-invalid,select:user-invalid{border-color:#DC2626;box-shadow:0 0 0 3px rgba(220,38,38,.12)}

/* ═══════════════ Argus FX — курсор «Око» → лупа на клікабельному (fx.js) ═══════════════ */
.afx-cur{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;display:none;
  transform:translate3d(-100px,-100px,0);
  filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.4))}          /* контур — курсор не зливається на синьому/світлому */
html.dark .afx-cur{filter:drop-shadow(0 0 2px rgba(0,0,0,.7))}
.afx-cur i{position:absolute;left:0;top:0;display:block;border-radius:50%;color:#C9A227;
  transform:translate(-50%,-50%);
  transition:width .2s var(--ease-out),height .2s var(--ease-out),opacity .18s,border-color .18s,border-width .18s}
.afx-ring i{width:32px;height:32px;border:1.5px solid var(--blue);opacity:.5}
.afx-dot  i{width:7px;height:7px;background:#C9A227}          /* золоте ядро (перегук з лого) */
html.dark .afx-dot i{background:#E4C25A}
html.dark .afx-ring i{border-color:#4F8DF5}                  /* дарк-акцент явно (index має власну inline-тему) */
/* ручка лупи — виростає з нижньо-правого краю лінзи лише на клікабельному */
.afx-ring i::after{content:"";position:absolute;right:-3px;bottom:-3px;
  width:3px;height:12px;border-radius:3px;background:currentColor;
  transform-origin:top center;transform:rotate(-45deg) scaleY(0);opacity:0;
  transition:transform .18s var(--ease-out),opacity .18s}
/* ── наведення на клікабельний → ЛУПА (золота лінза, читається й на синьому) ── */
body.afx-hover .afx-ring i{width:26px;height:26px;opacity:1;border-width:2.5px;border-color:#C9A227}
html.dark body.afx-hover .afx-ring i{border-color:#E4C25A}
body.afx-hover .afx-ring i::after{opacity:1;transform:rotate(-45deg) scaleY(1)}
body.afx-hover .afx-dot  i{opacity:0}                         /* прибрати ядро — чиста лупа */
body.afx-down  .afx-ring i{width:22px;height:22px}            /* клік — легкий «зум» лупи */
.afx-cur{transition:opacity .18s var(--ease-out)}
html.afx-hide .afx-cur{opacity:0}
@media (hover:hover) and (pointer:fine){
  html.afx body,html.afx body *{cursor:none}
  html.afx body input,html.afx body textarea,html.afx body select,html.afx body [contenteditable]{cursor:text}
  html.afx .afx-cur{display:block}
}
@media (prefers-reduced-motion:reduce){ .afx-cur i,.afx-ring i::after{transition:none} }

/* ── Argus FX — полоса прогресу скролу (fx.js) ── */
.ag-scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--blue);z-index:calc(var(--z-nav) - 1);pointer-events:none;will-change:transform}


/* ═══════════════ Типографічні поправки під e-Ukraine (2026-08-02) ═══════════════
   Мінус-трекінг −0.02em підбирався під Unbounded — широкий геометричний гротеск.
   e-Ukraine Head вужчий і з коротшими напливами: на ньому те саме значення
   злипає літери, тому послаблюємо майже до нуля.                                */
.section-title, .cta-title, .hero-title, .gl-h2, h1, h2, h3 { letter-spacing: -0.005em; }
.gl-brand { letter-spacing: -0.01em; }

/* e-Ukraine ширший за IBM Plex Sans приблизно на 19% → на 1024px шапка лишалась
   узагалі без запасу (натуральна ширина 1070 при 1024 доступних). Підтискаємо
   лише у вузькому діапазоні; на 1280 місця й так вистачає.                     */
@media (min-width: 961px) and (max-width: 1120px) {
  .nav-service, .nav-dropdown-trigger { padding-left: 9px; padding-right: 9px; font-size: 12.5px; }
  .nav-free, .nav-cta { padding-left: 12px; padding-right: 12px; font-size: 12.5px; }
  .nav-logo-text { font-size: 12px; }
}

/* EN/PL-лендінги мають ширшу шапку: чотиримовний перемикач + довші слова
   («Bezpłatne sprawdzenie» = 169px). PL переповнювався ще до зміни шрифта
   (−50px), e-Ukraine поглибив до −135. У вузькій смузі ховаємо ВТОРИННУ CTA —
   безкоштовна перевірка лишається в меню, у тілі сторінки й у футері.        */
@media (min-width: 961px) and (max-width: 1180px) {
  html[lang="en"] .nav-free, html[lang="pl"] .nav-free { display: none; }
}

/* PL на 1280 лишався із запасом усього 23px — підтискаємо пункти меню
   на en/pl і вище 1120, щоб один довший переклад не ламав шапку.        */
@media (min-width: 1121px) and (max-width: 1340px) {
  html[lang="en"] .nav-service, html[lang="pl"] .nav-service,
  html[lang="en"] .nav-dropdown-trigger, html[lang="pl"] .nav-dropdown-trigger {
    padding-left: 10px; padding-right: 10px;
  }
}
