/* Wspólne klocki stron eacenter.eu (strona główna, „Dla firm", „O nas").

   Strona jest wizytówką: kilka krótkich sekcji, każda z jednym nagłówkiem
   i jedną myślą. Te same klocki stoją na wszystkich stronach, więc ich style
   są tutaj, a nie w `page_style` każdego szablonu z osobna.
   Ładowane tylko przez `main/base.html`; Przegląd i panel ich nie używają. */

.vz-h2 { margin:0; font-size:var(--fs-display-md); line-height:var(--lh-display-md); letter-spacing:var(--ls-display-md); font-weight:500; text-wrap:balance; }
.vz-kicker { margin:0 0 20px; font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:var(--ls-caption); text-transform:uppercase; color:var(--ink-500); }
.eac-sec--dark .vz-kicker { color:var(--blue-200); }
.vz-lead { margin:0 0 16px; max-width:56ch; font-size:var(--fs-body-lg); line-height:var(--lh-body-lg); color:var(--ink-700); text-wrap:pretty; }
.vz-lead:last-child { margin-bottom:0; }
.eac-sec--dark .vz-lead { color:var(--text-on-dark-muted); }
.vz-note { margin:0; max-width:64ch; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--ink-500); }
.eac-sec--dark .vz-note { color:var(--text-on-dark-muted); }
.vz-link { font-size:var(--fs-body); text-decoration:none; border-bottom:1px solid var(--ink-300); padding-bottom:2px; }
.vz-link:hover { border-color:var(--blue-600); }
.eac-sec--dark .vz-link { border-bottom-color:rgb(143 176 255 / .5); }
.eac-sec--dark .vz-link:hover { border-color:var(--text-on-dark); }

/* Nagłówek po lewej, treść po prawej. */
.vz-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.vz-split--head { margin-bottom:48px; }

/* Trzy karty w rzędzie: przykłady, sposób pracy. */
.vz-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding:0; list-style:none; }
.vz-card { display:flex; flex-direction:column; gap:10px; padding:28px; background:var(--card); border:1px solid var(--ink-300); border-top:3px solid var(--blue-500); border-radius:14px; }
.vz-card h3 { margin:0; font-size:var(--fs-subtitle); line-height:var(--lh-subtitle); font-weight:500; }
.vz-card p { margin:0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }

/* Lista obowiązków: termin i jego wyjaśnienie. */
.vz-duties { margin:0 0 28px; }
.vz-duty { padding:20px 0; border-top:1px solid var(--ink-300); }
.vz-duty:last-child { border-bottom:1px solid var(--ink-300); }
.vz-duty dt { margin:0 0 6px; font-size:var(--fs-body-lg); font-weight:600; color:var(--ink-900); }
.vz-duty dd { margin:0; max-width:56ch; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }


/* Trzy kroki. Numer dopisuje CSS; kolejność niesie <ol>. */
.vz-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:0 0 32px; padding:0; list-style:none; counter-reset:vz-step; }
.vz-steps li { counter-increment:vz-step; padding-top:24px; border-top:2px solid var(--ink-900); }
.vz-steps li::before { content:counter(vz-step); display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin-bottom:18px; border-radius:50%; background:var(--blue-600); color:var(--accent-on); font-size:var(--fs-body); font-weight:600; }
.vz-steps--six { row-gap:40px; }
.vz-steps h3 { margin:0 0 10px; font-size:var(--fs-title); line-height:var(--lh-title); font-weight:500; }
.vz-steps p { margin:0; max-width:40ch; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }

/* Dwa sposoby rozliczenia. */
.vz-pay { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:28px; }
.vz-pay__card { display:flex; flex-direction:column; gap:12px; padding:32px; background:var(--card); border:1px solid var(--ink-300); border-radius:14px; }
.vz-pay__card--dark { background:var(--ink-900); border-color:var(--ink-900); color:var(--text-on-dark); }
.vz-pay__kind { margin:0; font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:var(--ls-caption); text-transform:uppercase; color:var(--ink-500); }
.vz-pay__card--dark .vz-pay__kind { color:var(--blue-200); }
.vz-pay__card h3 { margin:0; font-size:var(--fs-title); line-height:var(--lh-title); font-weight:500; }
.vz-pay__card p { margin:0; font-size:var(--fs-body-lg); line-height:var(--lh-body-lg); color:var(--ink-700); }
.vz-pay__card--dark p { color:var(--text-on-dark-muted); }
.vz-pay__claim { margin:0 0 20px; max-width:60ch; padding-left:20px; border-left:3px solid var(--blue-500); font-size:var(--fs-subtitle); line-height:1.4; font-weight:500; color:var(--ink-900); text-wrap:pretty; }

