/* ────────────────────────────────────────────────────────────────────────────
   FORPOSTA S.A. — arkusz serwisu.

   Język wizualny przeniesiony z projektu Claude Design: ciemne tło, akcent
   pomarańczowy, technicznie wąskie wersaliki, cienkie obwódki i narożniki
   kadru. Runtime projektu (support.js, styl w atrybutach) NIE jest przenoszony —
   strona jest statyczna, bez frameworka i bez jednego żądania na obcy host.

   ── Dlaczego dwa motywy, a nie jeden ─────────────────────────────────────────
   Ciemny jest domyślny, bo taki jest projekt. Jasny istnieje, bo o niego
   poproszono („jasny/ciemny kontrast") i bo część odbiorców strony spółki
   giełdowej czyta ją w druku i w jasnych czytnikach. Kolory jasnego motywu NIE
   są odwróceniem ciemnego: #FF6A3D na bieli daje 3,0:1, czyli poniżej progu dla
   tekstu, więc akcent tekstowy jest tam przyciemniony do #B23A12 (5,0:1).
   Dekoracyjne użycia akcentu (obwódki, kreski) zostają jasne — dla nich próg
   wynosi 3:1.

   ── Kolejność motywów ────────────────────────────────────────────────────────
   :root = ciemny (domyślny) · @media (prefers-color-scheme: light) = jasny dla
   tych, którzy tak mają w systemie · [data-motyw] = ręczny wybór, który MUSI
   wygrać w obie strony (stąd powtórzenie obu zestawów na atrybucie).
   ──────────────────────────────────────────────────────────────────────────── */

:root {
  --tlo:        #0A0C0F;
  --tlo2:       #0F1318;
  --tlo3:       #141A21;
  --linia:      #1E2530;
  --linia-mocna:#2A333F;
  --txt:        #EAEDF1;
  --txt2:       #9AA6B4;
  --txt3:       #7B8798;   /* było #6B7787 = 4,1:1 na --tlo2, poniżej progu */
  --akc:        #FF6A3D;   /* akcent — także tekstowo, na ciemnym daje 6,88:1 */
  --akc-dek:    #FF6A3D;   /* akcent dekoracyjny (obwódki, kreski) */
  --akc-mig:    #FF8A63;
  --akc2:       #33D6B8;   /* druga sygnatura: EBI, dane techniczne */
  --btn-tlo:    #FF6A3D;
  --btn-txt:    #0A0C0F;   /* NIE biel: biel na #FF6A3D to 2,85:1 (patrz niżej) */

  /* ── Baner zgód z zasobów wspólnych floty ──────────────────────────────────
     `_wspolne/zgody.js` nie ma własnego arkusza — buduje styl w JS i czyta
     SZEŚĆ zmiennych z fallbackami (domyślnie niebieski #0b5fd7 i biała
     powierzchnia). Bez tych czterech linijek baner na stronie spółki wyglądał
     jak wklejony z innego serwisu: niebieskie przyciski na białym pasku pod
     ciemną, pomarańczową stroną. Podpinamy go pod tokeny motywu, zamiast
     modyfikować wspólny plik — ten sam moduł obsługuje pozostałe mikrostrony. */
  --powierzchnia: var(--tlo2);
  --tekst:        var(--txt);
  --przygas:      var(--txt2);
  --kreska:       var(--linia-mocna);
  --akcent:       var(--btn-tlo);
  --na-akcencie:  var(--btn-txt);
  --cien:       0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.28);
  --pas:        1180px;
  --r:          2px;       /* projekt jest kanciasty — prawie zero zaokrągleń */
}

@media (prefers-color-scheme: light) {
  :root {
    --tlo:#FFFFFF; --tlo2:#F4F6F9; --tlo3:#EAEEF3;
    --linia:#DCE2EA; --linia-mocna:#C3CCD8;
    --txt:#0A0C0F; --txt2:#4A5563; --txt3:#5A6675;
    --akc:#B23A12; --akc-dek:#E0521F; --akc-mig:#8F2D0C;
    --akc2:#0E7C68;
    --btn-tlo:#C4441A; --btn-txt:#FFFFFF;
    --cien:0 1px 2px rgba(10,12,15,.06), 0 8px 24px rgba(10,12,15,.08);
  }
}

