/* pomiary.tech — arkusz stylów wszystkich stron. Kierunek: „protokół pomiarowy” (nowa/BRIEF.md).
   Kolory z oryginalnego logo: petrol #1B5A6B, zieleń #8CC63F, granat paneli #0A5078. */
@font-face{ font-family:"Inter"; src:url(fonts/InterVariable.woff2) format("woff2"); font-weight:100 900; font-display:swap; }
@font-face{ font-family:"JetBrains Mono"; src:url(fonts/JetBrainsMono-latin.woff2) format("woff2"); font-weight:100 800; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"JetBrains Mono"; src:url(fonts/JetBrainsMono-latin-ext.woff2) format("woff2"); font-weight:100 800; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root{
  --petrol:#1B5A6B; --petrol-g:#0F3640; --petrol-gg:#0A262E; --granat:#0A5078;
  --zielen:#8CC63F; --zielen-h:#9DD24F; --zielen-t:#3B7413;
  --iron:linear-gradient(90deg,#1B0B3F 0%,#57198A 22%,#A8287F 42%,#E0512E 64%,#F6A21E 82%,#FDF0A6 100%);
  --tlo:#F4F6F5; --karta:#FFFFFF; --tekst:#13262C; --szary:#53656A; --linia:#DAE2E1; --linia-m:#C2CFCD; --miekki:#EAF1EF;
  --nag:#0F3640; --link:#1B5A6B;
  --ok:#2C7417; --ok-t:#E5F2DC; --kryt:#B42318; --kryt-t:#FCE5E1; --ist:#8A5700; --ist-t:#FFF0CC; --mon:#1C5A82; --mon-t:#E0EDF6;
  --h-tlo:#EDF3F1; --h-siatka:rgba(27,90,107,.11); --h-siatka2:rgba(27,90,107,.05); --h-tytul:#0F3640; --h-tekst:#2C434A; --h-lead:#4A626A;
  --h-drobny:#5A7076; --h-ramka:rgba(15,54,64,.18); --h-akcent:#3B7413; --h-poswiata:rgba(140,198,63,.16); --h-pasek:#E2EBE9;
  --r:8px; --szer:1200px;
  --mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  color-scheme:light;
}
:root[data-motyw="ciemny"]{
  --h-tlo:#0F3640; --h-siatka:rgba(255,255,255,.07); --h-siatka2:rgba(255,255,255,.028); --h-tytul:#FFFFFF; --h-tekst:#D9E7E4; --h-lead:#B9CFCA;
  --h-drobny:#9FB9B3; --h-ramka:rgba(255,255,255,.16); --h-akcent:#8CC63F; --h-poswiata:rgba(140,198,63,.10); --h-pasek:#0A262E;
  --tlo:#0A1A1F; --karta:#0F242A; --tekst:#DFEAE8; --szary:#98ADAA; --linia:#1F3C44; --linia-m:#2C4F58; --miekki:#13302F;
  --nag:#F0F6F4; --link:#A9DA6E; --zielen-t:#A9DA6E;
  --ok:#9BD46A; --ok-t:#163A1C; --kryt:#FF9C8C; --kryt-t:#45201B; --ist:#F3C35A; --ist-t:#3E3013; --mon:#8CC3EA; --mon-t:#14324A;
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){ :root:not([data-motyw]){
  --h-tlo:#0F3640; --h-siatka:rgba(255,255,255,.07); --h-siatka2:rgba(255,255,255,.028); --h-tytul:#FFFFFF; --h-tekst:#D9E7E4; --h-lead:#B9CFCA;
  --h-drobny:#9FB9B3; --h-ramka:rgba(255,255,255,.16); --h-akcent:#8CC63F; --h-poswiata:rgba(140,198,63,.10); --h-pasek:#0A262E;
  --tlo:#0A1A1F; --karta:#0F242A; --tekst:#DFEAE8; --szary:#98ADAA; --linia:#1F3C44; --linia-m:#2C4F58; --miekki:#13302F;
  --nag:#F0F6F4; --link:#A9DA6E; --zielen-t:#A9DA6E;
  --ok:#9BD46A; --ok-t:#163A1C; --kryt:#FF9C8C; --kryt-t:#45201B; --ist:#F3C35A; --ist-t:#3E3013; --mon:#8CC3EA; --mon-t:#14324A;
  color-scheme:dark; } }

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:88px; -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--tlo); color:var(--tekst); font:400 17px/1.65 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-feature-settings:"cv11"; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--link); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover{ text-decoration-thickness:2px; }
h1,h2,h3,h4{ color:var(--nag); line-height:1.15; letter-spacing:-.022em; margin:0 0 .5em; font-weight:650; }
h1{ font-size:clamp(2.1rem, 4.2vw, 3.4rem); }
h2{ font-size:clamp(1.6rem, 2.7vw, 2.3rem); }
h3{ font-size:1.14rem; font-weight:650; letter-spacing:-.012em; }
p{ margin:0 0 1em; }
b, strong{ font-weight:650; }
.w{ max-width:var(--szer); margin:0 auto; padding:0 24px; }
.waska{ max-width:800px; }
.mono, .etykieta, .okruszki, .kwota, .liczba, code{ font-family:var(--mono); }
.skip{ position:absolute; left:-999px; top:8px; background:var(--petrol-g); color:#fff; padding:8px 14px; border-radius:4px; z-index:100; }
.skip:focus{ left:8px; }
:focus-visible{ outline:2px solid var(--zielen); outline-offset:3px; border-radius:2px; }
::selection{ background:var(--zielen); color:var(--petrol-gg); }

/* przyciski — prostokątne, bez cieni */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.6em; padding:.82em 1.3em; border-radius:6px; font:600 .98rem/1.1 Inter, system-ui, sans-serif;
  text-decoration:none !important; border:1px solid transparent; cursor:pointer; white-space:nowrap; transition:background .15s, border-color .15s, color .15s; }