/* Wąski pas z jedną myślą i jednym linkiem. */
.vz-band { display:flex; align-items:center; justify-content:space-between; gap:32px 64px; flex-wrap:wrap; }
.vz-band h2 { margin:0 0 10px; font-size:var(--fs-title); line-height:var(--lh-title); font-weight:500; }
.vz-band p { margin:0; max-width:60ch; font-size:var(--fs-body-lg); line-height:var(--lh-body-lg); color:var(--text-on-dark-muted); }

/* Końcowe przejście do rozmowy. */
.vz-cta { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:48px; align-items:end; }
.vz-cta h2 { margin:0 0 16px; font-size:var(--fs-display-lg); line-height:var(--lh-display-lg); letter-spacing:var(--ls-display-lg); font-weight:500; text-wrap:balance; }
.vz-cta__lead { margin:0 0 32px; max-width:52ch; font-size:var(--fs-subtitle); line-height:1.5; color:var(--ink-700); text-wrap:pretty; }
.eac-sec--dark .vz-cta__lead { color:var(--text-on-dark-muted); }
.vz-cta__actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.vz-cta__note { margin:0; max-width:30ch; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--ink-500); }
.eac-sec--dark .vz-cta__note { color:var(--text-on-dark-muted); }
.vz-cta__mark { display:flex; justify-content:flex-end; color:var(--blue-500); }

/* Pytania i odpowiedzi jako zwykła lista: bez rozwijania, wszystko widać. */
.vz-faq { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:64px; align-items:start; }
.vz-faq__item { padding:26px 0; border-top:1px solid var(--ink-300); }
.vz-faq__item:last-child { border-bottom:1px solid var(--ink-300); }
.vz-faq__item h3 { margin:0 0 10px; font-size:var(--fs-subtitle); line-height:var(--lh-subtitle); font-weight:600; }
.vz-faq__item p { margin:0; max-width:68ch; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }

/* Jasny początek podstrony. */
.vz-hero { padding-top:clamp(72px,9vw,120px); }
.vz-hero h1 { margin:0 0 28px; max-width:none; font-size:clamp(36px, 4vw, 54px); line-height:1.08; font-size:var(--fs-display-xl); line-height:var(--lh-display-xl); letter-spacing:var(--ls-display-xl); font-weight:500; text-wrap:balance; }
.vz-hero__lead { margin:0 0 36px; max-width:58ch; font-size:var(--fs-body-lg); line-height:var(--lh-body-lg); color:var(--ink-700); text-wrap:pretty; }

@media (max-width:900px) {
  .vz-split, .vz-cards, .vz-steps, .vz-pay, .vz-cta, .vz-faq { grid-template-columns:1fr; gap:28px; }
  .vz-split--head { margin-bottom:32px; }
  .vz-card, .vz-pay__card { padding:24px; }
  .vz-cta__actions { flex-direction:column; align-items:flex-start; }
  .vz-cta__mark { justify-content:flex-start; }
}

/* ==========================================================================
   Druga warstwa: elementy, które pokazują treść sekcji, a nie tylko ją niosą.
   Wszystkie ilustracje to wbudowane SVG z `aria-hidden`; sens niesie tekst.
   ========================================================================== */

/* Drugie zdanie nagłówka zawsze od nowego wiersza. Element blokowy zamiast
   <br>, żeby czytnik ekranu czytał nagłówek jednym ciągiem. */
.vz-line { display:block; text-wrap:balance; }