:root[data-motyw="ciemny"] {
  --tlo:#0A0C0F; --tlo2:#0F1318; --tlo3:#141A21;
  --linia:#1E2530; --linia-mocna:#2A333F;
  --txt:#EAEDF1; --txt2:#9AA6B4; --txt3:#7B8798;
  --akc:#FF6A3D; --akc-dek:#FF6A3D; --akc-mig:#FF8A63; --akc2:#33D6B8;
  --btn-tlo:#FF6A3D; --btn-txt:#0A0C0F;
  --cien:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.28);
}
:root[data-motyw="jasny"] {
  --tlo:#FFFFFF; --tlo2:#F4F6F9; --tlo3:#EAEEF3;
  --linia:#DCE2EA; --linia-mocna:#C3CCD8;
  --txt:#0A0C0F; --txt2:#4A5563; --txt3:#5A6675;
  --akc:#B23A12; --akc-dek:#E0521F; --akc-mig:#8F2D0C; --akc2:#0E7C68;
  --btn-tlo:#C4441A; --btn-txt:#FFFFFF;
  --cien:0 1px 2px rgba(10,12,15,.06), 0 8px 24px rgba(10,12,15,.08);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  background:var(--tlo); color:var(--txt);
  font-family:'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
/* ── Dlaczego NIE MA tu `overflow-x:hidden` ──────────────────────────────────
   Było, jako zabezpieczenie „na wszelki wypadek". Na iOS `overflow-x` na <body>
   czyni z niego kontener przewijania, a WebKit liczy wtedy wysokość dokumentu
   inaczej niż zawartość — pod stopką pojawia się pusty ekran i strona przewija
   się „bez końca". Zgłoszone z iPhone'a; w Chromium tego nie widać (nadwyżka pod
   stopką = 0 px na wszystkich trzech stronach), więc bez urządzenia z WebKitem
   nie da się tego odtworzyć pomiarem — usuwam PRZYCZYNĘ, nie objaw.
   Zabezpieczenie jest zbędne: pomiar trzech stron × trzech szerokości
   (1440/820/390) wykazał ZERO przewijania w poziomie, czyli nie ma czego ukrywać.
   Gdyby kiedyś coś wystawało, właściwym miejscem jest `overflow-x:clip` na tym
   konkretnym elemencie — `clip` nie tworzy kontenera przewijania.              */
img, svg { max-width:100%; height:auto; display:block; }
a { color:var(--akc); text-decoration:none; }
a:hover { color:var(--akc-mig); }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline:2px solid var(--akc-dek); outline-offset:3px;
}
::selection { background:var(--btn-tlo); color:var(--btn-txt); }

/* ── Odnośnik wewnątrz tekstu MUSI być podkreślony ───────────────────────────
   Sam kolor nie wystarcza: akcent kontra kolor akapitu daje 1,27:1, a wymagane
   jest 3:1, żeby dało się je rozróżnić bez rozpoznawania barwy. Podkreślenie
   zdejmuje ten warunek w całości i działa też przy monochromatycznym druku.
   Dotyczy TYLKO odnośników w treści — nawigacja, zakładki i przyciski są
   rozpoznawalne po ułożeniu i tle, więc zostają bez podkreśleń.               */
p a, li a, td a, th a, caption a, .lead a, .uwaga a, .zastrzezenie a, .pusto a, dd a {
  text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px;
}
.menu a, .zakladki a, .stopka ul a, .przycisk, .znak, .odnosniki-zew a, .lista-tech a {
  text-decoration:none;
}
/* W stopce i na listach odnośników rolę „to jest odnośnik" pełni układ listy,
   ale przy najechaniu i tak pokazujemy podkreślenie — potwierdzenie klikalności. */
.stopka ul a:hover, .odnosniki-zew a:hover, .lista-tech a:hover { text-decoration:underline; }

