@charset "UTF-8";
/* KredytMistrz - wspólny arkusz stylów patrykkopec.pl
   Jeden plik dla wszystkich dużych stron. Przeglądarka pobiera go raz i trzyma w pamięci,
   zamiast ściągać te same 80 KB w każdym pliku HTML.
   Po każdej zmianie tego pliku uruchom: python _narzedzia-css_wersja.py
   (podbija ?v= w adresie arkusza, żeby nikt nie dostał starej wersji z pamięci przeglądarki).

   Trzy odmiany stron, rozpoznawane po klasie na <html>:
   - bez klasy: podstrony usług i miast (generatory) oraz Katowice, Częstochowa, Kraków, Zagłębie,
   - km-glowna: strona główna (index.html),
   - km-stary-styl: slownik.html i refinansowanie.html (starsza wersja arkusza:
     bez "Efektów dodatkowych", bez większych celów dotykowych, inna pigułka z oceną).
   Selektor zaczynający się od :where(.km-glowna) działa tylko na stronie głównej,
   :where(html:not(.km-glowna)) wszędzie poza nią; tak samo km-stary-styl.
   :where() nie zmienia siły selektora, więc kaskada jest taka sama jak w osobnych arkuszach.
   Reguły bez przedrostka są wspólne dla wszystkich. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --e0:#050D17;--e1:#090F1E;--e2:#0D1728;--e3:#132133;--e4:#1A2D42;--e5:#233A54;
  --gold:#C8A84A;--gold-hi:#E4C660;--gold-lo:#A8862E;--gold-dim:#6A531E;
  --gold-ultra-hi:#F2D878;--gold-foil:rgba(228,198,96,.22);--gold-glow:rgba(200,168,74,.16);
  --gold-surface:rgba(200,168,74,.055);--gold-surface-hover:rgba(200,168,74,.10);
  --e-border-0:rgba(200,168,74,.06);--e-border-1:rgba(200,168,74,.10);
  --e-border-2:rgba(200,168,74,.18);--e-border-3:rgba(200,168,74,.28);--e-border-4:rgba(200,168,74,.45);
  --t1:#E2D9CC;--t2:#B9B2A6;--t3:#9B968E;--t4:#8C8880;
  --ff-display:'Cormorant Garamond','Georgia',serif;
  --ff:'Inter',-apple-system,sans-serif;
  --fs-hero:clamp(52px,6.5vw,88px);--fs-h2:clamp(36px,4.5vw,58px);
  --lh-display:1.03;--lh-heading:1.12;--lh-normal:1.62;--lh-relaxed:1.80;
  --sp-xl:48px;--sp-2xl:80px;--sp-3xl:96px;
  --r-sm:3px;--r-md:8px;--r-lg:14px;--r-xl:22px;--r-pill:999px;
  --cta-bg:#C8A84A;--cta-bg-hi:#E4C660;--cta-text:#050D17;
  --cta-shadow:0 2px 6px rgba(0,0,0,.28);
  --ease:cubic-bezier(.25,.46,.45,.94);--ease-out:cubic-bezier(.16,1,.3,1);
  --navy:var(--e0);--navy2:var(--e1);--navy3:var(--e2);--navy4:var(--e3);
  --gold2:var(--gold-hi);--gold3:var(--gold-lo);--cream:var(--t1);--cream2:var(--t2);
  --muted:var(--t3);--dimmed:var(--t4);
  --fc-radius-pill:var(--r-pill);--fc-space-3xl:var(--sp-3xl);
}
:root:where(.km-glowna){--t4:#A29D94}
html{scroll-behavior:smooth}
section[id],.km-panel[id]{scroll-margin-top:64px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--e0);color:var(--t1);font-family:var(--ff);font-size:16px;line-height:var(--lh-normal);overflow-x:hidden;position:relative}
body::before{content:none} /* 1.11.2026: bez ziarna na całej stronie */
body::after{content:none} /* 1.11.2026: bez złotej poświaty u góry ekranu */
nav,main,header,section,footer,div.metrics-bar{position:relative;z-index:1}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
.section-tag{font-family:var(--ff);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:10px}

.section-h{font-family:var(--ff-display);font-size:var(--fs-h2);font-weight:300;line-height:var(--lh-heading);letter-spacing:-.02em;color:var(--t1)}
.section-h em{color:var(--gold);font-style:italic;font-weight:300}
.section-sub{font-size:16px;font-weight:300;color:var(--t3);line-height:var(--lh-relaxed);max-width:560px;margin-top:20px}
.section{padding:var(--sp-3xl) var(--sp-2xl)}
.gold-rule{width:40px;height:1px;background:var(--gold);margin:20px 0}
.gallery-section{background:var(--navy);padding:var(--sp-3xl) 0}
.gallery-header{padding:0 var(--sp-2xl) 36px}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:300px 300px;gap:12px;padding:0 var(--sp-2xl)}
.gallery-item{overflow:hidden}
.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item.tall{grid-row:span 2}
/* NAV */
nav#mainNav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 52px;height:64px;background:rgba(5,13,23,.82);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-bottom:1px solid rgba(200,168,74,.10);transition:background .4s var(--ease),border-color .4s}
nav#mainNav.scrolled{background:rgba(5,13,23,.96);border-bottom-color:rgba(200,168,74,.18)}
.nav-logo{font-size:17px;font-weight:500;color:var(--t1);letter-spacing:-.01em}
.nav-logo span{color:var(--gold)}
.nav-links{display:flex;gap:34px;font-size:12.5px;font-weight:400;color:var(--t3)}
.nav-links a{transition:color .2s}
.nav-links a:hover{color:var(--t1)}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-soc-wrap{display:flex;gap:7px;margin-right:6px}
.nav-soc{width:30px;height:30px;border-radius:var(--r-md);border:1px solid rgba(200,168,74,.15);display:flex;align-items:center;justify-content:center;color:var(--t4);transition:border-color .25s,color .25s,background .25s}
.nav-soc:hover{border-color:var(--gold);color:var(--gold);background:rgba(200,168,74,.07)}
.nav-soc svg{width:14px;height:14px;fill:currentColor}
.nav-soc-mobile{display:none}
.nav-phone{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--t2);text-decoration:none;margin-right:6px;padding:6px 12px;border-radius:var(--r-md);border:1px solid rgba(200,168,74,.15);transition:color .2s,border-color .2s,background .2s;white-space:nowrap}
.nav-phone svg{stroke:var(--gold);flex-shrink:0}
.nav-phone:hover{color:var(--gold);border-color:rgba(200,168,74,.4);background:rgba(200,168,74,.06)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;cursor:pointer}
/* Cele dotykowe na telefonach: większa strefa kliknięcia bez zmiany wyglądu */
@media (pointer:coarse){
  :where(html:not(.km-stary-styl)) .hamburger{padding:13px 10px;margin:-9px -6px}
  :where(html:not(.km-stary-styl)) .calc-tab{min-height:40px}
  /* Linki w stopce stoją ciasno (21 px + 10 px odstępu). Na dotyku dajemy
     im pełną wysokosc celu, bez zmiany wyglądu: rośnie tylko strefa kliku. */
  :where(.km-glowna) .footer-col a{padding:6px 0;margin-bottom:4px}
  /* iOS przybliża stronę przy fokusie pola z czcionką <16px - blokujemy to u źródła */
  :where(html:not(.km-stary-styl)) input[type="text"],:where(html:not(.km-stary-styl)) input[type="tel"],:where(html:not(.km-stary-styl)) input[type="email"],:where(html:not(.km-stary-styl)) textarea,:where(html:not(.km-stary-styl)) select{font-size:16px !important}
}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--t2);border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;z-index:199;background:rgba(7,16,28,.98);backdrop-filter:blur(24px);border-bottom:1px solid var(--e-border-1);padding:20px 24px 28px;flex-direction:column;gap:4px}
.mobile-menu.open{display:flex}
.mobile-menu>a{font-size:15px;color:var(--t2);padding:10px 0;border-bottom:1px solid var(--e3);text-decoration:none}
.mob-cta-wrap{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.mob-cta-primary{display:flex;align-items:center;justify-content:center;padding:12px;border-radius:8px;font-size:14px;font-weight:600;background:var(--cta-bg);color:var(--cta-text);text-decoration:none}
.mob-cta-phone{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:8px;font-size:14px;font-weight:500;border:1px solid rgba(200,168,74,.3);color:var(--gold);text-decoration:none}
.btn-primary{background:var(--cta-bg);color:var(--cta-text);font-family:var(--ff);font-size:13.5px;font-weight:600;padding:12px 28px;border-radius:var(--r-md);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:9px;box-shadow:var(--cta-shadow);transition:background .22s,transform .18s var(--ease-out);letter-spacing:.005em;position:relative;overflow:hidden}
.field-err{font-size:12px;color:#E8A28E;margin-top:6px;line-height:1.4}
.btn-primary:hover{background:var(--cta-bg-hi)}
.btn-ghost{background:transparent;color:var(--t2);font-family:var(--ff);font-size:13.5px;font-weight:400;padding:12px 24px;border-radius:var(--r-md);border:1px solid rgba(200,168,74,.18);cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:border-color .22s,color .22s,transform .18s}
.btn-ghost:hover{border-color:rgba(200,168,74,.45);color:var(--t1)}
/* HERO */
.hero{min-height:100svh;display:grid;grid-template-columns:55fr 45fr;overflow:hidden;padding-top:64px}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:80px 72px 80px 80px;background:var(--e0);position:relative}
.hero-left::before{content:none}
.hero-right{position:relative;overflow:hidden;background:var(--e1)}
:where(html:not(.km-glowna)) .hero-right-mask{position:absolute;inset:0;clip-path:inset(0 100% 0 0)}
:where(.km-glowna) .hero-right-mask{position:absolute;inset:0}
.hero-right-mask picture{position:absolute;inset:0;display:block}
.hero-right-mask img{width:100%;height:100%;object-fit:cover;object-position:center top}
:where(html:not(.km-glowna):not(.km-stary-styl)) .hero-proof{display:inline-flex;align-self:flex-start;width:fit-content;align-items:center;gap:10px;margin:0 0 22px;padding:8px 15px;background:rgba(200,168,74,.07);border:1px solid rgba(200,168,74,.22);border-radius:999px;font-size:13px;color:var(--t2)}
:where(.km-glowna) .hero-proof{display:inline-flex;align-self:flex-start;width:fit-content;align-items:center;gap:10px;margin:0 0 22px;padding:8px 15px;background:rgba(200,168,74,.07);border:1px solid rgba(200,168,74,.22);border-radius:999px;font-size:13px;color:var(--t2);text-decoration:none;transition:border-color .2s,background .2s}
:where(.km-glowna) .hero-proof:hover{border-color:rgba(200,168,74,.45);background:rgba(200,168,74,.12)}
:where(.km-stary-styl) .hero-proof{display:inline-flex;align-items:center;gap:10px;margin:0 0 24px;padding:9px 16px;background:rgba(200,168,74,.07);border:1px solid rgba(200,168,74,.22);border-radius:999px;font-size:13px;color:var(--t2)}
.hero-proof strong{color:var(--t1);font-weight:600}
.hero-proof-stars{color:var(--gold);letter-spacing:.08em;font-size:14px}
@media (min-width:1025px) and (max-height:820px){
  .hero .hero-left{padding-top:86px!important}
  .hero .hero-title{font-size:clamp(40px,4vw,58px)!important;line-height:1.04!important}
  .hero .hero-rule{margin:14px 0 16px!important}
  .hero .hero-sub{margin-bottom:16px!important;font-size:14.5px!important;max-width:480px}
  .hero .hero-eyebrow{margin-bottom:16px!important}
  .hero .hero-proof{margin-bottom:14px;padding:6px 13px;font-size:12.5px}
  .hero .hero-trust{margin-top:14px!important}
}
.hero-right::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--e0) 0%,transparent 20%),linear-gradient(to bottom,var(--e0) 0%,transparent 10%,transparent 88%,var(--e0) 100%);pointer-events:none;z-index:2}
.hero-divider{display:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(200,168,74,.32);border-radius:var(--r-pill);padding:5px 16px 5px 12px;font-size:10.5px;font-weight:500;letter-spacing:.10em;color:var(--gold);text-transform:uppercase;margin-bottom:32px;width:fit-content;white-space:nowrap}
.hero-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0}
:where(.km-glowna) .hero-h1{font:inherit;margin:0;display:flex;flex-direction:column}
:where(.km-glowna) .hero-h1 .hero-title{display:block}
@media(max-width:600px){:where(.km-glowna) .hero-h1 .eb-extra{display:none}:where(.km-glowna) .hero-h1 .hero-eyebrow{letter-spacing:.07em}}
.hero-title{font-family:var(--ff-display);font-size:var(--fs-hero);font-weight:300;line-height:var(--lh-display);letter-spacing:-.025em;color:var(--t1);margin-bottom:24px}
.hero-title em{color:var(--gold);font-style:italic;font-weight:300}
.hero-rule{width:48px;height:1px;background:linear-gradient(to right,var(--gold),transparent);margin-bottom:24px}
.hero-sub{font-size:16px;font-weight:300;color:var(--t3);line-height:var(--lh-relaxed);max-width:440px;margin-bottom:40px}
/* Na dużym ekranie idzie pełne zdanie, na telefonie skrócone: pierwszy ekran ma
   zmieścić przycisk, a nie cztery linijki akapitu. */