/* Karty przykładów z ilustracją u góry. */
.vz-card--demo { padding:0; overflow:hidden; border-top-width:1px; border-top-color:var(--ink-300); transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
.vz-card--demo:hover { transform:translateY(-3px); box-shadow:var(--shadow-card); }
.vz-card__art { display:block; width:100%; height:auto; background:var(--paper-2); border-bottom:1px solid var(--ink-300); }
.vz-card__body { display:flex; flex-direction:column; gap:10px; padding:24px 28px 28px; }

/* Rok ustawy jako znak sekcji. */
.vz-year { display:block; margin:0 0 8px; font-family:var(--font-serif); font-style:italic; font-size:clamp(72px,9vw,128px); line-height:.9; color:var(--blue-500); white-space:nowrap; }
/* „od” to dopisek do roku, nie druga liczba: mniejsze, na tej samej linii bazowej. */
.vz-year__od { font-size:.42em; letter-spacing:.02em; }

/* Konsekwencje: karta z ikoną. */
.vz-risks { display:grid; gap:14px; margin:0 0 24px; padding:0; list-style:none; }
.vz-risk { display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; align-items:start; padding:22px 24px; background:var(--card); border:1px solid var(--ink-300); border-left:4px solid var(--blue-500); border-radius:14px; }
.vz-risk__icon { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:12px; background:var(--blue-050); color:var(--blue-600); }
.vz-risk h3, .vz-risk__title { margin:0 0 6px; font-size:var(--fs-body-lg); font-weight:600; }
.vz-risk p { margin:0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }


/* Kroki jako karty na osi. Linia prowadzi od numeru do następnego kroku. */
.vz-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0 0 28px; padding:0; list-style:none; counter-reset:vz-path; }
.vz-path li { position:relative; counter-increment:vz-path; display:flex; flex-direction:column; gap:10px; padding:26px 26px 28px; background:var(--card); border:1px solid var(--ink-300); border-radius:14px; transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
.vz-path li:hover { transform:translateY(-3px); box-shadow:var(--shadow-card); }
.vz-path li.is-ours { background:var(--blue-050); border-color:var(--blue-100); }
.vz-path__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.vz-path__head::before { content:counter(vz-path); display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--blue-600); color:var(--accent-on); font-size:var(--fs-body); font-weight:600; }
.vz-path__icon { color:var(--blue-500); }
/* Łącznik między kartami w rzędzie; ostatnia karta rzędu go nie ma. */
.vz-path li::after { content:""; position:absolute; top:44px; right:-21px; width:20px; height:2px; background:var(--blue-200); }
.vz-path li:nth-child(3n)::after { display:none; }
.vz-path h3 { margin:0; font-size:var(--fs-title); line-height:var(--lh-title); font-weight:500; }
.vz-path p { margin:0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }
.vz-path__tag { align-self:flex-start; margin-top:auto; padding:4px 10px; border-radius:var(--radius-pill); background:var(--card); border:1px solid var(--blue-100); font-size:var(--fs-caption); line-height:var(--lh-caption); color:var(--blue-600); }
/* Cztery etapy na stronie głównej: jeden rząd na szerokim ekranie, dwa
   na tablecie. Łącznik zostaje tylko między kartami w tym samym rzędzie. */
@media (min-width:901px) {
  .vz-path--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .vz-path--four li:nth-child(3n)::after { display:block; }
  .vz-path--four li:nth-child(4n)::after { display:none; }
}
@media (min-width:901px) and (max-width:1100px) {
  .vz-path--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vz-path--four li:nth-child(odd)::after { display:block; }
  .vz-path--four li:nth-child(even)::after { display:none; }
}
.hm-examples__label { margin:0 0 20px; font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:var(--ls-caption); text-transform:uppercase; color:var(--ink-500); }

/* Lista „co obejmuje" w kartach rozliczenia. */
.vz-checks { display:grid; gap:10px; margin:6px 0 0; padding:0; list-style:none; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }
.vz-checks li { display:grid; grid-template-columns:22px minmax(0,1fr); gap:10px; align-items:start; }
.vz-checks svg { margin-top:3px; color:var(--blue-500); }
.vz-pay__card--dark .vz-checks { color:var(--text-on-dark-muted); }
.vz-pay__card--dark .vz-checks svg { color:var(--blue-200); }

/* Wyróżnione zdanie jako baner. */
.vz-banner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:center; margin:0 0 20px; padding:32px 36px; border-radius:18px; background:var(--blue-600); color:var(--accent-on); }
.vz-banner p { margin:0; max-width:52ch; font-size:var(--fs-title); line-height:1.3; font-weight:500; text-wrap:balance; }
.vz-banner__mark { color:var(--blue-200); }

