/* =============================================================================
   RozliczeniaNiemcy.pl (KADOM) – style strony głównej i podstron
   Ogólne reguły działają tylko w elementach .kh-scope (nagłówek, treść, stopka, pasek CTA),
   żeby nie zmieniać wyglądu czatu (chatbot.js) ani innych wstawek z headScript.php.
   Kolor marki taki sam jak w formularzu i czacie (#198754), do tego złoto (pieniądze, euro).
   Ikony to wbudowane SVG (.kh-i) – strona nie potrzebuje Font Awesome ani Bootstrapa.
   Szerokość treści do 1560 px (prawie cały ekran komputera), na telefonie 16 px marginesu.
   ============================================================================= */

/* Zastępcze kroje dopasowane do Plus Jakarta Sans (szerokość i wysokość liter), żeby tekst
   nie przeskakiwał, gdy font z Google Fonts doczyta się chwilę później (mniejszy CLS). */
@font-face { font-family: 'KH Fallback'; font-weight: 100 549; src: local('Arial'), local('ArialMT'), local('Helvetica'), local('Liberation Sans'), local('LiberationSans'), local('Arimo');
  size-adjust: 104.06%; ascent-override: 99.75%; descent-override: 21.33%; line-gap-override: 0%; }
@font-face { font-family: 'KH Fallback'; font-weight: 550 900; src: local('Arial Bold'), local('Arial-BoldMT'), local('Helvetica Bold'), local('Helvetica-Bold'), local('Liberation Sans Bold'), local('LiberationSans-Bold'), local('Arimo Bold');
  size-adjust: 102%; ascent-override: 101.76%; descent-override: 21.76%; line-gap-override: 0%; }
@font-face { font-family: 'KH Fallback R'; font-weight: 100 549; src: local('Roboto'), local('Roboto-Regular'), local('Roboto Regular');
  size-adjust: 104.19%; ascent-override: 99.63%; descent-override: 21.31%; line-gap-override: 0%; }
@font-face { font-family: 'KH Fallback R'; font-weight: 550 900; src: local('Roboto Bold'), local('Roboto-Bold');
  size-adjust: 107.5%; ascent-override: 96.56%; descent-override: 20.65%; line-gap-override: 0%; }

:root {
  --kh-green: #198754;
  --kh-green-600: #157347;
  --kh-green-700: #12683f;
  --kh-green-800: #0f5d3a;
  --kh-green-900: #0a3f28;
  --kh-green-950: #06291a;
  --kh-mint: #edf8f2;
  --kh-mint-2: #d5efe0;
  --kh-gold: #f6bd16;
  --kh-gold-600: #dfa300;
  --kh-gold-50: #fff7df;
  --kh-ink: #0f1a15;
  --kh-ink-2: #2c3a33;
  --kh-muted: #55635b;
  --kh-line: #e1e8e4;
  --kh-soft: #f5f8f6;
  --kh-red: #c6402a;
  --kh-red-50: #fff1ed;
  --kh-star: #f4b400;
  --kh-radius: 22px;
  --kh-shadow: 0 1px 2px rgba(15, 26, 21, .05), 0 14px 34px -16px rgba(15, 26, 21, .2);
  --kh-shadow-lg: 0 2px 4px rgba(15, 26, 21, .05), 0 30px 60px -24px rgba(10, 63, 40, .35);
  --kh-font: 'Plus Jakarta Sans', 'KH Fallback', 'KH Fallback R', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --kh-header-h: 64px;
  --kh-gut: clamp(16px, 4vw, 64px);
}
@media (min-width: 960px) { :root { --kh-header-h: 76px; } }

html { scroll-behavior: smooth; scroll-padding-top: 16px; }
@media (min-width: 960px) { html { scroll-padding-top: calc(var(--kh-header-h) + 16px); } }
body.kh {
  margin: 0;
  padding: 0;
  background: #fff;
  color: var(--kh-ink);
  font-family: var(--kh-font);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}
@media (min-width: 960px) { body.kh { font-size: 18px; } }
@supports (overflow-x: clip) { body.kh { overflow-x: clip; } }
:where(.kh-scope), :where(.kh-scope) *, :where(.kh-scope) *::before, :where(.kh-scope) *::after { box-sizing: border-box; }
:where(.kh-scope) :is(h1, h2, h3) { color: var(--kh-ink); font-family: var(--kh-font); margin: 0; text-wrap: balance; letter-spacing: -.02em; }
:where(.kh-scope) p { margin: 0; text-wrap: pretty; }
:where(.kh-scope) ul, :where(.kh-scope) ol { margin: 0; padding: 0; list-style: none; }
:where(.kh-scope) dl, :where(.kh-scope) dd, :where(.kh-scope) figure, :where(.kh-scope) blockquote, :where(.kh-scope) address, :where(.kh-scope) fieldset { margin: 0; }
:where(.kh-scope) fieldset { padding: 0; border: 0; min-width: 0; }
:where(.kh-scope) address { font-style: normal; }
:where(.kh-scope) img { max-width: 100%; height: auto; display: block; }
:where(.kh-scope) a { color: var(--kh-green-700); text-underline-offset: 3px; }
:where(.kh-scope) a:hover { color: var(--kh-green-900); }
:where(.kh-scope) :focus-visible { outline: 3px solid var(--kh-green-800); outline-offset: 3px; border-radius: 8px; }
.kh-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:where(.kh-scope) a[href^="tel:"] { white-space: nowrap; }
.kh-nw { white-space: nowrap; }                                  /* „PIT-u”, „SMS-em”, „e-mailem” nie łamią się na łączniku */
/* link w zdaniu (telefon, WhatsApp, czat): większe pole dotyku bez zmiany wysokości wiersza */
.kh-tap { display: inline-block; padding: 10px 4px; margin: -10px -4px; font-weight: 700; }
.kh-i { display: inline-block; flex: none; height: 1em; vertical-align: -.125em; fill: currentColor; overflow: visible; }
.kh-coin { display: block; flex: none; width: 1em; height: 1em; overflow: visible; }

.kh-wrap { width: 100%; max-width: calc(1520px + 2 * var(--kh-gut)); margin: 0 auto; padding: 0 var(--kh-gut); }

.kh-skip {
  position: absolute; left: 12px; top: -60px; z-index: 1000;
  background: var(--kh-ink); color: #fff !important; padding: 10px 16px; border-radius: 10px; font-weight: 600; text-decoration: none;
}
.kh-skip:focus { top: 12px; }