.btn-g{ background:var(--zielen); color:var(--petrol-gg) !important; border-color:var(--zielen); }
.btn-g:hover{ background:var(--zielen-h); }
.btn-g::after{ content:"→"; font-family:var(--mono); transition:transform .15s; }
.btn-g:hover::after{ transform:translateX(3px); }
.btn-o{ border-color:var(--linia-m); color:var(--nag) !important; background:transparent; }
.btn-o:hover{ border-color:var(--nag); }
.btn-m{ padding:.62em 1em; font-size:.92rem; }
.btn-m::after{ display:none; }

/* nagłówek */
.naglowek{ position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--karta) 94%, transparent); backdrop-filter:saturate(1.3) blur(10px); border-bottom:1px solid var(--linia); }
.naglowek .w{ display:flex; align-items:center; gap:24px; height:76px; }
.logo{ flex-shrink:0; display:flex; align-items:center; text-decoration:none; }
.logo img{ height:52px; width:auto; }
.logo .l-ciemne{ display:none; }
:root[data-motyw="ciemny"] .logo .l-jasne{ display:none; }
:root[data-motyw="ciemny"] .logo .l-ciemne{ display:block; }
@media (prefers-color-scheme:dark){ :root:not([data-motyw]) .logo .l-jasne{ display:none; } :root:not([data-motyw]) .logo .l-ciemne{ display:block; } }
.menu{ display:flex; gap:2px; margin:0 0 0 auto; padding:0; list-style:none; }
.menu a{ display:block; padding:.5em .72em; border-radius:4px; color:var(--tekst); text-decoration:none; font-weight:550; font-size:.95rem; white-space:nowrap; position:relative; }
.menu a:hover{ background:var(--miekki); }
.menu a[aria-current]{ color:var(--nag); }
.menu a[aria-current]::after{ content:""; position:absolute; left:.72em; right:.72em; bottom:2px; height:2px; background:var(--zielen); }
.nag-akcje{ display:flex; align-items:center; gap:10px; }
.tel{ font-family:var(--mono); font-weight:600; font-size:.95rem; color:var(--nag); text-decoration:none; white-space:nowrap; }
.ikona{ width:40px; height:40px; display:inline-grid; place-items:center; border-radius:6px; border:1px solid var(--linia); background:var(--karta); color:var(--tekst); cursor:pointer; padding:0; }
.ikona svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.burger{ display:none; }
@media (max-width:1180px){
  .menu{ position:fixed; inset:76px 0 auto 0; flex-direction:column; padding:10px 24px 22px; background:var(--karta); border-bottom:1px solid var(--linia); display:none; }
  .menu.otwarte{ display:flex; }
  .menu a{ padding:.85em .2em; font-size:1.05rem; border-bottom:1px solid var(--linia); border-radius:0; }
  .menu a[aria-current]::after{ display:none; }
  .burger{ display:inline-grid; }
  .nag-akcje{ margin-left:auto; }
}
.tel{ display:none; } /* numer jest w stopce, w kontakcie i na pasku telefonu; w nagłówku menu ma pierwszeństwo */
@media (max-width:600px){ .nag-akcje .btn{ display:none; } .logo img{ height:40px; } .naglowek .w{ height:68px; } .menu{ inset:68px 0 auto 0; } }

/* sekcje */
.sekcja{ padding:96px 0; }
.sekcja.kremowa{ background:var(--karta); border-top:1px solid var(--linia); border-bottom:1px solid var(--linia); }
.naglowek-sekcji{ max-width:780px; margin-bottom:44px; }
.naglowek-sekcji.srodek{ margin-left:auto; margin-right:auto; text-align:center; }
.etykieta{ display:inline-flex; align-items:center; gap:.7em; font-size:.76rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--zielen-t); margin-bottom:1em; }
.etykieta::before{ content:""; width:22px; height:2px; background:var(--zielen); }
.srodek .etykieta::before, .srodek-t .etykieta::before{ display:none; }
.etykieta .nr{ color:var(--szary); }
.lead{ font-size:1.12rem; color:var(--szary); }
@media (max-width:700px){ .sekcja{ padding:64px 0; } body{ font-size:16.5px; } .w{ padding:0 18px; } }