:where(.km-glowna) .hero-sub-short{display:none}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:40px}
.hero-microcopy{font-size:12.5px;color:var(--t4);line-height:1.65;max-width:440px}
.hero-trust{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:-18px 0 26px}
.hero-trust-item{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--t2);line-height:1.4}
.hero-trust-item svg{width:14px;height:14px;stroke:var(--gold);fill:none;stroke-width:2;flex:none}
.hero-textlink{font-size:13px;font-weight:500;color:var(--gold-hi);display:inline-flex;align-items:center;gap:5px;border-bottom:1px solid transparent;transition:border-color .25s,color .25s}
.hero-textlink:hover{color:var(--gold);border-color:var(--gold)}
.hero-metrics-inline{display:flex;gap:32px;margin-top:44px;padding-top:28px;border-top:1px solid var(--e-border-0)}
.hero-metric{display:flex;flex-direction:column;gap:3px}
.hero-metric-num{font-family:var(--ff-display);font-size:clamp(28px,2.8vw,38px);font-weight:300;color:var(--gold);letter-spacing:-.03em;line-height:1}
.hero-metric-label{font-size:11px;color:var(--t4);font-weight:400;line-height:1.4;max-width:96px}
.hero-metric-sep{width:1px;align-self:stretch;background:var(--e-border-0);flex-shrink:0}
.hero-scroll{position:absolute;bottom:36px;left:80px;z-index:3;display:flex;align-items:center;gap:10px;font-size:9.5px;letter-spacing:.14em;color:var(--t4);text-transform:uppercase}
.scroll-line{width:32px;height:1px;background:linear-gradient(to right,var(--gold),transparent)}
/* METRICS */
.metrics-bar{background:var(--e2);border-top:1px solid var(--e-border-1);border-bottom:1px solid var(--e-border-1);display:grid;grid-template-columns:repeat(4,1fr)}
.metric{padding:36px 0;text-align:center;border-right:1px solid var(--e-border-0);transition:background .3s;cursor:default}
.metric:last-child{border-right:none}
.metric:hover{background:var(--e3)}
.metric-num{font-family:var(--ff-display);font-size:42px;font-weight:300;color:var(--gold);letter-spacing:-.03em;line-height:1}
/* Cyfry wersalikowe (lining) - żeby 1 nie wyglądała jak I, a 0 jak O */
.hero-metric-num,.metric-num,.bento-featured-num,.bento-metric-num,.process-num,.calc-section .calc-result-val,.calc-section .calc-result-val span{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.metric-label{font-size:11.5px;font-weight:400;color:var(--t4);margin-top:7px;letter-spacing:.02em}
/* BENTO */
.bento-section{background:var(--e1);padding:var(--sp-3xl) var(--sp-2xl)}
.bento-header{max-width:680px;margin-bottom:44px}
.bento-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;max-width:1280px;margin:0 auto}
.bento-card{background:var(--e3);border:1px solid var(--e-border-1);border-radius:var(--r-xl);padding:40px 36px;position:relative;overflow:hidden;transition:background .35s var(--ease),border-color .35s var(--ease),transform .3s var(--ease-out);will-change:transform}
.bento-card:hover{background:var(--e4);border-color:var(--e-border-2)}
.bento-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--gold),transparent);opacity:0;transition:opacity .35s}
.bento-card:hover::before{opacity:1}
.bento-card-featured{grid-column:1;grid-row:1/span 2;background:linear-gradient(145deg,#0F2030 0%,#0A1622 100%);border-color:var(--e-border-3);padding:52px 44px;display:flex;flex-direction:column;justify-content:center;gap:36px}
.bento-card-featured::after{content:'';position:absolute;bottom:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(200,168,74,.12) 0%,transparent 70%);pointer-events:none;border-radius:50%}
.bento-card-featured::before{opacity:.6}
.bento-card-featured:hover{border-color:var(--e-border-4)}
.bento-card-featured:hover::before{opacity:1}
.bento-card-metric{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:40px 36px;background:var(--e2)}
.bento-col-right{grid-column:2;grid-row:1/span 2;display:flex;flex-direction:column;gap:16px}
.bento-col-right .bento-card{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.bento-icon{width:48px;height:48px;border:1px solid var(--e-border-2);border-radius:var(--r-md);background:var(--gold-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:24px;transition:background .3s,border-color .3s}
.bento-card:hover .bento-icon{background:var(--gold-surface-hover);border-color:var(--e-border-3)}
.bento-icon svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.bento-eyebrow{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-lo);margin-bottom:12px}
.bento-title{font-family:var(--ff-display);font-size:clamp(22px,2.2vw,30px);font-weight:300;line-height:1.15;letter-spacing:-.015em;color:var(--t1);margin-bottom:14px}
.bento-title em{color:var(--gold);font-style:italic}
.bento-body{font-size:14px;font-weight:300;color:var(--t3);line-height:var(--lh-relaxed)}
.bento-featured-num{font-family:var(--ff-display);font-size:clamp(56px,6vw,84px);font-weight:300;color:var(--gold);letter-spacing:-.04em;line-height:1;margin-bottom:8px}
.bento-featured-unit{font-size:14px;font-weight:400;color:var(--t3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:32px}
.bento-metric-num{font-family:var(--ff-display);font-size:clamp(36px,3.5vw,48px);font-weight:300;color:var(--gold);letter-spacing:-.03em;line-height:1;white-space:nowrap}
.bento-metric-label{font-size:13px;font-weight:300;color:var(--t3);line-height:1.6;max-width:200px}
.bento-metric-sep{width:1px;align-self:stretch;background:var(--e-border-0);flex-shrink:0}
/* TICKER METRYK (rotujące dowody) */
.bento-ticker{background:linear-gradient(145deg,#0F2030 0%,#0A1622 100%);border-color:var(--e-border-3);justify-content:flex-start;align-items:flex-start}
.bento-ticker::before{opacity:.55}
.bento-ticker::after{content:'';position:absolute;width:220px;height:220px;left:-60px;bottom:-60px;background:radial-gradient(circle,rgba(200,168,74,.13) 0%,transparent 70%);pointer-events:none}
.bento-ticker:hover{border-color:var(--e-border-4)}
.bt-stage{position:relative;flex:1;width:100%;min-height:130px;margin-top:20px}
.bt-item{position:absolute;inset:0;opacity:0;transform:translateY(12px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);display:flex;flex-direction:column;justify-content:center}
.bt-item.on{opacity:1;transform:none}
.bt-num{font-family:var(--ff-display);font-weight:300;font-size:clamp(42px,4vw,58px);letter-spacing:-.03em;line-height:1;color:var(--gold);font-variant-numeric:lining-nums;text-shadow:0 0 40px rgba(200,168,74,.22)}
.bt-cap{font-size:13px;font-weight:300;color:var(--t3);line-height:1.55;max-width:240px;margin-top:14px}
.bt-dots{display:flex;gap:7px;margin-top:18px}
.bt-dot{width:6px;height:6px;border-radius:50%;background:rgba(200,168,74,.22);transition:background .35s}
.bt-dot.on{background:var(--gold)}
@media (prefers-reduced-motion:reduce){.bt-item{transition:none}}
.bento-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px 5px 10px;border:1px solid var(--e-border-2);border-radius:var(--r-pill);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:var(--gold-surface);width:fit-content;margin-top:20px}
.bento-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}
/* ABOUT */
.about-section{background:var(--e2);display:grid;grid-template-columns:5fr 7fr;min-height:640px}
.about-img-wrap{position:relative;overflow:hidden;background:var(--e3)}
.about-img-mask{position:absolute;inset:0}
.about-img-mask img{width:100%;height:100%;object-fit:cover;object-position:42% 20%}
.about-img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 80%,var(--e2) 100%),linear-gradient(to bottom,var(--e2) 0%,transparent 8%,transparent 92%,var(--e2) 100%);pointer-events:none;z-index:2}
.about-img-wrap::before{content:'';position:absolute;right:0;top:10%;bottom:10%;width:1px;background:linear-gradient(to bottom,transparent,var(--gold) 40%,var(--gold) 60%,transparent);opacity:.25;z-index:3}
.about-text{padding:80px 72px 80px 64px;display:flex;flex-direction:column;justify-content:center}
.credentials{margin-top:32px;display:flex;flex-direction:column;gap:18px}
.cred-item{display:flex;align-items:flex-start;gap:18px}
.cred-icon{width:38px;height:38px;border-radius:50%;border:1px solid var(--e-border-2);background:var(--gold-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s,border-color .3s}
.cred-item:hover .cred-icon{background:var(--gold-surface-hover);border-color:var(--e-border-3)}
.cred-icon svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cred-t{font-size:14px;font-weight:500;color:var(--t1);line-height:1.4}
.cred-d{font-size:13px;font-weight:300;color:var(--t3);margin-top:3px;line-height:1.6}
.about-quote{margin-top:40px;padding:24px 28px;border-left:2px solid var(--gold);background:linear-gradient(to right,var(--gold-surface),transparent);border-radius:0 var(--r-md) var(--r-md) 0}
.about-quote blockquote{font-family:var(--ff-display);font-size:clamp(17px,1.7vw,22px);font-weight:300;font-style:italic;color:var(--t1);line-height:1.5;letter-spacing:-.01em}
.about-quote cite{display:block;margin-top:12px;font-size:11px;font-weight:500;letter-spacing:.10em;text-transform:uppercase;color:var(--gold);font-style:normal}
/* QUOTE */
.quote-section{position:relative;overflow:hidden;background:var(--e0);padding:80px var(--sp-2xl);text-align:center}
.quote-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(200,168,74,.04) 0%,transparent 70%);pointer-events:none}
.quote-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 22%;background-repeat:no-repeat;opacity:.20;filter:grayscale(1) contrast(1.08) brightness(1.05);pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 78% 82% at 50% 44%,#000 0%,rgba(0,0,0,.7) 55%,transparent 88%);mask-image:radial-gradient(ellipse 78% 82% at 50% 44%,#000 0%,rgba(0,0,0,.7) 55%,transparent 88%)}
.quote-inner{position:relative;z-index:2;max-width:820px;margin:0 auto}
.quote-mark{font-family:var(--ff-display);color:var(--gold);pointer-events:none}
.quote-mark-open{font-size:.7em;line-height:0;vertical-align:.34em;margin-right:.08em}
.quote-mark-close{display:inline-block;font-size:.7em;line-height:0;vertical-align:.34em;margin-left:.06em}
.quote-text{font-family:var(--ff-display);font-size:clamp(24px,3vw,38px);font-weight:300;font-style:italic;color:var(--t1);line-height:1.4;letter-spacing:-.015em}
.quote-text em{color:var(--gold);font-style:normal}
.quote-author{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:32px}
.quote-line{width:40px;height:1px;background:var(--gold);opacity:.5}
.quote-author-text{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
/* PROCESS */
.process-section{background:var(--e1);padding:var(--sp-3xl) var(--sp-2xl)}
.process-header{max-width:680px;margin-bottom:48px}
.process-top{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center;max-width:1280px;margin:0 auto 56px}
.process-top .process-header{margin-bottom:0}
.process-photo{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--e-border-1);background:var(--e3)}
.process-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,13,23,.35),transparent 55%);pointer-events:none}
.process-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.process-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--e-border-0);border:1px solid var(--e-border-0);border-radius:var(--r-xl);overflow:hidden;max-width:1280px;margin:0 auto}
.process-step{background:var(--e2);padding:48px 40px;display:flex;flex-direction:column;transition:background .35s}
.process-step:hover{background:var(--e3)}
.process-num{font-family:var(--ff-display);font-size:72px;font-weight:300;color:var(--e-border-1);letter-spacing:-.04em;line-height:1;margin-bottom:24px;transition:color .35s;user-select:none}
.process-step:hover .process-num{color:var(--e-border-3)}
.process-icon{width:44px;height:44px;border:1px solid var(--e-border-2);border-radius:var(--r-md);background:var(--gold-surface);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:background .3s,border-color .3s}
.process-step:hover .process-icon{background:var(--gold-surface-hover);border-color:var(--e-border-3)}
.process-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.process-title{font-size:16px;font-weight:500;color:var(--t1);line-height:1.35;margin-bottom:14px}
.process-desc{font-size:13.5px;font-weight:300;color:var(--t3);line-height:var(--lh-relaxed);flex:1}
/* SERVICES */
.services-section{background:var(--e0)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:64px;background:var(--e3);border:1px solid var(--e4);border-radius:var(--r-lg);overflow:hidden}
:where(html:not(.km-glowna)) .service-card{background:var(--e3);padding:40px 32px;border-right:1px solid var(--e-border-0);transition:background .3s}
/* Kafelki usług są linkami do osobnych podstron (cała karta klikalna). */
:where(.km-glowna) .service-card{display:block;text-decoration:none;color:inherit;background:var(--e3);padding:40px 32px;border-right:1px solid var(--e-border-0);transition:background .3s}
.service-card:hover{background:var(--e4)}
:where(.km-glowna) .service-card:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
:where(.km-glowna) .svc-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:12px;font-weight:500;color:var(--gold);letter-spacing:.02em}
:where(.km-glowna) .svc-more svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
:where(.km-glowna) .service-card:hover .svc-more svg{transform:translateX(3px)}
.service-card:last-child{border-right:none}
.svc-icon{width:44px;height:44px;margin-bottom:22px;background:var(--e4);border:1px solid var(--e-border-1);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center}
.svc-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.svc-num{font-size:11px;font-weight:600;color:var(--gold-lo);letter-spacing:.10em;margin-bottom:16px}
.svc-t{font-size:16px;font-weight:500;color:var(--t1);margin-bottom:12px;line-height:1.3}
.svc-d{font-size:12.5px;font-weight:300;color:var(--t3);line-height:1.75}
/* TESTIMONIALS */
.testimonials-section{background:var(--e2)}
.notfor-wrap{max-width:840px;margin:0 auto;text-align:left}
.notfor-item{display:flex;gap:18px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--e-border-1)}
.notfor-item:last-of-type{border-bottom:none}
.notfor-x{flex:none;width:22px;height:22px;color:var(--t4);margin-top:2px}
.notfor-t{font-size:15px;line-height:1.7;color:var(--t2)}
.notfor-t strong{color:var(--t1);font-weight:500}
.notfor-closer{margin-top:28px;font-family:var(--ff);font-size:17px;font-weight:500;color:var(--t1)}
.dict-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:56px;background:var(--e-border-0)}
.dict-item{background:var(--e2);padding:0}
.dict-btn{width:100%;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 30px;transition:background .25s}
.dict-btn:hover{background:var(--e3)}
.dict-chev{flex:none;width:26px;height:26px;border:1px solid var(--e-border-2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:16px;font-weight:400;line-height:1;transition:transform .3s var(--ease)}
.dict-item.open .dict-chev{transform:rotate(45deg)}
.dict-item .dict-def{display:none;padding:0 30px 24px}
.dict-item.open .dict-def{display:block}
.dict-term{font-family:var(--ff-display);font-style:italic;font-size:22px;color:var(--gold);margin-bottom:9px}
.dict-btn .dict-term{margin-bottom:0}
.dict-def{font-size:13.5px;font-weight:300;color:var(--t3);line-height:1.72}
.dict-def strong{color:var(--t2);font-weight:500}
@media(max-width:820px){.dict-grid{grid-template-columns:1fr}}
.wait-btn{background:transparent;border:1px solid var(--e-border-1);color:var(--t3);border-radius:var(--r-pill);padding:7px 16px;font-size:12.5px;font-family:inherit;cursor:pointer;transition:all .25s}
.wait-btn.on{border-color:var(--gold);color:var(--gold-hi);background:var(--gold-surface)}
.km-termin{display:none;font-size:12px;letter-spacing:.04em;color:var(--gold-hi);text-align:center;margin-bottom:12px}
.km-termin .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:7px;vertical-align:1px}
.whyme-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.whyme-lead{margin-top:24px;font-size:15.5px;color:var(--t3);line-height:1.72;max-width:36ch}
.whyme-item{padding:36px 0;border-bottom:1px solid var(--e-border-1)}
.whyme-item:first-child{border-top:1px solid var(--e-border-1)}
.whyme-key{font-family:var(--ff-display);font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.2;color:var(--gold);letter-spacing:-.01em;margin:0}
.whyme-body{margin-top:13px;font-size:15px;line-height:1.72;color:var(--t2);max-width:54ch}
.whyme-body strong{color:var(--t1);font-weight:500}
:where(.km-glowna) .cases-wrap{max-width:1080px;margin:0 auto}
:where(.km-glowna) .cases-lead{margin:20px auto 0;font-size:15.5px;color:var(--t3);line-height:1.72;max-width:56ch;text-align:center}
:where(.km-glowna) .cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
:where(.km-glowna) .case-card{border:1px solid var(--e-border-1);border-radius:var(--r-md);padding:28px 24px;background:rgba(200,168,74,.03)}
:where(.km-glowna) .case-card h3{font-family:var(--ff-display);font-weight:500;font-size:22px;line-height:1.25;color:var(--gold);margin:0 0 18px}
:where(.km-glowna) .case-row{margin-top:14px;font-size:14.5px;line-height:1.7;color:var(--t2)}
:where(.km-glowna) .case-row b{display:block;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin-bottom:4px}
:where(.km-glowna) .cases-note{margin-top:28px;text-align:center;font-size:12.5px;color:var(--t4)}
:where(.km-glowna) .cases-note a{color:var(--gold)}
@media(max-width:900px){:where(.km-glowna) .cases-grid{grid-template-columns:1fr}}
/* 15.10.2026: sekcja „Z praktyki” na kremowym tle (Brand Bible 13 i 21: krem #E2D9CC, złoto #C8A84A, granat #050D17) */
#z-praktyki{background:#E2D9CC}
#z-praktyki .section-tag,#z-praktyki .section-h,#z-praktyki .section-h em,#z-praktyki .case-card h3{color:#050D17}
#z-praktyki .section-h em{font-weight:500}
#z-praktyki .cases-lead,#z-praktyki .cases-note{color:rgba(5,13,23,.72)}
#z-praktyki .case-card{background:rgba(255,255,255,.35);border:1px solid rgba(5,13,23,.12);border-top:2px solid #C8A84A}
#z-praktyki .case-row{color:rgba(5,13,23,.82)}
#z-praktyki .case-row b{color:rgba(5,13,23,.55)}
#z-praktyki .cases-note a{color:#050D17;text-decoration:underline;text-decoration-color:#C8A84A;text-underline-offset:3px}
/* na telefonie ta sekcja miała marginesy 80 px zamiast 24 px jak reszta strony */
@media(max-width:768px){#z-praktyki{padding-left:24px;padding-right:24px}}
@media(max-width:960px){.whyme-grid{grid-template-columns:1fr;gap:44px}.whyme-item{padding:28px 0}}
.g-carousel{position:relative;margin-top:56px;max-width:1200px;margin-left:auto;margin-right:auto}
.g-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:4px 2px}
.g-track::-webkit-scrollbar{display:none}
.g-card{scroll-snap-align:start;background:var(--e3);border:1px solid var(--e-border-1);border-radius:var(--r-xl);padding:36px 30px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;transition:background .3s,transform .3s var(--ease-out)}
.g-avatar-wrap{position:relative;width:56px;height:56px;margin-bottom:14px}
.g-avatar,.g-avatar-img{width:56px;height:56px;border-radius:50%}
.g-avatar{background:var(--e4);border:1px solid var(--e-border-1);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--gold);font-size:17px;letter-spacing:.02em}
.g-avatar-img{object-fit:cover;display:block}
.g-badge{position:absolute;right:-5px;bottom:-3px;width:21px;height:21px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.g-name{font-weight:600;color:var(--t1);font-size:15px}
:where(.km-glowna) .g-tag{display:inline-block;font-size:11px;letter-spacing:.04em;color:var(--gold);border:1px solid var(--e-border-1);border-radius:999px;padding:3px 10px;margin:0 0 12px}
.g-time{font-size:12px;color:var(--t4);margin:3px 0 10px}
.g-card .g-stars{color:var(--gold);letter-spacing:4px;font-size:15px;margin-bottom:14px}
.g-text{font-size:14.5px;color:var(--t2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.g-card.open .g-text{display:block;-webkit-line-clamp:unset;overflow:visible}
.g-more{margin-top:12px;font-size:12px;color:var(--t4);background:none;border:none;cursor:pointer;letter-spacing:.05em;font-family:inherit;padding:2px 4px}
.g-more:hover{color:var(--gold)}
.g-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:var(--e3);border:1px solid var(--e-border-1);color:var(--t2);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:color .25s,border-color .25s,background .25s}
.g-arrow:hover{color:var(--gold);border-color:rgba(200,168,74,.5);background:var(--e4)}
.g-prev{left:-56px}.g-next{right:-56px}
@media(max-width:1320px){.g-prev{left:-10px}.g-next{right:-10px}}
@media(max-width:900px){.g-track{grid-auto-columns:86%}}
.g-reviews-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:32px}
.g-rating-line{font-size:14px;color:var(--t3);letter-spacing:.02em}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
.testimonial{background:var(--e3);border:1px solid var(--e-border-1);border-radius:var(--r-xl);padding:40px 36px;transition:background .3s,transform .3s var(--ease-out)}
.stars{color:var(--gold);font-size:18px;letter-spacing:3px;margin-bottom:20px}
.testimonial-text{font-family:var(--ff-display);font-size:clamp(16px,1.5vw,20px);font-weight:300;font-style:italic;color:var(--t1);line-height:1.55;margin-bottom:28px}
.testimonial-author{display:flex;align-items:center;gap:14px}
.author-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--e5),var(--e4));border:1px solid var(--e-border-2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--gold);flex-shrink:0}
.author-name{font-size:14px;font-weight:500;color:var(--t1)}
.author-detail{font-size:12px;color:var(--t4);margin-top:2px}
/* FAQ */
.faq-section{background:var(--e1)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:56px;background:var(--e-border-0);border:1px solid var(--e-border-0);border-radius:var(--r-lg);overflow:hidden}
.faq-item{background:var(--e3);padding:28px 32px;border-bottom:2px solid var(--e-border-0);transition:background .3s}
.faq-item:hover{background:var(--e4)}
.faq-item:nth-last-child(-n+2){border-bottom:none}
.faq-q{font-size:15px;font-weight:500;color:var(--t1);margin-bottom:12px;line-height:1.35}
.faq-a{font-size:13.5px;font-weight:300;color:var(--t3);line-height:1.75}
/* CALCULATOR */
.calc-section{background:var(--e1)}
.calc-section .calc-container{max-width:1000px;margin:48px auto 0;background:var(--e2);border:1px solid var(--e-border-1);border-radius:20px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.5)}
.calc-section .calc-head{padding:20px 32px;border-bottom:1px solid var(--e-border-0);background:var(--e1);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.calc-section .calc-head-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}
.calc-section .calc-tabs{display:flex;gap:4px;background:var(--e3);padding:4px;border-radius:10px;border:1px solid var(--e-border-0);flex-wrap:wrap}
.calc-section .calc-tab{padding:7px 16px;border-radius:7px;font-size:12px;font-weight:500;color:var(--t3);cursor:pointer;border:none;background:transparent;font-family:inherit;transition:all .2s;white-space:nowrap}
.calc-section .calc-tab:hover{color:var(--t1)}
.calc-section .calc-tab.active{background:var(--e4);color:var(--gold);border:1px solid var(--e-border-2)}
.calc-section .calc-body{display:grid;grid-template-columns:1fr 360px;gap:0}
.calc-section .calc-inputs{padding:32px 36px;border-right:1px solid var(--e-border-0)}
.calc-section .calc-input-group{margin-bottom:28px}
.calc-section .calc-input-group:last-child{margin-bottom:0}
.calc-section .calc-input-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.calc-section .calc-input-name-wrap{display:flex;align-items:center;min-width:0}
.calc-section .calc-input-icon{width:28px;height:28px;border-radius:7px;background:var(--gold-surface);border:1px solid var(--e-border-1);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:8px}
.calc-section .calc-input-icon svg{width:13px;height:13px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.calc-section .calc-input-name{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--t3)}
/* Wartość z jednostką w jednej linii („500 000 zł”, „7,5 %”); zawija się podpis po lewej, nie liczba */
.calc-section .calc-input-value{font-size:18px;font-weight:300;color:var(--t1);letter-spacing:-.02em;white-space:nowrap;flex-shrink:0;margin-left:10px}
.calc-section .calc-input-value span{color:var(--gold)}
.calc-section .calc-range{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--e4);border-radius:2px;cursor:pointer;outline:none;margin-bottom:6px}
.calc-section .calc-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--gold);border:3px solid var(--e2);box-shadow:0 0 0 2px var(--gold-dim),0 4px 12px rgba(200,168,74,.4);cursor:pointer;transition:transform .15s}
.calc-section .calc-range::-webkit-slider-thumb:hover{transform:scale(1.15)}
.calc-section .calc-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--gold);border:3px solid var(--e2);cursor:pointer}
.calc-section .calc-range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--t4)}
.calc-section .ltv-bar-wrap{margin-top:10px;background:var(--e4);border-radius:3px;height:4px;overflow:hidden}
.calc-section .ltv-bar{height:100%;border-radius:3px;transition:width .4s var(--ease)}
.calc-section .ltv-info{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.calc-section .ltv-label{font-size:10px;color:var(--t4)}
.calc-section .ltv-val{font-size:10px;font-weight:600}
.calc-section .calc-results{padding:32px 28px;background:var(--e1);display:flex;flex-direction:column}
.calc-section .calc-result-main{padding-bottom:24px;border-bottom:1px solid var(--e-border-0);margin-bottom:24px}
.calc-section .calc-result-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin-bottom:8px}
.calc-section .calc-result-val{font-family:var(--ff-display);font-size:clamp(28px,3.2vw,40px);font-weight:300;color:var(--t1);letter-spacing:-.04em;line-height:1}
.calc-section .calc-result-val span{color:var(--gold);font-size:28px}
.calc-section .calc-result-desc{font-size:11px;color:var(--t4);margin-top:6px}
.calc-section .calc-lock{margin-top:4px;padding:20px;background:var(--gold-surface);border:1px solid var(--e-border-2);border-radius:12px}
.calc-section .calc-lock-head{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--gold-hi);text-transform:uppercase;margin-bottom:14px}
.calc-section .calc-lock-head svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.calc-section .calc-lock-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:9px;margin-bottom:18px}
.calc-section .calc-lock-list li{position:relative;padding-left:22px;font-size:12.5px;color:var(--t2);line-height:1.45}
.calc-section .calc-lock-list li::before{content:'';position:absolute;left:4px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--gold);opacity:.55}
.calc-section .calc-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--cta-bg);color:var(--cta-text);font-size:13px;font-weight:600;font-family:inherit;padding:13px 20px;border-radius:8px;border:none;cursor:pointer;box-shadow:var(--cta-shadow);transition:background .2s,transform .15s}
.calc-section .calc-cta:hover{background:var(--cta-bg-hi)}
.calc-section .calc-cta svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.calc-section .calc-microcopy{font-size:11.5px;color:var(--t4);text-align:center;margin-top:8px}
.calc-section .calc-foot{padding:16px 32px;background:var(--e1);border-top:1px solid var(--e-border-0);display:flex;align-items:center;gap:10px}
.calc-section .calc-foot-icon{width:28px;height:28px;border-radius:8px;background:var(--gold-surface);border:1px solid var(--e-border-1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.calc-section .calc-foot-icon svg{width:13px;height:13px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.calc-section .calc-foot-text{font-size:11px;color:var(--t4);line-height:1.5}
.calc-section .calc-foot-text strong{color:var(--gold);font-weight:500}
.calc-disclaimer{font-size:11px;color:var(--t4);text-align:center;margin-top:20px;line-height:1.65;max-width:720px;margin-left:auto;margin-right:auto}
/* CTA SECTION */
.cta-section{position:relative;overflow:hidden;min-height:480px;display:flex;align-items:center;background:var(--e1)}
.cta-bg-img{position:absolute;inset:0;background-image:url('/images/cta-tlo.webp');background-size:cover;background-position:center top;opacity:.10}
.cta-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(5,13,23,.98) 30%,rgba(5,13,23,.72) 100%)}
.cta-content{position:relative;z-index:2;max-width:640px;padding:80px}
.cta-h{font-family:var(--ff-display);font-size:clamp(34px,4vw,54px);font-weight:300;line-height:1.12;letter-spacing:-.022em;color:var(--t1);margin-bottom:22px}
.cta-h em{color:var(--gold);font-style:italic;font-weight:300}
.cta-p{font-size:15px;font-weight:300;color:var(--t2);line-height:1.75;margin-bottom:36px}
.guarantee{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t2);margin-bottom:10px}
.guarantee-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}
/* CONTACT */
.contact-section{background:var(--e1)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:64px;align-items:start}
.contact-card{background:var(--e3);border:1px solid var(--e-border-0);border-radius:var(--r-lg);padding:30px 26px;display:flex;align-items:flex-start;gap:16px;transition:background .3s}
.contact-card:hover{background:var(--e4)}
.contact-icon-wrap{width:44px;height:44px;border-radius:var(--r-md);flex-shrink:0;background:var(--e5);border:1px solid rgba(200,168,74,.18);display:flex;align-items:center;justify-content:center}
.contact-icon-wrap svg{width:19px;height:19px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact-label{font-size:11px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--gold-lo);margin-bottom:5px}
.contact-value{font-size:15px;font-weight:500;color:var(--t1);margin-bottom:4px}
.contact-desc{font-size:12px;color:var(--t3);line-height:1.62}
.social-row{display:flex;flex-direction:column;gap:14px}
.social-link-card{background:var(--e3);border:1px solid var(--e-border-0);border-radius:var(--r-lg);padding:16px 22px;display:flex;align-items:center;gap:14px;text-decoration:none;transition:background .3s,border-color .3s}
.social-link-card:hover{background:var(--e4);border-color:rgba(200,168,74,.35)}
.social-icon{width:42px;height:42px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.social-icon.ig{background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 50%,#fcb045 100%)}
.social-icon.tt{background:#010101;border:1px solid var(--e5)}
.social-icon svg{width:20px;height:20px;fill:#fff}
.social-name{font-size:14px;font-weight:500;color:var(--t1)}
.social-handle{font-size:12px;color:var(--t3);margin-top:2px}
.social-arrow{margin-left:auto;color:var(--gold-lo);font-size:16px}
/* NEWSLETTER */
.newsletter-section{background:var(--e2)}
.nl-inner{max-width:760px;margin:0 auto;text-align:center}
.nl-row{display:flex;gap:12px;max-width:540px;margin:0 auto}
.nl-email{flex:1;padding:15px 18px;font-size:15px;background:var(--e3);border:1px solid var(--e4);border-radius:var(--r-md);color:var(--t1);font-family:var(--ff);outline:none;transition:border-color .2s}
.nl-email:focus{border-color:var(--gold)}
.nl-email::placeholder{color:var(--t4)}
.nl-consent{max-width:540px;margin:16px auto 0;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--e1);border:1px solid var(--e3);transition:border-color .2s;text-align:left}
.nl-consent.checked{border-color:rgba(200,168,74,.35)}
.nl-consent input[type="checkbox"]{width:16px;height:16px;min-width:16px;accent-color:var(--gold);cursor:pointer;margin-top:2px}
.nl-consent label{font-size:11px;color:var(--t3);line-height:1.6;cursor:pointer}
:where(html:not(.km-glowna)) .nl-consent label a{color:var(--gold)}
:where(.km-glowna) .nl-consent label a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.nl-note{font-size:11px;color:var(--t4);margin-top:14px}
.nl-success{display:none;align-items:center;gap:16px;max-width:540px;margin:40px auto 0;text-align:left;background:var(--e3);border:1px solid rgba(201,168,76,.35);border-radius:var(--r-lg);padding:20px 24px}
.nl-success.show{display:flex}
.nl-success-icon{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--gold);color:var(--cta-text);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}
.nl-success-title{font-size:15px;font-weight:600;color:var(--t1)}
.nl-success-sub{font-size:13px;color:var(--t3);line-height:1.5;margin-top:2px}
/* FOOTER */
footer{background:var(--e0);border-top:1px solid var(--e-border-1);padding:72px 80px 36px;position:relative;z-index:1}
:where(html:not(.km-glowna)) .footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:52px;margin-bottom:52px}
/* Blok marki + 5 kolumn linków. Kolumny są węższe niż wcześniej, bo doszła
   kolumna z podstronami miast. */
:where(.km-glowna) .footer-top{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:34px;margin-bottom:52px}
.footer-logo{font-size:19px;font-weight:500;color:var(--t1);letter-spacing:-.01em;margin-bottom:10px}
.footer-logo span{color:var(--gold)}
.footer-tagline{font-size:12px;font-weight:300;color:var(--t4);line-height:1.75;margin-bottom:20px;max-width:240px}
.footer-contact{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.footer-contact-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t4);text-decoration:none;transition:color .2s}
.footer-contact-item:hover{color:var(--t2)}
.footer-contact-gold{color:var(--gold)!important;font-weight:500}
.footer-contact-gold:hover{color:var(--gold-hi)!important}
.footer-socials{display:flex;gap:8px}
.footer-soc{width:30px;height:30px;border-radius:var(--r-md);border:1px solid var(--e4);background:var(--e2);display:flex;align-items:center;justify-content:center;color:var(--t4);text-decoration:none;transition:border-color .22s,color .22s,background .22s}
.footer-soc:hover{border-color:var(--gold);color:var(--gold);background:var(--e3)}
:where(html:not(.km-glowna)) .footer-col h4{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-lo);margin-bottom:18px}
:where(.km-glowna) .footer-col h3,:where(.km-glowna) .footer-col h4{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-lo);margin-bottom:18px}
.footer-col a{display:block;font-size:13px;color:var(--t4);margin-bottom:10px;text-decoration:none;transition:color .2s}
.footer-col a:hover{color:var(--t2)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:28px;border-top:1px solid var(--e-border-0)}
.footer-copy{font-size:11px;color:var(--t4)}
/* COOKIES */
.cookies-banner{position:fixed;bottom:20px;left:20px;right:auto;z-index:9997;width:min(360px,calc(100vw - 40px));background:var(--e3);border:1px solid var(--e-border-1);border-radius:var(--r-xl);padding:16px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0;transform:translateY(160%);visibility:hidden;transition:transform .3s ease-out,visibility 0s linear .3s;box-shadow:0 8px 48px rgba(0,0,0,.55)}
.cookies-banner.visible{transform:translateY(0);visibility:visible;transition:transform .3s ease-out}
.cookies-text{font-size:12px;color:var(--t3);line-height:1.6;flex:1;min-width:200px}
.cookies-text a{color:var(--gold)}
.cookies-btns{display:flex;gap:8px;flex-shrink:0;align-self:stretch}
.cookies-btns .btn-cookies-accept{flex:1;text-align:center}
.btn-cookies-accept{background:var(--cta-bg);color:var(--cta-text);font-size:12px;font-weight:600;padding:8px 18px;border-radius:var(--r-md);border:none;cursor:pointer;white-space:nowrap;transition:background .2s}
.btn-cookies-accept:hover{background:var(--cta-bg-hi)}
.btn-cookies-reject{background:transparent;color:var(--t3);font-size:12px;padding:8px 14px;border-radius:var(--r-md);border:1px solid var(--e5);cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}
.btn-cookies-reject:hover{border-color:var(--t2);color:var(--t2)}
/* POPUP */
.cal-overlay{display:none;position:fixed;inset:0;z-index:9999;background:rgba(4,10,18,.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);align-items:center;justify-content:center;padding:20px}
.cal-overlay.open{display:flex}
.cal-modal{background:var(--e2);border:1px solid rgba(200,168,74,.2);border-radius:20px;width:100%;max-width:680px;max-height:calc(100vh - 40px);overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.8),0 0 0 1px rgba(200,168,74,.12);display:flex;flex-direction:column;animation:modalIn .3s ease-out}
@keyframes modalIn{from{opacity:0;transform:scale(.94) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.cal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--e3);flex-shrink:0}
.cal-modal-title{display:flex;align-items:center;gap:10px}
.cal-modal-title span{font-size:14px;font-weight:500;color:var(--t1)}
.cal-dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.cal-modal-sub{font-size:12px;color:var(--t4);margin-top:2px}
.cal-close,.cal-back{background:none;border:none;cursor:pointer;color:var(--t3);padding:4px;transition:color .2s;display:flex;align-items:center;justify-content:center}
.cal-close:hover,.cal-back:hover{color:var(--t1)}
.cal-scroll{padding:24px;overflow-y:auto;flex:1}
.cal-reassure{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;background:var(--gold-surface);border:1px solid var(--e-border-2);border-radius:10px;font-size:13px;color:var(--t2);line-height:1.5}
.cal-reassure svg{width:18px;height:18px;flex-shrink:0;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.chooser-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chooser-card{background:var(--e3);border:1px solid var(--e-border-1);border-radius:14px;padding:24px 20px;text-align:left;cursor:pointer;transition:background .3s,border-color .3s}
.chooser-card:hover{background:var(--e4);border-color:var(--e-border-3)}
.chooser-ico{width:44px;height:44px;border-radius:10px;background:var(--e4);border:1px solid var(--e-border-1);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.chooser-ico svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.chooser-card h4{font-size:14px;font-weight:500;color:var(--t1);margin-bottom:8px}
.chooser-card p{font-size:12px;color:var(--t3);line-height:1.65;margin-bottom:14px}
.chooser-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--gold);letter-spacing:.04em}
.chooser-tag svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cal-modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column}
.cal-iframe-wrap{position:relative;flex:1;min-height:400px}
.cal-iframe-wrap iframe{width:100%;height:100%;border:none;background:transparent}
.cal-gate{position:absolute;inset:0;background:rgba(9,15,30,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;transition:opacity .3s}
.consent-given .cal-gate{opacity:0;pointer-events:none}
.cal-gate-title{font-size:16px;font-weight:500;color:var(--t1)}
.cal-gate-sub{font-size:13px;color:var(--t3);text-align:center;line-height:1.6;max-width:320px}
.cal-consent{padding:14px 22px;border-top:1px solid var(--e3)}
.cal-consent label{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--t3);line-height:1.6;cursor:pointer}
.cal-consent input[type="checkbox"]{width:16px;height:16px;min-width:16px;accent-color:var(--gold);margin-top:2px;cursor:pointer}
.cal-consent label a{color:var(--gold)}
.cal-modal-footer{padding:12px 22px;border-top:1px solid var(--e3);font-size:11px;color:var(--t4)}
/* WIDGET REZERWACJI (styl Google) */
.gcal{padding:22px 22px 6px;overflow-y:auto;flex:1}
.gcal-host{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.gcal-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--gold-hi),var(--gold-lo));color:var(--e0);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}
.gcal-hostname{font-size:14px;color:var(--t2);font-weight:500}
.gcal-title{font-family:var(--ff-display);font-size:26px;font-weight:300;letter-spacing:-.02em;color:var(--t1);margin-bottom:16px;line-height:1.15}
.gcal-meta{display:flex;flex-direction:column;gap:11px;margin-bottom:22px}
.gcal-meta-row{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--t3);line-height:1.5}
.gcal-meta-row svg{width:18px;height:18px;flex-shrink:0;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.gcal-picker{border:1px solid var(--e-border-1);border-radius:14px;overflow:hidden;position:relative;background:var(--e2)}
.gcal-picker-head{padding:16px 20px;border-bottom:1px solid var(--e3);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px}
.gcal-picker-title{font-family:var(--ff-display);font-size:20px;font-weight:300;color:var(--t1)}
.gcal-tz{font-size:11.5px;color:var(--t4)}
.gcal-picker-body{display:flex;gap:10px;padding:18px 20px}
.gcal-month{flex:1;min-width:0}
.gcal-month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.gcal-month-title{font-size:15px;color:var(--t1);font-weight:500}
.gcal-nav{display:flex;gap:2px}
.gcal-navbtn{width:28px;height:28px;border-radius:50%;border:none;background:none;color:var(--t2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.gcal-navbtn:hover:not(:disabled){background:var(--e3)}
.gcal-navbtn:disabled{color:var(--t4);opacity:.35;cursor:default}
.gcal-navbtn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gcal-dow,.gcal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.gcal-dow{margin-bottom:4px}
.gcal-dow span{text-align:center;font-size:11px;color:var(--t4);padding:3px 0}
.gcal-day{aspect-ratio:1;border:none;background:none;border-radius:50%;color:var(--t2);font-size:13px;font-family:var(--ff);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s}
.gcal-day:hover:not(:disabled):not(.sel){background:var(--e3)}
.gcal-day:disabled{color:var(--t4);text-decoration:line-through;opacity:.5;cursor:default}
.gcal-day.other{color:var(--t4);opacity:.45;text-decoration:line-through;cursor:default;pointer-events:none}
.gcal-day.sel{background:var(--gold);color:var(--e0);font-weight:600}
.gcal-slots{width:172px;flex-shrink:0;border-left:1px solid var(--e3);padding-left:16px;display:flex;flex-direction:column}
.gcal-slots-head{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:14px}
.gcal-slots-date{display:flex;flex-direction:column;align-items:center;line-height:1.05;min-width:56px}
.gcal-slots-dow{font-size:11px;color:var(--t4);text-transform:uppercase;letter-spacing:.05em}
.gcal-slots-dnum{font-size:22px;color:var(--t1);font-weight:500}
.gcal-slot-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:216px;padding-right:2px}
.gcal-slot{padding:12px;border:1px solid var(--e-border-2);border-radius:8px;background:var(--e3);color:var(--gold-hi);font-size:14px;font-weight:500;font-family:var(--ff);text-align:center;cursor:pointer;transition:border-color .18s,background .18s}
.gcal-slot:hover{border-color:var(--gold);background:var(--gold-surface)}
.gcal-slot:disabled,.gcal-slot.taken{opacity:.3;text-decoration:line-through;color:var(--t4);cursor:default;pointer-events:none}
.gcal-slots-hint{font-size:10.5px;color:var(--t4);text-align:center;line-height:1.5;margin-top:12px}
.gcal .cal-gate{border-radius:14px}
.consent-given #calGate{opacity:0!important;pointer-events:none}
.gcal-rodo{margin:20px 2px 6px;padding:16px 18px;background:var(--e2);border:1px solid var(--e-border-1);border-radius:12px}
.gcal-rodo h5{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-lo);margin-bottom:12px}
.gcal-rodo p{font-size:11.5px;color:var(--t4);line-height:1.7;margin-bottom:9px}
.gcal-rodo p:last-child{margin-bottom:0}
.gcal-rodo strong{color:var(--t2);font-weight:600}
.gcal-rodo a{color:var(--gold)}
.confirm-summary{display:flex;gap:14px;align-items:flex-start;margin:0 0 20px;padding:16px 18px;background:var(--gold-surface);border:1px solid var(--e-border-2);border-radius:12px}
.confirm-sum-ico{width:42px;height:42px;border-radius:10px;background:var(--e2);border:1px solid var(--e-border-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.confirm-sum-ico svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.confirm-sum-title{font-size:13px;color:var(--t2);font-weight:500;margin-bottom:5px}
.confirm-sum-when{font-family:var(--ff-display);font-size:21px;font-weight:400;color:var(--t1);line-height:1.2;letter-spacing:-.01em}
.confirm-sum-meta{font-size:11.5px;color:var(--t4);margin-top:7px}
.confirm-form{display:flex;flex-direction:column;gap:14px}
@media(max-width:560px){.gcal-picker-body{flex-direction:column}.gcal-slots{width:auto;border-left:none;border-top:1px solid var(--e3);padding-left:0;padding-top:16px;margin-top:4px}.gcal-slot-list{max-height:none}}
.booking-body{padding:0 26px 20px;display:flex;flex-direction:column;gap:14px}
.booking-field{display:flex;flex-direction:column;gap:6px}
.booking-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--t3)}
.booking-label span{color:var(--gold)}
.booking-input{background:var(--e3);border:1px solid var(--e4);border-radius:var(--r-md);padding:11px 14px;font-size:14px;color:var(--t1);font-family:var(--ff);outline:none;width:100%;transition:border-color .2s}
.booking-input:focus{border-color:var(--gold)}
.booking-input::placeholder{color:var(--t4)}
/* minmax(0,1fr): kolumna nie rośnie do szerokości pola telefonu z prefiksem +48 (przy 16 px na telefonie wystawało 41 px poza formularz) */
.booking-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.cform-phone{display:flex;background:var(--e3);border:1px solid var(--e4);border-radius:var(--r-md);transition:border-color .2s}
.cform-phone:focus-within{border-color:var(--gold)}
.cform-phone .pre{padding:11px 4px 11px 14px;color:var(--t3);font-size:13px}
.cform-phone input{flex:1;min-width:0;background:transparent;border:none;outline:none;padding:11px 14px 11px 4px;color:var(--t1);font-size:13px;font-family:var(--ff)}
.cform-phone input::placeholder{color:var(--t4)}
.booking-consents{display:flex;flex-direction:column;gap:10px}
.booking-consent{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--e1);border:1px solid var(--e3);transition:border-color .2s}
.booking-consent.checked{border-color:rgba(200,168,74,.35)}
.booking-consent input[type="checkbox"]{width:16px;height:16px;min-width:16px;accent-color:var(--gold);cursor:pointer;margin-top:2px}
.booking-consent label{font-size:11px;color:var(--t3);line-height:1.6;cursor:pointer}
.booking-consent label a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.booking-footer{padding:0 26px 26px;display:flex;flex-direction:column;gap:10px}
.booking-submit{background:var(--cta-bg);color:var(--cta-text);font-size:14px;font-weight:600;font-family:var(--ff);padding:14px;border-radius:var(--r-md);border:none;cursor:pointer;width:100%;box-shadow:var(--cta-shadow);transition:background .2s,opacity .2s,transform .15s;display:flex;align-items:center;justify-content:center;gap:8px}
.booking-submit:hover:not(:disabled){background:var(--cta-bg-hi);transform:translateY(-1px)}
.booking-submit:disabled{opacity:.35;cursor:not-allowed;transform:none}
.booking-info{font-size:11px;color:var(--t4);text-align:center;line-height:1.5}
.booking-success{display:none;padding:48px 26px;text-align:center}
.booking-success.show{display:block}
.booking-success-icon{font-size:48px;margin-bottom:16px}
.booking-success h3{font-size:20px;font-weight:600;color:var(--t1);margin-bottom:10px}
.booking-success p{font-size:13px;color:var(--t3);line-height:1.8}
/* MOBILE CTA */
.mcta{display:none}
/* ── PASEK WIBOR / STOPY ── */
.rates-bar{max-width:1000px;margin:0 auto 0;display:flex;align-items:stretch;gap:0;background:var(--e2);border:1px solid var(--e-border-1);border-radius:14px;overflow:hidden;flex-wrap:wrap}
.rates-item{flex:1;min-width:150px;padding:16px 22px;border-right:1px solid var(--e-border-0);display:flex;flex-direction:column;gap:3px}
.rates-item:last-child{border-right:none}
.rates-k{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t4)}
.rates-v{font-family:var(--ff-display);font-size:26px;font-weight:300;color:var(--gold);letter-spacing:-.02em;line-height:1;font-variant-numeric:lining-nums}
.rates-v small{font-size:13px;color:var(--t3)}
.rates-meta{font-size:11px;color:var(--t4);letter-spacing:.02em}
.rates-note{max-width:1000px;margin:12px auto 0;font-size:11px;color:var(--t4);text-align:center;line-height:1.6}
/* ── KREATOR „CZY DOSTANĘ KREDYT?” ── */
.kmq-section{background:var(--e0)}
.kmq{max-width:840px;margin:48px auto 0;background:var(--e2);border:1px solid var(--e-border-1);border-radius:20px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.5)}
.kmq-top{padding:22px 32px;border-bottom:1px solid var(--e-border-0);background:var(--e1);display:flex;align-items:center;justify-content:space-between;gap:16px}
.kmq-top-l{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}
.kmq-steps{display:flex;gap:7px;align-items:center}
.kmq-dot{width:9px;height:9px;border-radius:50%;background:var(--e4);transition:all .3s var(--ease)}
.kmq-dot.done{background:var(--gold-lo)}
.kmq-dot.active{background:var(--gold);box-shadow:0 0 0 4px var(--gold-glow)}
.kmq-body{padding:40px 40px 36px;min-height:340px;display:flex;flex-direction:column}
.kmq-q{font-family:var(--ff-display);font-size:clamp(26px,3.4vw,38px);font-weight:300;letter-spacing:-.02em;line-height:1.12;color:var(--t1);margin-bottom:6px}
.kmq-hint{font-size:13px;color:var(--t3);line-height:1.6;margin-bottom:28px}
.kmq-opts{display:grid;gap:12px}
.kmq-opts.cols2{grid-template-columns:1fr 1fr}
.kmq-opt{display:flex;align-items:center;gap:14px;text-align:left;padding:18px 20px;background:var(--e3);border:1px solid var(--e-border-1);border-radius:14px;cursor:pointer;font-family:inherit;color:var(--t1);font-size:15px;font-weight:500;transition:all .18s var(--ease);width:100%}
.kmq-opt:hover{border-color:var(--e-border-3);background:var(--e4)}
.kmq-opt.sel{border-color:var(--gold);background:var(--gold-surface)}
.kmq-opt-ico{width:38px;height:38px;border-radius:10px;background:var(--gold-surface);border:1px solid var(--e-border-1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kmq-opt-ico svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kmq-opt-sub{display:block;font-size:12px;font-weight:400;color:var(--t3);margin-top:2px}
.kmq-slide-val{font-family:var(--ff-display);font-size:44px;font-weight:300;color:var(--gold-hi);letter-spacing:-.03em;line-height:1;font-variant-numeric:lining-nums;margin-bottom:20px}
.kmq-slide-val small{font-size:20px;color:var(--t3)}
.kmq-body .calc-range{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:var(--e4);border-radius:3px;outline:none;cursor:pointer;margin-bottom:10px}
.kmq-body .calc-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--gold);border:3px solid var(--e2);box-shadow:0 0 0 2px var(--gold-dim);cursor:pointer}
.kmq-body .calc-range::-webkit-slider-thumb:hover{transform:scale(1.12)}
.kmq-body .calc-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--gold);border:3px solid var(--e2);cursor:pointer}
.kmq-body .calc-range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--t4);margin-top:4px}
.kmq-foot{margin-top:auto;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.kmq-back{background:none;border:none;color:var(--t3);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:8px 4px;display:flex;align-items:center;gap:6px;transition:color .2s}
.kmq-back:hover{color:var(--t1)}
.kmq-back svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kmq-next{background:var(--cta-bg);color:var(--cta-text);border:none;font-family:inherit;font-size:14px;font-weight:600;padding:14px 30px;border-radius:var(--r-pill);cursor:pointer;display:inline-flex;align-items:center;gap:9px;box-shadow:var(--cta-shadow);transition:all .2s}
.kmq-next:hover{background:var(--cta-bg-hi)}
.kmq-next:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}
.kmq-next svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* wynik */
.kmq-result{text-align:center;display:flex;flex-direction:column;align-items:center;animation:kmqFade .5s var(--ease)}
@keyframes kmqFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.kmq-gauge{position:relative;width:150px;height:150px;margin-bottom:22px}
.kmq-gauge svg{transform:rotate(-90deg)}
.kmq-gauge-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ff-display);font-size:46px;font-weight:300;color:var(--gold-hi);letter-spacing:-.03em;font-variant-numeric:lining-nums}
.kmq-verdict{font-family:var(--ff-display);font-size:clamp(28px,3.6vw,40px);font-weight:300;letter-spacing:-.02em;color:var(--t1);margin-bottom:10px;line-height:1.1}
.kmq-verdict em{color:var(--gold);font-style:italic}
.kmq-vsub{font-size:14px;color:var(--t3);line-height:1.7;max-width:520px;margin:0 auto 26px}
.kmq-form{width:100%;max-width:460px;margin:0 auto;text-align:left}
.kmq-form .kmq-frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.kmq-inp{width:100%;background:var(--e3);border:1px solid var(--e-border-1);border-radius:12px;padding:14px 16px;color:var(--t1);font-family:inherit;font-size:14px;outline:none;transition:border-color .2s}
.kmq-inp:focus{border-color:var(--gold)}
.kmq-inp::placeholder{color:var(--t4)}
.kmq-consent{display:flex;gap:10px;align-items:flex-start;margin:6px 0 16px;font-size:11.5px;color:var(--t3);line-height:1.55}
.kmq-consent input{margin-top:2px;accent-color:var(--gold);flex-shrink:0}
.kmq-consent a{color:var(--gold)}
.kmq-submit{width:100%;background:var(--cta-bg);color:var(--cta-text);border:none;font-family:inherit;font-size:15px;font-weight:600;padding:16px;border-radius:var(--r-pill);cursor:pointer;box-shadow:var(--cta-shadow);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:9px}
.kmq-submit:hover{background:var(--cta-bg-hi)}
.kmq-submit svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kmq-restart{background:none;border:none;color:var(--t4);font-family:inherit;font-size:12px;cursor:pointer;margin-top:16px;text-decoration:underline;text-underline-offset:3px}
.kmq-restart:hover{color:var(--t2)}
.kmq-disc{max-width:840px;margin:14px auto 0;font-size:11px;color:var(--t4);text-align:center;line-height:1.6}
@media(max-width:720px){
  .kmq-body{padding:28px 22px 26px}
  .kmq-opts.cols2{grid-template-columns:1fr}
  .kmq-form .kmq-frow{grid-template-columns:1fr}
  .rates-item{min-width:calc(50% - 1px)}
}
/* REVEAL */
@media(prefers-reduced-motion:no-preference){
  /* 1.11.2026: bez odsłaniania kart przy przewijaniu; klasa zostaje dla zgodności. */
.reveal{opacity:1;transform:none}
  .reveal.in{opacity:1;transform:none}
}
/* RESPONSIVE */
@media(max-width:1100px){
  .hero{grid-template-columns:60fr 40fr}
  .hero-left{padding:72px 56px 72px 64px}
  .bento-grid{grid-template-columns:1fr;grid-template-rows:none}
  .bento-card-featured{grid-column:auto;grid-row:auto;min-height:0}
  .bento-card-metric{grid-column:auto;grid-row:auto}
  .footer-top{grid-template-columns:1fr 1fr;gap:36px}
}
@media(max-width:1040px){
  nav#mainNav{padding:0 28px}
  :where(html:not(.km-glowna)) .nav-links,:where(html:not(.km-glowna)) .nav-phone,:where(html:not(.km-glowna)) .nav-soc-wrap{display:none}
  :where(html:not(.km-glowna)) .nav-soc-mobile{display:flex;gap:6px;margin-right:2px}
  :where(html:not(.km-glowna)) .nav-soc-mobile .nav-soc{width:40px;height:40px}
  :where(html:not(.km-glowna)) .nav-soc-mobile .nav-soc svg{width:18px;height:18px}
  :where(html:not(.km-glowna)) nav#mainNav .nav-right>.btn-primary{display:none}
  /* Poniżej 1040 px zwijamy menu, ale NIE oddajemy górnego paska ikonom social.
     Na telefonie 2/3 ruchu to wyszukiwarka mobilna, a najkrótsza droga do kontaktu
     to numer pod kciukiem. Social zostaje w stopce i w menu. */
  :where(.km-glowna) .nav-links,:where(.km-glowna) .nav-soc-wrap,:where(.km-glowna) .nav-soc-mobile{display:none}
  :where(.km-glowna) .nav-phone{display:inline-flex;margin-right:4px}
  .hamburger{display:flex}
}
@media(max-width:768px){
  /* Przycisk konsultacji z paska zabiera dolny pasek .mcta - do 768 px zostaje w nawigacji */
  :where(.km-glowna) nav#mainNav .nav-right>.btn-primary{display:none}
}
@media(max-width:430px){
  /* Wąskie telefony: pigułka z numerem skraca się do samej ikony i 9 cyfr */
  :where(.km-glowna) .nav-phone{padding:6px 10px;font-size:12.5px;gap:6px;margin-right:2px}
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:100px 40px 60px;min-height:100svh}
  .hero-left::before{display:none}
  .hero-right{height:52vw}
  .about-section{grid-template-columns:1fr;grid-template-rows:400px auto}
  .about-img-wrap{min-height:400px}
  .about-img-wrap::after{background:linear-gradient(to bottom,transparent 85%,var(--e2) 100%)}
  .about-img-wrap::before{display:none}
  .about-text{padding:56px 40px}
  .services-grid{grid-template-columns:1fr 1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .faq-item:nth-last-child(-n+2){border-bottom:2px solid var(--e-border-0)}
  .faq-item:last-child{border-bottom:none}
  .process-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .metrics-bar{grid-template-columns:1fr 1fr}
  .metric:nth-child(2){border-right:none}
  .metric:nth-child(3){border-top:1px solid var(--e-border-0)}
  footer{padding:64px 24px 32px}
  .footer-top{grid-template-columns:1fr}
}
@media(max-width:768px){
  nav#mainNav{padding:0 20px}
  .gallery-section{padding:96px 0}
  .gallery-header{padding:0 24px 32px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px;padding:0 24px}
  .gallery-item{aspect-ratio:1/1}
  .gallery-item.tall{grid-row:auto}
  .gallery-item[style*="span 2"]{grid-column:auto !important}
  .process-top{grid-template-columns:1fr;gap:36px;margin-bottom:56px}
  .process-photo{aspect-ratio:16/10}
  .bento-section,.process-section,.services-section,.faq-section,.calc-section,.contact-section,.newsletter-section,.testimonials-section,.whyme-section,.notfor-section,.kmq-section,.dict-section{padding:96px 24px}
  .quote-section{padding:72px 24px}
  .cta-content{padding:60px 32px}
  .hero-left{padding:88px 22px 52px}
  .bento-col-right{flex-direction:column}
  .calc-section .calc-body{grid-template-columns:1fr}
  .calc-section .calc-inputs{border-right:none;border-bottom:1px solid var(--e-border-0)}
  .calc-section .calc-inputs,.calc-section .calc-results{padding:24px 20px}
  .calc-section .calc-head,.calc-section .calc-foot{padding:16px 20px}
  .chooser-grid{grid-template-columns:1fr}
  .booking-row{grid-template-columns:minmax(0,1fr)}
  .nl-row{flex-direction:column}
  .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9000;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(5,13,23,.96);backdrop-filter:blur(14px);border-top:1px solid rgba(200,168,74,.20)}
  .mcta a,.mcta button{flex:1;border:none;border-radius:var(--r-lg);font-family:var(--ff);font-size:14px;font-weight:600;padding:13px 10px;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;text-decoration:none;transition:background .2s;position:relative;overflow:hidden}
  .mcta svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .mcta-call{background:var(--e3);color:var(--t1);border:1px solid var(--e4)!important}
  .mcta-book{background:var(--cta-bg);color:var(--cta-text);box-shadow:0 0 0 1px rgba(228,198,96,.28);}
  body{padding-bottom:72px}
  .cookies-banner{bottom:78px}
}
@media(max-width:540px){
  .hero-title{font-size:clamp(42px,10vw,58px)}
  .hero-metrics-inline{flex-direction:column;gap:20px}
  .hero-metric-sep{display:none}
  .services-grid{grid-template-columns:1fr}
  .metrics-bar{grid-template-columns:1fr 1fr}
  .quote-mark{font-size:72px}
  .cta-content{padding:48px 22px}
}
/* ── MOBILE HERO: pełnoekranowy portret z hasłem na dole (mocny pierwszy ekran) ── */
@media(max-width:900px){
  /* Hero stacked: zdjęcie jako pełny blok na górze, treść pod spodem - niezawodne na iOS */
  .hero{display:flex!important;flex-direction:column;min-height:0!important;grid-template-columns:none!important}
  :where(html:not(.km-glowna)) .hero-right{order:-1;position:relative!important;inset:auto!important;width:100%;height:40vh;min-height:300px;max-height:400px;overflow:hidden;background:var(--e2);z-index:0}
  /* ZDJĘCIE W HERO NA TELEFONIE
     Było 40vh / 300-400 px. Przy takiej wysokości przycisk "Umów bezpłatną
     konsultację" lądował pod zgięciem na iPhonie i użytkownik widział pierwszy
     ekran bez żadnego wezwania do działania. Niżej kadr jest płytszy, dzięki
     czemu na ekranie 375x812 mieszczą się: portret, nagłówek, jedno zdanie,
     gwiazdki z oceną i złoty przycisk. */
  :where(.km-glowna) .hero-right{order:-1;position:relative!important;inset:auto!important;width:100%;height:30vh;min-height:200px;max-height:290px;overflow:hidden;background:var(--e2);z-index:0}
  .hero-right-mask{position:absolute!important;inset:0!important;clip-path:none!important}
  .hero-right-mask img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 14%;transform:translateX(6%) scale(1.16)!important;transform-origin:center center;opacity:1!important}
  .hero-divider{display:none}
  .hero-right::after{background:
    linear-gradient(to bottom,rgba(5,13,23,0) 0%,rgba(5,13,23,0) 40%,rgba(5,13,23,.68) 72%,var(--e0) 96%)!important}
  .hero-left{order:0;position:relative;z-index:2;min-height:0!important;margin-top:-48px;
    display:flex;flex-direction:column;align-items:flex-start;
    padding:0 24px calc(40px + env(safe-area-inset-bottom))!important;gap:0}
  .hero-left::before{display:none}
  :where(html:not(.km-glowna)) .hero-eyebrow{align-self:flex-start;margin-bottom:16px}
  :where(html:not(.km-glowna)) .hero-title{margin-bottom:16px}
  :where(html:not(.km-glowna)) .hero-rule{margin-bottom:16px}
  :where(html:not(.km-glowna)) .hero-sub{margin-bottom:24px;max-width:none;color:var(--t2)}
  :where(.km-glowna) .hero-eyebrow{align-self:flex-start;margin-bottom:12px}
  :where(.km-glowna) .hero-title{margin-bottom:12px}
  :where(.km-glowna) .hero-rule{margin-bottom:12px}
  :where(.km-glowna) .hero-sub{margin-bottom:16px;max-width:none;color:var(--t2)}
  :where(.km-glowna) .hero-sub-long{display:none}
  :where(.km-glowna) .hero-sub-short{display:inline}
  .hero-microcopy,.hero-scroll{display:none!important}
  :where(html:not(.km-glowna)) .hero-trust{display:flex!important;opacity:1!important;margin:-4px 0 22px;gap:8px 14px}
  /* Lista zaufania schodzi POD przycisk: na pierwszym ekranie ważniejsza jest
     ocena z Google i wezwanie do działania niż trzy drobne odhaczenia. */
  :where(.km-glowna) .hero-trust{display:flex!important;opacity:1!important;order:2;margin:18px 0 0;gap:8px 14px}
  .hero-trust-item{font-size:11px}
  :where(.km-glowna) .hero-actions{order:1}
  .hero-metrics-inline{display:none!important}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%;gap:12px;margin-bottom:0}
  .hero-actions .btn-primary,.hero-actions .btn-ghost{justify-content:center;width:100%;padding-top:15px;padding-bottom:15px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .hero-eyebrow,.hero-title,.hero-rule,.hero-sub,.hero-actions,.hero-microcopy,.hero-trust,.hero-metrics-inline,.hero-scroll,.quote-text,.quote-author,.reveal{opacity:1!important;transform:none!important}
}
/* ── MOBILE FAILSAFE: treść ZAWSZE widoczna na telefonach/tabletach,
   niezależnie od GSAP/ScrollTrigger/IntersectionObserver (które bywają zawodne na mobilnym Safari) ── */