/* ── Przeskok do treści — pierwszy element w tabulacji ───────────────────────
   Ukrywany przez `clip`, a NIE przez `left:-9999px`. Element odsunięty dziewięć
   tysięcy pikseli w lewo nadal istnieje w układzie i na iOS bywa drugą przyczyną
   fałszywego rozmiaru dokumentu (obok `overflow-x` na <body>). Wariant z `clip`
   ma zerowy rozmiar, więc nie ma czego doliczyć, a czytnik ekranu i tabulacja
   nadal go widzą — w przeciwieństwie do `display:none`.                        */
.przeskok {
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
  background:var(--tlo2); color:var(--txt); border:1px solid var(--akc-dek);
}
.przeskok:focus {
  position:fixed; left:12px; top:12px; z-index:400;
  width:auto; height:auto; overflow:visible;
  clip:auto; clip-path:none; padding:12px 18px;
}

.pas { width:100%; max-width:var(--pas); margin:0 auto; padding:0 24px; }

/* ── Typografia ────────────────────────────────────────────────────────────── */
h1, h2, h3, h4 { font-weight:700; line-height:1.15; letter-spacing:-.02em; }
h1 { font-size:clamp(2rem, 5.2vw, 3.65rem); }
h2 { font-size:clamp(1.6rem, 3.4vw, 2.5rem); }
h3 { font-size:clamp(1.12rem, 1.9vw, 1.35rem); letter-spacing:-.01em; }
p  { color:var(--txt2); }
.lead { font-size:clamp(1.02rem, 1.5vw, 1.2rem); color:var(--txt2); max-width:62ch; }

.kicker {
  display:inline-block; font-size:.72rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--akc);
  margin-bottom:14px;
}
.mono { font-family:ui-monospace, 'SFMono-Regular', 'JetBrains Mono', Menlo, Consolas, monospace; }

/* ── Nagłówek strony ──────────────────────────────────────────────────────── */
.gora {
  position:sticky; top:0; z-index:200; height:64px;
  display:flex; align-items:center;
  background:color-mix(in srgb, var(--tlo) 88%, transparent);
  border-bottom:1px solid var(--linia);
}
@supports not (background:color-mix(in srgb, red 50%, blue)) {
  .gora { background:var(--tlo); }
}
@supports (backdrop-filter:blur(8px)) { .gora { backdrop-filter:blur(10px); } }
.gora .pas { display:flex; align-items:center; gap:18px; }

.znak { display:flex; align-items:center; gap:11px; color:var(--txt); font-weight:700; letter-spacing:.06em; }
.znak:hover { color:var(--txt); }
.znak-kadr {
  position:relative; width:28px; height:28px; flex:0 0 28px;
  border:1.5px solid var(--akc-dek);
}
.znak-kadr i { position:absolute; inset:0; margin:auto; width:8px; height:8px; background:var(--akc-dek); }
.znak-txt { font-size:1rem; }
.znak-txt b { font-weight:800; }
.znak-txt span { color:var(--txt3); font-weight:600; }

.menu { display:flex; gap:26px; margin-left:auto; }
.menu a { color:var(--txt2); font-size:.92rem; font-weight:500; }
.menu a:hover, .menu a[aria-current="page"] { color:var(--txt); }

.narzedzia { display:flex; align-items:center; gap:10px; }
.motyw {
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; background:transparent;
  border:1px solid var(--linia-mocna); color:var(--txt2); cursor:pointer;
}
.motyw:hover { color:var(--txt); border-color:var(--akc-dek); }

.hamburger { display:none; }

.przycisk {
  display:inline-flex; align-items:center; gap:9px;
  padding:12px 20px; font-size:.92rem; font-weight:600;
  background:var(--btn-tlo); color:var(--btn-txt); border:1px solid var(--btn-tlo);
  border-radius:var(--r); cursor:pointer;
}
.przycisk:hover { background:var(--akc-mig); border-color:var(--akc-mig); color:var(--btn-txt); }
.przycisk.obrys { background:transparent; color:var(--txt); border-color:var(--linia-mocna); }
.przycisk.obrys:hover { border-color:var(--akc-dek); color:var(--txt); background:transparent; }
.przycisk.maly { padding:9px 15px; font-size:.85rem; }

