/* UWAGA (4.09.2026): sekcja zespolu ma wygladac TAK SAMO na kazdej stronie
   (decyzja Marcina). Nie dodawaj tu regul zmieniajacych uklad .netim-team-v4. */
/* ============================================================
   GEO - pozycjonowanie w AI (/geo-pozycjonowanie-w-ai/)
   Tokeny brandu: granat #050a30, blue #1e5e9f, mint #80dfa0,
   sky #26a7f0, soft #f1f4fb. Montserrat. Animacje tylko
   transform/opacity, ease-out.
   ============================================================ */
body.netim-geo{ --geo-eout:cubic-bezier(.23,1,.32,1) }

/* ---------- HERO ---------- */
body.netim-geo .geoh{
  position:relative; overflow:hidden; isolation:isolate;
  background:
    radial-gradient(900px 480px at 86% -10%, rgba(38,167,240,.16), transparent 62%),
    radial-gradient(700px 420px at -6% 108%, rgba(128,223,160,.10), transparent 60%),
    linear-gradient(158deg,#081046 0%,#050a30 55%,#040824 100%);
  padding:clamp(52px,7vw,96px) 0 clamp(56px,7vw,100px);
}
body.netim-geo .geoh-wrap{
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(34px,5vw,72px); align-items:center;
}
body.netim-geo .geoh-kicker{
  margin:0 0 18px; font:700 11.5px/1 'Montserrat',sans-serif;
  letter-spacing:.16em; text-transform:uppercase; color:#80dfa0;
}
body.netim-geo .geoh h1{
  margin:0 0 20px; font:900 clamp(34px,3.6vw,52px)/1.08 'Montserrat',sans-serif;
  letter-spacing:-.03em; color:#fff;
}
body.netim-geo .geoh-lead{
  margin:0 0 22px; max-width:56ch;
  font:500 16px/1.68 'Montserrat',sans-serif; color:#c9d4ee;
}
body.netim-geo .geoh-usp{ list-style:none; margin:0 0 30px; padding:0; display:grid; gap:11px }
body.netim-geo .geoh-usp li{
  position:relative; padding-left:30px;
  font:600 14px/1.55 'Montserrat',sans-serif; color:#e6ecfb;
}
body.netim-geo .geoh-usp li::before{
  content:""; position:absolute; left:0; top:2px; width:19px; height:19px; border-radius:6px;
  background:rgba(128,223,160,.14);
}
body.netim-geo .geoh-usp li::after{
  content:""; position:absolute; left:5px; top:7px; width:9px; height:6px;
  border-left:2.4px solid #80dfa0; border-bottom:2.4px solid #80dfa0;
  transform:rotate(-45deg);
}
body.netim-geo .geoh-cta{ display:flex; align-items:center; gap:22px; flex-wrap:wrap }
body.netim-geo .geoh-btn{
  display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:999px;
  text-decoration:none; background:#80dfa0; color:#050a30;
  font:800 15px/1 'Montserrat',sans-serif; letter-spacing:-.01em;
  box-shadow:0 18px 38px -18px rgba(128,223,160,.75);
  transition:transform .2s var(--geo-eout), box-shadow .25s var(--geo-eout);
}
body.netim-geo .geoh-btn .arr{ transition:transform .25s var(--geo-eout) }
body.netim-geo .geoh-btn:hover{ box-shadow:0 24px 46px -18px rgba(128,223,160,.95) }
body.netim-geo .geoh-btn:hover .arr{ transform:translateX(4px) }
body.netim-geo .geoh-btn:active{ transform:scale(.97) }
body.netim-geo .geoh-btn:focus-visible{ outline:3px solid #26a7f0; outline-offset:3px }
body.netim-geo .geoh-link{
  font:700 14px/1 'Montserrat',sans-serif; color:#9fb3d8; text-decoration:none;
  border-bottom:2px solid rgba(159,179,216,.35); padding-bottom:3px;
  transition:color .2s var(--geo-eout), border-color .2s var(--geo-eout);
}
body.netim-geo .geoh-link:hover{ color:#fff; border-color:#80dfa0 }
body.netim-geo .geoh-link:focus-visible{ outline:3px solid #26a7f0; outline-offset:3px }

/* karta czatu: pastisz jasnego okna ChatGPT.
   TIMELINE w jednym miejscu (kolejne --t*), zeby dalo sie stroic bez szukania:
   user 0.5s -> kropki 1.0-2.1s -> intro 2.1s -> pozycje 2.45/2.65/2.85s ->
   outro 3.2s -> sweep na marce 3.5s. Bez petli poza kursorem (gasnie sam). */
body.netim-geo .geoh-chat{
  --t-user:.5s; --t-krop:1s; --t-odp:2.1s; --t-r1:2.45s; --t-r2:2.65s; --t-r3:2.85s;
  --t-out:3.2s; --t-mark:3.5s;
  position:relative; isolation:isolate;
  border-radius:26px; padding:14px 18px 12px;
  background:#fff;
  box-shadow:0 1px 0 rgba(5,10,48,.04),
             0 60px 110px -60px rgba(2,5,20,.9),
             0 24px 48px -30px rgba(5,10,48,.5);
}
body.netim-geo .geoh-chat-top{
  display:flex; align-items:center; justify-content:space-between;
  padding:4px 2px 12px; border-bottom:1px solid rgba(5,10,48,.07);
}
body.netim-geo .geoh-chat-t{
  display:inline-flex; align-items:center; gap:7px;
  font:700 14.5px/1 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .geoh-chat-t svg{ color:#8890ab; margin-top:1px }
body.netim-geo .geoh-chat-nowy{
  display:grid; place-items:center; width:30px; height:30px; border-radius:50%;
  color:#5f6684; background:rgba(9,16,54,.045);
}
body.netim-geo .geoh-chat-okno{ padding:16px 2px 4px }
body.netim-geo .geoh-chat-b--user{
  margin:0 0 16px 22%; padding:11px 16px;
  border-radius:18px; border-bottom-right-radius:6px;
  background:#f0f1f5;
  font:500 13px/1.55 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .geoh-chat-odp{ display:flex; gap:11px; align-items:flex-start; min-height:132px }
body.netim-geo .geoh-chat-av{
  flex:none; display:grid; place-items:center; width:28px; height:28px; border-radius:50%;
  color:#050a30; background:#fff;
  box-shadow:0 0 0 1px rgba(5,10,48,.14);
}
body.netim-geo .geoh-chat-tresc{ flex:1; min-width:0; position:relative; padding-top:4px }
/* kropki pisania: widoczne do momentu odpowiedzi, potem znikaja */
body.netim-geo .geoh-chat-kropki{
  position:absolute; top:8px; left:0; display:flex; gap:4px;
}
body.netim-geo .geoh-chat-kropki i{
  width:7px; height:7px; border-radius:50%; background:#b7bccd;
}
body.netim-geo .geoh-chat-intro{
  margin:0 0 10px; font:500 13px/1.6 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .geoh-chat-rank{
  list-style:none; margin:0 0 10px; padding:0; display:grid; gap:6px;
  counter-reset:gnum;
}
body.netim-geo .geoh-chat-rank li{
  display:flex; align-items:baseline; gap:9px; counter-increment:gnum;
  font:500 12.5px/1.5 'Montserrat',sans-serif; color:#5b6385;
}
body.netim-geo .geoh-chat-rank li::before{
  content:counter(gnum) "."; flex:none; width:14px;
  font:700 12.5px/1.5 'Montserrat',sans-serif; color:#8890ab;
  font-variant-numeric:tabular-nums;
}
body.netim-geo .geoh-chat-rank li b{ font-weight:800; color:#3a4160 }
body.netim-geo .geoh-chat-rank li span{ color:#8890ab; font-size:11.5px }
body.netim-geo .geoh-chat-rank li.jest b{ color:#050a30 }
body.netim-geo .geoh-chat-rank li.jest span{ color:#1d7a44 }
/* zakreslacz na marce: sweep tla od lewej, jak pociagniecie markerem */
body.netim-geo .geoh-chat-rank mark{
  color:inherit; padding:2px 5px; margin:-2px -1px; border-radius:5px;
  background:linear-gradient(90deg,rgba(128,223,160,.55),rgba(128,223,160,.55)) no-repeat 0 0/0% 100%;
}
body.netim-geo .geoh-chat-outro{
  margin:0; font:500 13px/1.6 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .geoh-chat-outro b{ font-weight:800; color:#050a30 }
/* kursor strumieniowania: mruga chwile po zakonczeniu i gasnie */
body.netim-geo .geoh-chat-kursor{
  display:inline-block; width:2px; height:14px; margin-left:3px; vertical-align:-2px;
  background:#1c2033; opacity:0;
}
body.netim-geo .geoh-chat-input{
  display:flex; align-items:center; gap:12px; margin-top:14px;
  padding:11px 8px 11px 17px; border-radius:999px;
  background:#fff; box-shadow:0 0 0 1.5px rgba(5,10,48,.1);
}
body.netim-geo .geoh-chat-input span{
  flex:1; font:500 13px/1 'Montserrat',sans-serif; color:#8890ab;
}
body.netim-geo .geoh-chat-slij{
  display:grid; place-items:center; width:30px; height:30px; border-radius:50%;
  background:#050a30; color:#fff;
}
body.netim-geo .geoh-chat-stopka{
  margin:10px 0 0; text-align:center;
  font:500 10.5px/1.4 'Montserrat',sans-serif; color:#8890ab;
}
body.netim-geo .geoh-chat-modele{
  display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;
  margin-top:12px; padding-top:11px; border-top:1px dashed rgba(5,10,48,.09);
}
body.netim-geo .geoh-chat-modele span{ font:600 10.5px/1 'Montserrat',sans-serif; color:#656d8c }
body.netim-geo .geoh-chat-modele b{
  padding:5px 10px; border-radius:999px;
  font:700 10.5px/1 'Montserrat',sans-serif; color:#4a5170;
  background:rgba(9,16,54,.05);
}
/* --- choreografia: wszystko od klatki 0, bez petli --- */
@media (prefers-reduced-motion: no-preference){
  body.netim-geo .geoh-chat-b--user{
    opacity:0; animation:geoDym .5s var(--geo-eout) var(--t-user) forwards;
  }
  body.netim-geo .geoh-chat-kropki{
    opacity:0;
    animation:geoKropWej .3s var(--geo-eout) var(--t-krop) forwards,
              geoKropZnik .25s var(--geo-eout) var(--t-odp) forwards;
  }
  body.netim-geo .geoh-chat-kropki i{ animation:geoKropSkacze 1s ease-in-out 3 }
  body.netim-geo .geoh-chat-kropki i:nth-child(1){ animation-delay:calc(var(--t-krop) + .1s) }
  body.netim-geo .geoh-chat-kropki i:nth-child(2){ animation-delay:calc(var(--t-krop) + .25s) }
  body.netim-geo .geoh-chat-kropki i:nth-child(3){ animation-delay:calc(var(--t-krop) + .4s) }
  body.netim-geo .geoh-chat-intro{ opacity:0; animation:geoLinia .45s var(--geo-eout) var(--t-odp) forwards }
  body.netim-geo .geoh-chat-rank li:nth-child(1){ opacity:0; animation:geoLinia .45s var(--geo-eout) var(--t-r1) forwards }
  body.netim-geo .geoh-chat-rank li:nth-child(2){ opacity:0; animation:geoLinia .45s var(--geo-eout) var(--t-r2) forwards }
  body.netim-geo .geoh-chat-rank li:nth-child(3){ opacity:0; animation:geoLinia .45s var(--geo-eout) var(--t-r3) forwards }
  body.netim-geo .geoh-chat-outro{ opacity:0; animation:geoLinia .45s var(--geo-eout) var(--t-out) forwards }
  body.netim-geo .geoh-chat-rank mark{ animation:geoMark .55s var(--geo-eout) var(--t-mark) forwards }
  body.netim-geo .geoh-chat-kursor{ animation:geoKursor 1s steps(2,jump-none) var(--t-out) 4 }
}
@keyframes geoKropWej{ from{ opacity:0; transform:translateY(4px) } to{ opacity:1; transform:none } }
@keyframes geoKropZnik{ to{ opacity:0; visibility:hidden } }
@keyframes geoKropSkacze{ 0%,60%,100%{ transform:none } 30%{ transform:translateY(-4px) } }
@keyframes geoLinia{ from{ opacity:0; transform:translateY(7px); filter:blur(3px) } to{ opacity:1; transform:none; filter:blur(0) } }
@keyframes geoMark{ to{ background-size:100% 100% } }
@keyframes geoKursor{ 0%,49%{ opacity:1 } 50%,100%{ opacity:0 } }
/* bez animacji: pelny stan koncowy */
@media (prefers-reduced-motion: reduce){
  body.netim-geo .geoh-chat-kropki{ display:none }
  body.netim-geo .geoh-chat-rank mark{ background-size:100% 100% }
}

/* wejscie hero (lewa kolumna + karta) i wspolne keyframes dymkow */
@media (prefers-reduced-motion: no-preference){
  body.netim-geo .geoh-tx > *,
  body.netim-geo .geoh-chat{ opacity:0; animation:geoWej .6s var(--geo-eout) forwards }
  body.netim-geo .geoh-kicker{ animation-delay:.05s }
  body.netim-geo .geoh h1{ animation-delay:.12s }
  body.netim-geo .geoh-lead{ animation-delay:.2s }
  body.netim-geo .geoh-usp{ animation-delay:.28s }
  body.netim-geo .geoh-cta{ animation-delay:.36s }
  body.netim-geo .geoh-chat{ animation-delay:.2s }
}
@keyframes geoWej{ from{ opacity:0; transform:translateY(16px) } to{ opacity:1; transform:none } }
@keyframes geoDym{ from{ opacity:0; transform:translateY(10px) scale(.98) } to{ opacity:1; transform:none } }

/* ---------- ROZMOWA ZAMIAST WYSZUKIWANIA ---------- */
body.netim-geo .grz{ background:#f1f4fb }
body.netim-geo .grz-wrap{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(34px,5vw,72px); align-items:center;
}
body.netim-geo .grz-tx .sec-h{ text-align:left; margin-bottom:18px }
body.netim-geo .grz-tx p{ font:500 15px/1.7 'Montserrat',sans-serif; color:#3a4160; margin:0 0 14px }
body.netim-geo .grz-info{
  margin-top:20px !important; padding:16px 19px; border-radius:14px;
  background:rgba(38,167,240,.09);
  box-shadow:0 0 0 1px rgba(38,167,240,.22);
  font-weight:600 !important; color:#123c66 !important;
}
body.netim-geo .grz-k{
  border-radius:16px; padding:17px 19px; background:#fff;
  box-shadow:0 0 0 1px rgba(5,10,48,.06), 0 24px 46px -32px rgba(5,10,48,.5);
}
body.netim-geo .grz-k--old{ opacity:.82 }
body.netim-geo .grz-k-l{
  margin:0 0 11px; font:700 10px/1 'Montserrat',sans-serif;
  letter-spacing:.13em; text-transform:uppercase; color:#656d8c;
}
body.netim-geo .grz-k--new .grz-k-l{ color:#1d7a44 }
body.netim-geo .grz-szuk{
  display:flex; align-items:center; gap:9px;
  margin:0 0 9px; padding:10px 14px; border-radius:999px;
  background:#fff; box-shadow:0 0 0 1.5px rgba(5,10,48,.1);
  font:600 13px/1.3 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .grz-szuk svg{ color:#8890ab; flex:none }
body.netim-geo .grz-taby{
  display:flex; gap:14px; margin:0 0 12px; padding:0 4px 9px;
  border-bottom:1px solid rgba(5,10,48,.09);
  font:600 10.5px/1 'Montserrat',sans-serif; color:#8890ab;
}
body.netim-geo .grz-taby em{
  font-style:normal; color:#1e5e9f; position:relative; padding-bottom:9px; margin-bottom:-10px;
  border-bottom:2px solid #1e5e9f;
}
body.netim-geo .grz-wynik{ margin-bottom:12px }
body.netim-geo .grz-w-src{
  display:flex; align-items:center; gap:6px; margin:0 0 3px;
  font:500 10px/1 'Montserrat',sans-serif; color:#5f6684;
}
body.netim-geo .grz-w-src i{ width:12px; height:12px; border-radius:50%; background:linear-gradient(135deg,#c9cfe2,#8890ab) }
body.netim-geo .grz-w-t{ margin:0 0 5px; font:600 13px/1.35 'Montserrat',sans-serif; color:#1a4fb8 }
body.netim-geo .grz-w-s{ display:grid; gap:4px }
body.netim-geo .grz-w-s i{ display:block; height:6px; border-radius:3px; background:rgba(9,16,54,.1) }
body.netim-geo .grz-minibar{
  display:inline-flex; align-items:center; gap:6px; margin:0 0 11px;
  font:700 12px/1 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .grz-minibar svg{ color:#8890ab }
body.netim-geo .grz-k-q{
  display:flex; align-items:center; gap:9px;
  margin:0 0 13px; padding:10px 14px; border-radius:999px;
  background:#fff; box-shadow:0 0 0 1.5px rgba(5,10,48,.1);
  font:600 13px/1.3 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .grz-k-q svg{ color:#8890ab; flex:none }
/* pastisz wyniku SERP: niebieski tytul, zielony adres, szary opis */
body.netim-geo .grz-serp{ margin-bottom:12px }
body.netim-geo .grz-serp p{ margin:0 }
body.netim-geo .grz-serp .grz-serp-t{ height:10px; border-radius:3px; background:rgba(26,86,196,.55); margin:9px 0 5px }
body.netim-geo .grz-serp .grz-serp-u{ height:6px; border-radius:3px; background:rgba(29,122,68,.5); margin-bottom:6px }
body.netim-geo .grz-serp i{ display:block; height:6px; border-radius:3px; background:rgba(9,16,54,.12); margin-bottom:4px }
body.netim-geo .grz-k-f{ margin:0; font:500 11.5px/1.4 'Montserrat',sans-serif; color:#5f6684 }
body.netim-geo .grz-k-f--new{ color:#1d7a44; font-weight:600 }
body.netim-geo .grz-strz{ display:flex; justify-content:center; padding:9px 0 }
body.netim-geo .grz-strz .arr{
  display:grid; place-items:center; width:34px; height:34px; border-radius:50%;
  background:#050a30; color:#80dfa0; font-size:16px;
  box-shadow:0 12px 24px -12px rgba(5,10,48,.6);
}
body.netim-geo .grz-k-b{
  margin:0 0 13px; margin-left:12%; padding:10px 14px; border-radius:15px;
  border-bottom-right-radius:5px; background:#f0f1f5; color:#1c2033;
  font:500 12.5px/1.55 'Montserrat',sans-serif;
}
body.netim-geo .grz-k-odp{ display:flex; gap:9px; align-items:flex-start; margin-bottom:11px }
body.netim-geo .grz-k-av{
  flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%;
  color:#050a30; background:#fff; box-shadow:0 0 0 1px rgba(5,10,48,.14); margin-top:2px;
}
body.netim-geo .grz-k-odp p{ margin:0; font:500 12.5px/1.6 'Montserrat',sans-serif; color:#3a4160 }
body.netim-geo .grz-k-odp b{ color:#050a30 }

/* ---------- STATYSTYKI ---------- */
body.netim-geo .gsta{
  position:relative; overflow:hidden;
  background:linear-gradient(140deg,#0a1148 0%,#050a30 60%,#040824 100%);
}
body.netim-geo .gsta-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(26px,4vw,60px);
}
body.netim-geo .gsta-h{ color:#fff; text-align:center }
body.netim-geo .gsta-lead{
  margin:14px auto clamp(30px,3.4vw,46px); max-width:56ch; text-align:center;
  font:500 15px/1.65 'Montserrat',sans-serif; color:#c9d4ee;
}
body.netim-geo .gsta-c small{
  display:block; margin-bottom:10px;
  font:700 10.5px/1 'Montserrat',sans-serif; letter-spacing:.14em;
  text-transform:uppercase; color:#80dfa0;
}
body.netim-geo .gsta-c b{
  display:block; margin-bottom:12px;
  font:900 clamp(40px,4vw,58px)/.95 'Montserrat',sans-serif;
  letter-spacing:-.045em; color:#80dfa0; font-variant-numeric:tabular-nums;
}
body.netim-geo .gsta-c p{ margin:0; font:500 13.5px/1.6 'Montserrat',sans-serif; color:#c9d4ee }
body.netim-geo .gsta-src{
  margin:clamp(26px,3vw,40px) 0 0; padding-top:18px;
  border-top:1px solid rgba(255,255,255,.09);
  font:500 11.5px/1.4 'Montserrat',sans-serif; color:#7d8bb0;
}

/* ---------- CZYM JEST GEO (visual po lewej, tekst po prawej) ---------- */
body.netim-geo .gdf{ background:#fff }
body.netim-geo .gdf-wrap{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(34px,5vw,72px); align-items:center;
}
body.netim-geo .gdf-tx .sec-h{ text-align:left; margin-bottom:18px }
body.netim-geo .gdf-tx > p{ font:500 15px/1.7 'Montserrat',sans-serif; color:#3a4160; margin:0 0 14px }
body.netim-geo .gdf-solo{
  margin-top:22px; padding:20px 22px; border-radius:16px;
  background:#f1f4fb; box-shadow:0 0 0 1px rgba(5,10,48,.05);
}
body.netim-geo .gdf-solo h3{ margin:0 0 10px; font:800 16.5px/1.35 'Montserrat',sans-serif; color:#050a30; letter-spacing:-.015em }
body.netim-geo .gdf-solo p{ margin:0 0 10px; font:500 13.5px/1.65 'Montserrat',sans-serif; color:#4a5170 }
body.netim-geo .gdf-link{
  display:inline-flex; align-items:center; gap:8px; margin-top:4px;
  font:800 13.5px/1 'Montserrat',sans-serif; color:#1e5e9f; text-decoration:none;
  border-bottom:2px solid rgba(30,94,159,.3); padding-bottom:3px;
  transition:color .2s var(--geo-eout), border-color .2s var(--geo-eout);
}
body.netim-geo .gdf-link .arr{ transition:transform .25s var(--geo-eout) }
body.netim-geo .gdf-link:hover{ color:#050a30; border-color:#80dfa0 }
body.netim-geo .gdf-link:hover .arr{ transform:translateX(4px) }
body.netim-geo .gdf-link:focus-visible{ outline:3px solid #26a7f0; outline-offset:3px }
body.netim-geo .gdf-k{
  position:relative; border-radius:22px; padding:18px 20px 16px;
  background:linear-gradient(180deg,#fdfdff,#f2f5fc);
  box-shadow:0 1px 0 rgba(5,10,48,.04), 0 46px 84px -48px rgba(5,10,48,.55),
             0 18px 38px -24px rgba(5,10,48,.3);
}
body.netim-geo .gdf-minibar{
  display:flex; align-items:center; gap:7px; margin:0 0 13px; padding-bottom:11px;
  border-bottom:1px solid rgba(5,10,48,.08);
  font:700 13px/1 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .gdf-minibar svg{ color:#8890ab }
body.netim-geo .gdf-k-q{
  margin:0 0 13px 18%; padding:10px 15px; border-radius:16px; border-bottom-right-radius:5px;
  background:#f0f1f5; font:500 13px/1.5 'Montserrat',sans-serif; color:#1c2033;
}
body.netim-geo .gdf-k-odp{ display:flex; gap:10px; align-items:flex-start; margin-bottom:13px }
body.netim-geo .gdf-k-av{
  flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%;
  color:#050a30; background:#fff; box-shadow:0 0 0 1px rgba(5,10,48,.14); margin-top:1px;
}
body.netim-geo .gdf-k-odp p{ margin:0; font:500 13px/1.7 'Montserrat',sans-serif; color:#3a4160 }
body.netim-geo .gdf-k-odp b{ color:#050a30 }
body.netim-geo .gdf-k-odp sup{
  font:800 9px/1 'Montserrat',sans-serif; color:#1a4d8f;
  background:rgba(38,167,240,.14); border-radius:4px; padding:2px 4px; margin-left:2px;
}
body.netim-geo .gdf-zrodla{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding-top:12px; border-top:1px dashed rgba(5,10,48,.1);
}
body.netim-geo .gdf-zrodla-t{
  margin:0; font:700 10px/1 'Montserrat',sans-serif; letter-spacing:.12em;
  text-transform:uppercase; color:#8890ab; margin-right:2px;
}
body.netim-geo .gdf-zrodla span{
  display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:6px;
  background:rgba(38,167,240,.1);
  font:700 10.5px/1 'Montserrat',sans-serif; color:#1a4d8f;
}
body.netim-geo .gdf-zrodla span b{
  display:grid; place-items:center; width:13px; height:13px; border-radius:4px;
  font:800 8.5px/1 'Montserrat',sans-serif; color:#fff; background:#1a4d8f;
}
body.netim-geo .gdf-zrodla span i{ display:none }
/* karta w ukladzie Perplexity: tytul-zapytanie, kafle zrodel, odpowiedz */
body.netim-geo .gdf-q{
  margin:0 0 14px; font:800 17px/1.35 'Montserrat',sans-serif;
  letter-spacing:-.015em; color:#1c2033;
}
body.netim-geo .gdf-zrodla-rzad{ margin-bottom:14px }
body.netim-geo .gdf-zrodla-t{
  display:block; margin-bottom:8px;
  font:700 10px/1 'Montserrat',sans-serif; letter-spacing:.12em;
  text-transform:uppercase; color:#8890ab;
}
body.netim-geo .gdf-kafle{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px }
body.netim-geo .gdf-kafel{
  position:relative; display:flex; align-items:center; gap:7px;
  padding:10px 11px; border-radius:11px; background:#fff;
  box-shadow:0 0 0 1px rgba(5,10,48,.08), 0 8px 18px -14px rgba(5,10,48,.4);
  font:700 10.5px/1.25 'Montserrat',sans-serif; color:#3a4160;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
body.netim-geo .gdf-kafel i{
  width:12px; height:12px; border-radius:50%; flex:none;
  background:linear-gradient(135deg,#26a7f0,#1e5e9f);
}
body.netim-geo .gdf-kafel b{
  margin-left:auto; flex:none; display:grid; place-items:center;
  width:15px; height:15px; border-radius:5px;
  font:800 9px/1 'Montserrat',sans-serif; color:#fff; background:#1a4d8f;
}
body.netim-geo .gdf-k-odp{
  padding-top:13px; border-top:1px solid rgba(5,10,48,.08);
}
body.netim-geo .gdf-k-odp p{ margin:0; font:500 13.5px/1.75 'Montserrat',sans-serif; color:#2a3050 }
body.netim-geo .gdf-k-odp b{ color:#050a30 }
body.netim-geo .gdf-k-odp sup{
  font:800 9px/1 'Montserrat',sans-serif; color:#1a4d8f;
  background:rgba(38,167,240,.14); border-radius:4px; padding:2px 4px; margin-left:2px;
}

body.netim-geo .gdf-stos{ display:grid; gap:14px }
body.netim-geo .gdf-k--chat{ padding:0 0 12px; overflow:hidden; background:#fdfefe; border:1px solid #e2e5ec }
body.netim-geo .gdf-chat-top{
  display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:0 18px;
  border-bottom:1px solid #e8eaf0; color:#20243b; font:700 13px/1 'Montserrat',sans-serif;
}
body.netim-geo .gdf-chat-top span{ display:flex; align-items:center; gap:6px }
body.netim-geo .gdf-chat-top span svg{ color:#8b8b8b }
body.netim-geo .gdf-chat-top > i{ display:grid; place-items:center; width:28px; height:28px; border-radius:8px; color:#626982; background:#f2f4f8 }
body.netim-geo .gdf-chat-body{ min-height:255px; padding:32px 24px 20px }
body.netim-geo .gdf-dymek{
  width:fit-content; max-width:86%; margin:0 0 28px auto; padding:11px 16px; border-radius:18px;
  background:#f1f3f6; font:500 13px/1.5 'Montserrat',sans-serif; color:#282d46;
}
body.netim-geo .gdf-odp-chat{ display:flex; gap:10px; align-items:flex-start }
body.netim-geo .gdf-iskra{
  flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%;
  color:#f8fbff; background:#050a30; margin-top:1px;
}
body.netim-geo .gdf-odp-chat p{ margin:0; font:500 13px/1.75 'Montserrat',sans-serif; color:#343a57 }
body.netim-geo .gdf-odp-chat b{ padding:1px 3px; border-radius:4px; color:#050a30; background:rgba(128,223,160,.42) }
body.netim-geo .gdf-odp-copy{ min-width:0 }
body.netim-geo .gdf-chat-actions{ display:flex; gap:2px; margin-top:13px; color:#8c8c8c }
body.netim-geo .gdf-chat-actions span{ display:grid; place-items:center; width:28px; height:28px; border-radius:7px }
body.netim-geo .gdf-chat-actions span:hover{ background:#f2f2f2; color:#343434 }
body.netim-geo .gdf-chat-input{
  display:flex; align-items:center; justify-content:space-between; min-height:50px; margin:0 16px; padding:0 9px 0 16px;
  border:1px solid #dfe2e9; border-radius:24px; background:#fdfefe; box-shadow:0 2px 10px rgba(5,10,48,.04);
  font:500 12.5px/1 'Montserrat',sans-serif; color:#8a8a8a;
}
body.netim-geo .gdf-chat-input i{ display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#050a30; color:#f8fbff }
body.netim-geo .gdf-chat-note{ margin:8px 16px 0; text-align:center; font:500 9px/1.4 'Montserrat',sans-serif; color:#9a9a9a }
@media (max-width:520px){
  body.netim-geo .gdf-chat-body{ min-height:0; padding:24px 18px 20px }
  body.netim-geo .gdf-dymek{ max-width:92%; font-size:12px }
  body.netim-geo .gdf-odp-chat p{ font-size:12px }
}
body.netim-geo .gdf-kafle{ margin-bottom:13px }
body.netim-geo .gdf-vis-cap{
  margin:14px 4px 0; font:500 12px/1.5 'Montserrat',sans-serif; color:#5f6684;
}

/* ---------- FILARY: akordeon + CTA ---------- */
body.netim-geo .gfl{ background:#f1f4fb }
body.netim-geo .gfl .sec-h{ text-align:left; margin-bottom:clamp(30px,4vw,52px) }
body.netim-geo .gfl-layout{ display:grid; grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr); gap:clamp(28px,5vw,72px); align-items:start }
body.netim-geo .gfl-accordion{ display:grid; gap:9px }
body.netim-geo .gfl-item{ border-radius:14px; background:#fdfefe; box-shadow:0 0 0 1px rgba(5,10,48,.07),0 14px 28px -24px rgba(5,10,48,.5) }
body.netim-geo .gfl-item summary{ display:flex; align-items:center; gap:14px; min-height:62px; padding:14px 17px; cursor:pointer; list-style:none }
body.netim-geo .gfl-item summary::-webkit-details-marker{ display:none }
/* Wojtek w dokumencie wpisal przy filarach H3, a tytuly byly zwyklym <span>, wiec nie
   istnialy w strukturze naglowkow. <summary> moze zawierac naglowek, wiec zamienilem
   span na h3 i wpinam go w TE SAMA regule, inaczej gubi flex:1 oraz kroj i tytul
   ucieka na srodek wiersza (zmierzone: 700 17px zamiast 800 15px, x wedrujacy 255-300). */
body.netim-geo .gfl-item summary > span:not(.n),
body.netim-geo .gfl-item summary > .gfl-h{ flex:1; margin:0; font:800 15px/1.35 'Montserrat',sans-serif; color:#050a30 }
body.netim-geo .gfl-item .n{ flex:none; display:grid; place-items:center; width:34px; height:30px; border-radius:9px; background:#eef1f8; color:#5b6385; font:900 11px/1 'Montserrat',sans-serif }
body.netim-geo .gfl-item[open] .n{ background:#050a30; color:#80dfa0 }
body.netim-geo .gfl-item summary i{ position:relative; flex:none; width:20px; height:20px; color:#59617e }
body.netim-geo .gfl-item summary i::before,body.netim-geo .gfl-item summary i::after{ content:""; position:absolute; left:50%; top:50%; border-radius:2px; background:currentColor; transform:translate(-50%,-50%) }
body.netim-geo .gfl-item summary i::before{ width:13px; height:2px }
body.netim-geo .gfl-item summary i::after{ width:2px; height:13px }
body.netim-geo .gfl-item[open] summary i::after{ display:none }
body.netim-geo .gfl-detail{ margin:0 17px 0 65px; padding:0 0 18px; border-top:1px solid rgba(5,10,48,.09) }
body.netim-geo .gfl-detail .lead{ margin:14px 0 12px; font:600 13.5px/1.65 'Montserrat',sans-serif; color:#3f4664 }
body.netim-geo .gfl-detail ul{ margin:0; padding:0; list-style:none; display:grid; gap:8px }
body.netim-geo .gfl-detail li{ position:relative; padding-left:20px; font:500 13px/1.55 'Montserrat',sans-serif; color:#515978 }
body.netim-geo .gfl-detail li::before{ content:""; position:absolute; left:0; top:7px; width:10px; height:7px; border-left:2px solid #3dbd6e; border-bottom:2px solid #3dbd6e; transform:rotate(-45deg) }
body.netim-geo .gfl-cta{ position:sticky; top:110px; padding:clamp(26px,3vw,38px); border-radius:20px; background:#050a30; box-shadow:0 36px 64px -42px rgba(5,10,48,.82) }
body.netim-geo .gfl-cta-k{ display:block; margin-bottom:36px; font:800 10px/1 'Montserrat',sans-serif; letter-spacing:.14em; color:#80dfa0 }
body.netim-geo .gfl-cta h3{ margin:0 0 14px; font:800 clamp(21px,2.1vw,28px)/1.2 'Montserrat',sans-serif; letter-spacing:-.025em; color:#f7f9ff }
body.netim-geo .gfl-cta p{ margin:0 0 24px; font:500 14px/1.65 'Montserrat',sans-serif; color:#bdc8e1 }
body.netim-geo .gfl-cta a{ display:inline-flex; align-items:center; gap:10px; padding:13px 18px; border-radius:10px; background:#80dfa0; color:#050a30; text-decoration:none; font:800 13px/1 'Montserrat',sans-serif }
body.netim-geo .gfl-cta a span{ transition:transform .2s var(--geo-eout) }
body.netim-geo .gfl-cta a:hover span{ transform:translateX(3px) }

/* ---------- RAPORT ---------- */
body.netim-geo .grp{ background:#fff }
body.netim-geo .grp-wrap{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(34px,5vw,72px); align-items:center;
}
body.netim-geo .grp-tx .sec-h{ text-align:left; margin-bottom:18px }
body.netim-geo .grp-tx > p{ font:500 15px/1.7 'Montserrat',sans-serif; color:#3a4160; margin:0 0 14px }
body.netim-geo .grp-w{ font-weight:700 !important; color:#050a30 !important; margin-top:20px !important }
body.netim-geo .grp-ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px }
body.netim-geo .grp-ul li{
  position:relative; padding-left:26px;
  font:600 14px/1.55 'Montserrat',sans-serif; color:#3a4160;
}
body.netim-geo .grp-ul li::before{
  content:""; position:absolute; left:0; top:3px; width:15px; height:15px; border-radius:5px;
  background:rgba(128,223,160,.2);
}
body.netim-geo .grp-ul li::after{
  content:""; position:absolute; left:4px; top:7px; width:7px; height:5px;
  border-left:2.2px solid #1d7a44; border-bottom:2.2px solid #1d7a44; transform:rotate(-45deg);
}
body.netim-geo .grp-mock{
  border-radius:20px; overflow:hidden;
  background:linear-gradient(180deg,#0a1148,#060c30);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 56px 100px -56px rgba(5,10,48,.95),
             0 22px 44px -28px rgba(5,10,48,.5);
}
body.netim-geo .grp-m-top{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:15px 20px; border-bottom:1px solid rgba(255,255,255,.08);
}
body.netim-geo .grp-m-top img{ width:84px; height:auto; opacity:.92 }
body.netim-geo .grp-m-top span{ font:600 11px/1.3 'Montserrat',sans-serif; color:#9fb3d8 }
body.netim-geo .grp-m-l{
  margin:0 0 11px; font:700 10px/1.3 'Montserrat',sans-serif;
  letter-spacing:.12em; text-transform:uppercase; color:#7d8bb0;
}
body.netim-geo .grp-m-som{ padding:17px 20px 10px }
body.netim-geo .grp-m-hd{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px }
body.netim-geo .grp-m-delta{
  flex:none; padding:5px 9px; border-radius:999px;
  font:800 10.5px/1 'Montserrat',sans-serif; color:#050a30; background:#80dfa0;
}
body.netim-geo .grp-marki{ display:grid; gap:9px }
body.netim-geo .grp-mr{ display:flex; align-items:center; gap:11px }
body.netim-geo .grp-mr .m{ flex:none; width:96px; font:600 11.5px/1.2 'Montserrat',sans-serif; color:#9fb3d8 }
body.netim-geo .grp-mr i{ flex:1; display:block; height:9px; border-radius:5px; overflow:hidden; background:rgba(255,255,255,.08) }
body.netim-geo .grp-mr b{ display:block; height:100%; border-radius:5px; background:rgba(201,212,238,.45) }
body.netim-geo .grp-mr em{
  flex:none; width:38px; text-align:right; font:800 11.5px/1 'Montserrat',sans-serif;
  font-style:normal; color:#c9d4ee; font-variant-numeric:tabular-nums;
}
body.netim-geo .grp-mr--ty .m{ color:#fff; font-weight:800 }
body.netim-geo .grp-mr--ty b{ background:linear-gradient(90deg,#3dbd6e,#80dfa0) }
body.netim-geo .grp-mr--ty em{ color:#80dfa0 }
body.netim-geo .grp-modele{
  margin:12px 0 0; font:500 10.5px/1.4 'Montserrat',sans-serif; color:#7d8bb0;
}
/* bary rosna przy wejsciu w kadr */
body.netim-geo .grp--czeka .grp-mr b{ width:0 !important }
body.netim-geo .grp--go .grp-mr b{ transition:width 1s var(--geo-eout) }
body.netim-geo .grp--go .grp-mr:nth-child(2) b{ transition-delay:.12s }
body.netim-geo .grp--go .grp-mr:nth-child(3) b{ transition-delay:.24s }
body.netim-geo .grp--go .grp-mr:nth-child(4) b{ transition-delay:.36s }
body.netim-geo .grp-m-gap{ padding:13px 20px 6px; border-top:1px dashed rgba(255,255,255,.1); margin-top:8px }
body.netim-geo .grp-m-g{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin:0 0 8px; padding:9px 12px; border-radius:9px; background:rgba(248,100,100,.1);
  font:600 12px/1.4 'Montserrat',sans-serif; color:#f5c1c1;
}
body.netim-geo .grp-m-g span{ flex:none; font:700 10px/1 'Montserrat',sans-serif; color:#f86464 }
body.netim-geo .grp-m-f{
  padding:13px 20px 16px; font:500 11.5px/1.4 'Montserrat',sans-serif; color:#9fb3d8;
}
body.netim-geo .grp-m-f .t{ font:800 13px/1 'Montserrat',sans-serif; color:#80dfa0 }

/* ---------- KIEDY MA SENS ---------- */
body.netim-geo .gks{ background:#fff }
body.netim-geo .gks .sec-h{ text-align:center }
body.netim-geo .gks-lead{
  margin:14px auto 0; max-width:58ch; text-align:center;
  font:500 15px/1.65 'Montserrat',sans-serif; color:#5b6385;
}
body.netim-geo .gks-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,2.4vw,28px); margin-top:clamp(28px,3.4vw,44px); align-items:start;
}
body.netim-geo .gks-k{ border-radius:20px; padding:clamp(24px,3vw,34px) }
body.netim-geo .gks-k h3{ margin:0 0 18px; font:800 18px/1.3 'Montserrat',sans-serif; letter-spacing:-.018em }
body.netim-geo .gks-k ul{ list-style:none; margin:0; padding:0; display:grid; gap:13px }
body.netim-geo .gks-k li{ position:relative; padding-left:28px; font:500 14px/1.6 'Montserrat',sans-serif }
body.netim-geo .gks-k--tak{
  background:linear-gradient(165deg,#0a1148,#050a30);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 40px 76px -46px rgba(5,10,48,.9);
}
body.netim-geo .gks-k--tak h3{ color:#80dfa0 }
body.netim-geo .gks-k--tak li{ color:#dde5f7 }
body.netim-geo .gks-k--tak li::before{
  content:""; position:absolute; left:0; top:4px; width:13px; height:9px;
  border-left:2.6px solid #80dfa0; border-bottom:2.6px solid #80dfa0;
  transform:rotate(-45deg) scale(.9); transform-origin:left bottom;
}
body.netim-geo .gks-k--nie{
  background:#f1f3f7; box-shadow:0 0 0 1px rgba(5,10,48,.06);
}
body.netim-geo .gks-k--nie h3{ color:#5f6684 }
body.netim-geo .gks-k--nie li{ color:#5b6385 }
/* motyw: globalne b{color:#333}, tu nadpisujemy swiadomie */
body.netim-geo .gks-k--nie li b{ color:#3a4160 }
body.netim-geo .gks-k--nie li::before{
  content:""; position:absolute; left:2px; top:8px; width:11px; height:2.4px;
  border-radius:2px; background:#a0a7bf;
}

/* ---------- CENNIK ---------- */
body.netim-geo .gcn{
  background:linear-gradient(140deg,#0a1148 0%,#050a30 65%);
}
body.netim-geo .gcn-wrap{
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:clamp(28px,4vw,60px); align-items:center;
}
body.netim-geo .gcn .sec-h{ text-align:left; color:#fff; margin-bottom:16px }
body.netim-geo .gcn-tx p{ margin:0 0 12px; font:500 14.5px/1.68 'Montserrat',sans-serif; color:#c9d4ee }
body.netim-geo .gcn-sub{ color:#9fb3d8 !important; font-size:13px !important }
body.netim-geo .gcn-cta{ display:grid; justify-items:start; gap:14px }
body.netim-geo .gcn-tel{ font:600 13px/1.4 'Montserrat',sans-serif; color:#9fb3d8 }
body.netim-geo .gcn-tel a{ color:#80dfa0; text-decoration:none; font-weight:800 }
body.netim-geo .gcn-tel a:hover{ text-decoration:underline }

/* ---------- BLOK WIEDZY ---------- */
body.netim-geo .gwk{ background:#f1f4fb; position:relative }
body.netim-geo .gwk-grid{
  display:grid; grid-template-columns:264px minmax(0,1fr);
  gap:clamp(30px,4vw,64px); align-items:start;
}
body.netim-geo .gwk-toc{ position:sticky; top:96px }
body.netim-geo .gwk-toc-t{
  margin:0 0 13px; font:700 10.5px/1 'Montserrat',sans-serif;
  letter-spacing:.14em; text-transform:uppercase; color:#8890ab;
}
body.netim-geo .gwk-toc nav{ display:grid; gap:2px }
body.netim-geo .gwk-toc a{
  padding:7px 12px; border-radius:8px; text-decoration:none;
  font:600 12.5px/1.4 'Montserrat',sans-serif; color:#4a5170;
  border-left:2px solid rgba(5,10,48,.1); border-radius:0 8px 8px 0;
  transition:color .18s var(--geo-eout), background .18s var(--geo-eout), border-color .18s var(--geo-eout);
}
body.netim-geo .gwk-toc a:hover{ color:#050a30; background:rgba(38,167,240,.07); border-color:#26a7f0 }
body.netim-geo .gwk-toc a:focus-visible{ outline:3px solid #26a7f0; outline-offset:2px }
body.netim-geo .gwk-art h2{
  margin:44px 0 16px; font:800 clamp(21px,2vw,26px)/1.25 'Montserrat',sans-serif;
  letter-spacing:-.022em; color:#050a30; scroll-margin-top:110px;
}
body.netim-geo .gwk-art h2:first-child{ margin-top:0 }
body.netim-geo .gwk-art h3{
  margin:28px 0 12px; font:800 16.5px/1.3 'Montserrat',sans-serif;
  letter-spacing:-.015em; color:#0c1440; scroll-margin-top:110px;
}
body.netim-geo .gwk-art p{ margin:0 0 13px; font:500 14px/1.72 'Montserrat',sans-serif; color:#3a4160 }
body.netim-geo .gwk-art p b{ color:#050a30 }
body.netim-geo .gwk-art ul{ margin:0 0 16px; padding:0; list-style:none; display:grid; gap:9px }
body.netim-geo .gwk-art ul li{
  position:relative; padding-left:20px;
  font:500 13.5px/1.65 'Montserrat',sans-serif; color:#3a4160;
}
body.netim-geo .gwk-art ul li b{ color:#050a30 }
body.netim-geo .gwk-art ul li::before{
  content:""; position:absolute; left:0; top:8px; width:7px; height:7px;
  border-radius:2px; background:#80dfa0;
}
body.netim-geo .gwk-art a{ color:#1e5e9f; font-weight:700; text-decoration:none; border-bottom:1.5px solid rgba(30,94,159,.3) }
body.netim-geo .gwk-art a:hover{ color:#050a30; border-color:#80dfa0 }
body.netim-geo .gwk-tw{ overflow-x:auto; margin:0 0 16px; border-radius:14px; box-shadow:0 0 0 1px rgba(5,10,48,.08); overscroll-behavior-inline:contain; scrollbar-color:#8890ab #e3e7f1 }
body.netim-geo .gwk-tw table{ width:100%; min-width:640px; margin:0!important; border-collapse:collapse; background:#fff; font:500 13px/1.5 'Montserrat',sans-serif }
body.netim-geo .gwk-tw th{
  text-align:left; padding:11px 14px; background:#050a30; color:#fff;
  font:700 11.5px/1.3 'Montserrat',sans-serif; letter-spacing:.02em; white-space:nowrap;
}
body.netim-geo .gwk-tw td{ padding:11px 14px; border-top:1px solid rgba(5,10,48,.07); color:#3a4160; vertical-align:top }
body.netim-geo .gwk-tw td b{ color:#050a30 }
body.netim-geo .gwk-tw tr:nth-child(even) td{ background:rgba(9,16,54,.022) }
/* stan zwiniety */
body.netim-geo .gwk-art{ position:relative }
body.netim-geo .gwk--zwiniety .gwk-art{ max-height:640px; overflow:hidden }
body.netim-geo .gwk--zwiniety .gwk-art::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:220px;
  background:linear-gradient(180deg,rgba(241,244,251,0),#f1f4fb 82%);
  pointer-events:none;
}
body.netim-geo .gwk-more{ display:flex; justify-content:center; margin-top:6px }
body.netim-geo .gwk-btn{
  display:inline-flex; align-items:center; gap:9px; padding:13px 26px; border-radius:999px;
  border:0; cursor:pointer; background:#050a30; color:#fff;
  font:800 13.5px/1 'Montserrat',sans-serif; letter-spacing:-.01em;
  box-shadow:0 18px 36px -20px rgba(5,10,48,.7);
  transition:transform .2s var(--geo-eout), box-shadow .25s var(--geo-eout);
}
body.netim-geo .gwk-btn:hover{ box-shadow:0 24px 44px -20px rgba(5,10,48,.85) }
body.netim-geo .gwk-btn:active{ transform:scale(.97) }
body.netim-geo .gwk-btn:focus-visible{ outline:3px solid #26a7f0; outline-offset:3px }

/* ---------- RESPONSYWNOSC ---------- */
@media (max-width: 1080px){
  }
@media (max-width: 960px){
  body.netim-geo .geoh-wrap,
  body.netim-geo .grz-wrap,
  body.netim-geo .gdf-wrap,
  body.netim-geo .grp-wrap,
  body.netim-geo .gcn-wrap{ grid-template-columns:minmax(0,1fr); gap:34px }
  body.netim-geo .gdf-vis{ order:2 }
  body.netim-geo .gfl-r{ grid-template-columns:minmax(0,1fr); gap:16px }
  body.netim-geo .gks-grid{ grid-template-columns:minmax(0,1fr) }
  body.netim-geo .gsta-grid{ grid-template-columns:minmax(0,1fr); gap:30px }
  body.netim-geo .gwk-grid{ grid-template-columns:minmax(0,1fr) }
  body.netim-geo .gwk-toc{ position:static; order:-1 }
  body.netim-geo .gwk-toc nav{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px }
  body.netim-geo .gfl-layout{ grid-template-columns:minmax(0,1fr) }
  body.netim-geo .gfl-cta{ position:static }
}
@media (max-width: 640px){
  body.netim-geo .geoh-chat-b--user{ margin-left:6% }
  body.netim-geo .gwk-toc nav{ grid-template-columns:minmax(0,1fr) }
}
@media (prefers-reduced-motion: reduce){
  body.netim-geo .geoh-tx > *, body.netim-geo .geoh-chat,
  body.netim-geo .geoh-chat-b--user, body.netim-geo .geoh-chat-b--ai,
  body.netim-geo .geoh-chat-rank li{ animation:none; opacity:1; transform:none }
  body.netim-geo .gfl-r:hover{ transform:none }
}

/* wejscia przy scrollu (klasa nadawana JS-em, bez JS brak efektu i pelna widocznosc) */
body.netim-geo .geo-rv{
  opacity:0; transform:translateY(18px);
  transition:opacity .45s var(--geo-eout), transform .45s var(--geo-eout);
}
body.netim-geo .geo-rv--in{ opacity:1; transform:none }

/* ---------- dopieszczenia (04.09) ---------- */
/* plynne kotwice, z poszanowaniem reduced-motion */
@media (prefers-reduced-motion: no-preference){
  html:has(body.netim-geo){ scroll-behavior:smooth }
}
/* sygnet dekoracyjny w pasach granatowych (motyw z brandbooka, str. 25-29) */
body.netim-geo .gsta, body.netim-geo .gcn{ position:relative; overflow:hidden; isolation:isolate }
body.netim-geo .geo-syg-dek{
  position:absolute; z-index:-1; top:-40px; right:-70px; width:300px; height:auto;
  color:#fff; opacity:.07; pointer-events:none;
}
body.netim-geo .geo-syg-dek--lewy{ right:auto; left:-80px; top:auto; bottom:-60px }
/* etapy: os laczaca numery (linia przerywana miedzy chipami) */
body.netim-geo .gst-tor{ position:relative }
body.netim-geo .gst-tor::before{
  content:""; position:absolute; left:calc(22px + 21px); top:30px; bottom:30px; width:0;
  border-left:2px dashed rgba(128,223,160,.28);
}
body.netim-geo .gst-tor li{ position:relative }
body.netim-geo .gst-n{ position:relative; z-index:1; box-shadow:0 0 0 6px #071040 }
/* scrollspy: biezacy rozdzial w spisie tresci */
body.netim-geo .gwk-toc a.gwk-toc--tu{
  color:#050a30; background:rgba(128,223,160,.16); border-color:#3dbd6e; font-weight:800;
}

/* ---------- PROCES: wspolny wzorzec flow/fstep (kopia z pozycjonowanie-v2.css,
   scoped; ta sama sekcja ma wygladac identycznie w calym serwisie) ---------- */
/* soft zamiast paper: rytm jasnosci stykow (R8: 251/255/243 dawalo skoki 4) */
body.netim-geo .process{background:var(--soft)}
body.netim-geo .process .sec-h{color:var(--navy)}
body.netim-geo .process .sec-h em{color:var(--blue)}
body.netim-geo .process .sec-lead{color:var(--mute);max-width:72ch;margin-left:auto;margin-right:auto}
body.netim-geo .process .sec-h,body.netim-geo .process .sec-lead{text-align:center}
body.netim-geo .flow{position:relative;margin-top:110px;margin-bottom:70px;display:grid;grid-template-columns:repeat(5,1fr);column-gap:16px;min-height:430px}
body.netim-geo .flow .fline{position:absolute;left:9%;right:9%;top:50%;height:2px;transform:translateY(-1px);background:repeating-linear-gradient(90deg,var(--mint-deep) 0 7px,transparent 7px 15px);opacity:.6;z-index:0}
body.netim-geo .fstep{position:relative;display:flex;align-items:center;justify-content:center}
body.netim-geo .fnode{position:relative;z-index:2;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--mint);font:900 italic 18px/1 'Montserrat';box-shadow:0 0 0 8px var(--soft),0 16px 28px -12px rgba(5,10,48,.45)}
body.netim-geo .farrow{position:absolute;z-index:1;top:50%;right:-13px;transform:translateY(-50%);width:26px;height:26px;color:var(--mint-deep)}
body.netim-geo .fstep:last-child .farrow{display:none}
body.netim-geo .fcard{position:absolute;left:8px;right:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 18px;box-shadow:0 24px 46px -32px rgba(5,10,48,.36);transition:transform .26s var(--geo-eout),box-shadow .26s var(--geo-eout),border-color .26s var(--geo-eout)}
body.netim-geo .fcard:hover{transform:translateY(-4px);border-color:var(--mint);box-shadow:0 32px 56px -30px rgba(5,10,48,.44)}
body.netim-geo .fcard::after{content:"";position:absolute;left:28px;width:2px;height:30px;background:linear-gradient(var(--mint-deep),transparent)}
body.netim-geo .fstep:nth-child(odd) .fcard{bottom:calc(50% + 46px)}
body.netim-geo .fstep:nth-child(odd) .fcard::after{bottom:-30px;background:linear-gradient(transparent,var(--mint-deep))}
body.netim-geo .fstep:nth-child(even) .fcard{top:calc(50% + 46px)}
body.netim-geo .fstep:nth-child(even) .fcard::after{top:-30px}
body.netim-geo .fcard h3{margin:0 0 6px;font:800 15px/1.22 'Montserrat';letter-spacing:-.01em;color:var(--navy)}
body.netim-geo .fcard p{margin:0;font:500 12.5px/1.5 'Montserrat';color:var(--mute)}
@media(max-width:780px){
  body.netim-geo .flow{display:grid;grid-template-columns:56px 1fr;grid-auto-flow:row dense;column-gap:20px;row-gap:0;min-height:0;margin-top:48px;margin-bottom:0}
  body.netim-geo .flow .fline{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--mint-deep) 0 7px,transparent 7px 15px)}
  body.netim-geo .fstep{display:contents}
  body.netim-geo .fnode{grid-column:1;margin:18px 0;align-self:start}
  body.netim-geo .farrow{display:none}
  body.netim-geo .fcard{grid-column:2;position:static;margin:14px 0;left:auto;right:auto}
  body.netim-geo .fcard::after{display:none}
  /* UWAGA WOJTKA: "na mobile nienaturalny odstep na koncu etapow wspolpracy".
     Pomiar 07.09 przy 390 px: kreskowana os biegla 107 px ZA srodek ostatniego wezla,
     bo .fline jest rozciagnieta na cala wysokosc .flow, a ostatnia karta jest wyzsza
     od wezla. Zamiast wpisywac sztywna wartosc, ktora rozjedzie sie przy innej dlugosci
     tekstu, zaslaniam nadmiar paskiem w kolorze tla sekcji, liczonym od samego wezla. */
  body.netim-geo .fnode:last-of-type::after{
    content:"";position:absolute;left:50%;top:50%;transform:translateX(-50%);
    width:6px;height:2400px;background:var(--soft);z-index:-1}
}

body.netim-geo #faq > .shell > .sec-h{ margin-bottom:clamp(30px,4vw,52px) }
@media(max-width:520px){
  body.netim-geo .gfl-detail{ margin-left:17px }
  body.netim-geo .gwk-tw{ margin-right:-24px; border-radius:14px 0 0 14px }
}

/* sygnet-motyw w hero (brandbook: cienka linia w narozniku, .06-.08) */
body.netim-geo .geoh-syg-tlo{
  position:absolute; z-index:0; left:-90px; bottom:-110px; width:420px; height:auto;
  color:#fff; opacity:.05; pointer-events:none;
}
body.netim-geo .geoh-wrap{ position:relative; z-index:1 }
@media (max-width: 640px){
  body.netim-geo .geoh-chat-rank li{ flex-wrap:wrap; row-gap:2px }
  body.netim-geo .geoh-chat-rank li b{ white-space:nowrap }
  body.netim-geo .geoh-chat-rank li span{ flex-basis:100%; margin-left:23px; text-align:left }
}
/* oddech przed stykiem z sekcja zespolu (karta przy krawedzi zaslania granice tla) */
body.netim-geo section.sec.gks{ padding-bottom:118px }

/* uklad dwukolumnowy FAQ (reguly bazowe siedza w sklepy-usluga.css pod
   .netim-shop, ktorego ta strona nie laduje) */
body.netim-geo .f8-grid{
  display:grid; gap:clamp(24px,3.5vw,48px); align-items:start; margin-top:6px;
  grid-template-columns:1.35fr .65fr;
}
@media (max-width: 900px){
  body.netim-geo .f8-grid{ grid-template-columns:minmax(0,1fr) }
}

/* akapity bloku wiedzy wypelniaja kolumne (byla pusta przestrzen po prawej) */
body.netim-geo .gwk-art{ max-width:900px }
body.netim-geo .gwk-art p,
body.netim-geo .gwk-art ul{ max-width:none }

/* tabele na mobile: czytelny sygnal, ze da sie przewinac w bok */
body.netim-geo .gwk-tw{ position:relative; -webkit-overflow-scrolling:touch }
body.netim-geo .gwk-tw table{ min-width:560px }
@media (max-width: 760px){
  body.netim-geo .gwk-tw::after{
    content:""; position:absolute; top:0; bottom:0; right:0; width:38px;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92));
    pointer-events:none; border-radius:0 14px 14px 0;
  }
  body.netim-geo .gwk-tw + .gwk-tw-hint,
  body.netim-geo .gwk-tw-hint{
    display:block; margin:-10px 0 16px;
    font:600 11px/1.4 'Montserrat',sans-serif; color:#8890ab;
  }
}
body.netim-geo .gwk-tw-hint{ display:none }