/* tło „papier milimetrowy” — nagłówki stron */
.siatka-tlo{ background-color:var(--h-tlo);
  background-image:linear-gradient(var(--h-siatka) 1px, transparent 1px), linear-gradient(90deg, var(--h-siatka) 1px, transparent 1px),
    linear-gradient(var(--h-siatka2) 1px, transparent 1px), linear-gradient(90deg, var(--h-siatka2) 1px, transparent 1px);
  background-size:120px 120px, 120px 120px, 24px 24px, 24px 24px; background-position:-1px -1px; }

/* hero */
.hero{ position:relative; color:var(--h-tekst); border-bottom:1px solid var(--h-ramka); }
.hero::after{ content:""; position:absolute; inset:0; background:radial-gradient(900px 520px at 80% 20%, var(--h-poswiata), transparent 65%); pointer-events:none; }
.hero .w{ position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding-top:76px; padding-bottom:84px; }
.hero h1{ color:var(--h-tytul); font-weight:620; font-size:clamp(2rem, 3.5vw, 2.9rem); line-height:1.12; }
.hero h1 em{ font-style:normal; color:var(--h-akcent); }
.hero .etykieta, .hero-pod .etykieta{ color:var(--h-akcent); }
.hero .lead{ color:var(--h-lead); font-size:1.16rem; max-width:560px; }
.hero .btn-o, .hero-pod .btn-o, .cta-dol .btn-o{ color:var(--h-tytul) !important; border-color:var(--h-ramka); }
.hero .btn-o:hover, .hero-pod .btn-o:hover, .cta-dol .btn-o:hover{ border-color:var(--h-tytul); }
.hero-akcje{ display:flex; gap:12px; flex-wrap:wrap; margin:30px 0 36px; }
.odczyty{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:560px; margin:0; padding:0; list-style:none; border:1px solid var(--h-ramka); border-radius:6px; }
.odczyty li{ padding:12px 16px; line-height:1.35; border-left:1px solid var(--h-ramka); }
.odczyty li:first-child{ border-left:0; }
.odczyty b{ display:block; font-family:var(--mono); font-weight:600; color:var(--h-tytul); font-size:1.12rem; letter-spacing:-.01em; }
.odczyty span{ font-size:.82rem; color:var(--h-drobny); }
@media (max-width:1040px){ .hero .w{ grid-template-columns:1fr; gap:44px; padding-top:52px; padding-bottom:60px; } }
@media (max-width:520px){ .odczyty{ grid-template-columns:1fr 1fr; } .odczyty li:nth-child(3){ grid-column:1/-1; border-left:0; border-top:1px solid var(--h-ramka); } }