@media(max-width:900px){
  .reveal{opacity:1!important;transform:none!important}
  .hero-eyebrow,.hero-title,.hero-rule,.hero-sub,.hero-actions,.hero-microcopy,.hero-trust,.hero-metrics-inline,.hero-scroll,
  .about-tag,.about-heading,.about-sub,.quote-text,.quote-author{opacity:1!important;transform:none!important}
  .about-img-mask,.hero-right-mask{clip-path:none!important}
  .about-img-mask img{transform:none!important}
}

/* 1.11.2026: bez efektów dekoracyjnych (pasek postępu, ziarno, poświaty, połysk, ruch za kursorem). */
.km-progress{display:none}

/* Suwaki na dotyku: pasek wizualnie 2px, ale strefa chwytu 28px */
@media (pointer:coarse){
  :where(html:not(.km-stary-styl)) .calc-range,:where(html:not(.km-stary-styl)) .calc-section .calc-range,:where(html:not(.km-stary-styl)) .kmq-body .calc-range{height:28px;background:linear-gradient(var(--e4),var(--e4)) center/100% 2px no-repeat}
}

/* ── TELEFON: czytelność i strefy dotyku (23.10.2026) ──
   Pomiar na 375 px: ok. 100 napisów poniżej 12 px (etykiety) albo 13 px (zdania)
   i kilkadziesiąt przycisków oraz linków niższych niż 44 px. Zasada na telefonie:
   zdania min. 13 px, krótkie etykiety wersalikami min. 12 px, strefa dotyku min. 44 px.
   Komputer bez zmian. Strefy dotyku rosną bez zmiany wyglądu: niewidoczny ::after
   albo dopełnienie z ujemnym marginesem. Napisy z rozmiarem wpisanym w HTML mają
   klasę .km-drobny (zdanie), .km-etykieta (etykieta) albo .km-stopka (stopka podstron). */