/* ---------- przyciski ---------- */
.kh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  min-height: 52px; padding: .75rem 1.4rem;
  border: 0; border-radius: 14px;
  background: var(--kh-green); color: #fff !important;
  font-family: var(--kh-font); font-weight: 700; font-size: 1.05rem; line-height: 1.2; text-align: center; text-decoration: none;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .2) inset, 0 10px 22px -10px rgba(25, 135, 84, .75);
  transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
  cursor: pointer;
}
.kh-btn:hover { background: var(--kh-green-600); color: #fff; transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255, 255, 255, .2) inset, 0 16px 28px -12px rgba(25, 135, 84, .8); }
.kh-btn:active { transform: translateY(1px); }
.kh-btn .kh-i { font-size: .95em; transition: transform .15s ease; }
.kh-btn:hover .kh-i--go { transform: translateX(4px); }
.kh-btn--sm { min-height: 44px; padding: .55rem 1.05rem; font-size: .98rem; border-radius: 12px; box-shadow: none; }
.kh-btn--lg { min-height: 60px; padding: .9rem 1.7rem; font-size: 1.12rem; border-radius: 16px; }
.kh-btn--xl { min-height: 68px; padding: 1rem 2rem; font-size: 1.22rem; border-radius: 18px; font-weight: 800; }
.kh-btn--block { display: flex; width: 100%; }
.kh-btn--gold { background: var(--kh-gold); color: var(--kh-ink) !important; box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset, 0 16px 34px -14px rgba(246, 189, 22, .8); }
.kh-btn--gold:hover { background: #ffc934; color: var(--kh-ink) !important; }
@media (max-width: 559px) {
  .kh-btn--lg, .kh-btn--xl { width: 100%; padding-left: 1rem; padding-right: 1rem; }
  .kh-btn--xl { font-size: 1.12rem; min-height: 64px; }
}

.kh-eyebrow { display: inline-block; margin-bottom: 12px !important; color: var(--kh-green-700); font-weight: 800; font-size: .86rem; letter-spacing: .12em; text-transform: uppercase; }
.kh-eyebrow--gold { color: var(--kh-gold); }
.kh-sub { color: var(--kh-muted); font-size: clamp(1.05rem, .98rem + .3vw, 1.25rem); margin-top: 14px !important; }
.kh-fine { color: var(--kh-muted); font-size: .88rem; line-height: 1.5; margin-top: 14px !important; }
.kh-center { text-align: center; margin-top: clamp(32px, 4vw, 48px); }

/* ---------- nagłówek ---------- */
.kh-header {
  position: relative; z-index: 900;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--kh-line);
}
@media (min-width: 960px) {
  .kh-header { position: sticky; top: 0; }
  @supports (backdrop-filter: blur(8px)) { .kh-header { background: rgba(255, 255, 255, .86); backdrop-filter: saturate(1.4) blur(12px); } }
}
.kh-header__in { display: flex; align-items: center; gap: 16px; height: var(--kh-header-h); }
.kh-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--kh-ink) !important; flex: 0 0 auto; }
.kh-logo__mark {
  width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center;
  background: linear-gradient(140deg, #22a565, var(--kh-green-800)); color: #fff; font-weight: 800; font-size: 20px; letter-spacing: -.02em;
  box-shadow: 0 6px 14px -6px rgba(15, 93, 58, .6);
}
.kh-logo__img { flex: 0 0 40px; width: 40px; height: 40px; object-fit: contain; }
.kh-logo__text { display: flex; flex-direction: column; line-height: 1.05; }
.kh-logo__text b { font-weight: 800; font-size: 18px; letter-spacing: .06em; }
.kh-logo__text small { font-size: 12.5px; color: var(--kh-muted); font-weight: 600; margin-top: 3px; }
.kh-logo--inv { color: #fff !important; }
.kh-logo--inv .kh-logo__text small { color: rgba(255, 255, 255, .65); }
.kh-nav { display: none; }
@media (min-width: 1100px) {
  .kh-nav { display: flex; gap: 4px; margin: 0 auto; }
  .kh-nav a { padding: 10px 14px; border-radius: 10px; color: var(--kh-ink-2); font-weight: 600; font-size: .98rem; text-decoration: none; }
  .kh-nav a:hover, .kh-nav a[aria-current] { background: var(--kh-mint); color: var(--kh-green-800); }
}
.kh-header__act { display: flex; align-items: center; gap: 10px; margin-left: auto; }
@media (min-width: 1100px) { .kh-header__act { margin-left: 0; } }
.kh-hphone { display: inline-flex; align-items: center; gap: 10px; color: var(--kh-ink) !important; text-decoration: none; font-weight: 700; }
.kh-hphone__ico { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--kh-mint); color: var(--kh-green-700); font-size: 18px; }
.kh-hphone__txt { display: none; }
@media (min-width: 720px) { .kh-hphone__txt { display: inline; } }
.kh-header__cta { white-space: nowrap; }
@media (max-width: 479px) { .kh-logo__text small { display: none; } .kh-header__cta { padding: .55rem .85rem; font-size: .95rem; } .kh-header__act { gap: 8px; } }
/* wąskie telefony (360 px): mniejsze odstępy i przycisk; przy 320 px chowamy okrągły telefon (numer jest w stopce i na dole strony) */
@media (max-width: 399px) {
  .kh-header__in { gap: 8px; }
  .kh-logo { gap: 8px; min-width: 0; }
  .kh-logo__mark, .kh-logo__img { width: 36px; height: 36px; flex-basis: 36px; }
  .kh-logo__text b { font-size: 16px; letter-spacing: .04em; }
  .kh-hphone__ico { width: 40px; height: 40px; font-size: 16px; }
  .kh-header__act { gap: 6px; }
  .kh-header__cta { padding: .5rem .7rem; font-size: .9rem; }
}
@media (max-width: 349px) { .kh-hphone { display: none; } }

/* ---------- HERO (strona główna) ----------
   Mało tekstu: nagłówek, średnia kwota, przycisk, jedna linijka i rząd zaufania.
   Rysunek telefonu tylko na komputerze (od 900 px) – na telefonie pierwszy ekran to sam przekaz i przycisk. */
.kh-hero {
  position: relative; overflow: hidden;
  padding: 28px 0 44px;
  background:
    radial-gradient(60% 70% at 85% 30%, rgba(246, 189, 22, .16), transparent 70%),
    radial-gradient(70% 80% at 10% 0%, var(--kh-mint), transparent 70%),
    #fff;
}
.kh-hero__grid { display: grid; align-items: center; }
@media (min-width: 900px) {
  .kh-hero { padding: clamp(40px, 4vw, 64px) 0 clamp(56px, 5vw, 88px); }
  .kh-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 5vw, 96px); }
}
/* pigułka „Lata 2022–2025 · wszystko online” – na podstronach */
.kh-pill {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 16px; border-radius: 999px;
  background: #fff; border: 1px solid var(--kh-mint-2); box-shadow: 0 4px 14px -8px rgba(15, 93, 58, .35);
  color: var(--kh-green-800); font-weight: 700; font-size: .92rem;
}
.kh-pill__dot { width: 10px; height: 10px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34, 197, 94, .55); animation: kh-ping 2.2s ease-out infinite; }
@keyframes kh-ping { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .55); } 80%, 100% { box-shadow: 0 0 0 10px rgba(34, 197, 94, 0); } }
/* telefon: nagłówek w 3 wierszach także przy 360 px („Niemiecki urząd może / mieć Twoje pieniądze. / Sam ich nie odda.”) */
.kh-hero h1 { font-size: clamp(1.75rem, 10vw - 5.5px, 3.2rem); line-height: 1.06; font-weight: 800; letter-spacing: -.035em; }
@media (min-width: 900px) { .kh-hero h1 { font-size: clamp(2.5rem, .9rem + 3vw, 4rem); } }
.kh-pt { margin-left: -.09em; }                                  /* kropka na końcu zdania w dużym nagłówku (krój zostawia przed nią szparę) */
.kh-h1__top { display: block; margin-bottom: .5em; color: var(--kh-green-700); font-size: clamp(1rem, .4em, 1.5rem); line-height: 1.2; letter-spacing: -.01em; }
.kh-lead { margin-top: 22px !important; max-width: 36ch; color: var(--kh-ink-2); font-size: clamp(1.15rem, 1rem + .55vw, 1.5rem); line-height: 1.5; }
/* średnia kwota: bez ramki, sama typografia */
.kh-amt { margin-top: clamp(28px, 3vw, 40px); }
.kh-amt__label { color: var(--kh-muted); font-weight: 600; font-size: 1rem; line-height: 1.3; }
.kh-amt__num { margin-top: 2px !important; color: var(--kh-green-700); font-weight: 800; font-size: clamp(3.5rem, 2.6rem + 2.6vw, 5.2rem); line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.kh-amt__more { margin-top: 10px !important; color: var(--kh-ink-2); font-size: clamp(1.06rem, 1rem + .3vw, 1.25rem); line-height: 1.4; }
.kh-amt__more b { color: var(--kh-ink); white-space: nowrap; }
.kh-hero__cta { display: flex; flex-direction: column; align-items: flex-start; margin-top: clamp(28px, 3vw, 36px); }
.kh-hero__cta .kh-micro { margin-top: 12px !important; font-size: .94rem; text-wrap: balance; }
/* zaufanie: ocena Google (link do #opinie) i liczba klientów w jednym rzędzie */
.kh-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; margin-top: 28px !important; }
.kh-trust li, .kh-trust li > a { display: flex; align-items: center; gap: 10px; color: var(--kh-ink-2) !important; font-size: 1rem; line-height: 1.3; text-decoration: none; }
.kh-trust li > a { min-height: 44px; }
.kh-trust b { color: var(--kh-ink); font-weight: 800; }
.kh-trust small { color: var(--kh-muted); font-size: inherit; }
.kh-trust a:hover small { color: var(--kh-green-700); text-decoration: underline; }
.kh-trust__g { flex: none; }
.kh-trust__i { color: var(--kh-green-700); font-size: 1.2em; }
.kh-trust .kh-stars { vertical-align: -1px; margin-left: 2px; }
.kh-ticks { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 16px !important; color: var(--kh-ink-2); font-weight: 600; font-size: .98rem; }
.kh-ticks li { display: inline-flex; align-items: center; gap: 8px; }
.kh-ticks .kh-i { color: var(--kh-green); }
.kh-stars { display: inline-flex; gap: 1px; color: var(--kh-star); }
.kh-stars svg { width: 15px; height: 15px; fill: currentColor; }
.kh-stars--lg svg { width: 28px; height: 28px; }
/* telefon: przycisk na całą szerokość, linijka pod nim na środku; „61 opinii w Google” w drugim wierszu */
@media (max-width: 559px) {
  .kh-hero__cta { align-items: stretch; }
  .kh-hero__cta .kh-micro { text-align: center; }
  .kh-trust { justify-content: space-between; gap: 12px 16px; }
  .kh-trust__sep { display: none; }
  .kh-trust small { display: block; }
  /* strona główna: w nagłówku bez drugiego przycisku „Sprawdź za darmo” (ten sam jest w hero tuż pod nim) – zostaje logo i telefon */
  .kh:has(.kh-hero) .kh-header__cta { display: none; }
  .kh:has(.kh-hero) .kh-hphone { display: inline-flex; }       /* jest miejsce na okrągły telefon także przy 320 px */
}