/* ── Sekcje ───────────────────────────────────────────────────────────────── */
.sek { padding:clamp(56px, 8vw, 104px) 0; border-top:1px solid var(--linia); }
.sek:first-of-type { border-top:0; }
.sek-tlo { background:var(--tlo2); }
.naglowek-sek { max-width:70ch; margin-bottom:clamp(28px, 4vw, 48px); }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.hero { position:relative; padding:clamp(64px, 10vw, 128px) 0 clamp(56px, 8vw, 104px); overflow:hidden; }
.hero-siatka { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(32px, 5vw, 64px); align-items:center; }
.hero h1 { margin:6px 0 20px; }
.hero .akcje { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }

/* Techniczne tło: siatka współrzędnych + przesuwająca się linia skanu.
   Bez zdjęć — spółka jest na etapie budowy zaplecza R&D, więc fotografie
   „naszych dronów" byłyby wprowadzeniem w błąd, a nie ilustracją. */
.hero-tlo {
  position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:
    linear-gradient(var(--linia) 1px, transparent 1px),
    linear-gradient(90deg, var(--linia) 1px, transparent 1px);
  background-size:44px 44px;
  opacity:.5;
  mask-image:radial-gradient(120% 90% at 70% 25%, #000 25%, transparent 75%);
  -webkit-mask-image:radial-gradient(120% 90% at 70% 25%, #000 25%, transparent 75%);
}
.kadr {
  position:relative; aspect-ratio:4/3; background:var(--tlo3);
  border:1px solid var(--linia-mocna); overflow:hidden;
}
@supports not (aspect-ratio:1) { .kadr { height:320px; } }
.kadr-narozniki i {
  position:absolute; width:14px; height:14px; border:2px solid var(--akc-dek);
}
.kadr-narozniki i:nth-child(1) { top:10px; left:10px; border-right:0; border-bottom:0; }
.kadr-narozniki i:nth-child(2) { top:10px; right:10px; border-left:0; border-bottom:0; }
.kadr-narozniki i:nth-child(3) { bottom:10px; left:10px; border-right:0; border-top:0; }
.kadr-narozniki i:nth-child(4) { bottom:10px; right:10px; border-left:0; border-top:0; }
.kadr-skan {
  position:absolute; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--akc-dek), transparent);
  animation:skan 5.5s linear infinite; opacity:.65;
}
@keyframes skan { 0% { transform:translateY(0); } 100% { transform:translateY(100%); } }
.kadr-opis {
  position:absolute; left:14px; bottom:14px;
  font-size:.68rem; letter-spacing:.14em; color:var(--txt2);
}
.kadr-krzyz { position:absolute; inset:0; margin:auto; width:46px; height:46px; opacity:.5; }
.kadr-krzyz::before, .kadr-krzyz::after {
  content:''; position:absolute; background:var(--linia-mocna);
}
.kadr-krzyz::before { left:50%; top:0; bottom:0; width:1px; }
.kadr-krzyz::after  { top:50%; left:0; right:0; height:1px; }

@media (prefers-reduced-motion:reduce) {
  .kadr-skan { animation:none; opacity:.3; }
  html { scroll-behavior:auto; }
}

/* ── Pasek faktów rynkowych ───────────────────────────────────────────────── */
.fakty { display:grid; grid-template-columns:repeat(4, 1fr); gap:1px; background:var(--linia); border:1px solid var(--linia); }
.fakt { background:var(--tlo); padding:18px 20px; }
.fakt dt { font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--txt3); }
.fakt dd { font-size:1.18rem; font-weight:700; margin-top:5px; }

/* ── Karty ────────────────────────────────────────────────────────────────── */
.karty { display:grid; gap:20px; }
.karty.k2 { grid-template-columns:repeat(2, 1fr); }
.karty.k3 { grid-template-columns:repeat(3, 1fr); }
.karta {
  background:var(--tlo); border:1px solid var(--linia); padding:26px 24px;
  border-radius:var(--r); position:relative;
}
.sek-tlo .karta { background:var(--tlo); }
.karta h3 { margin-bottom:10px; }
.karta p { font-size:.96rem; }
.karta-znacznik {
  display:inline-block; font-size:.66rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--akc); border:1px solid var(--akc-dek);
  padding:3px 8px; margin-bottom:14px;
}
.karta-znacznik.druga { color:var(--akc2); border-color:var(--akc2); }
.lista-tech { list-style:none; margin-top:14px; display:grid; gap:9px; }
.lista-tech li { position:relative; padding-left:20px; color:var(--txt2); font-size:.95rem; }
.lista-tech li::before {
  content:''; position:absolute; left:0; top:.62em; width:7px; height:7px;
  background:var(--akc-dek);
}