/* porównanie zdjęcie / termogram — „wizjer przyrządu” */
.wizjer{ position:relative; padding:14px; }
.wizjer::before, .wizjer::after{ content:""; position:absolute; width:26px; height:26px; border-color:var(--h-akcent); border-style:solid; pointer-events:none; }
.wizjer::before{ top:0; left:0; border-width:2px 0 0 2px; }
.wizjer::after{ right:0; bottom:0; border-width:0 2px 2px 0; }
.wizjer-gora{ display:flex; justify-content:space-between; gap:12px; font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--h-drobny); margin:0 0 10px; }
.wizjer-gora .rec::before{ content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#E0512E; margin-right:7px; vertical-align:1px; }
.porownanie{ position:relative; border-radius:4px; overflow:hidden; aspect-ratio:723/540; background:#06171C; user-select:none; touch-action:pan-y; }
.porownanie img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.porownanie .ir{ clip-path:inset(0 0 0 var(--x, 50%)); }
.porownanie .uchwyt{ position:absolute; top:0; bottom:0; left:var(--x, 50%); width:2px; background:#fff; transform:translateX(-50%); pointer-events:none; }
.porownanie .uchwyt::after{ content:"◂ ▸"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); padding:7px 9px; border-radius:4px; background:#fff; color:var(--petrol-g);
  font:600 .8rem/1 var(--mono); white-space:nowrap; box-shadow:0 4px 14px rgba(0,0,0,.35); }
.porownanie input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0; }
.porownanie .pod{ position:absolute; top:10px; padding:4px 8px; border-radius:3px; background:rgba(6,23,28,.72); color:#fff; font:500 .72rem/1.2 var(--mono); letter-spacing:.05em; text-transform:uppercase; pointer-events:none; }
.porownanie .pod.l{ left:10px; } .porownanie .pod.p{ right:10px; }
.skala{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin-top:12px; font:500 .72rem/1 var(--mono); color:var(--h-drobny); text-transform:uppercase; letter-spacing:.05em; }
.skala i{ height:8px; border-radius:2px; background:var(--iron); }
.podpis-por{ color:var(--h-drobny); font-size:.86rem; margin:12px 0 0; }

/* pasek norm */
.normy{ background:var(--h-pasek); color:var(--h-tekst); border-bottom:1px solid var(--h-ramka); }
.normy .w{ display:flex; align-items:center; gap:10px 0; flex-wrap:wrap; padding-top:16px; padding-bottom:16px; font:500 .8rem/1.4 var(--mono); }
.normy span{ padding:0 18px; border-left:1px solid var(--h-ramka); white-space:nowrap; }
.normy span:first-child{ padding-left:0; border-left:0; color:var(--h-akcent); }
@media (max-width:700px){ .normy span{ padding:0 12px 0 0; border-left:0; } }

/* loga */
.zaufanie{ background:var(--karta); border-bottom:1px solid var(--linia); }
.zaufanie .w{ display:flex; align-items:center; justify-content:space-between; gap:20px 40px; padding-top:26px; padding-bottom:26px; flex-wrap:wrap; }
.zaufanie p{ margin:0; font:500 .76rem/1.5 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--szary); max-width:220px; }
.loga{ display:flex; align-items:center; gap:30px 38px; flex-wrap:wrap; }
.loga img{ height:28px; width:auto; filter:grayscale(1) contrast(1.2); opacity:.75; transition:.2s; }
.loga img.wysokie{ height:40px; }
.loga img:hover{ filter:none; opacity:1; }
:root[data-motyw="ciemny"] .loga img{ filter:grayscale(1) invert(1) brightness(1.5); opacity:.7; }
@media (prefers-color-scheme:dark){ :root:not([data-motyw]) .loga img{ filter:grayscale(1) invert(1) brightness(1.5); opacity:.7; } }

/* siatki i karty */
.siatka{ display:grid; gap:20px; }
.s2{ grid-template-columns:repeat(2,minmax(0,1fr)); } .s3{ grid-template-columns:repeat(3,minmax(0,1fr)); } .s4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1000px){ .s3,.s4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .s2,.s3,.s4{ grid-template-columns:1fr; } }
.karta{ background:var(--karta); border:1px solid var(--linia); border-radius:var(--r); padding:26px; }
.kremowa .karta{ background:var(--tlo); }
.karta h3{ margin-top:0; }
.karta p:last-child{ margin-bottom:0; }