@media(max-width:768px){
  .section-tag,.svc-num,.kmq-top-l,.contact-label,.booking-label,.hero-trust-item,
  :where(.km-glowna) .case-row b,:where(.km-glowna) .g-tag,
  :where(html:not(.km-glowna)) .footer-col h4,:where(.km-glowna) .footer-col h3,:where(.km-glowna) .footer-col h4,
  .calc-section .calc-head-label,.calc-section .calc-input-name,.calc-section .calc-range-labels,
  .calc-section .calc-result-label,.kmq-body .calc-range-labels,.gcal-dow span,.gcal-slots-dow,.gcal-tz{font-size:12px}
  .nl-note,.kmq-disc,.kmq-consent,.kmq-restart,.nl-consent label,.booking-consent label,.booking-info,
  .cal-modal-sub,.contact-desc,.footer-tagline,.footer-contact-item,.footer-copy,.svc-d,.g-more,.field-err,
  :where(.km-glowna) .cases-note,.calc-section .calc-result-desc,.calc-section .calc-microcopy,
  .calc-disclaimer,.cal-modal-footer{font-size:13px}
  .km-drobny,.km-stopka{font-size:13px!important}
  .km-etykieta{font-size:12px!important}
}
@media(max-width:600px){
  /* Napis nad nagłówkiem musi zostać w jednej linii także na telefonie 360 px:
     11 px z ciaśniejszym odstępem liter zajmuje tyle miejsca co dawne 10,5 px. */
  .hero-h1 .hero-eyebrow{font-size:11px;letter-spacing:.04em}
}
@media(pointer:coarse){
  .nav-logo{padding:8px 0;margin:-8px 0}
  .hamburger{padding:15px 11px;margin:-10px -7px}
  .nav-phone,.hero-proof,.g-more,.footer-soc,.cal-close,.cal-back,.gcal-navbtn{position:relative}
  .nav-phone::after,.hero-proof::after,.g-more::after,.footer-soc::after,.cal-close::after,.cal-back::after,.gcal-navbtn::after{content:'';position:absolute}
  .gcal-navbtn::after{inset:-8px -4px}
  .nav-phone::after{inset:-5px -2px}
  .hero-proof::after{inset:-2px 0}
  .g-more::after{inset:-13px -8px}
  .footer-soc{width:44px;height:44px}
  .cal-back::after{inset:-9px}
  .cal-close::after{inset:-9px -13px}
  .footer-contact{gap:0}
  .footer-contact-item{min-height:44px}
  :where(.km-glowna) .footer-col a{padding:11.5px 0;margin-bottom:0}
  .btn-primary,.cookies-btns button,.mob-cta-primary,.mob-cta-phone,.kmq-submit,.calc-section .calc-tab,.booking-input,.cform-phone,.kmq-inp,.gcal-slot{min-height:44px}
  .mobile-menu>a{padding:13px 0}
  .nl-consent input[type="checkbox"],.booking-consent input[type="checkbox"],.kmq-consent input[type="checkbox"],.km-zgody input[type="checkbox"]{width:22px;height:22px;min-width:22px;margin-top:0}
  .kmq-restart{padding:14px 16px;margin-top:2px}
  /* Linki w drobnym tekście: wyższa strefa kliknięcia, układ akapitu bez zmian */
  .cookies-text a,.nl-consent label a,.booking-consent label a,.kmq-consent a,.km-drobny a{padding:8px 0}
  .km-okruchy a{padding:13px 0}
  .km-drobny a[href^="tel:"]{padding:14px 4px}
  a.km-drobny{padding-top:12px;padding-bottom:12px}
  /* Stopka podstron i „Zobacz też”: linki stoją w jednym akapicie */
  .km-stopka{line-height:2.4!important}
  .km-stopka a{display:inline-block;padding:12px 4px;line-height:1.6;min-width:44px;text-align:center}
  .km-zobacz{line-height:2.6!important}
  .km-zobacz a{padding:9px 0}
}