/* Granatowa karta w stylu hero: pas dla firm i końcowe wezwanie. */
.vz-darkcard { position:relative; isolation:isolate; overflow:hidden; border-radius:20px; background:radial-gradient(circle at 88% 0%, rgb(60 99 232 / .32), transparent 46%), var(--ink-900); color:var(--text-on-dark); }
.vz-darkcard--band { display:flex; align-items:center; justify-content:space-between; gap:28px 56px; flex-wrap:wrap; padding:40px 48px; }
.vz-darkcard--band h2 { margin:0 0 10px; font-size:var(--fs-title); line-height:var(--lh-title); font-weight:500; }
.vz-darkcard--band p { margin:0; max-width:56ch; font-size:var(--fs-body-lg); line-height:var(--lh-body-lg); color:var(--text-on-dark-muted); }
.vz-darkcard--cta { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:48px; align-items:center; padding:64px 56px; }
.vz-darkcard--cta h2 { margin:0 0 16px; font-size:var(--fs-display-lg); line-height:var(--lh-display-lg); letter-spacing:var(--ls-display-lg); font-weight:500; text-wrap:balance; }
.vz-darkcard--cta .vz-cta__lead { color:var(--text-on-dark-muted); }
.vz-darkcard .eac-btn--on-dark { background:var(--blue-600); color:var(--accent-on); border-color:var(--blue-600); }
.vz-darkcard .eac-btn--on-dark:hover { background:var(--blue-500); border-color:var(--blue-500); }
.vz-reach { display:grid; gap:0; margin:0; padding:0; list-style:none; border:1px solid var(--border-on-dark); border-radius:14px; background:rgb(255 255 255 / .04); }
.vz-reach li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:16px; align-items:center; padding:20px 24px; border-top:1px solid var(--border-on-dark); }
.vz-reach li:first-child { border-top:0; }
.vz-reach svg { color:var(--blue-200); }
.vz-reach span { display:block; font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:var(--ls-caption); text-transform:uppercase; color:var(--text-on-dark-muted); }
.vz-reach a, .vz-reach strong { font-size:var(--fs-subtitle); font-weight:500; color:var(--text-on-dark) !important; text-decoration:none; }
.vz-reach a:hover { text-decoration:underline; }

/* Dopisek pod przyciskiem: termin odpowiedzi i telefon. */
.vz-promise { margin:16px 0 0; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--ink-500); }
.vz-promise a { color:inherit; font-weight:600; white-space:nowrap; }
.eac-sec--dark .vz-promise, .vz-darkcard .vz-promise, .hm-hero .vz-promise { color:var(--text-on-dark-muted); }
.eac-sec--dark .vz-promise a, .vz-darkcard .vz-promise a, .hm-hero .vz-promise a { color:var(--text-on-dark) !important; }

/* Karta z trzema hasłami obok hero podstrony. */
.vz-hero--split { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:56px; align-items:center; }

/* Sekcje, w których karta wychodzi poza kolumnę tekstu, mają własne tło. */
.vz-sec--card { background:var(--paper); }

@media (max-width:900px) {
  .vz-path, .vz-darkcard--cta, .vz-hero--split { grid-template-columns:1fr; gap:16px; }
  .vz-path li::after { display:none; }
  .vz-banner { grid-template-columns:1fr; padding:26px 24px; }
  .vz-banner__mark { display:none; }
  .vz-darkcard--band { padding:28px 24px; }
  .vz-darkcard--cta { padding:36px 24px; gap:28px; }
  .vz-risk { padding:20px; grid-template-columns:40px minmax(0,1fr); gap:14px; }
  .vz-risk__icon { width:40px; height:40px; }
  .vz-year { font-size:72px; }
}
@media (prefers-reduced-motion:reduce) {
  .vz-card--demo, .vz-path li { transition:none; }
  .vz-card--demo:hover, .vz-path li:hover { transform:none; }
}

/* ==========================================================================
   Trzecia warstwa: dopracowanie nagłówków sekcji, liczb, pytań i menu.
   ========================================================================== */

/* Nagłówek sekcji stoi nad wstępem, a nie obok niego: zdania nagłówka mają
   całą szerokość kolumny i nie łamią się w połowie. */