/* usługi */
.uslugi{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--linia); border-radius:var(--r); overflow:hidden; background:var(--linia); gap:1px; }
@media (max-width:760px){ .uslugi{ grid-template-columns:1fr; } }
.usluga{ display:flex; flex-direction:column; text-decoration:none; color:inherit; background:var(--karta); padding:32px; position:relative; transition:background .15s; }
.usluga:hover{ background:color-mix(in srgb, var(--zielen) 6%, var(--karta)); }
.usluga-gora{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.usluga .nr{ font:500 .8rem/1 var(--mono); color:var(--szary); }
.ik-svg{ width:44px; height:44px; border-radius:6px; display:grid; place-items:center; background:var(--miekki); color:var(--petrol); }
:root[data-motyw="ciemny"] .ik-svg{ color:var(--zielen); }
@media (prefers-color-scheme:dark){ :root:not([data-motyw]) .ik-svg{ color:var(--zielen); } }
.ik-svg svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.usluga h3{ font-size:1.32rem; margin-bottom:.45em; }
.usluga p{ color:var(--szary); }
.parametry{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 22px; padding:0; list-style:none; flex:1; align-content:flex-start; }
.parametry li{ font:500 .76rem/1 var(--mono); padding:6px 8px; border:1px solid var(--linia-m); border-radius:3px; color:var(--tekst); }
.usluga-dol{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:18px; border-top:1px dashed var(--linia-m); }
.usluga .wiecej{ font-weight:600; color:var(--link); }
.usluga .cena{ font:600 .85rem/1 var(--mono); color:var(--nag); }
.dopisek{ margin-top:22px; color:var(--szary); font-size:.98rem; }

/* obowiązek / warto */
.dwie-kol{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
@media (max-width:820px){ .dwie-kol{ grid-template-columns:1fr; } }
.lista-pod{ list-style:none; padding:0; margin:0; }
.lista-pod li{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; padding:14px 0; border-bottom:1px solid var(--linia); }
.lista-pod li:last-child{ border-bottom:0; padding-bottom:0; }
.lista-pod b{ color:var(--nag); }
.lista-pod small{ grid-column:1/-1; color:var(--szary); font-size:.93rem; }
.lista-pod .zr{ font:500 .74rem/1.5 var(--mono); color:var(--zielen-t); text-align:right; white-space:nowrap; }
.karta-naglowek{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.karta-naglowek h3{ margin:0; }
.znak{ font:600 .7rem/1 var(--mono); text-transform:uppercase; letter-spacing:.06em; padding:6px 8px; border-radius:3px; }
.znak-musisz{ background:var(--kryt-t); color:var(--kryt); }
.znak-warto{ background:var(--mon-t); color:var(--mon); }

/* protokół — tabela-makieta */
.uklad{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:60px; align-items:center; }
@media (max-width:980px){ .uklad{ grid-template-columns:1fr; gap:36px; } }
.lista-check{ list-style:none; padding:0; margin:0 0 1.6em; }
.lista-check li{ position:relative; padding-left:30px; margin:.8em 0; }
.lista-check li::before{ content:""; position:absolute; left:2px; top:.42em; width:12px; height:7px; border-left:2px solid var(--zielen-t); border-bottom:2px solid var(--zielen-t); transform:rotate(-45deg); }
.lista-check b{ color:var(--nag); }
.protokol{ background:var(--karta); border:1px solid var(--linia-m); border-radius:var(--r); overflow:hidden; font-size:.9rem; box-shadow:0 24px 48px -24px rgba(15,54,64,.35); }
.pr-gora{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:18px 20px; border-bottom:2px solid var(--nag); }
.pr-gora b{ display:block; color:var(--nag); font-size:1rem; }
.pr-gora small, .pr-meta{ font:500 .7rem/1.5 var(--mono); color:var(--szary); text-transform:uppercase; letter-spacing:.04em; }
.pr-meta{ text-align:right; }
.protokol table{ width:100%; border-collapse:collapse; }
.protokol th{ font:500 .68rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.05em; color:var(--szary); text-align:left; padding:10px 12px; background:var(--tlo); border-bottom:1px solid var(--linia); }
.protokol td{ padding:11px 12px; border-bottom:1px solid var(--linia); vertical-align:middle; }
.protokol td small{ display:block; color:var(--szary); font-size:.8rem; }
.protokol .wyn{ font-family:var(--mono); font-weight:600; color:var(--nag); white-space:nowrap; }
.protokol .wym{ font-family:var(--mono); color:var(--szary); white-space:nowrap; font-size:.84rem; }
.protokol tr:last-child td{ border-bottom:0; }
.ocena, .priorytet{ display:inline-block; font:600 .66rem/1 var(--mono); letter-spacing:.05em; text-transform:uppercase; padding:5px 7px; border-radius:3px; white-space:nowrap; }
.o-ok{ background:var(--ok-t); color:var(--ok); } .o-nie, .p-kryt{ background:var(--kryt-t); color:var(--kryt); } .p-ist{ background:var(--ist-t); color:var(--ist); } .p-mon{ background:var(--mon-t); color:var(--mon); }
.pr-dol{ padding:12px 20px; background:var(--tlo); border-top:1px solid var(--linia); font:500 .7rem/1.5 var(--mono); color:var(--szary); }
@media (max-width:600px){ .protokol .k-wym{ display:none; } .protokol td, .protokol th{ padding-left:9px; padding-right:9px; } .pr-meta{ display:none; } }
.poziomy{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--linia); border:1px solid var(--linia); border-radius:var(--r); overflow:hidden; margin-top:40px; }
.poziomy div{ background:var(--karta); padding:18px 20px; font-size:.92rem; color:var(--szary); }
.poziomy b{ display:block; margin:10px 0 2px; color:var(--nag); }
@media (max-width:700px){ .poziomy{ grid-template-columns:1fr; } }

/* przebieg */
.kroki{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); counter-reset:k; list-style:none; padding:0; margin:0; }
.kroki li{ position:relative; padding:0 26px 0 0; }
.kroki li::before{ counter-increment:k; content:"0" counter(k); display:block; font:600 .9rem/1 var(--mono); color:var(--zielen-t); padding-bottom:16px; margin-bottom:18px; border-bottom:2px solid var(--linia-m); }
.kroki li:first-child::before{ border-bottom-color:var(--zielen); }
.kroki h3{ margin-bottom:.35em; }
.kroki p{ color:var(--szary); font-size:.96rem; margin:0; }
@media (max-width:900px){ .kroki{ grid-template-columns:1fr 1fr; gap:34px 0; } }
@media (max-width:520px){ .kroki{ grid-template-columns:1fr; } }

/* cennik */
.pakiety{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
@media (max-width:980px){ .pakiety{ grid-template-columns:1fr; max-width:540px; margin:0 auto; } }
.pakiet{ display:flex; flex-direction:column; position:relative; padding:28px; }
.pakiet.wyrozniony{ border-color:var(--nag); box-shadow:inset 0 4px 0 var(--zielen); }
.pakiet .znacznik{ position:absolute; top:-11px; right:20px; background:var(--zielen); color:var(--petrol-gg); font:600 .66rem/1 var(--mono); padding:6px 8px; border-radius:3px; letter-spacing:.05em; text-transform:uppercase; }
.pakiet h3{ font-size:1.2rem; }
.pakiet .norma{ font:500 .74rem/1.4 var(--mono); color:var(--szary); margin:-.3em 0 1.2em; }
.pakiet .kwota{ font-size:2rem; font-weight:600; color:var(--nag); letter-spacing:-.03em; line-height:1; margin:0 0 .25em; }
.pakiet .kwota small{ font-size:.85rem; font-weight:500; color:var(--szary); letter-spacing:0; }
.pakiet .brutto{ font:500 .78rem/1.4 var(--mono); color:var(--szary); padding-bottom:1.1em; margin-bottom:1.1em; border-bottom:1px solid var(--linia); }
.pakiet ul{ list-style:none; padding:0; margin:0 0 1.4em; flex:1; font-size:.94rem; }
.pakiet li{ padding:.4em 0 .4em 1.7em; position:relative; }
.pakiet li::before{ content:""; position:absolute; left:2px; top:.85em; width:10px; height:6px; border-left:2px solid var(--zielen-t); border-bottom:2px solid var(--zielen-t); transform:rotate(-45deg); }
.pakiet li.nie{ color:var(--szary); text-decoration:line-through; text-decoration-color:var(--linia-m); }
.pakiet li.nie::before{ border:0; width:10px; height:2px; background:var(--linia-m); transform:none; top:1.05em; }
.pakiet .dla{ font-size:.93rem; color:var(--szary); margin-bottom:1em; }
.uwaga-cen{ margin-top:22px; padding:18px 22px; border:1px dashed var(--linia-m); border-radius:var(--r); font-size:.95rem; }

/* realizacje */
.realizacja{ display:flex; flex-direction:column; }
.realizacja .liczba{ font-size:2.2rem; font-weight:600; letter-spacing:-.04em; color:var(--nag); line-height:1; margin:14px 0 4px; }
.realizacja .liczba-op{ color:var(--szary); font-size:.88rem; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--linia); }
.realizacja dl{ margin:0; font-size:.93rem; }
.realizacja dt{ font:500 .68rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--szary); margin-top:.9em; }
.realizacja dd{ margin:.15em 0 0; }
.miejsce{ font:500 .72rem/1.4 var(--mono); color:var(--zielen-t); text-transform:uppercase; letter-spacing:.05em; }