.uwaga {
  margin-top:26px; padding:16px 18px; border-left:3px solid var(--akc-dek);
  background:var(--tlo3); font-size:.9rem; color:var(--txt2);
}

/* ── Stopka ───────────────────────────────────────────────────────────────── */
.stopka { border-top:1px solid var(--linia); padding:52px 0 30px; background:var(--tlo2); }
.stopka-siatka { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; }
.stopka h4 { font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--txt3); margin-bottom:14px; font-weight:700; }
.stopka ul { list-style:none; display:grid; gap:9px; }
.stopka a { color:var(--txt2); font-size:.92rem; }
.stopka a:hover { color:var(--akc); }
.stopka-dol {
  margin-top:38px; padding-top:22px; border-top:1px solid var(--linia);
  display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between;
  font-size:.82rem; color:var(--txt3);
}
.zastrzezenie { max-width:78ch; font-size:.82rem; color:var(--txt3); margin-top:14px; }

/* ── Tabele danych (relacje inwestorskie) ─────────────────────────────────── */
.tabela-oplot { overflow-x:auto; border:1px solid var(--linia); }
table.dane { width:100%; border-collapse:collapse; font-size:.94rem; min-width:520px; }
table.dane caption { text-align:left; padding:14px 16px; font-weight:700; background:var(--tlo3); }
table.dane th, table.dane td { padding:12px 16px; text-align:left; border-bottom:1px solid var(--linia); }
table.dane thead th {
  font-size:.68rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--txt3); background:var(--tlo2); font-weight:700;
}
table.dane tbody tr:last-child td, table.dane tbody tr:last-child th { border-bottom:0; }
table.dane th[scope="row"] { color:var(--txt2); font-weight:500; width:38%; }
table.dane td.liczba, table.dane th.liczba { text-align:right; font-variant-numeric:tabular-nums; }
table.dane tr.suma td, table.dane tr.suma th { font-weight:700; background:var(--tlo2); color:var(--txt); }

/* ── Zakładki relacji inwestorskich ──────────────────────────────────────────
   Zakładki są odnośnikami do sekcji, a nie przełącznikiem JS. Powód jest
   dwojaki: bez JavaScriptu treść nadal jest w całości dostępna (obowiązek
   informacyjny nie może zależeć od skryptu), a każda sekcja ma własny adres
   z hashem, który da się podać w raporcie bieżącym.                            */
.zakladki-oplot { border-bottom:1px solid var(--linia); background:var(--tlo); position:sticky; top:64px; z-index:150; }
.zakladki { display:flex; gap:4px; overflow-x:auto; scrollbar-width:thin; }
.zakladki a {
  flex:0 0 auto; padding:14px 16px; font-size:.9rem; font-weight:600;
  color:var(--txt2); border-bottom:2px solid transparent; white-space:nowrap;
}
.zakladki a:hover { color:var(--txt); }
.zakladki a.wybrana { color:var(--akc); border-bottom-color:var(--akc-dek); }

.sek-ir { padding:clamp(40px, 6vw, 72px) 0; border-top:1px solid var(--linia); scroll-margin-top:120px; }
.sek-ir > .pas > h2 { margin-bottom:8px; }
.sek-ir .lead { margin-bottom:26px; }

.pusto {
  border:1px dashed var(--linia-mocna); padding:22px;
  color:var(--txt2); font-size:.94rem; background:var(--tlo2);
}
.pusto strong { color:var(--txt); }