.vz-split--head { display:block; margin-bottom:44px; }
.vz-split--head > :last-child { margin-top:18px; }
.vz-split--head .vz-lead { max-width:62ch; }

/* Wyniki kontroli: trzy karty w jednym rzędzie, żeby cała sekcja
   mieściła się na ekranie 16:9. Każda podaje liczbę raz i dokłada
   wniosek, co z niej wynika dla czytelnika.
   Kółka znaczą to samo na wszystkich kartach: pełne to strona albo
   deklaracja bez zastrzeżeń, puste to ta z błędami. Wielkość kółka
   ustawia `--unit`, więc siatka, rząd i trójka mają ten sam rytm. */
.vz-findings { --unit:12px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.vz-finding { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--border-on-dark); border-radius:16px; background:rgb(255 255 255 / .04); }
.vz-finding--lead { background:radial-gradient(circle at 100% 0%, rgb(60 99 232 / .3), transparent 60%), rgb(255 255 255 / .04); }
.vz-finding__label { margin:0 0 10px; font-weight:400; font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:var(--ls-caption); text-transform:uppercase; color:var(--blue-200); }
.vz-finding__value { margin:0 0 6px; font-size:clamp(40px, 3.4vw, 48px); line-height:1; letter-spacing:var(--ls-display-lg); font-weight:500; font-variant-numeric:tabular-nums; color:var(--text-on-dark); }
.vz-finding__fact { margin:0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--text-on-dark-muted); text-wrap:pretty; }
/* Wniosek karty: większy i jaśniejszy niż fakt, sedno w kolorze akcentu. */
.vz-finding__meaning { margin:auto 0 0; padding-top:16px; border-top:1px solid var(--border-on-dark); font-size:var(--fs-body-lg); line-height:1.45; font-weight:500; color:var(--text-on-dark); text-wrap:pretty; }
.vz-finding__meaning strong { font-weight:600; color:var(--blue-200); }
.vz-units { display:block; flex:none; margin:14px 0 16px; color:var(--blue-200); }
.vz-units--grid, .vz-units--row { background-image:radial-gradient(circle closest-side, transparent 66%, rgb(143 176 255 / .65) 70% 88%, transparent 92%); background-size:var(--unit) var(--unit); }
/* Sto stron w układzie 20 × 5: ta sama liczba kółek, czterokrotnie niżej.
   Na wąskiej karcie siatka kurczy się razem z kółkami. */