/* kto mierzy */
.zdjecie-miejsce{ aspect-ratio:4/5; border-radius:var(--r); border:1px dashed var(--linia-m); display:grid; place-items:center; text-align:center; padding:24px; color:var(--szary);
  background:repeating-linear-gradient(45deg, transparent 0 12px, color-mix(in srgb, var(--linia) 45%, transparent) 12px 13px), var(--tlo); font-size:.92rem; }
.zdjecie-miejsce b{ display:block; color:var(--nag); font-size:1rem; margin-bottom:.4em; }
.uprawnienia{ margin:24px 0 0; border-top:1px solid var(--linia); }
.uprawnienia div{ display:grid; grid-template-columns:170px minmax(0,1fr); gap:16px; padding:13px 0; border-bottom:1px solid var(--linia); }
.uprawnienia dt{ font:500 .72rem/1.7 var(--mono); text-transform:uppercase; letter-spacing:.05em; color:var(--szary); }
.uprawnienia dd{ margin:0; }
@media (max-width:520px){ .uprawnienia div{ grid-template-columns:1fr; gap:2px; } }
.sprzet{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--linia); border:1px solid var(--linia); border-radius:var(--r); overflow:hidden; }
.sprzet div{ background:var(--karta); padding:20px 22px; }
.sprzet b{ display:block; font-family:var(--mono); font-weight:600; font-size:.9rem; color:var(--nag); margin-bottom:4px; }
.sprzet span{ font-size:.9rem; color:var(--szary); }
@media (max-width:900px){ .sprzet{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .sprzet{ grid-template-columns:1fr; } }
.sprzet-tyt{ margin:64px 0 18px; font-size:1.2rem; }

/* opinie */
.opinia{ margin:0; }
.opinia blockquote{ margin:0 0 14px; font-size:1.02rem; }
.opinia cite{ font:500 .74rem/1.4 var(--mono); font-style:normal; text-transform:uppercase; letter-spacing:.05em; color:var(--szary); }

/* FAQ */
.faq details{ border-bottom:1px solid var(--linia); }
.faq details:first-of-type{ border-top:1px solid var(--linia); }
.faq summary{ cursor:pointer; list-style:none; padding:20px 48px 20px 0; font-weight:600; color:var(--nag); position:relative; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font:400 1.3rem/1 var(--mono); color:var(--zielen-t); }
.faq details[open] summary::after{ content:"−"; }
.faq details > div{ padding:0 0 20px; color:var(--szary); max-width:680px; }

/* kontakt */
.kontakt{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:56px; align-items:start; }
@media (max-width:900px){ .kontakt{ grid-template-columns:1fr; gap:32px; } }
.dane-kontakt{ display:grid; margin:28px 0; border-top:1px solid var(--linia); }
.dane-kontakt a, .dane-kontakt div{ display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; padding:14px 0; border-bottom:1px solid var(--linia); text-decoration:none; color:var(--tekst); }
.dane-kontakt .ik{ font:500 .7rem/1.9 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--szary); }
.dane-kontakt b{ display:block; color:var(--nag); font-weight:600; }
.dane-kontakt a b{ font-family:var(--mono); }
.dane-kontakt small{ color:var(--szary); }
form.formularz{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.formularz .cale{ grid-column:1/-1; }
@media (max-width:560px){ form.formularz{ grid-template-columns:1fr; } }
.formularz label{ display:block; font:500 .72rem/1.4 var(--mono); text-transform:uppercase; letter-spacing:.05em; margin-bottom:7px; color:var(--szary); }
.formularz input, .formularz select, .formularz textarea{ width:100%; font:inherit; font-size:1rem; padding:.75em .9em; border:1px solid var(--linia-m); border-radius:4px; background:var(--karta); color:var(--tekst); }
.formularz input:focus, .formularz select:focus, .formularz textarea:focus{ border-color:var(--petrol); outline:none; box-shadow:0 0 0 3px color-mix(in srgb, var(--zielen) 35%, transparent); }
.formularz textarea{ min-height:130px; resize:vertical; }
.formularz .btn{ width:100%; padding:1em; }
.zgoda{ display:grid !important; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:flex-start; font:400 .9rem/1.5 Inter, system-ui, sans-serif !important; text-transform:none !important; letter-spacing:0 !important; color:var(--szary) !important; }
.zgoda input{ width:auto; margin-top:.25em; accent-color:var(--petrol); }
.pulapka{ position:absolute; left:-9999px; }
.komunikat{ padding:14px 16px; border-radius:4px; font-weight:600; }
.komunikat.ok{ background:var(--ok-t); color:var(--ok); } .komunikat.zle{ background:var(--kryt-t); color:var(--kryt); }
.karta-form{ padding:30px; border-color:var(--linia-m); }

/* stopka */
.stopka{ background:var(--petrol-gg); color:#A9C2BC; padding:72px 0 28px; font-size:.94rem; }
.stopka .w{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; }
@media (max-width:900px){ .stopka .w{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .stopka .w{ grid-template-columns:1fr; } }
.stopka h4{ font:500 .72rem/1.4 var(--mono); text-transform:uppercase; letter-spacing:.08em; color:#7F9C96; margin-bottom:1.1em; }
.stopka a{ color:#DCEAE6; text-decoration:none; }
.stopka a:hover{ color:#fff; text-decoration:underline; }
.stopka ul{ list-style:none; padding:0; margin:0; display:grid; gap:.5em; }
.stopka .logo{ margin-bottom:20px; }
.stopka .logo img{ height:52px; }
.stopka .logo .l-jasne{ display:none !important; } .stopka .logo .l-ciemne{ display:block !important; }
.stopka .firma{ font-size:.86rem; color:#8EA8A2; }
.stopka-dol{ max-width:var(--szer); margin:48px auto 0; padding:22px 24px 0; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font:500 .74rem/1.4 var(--mono); color:#7F9C96; }

/* pasek akcji na telefonie */
.akcje-tel{ display:none; }
@media (max-width:700px){
  .akcje-tel{ display:grid; grid-template-columns:1fr 1.4fr; position:fixed; left:0; right:0; bottom:0; z-index:60; border-top:1px solid var(--linia-m); }
  .akcje-tel a{ padding:1.05em .5em; text-align:center; font-weight:600; text-decoration:none; }
  .akcje-tel .z{ background:var(--karta); color:var(--nag) !important; font-family:var(--mono); }
  .akcje-tel .w2{ background:var(--zielen); color:var(--petrol-gg) !important; }
  body{ padding-bottom:58px; }
}

/* podstrony */
.okruszki{ font-size:.74rem; color:var(--h-drobny); margin-bottom:22px; text-transform:uppercase; letter-spacing:.04em; }
.okruszki a{ color:var(--h-tekst); text-decoration:none; }
.okruszki a:hover{ color:var(--h-tytul); text-decoration:underline; }
.hero-pod{ color:var(--h-tekst); border-bottom:1px solid var(--h-ramka); padding:56px 0 64px; }
.hero-pod h1{ color:var(--h-tytul); font-size:clamp(2rem, 3.8vw, 3rem); max-width:900px; font-weight:620; }
.hero-pod .lead{ color:var(--h-lead); max-width:740px; }
.hero-pod .hero-akcje{ margin-bottom:0; }
.tresc-uklad{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:56px; align-items:start; padding-top:64px; padding-bottom:88px; }
@media (max-width:980px){ .tresc-uklad{ grid-template-columns:minmax(0,1fr); gap:36px; padding-top:44px; } }
.artykul{ max-width:760px; }
.artykul h2{ font-size:clamp(1.4rem, 2.3vw, 1.8rem); margin-top:1.9em; padding-top:1.1em; border-top:1px solid var(--linia); }
.artykul h2:first-child{ margin-top:0; padding-top:0; border-top:0; }
.artykul h3{ margin-top:1.4em; }
.artykul ul, .artykul ol{ padding-left:1.3em; }
.artykul li{ margin:.4em 0; }
.artykul li::marker{ color:var(--zielen-t); }
.artykul ol li::marker{ font-family:var(--mono); font-size:.9em; }
.artykul table{ width:100%; border-collapse:collapse; margin:1.2em 0 1.6em; font-size:.93rem; background:var(--karta); border:1px solid var(--linia-m); }
.artykul th, .artykul td{ padding:.72em .9em; text-align:left; border-bottom:1px solid var(--linia); vertical-align:top; }
.artykul th{ font:500 .7rem/1.4 var(--mono); text-transform:uppercase; letter-spacing:.05em; color:var(--szary); background:var(--tlo); border-bottom:2px solid var(--nag); }
.artykul .karta h3{ font-size:1.05rem; }
.artykul .siatka{ margin:1.2em 0 1.6em; gap:14px; }
.artykul .karta{ padding:20px; }
.tabela-przewin{ overflow-x:auto; }
.ramka{ border:1px solid var(--linia); border-left:3px solid var(--zielen); background:var(--karta); padding:18px 22px; border-radius:0 var(--r) var(--r) 0; margin:1.6em 0; }
.ramka.ostrz{ border-left-color:#E0512E; background:color-mix(in srgb, #E0512E 6%, var(--karta)); }
.ramka p:last-child{ margin:0; }
.boczny{ position:sticky; top:100px; display:grid; gap:16px; }
.boczny .karta{ padding:24px; }
.boczny .karta h3{ font-size:1.08rem; }
.boczny .btn{ width:100%; }
.boczny .karta-cta{ background:var(--h-tlo); border-color:var(--h-ramka); border-top:3px solid var(--zielen); color:var(--h-tekst); }
.boczny .karta-cta h3{ color:var(--h-tytul); }
.boczny .karta-cta .tel-boczny a{ color:var(--h-tytul); font-family:var(--mono); text-decoration:none; }
.powiazane{ list-style:none; padding:0; margin:0; display:grid; font-size:.94rem; }
.powiazane li{ border-top:1px solid var(--linia); }
.powiazane a{ display:block; padding:.65em 0; text-decoration:none; }
.powiazane a:hover{ text-decoration:underline; }
.zdjecia2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:1.4em 0; }
.zdjecia2 figure{ margin:0; }
.zdjecia2 img{ border-radius:4px; width:100%; aspect-ratio:4/5; object-fit:cover; }
.zdjecia2 figcaption, figure.zdj figcaption{ font:500 .72rem/1.5 var(--mono); color:var(--szary); margin-top:8px; }
figure.zdj{ margin:1.4em 0; } figure.zdj img{ border-radius:4px; }
.cta-dol{ color:var(--h-tekst); border-top:1px solid var(--h-ramka); padding:64px 0; text-align:center; }
.cta-dol h2{ color:var(--h-tytul); }
.cta-dol .lead{ color:var(--h-lead); }
.cta-dol .hero-akcje{ justify-content:center; margin-bottom:0; }
.podglad-info{ background:#FFF3D6; color:#6B4A00; text-align:center; font:500 .76rem/1.4 var(--mono); padding:7px 12px; letter-spacing:.02em; }

/* poradniki — lista */
.poradniki{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
@media (max-width:760px){ .poradniki{ grid-template-columns:1fr; } }
.poradnik{ display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:border-color .15s; }
.poradnik:hover{ border-color:var(--nag); }
.poradnik h3{ font-size:1.25rem; }
.poradnik p{ color:var(--szary); flex:1; }
.poradnik .wiecej{ font-weight:600; color:var(--link); }

/* klasy pomocnicze (zamiast stylów w atrybutach — CSP bez 'unsafe-inline') */
.etykieta-j{ color:var(--h-akcent) !important; }
.tel-boczny{ margin:14px 0 0; text-align:center; }
.bez-dolu{ margin-bottom:0; }
.bez-marg{ margin:0; }
.srodek-t{ text-align:center; }
.do-srodka{ justify-content:center; }
.tresc-prawna{ padding-top:48px; padding-bottom:72px; }

/* telefon: źródło przepisu nad tytułem, stopka karty usługi w kolumnie */
@media (max-width:560px){
  .lista-pod li{ grid-template-columns:1fr; }
  .lista-pod .zr{ order:-1; text-align:left; }
  .usluga{ padding:26px 22px; }
  .usluga-dol{ flex-direction:column; align-items:flex-start; gap:8px; }
}
@media (max-width:980px){ #o-nas .zdjecie-miejsce{ order:2; aspect-ratio:16/10; } }
.boczny .karta p{ font-size:.95rem; }
/* średnie ekrany: pełne menu mieści się w jednej linii */
@media (min-width:1181px){
  .naglowek .w{ gap:14px; }
  .menu a{ padding:.5em .5em; font-size:.9rem; }
  .menu a[aria-current]::after{ left:.5em; right:.5em; }
  .logo img{ height:44px; }
  .nag-akcje .btn-m{ padding:.6em .8em; font-size:.88rem; }
}