/* 1.11.2026: etykiety zwykłymi literami zamiast wersalików z rozstrzeleniem.
   Małe litery przy 10-11 px byłyby za drobne, więc etykiety mają 13 px. */
.section-tag,.hero-eyebrow,.case-row b,.calc-section .calc-head-label,.calc-section .calc-input-name,
.calc-section .calc-result-label,.calc-section .calc-lock-head,.contact-label,.footer-col h3,.footer-col h4,
.gcal-slots-dow,.gcal-rodo h5,.booking-label,.rates-k,.kmq-top-l,.km-etykieta,.bento-eyebrow,.bento-badge,
.bento-featured-unit,.about-quote cite,.quote-author-text{text-transform:none!important;letter-spacing:.01em!important;font-size:13px!important}

/* 1.11.2026: linki w zdaniach rozpoznawalne nie tylko po kolorze (dostępność). */
p a:not([class]),li a:not([class]),td a:not([class]),.km-okruchy a,.km-drobny a,.cookies-text a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
/* 1.11.2026 wieczorem (Patryk): wyróżnione słowa w nagłówkach znowu złotą kursywą, jak w haśle. */
h1:not(.hero-h1) em,h2 em,h3 em{font-style:italic;color:var(--gold);font-weight:inherit}
/* 1.11.2026 (audyt końcowy): ikona „zł” zamiast dolara w kalkulatorach, zwarte nagłówki kart na podstronach,
   menu podstron widoczne na telefonie jako przewijany wiersz pod logo */