/* rysunek: telefon, monety, banknoty (tylko na komputerze) */
.kh-hero__visual { display: none; min-width: 0; }
@media (min-width: 900px) { .kh-hero__visual { display: block; } }
.kh-vis { position: relative; width: 100%; max-width: 560px; margin: 0 auto; aspect-ratio: 1 / 1.16; display: grid; place-items: center; }
@media (max-width: 1023px) { .kh-vis { max-width: 400px; } }
@media (max-width: 1199px) { .kh-hero .kh-chip--1 { display: none; } }
/* linijka pod przyciskiem: gdy się nie mieści (telefon, wąska kolumna 900–1023 px) – 2 wiersze, bez kropki na końcu pierwszego */
@media (max-width: 559px), (min-width: 900px) and (max-width: 1023px) {
  .kh-hero__cta .kh-micro__sep { display: none; }
  .kh-hero__cta .kh-micro__2 { display: block; }
}   /* węższy rysunek: chip zasłaniałby zegar telefonu */
.kh-vis__glow { position: absolute; inset: 10% 8%; border-radius: 50%; background: radial-gradient(closest-side, rgba(246, 189, 22, .38), rgba(34, 165, 101, .18) 60%, transparent); filter: blur(10px); }
.kh-phone {
  position: relative; z-index: 2;
  width: 54%; aspect-ratio: 300 / 610;
  padding: 3.2%; border-radius: 14% / 6.9%;
  background: linear-gradient(160deg, #2b3a33, #0b1310 55%, #1b2621);
  box-shadow: 0 0 0 2px #3c4c44 inset, 0 40px 70px -30px rgba(6, 41, 26, .7), 0 12px 24px -12px rgba(0, 0, 0, .4);
  transform: rotate(-4deg);
  container-type: inline-size;
}
.kh-phone__screen {
  position: relative; height: 100%; overflow: hidden;
  border-radius: 11.5% / 5.6%;
  padding: 6cqw 6cqw 0;
  background:
    radial-gradient(120% 60% at 50% 100%, rgba(246, 189, 22, .35), transparent 60%),
    linear-gradient(170deg, #1f9d5f 0%, #0f5d3a 55%, #0a3f28 100%);
  color: #fff;
  font-size: 4.6cqw;
}
.kh-phone__status { display: flex; align-items: center; justify-content: space-between; font-size: 4.4cqw; font-weight: 700; opacity: .95; }
.kh-phone__island { width: 30%; height: 7.5cqw; border-radius: 999px; background: #050a08; }
.kh-phone__sig { display: inline-flex; align-items: flex-end; gap: 1cqw; height: 3.6cqw; }
.kh-phone__sig i { display: block; width: 1.4cqw; background: #fff; border-radius: 1px; }
.kh-phone__sig i:nth-child(1) { height: 40%; } .kh-phone__sig i:nth-child(2) { height: 70%; } .kh-phone__sig i:nth-child(3) { height: 100%; }
.kh-phone__clock { margin-top: 9cqw !important; text-align: center; font-size: 21cqw; font-weight: 700; line-height: 1; letter-spacing: -.03em; }
.kh-phone__date { text-align: center; font-size: 4.6cqw; font-weight: 600; opacity: .85; margin-top: 2cqw !important; }
.kh-notif {
  display: flex; align-items: center; gap: 3.4cqw;
  margin-top: 4cqw; padding: 3.6cqw 4cqw;
  border-radius: 5.5cqw;
  background: rgba(255, 255, 255, .94); color: var(--kh-ink);
  box-shadow: 0 6cqw 10cqw -6cqw rgba(0, 0, 0, .5);
}
.kh-notif--bank { margin-top: 10cqw; background: #fff; }
.kh-notif__app { flex: 0 0 11cqw; width: 11cqw; height: 11cqw; border-radius: 3cqw; display: grid; place-items: center; background: linear-gradient(140deg, #22a565, var(--kh-green-800)); color: #fff; font-weight: 800; font-size: 5.4cqw; }
.kh-notif__app--bank { background: linear-gradient(140deg, #ffd34d, #e0a000); color: #5a3d00; }
.kh-notif { align-items: flex-start; }
.kh-notif__body { flex: 1; display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.kh-notif__top { display: flex; justify-content: space-between; align-items: baseline; gap: 2cqw; }
.kh-notif__top b { font-size: 3.7cqw; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; color: var(--kh-ink-2); }
.kh-notif__top small { font-size: 3.4cqw; color: var(--kh-muted); white-space: nowrap; }
.kh-notif__txt { font-size: 4.1cqw; color: var(--kh-ink-2); margin-top: .6cqw; }
.kh-notif__txt .kh-i { color: var(--kh-green); }
.kh-notif__amt { color: var(--kh-green-700); font-size: 8.4cqw; font-weight: 800; line-height: 1.15; letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: tabular-nums; margin-top: .6cqw; }
.kh-notif--kadom, .kh-notif--quote { opacity: .93; transform: scale(.97); }
.kh-phone__dock { position: absolute; left: 9cqw; right: 9cqw; bottom: 7cqw; display: flex; justify-content: space-between; }
.kh-phone__dock span { width: 13cqw; height: 13cqw; border-radius: 50%; display: grid; place-items: center; background: rgba(0, 0, 0, .28); color: #fff; font-size: 5cqw; backdrop-filter: blur(4px); }
.kh-phone__dock::after { content: ""; position: absolute; left: 50%; bottom: -3.5cqw; width: 34%; height: 1.3cqw; margin-left: -17%; border-radius: 99px; background: rgba(255, 255, 255, .85); }
.kh-note { position: absolute; z-index: 1; width: 42%; height: auto; filter: drop-shadow(0 14px 20px rgba(6, 41, 26, .25)); }
.kh-note--1 { left: 0; top: 26%; transform: rotate(-16deg); }
.kh-note--2 { right: -2%; bottom: 24%; transform: rotate(12deg); }
.kh-vis .kh-coin { position: absolute; z-index: 3; filter: drop-shadow(0 10px 12px rgba(120, 80, 0, .35)); }
.kh-coin--1 { font-size: clamp(56px, 7vw, 92px); left: 6%; bottom: 14%; --r: -12deg; }
.kh-coin--2 { font-size: clamp(40px, 4.6vw, 64px); right: 6%; top: 10%; --r: 14deg; }
.kh-coin--3 { font-size: clamp(30px, 3.2vw, 44px); right: 18%; bottom: 4%; --r: 8deg; }
.kh-coin--4 { font-size: clamp(26px, 2.6vw, 36px); left: 16%; top: 6%; --r: -6deg; }
.kh-coin--5 { font-size: clamp(34px, 3.6vw, 50px); right: 0; top: 46%; --r: 20deg; }
.kh-chip {
  position: absolute; z-index: 4;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: 999px;
  background: #fff; color: var(--kh-ink); font-weight: 700; font-size: clamp(.8rem, .7rem + .3vw, .98rem); white-space: nowrap;
  box-shadow: 0 16px 30px -14px rgba(6, 41, 26, .45), 0 0 0 1px rgba(15, 26, 21, .05);
}
.kh-chip .kh-i { color: var(--kh-green); }
.kh-chip--1 { left: -3%; top: 15%; }
.kh-chip--2 { right: -3%; bottom: 17%; }
/* „Przykład” – czytelny podpis rysunku (powiadomienie z banku to przykład, nie obietnica kwoty) */
.kh-chip.kh-vis__ex { top: 6%; right: 2%; padding: 6px 14px; background: var(--kh-ink); color: #fff; font-size: max(.88rem, 13px); letter-spacing: .06em; text-transform: uppercase; }

/* animacje rysunku (wyłączone przy „ogranicz ruch”) */
@keyframes kh-float { 0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); } 50% { transform: translateY(-12px) rotate(var(--r, 0deg)); } }
@keyframes kh-drop { from { opacity: 0; transform: translateY(-18px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes kh-drop2 { from { opacity: 0; transform: translateY(-18px) scale(.92); } to { opacity: .93; transform: scale(.97); } }
@keyframes kh-glow { 0%, 100% { box-shadow: 0 6cqw 10cqw -6cqw rgba(0, 0, 0, .5), 0 0 0 0 rgba(246, 189, 22, 0); } 50% { box-shadow: 0 6cqw 10cqw -6cqw rgba(0, 0, 0, .5), 0 0 0 2cqw rgba(246, 189, 22, .55); } }
@keyframes kh-pop { from { opacity: 0; transform: translateY(10px) scale(.9); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .kh-vis .kh-coin { animation: kh-float 6s ease-in-out infinite; }
  .kh-vis .kh-coin--2 { animation-delay: -1.5s; animation-duration: 7s; }
  .kh-vis .kh-coin--3 { animation-delay: -3s; }
  .kh-vis .kh-coin--4 { animation-delay: -4.2s; animation-duration: 8s; }
  .kh-vis .kh-coin--5 { animation-delay: -2.2s; animation-duration: 6.5s; }
  .kh-notif--quote { animation: kh-drop2 .6s ease-out .2s both; }
  .kh-notif--kadom { animation: kh-drop2 .6s ease-out .8s both; }
  .kh-notif--bank { animation: kh-drop .7s cubic-bezier(.2, 1.4, .4, 1) 1.5s both, kh-glow 2.4s ease-in-out 2.4s 3; }
  .kh-chip--1 { animation: kh-pop .5s ease-out 2.3s both; }
  .kh-chip--2 { animation: kh-pop .5s ease-out 2.6s both; }
}

/* ---------- LATA I TERMIN (każdy rok to link do formularza z zaznaczonym rokiem: /formularz.php?rok=2023) ----------
   Pytanie, jedna czerwona linijka z terminem najstarszego roku, 4 lata (2×2 na telefonie, w rzędzie na komputerze),
   jedno zdanie i przypis. Na komputerze wszystko na środku. */
.kh-years { background: linear-gradient(90deg, #fff6dc, #fffaf0); border-top: 1px solid #f3df9f; border-bottom: 1px solid #f3df9f; }
.kh-years__in { padding-top: 40px; padding-bottom: 40px; }
@media (min-width: 760px) { .kh-years__in { padding-top: 56px; padding-bottom: 56px; text-align: center; } }
.kh-years h2 { font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2.3rem); line-height: 1.2; letter-spacing: -.02em; }
.kh-years__ico { color: #c98a00; margin-right: 4px; }
.kh-years__alert { margin-top: 12px !important; color: var(--kh-red); font-size: clamp(1.06rem, 1rem + .3vw, 1.25rem); line-height: 1.4; }
.kh-years__alert b { font-weight: 800; }
.kh-years__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 12px; margin-top: 24px !important; }
@media (min-width: 760px) { .kh-years__list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 1040px; margin: 32px auto 0 !important; } }
.kh-year { display: block; }
.kh-year__box {
  display: flex; flex-direction: column; align-items: flex-start; height: 100%; padding: 16px 16px 14px;
  border-radius: 18px; background: #fff; border: 2px solid #ead9a8; color: var(--kh-ink) !important; text-decoration: none; text-align: left; line-height: 1.2;
  box-shadow: 0 8px 18px -14px rgba(120, 80, 0, .55); transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.kh-year a.kh-year__box { white-space: normal; }               /* rok z linkiem tel: (ostatnie dni) – tekst się łamie mimo nowrap dla tel: */
.kh-year__box:hover { border-color: var(--kh-green); transform: translateY(-2px); box-shadow: 0 14px 24px -16px rgba(15, 93, 58, .6); }
.kh-year__y { font-weight: 800; font-size: 1.6rem; letter-spacing: -.02em; }
.kh-year__t { margin-top: 4px; color: var(--kh-ink-2); font-size: .94rem; font-weight: 700; line-height: 1.3; }
.kh-year__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 14px; color: var(--kh-green-700); font-weight: 800; font-size: 1rem; }
.kh-year.is-urgent .kh-year__box { border-color: #f1a796; background: var(--kh-red-50); }
.kh-year.is-urgent .kh-year__t, .kh-year.is-urgent .kh-year__go { color: var(--kh-red); }
.kh-year.is-urgent .kh-year__box:hover { border-color: var(--kh-red); }
.kh-years__note { max-width: 60ch; margin-top: 22px !important; color: var(--kh-ink-2); font-size: 1rem; line-height: 1.5; }
.kh-years__fn { margin-top: 8px !important; color: var(--kh-muted); font-size: .88rem; line-height: 1.45; }
.kh-years__fn a { font-weight: 700; }
/* drobny tekst na stronie głównej: min. 15 px (podstrony bez zmian) */
#lata .kh-years__fn, #strata .kh-fine, #opinie .kh-fine, #pytania .kh-fine { font-size: .94rem; }
#opinie .kh-examples__tag { font-size: .8rem; }
@media (min-width: 760px) { .kh-years__note { margin-left: auto; margin-right: auto; } }

/* ---------- sekcje ---------- */
.kh-sec { padding: clamp(64px, 8.5vw, 128px) 0; }
@media (max-width: 559px) { .kh-sec { padding: 52px 0; } .kh-sec--tight { padding: 44px 0; } .kh-head { margin-bottom: 28px; } }
.kh-sec--mint { background: var(--kh-mint); }
.kh-sec--soft { background: var(--kh-soft); }
.kh-head { max-width: 860px; margin: 0 auto clamp(36px, 4.5vw, 64px); text-align: center; }
.kh-head--left { text-align: left; margin-left: 0; }
.kh-head h2, .kh-price__intro h2 { font-size: clamp(2rem, 1.15rem + 2.9vw, 3.5rem); line-height: 1.08; font-weight: 800; letter-spacing: -.03em; }
.kh-sec--tight { padding: clamp(48px, 6vw, 88px) 0; }
.kh-head--sm { margin-bottom: clamp(24px, 3vw, 36px); }
.kh-head--sm h2 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); }

/* urząd sam nie odda */
.kh-flow { display: grid; gap: 20px; }
@media (min-width: 900px) { .kh-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; } }
.kh-flow li { position: relative; padding: clamp(28px, 3vw, 40px) clamp(22px, 2.4vw, 32px); text-align: center; background: #fff; border: 1px solid var(--kh-line); border-radius: var(--kh-radius); box-shadow: var(--kh-shadow); }
@media (min-width: 900px) {
  .kh-flow li:not(:last-child)::after {
    content: ""; position: absolute; top: 50%; right: -31px; width: 22px; height: 22px; margin-top: -11px;
    background: var(--kh-green); opacity: .45;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") center / contain no-repeat;
  }
}
.kh-flow__ico { position: relative; display: inline-grid; place-items: center; width: 104px; height: 104px; margin-bottom: 20px; border-radius: 50%; background: var(--kh-mint); color: var(--kh-green-700); font-size: 44px; }
.kh-flow__ico--warn { background: var(--kh-red-50); color: var(--kh-red); }
.kh-flow__badge { position: absolute; top: -2px; right: -6px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-size: 18px; font-weight: 800; color: #fff; border: 3px solid #fff; }
.kh-flow__badge--minus { background: var(--kh-red); font-size: 26px; line-height: 1; padding-bottom: 3px; }
.kh-flow__badge--eur { background: var(--kh-gold); color: #5a3d00; }
.kh-flow__badge--x { background: var(--kh-red); font-size: 16px; }
.kh-flow h3 { font-size: clamp(1.3rem, 1.15rem + .5vw, 1.55rem); line-height: 1.2; }
.kh-flow p { margin-top: 10px !important; color: var(--kh-muted); font-size: 1.05rem; }
/* telefon: karty poziomo (ikona obok tekstu) – krótsza strona */
@media (max-width: 899px) {
  .kh-flow { gap: 14px; }
  .kh-flow li { display: grid; grid-template-columns: 72px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 4px 18px; padding: 22px 20px; text-align: left; }
  .kh-flow__ico { grid-row: span 2; width: 72px; height: 72px; margin: 0; font-size: 30px; }
  .kh-flow__badge { top: -6px; right: -8px; width: 30px; height: 30px; font-size: 13px; border-width: 2px; }
  .kh-flow__badge--minus { font-size: 20px; padding-bottom: 2px; }
  .kh-flow h3 { font-size: 1.2rem; padding-top: 6px; }
  .kh-flow p { margin-top: 2px !important; font-size: 1rem; }
}

.kh-outcome { display: grid; gap: 16px; }
@media (min-width: 760px) { .kh-outcome { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 24px; } }
.kh-outcome__item { position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr); align-content: center; align-items: center; gap: 2px 16px; padding: clamp(22px, 2.6vw, 34px) clamp(22px, 2.6vw, 36px); border-radius: var(--kh-radius); }
.kh-outcome__item > :not(.kh-outcome__ico):not(.kh-coin) { grid-column: 2; position: relative; z-index: 1; }
.kh-outcome__ico { grid-row: 1 / span 4; align-self: start; font-size: 40px; display: grid; }
.kh-outcome__t { font-weight: 800; font-size: 1.1rem; }
.kh-outcome__v { font-size: clamp(2rem, 1.4rem + 2.2vw, 3.1rem); font-weight: 800; line-height: 1.1; letter-spacing: -.03em; }
.kh-outcome__s { font-size: 1rem; line-height: 1.45; }
.kh-outcome__item--no { background: #f4f5f4; border: 2px dashed #cfd6d2; color: #5f6a64; }
.kh-outcome__item--no .kh-outcome__v { color: #6b756f; }
a.kh-outcome__item { text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
a.kh-outcome__item:hover { transform: translateY(-3px); }
.kh-outcome__item--yes { background: linear-gradient(120deg, var(--kh-green-800), var(--kh-green-900)); color: #fff !important; box-shadow: var(--kh-shadow-lg); }
.kh-outcome__item--yes .kh-outcome__ico { color: var(--kh-gold); }
.kh-outcome__item--yes .kh-outcome__v { color: var(--kh-gold); }
.kh-outcome__item--yes .kh-outcome__s { color: rgba(255, 255, 255, .85); }
.kh-outcome__item--yes .kh-outcome__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; color: #fff; font-weight: 800; font-size: 1.05rem; }
.kh-outcome__item--yes:hover .kh-outcome__go .kh-i { transform: translateX(4px); }
.kh-outcome__go .kh-i { color: var(--kh-gold); transition: transform .15s ease; }
.kh-outcome__coin { position: absolute; right: -18px; bottom: -22px; font-size: 130px; opacity: .9; transform: rotate(-14deg); }
@media (max-width: 559px) { .kh-outcome__coin { font-size: 88px; right: -38px; bottom: -34px; opacity: .45; } .kh-outcome__ico { font-size: 32px; } #strata .kh-outcome__coin { display: none; } }
.kh-strata__txt { max-width: 860px; margin: clamp(26px, 3.5vw, 40px) auto 0; text-align: center; }
.kh-strata__ask { color: var(--kh-ink-2); font-weight: 600; font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.45; }
.kh-strata__txt .kh-fine { margin-top: 10px !important; }
@media (max-width: 559px) { .kh-strata__txt { text-align: left; } }
.kh-rboxes { display: grid; gap: 14px; max-width: 980px; margin: clamp(40px, 5vw, 64px) auto 0; }
.kh-rboxes__h { margin-bottom: 4px !important; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); line-height: 1.2; text-align: center; }
.kh-rbox { border-radius: 18px; padding: 18px 20px; }
.kh-rbox--info { background: var(--kh-soft); border: 1px solid var(--kh-line); }
.kh-rbox--warn { background: #fffdf5; border: 2px solid #f0cb6c; }
.kh-rbox__t { display: flex; align-items: flex-start; gap: 12px; font-weight: 800; font-size: 1.1rem; line-height: 1.35; }
.kh-rbox__t > .kh-i { flex: none; font-size: 1.25em; margin-top: .05em; }
.kh-rbox__line { display: flex; align-items: flex-start; gap: 12px; color: var(--kh-ink-2); line-height: 1.45; }
.kh-rbox__line > .kh-i { flex: none; margin-top: .1em; font-size: 1.25em; color: #7b8781; }
.kh-rbox__line b { color: var(--kh-ink); }
.kh-rbox--warn .kh-rbox__t > .kh-i { color: #c98a00; }
.kh-rbox__t > span:not(.kh-faq__ico) { flex: 1; }
summary.kh-rbox__t { align-items: center; min-height: 44px; cursor: pointer; list-style: none; }
summary.kh-rbox__t::-webkit-details-marker { display: none; }
.kh-rbox__more { color: var(--kh-muted); font-weight: 600; font-size: .9rem; white-space: nowrap; }
.kh-rbox[open] .kh-rbox__more { display: none; }
.kh-rbox[open] .kh-faq__ico { background: var(--kh-green); }
.kh-rbox[open] .kh-faq__ico::before, .kh-rbox[open] .kh-faq__ico::after { background: #fff; }
.kh-rbox[open] .kh-faq__ico::after { transform: rotate(0); }
.kh-rbox__body { display: grid; gap: 10px; margin-top: 12px; padding-left: calc(1.25em + 12px); color: var(--kh-ink-2); }
.kh-rbox__body .kh-fine { margin-top: 0 !important; }
.kh-rbox__ex { padding: 12px 14px; border-radius: 12px; background: var(--kh-gold-50); }
@media (max-width: 559px) { .kh-rbox { padding: 16px; } .kh-rbox__body { padding-left: 0; } .kh-rbox__t { font-size: 1.04rem; } }
.kh-micro { margin-top: 12px !important; color: var(--kh-muted); font-size: .93rem; line-height: 1.45; }

/* jak to działa */
.kh-steps { display: grid; gap: 20px; }
@media (min-width: 900px) { .kh-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; } }
.kh-steps > li { position: relative; overflow: hidden; padding: clamp(28px, 3vw, 40px); background: #fff; border-radius: var(--kh-radius); box-shadow: var(--kh-shadow); }
.kh-steps__n { position: absolute; top: -.12em; right: 18px; font-size: clamp(5rem, 4rem + 3vw, 7.5rem); font-weight: 800; line-height: 1; color: var(--kh-mint); letter-spacing: -.05em; }
.kh-steps__ico { position: relative; display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 22px; border-radius: 20px; background: linear-gradient(140deg, #22a565, var(--kh-green-800)); color: #fff; font-size: 32px; box-shadow: 0 14px 24px -14px rgba(15, 93, 58, .8); }
.kh-steps h3 { position: relative; font-size: clamp(1.3rem, 1.15rem + .5vw, 1.55rem); line-height: 1.2; }
.kh-steps p { position: relative; margin-top: 10px !important; color: var(--kh-muted); font-size: 1.05rem; }
@media (max-width: 899px) {
  .kh-steps { gap: 14px; }
  .kh-steps > li { display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 4px 16px; padding: 22px 20px; }
  .kh-steps__ico { grid-row: span 2; width: 56px; height: 56px; margin: 0; border-radius: 16px; font-size: 24px; }
  .kh-steps__n { font-size: 4.2rem; right: 12px; }
  .kh-steps h3 { font-size: 1.2rem; padding-top: 4px; padding-right: 36px; }
  .kh-steps p { margin-top: 2px !important; font-size: 1rem; }
}

/* dla kogo */
.kh-who { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 640px) { .kh-who { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1200px) { .kh-who { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; } }
.kh-who a, .kh-who__card {
  height: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding: clamp(22px, 2.4vw, 32px) 12px; text-align: center;
  background: var(--kh-soft); border: 1px solid var(--kh-line); border-radius: var(--kh-radius);
  color: var(--kh-ink) !important; text-decoration: none;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.kh-who a:hover { border-color: var(--kh-green); background: #fff; transform: translateY(-3px); box-shadow: var(--kh-shadow); }
.kh-who__ico { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; background: #fff; color: var(--kh-green-700); font-size: 34px; box-shadow: 0 8px 20px -12px rgba(15, 93, 58, .5); }
.kh-who b { font-size: clamp(1.08rem, 1rem + .3vw, 1.25rem); line-height: 1.2; }
.kh-who__more { display: inline-flex; align-items: center; gap: 6px; color: var(--kh-green-700); font-weight: 700; font-size: .9rem; }
@media (max-width: 639px) {
  .kh-who { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .kh-who a, .kh-who__card { gap: 8px; padding: 14px 4px; border-radius: 16px; }
  .kh-who__ico { width: 52px; height: 52px; font-size: 24px; }
  .kh-who b { font-size: .95rem; }
  .kh-who__more { display: none; }
}
.kh-who__note { display: flex; justify-content: center; align-items: flex-start; gap: 10px; max-width: 760px; margin: 28px auto 0 !important; color: var(--kh-muted); font-size: 1rem; text-align: left; }
.kh-who__note .kh-i { color: var(--kh-green); margin-top: .25em; }

/* cena */
.kh-sec--dark {
  color: #fff;
  background:
    radial-gradient(50% 60% at 90% 10%, rgba(246, 189, 22, .16), transparent 70%),
    linear-gradient(135deg, #0d5435 0%, var(--kh-green-900) 55%, var(--kh-green-950) 100%);
}
.kh-sec--dark h2 { color: #fff; }
.kh-sec--dark .kh-sub, .kh-sec--dark .kh-fine { color: rgba(255, 255, 255, .78); }
.kh-price { display: grid; gap: clamp(40px, 5vw, 80px); align-items: center; }
@media (min-width: 1024px) { .kh-price { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); } }
.kh-price__intro .kh-sub { max-width: 46ch; }
.kh-bars { display: grid; gap: 22px; margin-top: clamp(28px, 3vw, 40px); max-width: 760px; }
.kh-bars__h { color: rgba(255, 255, 255, .85); margin-bottom: 10px !important; font-size: 1.02rem; }
.kh-bars__h b { color: #fff; }
.kh-bars__h small { color: rgba(255, 255, 255, .6); }
.kh-bars__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "lbl val" "track track"; gap: 4px 12px; align-items: center; margin-top: 10px; }
@media (min-width: 640px) { .kh-bars__row { grid-template-columns: 190px minmax(0, 1fr) 110px; grid-template-areas: "lbl track val"; } }
.kh-bars__lbl { grid-area: lbl; font-size: .95rem; color: rgba(255, 255, 255, .8); }
.kh-bars__track { grid-area: track; height: 22px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.kh-bars__bar { display: block; height: 100%; width: var(--w); border-radius: 999px; transform-origin: left; }
.kh-bars__row--them .kh-bars__bar { background: linear-gradient(90deg, #e2735a, #f29a7f); }
.kh-bars__row--us .kh-bars__bar { background: linear-gradient(90deg, #f6bd16, #ffd75c); }
.kh-bars__row--us .kh-bars__lbl { color: #fff; font-weight: 700; }
.kh-bars__val { grid-area: val; text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kh-bars__row--us .kh-bars__val { color: var(--kh-gold); }
/* paski „rosną”, gdy sekcja pojawi się na ekranie (klasę kh-anim dodaje home.js tylko poza ekranem) */
@media (prefers-reduced-motion: no-preference) {
  .kh-bars.kh-anim .kh-bars__bar { transform: scaleX(0); transition: transform 1.1s cubic-bezier(.2, .8, .2, 1); }
  .kh-bars.kh-anim.is-in .kh-bars__bar { transform: none; }
  .kh-bars.kh-anim.is-in .kh-bars__row--them .kh-bars__bar { transition-delay: .15s; }
}
.kh-save { display: flex; align-items: center; gap: 14px; margin-top: 28px !important; font-size: clamp(1.08rem, 1rem + .3vw, 1.25rem); }
.kh-save .kh-coin { font-size: 46px; }
.kh-save b { color: var(--kh-gold); }
.kh-price__card { position: relative; padding: clamp(28px, 3vw, 44px); background: #fff; color: var(--kh-ink); border-radius: 28px; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6); }
.kh-price__name { font-weight: 700; color: var(--kh-muted); }
.kh-price__amount { margin-top: 6px !important; color: var(--kh-green-700); font-weight: 800; font-size: 2.2rem; line-height: 1; letter-spacing: -.04em; }
.kh-price__amount span { font-size: clamp(4.4rem, 3rem + 4vw, 6.4rem); }
/* gwarancja darmowej wyceny w karcie ceny */
.kh-price__guar { display: flex; gap: 12px; align-items: flex-start; margin-top: 20px !important; padding: 14px 16px; border-radius: 14px; background: var(--kh-mint); border: 1px solid var(--kh-mint-2); line-height: 1.4; }
.kh-price__guar .kh-i { flex: none; color: var(--kh-green-700); font-size: 1.4em; margin-top: .05em; }
.kh-price__guar b { display: block; color: var(--kh-green-800); }
.kh-price__per { margin-top: 8px !important; color: var(--kh-muted); font-weight: 600; }
.kh-list { display: grid; gap: 12px; margin: 24px 0 !important; padding: 24px 0 !important; border-top: 1px solid var(--kh-line); border-bottom: 1px solid var(--kh-line); }
.kh-list li { position: relative; padding-left: 34px; line-height: 1.45; }
.kh-list li::before {
  content: ""; position: absolute; left: 0; top: .1em; width: 22px; height: 22px; border-radius: 50%;
  background: var(--kh-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23198754' d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.kh-price__pay { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px !important; padding: 14px 16px; border-radius: 14px; background: var(--kh-gold-50); font-weight: 600; line-height: 1.4; }
.kh-price__pay .kh-i { color: #b07d00; margin-top: .2em; font-size: 1.1em; }

/* gwarancje */
.kh-guar { display: grid; gap: 16px; }
@media (min-width: 640px) { .kh-guar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kh-guar { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
.kh-guar li { display: grid; grid-template-columns: 60px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 4px 18px; align-items: start; padding: clamp(18px, 2.4vw, 32px); border: 1px solid var(--kh-line); border-radius: var(--kh-radius); background: #fff; }
.kh-guar__ico { grid-row: span 2; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: var(--kh-mint); color: var(--kh-green-700); font-size: 26px; }
.kh-guar h3 { font-size: 1.22rem; line-height: 1.25; padding-top: 4px; }
@media (max-width: 559px) { .kh-guar { gap: 12px; } .kh-guar li { grid-template-columns: 48px minmax(0, 1fr); gap: 2px 14px; } .kh-guar__ico { width: 48px; height: 48px; border-radius: 14px; font-size: 21px; } .kh-guar h3 { font-size: 1.12rem; padding-top: 0; } .kh-guar p { font-size: .98rem; } }
.kh-guar p { color: var(--kh-muted); }
.kh-guar .kh-guar--main { background: linear-gradient(135deg, var(--kh-mint), #fff); border-color: var(--kh-mint-2); }
.kh-guar--main .kh-guar__ico { background: var(--kh-gold); color: #5a3d00; }

/* opinie */
.kh-proof { display: grid; gap: 20px; }
@media (min-width: 1024px) { .kh-proof { grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); gap: 28px; align-items: stretch; } }
.kh-gbox { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: clamp(26px, 3vw, 40px); background: #fff; border-radius: var(--kh-radius); box-shadow: var(--kh-shadow); color: var(--kh-ink) !important; text-decoration: none; border: 1px solid var(--kh-line); }
.kh-gbox:hover { border-color: var(--kh-green); }
.kh-gbox__top { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--kh-ink-2); }
.kh-gbox__score { font-size: clamp(4.5rem, 3.5rem + 3vw, 6rem); font-weight: 800; line-height: 1; letter-spacing: -.04em; margin-top: 8px; }
.kh-gbox__count { color: var(--kh-muted); font-size: .98rem; }
.kh-gbox__link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 18px; color: var(--kh-green-700); font-weight: 700; }
.kh-proof__side { display: grid; gap: 20px; align-content: start; }
.kh-proof__src { max-width: 760px; }
/* bez cytatów (same opinie Google + liczby): pasek Google na całą szerokość, pod nim notka i rząd liczb */
@media (min-width: 1024px) {
  .kh-proof--solo .kh-stats { gap: 20px; }
  .kh-proof--solo .kh-stats li { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 24px 16px; border-radius: var(--kh-radius); }
  .kh-proof--solo .kh-stats b { font-size: clamp(2.2rem, 1.2rem + 2vw, 3.4rem); }
  .kh-proof--solo .kh-stats span { font-size: 1.02rem; }
}
.kh-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kh-stats li { padding: 18px 12px; border-radius: 18px; background: #fff; border: 1px solid var(--kh-line); text-align: center; }
.kh-stats b { display: block; color: var(--kh-green-700); font-size: clamp(1.3rem, .9rem + 1.6vw, 2.3rem); font-weight: 800; line-height: 1.1; letter-spacing: -.03em; white-space: nowrap; }
.kh-stats span { color: var(--kh-muted); font-size: .9rem; }
@media (max-width: 479px) { .kh-stats { gap: 8px; } .kh-stats li { padding: 14px 6px; } .kh-stats span { font-size: .78rem; } }
@media (max-width: 479px) { #opinie .kh-stats li { padding: 14px 4px; } #opinie .kh-stats span { display: block; margin-top: 4px; font-size: .94rem; line-height: 1.3; } }
.kh-quotes { display: grid; gap: 16px; }
@media (min-width: 760px) { .kh-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
.kh-quote { display: flex; flex-direction: column; gap: 18px; padding: clamp(22px, 2.4vw, 30px); background: #fff; border-radius: var(--kh-radius); border: 1px solid var(--kh-line); }
.kh-quote blockquote p { font-size: 1.1rem; line-height: 1.55; color: var(--kh-ink); }
.kh-quote figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.kh-quote__av { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--kh-mint); color: var(--kh-green-800); font-weight: 800; }
.kh-quote__who { display: flex; flex-direction: column; line-height: 1.25; }
.kh-quote__who small { color: var(--kh-muted); font-size: .85rem; }
.kh-quote__amt { margin-left: auto; padding: 6px 12px; border-radius: 999px; background: var(--kh-gold-50); color: var(--kh-ink-2); font-size: .9rem; white-space: nowrap; }
.kh-quote__amt b { color: var(--kh-green-700); font-size: 1.05rem; }
.kh-quote__link { font-size: .9rem; font-weight: 700; }
.kh-examples { margin-top: clamp(28px, 3vw, 40px); }
.kh-examples__h { margin-bottom: 14px !important; color: var(--kh-muted); font-weight: 800; font-size: .86rem; letter-spacing: .12em; text-transform: uppercase; }
.kh-examples ul { display: grid; gap: 16px; }
@media (min-width: 900px) { .kh-examples ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.kh-examples li { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 18px 20px; background: #fff; border-radius: 18px; border: 1px solid var(--kh-line); }
.kh-examples__ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--kh-mint); color: var(--kh-green-700); font-size: 22px; }
.kh-examples__txt { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.kh-examples__txt small { color: var(--kh-muted); font-size: .88rem; }
.kh-examples__amt { color: var(--kh-green-700); font-weight: 800; font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem); white-space: nowrap; letter-spacing: -.02em; }
.kh-examples__tag { position: absolute; top: -9px; right: 14px; padding: 1px 9px; border-radius: 999px; background: #e9ecea; color: var(--kh-muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
/* jeden przykład na podstronie zawodu */
@media (max-width: 559px) { .kh-examples ul { gap: 14px; } .kh-examples li { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; padding: 14px 16px; } .kh-examples__ico { width: 44px; height: 44px; font-size: 19px; } }
.kh-examples--one { max-width: 600px; margin-left: auto; margin-right: auto; }
@media (min-width: 900px) { .kh-examples--one ul { grid-template-columns: minmax(0, 1fr); } }

/* FAQ */
.kh-faq-wrap { display: grid; gap: 8px; }
@media (min-width: 1024px) { .kh-faq-wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(40px, 6vw, 112px); align-items: start; } .kh-faq-wrap .kh-head { position: sticky; top: calc(var(--kh-header-h) + 32px); } }
.kh-more { margin-top: 18px !important; }
.kh-more a { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
.kh-faq details { border-bottom: 1px solid var(--kh-line); }
.kh-faq details:first-child { border-top: 1px solid var(--kh-line); }
.kh-faq summary { display: flex; align-items: center; gap: 16px; padding: 22px 0; cursor: pointer; list-style: none; }
.kh-faq summary::-webkit-details-marker { display: none; }
.kh-faq summary h3 { flex: 1; font-size: clamp(1.1rem, 1.02rem + .35vw, 1.3rem); line-height: 1.3; letter-spacing: -.01em; }
.kh-faq summary:hover h3 { color: var(--kh-green-800); }
.kh-faq__ico { position: relative; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: var(--kh-mint); transition: background-color .15s ease; }
.kh-faq__ico::before, .kh-faq__ico::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2.5px; margin: -1.25px 0 0 -7px; background: var(--kh-green-800); border-radius: 2px; transition: transform .2s ease; }
.kh-faq__ico::after { transform: rotate(90deg); }
.kh-faq details[open] .kh-faq__ico { background: var(--kh-green); }
.kh-faq details[open] .kh-faq__ico::before, .kh-faq details[open] .kh-faq__ico::after { background: #fff; }
.kh-faq details[open] .kh-faq__ico::after { transform: rotate(0); }
.kh-faq__a { padding: 0 56px 24px 0; }
.kh-faq__a p { color: var(--kh-ink-2); font-size: 1.06rem; max-width: 68ch; }
@media (max-width: 559px) { .kh-faq__a { padding-right: 0; } }

/* =============================================================================
   STRONA GŁÓWNA – sekcje: jak to działa (wzór niemieckiego PIT-u), bez strachu, opinie, oferta, FAQ
   ============================================================================= */
/* przyciski obok siebie (na telefonie jeden pod drugim) i przycisk z obwódką */
.kh-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 16px; margin-top: clamp(24px, 3vw, 36px); }
.kh-btn--ghost { background: transparent; color: var(--kh-green-800) !important; border: 2px solid var(--kh-green-700); box-shadow: none; }
.kh-btn--ghost:hover { background: #fff; color: var(--kh-green-900) !important; box-shadow: none; }

/* jak to działa: „1 kartka + formularz = darmowe wyliczenie” */
.kh-formula { max-width: 1000px; margin: calc(-1 * clamp(8px, 2vw, 28px)) auto clamp(28px, 3.5vw, 44px); text-align: center; }
.kh-formula__eq { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 12px; }
.kh-formula__part { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 18px 6px 6px; border-radius: 999px; background: #fff; border: 1px solid var(--kh-mint-2); box-shadow: var(--kh-shadow); font-weight: 700; line-height: 1.2; text-align: left; }
.kh-formula__ico { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--kh-mint); color: var(--kh-green-700); font-size: 18px; }
.kh-formula__part--res { background: var(--kh-green-800); border-color: transparent; color: #fff; }
.kh-formula__part--res .kh-formula__ico { background: var(--kh-gold); color: #5a3d00; }
.kh-formula__op { color: var(--kh-green-700); font-weight: 800; font-size: 1.6rem; line-height: 1; }
.kh-formula__grp { display: inline-flex; align-items: center; gap: 10px 12px; }   /* „+” i „=” przechodzą do nowego wiersza razem z tym, co po nich */
.kh-formula__then { margin-top: 14px !important; color: var(--kh-ink-2); font-size: clamp(1.02rem, .98rem + .25vw, 1.15rem); }
/* telefon: równanie pionowo (kartka, +, formularz, =, wynik) i krótsze przyciski w jednej linii */
@media (max-width: 559px) {
  .kh-formula__eq { flex-direction: column; gap: 4px; }
  .kh-formula__grp { display: contents; }
  .kh-formula__op { font-size: 1.4rem; }
  .kh-btns .kh-btn { font-size: 1.02rem; gap: 8px; }
}
.kh-steps__ico--zero { background: linear-gradient(140deg, #ffd34d, #e0a000); color: #3d2a00; font-size: 21px; font-weight: 800; letter-spacing: -.03em; white-space: nowrap; box-shadow: 0 14px 24px -14px rgba(160, 110, 0, .8); }
.kh-steps__body { position: relative; }
.kh-steps__body p b { color: var(--kh-ink); }
.kh-miniyears { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px !important; }
.kh-miniyears a { display: inline-grid; place-items: center; min-width: 60px; min-height: 44px; padding: 0 12px; border-radius: 12px; background: var(--kh-mint); border: 1px solid var(--kh-mint-2); color: var(--kh-green-800) !important; font-weight: 800; text-decoration: none; }
.kh-miniyears a:hover { background: var(--kh-green); border-color: var(--kh-green); color: #fff !important; }
.kh-miniyears a.is-urgent { background: var(--kh-red-50); border-color: #f1a796; color: var(--kh-red) !important; }
@media (max-width: 899px) {
  .kh-steps__ico--zero { font-size: 17px; }
  .kh-miniyears { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; max-width: 320px; margin-top: 10px !important; }
  .kh-miniyears a { min-width: 0; padding: 0 4px; }
}
@media (max-width: 339px) { .kh-miniyears { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kh-steps__after { max-width: 760px; margin: 20px auto 0 !important; color: var(--kh-ink-2); font-size: 1rem; line-height: 1.5; text-align: center; }
@media (max-width: 559px) { .kh-steps__after { text-align: left; } }

/* niemiecki PIT: zdjęcie wzoru (/assets/img/lstb.webp, kliknięcie – powiększenie w nowej karcie), opis i „nie masz kartki?” */
.kh-pit { display: grid; gap: 16px; margin-top: clamp(40px, 5vw, 64px); align-items: start; }
/* od 700 px: zdjęcie po lewej, opis i „nie masz kartki?” jeden pod drugim po prawej */
@media (min-width: 700px) { .kh-pit { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-rows: auto 1fr; gap: 20px 24px; max-width: 1180px; margin-left: auto; margin-right: auto; } .kh-pit__wzor { grid-row: span 2; } }
.kh-pit__wzor { margin: 0; padding: 12px 12px 16px; border-radius: var(--kh-radius); background: #fff; box-shadow: var(--kh-shadow); }
.kh-pit__img { display: block; border-radius: 12px; overflow: hidden; cursor: zoom-in; }
.kh-pit__img img { display: block; width: 100%; height: auto; max-height: 420px; margin: 0 auto; object-fit: contain; }
.kh-pit__wzor figcaption { margin-top: 12px; color: var(--kh-ink-2); font-weight: 700; font-size: 1rem; line-height: 1.4; text-align: center; }
.kh-pit__card, .kh-pit__no { padding: clamp(20px, 2.6vw, 32px); border-radius: var(--kh-radius); }
.kh-pit__card { background: #fff; box-shadow: var(--kh-shadow); }
.kh-pit__no { background: var(--kh-gold-50); border: 1px solid #f3df9f; }
.kh-pit h3 { margin-bottom: 12px; font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); line-height: 1.2; }
.kh-pit__card p { color: var(--kh-ink-2); }
.kh-pit__card p b { color: var(--kh-ink); }
.kh-pit__card p + p { margin-top: 10px !important; }
.kh-pit__card .kh-pit__ok { display: flex; align-items: center; gap: 10px; margin-top: 14px !important; color: var(--kh-green-800); font-weight: 800; }
.kh-pit__no p { color: var(--kh-ink-2); }
.kh-pit__no a { font-weight: 700; }

/* bez strachu: 4 karty (tytuł + jedna linijka) */
.kh-calm { display: grid; gap: 12px; }
@media (min-width: 640px) { .kh-calm { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (min-width: 1200px) { .kh-calm { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; } }
.kh-calm li { display: grid; grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 4px 16px; align-content: start; padding: clamp(18px, 2.4vw, 28px); border-radius: var(--kh-radius); background: var(--kh-mint); border: 1px solid var(--kh-mint-2); }
.kh-calm__ico { grid-row: span 2; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: #fff; color: var(--kh-green-700); font-size: 22px; box-shadow: 0 8px 18px -12px rgba(15, 93, 58, .5); }
.kh-calm__ico--pl { border-radius: 16px 16px 16px 4px; background: var(--kh-green-700); color: #fff; font-size: 17px; font-weight: 800; letter-spacing: .03em; }
.kh-calm h3 { font-size: 1.12rem; line-height: 1.3; letter-spacing: -.01em; }
.kh-calm p { margin-top: 4px !important; color: var(--kh-ink-2); font-size: 1rem; line-height: 1.45; }
@media (min-width: 1200px) {
  .kh-calm li { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .kh-calm__ico { grid-row: auto; width: 60px; height: 60px; margin-bottom: 12px; font-size: 26px; }
}

/* opinie: Google + przypis, ludzie jak Ty, biura */
.kh-proof__g { display: grid; align-content: start; }
.kh-proof__g .kh-proof__src { margin-top: 12px !important; }
.kh-proof--sam { grid-template-columns: minmax(0, 560px); justify-content: center; }
/* komputer, same liczby bez cytatów: Google w jednym poziomym pasku, notka o opiniach, pod nią rząd liczb */
@media (min-width: 1024px) {
  .kh-proof--solo { grid-template-columns: minmax(0, 1fr); row-gap: 12px; }
  .kh-proof--solo .kh-proof__g { display: contents; }
  .kh-proof--solo .kh-gbox { grid-row: 1; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 28px; padding: 22px 32px; }
  .kh-proof--solo .kh-gbox__score { margin-top: 0; }
  .kh-proof--solo .kh-gbox__link { margin: 0 0 0 auto; padding-top: 0; }
  .kh-proof--solo .kh-proof__g .kh-proof__src { grid-row: 2; margin-top: 0 !important; }
  .kh-proof--solo .kh-proof__side { grid-row: 3; margin-top: 12px; }
}
.kh-gbox__score { font-size: clamp(2.6rem, 2rem + 2.4vw, 4rem); }
.kh-gbox__score small { font-size: .38em; font-weight: 700; letter-spacing: 0; color: var(--kh-muted); }
.kh-gbox__count b { color: var(--kh-ink); }
.kh-quotes__cap { margin-top: 0 !important; }
.kh-people, .kh-offices { margin-top: clamp(44px, 5.5vw, 72px); }
.kh-people__h { margin-bottom: 16px !important; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); line-height: 1.2; }
.kh-jobs { display: flex; flex-wrap: wrap; gap: 10px; }
.kh-jobs a, .kh-jobs__chip { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 18px 8px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--kh-line); color: var(--kh-ink) !important; font-weight: 700; text-decoration: none; }
.kh-jobs .kh-i { color: var(--kh-green-700); font-size: 1.1em; }
.kh-jobs a { border-color: #9fd3b6; }
.kh-jobs a:hover { background: var(--kh-mint); border-color: var(--kh-green); }
.kh-jobs .kh-jobs__go { font-size: .8em; color: var(--kh-green); }
.kh-jobs__chip { background: transparent; border-color: transparent; padding-left: 8px; padding-right: 8px; color: var(--kh-ink-2) !important; }
.kh-offices__list { display: grid; gap: 12px; }
@media (min-width: 760px) { .kh-offices__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
.kh-offices__list a { display: flex; align-items: flex-start; gap: 14px; height: 100%; padding: 18px 20px; border-radius: 18px; background: #fff; border: 1px solid var(--kh-line); color: var(--kh-ink) !important; text-decoration: none; }
.kh-offices__list a:hover { border-color: var(--kh-green); }
.kh-offices__ico { flex: 0 0 48px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--kh-mint); color: var(--kh-green-700); font-size: 20px; }
.kh-offices__list b { display: block; font-size: 1.1rem; }
.kh-offices__list small { display: block; color: var(--kh-ink-2); font-size: .95rem; line-height: 1.4; }
.kh-offices__list em { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; color: var(--kh-green-700); font-style: normal; font-weight: 700; font-size: .92rem; }
.kh-offices__firm { margin-top: 12px !important; color: var(--kh-ink-2); font-size: .98rem; }

/* oferta: gwarancja (największa), cena, przelew prosto z urzędu, porównanie z prowizją, „co ryzykujesz?” */
.kh-offer .kh-head { margin-bottom: clamp(28px, 3.5vw, 48px); }
.kh-offer__cards { display: grid; gap: 18px; }
@media (min-width: 1024px) { .kh-offer__cards { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 28px; align-items: start; } }
.kh-offer__guar { position: relative; padding: clamp(22px, 3vw, 44px); border-radius: 28px; background: #fff; color: var(--kh-ink); border: 4px solid var(--kh-gold); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6); }
.kh-offer__gtop { display: flex; align-items: center; gap: 16px; }
.kh-offer__shield { flex: none; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: var(--kh-gold); color: #5a3d00; font-size: 30px; }
.kh-offer__zero { color: var(--kh-green-700); font-weight: 800; font-size: 1.9rem; line-height: 1; letter-spacing: -.04em; }
.kh-offer__zero span { font-size: clamp(2.6rem, 2.2rem + 1.6vw, 3.9rem); }
.kh-offer__guar h3 { margin-top: 16px; color: var(--kh-ink); font-size: clamp(1.45rem, 1.2rem + 1vw, 2.1rem); line-height: 1.15; }
.kh-offer__note { margin-top: 10px !important; color: var(--kh-ink-2); font-size: 1.05rem; }
.kh-offer__guar .kh-list { margin-bottom: 0 !important; padding-bottom: 0 !important; border-bottom: 0; font-size: 1.05rem; }
.kh-offer .kh-price__amount span { font-size: clamp(2.3rem, 2rem + 1.4vw, 3.3rem); }
.kh-offer__in { margin-top: 18px !important; font-weight: 800; }
.kh-offer__price .kh-list { gap: 8px; margin: 10px 0 18px !important; padding: 14px 0 !important; font-size: .98rem; }
.kh-offer__price .kh-price__pay { margin-bottom: 0 !important; font-weight: 500; font-size: .95rem; }
.kh-offer__money { display: flex; align-items: center; gap: 16px; max-width: 1100px; margin: clamp(24px, 3vw, 36px) auto 0 !important; padding: 18px 22px; border-radius: 18px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); line-height: 1.4; }
.kh-offer__bank { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--kh-gold); color: #5a3d00; font-size: 22px; }
.kh-offer__cmp { display: grid; gap: 28px; margin-top: clamp(44px, 5.5vw, 72px); }
@media (min-width: 1024px) { .kh-offer__cmp { grid-template-columns: minmax(0, 1.45fr) minmax(0, .55fr); gap: 48px; align-items: center; } }
.kh-offer__bars h3 { color: #fff; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.3rem); line-height: 1.15; }
.kh-offer__bars .kh-sub { max-width: 60ch; margin-top: 10px !important; }
@media (min-width: 640px) { .kh-offer .kh-bars__row { grid-template-columns: 170px minmax(0, 1fr) 210px; } }
.kh-risk { padding: clamp(20px, 2.6vw, 30px); border-radius: 22px; background: #fff; color: var(--kh-ink); }
.kh-risk__h { margin-bottom: 6px !important; font-weight: 800; font-size: 1.3rem; }
.kh-risk__row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; line-height: 1.4; }
.kh-risk__row + .kh-risk__row { border-top: 1px solid var(--kh-line); }
.kh-risk__row .kh-i { flex: none; margin-top: .05em; font-size: 1.4em; }
.kh-risk__row--yes .kh-i { color: var(--kh-green); }
.kh-risk__row--no { color: var(--kh-muted); }
.kh-risk__row--no .kh-i { color: #9aa59f; }
@media (max-width: 559px) { .kh-offer__money { align-items: flex-start; padding: 16px; } .kh-offer__bank { width: 44px; height: 44px; font-size: 19px; } .kh-offer__shield { width: 54px; height: 54px; font-size: 25px; } }

/* FAQ strony głównej: akapity, wypunktowania, podpisane fragmenty (dobrowolne / obowiązkowe) */
.kh-faq__a > * + * { margin-top: 12px !important; }
.kh-faq__list { display: grid; gap: 8px; }
.kh-faq__list li { position: relative; max-width: 68ch; padding-left: 22px; color: var(--kh-ink-2); font-size: 1.04rem; line-height: 1.5; }
.kh-faq__list li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--kh-green); }
.kh-faq__blok { padding: 14px 16px; border-radius: 14px; background: var(--kh-soft); border-left: 4px solid var(--kh-green); }
.kh-faq__blok ~ .kh-faq__blok { border-left-color: #e0a000; }
.kh-faq__blok > * + * { margin-top: 10px !important; }
.kh-faq__a .kh-faq__etykieta { color: var(--kh-ink); font-weight: 800; }
.kh-faq__a .kh-fine { color: var(--kh-muted); font-size: .88rem; }
.kh-faq-wrap > div > .kh-fine { margin-top: 18px !important; }

/* końcowe CTA */
.kh-final {
  position: relative; overflow: hidden; color: #fff; text-align: center;
  padding: clamp(72px, 10vw, 140px) 0;
  background:
    radial-gradient(45% 70% at 50% 110%, rgba(246, 189, 22, .3), transparent 70%),
    linear-gradient(160deg, #0f5d3a, var(--kh-green-950));
}
.kh-final__in { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.kh-final h2 { position: relative; color: #fff; font-size: clamp(2.1rem, 1.2rem + 3.2vw, 4rem); line-height: 1.06; font-weight: 800; letter-spacing: -.035em; max-width: 16ch; }
.kh-final__in > p { position: relative; margin-top: 16px !important; color: rgba(255, 255, 255, .85); font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); }
.kh-final .kh-btn { position: relative; margin-top: 32px; }
.kh-final .kh-final__deadline { display: inline-flex; align-items: baseline; gap: 8px; margin-top: 22px !important; color: #ffe08a; font-weight: 600; font-size: 1rem; text-align: left; }
.kh-final__deadline .kh-i { position: relative; top: .1em; }
.kh-final__contact { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 36px !important; }
.kh-final__contact a { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 20px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .2); color: #fff !important; font-weight: 700; text-decoration: none; }
.kh-final__contact a:hover { background: rgba(255, 255, 255, .16); }
@media (max-width: 559px) {
  .kh-final__contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row dense; width: 100%; gap: 10px; }
  .kh-final__wide { grid-column: span 2; }
  .kh-final__contact a { justify-content: center; width: 100%; padding: 10px 12px; }
}
.kh-final__contact .kh-i { color: var(--kh-gold); }
.kh-final .kh-coin { position: absolute; opacity: .9; }
.kh-final__coin--1 { font-size: 120px; left: 6%; top: 16%; --r: -14deg; }
.kh-final__coin--2 { font-size: 76px; right: 9%; top: 12%; --r: 18deg; }
.kh-final__coin--3 { font-size: 60px; right: 14%; bottom: 10%; --r: 6deg; }
@media (max-width: 1023px) { .kh-final__coin--1 { font-size: 64px; left: -14px; top: 10px; } .kh-final__coin--2 { font-size: 46px; right: 6px; top: 8px; } .kh-final__coin--3 { display: none; } }
@media (prefers-reduced-motion: no-preference) { .kh-final .kh-coin { animation: kh-float 7s ease-in-out infinite; } .kh-final .kh-final__coin--2 { animation-delay: -2s; } .kh-final .kh-final__coin--3 { animation-delay: -4s; } }

/* stopka */
.kh-footer { background: #07170f; color: rgba(255, 255, 255, .72); padding: clamp(48px, 6vw, 80px) 0 calc(28px + env(safe-area-inset-bottom)); font-size: .98rem; }
.kh-footer a { color: #fff; text-decoration: none; }
.kh-footer a:hover { color: var(--kh-gold); text-decoration: underline; }
.kh-footer__grid { display: grid; gap: 32px; }
@media (min-width: 720px) { .kh-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .kh-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 48px; } }
.kh-footer__brand > p { margin-top: 16px !important; max-width: 38ch; }
.kh-footer__contact { display: grid; gap: 10px; margin-top: 18px !important; }
.kh-footer__contact li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.kh-footer__contact .kh-i { color: var(--kh-gold); }
.kh-footer__contact small { color: rgba(255, 255, 255, .55); }
.kh-footer__social { display: flex; gap: 10px; margin-top: 18px !important; }
.kh-footer__social a { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .08); }
.kh-footer__h { color: #fff; font-weight: 800; margin-bottom: 12px !important; }
.kh-footer address { line-height: 1.7; }
.kh-footer__links-inline { margin-top: 8px !important; }
.kh-footer__note { display: flex; align-items: center; gap: 8px; margin-top: 10px !important; font-size: .9rem; color: rgba(255, 255, 255, .6); }
.kh-footer__note .kh-i { color: var(--kh-gold); }
.kh-footer__links { display: grid; gap: 8px; }
/* telefon: biura obok siebie, linki w dwóch kolumnach – krótsza stopka */
@media (min-width: 360px) and (max-width: 719px) {
  .kh-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .kh-footer__brand, .kh-footer__nav { grid-column: 1 / -1; }
  .kh-footer__office { font-size: .92rem; }
  .kh-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
}
.kh-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .86rem; color: rgba(255, 255, 255, .55); }

/* pasek CTA na telefonie – po prawej zostaje miejsce na okrągły przycisk czatu */
.kh-sticky {
  position: fixed; left: 12px; right: 90px; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 950;
  transform: translateY(160%); visibility: hidden;
  transition: transform .3s ease, visibility 0s linear .3s;
}
.kh-sticky--full { right: 12px; }
.kh-sticky.show { transform: none; visibility: visible; transition: transform .3s ease, visibility 0s; }
.kh-sticky__line { display: table; margin: 0 auto 6px !important; padding: 4px 12px; border-radius: 999px; background: #fff; color: #5f4300; font-size: .8rem; font-weight: 700; line-height: 1.3; text-align: center; box-shadow: 0 0 0 1px #f0d488, 0 8px 18px -10px rgba(6, 41, 26, .55); }
@media (max-width: 399px) { .kh-sticky__long { display: none; } }
.kh-sticky__cta { width: 100%; min-height: 58px; font-size: 1.08rem; font-weight: 800; border-radius: 16px; box-shadow: 0 18px 36px -12px rgba(6, 41, 26, .55), 0 0 0 3px #fff; }
@media (min-width: 960px) { .kh-sticky { display: none; } }

/* =============================================================================
   PODSTRONY (kierowcy, budowlanka, poradnik)
   ============================================================================= */
.kh-crumbs { display: flex; flex-wrap: wrap; gap: 6px; color: var(--kh-muted); font-size: .92rem; }
.kh-crumbs li:not(:last-child)::after { content: "›"; margin-left: 6px; color: #9aa59f; }
.kh-crumbs a { color: var(--kh-muted); }
.kh-phero {
  padding: clamp(24px, 3.5vw, 48px) 0 clamp(40px, 5vw, 72px);
  background: radial-gradient(60% 80% at 90% 10%, rgba(246, 189, 22, .14), transparent 70%), radial-gradient(70% 90% at 0% 0%, var(--kh-mint), transparent 70%), #fff;
}
.kh-phero__grid { display: grid; gap: 32px; align-items: center; margin-top: 22px; }
@media (min-width: 1024px) { .kh-phero__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 64px; } }
.kh-phero h1 { font-size: clamp(2.2rem, 1.2rem + 3.6vw, 4.2rem); line-height: 1.05; font-weight: 800; letter-spacing: -.035em; }
.kh-phero .kh-lead { max-width: 44ch; }
.kh-phero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 28px; }
.kh-phero__cta .kh-ticks { margin-top: 0 !important; }
.kh-phero__art { position: relative; display: grid; place-items: center; width: min(100%, 380px); aspect-ratio: 1; margin: 0 auto; border-radius: 50%; background: radial-gradient(closest-side, #fff, var(--kh-mint)); color: var(--kh-green-700); font-size: clamp(110px, 12vw, 170px); }
.kh-phero__art .kh-coin { position: absolute; font-size: .45em; }
.kh-phero__art .kh-coin:nth-of-type(1) { right: 6%; top: 8%; --r: 12deg; }
.kh-phero__art .kh-coin:nth-of-type(2) { left: 4%; bottom: 10%; font-size: .32em; --r: -10deg; }
@media (prefers-reduced-motion: no-preference) { .kh-phero__art .kh-coin { animation: kh-float 6s ease-in-out infinite; } .kh-phero__art .kh-coin:nth-of-type(2) { animation-delay: -3s; } }
@media (max-width: 1023px) { .kh-phero__art { display: none; } }
.kh-phero + .kh-sec { padding-top: clamp(48px, 6vw, 88px); }
.kh-points { display: grid; gap: 16px; }
@media (min-width: 760px) { .kh-points { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
.kh-points li { display: grid; grid-template-columns: 60px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 4px 18px; padding: clamp(20px, 2.4vw, 32px); border-radius: var(--kh-radius); background: #fff; border: 1px solid var(--kh-line); box-shadow: var(--kh-shadow); }
.kh-points .kh-guar__ico { grid-row: span 2; }
@media (max-width: 559px) { .kh-points li { grid-template-columns: 48px minmax(0, 1fr); gap: 2px 14px; } .kh-points .kh-guar__ico { width: 48px; height: 48px; border-radius: 14px; font-size: 21px; } .kh-points h3 { font-size: 1.12rem; padding-top: 0; } .kh-points p { font-size: .98rem; } }
.kh-points h3 { font-size: 1.25rem; padding-top: 4px; }
.kh-points p { color: var(--kh-muted); }
.kh-callout { display: flex; gap: 14px; align-items: flex-start; max-width: 980px; margin: clamp(24px, 3vw, 36px) auto 0; padding: 20px 24px; border-radius: 18px; background: var(--kh-gold-50); border: 1px solid #f3df9f; color: var(--kh-ink-2); }
.kh-callout .kh-i { color: #b07d00; font-size: 1.3em; margin-top: .1em; }
.kh-split { display: grid; gap: 24px; }
@media (min-width: 1024px) { .kh-split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; } }
.kh-box { padding: clamp(24px, 3vw, 40px); border-radius: var(--kh-radius); background: #fff; border: 1px solid var(--kh-line); }
.kh-box h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.15; margin-bottom: 18px; }
.kh-box .kh-list { margin: 0 !important; padding: 0 !important; border: 0; }
.kh-box .kh-box__list { margin: 20px 0 26px !important; }
.kh-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px !important; }
.kh-tags li { padding: 6px 14px; border-radius: 999px; background: var(--kh-mint); color: var(--kh-green-800); font-weight: 600; font-size: .95rem; }
.kh-related { display: grid; gap: 14px; }
@media (min-width: 760px) { .kh-related { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.kh-related a { display: flex; align-items: center; gap: 14px; height: 100%; padding: 20px 22px; border-radius: 18px; background: #fff; border: 1px solid var(--kh-line); color: var(--kh-ink) !important; font-weight: 700; text-decoration: none; }
.kh-related a:hover { border-color: var(--kh-green); }
.kh-related .kh-who__ico { flex: 0 0 52px; width: 52px; height: 52px; font-size: 22px; background: var(--kh-mint); box-shadow: none; }
.kh-related a > .kh-i { margin-left: auto; color: var(--kh-green); }

/* poradnik: treść czytana jak artykuł */
.kh-article { display: grid; gap: clamp(32px, 4vw, 56px); }
@media (min-width: 1100px) { .kh-article { grid-template-columns: minmax(0, 1fr) 380px; gap: 72px; align-items: start; } }
.kh-prose { max-width: 860px; }
.kh-prose h2 { font-size: clamp(1.6rem, 1.25rem + 1.2vw, 2.25rem); line-height: 1.15; font-weight: 800; letter-spacing: -.025em; margin: clamp(40px, 5vw, 64px) 0 16px; }
.kh-prose h2:first-child { margin-top: 0; }
.kh-prose p { color: var(--kh-ink-2); margin-top: 12px !important; }
.kh-prose .kh-list { margin: 16px 0 !important; padding: 0 !important; border: 0; }
.kh-prose .kh-table-wrap { margin-top: 16px; }
.kh-answer { padding: 22px 24px; border-left: 5px solid var(--kh-green); border-radius: 0 16px 16px 0; background: var(--kh-mint); color: var(--kh-ink) !important; font-size: 1.1rem; }
.kh-defs { display: grid; gap: 12px; margin-top: 16px; }
@media (min-width: 760px) { .kh-defs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kh-defs div { padding: 16px 20px; border-radius: 14px; background: var(--kh-soft); }
.kh-defs dt { font-weight: 800; }
.kh-defs dd { color: var(--kh-ink-2); margin-top: 4px; }
.kh-aside { display: grid; gap: 20px; }
@media (min-width: 1100px) { .kh-aside { position: sticky; top: calc(var(--kh-header-h) + 24px); } }
.kh-aside .kh-box h2 { font-size: 1.25rem; margin-bottom: 12px; }
.kh-table-wrap { overflow-x: auto; }
.kh-table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.kh-table caption { text-align: left; font-weight: 800; margin-bottom: 10px; }
.kh-table th, .kh-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--kh-line); }
.kh-table thead th { color: var(--kh-muted); font-size: .88rem; font-weight: 700; }
.kh-table tr.is-urgent th, .kh-table tr.is-urgent td { color: var(--kh-red); font-weight: 700; }
.kh-sources { display: grid; gap: 8px; font-size: .95rem; }
.kh-meta { color: var(--kh-muted); font-size: .92rem; margin-top: 14px !important; }
.kh-posts { display: grid; gap: 12px; }
.kh-posts a { font-weight: 700; }
.kh-posts small { display: block; color: var(--kh-muted); }
.kh-cta-box { padding: clamp(24px, 3vw, 36px); border-radius: var(--kh-radius); background: linear-gradient(140deg, var(--kh-green-800), var(--kh-green-950)); color: #fff; }
.kh-cta-box p { color: rgba(255, 255, 255, .85); margin-bottom: 18px !important; }
.kh-cta-box b { display: block; color: #fff; font-size: 1.35rem; line-height: 1.2; margin-bottom: 8px; }

/* ---------- mniej ruchu ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  :where(.kh-scope) *, :where(.kh-scope) *::before, :where(.kh-scope) *::after { transition: none !important; animation: none !important; }
}