.vz-units--grid { width:min(100%, calc(var(--unit) * 20)); aspect-ratio:4 / 1; background-size:5% 20%; }
/* Rząd zanika w prawo: kółek jest dużo więcej, niż mieści karta. */
.vz-units--row { width:100%; height:var(--unit); background-repeat:repeat-x; -webkit-mask-image:linear-gradient(90deg, #000 35%, transparent); mask-image:linear-gradient(90deg, #000 35%, transparent); }
.vz-units--three { width:calc(var(--unit) * 3); height:var(--unit); }

/* Puenta sekcji z danymi: jedno duże zdanie na całą szerokość. */
.vz-verdict { margin:40px 0 0; font-size:var(--fs-display-md); line-height:var(--lh-display-md); letter-spacing:var(--ls-display-md); font-weight:500; color:var(--text-on-dark); }
.vz-verdict__accent { color:var(--blue-200); }

/* Pytania jako rozwijane karty. <details> działa bez skryptu i z klawiatury. */
.vz-faq { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.vz-faq__aside { position:sticky; top:104px; display:flex; flex-direction:column; gap:28px; }
.vz-faq__help { padding:24px 26px; border-radius:16px; background:var(--blue-050); border:1px solid var(--blue-100); }
.vz-faq__help p { margin:0 0 6px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }
.vz-faq__help a { font-size:var(--fs-subtitle); font-weight:600; color:var(--blue-600); text-decoration:none; white-space:nowrap; }
.vz-faq__help a:hover { text-decoration:underline; }
.vz-qa { margin:0 0 12px; border:1px solid var(--ink-300); border-radius:14px; background:var(--card); transition:border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
.vz-qa[open] { border-color:var(--blue-500); box-shadow:var(--shadow-card); }
.vz-qa summary { display:grid; grid-template-columns:minmax(0,1fr) 32px; gap:16px; align-items:center; padding:22px 24px; cursor:pointer; list-style:none; border-radius:14px; }
.vz-qa summary::-webkit-details-marker { display:none; }
.vz-qa summary h3 { margin:0; font-size:var(--fs-subtitle); line-height:var(--lh-subtitle); font-weight:600; }
.vz-qa summary::after { content:""; width:32px; height:32px; border-radius:50%; background:var(--blue-050) center / 14px 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%231533A3' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 1v12M1 7h12'/%3E%3C/svg%3E"); transition:transform var(--dur) var(--ease-out); }
.vz-qa[open] summary::after { transform:rotate(45deg); }
.vz-qa summary:focus-visible { outline:2px solid var(--blue-600); outline-offset:2px; }
.vz-qa__answer { margin:0; padding:0 72px 24px 24px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }

/* Karta z ikoną: zasady pracy, dowody. */
.vz-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding:0; list-style:none; }
.vz-feature { display:flex; flex-direction:column; gap:12px; padding:28px; background:var(--card); border:1px solid var(--ink-300); border-radius:16px; transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
.vz-feature:hover { transform:translateY(-3px); box-shadow:var(--shadow-card); }
.vz-feature__icon { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:6px; border-radius:12px; background:var(--blue-050); color:var(--blue-600); }
.vz-feature h3 { margin:0; font-size:var(--fs-subtitle); line-height:var(--lh-subtitle); font-weight:600; }
.vz-feature p { margin:0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink-700); }

/* Liczba-dowód w dużej karcie obok opisu. */
.vz-proof { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:20px; margin-bottom:20px; }
.vz-proof__figure { display:flex; flex-direction:column; justify-content:center; padding:40px; border-radius:20px; background:radial-gradient(circle at 90% 0%, rgb(60 99 232 / .32), transparent 50%), var(--ink-900); color:var(--text-on-dark); }
.vz-proof__figure strong { font-size:clamp(72px,9vw,128px); line-height:.9; letter-spacing:-.03em; font-weight:500; }
.vz-proof__figure strong span { color:var(--blue-200); }
.vz-proof__figure p { margin:14px 0 0; font-size:var(--fs-body-lg); line-height:var(--lh-body-lg); color:var(--text-on-dark-muted); }
.vz-proof__text { display:flex; flex-direction:column; justify-content:center; padding:40px; border-radius:20px; background:var(--card); border:1px solid var(--ink-300); }
.vz-proof__text h2 { margin:0 0 16px; }

/* Menu: wyraźniejsze pozycje i telefon jako pigułka z ikoną. */
.eac-navlinks { gap:30px !important; }
.eac-navlink { position:relative; padding:8px 0; font-size:15px; }
.eac-navlink.is-current::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:var(--blue-500); }
.eac-nav-phone { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid var(--ink-300); border-radius:var(--radius-pill); background:var(--card); font-variant-numeric:tabular-nums; transition:border-color var(--dur-fast) var(--ease-out); }
.eac-nav-phone:hover { border-color:var(--blue-500); }
.eac-nav-phone svg { color:var(--blue-600); }
body.page-dark-top .eac-nav-phone { background:rgb(255 255 255 / .06); border-color:var(--border-on-dark); color:var(--text-on-dark) !important; }
body.page-dark-top .eac-nav-phone svg { color:var(--blue-200); }
body.page-dark-top .eac-navlink.is-current::after { background:var(--blue-200); }

@media (max-width:900px) {
  .vz-findings, .vz-features, .vz-proof { grid-template-columns:1fr; gap:14px; }
  .vz-finding { padding:22px; }
  .vz-verdict { margin-top:32px; }
  .vz-faq { grid-template-columns:1fr; gap:24px; }
  .vz-faq__aside { position:static; gap:20px; }
  .vz-qa summary { padding:18px 20px; }
  .vz-qa__answer { padding:0 20px 20px; }
  .vz-proof__figure, .vz-proof__text { padding:28px 24px; }
  .vz-split--head { margin-bottom:32px; }
}
@media (prefers-reduced-motion:reduce) {
  .vz-qa, .vz-qa summary::after, .vz-feature { transition:none; }
  .vz-feature:hover { transform:none; }
}