.km-zl{font-size:12px;font-weight:600;line-height:1;color:var(--gold)}
:where(html:not(.km-glowna)) main h2{line-height:1.2}
/* 1.11.2026: kalendarz i zgody na telefonie czytelne (zdania 13 px) */
@media(max-width:900px){
  .gcal-slots-hint,.gcal-rodo p,.booking-consent label{font-size:13px}
}
/* 1.11.2026 wieczorem (Patryk: wygląd jak 31.10, ale spokojniej): jeden szeryf w nagłówkach, Cormorant jak w haśle.
   Source Serif 4 usunięty. Zastępczy Georgia ma wymiary Cormoranta, więc przy podmianie czcionki nic nie skacze. */
:root{--ff-head:'Cormorant Garamond','KM Cormorant zapas',Georgia,serif}
@font-face{font-family:'KM Cormorant zapas';font-style:normal;font-weight:100 900;src:local('Georgia');size-adjust:87.7%;ascent-override:104.9%;descent-override:33.1%;line-gap-override:0%}
@font-face{font-family:'KM Cormorant zapas';font-style:italic;font-weight:100 900;src:local('Georgia Italic'),local('Georgia-Italic');size-adjust:78.2%;ascent-override:117.6%;descent-override:37.1%;line-gap-override:0%}
.section-h,.whyme-key,.case-card h3,.kmq-q,.kmq-verdict,#miasta-heading,footer div[style*="--ff-display"],
:where(html:not(.km-glowna)) main h1,:where(html:not(.km-glowna)) main h2{font-family:var(--ff-head)!important;font-weight:400!important;letter-spacing:-.01em!important}
html .section-h{font-size:clamp(36px,4.2vw,54px);line-height:1.1}
html .whyme-key{font-size:clamp(24px,2.3vw,30px);font-style:italic}
html .case-card h3{font-size:23px;line-height:1.25;font-style:italic}
/* 1.11.2026 (audyt decyzji): nagłówki z interlinią 1,2 i równymi wierszami; pytanie kreatora mniejsze */
main h1,main h2,main h3,.section-h,.cta-h,#miasta-heading,footer div[style*="--ff-display"]{line-height:1.2;text-wrap:balance}
html .kmq-q{font-size:clamp(27px,2.9vw,35px)}

