:root{
  color-scheme: light;
  --paper:#FAFAF7;
  --card:#FFFFFF;
  --ink:#1B1E22;
  --steel:#5C6670;
  --line:#E6E4DD;
  --accent:#E25303;      /* RAL 2004 */
  --accent-soft:#FDEDE2;
  --blue:#004F7C;        /* RAL 5010 */
  --ok:#0F7A4D;
  --r-lg:20px;
  --r-md:14px;
  --r-sm:9px;
  --font-d:"Bricolage Grotesque",sans-serif;
  --font-b:"Instrument Sans",sans-serif;
  --font-m:"IBM Plex Mono",monospace;
  --shadow:0 1px 2px rgba(27,30,34,.05),0 8px 28px rgba(27,30,34,.07);
  --shadow-lg:0 2px 6px rgba(27,30,34,.06),0 22px 60px rgba(27,30,34,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-b);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--accent);color:#fff}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}

.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.mono{font-family:var(--font-m)}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-m);font-size:12.5px;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--accent);
}
/* Kreska przed etykietą sekcji usunięta 2026-08-23 na życzenie.
   Żeby ją przywrócić: content:"";width:22px;height:2px;background:var(--accent) */
h1,h2,h3{font-family:var(--font-d);line-height:1.08;letter-spacing:-.015em}
h2{font-size:clamp(30px,4.2vw,46px);font-weight:700;margin:14px 0 16px}
.sec-lead{color:var(--steel);max-width:640px;font-size:18px}
section{padding:96px 0}

/* ===== reveal ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ===== NAV ===== */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(250,250,247,.82);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s;
}
nav.scrolled{border-color:var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-d);font-weight:800;font-size:21px;letter-spacing:-.02em}
/* Znak marki: cztery slupki, jeden wysuniety - element, ktory klient przestawia.
   Plik: img/logo.svg (sciezka wzgledem tego arkusza, dziala tez w podgladzie). */
