:root{
  --primary:#0066FF; --primary-hover:#0052CC; --on-primary:#FFFFFF;
  --accent:#F97316;
  /* Wersja akcentu do TEKSTU. #F97316 na bieli daje 2,8:1 - ponizej AA
     nawet dla duzego tekstu. Ta ma 5,1:1. Wypelnienia i obramowania
     dalej biora --accent. */
  --accent-ink:#C2410C;
  --canvas:#F9FAFB; --surface:#FFFFFF; --surface-2:#F3F4F6;
  --ink:#111827; --body:#374151; --muted:#6B7280; --hairline:#E5E7EB;
  --radius:6px; --radius-karta:8px;
  --cien:0 2px 4px rgba(17,24,39,.06);
  --ruch:150ms ease-out;
  --font-display:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--canvas);color:var(--body);
  font:400 16px/1.6 var(--font-body);
  overflow-x:hidden;
}
h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0}
h1{font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.15}
h2{font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.2}
h3{font-size:20px;font-weight:600;line-height:1.3}
p{margin:0}
a{color:var(--primary)}
a:hover{color:var(--primary-hover)}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}

.kontener{max-width:1200px;margin:0 auto;padding:0 16px}
.kontener--waski{max-width:720px}
.sekcja{padding:48px 0}
.sekcja--tlo{background:var(--surface-2)}
@media(min-width:768px){.sekcja{padding:64px 0}}

/* --- naglowek ------------------------------------------------ */
.menu{
  background:var(--surface);border-bottom:1px solid var(--hairline);
  position:sticky;top:0;z-index:10;
}
.menu .kontener{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:64px}
.menu nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.menu__marka{
  display:flex;align-items:center;gap:8px;margin-right:auto;
  font-family:var(--font-display);font-weight:700;font-size:18px;
  color:var(--ink);text-decoration:none;
}
/* Podkowa: luk dziedziczy kolor tekstu, bieguny maja wlasny.
   flex:0 0 auto - bez tego logo sciska sie przy zawijaniu menu na 375 px. */
.logo{flex:0 0 auto;color:var(--ink)}
.menu__marka:hover .logo{color:var(--primary)}
.menu__pozycja{color:var(--body);text-decoration:none;font-size:14px;padding:8px 0;transition:color var(--ruch)}
.menu__pozycja:hover,.menu__pozycja:focus-visible{color:var(--primary)}
.pomin{position:absolute;left:-9999px}
.pomin:focus{left:16px;top:8px;z-index:20;background:var(--surface);padding:8px 16px;border-radius:var(--radius)}

/* --- hero ---------------------------------------------------- */
/* Gradient hero: pionowo biel -> canvas, plus miekka plama primary
   w prawym gornym rogu. Obie warstwy to tlo, nie tekst - kontrast
   naglowka liczy sie wzgledem najjasniejszego punktu, czyli bieli. */
.hero{
  background:
    radial-gradient(80% 120% at 100% 0%, rgba(0,102,255,.10) 0%, rgba(0,102,255,0) 60%),
    linear-gradient(180deg, #FFFFFF 0%, var(--canvas) 100%);
  padding:48px 0;border-bottom:1px solid var(--hairline);position:relative;
}
/* Kreska akcentu pod hero - 2 px, jedyne miejsce z pomaranczem na duzej
   szerokosci. Dekoracja, wiec aria jej nie dotyczy. */
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg, var(--primary) 0%, var(--accent) 55%, rgba(249,115,22,0) 100%);
}
@media(min-width:768px){.hero{padding:64px 0}}
.hero__lid{font-size:18px;color:var(--body);max-width:60ch;margin-top:16px}
.hero .przycisk{margin-top:32px}
.hero__meta{margin-top:24px;font-size:12px;color:var(--muted)}

/* --- przyciski ----------------------------------------------- */
.przycisk{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 24px;border-radius:var(--radius);
  font:600 16px/1 var(--font-body);text-decoration:none;
  border:1px solid transparent;cursor:pointer;
  transition:background var(--ruch),color var(--ruch),border-color var(--ruch);
}
/* Gradient przycisku idzie miedzy --primary a --primary-hover. Oba maja
   z biala trescia co najmniej 4,83:1, wiec kontrast trzyma sie na calej
   powierzchni, nie tylko w jednym punkcie. */