/* ── 1.11.2026 wieczorem: oś środkowa na wszystkich stronach (decyzja Patryka) ──
   Nagłówek strony (etykieta, tytuł, wstęp, podpis) stoi na środku kolumny. Dłuższe akapity
   zostają wyrównane do lewej: wyśrodkowany tekst ponad 2-3 wiersze czyta się źle. */
:where(html:not(.km-glowna)) main>section:first-of-type>.section-tag,
:where(html:not(.km-glowna)) main>section:first-of-type>h1,
:where(html:not(.km-glowna)) main>section:first-of-type>.section-sub{text-align:center;margin-left:auto;margin-right:auto}
:where(html:not(.km-glowna)) main>section:first-of-type>.section-sub{max-width:620px}
:where(html:not(.km-glowna)) main>section:first-of-type>.section-tag{justify-content:center}
:where(html:not(.km-glowna)) main>section:first-of-type>h1.section-h{font-size:clamp(40px,5.4vw,60px)!important;line-height:1.08}
:where(html:not(.km-glowna)) main>.km-okruchy{text-align:center}
/* Strony z własnym arkuszem (blog, Na czym zarabiam, dokumenty): nagłówek na środku, nad kolumną treści */
html:not(.km-glowna) main>div.hero{text-align:center}
html:not(.km-glowna) main>div.hero>h1,html:not(.km-glowna) main>div.hero>.lead,html:not(.km-glowna) main>div.hero>.hero-sub{margin-left:auto;margin-right:auto}
html:not(.km-glowna) main>div.hero>h1{font-size:clamp(38px,5.2vw,58px);line-height:1.08}
html:not(.km-glowna) main>div.hero .km-okruchy{font-size:12.5px;color:var(--t4);margin-bottom:22px}
html:not(.km-glowna) main>div.hero .km-okruchy a{color:var(--t3)}
/* Podpis autora z małym zdjęciem (podstrony usług i miast, blog) */
.km-autor{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px auto 0;font-size:13.5px;color:var(--t3);line-height:1.4}
.km-autor strong{color:var(--t1);font-weight:500}
.km-autor-foto{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:#16273B url(/images/hero-patryk-480.webp) 36% 8%/400% auto no-repeat;box-shadow:0 0 0 1px rgba(200,168,74,.45)}
p.meta.km-autor{margin-top:20px}
html:not(.km-glowna) main h1 em{font-style:italic;color:var(--gold)}
@media(max-width:430px){:where(html:not(.km-glowna)) nav#mainNav{padding-left:18px;padding-right:18px}:where(html:not(.km-glowna)) nav#mainNav .nav-phone{padding:6px 10px;font-size:12.5px;gap:6px}}

/* 1.11.2026 wieczorem: czcionki zastępcze o wymiarach Intera i Cormoranta także na podstronach,
   żeby przy podmianie czcionki tekst nie przeskakiwał o wiersz (zmierzone w Chrome). */
@font-face{font-family:'KM Inter zapas';font-style:normal;font-weight:100 349;src:local('Arial'),local('ArialMT');size-adjust:105%;ascent-override:92.4%;descent-override:22.9%;line-gap-override:0%}
@font-face{font-family:'KM Inter zapas';font-style:normal;font-weight:350 449;src:local('Arial'),local('ArialMT');size-adjust:106.8%;ascent-override:90.8%;descent-override:22.5%;line-gap-override:0%}
@font-face{font-family:'KM Inter zapas';font-style:normal;font-weight:450 549;src:local('Arial'),local('ArialMT');size-adjust:107.9%;ascent-override:89.9%;descent-override:22.2%;line-gap-override:0%}
@font-face{font-family:'KM Inter zapas';font-style:normal;font-weight:550 900;src:local('Arial Bold'),local('Arial-BoldMT');size-adjust:101.7%;ascent-override:95.4%;descent-override:23.6%;line-gap-override:0%}
:root{--ff:'Inter','KM Inter zapas',-apple-system,sans-serif;--ff-display:'Cormorant Garamond','KM Cormorant zapas',Georgia,serif}

/* ── Runda 1 niezależnej oceny (1.11.2026 wieczorem) ── */
/* Jeden nagłówek na wszystkich stronach: te same marginesy co strona główna, telefon z ikoną, hamburger poniżej 1040 px */
@media(min-width:901px){nav#mainNav{padding-left:80px;padding-right:80px}}
@media(min-width:1441px){nav#mainNav{padding-left:max(80px,calc((100vw - 1280px)/2));padding-right:max(80px,calc((100vw - 1280px)/2))}}
@media(max-width:900px){nav#mainNav{padding-left:24px;padding-right:24px}}
@media(max-width:1040px){:where(html:not(.km-glowna)) nav#mainNav .nav-phone{display:inline-flex;align-items:center;gap:7px;margin-right:4px}}
@media(max-width:768px){:where(html:not(.km-glowna)) nav#mainNav .nav-right>.btn-primary{display:none}}
@media(max-width:430px){nav#mainNav .nav-phone{padding:6px 10px;font-size:12.5px;gap:6px;margin-right:2px}}
.mobile-menu{background:#07101C!important;padding-top:12px}
:where(html:not(.km-glowna)) .mobile-menu.open{box-shadow:0 0 0 100vmax rgba(5,13,23,.72)}
/* Jedna stopka podstron: na środku, jeden poziom, ta sama typografia */
:where(html:not(.km-glowna)) body>footer{background:#050D17;padding:44px 24px 52px!important;border-top:1px solid rgba(200,168,74,.14)!important}
:where(html:not(.km-glowna)) body>footer .km-stopka{font-size:12.5px!important;line-height:2!important;max-width:760px;margin:0 auto}
:where(html:not(.km-glowna)) body>footer .km-stopka a{color:var(--t3)!important;text-decoration:none}
:where(html:not(.km-glowna)) body>footer .km-stopka a:hover{color:var(--gold)!important}
/* Opinie w kartach: jeden wygląd na stronie głównej i na stronach miast */
.km-opinia{margin:0;display:flex;flex-direction:column;background:#17283E;border:1px solid rgba(200,168,74,.24);border-radius:16px;padding:28px 30px 26px;box-shadow:0 18px 40px rgba(0,0,0,.3)}
.km-op-gora{display:flex;align-items:center;gap:14px}
.km-op-ini{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(200,168,74,.12);box-shadow:inset 0 0 0 1px rgba(200,168,74,.45);color:var(--gold);font-size:14px;font-weight:600;letter-spacing:.03em}
.km-op-kto{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.km-op-kto strong{font-size:15px;font-weight:600;color:var(--t1)}
.km-op-kto span{font-size:13px;color:var(--t3)}
.km-op-g{margin-left:auto;flex:0 0 auto;width:20px;height:20px;align-self:flex-start;margin-top:3px}
.km-op-gwiazdki{margin:18px 0 12px;color:var(--gold);font-size:15px;letter-spacing:.16em;line-height:1}
.km-opinia blockquote{margin:0}
.km-opinia blockquote p{margin:0;font-size:15.5px;line-height:1.7;color:var(--t2);text-wrap:pretty}
@media(max-width:600px){.km-opinia{padding:22px 20px 20px}.km-opinia blockquote p{font-size:15px}}
/* Podstrony: kolumna ok. 720 px (wiersz ok. 75 znaków), nagłówki sekcji poza kartami na środku */
:where(html:not(.km-glowna)) main>section.section[style*="max-width:860px"],:where(html:not(.km-glowna)) main>.km-okruchy{max-width:768px!important}
:where(html:not(.km-glowna)) main>section.section>h2{text-align:center}
:where(html:not(.km-glowna)) main>section.section>h2+p{text-align:center;margin-left:auto!important;margin-right:auto!important;max-width:600px}
:where(html:not(.km-glowna)) main article.reveal[style*="border-radius:16px"]{border-color:rgba(200,168,74,.14)!important}
@media(max-width:480px){:where(html:not(.km-glowna)) main article.reveal[style*="padding:30px 32px"]{padding:24px 18px!important}}
/* Pasek z przyciskiem w środku długich podstron */
.km-cta-pasek{display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap;padding:30px 20px;margin:12px 0;border-top:1px solid rgba(200,168,74,.2);border-bottom:1px solid rgba(200,168,74,.2);text-align:center}
.km-cta-tel{font-size:14px;color:var(--t3);text-decoration:none;padding:12px 0}
.km-cta-tel strong{color:var(--t1);font-weight:600}
/* Słownik: otwarta pozycja nie rozciąga sąsiada */
.dict-grid{align-items:start}
/* Karty kontaktu i kroki „Jak działam”: ramki wyraźniejsze */
.contact-card{border-color:rgba(200,168,74,.18)!important}
.process-grid{border-color:rgba(200,168,74,.16)!important}
/* Kalkulator refinansowania: suwaki rozłożone na wysokość kolumny wyników, wynik w dwóch wierszach (bez sieroty „spłaty”) */
@media(min-width:901px){#oszczednosci .calc-inputs{display:flex;flex-direction:column;justify-content:center;gap:40px}}
#oszczednosci .scen-row{grid-template-columns:auto 1fr;row-gap:4px}
#oszczednosci .scen-t{grid-column:1/-1;text-align:left}

/* ── Runda 2 niezależnej oceny ── */
/* Nagłówek: te same marginesy na każdej stronie (strony usług miały 18 px z własnego stylu), przycisk 40 px, cele dotyku 44 px */
@media(min-width:901px){nav#mainNav{padding-left:80px!important;padding-right:80px!important}}
@media(min-width:1441px){nav#mainNav{padding-left:max(80px,calc((100vw - 1280px)/2))!important;padding-right:max(80px,calc((100vw - 1280px)/2))!important}}
@media(max-width:900px){nav#mainNav{padding-left:24px!important;padding-right:24px!important}nav#mainNav .nav-phone{min-height:44px}}
nav#mainNav .btn-primary{padding-top:12px;padding-bottom:12px;line-height:16px}
nav#mainNav .hamburger{min-width:44px;min-height:44px;align-items:center;justify-content:center}
@media (pointer:coarse){.calc-range,.calc-section .calc-range,.kmq-body .calc-range{height:44px!important}}
/* Podstrony: jeden szablon nagłówka strony (okruszki wszędzie, tytuł w tym samym miejscu) */
:where(html:not(.km-glowna)) main>section:first-of-type{padding-top:18px!important}
:where(html:not(.km-glowna)) main>section.section[style*="max-width:860px"],:where(html:not(.km-glowna)) main>.km-okruchy{max-width:744px!important}
@media(min-width:769px){:where(html:not(.km-glowna)) main article.reveal p{font-size:16px!important}}
/* Pytania na podstronach w karcie jak na stronie głównej */
:where(html:not(.km-glowna)) main>section.section>h2+div{background:var(--e3);border:1px solid rgba(200,168,74,.14);border-radius:16px;overflow:hidden;margin-top:6px}
:where(html:not(.km-glowna)) main>section.section>h2+div>div{padding:22px 28px!important;border-bottom:1px solid var(--e-border-0)!important}
:where(html:not(.km-glowna)) main>section.section>h2+div>div:last-child{border-bottom:0!important}
:where(html:not(.km-glowna)) main>section.section>h2+div>div>p{font-size:15px!important;color:var(--t2)!important}
@media(max-width:480px){:where(html:not(.km-glowna)) main>section.section>h2+div>div{padding:20px 18px!important}}
/* Refinansowanie: oddech pod kalkulatorem, przełącznik rodzaju kredytu w jednym wierszu na telefonie */
#oszczednosci+.section,#oszczednosci+section{padding-top:72px!important}
@media(max-width:600px){#oszczednosci+.section,#oszczednosci+section{padding-top:48px!important}
  #oszczednosci .calc-head{flex-direction:column;align-items:stretch;gap:12px}
  #oszczednosci .calc-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}
  #oszczednosci .calc-tab{width:100%;font-size:13px;padding-left:8px;padding-right:8px}}
/* Słownik: jedna kolumna jak treść podstron, zaokrąglona karta, bez dziur */
.dict-grid{grid-template-columns:1fr!important;max-width:744px;margin-left:auto;margin-right:auto;border-radius:16px;overflow:hidden;border:1px solid rgba(200,168,74,.14)}
/* Zdania co najmniej 13 px także na komputerze (dotąd 11-12 px, mniej niż na telefonie) */
@media(min-width:769px){
  .nl-note,.kmq-disc,.nl-consent label,.hero-disclose,.contact-desc,.footer-tagline,.calc-result-desc,.calc-disclaimer,.calc-microcopy,.booking-consent label,.kmq-consent{font-size:13px!important}
  .km-drobny{font-size:13px!important}
}
/* Cyfry w nagłówkach Cormoranta jako zwykłe cyfry („1.” nie wygląda jak „I.”) */
h1,h2,h3,.section-h{font-variant-numeric:lining-nums}
/* Słownik: dwie części listy jako jedna karta */
.dict-grid:has(+.dict-more){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}
.dict-grid.dict-more{margin-top:0!important;border-top-left-radius:0;border-top-right-radius:0}
/* Refinansowanie: bez pasa tła pod okruszkami (kalkulator i tak stoi w karcie) */
#oszczednosci{background:transparent!important}

/* ── Runda 3 niezależnej oceny ── */
/* Menu na środku ekranu: logo z lewej, przyciski z prawej, linki dokładnie na osi */
@media(min-width:1041px){nav#mainNav{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center}nav#mainNav .nav-logo{justify-self:start}nav#mainNav .nav-right{justify-self:end}}
/* Okruszki: większa strefa kliknięcia, podkreślony link */
.km-okruchy a{display:inline-block;padding:12px 0;text-decoration:underline;text-underline-offset:2px}
/* „Zobacz też” i podobne: nazwy nie łamią się w środku */
.km-zobacz a,.powiazane a{white-space:nowrap}
/* Jeden główny przycisk na podstronach: 52 px, 15 px, strzałka (jak w pierwszym ekranie strony głównej) */
:where(html:not(.km-glowna)) main a.btn-primary{font-size:15px!important;font-weight:600;padding:16px 30px!important;min-height:52px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px}
:where(html:not(.km-glowna)) main a.btn-primary::after{content:'';width:15px;height:15px;flex:0 0 auto;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%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 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat}
/* Zdjęcie w środku długich podstron (przerywa ciąg jednakowych kart) */
.km-foto{margin:12px 0;border-radius:16px;overflow:hidden;border:1px solid rgba(200,168,74,.14)}
.km-foto img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
/* Drobny tekst: stopka podstron 13 px, baner cookies 13 px w zwartym układzie */
:where(html:not(.km-glowna)) body>footer .km-stopka{font-size:13px!important}
.cookies-text{font-size:13px!important;line-height:1.5!important}
@media(max-width:768px){.cookies-banner{left:8px!important;right:8px!important;width:auto!important;padding:12px 14px!important;gap:10px!important}.cookies-btns{width:100%}.cookies-btns button{flex:1;text-align:center;font-weight:600;padding:10px!important}}
/* Słownik: bez mocniejszej linii między częściami listy */
.dict-grid.dict-more{border-top:0!important;padding-top:2px}
/* Refinansowanie na telefonie: mniej pustki pod zastrzeżeniem */
@media(max-width:600px){#oszczednosci{padding-bottom:40px!important}}

/* ── Runda 4 niezależnej oceny ── */
/* Stopka podstron: logo u góry, linki bez kropek, w równych odstępach (kropki „·” lądowały na końcach wierszy) */
.km-stopka-logo{font-size:17px;font-weight:500;color:#E2D9CC;letter-spacing:-.01em;margin-bottom:14px}.km-stopka-logo span{color:#C8A84A}
body>footer span[style*="nowrap"],.km-zobacz span[style*="nowrap"]{font-size:0!important;display:inline-block;margin:0 9px}
body>footer span[style*="nowrap"] a,.km-zobacz span[style*="nowrap"] a{font-size:13px}
.km-stopka>a,.km-zobacz>a{display:inline-block;margin:0 9px}
@media(max-width:600px){.km-zobacz span[style*="nowrap"],.km-zobacz>a{display:block;margin:0}.km-zobacz a{display:inline-block;padding:12px 0}}
/* Dotyk: linki w zdaniach z większą strefą kliknięcia */
@media(pointer:coarse){main p a:not([class]){padding:14px 0}}
/* Jedno zakończenie strony: przycisk na całą szerokość na telefonie */
@media(max-width:480px){main a.btn-primary,a.btn,a.cta-btn{width:100%}}
/* Nagłówek: te same wymiary tekstu przycisku i telefonu na każdej stronie */
nav#mainNav .nav-phone,nav#mainNav .btn-primary{line-height:16px;letter-spacing:.005em;white-space:nowrap}
:where(html:not(.km-glowna)) body>footer .km-stopka span[style*="nowrap"] a{font-size:13px!important}
/* Pasek z przyciskiem w długich podstronach: na telefonie przycisk w jednej linii, na całą szerokość */
@media(max-width:480px){.km-cta-pasek{padding:24px 0}.km-cta-pasek .btn-primary{width:100%;padding:16px 18px!important;white-space:nowrap}}
/* Nagłówki kart na wąskim telefonie bez osieroconych słów */
@media(max-width:400px){:where(html:not(.km-glowna)) main article.reveal h2{font-size:24px!important}}
/* Refinansowanie: mniej pustki między kalkulatorem a pierwszą kartą, suwaki gęściej */
@media(min-width:601px){#oszczednosci+.section,#oszczednosci+section{padding-top:44px!important}}
@media(min-width:901px){#oszczednosci .calc-inputs{gap:56px!important}}
/* Lista „Także:” w sekcji miast: bez kropek na końcach wierszy, równe odstępy */
.km-miasta>p span[style*="nowrap"]{font-size:0!important;display:inline-block;margin:0 7px}
.km-miasta>p span[style*="nowrap"] a{font-size:13px}
@media(pointer:coarse){.km-miasta>p span[style*="nowrap"] a{padding:12px 2px!important}}

/* ── Runda 5 niezależnej oceny ── */
/* Stopki podstron: równe odstępy między linkami, wszystkie linki w jednej linii bazowej */
:where(html:not(.km-glowna)) body>footer span[style*="nowrap"],.km-zobacz span[style*="nowrap"]{margin:0!important}
:where(html:not(.km-glowna)) body>footer a,.km-zobacz a{display:inline-block;margin:0 9px!important;vertical-align:middle}
.km-zobacz span[style*="nowrap"]{vertical-align:middle}
@media(max-width:600px){.km-zobacz a{margin:0!important}}
/* Menu na komputerze czytelniejsze */
@media(min-width:1280px){nav#mainNav .nav-links{font-size:14px;gap:30px}}
@media(min-width:1041px) and (max-width:1279px){nav#mainNav .nav-links{font-size:13px;gap:22px}}
/* Dolny pasek na telefonie na tej samej krawędzi co treść */
@media(max-width:768px){.mcta{padding-left:24px!important;padding-right:24px!important}}
/* Baner cookies: równe przyciski na każdej stronie */
.cookies-btns button{flex:1 1 0}
/* Karty historii na podstronach w kremie jak „Pięć spraw” na stronie głównej (rytm długich stron) */
article.km-karta-krem{background:#E4DACB!important;border:1px solid rgba(226,217,204,.25)!important}
article.km-karta-krem h2{color:#050D17!important}
article.km-karta-krem p{color:rgba(5,13,23,.84)!important}
article.km-karta-krem a{color:#6E5214!important}
/* Stopka podstron na komputerze: szersza, prawa autorskie bez osieroconych słów */
@media(min-width:1024px){:where(html:not(.km-glowna)) body>footer .km-stopka{max-width:1080px}}
:where(html:not(.km-glowna)) body>footer .km-stopka{text-wrap:balance}
/* Dwie szerokości treści podstron: 696 px (karty, lista bloga, słownik) */
.dict-grid{max-width:696px!important}
/* Kalkulator refinansowania: suwaki od góry, objaśnienie pod obiema kolumnami, czytelne etykiety i wynik */
@media(min-width:901px){#oszczednosci .calc-inputs{justify-content:flex-start!important;gap:40px!important;padding-top:36px;padding-bottom:36px}}
#oszczednosci .calc-range-labels{font-size:12px!important}
#oszczednosci .scen-t{font-size:13px}
#oszczednosci .km-calc-nota{margin:0;padding:20px 36px 24px;border-top:1px solid var(--e-border-0);font-size:13px;line-height:1.65;color:var(--t3)}
@media(max-width:600px){#oszczednosci .km-calc-nota{padding:18px 20px 20px}}

/* Stopki: wszystkie linki w jednej linii bazowej (także ostatni w wierszu) */
body>footer span[style*="nowrap"]{vertical-align:middle}

/* ── Runda 6: stopka podstron w grupach (jak kolumny stopki strony głównej) ── */
body>footer .km-stopka{max-width:760px;margin:0 auto}
.km-stopka-tekst{margin:0 0 2px;font-size:13px;line-height:1.7;color:#8C8880;text-wrap:balance}
.km-stopka-grupa{margin-top:16px}
.km-stopka-etykieta{font-size:12px;font-weight:600;letter-spacing:.01em;color:#C8A84A;margin-bottom:2px}
.km-stopka-lista{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px;max-width:620px;margin:0 auto}
.km-stopka-lista a{margin:0!important;display:inline-block;padding:6px 0;font-size:13px;line-height:1.5;color:#9B968E!important;text-decoration:none;vertical-align:baseline}
.km-stopka-lista a:hover{color:#C8A84A!important}
@media(pointer:coarse){.km-stopka-lista a{padding:12px 0!important}.km-stopka-lista{gap:0 16px}}

/* Stopka: linki wyrównane w wierszach bez samotnego linku (balance), obszar działania w osobnym wierszu */
.km-stopka-lista{display:block!important;text-align:center;text-wrap:balance;max-width:760px!important}
.km-stopka-lista a{margin:0 9px!important}

/* Mikro (runda 6): linki stopki równo 44 px, wyróżnione słowo w tytule nie łamie się */
.km-stopka-lista a{line-height:20px!important}

/* ── Runda kontrolna ── */
/* Menu na laptopach 1041–1439 px: kolumny nie węższe niż ich treść, stały odstęp (linki nie dotykają telefonu) */
@media(min-width:1041px){nav#mainNav{grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr)!important;column-gap:32px}}
/* Otwarte menu na telefonie: nagłówek nad przyciemnieniem */
nav#mainNav{z-index:200}
/* „Zobacz też”: bez samotnego linku, na bardzo wąskim ekranie długie nazwy mogą się łamać */
.km-zobacz{text-wrap:balance}
@media(max-width:360px){.km-zobacz a,.powiazane a{white-space:normal!important}}
/* Lista „Także:” w sekcji miast: wszystkie nazwy 13 px */
.km-miasta>p a{font-size:13px!important}

/* Test na telefonach (1.11.2026): na 320 px przyciski dolnego paska w jednej linii; większa strefa dotyku linków w drobnym tekście */
@media(max-width:340px){.mcta{gap:8px!important;padding-left:12px!important;padding-right:12px!important}.mcta a,.mcta button{font-size:13px!important;padding-left:6px!important;padding-right:6px!important;white-space:nowrap}}
@media(pointer:coarse){.km-drobny a,.cookies-text a{padding:14px 0!important}}