.logo-mark{width:28px;height:28px;flex:none;background:url('img/logo.svg') center/contain no-repeat}
.nav-links{display:flex;gap:30px;align-items:center;font-size:15.5px;font-weight:500;color:var(--steel)}
.nav-links a:hover{color:var(--ink)}
.nav-links a.aktywny{color:var(--ink);font-weight:600}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-mobile-only{display:none}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:600;font-size:16px;border-radius:99px;padding:13px 26px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(226,83,3,.28)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(226,83,3,.36)}
.btn-ghost{border:1.5px solid var(--line);background:var(--card);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-sm{padding:10px 20px;font-size:15px}
.hamb{display:none;flex-direction:column;gap:5px;padding:10px}
.hamb span{width:22px;height:2px;background:var(--ink);display:block}

/* ===== HERO ===== */
.hero{padding:76px 0 90px;overflow:hidden}
.hero-top{max-width:660px}
.hero-demo-wrap{margin-top:60px}
.hero h1{font-size:clamp(38px,5.4vw,62px);font-weight:800;margin:18px 0 20px}
.hero h1 em{font-style:normal;color:var(--accent);position:relative;white-space:nowrap}
.hero-sub{font-size:19px;color:var(--steel);max-width:520px;margin-bottom:30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.hero-note{display:flex;gap:22px;flex-wrap:wrap;font-size:14.5px;color:var(--steel)}
.hero-note span{display:inline-flex;align-items:center;gap:7px}
.hero-note svg{width:16px;height:16px;flex:none}

/* configurator card */
.conf-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);padding:22px 22px 24px;position:relative;
}
.conf-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
/* karta z prawdziwym demo w iframe */
.conf-demo{padding:0;overflow:hidden}
.conf-demo .conf-top{margin-bottom:0}
.demo-frame{background:#EDEBE4;border-top:1px solid var(--line);border-bottom:1px dashed var(--line)}
.demo-frame iframe{display:block;width:100%;height:640px;border:0}
@media(max-width:680px){.demo-frame iframe{height:470px}}
.conf-tag{font-family:var(--font-m);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.conf-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-m);font-size:12px;color:var(--ok)}
.conf-live i{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.conf-stage{--ral:#004F7C;position:relative}
.conf-stage svg{width:100%;height:auto}
.ral-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:6px 0 16px}
.ral-label{font-family:var(--font-m);font-size:12.5px;color:var(--steel);min-width:150px}
.ral-label b{color:var(--ink);font-weight:600}
.sw{width:30px;height:30px;border-radius:9px;border:2px solid var(--line);position:relative;transition:transform .15s}
.sw:hover{transform:scale(1.12)}
.sw[aria-pressed="true"]{border-color:var(--ink)}
.sw[aria-pressed="true"]::after{content:"";position:absolute;inset:-6px;border:2px solid var(--ink);border-radius:13px}
.opt-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.opt{
  display:inline-flex;align-items:center;gap:8px;
  border:1.5px solid var(--line);border-radius:99px;padding:8px 15px;
  font-size:14px;font-weight:500;color:var(--steel);background:#fff;
  transition:all .18s;
}
.opt em{font-style:normal;font-family:var(--font-m);font-size:12.5px}
.opt[aria-pressed="true"]{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}
.opt[aria-pressed="true"] .tick{background:var(--accent);border-color:var(--accent)}
.tick{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex:none;transition:all .18s}
.tick svg{width:10px;height:10px;stroke:#fff;stroke-width:3;fill:none;opacity:0}
.opt[aria-pressed="true"] .tick svg{opacity:1}
.conf-price{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  border-top:1px dashed var(--line);padding-top:16px;
}
.conf-price small{display:block;font-size:13px;color:var(--steel)}
.price-val{font-family:var(--font-m);font-weight:600;font-size:27px;letter-spacing:-.01em}
.price-val span{font-size:15px;color:var(--steel);font-weight:400}
.conf-badge{
  position:absolute;top:-14px;right:22px;background:var(--ink);color:#fff;
  font-family:var(--font-m);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;
  border-radius:99px;padding:7px 14px;
}

/* ===== TRUST ===== */
.trust{padding:0 0 8px}
/* Zdanie wprowadzające nad liczbami, nie obok. Przy powiększonych liczbach
   pięć kolumn obok akapitu nie mieści się na 1180 px i ostatnia spada do
   drugiego rzędu — wygląda to jak usterka, nie jak układ. */
.trust-in{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:1fr;gap:24px;padding:34px 0 36px;
}
.trust-l{font-size:14.5px;color:var(--steel);max-width:none}
/* auto-fit, a nie sztywne 5 kolumn: licznik konfiguracji bywa schowany
   (próg „licznik_prog" w dane.php), a wtedy sztywna piąta kolumna zostawiała
   pustą dziurę z prawej i cały pasek wyglądał na przesunięty. */
.trust-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px 24px;align-items:start}
.tlogo{font-family:var(--font-d);font-weight:700;font-size:19px;color:#9AA1A9;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}
.tlogo i{width:9px;height:9px;border-radius:2px;background:currentColor;opacity:.5}

/* Liczba nad podpisem, nie obok. Przy tej wielkości układ w jednej linii
   rozpycha pasek na trzy rzędy, a oko i tak szuka najpierw samej liczby. */
.tstat{display:flex;flex-direction:column;gap:3px;min-width:0}
.tstat b{
  font-family:var(--font-d);font-weight:700;color:var(--ink);
  font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.02em;
  /* cyfry tej samej szerokości — bez tego liczba drga w trakcie doliczania */
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
}
.tstat i{font-family:var(--font-m);font-size:12.5px;font-style:normal;color:var(--steel);line-height:1.4;max-width:none}

/* Licznik na żywo — jedyna liczba w kolorze marki, bo jedyna, która rośnie. */
.tstat.live b{color:var(--accent)}
.tstat.live em{
  font-family:var(--font-m);font-style:normal;font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:6px;margin-top:3px;
}
.tstat.live em span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:tetno 2s ease-in-out infinite}
@keyframes tetno{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
@media (prefers-reduced-motion:reduce){.tstat.live em span{animation:none}}

/* ===== PROBLEM ===== */
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.problem-list{display:grid;gap:0;margin-top:8px}
.p-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.p-item:last-child{border-bottom:none}
.p-x{flex:none;width:34px;height:34px;border-radius:10px;background:#F6EEE8;color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-m);font-weight:600;font-size:15px}
.p-item h3{font-size:18px;font-weight:700;margin-bottom:4px}
.p-item p{color:var(--steel);font-size:15.5px}
.solution-card{
  background:var(--ink);color:#F4F3EF;border-radius:var(--r-lg);padding:38px 36px;
  position:sticky;top:100px;
}
.solution-card .eyebrow{color:#FF9B5E}
.solution-card h3{font-family:var(--font-d);font-size:27px;font-weight:700;margin:12px 0 14px;line-height:1.15}
.solution-card p{color:#B9BDC3;font-size:16px;margin-bottom:22px}
.sol-points{display:grid;gap:12px}
.sol-points li{list-style:none;display:flex;gap:11px;align-items:flex-start;font-size:15.5px}
.sol-points svg{width:19px;height:19px;flex:none;margin-top:2px}

/* ===== PROCESS ===== */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.proc{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);
  padding:26px 22px;position:relative;transition:transform .2s,box-shadow .2s;
}
.proc:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.proc-n{font-family:var(--font-m);font-size:12.5px;color:var(--accent);letter-spacing:.08em;margin-bottom:14px}
.proc h3{font-size:18.5px;font-weight:700;margin-bottom:8px}
.proc p{font-size:15px;color:var(--steel)}
.proc::after{
  content:"→";position:absolute;top:26px;right:-15px;color:var(--accent);
  font-size:18px;z-index:2;font-family:var(--font-m);
}
.proc:last-child::after{display:none}

/* ===== FEATURES ===== */
.feat-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:44px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.feat{padding:32px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.feat:nth-child(3n){border-right:none}
.feat:nth-child(n+4){border-bottom:none}
.feat-ic{
  width:42px;height:42px;border-radius:12px;background:var(--accent-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.feat-ic svg{width:21px;height:21px;stroke:var(--accent);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.feat h3{font-size:17.5px;font-weight:700;margin-bottom:7px}
.feat p{font-size:14.5px;color:var(--steel)}

/* ===== CASES ===== */
.cases-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.case{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;transition:transform .2s,box-shadow .2s;
}
.case:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
/* Tło gradientowe jest WARSTWĄ ZAPASOWĄ: jeśli pliku ze zrzutem nie ma,
   kafelek nadal wygląda poprawnie zamiast pokazywać ikonę zepsutego obrazka.
   Podmiana zdjęcia = wgranie pliku do strona/img/, bez ruszania kodu. */
.case-vis{aspect-ratio:16/9;position:relative;overflow:hidden;background-size:cover;background-position:center}
.case-vis.v1{background-image:url('img/realizacja-1.jpg'),linear-gradient(135deg,#0E3A57,#004F7C)}
.case-vis.v2{background-image:url('img/realizacja-2.jpg'),linear-gradient(135deg,#25302B,#0F4336)}
.case-tag{
  position:absolute;top:16px;left:18px;background:rgba(255,255,255,.14);color:#fff;
  border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:6px 13px;
  font-family:var(--font-m);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;
  backdrop-filter:blur(4px);
}
.case-body{padding:26px 28px 28px}
.case-body h3{font-size:21px;font-weight:700;margin-bottom:9px}
.case-body p{font-size:15.5px;color:var(--steel)}

/* ===== MODELS ===== */
.models{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.models-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.model{
  border:1.5px solid var(--line);border-radius:var(--r-lg);padding:36px 34px;
  background:var(--paper);position:relative;
}
.model.hot{border-color:var(--accent);background:linear-gradient(180deg,#FFF7F1,var(--paper) 60%)}
.model-flag{
  position:absolute;top:-13px;left:32px;background:var(--accent);color:#fff;
  font-family:var(--font-m);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;
  border-radius:99px;padding:6px 13px;
}
.model .eyebrow{margin-bottom:6px}
.model h3{font-size:25px;font-weight:700;margin:8px 0 10px}
.model > p{color:var(--steel);font-size:15.5px;margin-bottom:20px}
.model ul{display:grid;gap:11px;margin-bottom:26px}
.model li{list-style:none;display:flex;gap:10px;font-size:15.5px}
.model li svg{width:18px;height:18px;flex:none;margin-top:3px}
.model-for{font-family:var(--font-m);font-size:13px;color:var(--steel);border-top:1px dashed var(--line);padding-top:14px}
.model-for b{color:var(--ink)}

/* ===== PRICING ===== */
.bill-toggle{display:inline-flex;gap:4px;background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:4px;margin-top:26px}
.bill-toggle button{border:0;background:none;cursor:pointer;font-family:var(--font-m);font-size:13px;padding:9px 20px;border-radius:999px;color:var(--steel);transition:background .2s,color .2s;white-space:nowrap}
.bill-toggle button.on{background:var(--ink);color:#fff}
.bill-toggle .save{color:var(--accent);font-weight:600}
.bill-toggle button.on .save{color:#FFB27A}
.plan-eq{font-family:var(--font-m);font-size:12px;color:var(--accent);min-height:15px;margin-top:5px}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.plan{
  background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);
  padding:26px 22px;display:flex;flex-direction:column;position:relative;
  transition:transform .2s,box-shadow .2s;
}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.plan.hot{border-color:var(--accent);box-shadow:var(--shadow-lg)}
.plan-badge{
  position:absolute;top:-11px;left:22px;background:var(--accent);color:#fff;
  font-family:var(--font-m);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;
  padding:4px 11px;border-radius:999px;
}
.plan-name{font-family:var(--font-d);font-weight:700;font-size:19px}
.plan-desc{font-size:13.5px;color:var(--steel);margin:5px 0 18px;min-height:58px}
.plan-price{font-family:var(--font-m);font-size:30px;font-weight:600;letter-spacing:-.02em}
.plan-price span{font-size:13px;color:var(--steel);font-weight:400}
.plan-setup{font-family:var(--font-m);font-size:12.5px;color:var(--steel);margin-top:8px;line-height:1.5}
.plan-setup b{color:var(--ink);font-weight:600}
.plan-trial{
  display:inline-block;margin-top:11px;font-family:var(--font-m);font-size:11.5px;
  color:#0F7A4D;background:#E8F5EE;border-radius:7px;padding:4px 9px;
}
.plan ul{display:grid;gap:9px;margin:20px 0 24px;flex:1}
.plan li{list-style:none;display:flex;gap:8px;font-size:13.5px;color:#3A3F45}
.plan li svg{width:16px;height:16px;flex:none;margin-top:2px}
.plan li.off{color:#9AA0A6}
.custom-bar{
  margin-top:22px;background:var(--ink);color:#F4F3EF;border-radius:var(--r-lg);
  padding:30px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.custom-bar h3{font-family:var(--font-d);font-size:21px;font-weight:700;margin-bottom:6px}
.custom-bar p{color:#B9BDC3;font-size:15px;max-width:680px}
.custom-bar .sys-price{font-family:var(--font-m);font-size:24px;font-weight:600;color:#fff;margin-top:14px}
.custom-bar .sys-price span{font-size:13px;color:#B9BDC3;font-weight:400}
.mod-head{margin-top:42px;font-family:var(--font-d);font-size:19px;font-weight:700}
.mod-sub{font-size:14.5px;color:var(--steel);margin-top:5px}
.mod-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.mod{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:22px 24px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;
}
.mod b{font-family:var(--font-d);font-size:16px;display:block;margin-bottom:5px}
.mod p{font-size:13.5px;color:var(--steel)}
.mod-price{font-family:var(--font-m);font-size:17px;font-weight:600;flex:none;text-align:right}
.mod-price span{display:block;font-size:11.5px;color:var(--steel);font-weight:400;margin-top:2px}
.price-note{font-size:13.5px;color:var(--steel);margin-top:20px}

/* ===== TESTIMONIALS ===== */
.tst-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}
.tst{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 30px 26px}
.tst-q{font-size:17px;line-height:1.55;margin-bottom:20px}
.tst-q::before{content:"„";font-family:var(--font-d);color:var(--accent);font-size:34px;line-height:0;vertical-align:-10px;margin-right:4px}
.tst-a{display:flex;align-items:center;gap:13px}
.tst-av{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:700}
.tst-a b{display:block;font-size:15px}
.tst-a small{font-size:13.5px;color:var(--steel)}
.ph-note{font-family:var(--font-m);font-size:12px;color:#B5540A;background:#FDF1E7;border:1px dashed #F0C39E;border-radius:8px;padding:4px 10px;display:inline-block;margin-bottom:12px}

/* ===== FAQ ===== */
.faq-list{max-width:780px;margin:40px auto 0}
.faq{border-bottom:1px solid var(--line)}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;
  text-align:left;padding:22px 4px;font-family:var(--font-d);font-weight:600;font-size:18.5px;
}
.faq-q .pl{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;transition:all .25s;font-size:15px;color:var(--steel)}
.faq[open] .faq-q .pl{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(45deg)}
.faq-a{padding:0 40px 24px 4px;color:var(--steel);font-size:15.5px}
details summary{list-style:none}
details summary::-webkit-details-marker{display:none}

/* ===== CTA ===== */
.cta-band{
  background:var(--ink);border-radius:26px;color:#F4F3EF;
  padding:66px 56px;text-align:center;position:relative;overflow:hidden;
}
.cta-band::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(600px 260px at 15% 0%,rgba(226,83,3,.25),transparent 60%),
    radial-gradient(500px 240px at 90% 100%,rgba(0,79,124,.35),transparent 60%);
  pointer-events:none;
}
.cta-band h2{font-size:clamp(30px,4vw,44px);position:relative}
.cta-band p{color:#B9BDC3;max-width:560px;margin:14px auto 30px;position:relative}
.cta-band .btn{position:relative}
.cta-mini{margin-top:18px;font-family:var(--font-m);font-size:13px;color:#8E949B;position:relative}

/* ===== FOOTER ===== */
footer{padding:56px 0 40px;border-top:1px solid var(--line);margin-top:96px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px}
.foot-grid p{color:var(--steel);font-size:14.5px;margin-top:12px;max-width:280px}
.foot-grid h4{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--steel);margin-bottom:14px}
.foot-grid a{display:block;font-size:15px;padding:5px 0;color:#3A3F45}
.foot-grid a:hover{color:var(--accent)}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;font-size:13.5px;color:var(--steel)}
.foot-legal a{color:var(--steel);text-decoration:underline;text-underline-offset:3px}
.foot-legal a:hover{color:var(--ink)}
.foot-social{display:flex;gap:10px;margin-top:16px}
.foot-social a{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--steel2);transition:all .18s}
.foot-social a:hover{border-color:var(--ink);color:var(--ink)}
.foot-social svg{width:18px;height:18px}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .price-grid{grid-template-columns:1fr 1fr}
  .mod-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr}
  .proc::after{display:none}
  .feat-grid{grid-template-columns:1fr 1fr}
  .feat:nth-child(3n){border-right:1px solid var(--line)}
  .feat:nth-child(2n){border-right:none}
  .feat:nth-child(n+4){border-bottom:1px solid var(--line)}
  .feat:nth-child(n+5){border-bottom:none}
  .problem-grid{grid-template-columns:1fr}
  .solution-card{position:static}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .nav-links{
    position:fixed;inset:72px 0 auto 0;background:var(--paper);
    flex-direction:column;align-items:flex-start;gap:4px;padding:18px 28px 26px;
    border-bottom:1px solid var(--line);display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:10px 0;font-size:17px}
  .hamb{display:flex}
  .nav-cta,.nav-login{display:none}
  .nav-mobile-only{display:block;color:var(--accent);font-weight:600}
}
@media(max-width:680px){
  section{padding:68px 0}
  .wrap{padding:0 20px}
  .cases-grid,.models-grid,.price-grid,.tst-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr}
  .feat{border-right:none!important;border-bottom:1px solid var(--line)!important}
  .feat:last-child{border-bottom:none!important}
  .trust-in{grid-template-columns:1fr;gap:18px}
  /* Na telefonie siatka 2×2 zamiast rzędu — pięć kolumn zwężonych do szerokości
     ekranu daje pięć jednoliterowych słupków. */
  .trust-logos{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;justify-content:flex-start}
  .tstat{min-width:0}
  .tstat i{max-width:none}
  .cta-band{padding:52px 26px}
  .conf-card{padding:18px 16px 20px}
  .hero{padding:52px 0 64px}
}
@media(max-width:400px){
  body{font-size:16px}
  .hero-ctas .btn{width:100%}
  .foot-grid{grid-template-columns:1fr}
}

/* ===== PODSTRONY (dodane 2026-08-23) ===== */
.strona-hero{padding:60px 0 0}
.strona-hero h1{font-size:clamp(31px,4.6vw,50px);font-family:var(--font-d);font-weight:700;line-height:1.06;letter-spacing:-.015em;margin:14px 0 16px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:18px;margin-top:36px}
.col-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:25px 24px}
.col-card h3{font-family:var(--font-d);font-size:18px;font-weight:700;margin-bottom:8px}
.col-card p{font-size:14.8px;color:var(--steel);line-height:1.55}
.col-card .num{font-family:var(--font-m);font-size:12px;color:var(--accent);letter-spacing:.1em;display:block;margin-bottom:9px}
.lista{display:grid;gap:11px;margin-top:22px;max-width:780px}
.lista li{list-style:none;display:flex;gap:11px;font-size:15.5px;line-height:1.5}
.lista li::before{content:"✓";color:#0F7A4D;font-weight:700;flex:none}
.lista.minus li::before{content:"–";color:var(--steel)}
.blok-info{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-lg);padding:24px 26px;margin-top:32px;max-width:820px}
.blok-info h3{font-family:var(--font-d);font-size:18px;margin-bottom:8px}
.blok-info p{font-size:15px;color:var(--steel);line-height:1.6}
.form-siatka{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;max-width:720px}
.pole{display:flex;flex-direction:column;gap:6px}
.pole.szeroki{grid-column:1/-1}
.pole label{font-size:13.5px;color:var(--steel);font-weight:500}
.pole input,.pole select,.pole textarea{font-family:inherit;font-size:15.5px;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}
.pole input:focus,.pole select:focus,.pole textarea:focus{outline:none;border-color:var(--accent)}
.pole textarea{min-height:120px;resize:vertical}
.zgoda{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--steel);line-height:1.5}
.zgoda input{margin-top:3px;flex:none}
.komunikat{border-radius:10px;padding:14px 18px;margin-top:24px;font-size:15px;max-width:720px}
.komunikat.ok{background:#E8F5EE;border:1px solid #A9D9BF;color:#0F5A38}
.komunikat.blad{background:#FDECEC;border:1px solid #F0B4B4;color:#9B2222}
.dok h2{font-size:23px;margin:34px 0 12px}
.dok h3{font-size:18px;margin:24px 0 8px}
.dok p,.dok li{font-size:15.5px;color:#3A3F45;line-height:1.65;max-width:820px}
.dok ul,.dok ol{margin:10px 0 10px 22px}
.dok li{margin-bottom:6px}
.do-uzupelnienia{font-family:var(--font-m);font-size:12.5px;color:#B5540A;background:#FDF1E7;border:1px dashed #F0C39E;border-radius:8px;padding:12px 16px;margin:18px 0;max-width:820px}
@media(max-width:680px){.form-siatka{grid-template-columns:1fr}}