.przycisk--glowny{
  background:linear-gradient(180deg, var(--primary) 0%, var(--primary-hover) 100%);
  color:var(--on-primary);box-shadow:0 1px 2px rgba(0,82,204,.24);
}
.przycisk--glowny:hover,.przycisk--glowny:focus-visible{
  background:linear-gradient(180deg, var(--primary-hover) 0%, #0043A6 100%);
  color:var(--on-primary);
}
.przycisk--obrys{border-color:var(--primary);color:var(--primary);background:transparent}
.przycisk--obrys:hover,.przycisk--obrys:focus-visible{background:var(--surface-2)}

/* --- karty --------------------------------------------------- */
.karty{display:grid;grid-template-columns:1fr;gap:16px;margin-top:32px}
@media(min-width:640px){.karty{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.karty{grid-template-columns:repeat(3,1fr)}}
.karta{
  background:var(--surface);border:1px solid var(--hairline);
  border-radius:var(--radius-karta);padding:16px;box-shadow:var(--cien);
  transition:transform var(--ruch);
}
.karta{background-image:linear-gradient(180deg, #FFFFFF 0%, #FCFDFE 100%)}
.karta:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(17,24,39,.08)}
.karta svg{color:var(--primary);margin-bottom:8px;display:block}
.karta__tytul{margin-bottom:8px}
.karta__opis{font-size:16px;color:var(--body)}

/* --- tabela -------------------------------------------------- */
.tabela-dane__owijka{overflow-x:auto;margin-top:32px;border:1px solid var(--hairline);border-radius:var(--radius-karta);background:var(--surface)}
.tabela-dane{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}
.tabela-dane caption{text-align:left;padding:16px;font-size:12px;color:var(--muted)}
.tabela-dane th,.tabela-dane td{padding:8px 16px;border-bottom:1px solid var(--hairline);text-align:left}
.tabela-dane thead th{background:linear-gradient(180deg,#F7F8FA 0%,var(--surface-2) 100%);color:var(--ink);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.tabela-dane td+td,.tabela-dane th+th{text-align:right;font-variant-numeric:tabular-nums}
.tabela-dane tbody tr:hover{background:var(--surface-2)}
.tabela-dane tbody tr:last-child td{border-bottom:0}

.znacznik{display:inline-block;padding:0 8px;border-radius:999px;font-size:12px;line-height:24px;font-weight:600}
.znacznik--mocny{background:var(--accent);color:#FFFFFF}
.znacznik--info{background:var(--surface-2);color:var(--muted)}

.notka{
  margin-top:24px;padding:16px;background:var(--surface);
  border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;
  font-size:14px;
}

/* --- atuty --------------------------------------------------- */
.atuty{display:grid;grid-template-columns:1fr;gap:24px;margin-top:32px}
@media(min-width:768px){.atuty{grid-template-columns:repeat(3,1fr)}}
.atut__liczba{font:700 32px/1.1 var(--font-display);color:var(--accent-ink);display:block;margin-bottom:8px}
.atut h3{margin-bottom:8px}

/* --- FAQ ----------------------------------------------------- */
/* --- klasy zdjete z atrybutow style= 31.08.2026 ------------- */
.sekcja__lid{margin-top:16px;max-width:60ch}
.podtytul{margin-top:32px}
.ksztalty{margin-top:8px}
.cta-pas{margin-top:32px}
.stopka__marka{color:var(--ink)}
/* Ikona w etykiecie kontaktu. aria-hidden, bo obok stoi podpis. */
.ikona{vertical-align:-4px;margin-right:8px;color:var(--muted)}

.faq{margin-top:32px;border:1px solid var(--hairline);border-radius:var(--radius-karta);background:var(--surface);overflow:hidden}
.faq__pozycja{border-bottom:1px solid var(--hairline)}
.faq__pozycja:last-child{border-bottom:0}
.faq__pozycja summary{
  padding:16px;cursor:pointer;font-family:var(--font-display);font-weight:600;
  color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px;
  min-height:44px;align-items:center;transition:background var(--ruch);
}
.faq__pozycja summary::-webkit-details-marker{display:none}
.faq__pozycja summary::after{content:"+";color:var(--primary);font-size:24px;line-height:1;flex:0 0 auto}
.faq__pozycja[open] summary::after{content:"–"}
.faq__pozycja summary:hover{background:var(--surface-2)}
.faq__pozycja p{padding:0 16px 16px;font-size:16px}

/* --- kontakt ------------------------------------------------- */
.kontakt{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-karta);padding:24px;margin-top:32px;box-shadow:var(--cien)}
.kontakt__pozycja{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 0;border-bottom:1px solid var(--hairline)}
.kontakt__pozycja:last-of-type{border-bottom:0}
.kontakt__pozycja dt{font-size:12px;color:var(--muted);flex:0 0 100%;display:flex;align-items:center}
@media(min-width:480px){.kontakt__pozycja dt{flex:0 0 140px}}
/* Adres e-mail to 31 znakow bez spacji. Na 375 px kolumna dd ma ok. 139 px,
   wiec bez tego przelamania wychodzi poza karte i rodzi poziomy scroll. */
.kontakt__pozycja dd{margin:0;font-weight:600;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.brak-danych{color:var(--muted);font-style:italic;font-weight:400}

/* --- stopka -------------------------------------------------- */
.stopka{background:linear-gradient(180deg,var(--surface-2) 0%,#EDEFF2 100%);border-top:1px solid var(--hairline);padding:32px 0;font-size:12px;color:var(--muted)}
.stopka p{margin-bottom:8px}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