.odnosniki-zew { list-style:none; display:grid; gap:10px; margin-top:8px; }
.odnosniki-zew li { border:1px solid var(--linia); padding:14px 16px; background:var(--tlo); }
.odnosniki-zew a { font-weight:600; }
.odnosniki-zew span { display:block; color:var(--txt3); font-size:.85rem; margin-top:3px; }

/* ────────────────────────────────────────────────────────────────────────────
   RWD — trzy przystanki, bo o trzy poproszono: telefon, tablet, biurko.
   Tablet nie jest „węższym biurkiem": w pionie ma 768 px szerokości, więc
   siatki 3- i 4-kolumnowe schodzą do dwóch, a hero przestaje być dwiema
   kolumnami dopiero poniżej 900 px — wcześniej kadr robi się nieczytelnie mały.
   ──────────────────────────────────────────────────────────────────────────── */

/* TABLET — do 1024 px */
@media (max-width:1024px) {
  body { font-size:16.5px; }
  .karty.k3 { grid-template-columns:repeat(2, 1fr); }
  .fakty { grid-template-columns:repeat(2, 1fr); }
  .stopka-siatka { grid-template-columns:1fr 1fr; gap:28px; }
  .menu { gap:18px; }
  .menu a { font-size:.88rem; }
}

/* ── TABLET w pionie i mniej — do 900 px ────────────────────────────────────
   Dwie zmiany, obie zobaczone na zrzucie z iPada (820 px), nie wywnioskowane
   z arkusza:

   1. Kadr hero ZNIKA, a nie „idzie na górę". Przy jednej kolumnie ozdobna ramka
      w proporcji 4:3 zajmowała 600 px wysokości NAD nagłówkiem — pierwsze, co
      widział czytelnik, to wielki pusty prostokąt, a tytuł spółki był pod zgięciem.
      Element jest dekoracyjny (aria-hidden), więc jego ukrycie nic nie zabiera.

   2. Hamburger włącza się już tutaj, nie od 720 px. Pięć pozycji poziomego menu
      nie mieści się w 820 px i łamało się w środku wyrazu („Dual-\nuse"),
      rozpychając pasek na dwie linie.                                            */
@media (max-width:900px) {
  .hero-siatka { grid-template-columns:1fr; }
  .hero .kadr { display:none; }
  .gora .przycisk { display:none; }

  .menu {
    position:fixed; top:64px; left:0; right:0; margin:0;
    flex-direction:column; gap:0; padding:8px 18px 20px;
    background:var(--tlo); border-bottom:1px solid var(--linia);
    box-shadow:var(--cien); display:none;
  }
  .menu.otwarte { display:flex; }
  .menu a { padding:14px 0; font-size:1rem; border-bottom:1px solid var(--linia); }
  .narzedzia { order:3; }

  .hamburger {
    display:flex; flex-direction:column; justify-content:center; gap:5px;
    width:40px; height:40px; padding:0 8px; margin-left:auto;
    background:transparent; border:1px solid var(--linia-mocna); cursor:pointer;
  }
  .hamburger span { display:block; height:2px; background:var(--txt); transition:transform .18s, opacity .18s; }
  .hamburger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .hamburger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .hamburger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
}

/* MOBILE — do 720 px: siatki na jedną kolumnę */
@media (max-width:720px) {
  body { font-size:16px; }
  .pas { padding:0 18px; }

  /* Hamburger, panel menu i ukrycie kadru obsłużone wyżej, przy 900 px —
     tutaj zostają już tylko siatki i typografia. */
  .karty.k2, .karty.k3 { grid-template-columns:1fr; }
  .fakty { grid-template-columns:1fr; }
  .stopka-siatka { grid-template-columns:1fr; }
  h1 { font-size:2rem; }
  .zakladki-oplot { top:64px; }
  table.dane th[scope="row"] { width:auto; }
}

/* Druk — dokumenty spółki bywają czytane na papierze. */
@media print {
  .gora, .zakladki-oplot, .hamburger, .motyw, .hero-tlo, .kadr-skan { display:none !important; }
  body { background:#fff; color:#000; font-size:11pt; }
  a { color:#000; text-decoration:underline; }
  .sek, .sek-ir { padding:14pt 0; border-top:1px solid #999; }
}
