/* PKL Serwis Naczep - v1 beta (v3: duża typografia, zdjęcia, gradienty) */
:root{
  --bg:#0a0f1c;
  --bg-2:#0f1728;
  --ink:#f2f5fa;
  --ink-soft:#b4bfd2;
  --ink-mute:#8794ab;
  --amber:#6fb8ff;
  --orange:#2563eb;
  --grad:linear-gradient(100deg,#8fd0ff 0%,#3b8bff 48%,#1d4ed8 100%);
  --on-grad:#ffffff;
  --grad-txt:linear-gradient(100deg,#b3e0ff 0%,#7db8ff 55%,#5b9dff 100%);
  --container:1320px;
  --pad:clamp(16px,4.5vw,56px);
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1);
}
html.kontrast{--bg:#000;--bg-2:#000;--ink:#fff;--ink-soft:#fff;--ink-mute:#fff;--grad:linear-gradient(#ffe600,#ffe600);--amber:#ffe600;--orange:#ffe600}
html.kontrast .hero-tlo,html.kontrast .dlaczego-tlo,html.kontrast .kafel img,html.kontrast .silos-foto img{opacity:.25;filter:grayscale(1)}

*{box-sizing:border-box}
html{font-size:calc(100% * var(--skala,1));scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.04;margin:0;letter-spacing:-.025em}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gradient,.gradient > span{background:var(--grad-txt);-webkit-background-clip:text;background-clip:text;color:transparent}
.mega{font-size:clamp(2.5rem,5.6vw,4.9rem)}
.duzy{font-size:clamp(2.1rem,4vw,3.6rem);margin-bottom:.45em}
.nadtytul{font-family:var(--font);font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;color:var(--amber);margin-bottom:1.2em}
.skip{position:absolute;left:12px;top:-80px;background:var(--amber);color:#000;padding:10px 16px;font-weight:700;z-index:200;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--amber);outline-offset:4px}

/* przyciski */
.btn{display:inline-flex;align-items:center;gap:14px;padding:17px 28px;border-radius:3px;background:#2563eb;color:#fff;font-family:var(--display);font-weight:600;font-size:1rem;letter-spacing:.01em;text-decoration:none;border:0;cursor:pointer;transition:background .3s,transform .3s var(--ease)}
.btn:hover{background:#1d4ed8;transform:translateY(-1px)}
.btn .strz,.kafel-link .strz,.link-mapa .strz{width:22px;height:22px;flex:none;transition:transform .35s var(--ease)}
.btn:hover .strz,.kafel:hover .strz,.link-mapa:hover .strz{transform:translateX(6px)}
.btn-linia{background:rgba(10,15,28,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.btn-linia:hover{background:rgba(10,15,28,.9);box-shadow:inset 0 0 0 1.5px var(--amber);color:#fff}

/* nagłówek */
.header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .4s,backdrop-filter .4s}
.header-in{display:flex;align-items:center;gap:28px;height:88px;transition:height .4s var(--ease)}
.header.przewiniety{background:rgba(10,15,28,.9);box-shadow:0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header.przewiniety .header-in{height:70px}
.logo{display:inline-flex;color:var(--ink);text-decoration:none;flex:none}

.nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;flex:none}
.nav a{display:block;padding:10px 14px;text-decoration:none;font-family:var(--display);font-weight:500;font-size:.95rem;letter-spacing:.005em;color:rgba(242,245,250,.82);white-space:nowrap;position:relative;transition:color .25s}
.nav a:hover{color:#fff}
.nav a:after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover:after{transform:scaleX(1)}
.a11y{display:flex;gap:0;padding-left:14px;margin-left:4px;box-shadow:-1px 0 0 rgba(255,255,255,.14)}
.a11y button{background:transparent;color:rgba(242,245,250,.5);border:0;min-width:34px;height:34px;font:600 .95rem var(--font);cursor:pointer;display:grid;place-items:center}
.a11y button:hover,.a11y button[aria-pressed="true"]{color:var(--amber)}
.a11y svg{width:18px;height:18px}
.tel-btn{flex:none;padding:11px 20px;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff;font-family:var(--display);font-weight:600;font-size:.95rem;letter-spacing:.01em;transition:background .3s,color .3s,box-shadow .3s;text-decoration:none;white-space:nowrap}
.tel-lbl{font-weight:500;opacity:.6;margin-right:4px}
.tel-btn:hover{background:#fff;color:#0a0f1c;box-shadow:none}
.menu-toggle{display:none;background:none;border:0;color:var(--ink);width:48px;height:48px;cursor:pointer;padding:0}
.menu-toggle svg{width:30px;height:30px;margin:auto}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;padding:140px 0 clamp(64px,10vh,120px)}
.hero-tlo{position:absolute;inset:-4%;z-index:-3;background-size:cover;background-position:center 35%;animation:kenburns 18s var(--ease) both}
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:
  linear-gradient(180deg,rgba(10,15,28,.7) 0%,rgba(10,15,28,.15) 28%,rgba(10,15,28,.35) 62%,var(--bg) 100%),
  linear-gradient(90deg,rgba(10,15,28,.93) 0%,rgba(10,15,28,.78) 38%,rgba(10,15,28,.25) 62%,rgba(10,15,28,0) 85%),
  radial-gradient(80% 60% at 100% 100%,rgba(37,99,235,.28),transparent 70%)}
.hero-in{width:100%}
.hero-h{font-size:clamp(2.8rem,7.2vw,6.6rem);line-height:1.02;letter-spacing:-.035em;margin-bottom:.4em}
.hero-h .linia{display:block;overflow:hidden;padding-bottom:.04em}
.hero-h .linia > span{display:inline-block}
.hero-lead{font-size:clamp(1.15rem,1.7vw,1.5rem);color:#e8edf5;max-width:640px;margin-bottom:1.6em}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px}
.scroll-hint{position:absolute;right:var(--pad);bottom:48px;width:28px;height:46px;border:2px solid rgba(255,255,255,.5);border-radius:14px}
.scroll-hint span{position:absolute;left:50%;top:9px;width:4px;height:9px;margin-left:-2px;border-radius:2px;background:var(--amber);animation:kolko 1.8s ease-in-out infinite}
.hero-pod{min-height:78svh}
.hero-pod .hero-h{font-size:clamp(2.5rem,6vw,5.4rem)}
.hero-ciemny{min-height:0;padding-top:170px;padding-bottom:80px;background:radial-gradient(70% 90% at 90% 0%,rgba(37,99,235,.25),transparent 60%),var(--bg)}
.hero-ciemny:before{display:none}
.okruszki{font-size:.95rem;color:#e8edf5;margin-bottom:1.4em}
.okruszki a{color:var(--ink)}

/* taśma */
.tasma-box{overflow:hidden;background:var(--bg);padding:26px 0 0}
.tasma{overflow:hidden;padding:22px 0;background:linear-gradient(90deg,rgba(37,99,235,.12),rgba(59,139,255,.05) 50%,rgba(37,99,235,.12))}
.tasma-in{display:flex;width:max-content;animation:tasma 45s linear infinite}
.tasma span{font-family:var(--display);font-weight:600;letter-spacing:-.01em;font-size:clamp(1.15rem,1.8vw,1.55rem);color:var(--ink-soft);padding:0 26px;white-space:nowrap;display:flex;align-items:center}
.tasma span:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);margin-left:52px}

/* sekcje */
.sekcja{padding:clamp(88px,13vw,180px) 0}
.sekcja-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(40px,6vw,80px);flex-wrap:wrap}
.sekcja-lead{max-width:430px;font-size:1.2rem;color:var(--ink-soft);margin:0}

/* kafle usług */
.kafle{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.4vw,20px)}
.kafel{grid-column:span 2;position:relative;display:block;min-height:clamp(380px,42vw,560px);overflow:hidden;text-decoration:none;color:#fff;isolation:isolate}
.kafel.szeroki{grid-column:span 3}
.kafel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--ease)}
.kafel:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,15,28,0) 25%,rgba(10,15,28,.55) 55%,rgba(10,15,28,.96) 100%)}
.kafel:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(30deg,rgba(29,78,216,.6),transparent 60%);opacity:0;transition:opacity .6s var(--ease)}
.kafel:hover img{transform:scale(1.07)}
.kafel:hover:before{opacity:1}
.kafel-nr{position:absolute;top:24px;left:clamp(22px,2.6vw,38px);font-family:var(--font);font-weight:500;font-size:.9rem;letter-spacing:.14em;color:rgba(255,255,255,.8)}
.kafel-txt{position:absolute;left:0;right:0;bottom:0;padding:clamp(22px,2.6vw,38px)}
.kafel-h{display:block;font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1.08;margin-bottom:.4em}
.kafel-p{display:block;color:#eef1f6;max-width:440px;font-size:1.02rem}
.kafel-link{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-weight:600;color:var(--amber)}
.kafle-3{grid-template-columns:repeat(3,1fr)}
.kafle-3 .kafel{grid-column:span 1}

/* silosy */
.silos{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;min-height:90vh;background:var(--bg-2)}
.silos-foto{min-height:520px;overflow:hidden;position:relative}
.silos-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:88% 70%}
.silos-txt{padding:clamp(56px,7vw,120px) var(--pad);max-width:720px;align-self:center}
.silos-txt p:not(.nadtytul){font-size:1.2rem;color:var(--ink-soft);margin-bottom:1.8em}

/* dlaczego my */
.dlaczego{position:relative;padding:clamp(100px,14vw,200px) 0;overflow:hidden;isolation:isolate}
.dlaczego-tlo{position:absolute;inset:-12% 0;z-index:-2;background-size:cover;background-position:center;opacity:.35;filter:grayscale(.6);will-change:transform}
.dlaczego:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--bg) 0%,rgba(10,15,28,.6) 30%,rgba(10,15,28,.6) 70%,var(--bg) 100%),radial-gradient(60% 50% at 0% 50%,rgba(37,99,235,.22),transparent 70%)}
.atut{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:clamp(20px,5vw,80px);padding:clamp(18px,3vw,36px) 0}
.atut-slowo{font-family:var(--display);font-weight:700;letter-spacing:-.045em;font-size:clamp(3.2rem,9.5vw,8.4rem);line-height:.95;margin:0;background:var(--grad-txt);-webkit-background-clip:text;background-clip:text;color:transparent}
.atut:nth-of-type(2) .atut-slowo{background:none;color:var(--ink)}
.atut-opis{font-size:clamp(1.1rem,1.5vw,1.35rem);color:var(--ink-soft);margin:0 0 .6em;max-width:460px}

/* proces */
.kroki{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(20px,3vw,40px)}
.krok-nr{display:block;font-family:var(--display);font-weight:700;letter-spacing:-.04em;font-size:clamp(3rem,5vw,4.6rem);line-height:1;background:var(--grad-txt);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:18px;transition:color .4s}

.kroki h3{font-size:1.4rem;margin-bottom:.45em}
.kroki p{color:var(--ink-soft);margin:0}

/* kontakt */
.kontakt{position:relative;padding:clamp(100px,13vw,180px) 0;background:radial-gradient(60% 70% at 100% 100%,rgba(37,99,235,.22),transparent 65%),var(--bg-2);overflow:hidden}
.kontakt-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.wielki-tel{display:inline-block;font-family:var(--display);font-weight:700;letter-spacing:-.03em;font-size:clamp(2.6rem,5.4vw,4.8rem);line-height:1;text-decoration:none;margin:.35em 0 .5em;background:var(--grad-txt);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;transition:background-position .6s}
.wielki-tel:hover{background-position:100% 0}
.dane{display:grid;grid-template-columns:repeat(3,auto);gap:28px;margin:0 0 30px;justify-content:start}
.dane dt{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--ink-mute);margin-bottom:6px}
.dane dd{margin:0;font-weight:600}
.dane a{text-decoration:none}
.dane a:hover{text-decoration:underline}
.kontakt-nota{max-width:30em;margin:0 0 28px;padding-left:16px;box-shadow:inset 3px 0 0 #3b82f6;color:var(--ink-mute);line-height:1.55}
.kontakt-nota strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
.link-mapa{display:inline-flex;gap:10px;align-items:center;font-weight:600;color:var(--amber);text-decoration:none}
.formularz h3{font-size:1.5rem;margin-bottom:1em}
.pole{position:relative;margin-bottom:12px}
.pole input,.pole select,.pole textarea{width:100%;font:inherit;font-size:1.15rem;color:var(--ink);background:transparent;border:0;border-bottom:2px solid #6b7280;padding:30px 0 10px;border-radius:0;transition:border-color .3s}
.pole select{appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%236fb8ff' stroke-width='2.4'/%3E%3C/svg%3E") right 4px bottom 12px/20px no-repeat}
.pole select option{color:#000}
.pole textarea{resize:vertical;min-height:90px}
.pole label{position:absolute;left:0;top:28px;color:var(--ink-soft);pointer-events:none;transition:all .25s var(--ease)}
.pole input:focus,.pole textarea:focus,.pole select:focus{outline:none;border-color:var(--amber)}
.pole input:focus-visible,.pole textarea:focus-visible,.pole select:focus-visible{box-shadow:0 2px 0 var(--amber)}
.pole input:focus + label,.pole input:not(:placeholder-shown) + label,.pole textarea:focus + label,.pole textarea:not(:placeholder-shown) + label,.pole label.stala{top:4px;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.pole [aria-invalid="true"]{border-color:#ff6b5e}
.zgoda{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--ink-soft);margin:22px 0 28px}
.zgoda input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--amber)}
.zgoda input[aria-invalid="true"]{outline:2px solid #ff6b5e}
.komunikat{margin-top:18px;color:var(--amber);display:none;font-weight:600}
.komunikat.widoczny{display:block}
.do-uzupelnienia{background:rgba(255,200,60,.16);box-shadow:inset 0 -2px 0 #ffc83c;padding:0 .2em}

/* podstrony usług */
.usl-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.zakres{list-style:none;counter-reset:z;margin:30px 0 0;padding:0}
.zakres li{counter-increment:z;display:flex;gap:22px;align-items:baseline;font-size:clamp(1.1rem,1.4vw,1.3rem);padding:14px 0}
.zakres li:before{content:counter(z,decimal-leading-zero);font-weight:600;font-size:.9rem;color:var(--amber);min-width:30px}
.usl-dlaczego{position:sticky;top:120px;padding:clamp(28px,4vw,56px);background:linear-gradient(140deg,rgba(59,139,255,.18),rgba(29,78,216,.06) 60%,transparent)}
.usl-cytat{font-family:var(--display);font-weight:500;letter-spacing:-.015em;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.35;margin-bottom:1.2em}
.inne{padding-top:0}

/* UE */
.ue{background:#fff;color:#1b1b1b}
.ue .wrap{padding-top:26px;padding-bottom:22px}
.ue a{display:block;text-decoration:none;color:#1b1b1b;max-width:1100px;margin:0 auto}
.ue img{width:100%;height:auto}
.ue-podpis{display:block;text-align:center;margin-top:10px;font-size:.92rem;color:#3d434e}
.ue a:hover .ue-podpis{text-decoration:underline}

/* strona projektu (jasna) */
.jasna{background:#fff;color:#16191f}
.jasna .do-uzupelnienia{background:#fff1cc;box-shadow:inset 0 -2px 0 #c77b00}
.tresc-projektu{max-width:900px}
.tresc-projektu h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:1.4em 0 .5em}
.tresc-projektu ul{padding-left:1.2em}
.tresc-projektu li{margin:.35em 0}
.tytul-projektu{font-family:var(--display);font-weight:600;font-size:1.5rem;line-height:1.2}
.beta-info{background:#fff6e3;border-left:4px solid #e29b1b;padding:14px 18px;margin-bottom:34px;color:#4d3300}
.kwoty{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,40px);margin:40px 0}
.kwoty span{display:block;color:#434955}
.kwoty strong{display:block;font-family:var(--display);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.1}

/* logo */
.logo-lista{display:grid;gap:70px}
.logo-wariant h2{font-size:1.8rem;margin-bottom:.4em}
.polecane{font-size:.8rem;vertical-align:middle;background:var(--grad);color:#fff;padding:4px 10px;letter-spacing:.1em}
.logo-wariant p{color:#434955;max-width:640px}
.logo-tla{display:grid;grid-template-columns:1fr 1fr;margin-top:20px}
.logo-tla > div{padding:clamp(28px,5vw,64px);display:grid;place-items:center}
.logo-tla svg{width:100%;max-width:440px;height:auto}
.logo-tlo-jasne{background:#f1f2f4}
.logo-tlo-ciemne{background:#0a0f1c}

/* stopka */
.stopka{background:var(--bg);padding:clamp(80px,10vw,140px) 0 34px;color:var(--ink-soft)}
.stopka-mega{font-family:var(--display);font-weight:700;letter-spacing:-.04em;font-size:clamp(2.4rem,6.4vw,5.8rem);line-height:1.02;color:var(--ink);margin:0 0 .5em}
.stopka-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.stopka h2{font-family:var(--font);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink);margin-bottom:1em}
.stopka ul{list-style:none;margin:0;padding:0}
.stopka li{padding:3px 0}
.stopka a{text-decoration:none;color:var(--ink)}
.stopka a:hover{color:var(--amber)}
.stopka-dol{margin-top:60px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.92rem}
.kredyty{margin-top:18px;font-size:.78rem;color:var(--ink-mute)}
.kredyty a{color:var(--ink-mute)!important;text-decoration:underline}

/* ---------- animacje ---------- */
@keyframes kenburns{from{transform:scale(1.14) translate3d(1.5%,1%,0)}to{transform:scale(1) translate3d(0,0,0)}}
@keyframes tasma{to{transform:translateX(-50%)}}
@keyframes kolko{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{opacity:0}}
@keyframes linia{from{transform:translateY(105%)}to{transform:none}}
@keyframes wejscie{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.js .hero-h .linia > span{animation:linia 1s var(--ease) both;animation-delay:var(--d,0s)}
.js .wejscie{animation:wejscie .9s var(--ease) both;animation-delay:var(--d,0s)}
.js [data-anim]{opacity:0;transform:translateY(46px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js [data-anim].widac{opacity:1;transform:none}
.js [data-anim="odslon"]{opacity:1;transform:none;clip-path:inset(0 100% 0 0);transition:clip-path 1.4s var(--ease)}
.js [data-anim="odslon"] img{transform:scale(1.2);transition:transform 1.8s var(--ease)}
.js [data-anim="odslon"].widac{clip-path:inset(0 0 0 0)}
.js [data-anim="odslon"].widac img{transform:none}
.js .kafle [data-anim]:nth-child(2),.js .kroki [data-anim]:nth-child(2){transition-delay:.1s}
.js .kafle [data-anim]:nth-child(3),.js .kroki [data-anim]:nth-child(3){transition-delay:.2s}
.js .kafle [data-anim]:nth-child(4),.js .kroki [data-anim]:nth-child(4){transition-delay:.3s}
.js .kroki [data-anim]:nth-child(5){transition-delay:.4s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .js [data-anim]{opacity:1;transform:none;clip-path:none}
  .js [data-anim] img{transform:none!important}
}

/* ---------- RWD ---------- */
@media (max-width:1240px){
  .a11y{display:none}
}
@media (max-width:1024px){
  .menu-toggle{display:grid}
  .nav{position:fixed;inset:0;height:100vh;background:var(--bg);flex-direction:column;justify-content:center;align-items:flex-start;padding:100px var(--pad) 40px;gap:30px;transform:translateY(-100%);transition:transform .6s var(--ease),visibility 0s .6s;visibility:hidden;margin:0}
  .nav.otwarte{transform:none;visibility:visible;transition:transform .6s var(--ease)}
  .nav.otwarte .a11y{display:flex}
  .nav ul{flex-direction:column}
  .nav a{font-family:var(--display);font-weight:700;letter-spacing:-.03em;font-size:clamp(2rem,7vw,3rem);line-height:1.15;padding:6px 0}
  .nav a:after{left:0;right:auto;width:60px}
  .menu-toggle,.logo{position:relative;z-index:2}
  .tel-btn{margin-left:auto;position:relative;z-index:2}
  .kafle{grid-template-columns:1fr 1fr}
  .kafel,.kafel.szeroki{grid-column:span 1}
  .kafle-3{grid-template-columns:1fr 1fr}
  .silos{grid-template-columns:1fr}
  .silos-foto{min-height:62vw}
  .kroki{grid-template-columns:repeat(3,1fr);row-gap:50px}
  .kontakt-grid,.usl-grid{grid-template-columns:1fr}
  .usl-dlaczego{position:static}
  .stopka-grid{grid-template-columns:1fr 1fr}
  .stopka-grid > :first-child{grid-column:1/-1}
  .atut{grid-template-columns:1fr;gap:10px}
}
@media (max-width:640px){
  .header-in{height:70px;gap:12px}
  .tel-lbl{display:none}
  .tel-btn{padding:10px 12px;font-size:1rem}
  .hero{padding-top:110px}
  .hero-cta .btn{width:100%;justify-content:center}
  .scroll-hint{display:none}
  .kafle,.kafle-3{grid-template-columns:1fr}
  .kafel{min-height:420px}
  .kroki{grid-template-columns:1fr 1fr}
  .dane{grid-template-columns:1fr}
  .kwoty,.logo-tla{grid-template-columns:1fr}
  .stopka-grid{grid-template-columns:1fr}
  .sekcja-top{margin-bottom:34px}
}
@media (max-width:420px){
  .tel-btn{font-size:.95rem}
}

.hero:before{z-index:-1}
.hero-pod .hero-tlo{z-index:-3}
.tel-btn{display:inline-flex;align-items:center;gap:10px}
.tel-ik{width:17px;height:17px;flex:none}
@media (max-width:640px){
  .tel-txt{display:none}
  .tel-btn{width:44px;height:44px;padding:0;justify-content:center}
  .tel-ik{width:19px;height:19px}
}


/* hero: siatka 50 / 25+25 */
.hero-siatka{padding-top:160px}
.hs{position:absolute;inset:0;z-index:-3;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;background:var(--bg)}
.hs > div{position:relative;overflow:hidden;animation:kafelWejscie 1.2s var(--ease) both}
.hs-a{grid-row:1/3}
.hs-b{animation-delay:.25s!important}
.hs-c{animation-delay:.4s!important}
.hs > div > div{position:absolute;inset:-3%;background-size:cover;background-position:center;animation:kenburns 18s var(--ease) both}
.hs-a > div{background-position:35% 50%}
.hs-b > div{background-position:50% 62%}
.hs-b:after,.hs-c:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,28,.35),rgba(10,15,28,.15) 50%,rgba(10,15,28,.55))}
.hero-siatka:before{background:linear-gradient(90deg,rgba(10,15,28,.9) 0%,rgba(10,15,28,.72) 32%,rgba(10,15,28,.2) 50%,rgba(10,15,28,0) 50.01%),linear-gradient(180deg,rgba(10,15,28,.7) 0%,rgba(10,15,28,0) 22%)!important}
.hero-siatka .hero-in > *{max-width:calc(50vw - var(--pad) - 20px)}
.hero-siatka .hero-h{font-size:clamp(2.6rem,4.6vw,4.9rem)}
@keyframes kafelWejscie{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@media (max-width:900px){
  .hero-siatka{min-height:0;padding:130px 0 calc(34vw + 50px)}
  .hs{grid-template-columns:1fr 1fr;grid-template-rows:1fr 34vw}
  .hs-a{grid-row:1;grid-column:1/3}
  .hero-siatka:before{background:linear-gradient(180deg,rgba(10,15,28,.8) 0%,rgba(10,15,28,.55) 45%,rgba(10,15,28,.85) 100%)!important;bottom:calc(34vw + 6px)!important}
  .hero-siatka .hero-in > *{max-width:none}
  .hero-siatka .hero-h{font-size:clamp(2.4rem,9vw,3.6rem)}
  .scroll-hint{display:none}
}

/* ---------- WCAG 2.1 AA ---------- */
/* nadtytuł na zdjęciu: jaśniejszy niebieski */
.hero .nadtytul{color:#a9d6ff}
/* hero: jednolita, mocna zasłona pod tekstem (min. 4.5:1 w najjaśniejszym punkcie zdjęcia) */
.hero-siatka:before{background:linear-gradient(90deg,rgba(10,15,28,.9) 0%,rgba(10,15,28,.82) 44%,rgba(10,15,28,.55) 49.9%,rgba(10,15,28,0) 50%),linear-gradient(180deg,rgba(10,15,28,.7) 0%,rgba(10,15,28,0) 22%)!important}
.hero-pod:not(.hero-ciemny):before{background:linear-gradient(90deg,rgba(10,15,28,.92) 0%,rgba(10,15,28,.84) 55%,rgba(10,15,28,.4) 85%,rgba(10,15,28,.25) 100%),linear-gradient(180deg,rgba(10,15,28,.6) 0%,rgba(10,15,28,.2) 30%,var(--bg) 100%)}
.hero-pod .hero-in > *{max-width:880px}
/* kafle: ciemna podstawa pod tekstem */
.kafel:after{background:linear-gradient(180deg,rgba(10,15,28,0) 20%,rgba(10,15,28,.7) 48%,rgba(10,15,28,.94) 70%,rgba(10,15,28,.97) 100%)}
/* linki w tekście rozróżnialne nie tylko kolorem */
.podkr,.stopka-dol a{text-decoration:underline;text-underline-offset:3px}
/* fokus widoczny także na jasnym tle (3:1) */
.jasna :focus-visible,.ue :focus-visible,.logo-tlo-jasne :focus-visible{outline-color:#1d4ed8}
.btn:focus-visible,.tel-btn:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #1d4ed8}
.pole input:focus-visible,.pole textarea:focus-visible,.pole select:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
/* zatrzymanie animacji (2.2.2): taśma staje po najechaniu/fokusie, przycisk wyłącza wszystko */
.tasma:hover .tasma-in,.tasma:focus-within .tasma-in{animation-play-state:paused}
html.bez-animacji *,html.bez-animacji *:before,html.bez-animacji *:after{animation:none!important;transition:none!important}
html.bez-animacji [data-anim]{opacity:1!important;transform:none!important;clip-path:none!important}
html.bez-animacji [data-anim] img{transform:none!important}
.a11y button[aria-pressed="true"]{color:var(--amber)}
@media (max-width:900px){
  .hero-siatka:before{background:linear-gradient(180deg,rgba(10,15,28,.86) 0%,rgba(10,15,28,.8) 50%,rgba(10,15,28,.9) 100%)!important}
}
/* nagłówek zawsze na ciemnym tle – menu nie leży bezpośrednio na zdjęciu */
.header{background:rgba(10,15,28,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.header.przewiniety{background:rgba(10,15,28,.94)}
.a11y button{color:#c9d3e3}
.tel-lbl{opacity:1;color:#c9d3e3}
.polecane{background:#1d4ed8!important;color:#fff}
.logo-tlo-jasne .lg-pl,.jasna .lg-pl{color:#1d4ed8}
.kredyty,.kredyty a{color:var(--ink-soft)!important}
@media (max-width:640px){.logo-tla > div{padding:28px 12px}.logo-tla .lg{font-size:clamp(1.05rem,6.2vw,1.8rem)}}
/* delikatne tło pod każdym tekstem na zdjęciach w nagłówku */
.hero:not(.hero-ciemny) .hero-h .linia{display:table;background:rgba(10,15,28,.58);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.02em .2em .06em;margin:0 0 .08em -.2em;border-radius:4px}
.hero:not(.hero-ciemny) .nadtytul,
.hero:not(.hero-ciemny) .hero-lead,
.hero:not(.hero-ciemny) .okruszki{display:table;background:rgba(10,15,28,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.45em .8em;margin-left:-.8em;border-radius:4px}
.hero:not(.hero-ciemny) .hero-lead{color:#fff}
.hero:not(.hero-ciemny) .nadtytul{margin-bottom:1em}
.hero:not(.hero-ciemny) .hero-h,.hero:not(.hero-ciemny) .hero-lead,.hero:not(.hero-ciemny) .nadtytul{text-shadow:0 1px 2px rgba(0,0,0,.45)}
.hero:not(.hero-ciemny) .gradient{text-shadow:none}
@media (max-width:640px){
  .hero:not(.hero-ciemny) .hero-h .linia{margin-left:-.12em;padding:.02em .12em .06em}
  .hero:not(.hero-ciemny) .nadtytul,.hero:not(.hero-ciemny) .hero-lead,.hero:not(.hero-ciemny) .okruszki{margin-left:-.5em;padding:.4em .5em}
}
@media (min-width:901px){
  .hero-siatka .hero-h{font-size:clamp(2.3rem,4vw,4.3rem)}
  .hero-siatka .hero-lead{max-width:min(560px,calc(50vw - var(--pad) - 40px))}
}
@media (max-width:1400px){.tel-lbl{display:none}.header-in{gap:20px}.nav{gap:14px}.nav a{padding:10px 10px}}
@media (min-width:901px){
  .hero-siatka .hero-in > *{max-width:calc(50vw - max(0px, (100vw - var(--container)) / 2) - var(--pad) - 28px)}
  .hero-siatka .hero-lead{max-width:min(560px, calc(50vw - max(0px, (100vw - var(--container)) / 2) - var(--pad) - 28px))}
}
/* hero: równe, wyrównane panele pod tekstem (jedna szerokość, jedna krawędź) */
.hero:not(.hero-ciemny) .hero-in{--panel:min(820px,100%)}
.hero:not(.hero-ciemny) .hero-in > .nadtytul,
.hero:not(.hero-ciemny) .hero-in > .okruszki,
.hero:not(.hero-ciemny) .hero-in > .hero-h,
.hero:not(.hero-ciemny) .hero-in > .hero-lead{display:block;width:var(--panel);max-width:none!important;margin:0 0 6px;padding:18px 28px;border-radius:0;background:rgba(10,15,28,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero:not(.hero-ciemny) .hero-in > .nadtytul{padding-top:14px;padding-bottom:14px}
.hero:not(.hero-ciemny) .hero-in > .hero-h{padding-top:22px;padding-bottom:24px}
.hero:not(.hero-ciemny) .hero-h .linia{display:block;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 0 .04em;margin:0;border-radius:0}
.hero:not(.hero-ciemny) .hero-in > .hero-cta{max-width:none!important;margin-top:22px}
.hero-siatka .hero-h{font-size:clamp(2.2rem,4.3vw,4.6rem)!important}
@media (max-width:640px){
  .hero:not(.hero-ciemny) .hero-in > .nadtytul,
  .hero:not(.hero-ciemny) .hero-in > .okruszki,
  .hero:not(.hero-ciemny) .hero-in > .hero-h,
  .hero:not(.hero-ciemny) .hero-in > .hero-lead{margin-left:0;padding:14px 16px}
}
/* strona Usługi */
.usl-spis{position:sticky;top:70px;z-index:40;background:rgba(15,23,40,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.usl-spis ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.usl-spis a{display:block;padding:16px 18px;text-decoration:none;font-family:var(--display);font-weight:600;white-space:nowrap;color:#dfe6f1}
.usl-spis a span{color:var(--amber);margin-right:6px;font-size:.85em}
.usl-spis a:hover{color:#fff;background:rgba(255,255,255,.05)}
.usl-rzad{display:grid;grid-template-columns:1fr 1fr;min-height:80vh;scroll-margin-top:130px}
.usl-rzad:nth-of-type(even){background:var(--bg-2)}
.usl-rzad.odwr .usl-rzad-foto{order:2}
.usl-rzad-foto{position:relative;overflow:hidden;min-height:440px}
.usl-rzad-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.usl-rzad-txt{padding:clamp(56px,7vw,110px) var(--pad);max-width:720px;align-self:center}
.usl-rzad-lead{font-size:1.2rem;color:#e3e9f2}
.usl-lista{list-style:none;margin:26px 0;padding:0;columns:2;column-gap:32px}
.usl-lista li{break-inside:avoid;padding:8px 0 8px 22px;position:relative;color:var(--ink-soft)}
.usl-lista li:before{content:"";position:absolute;left:0;top:18px;width:10px;height:2px;background:var(--amber)}
.usl-rzad-dlaczego{color:var(--ink-soft);margin-bottom:28px}
.usl-rzad-cta{display:flex;flex-wrap:wrap;gap:12px}
.cta-pas{padding:clamp(80px,10vw,140px) 0;background:radial-gradient(60% 80% at 100% 0%,rgba(37,99,235,.28),transparent 65%),var(--bg)}
.cta-pas-in{max-width:900px}
.cta-pas p{font-size:1.2rem;color:var(--ink-soft);margin-bottom:1.6em}
/* strona Kontakt */
.dojazd{padding:clamp(80px,10vw,140px) 0;background:var(--bg)}
.dojazd-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(32px,6vw,90px);align-items:center}
.dojazd-adres{font-size:1.25rem;color:#e3e9f2;margin-bottom:1.6em}
.mapa-ramka{position:relative;aspect-ratio:16/10;background:var(--bg-2)}
.mapa-ramka iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.25)}
.nav a[aria-current="page"]{color:#fff}
.nav a[aria-current="page"]:after{transform:scaleX(1)}
@media (max-width:1024px){
  .usl-rzad,.dojazd-grid{grid-template-columns:1fr}
  .usl-rzad.odwr .usl-rzad-foto{order:0}
  .usl-rzad-foto{min-height:56vw}
  .usl-spis{top:70px}
}
@media (max-width:640px){.usl-lista{columns:1}.usl-spis a{padding:14px 12px}}
@media (max-width:640px){.usl-spis{position:static}.usl-spis ul{flex-wrap:wrap;gap:0;overflow:visible}.usl-spis li{width:50%}.usl-spis a{white-space:normal}}
/* zdjęcia klienta: kadrowanie */
.hs-c > div{background-position:50% 38%!important}
.silos-foto img[src*="silos-tyl"]{object-position:50% 40%}
img[src*="naczepa-podwozie"]{object-position:50% 20%}
.hero-tlo[style*="naczepa-podwozie"]{background-position:50% 25%}
.kafel img[src*="silos-bok"]{object-position:35% 75%}

/* ---------- przycisk pauza / play ---------- */
#animacje .ik-play{display:none}
html.bez-animacji #animacje .ik-pauza{display:none}
html.bez-animacji #animacje .ik-play{display:block}

/* ---------- PRAWDZIWY TRYB WYSOKIEGO KONTRASTU ---------- */
html.kontrast{--bg:#000;--bg-2:#000;--ink:#fff;--ink-soft:#fff;--ink-mute:#fff;--amber:#ffe600;--grad:none;--grad-txt:none}
html.kontrast body{background:#000;color:#fff}
/* wszystkie zdjęcia w odcieniach szarości */
html.kontrast img,html.kontrast iframe,
html.kontrast .hero-tlo,html.kontrast .hs > div > div,html.kontrast .dlaczego-tlo{filter:grayscale(1) contrast(1.1)!important}
html.kontrast .hero-tlo,html.kontrast .hs > div > div,html.kontrast .dlaczego-tlo,html.kontrast .kafel img,html.kontrast .silos-foto img,html.kontrast .usl-rzad-foto img{opacity:.45!important}
/* żadnych gradientów i półprzezroczystych zasłon */
html.kontrast *,html.kontrast *:before,html.kontrast *:after{text-shadow:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.kontrast .hero:before,html.kontrast .kafel:after,html.kontrast .kafel:before,html.kontrast .dlaczego:before,html.kontrast .hs-b:after,html.kontrast .hs-c:after{background:rgba(0,0,0,.55)!important;opacity:1!important}
/* tekst tylko biały, akcenty żółte */
html.kontrast h1,html.kontrast h2,html.kontrast h3,html.kontrast p,html.kontrast li,html.kontrast dd,html.kontrast dt,html.kontrast label,html.kontrast span,html.kontrast .kafel-p{color:#fff!important}
html.kontrast .gradient,html.kontrast .gradient > span,html.kontrast .atut-slowo,html.kontrast .krok-nr,html.kontrast .wielki-tel,html.kontrast .lg-pkl,html.kontrast .lg-pl{background:none!important;-webkit-text-fill-color:#ffe600!important;color:#ffe600!important;filter:none!important}
html.kontrast .nadtytul,html.kontrast .kafel-link,html.kontrast .link-mapa,html.kontrast .usl-spis a span{color:#ffe600!important}
html.kontrast a{color:#ffe600!important;text-decoration:underline!important}
html.kontrast .logo,html.kontrast .kafel,html.kontrast .nav a{text-decoration:none!important}
html.kontrast .nav a{color:#fff!important}
html.kontrast .nav a:hover,html.kontrast .nav a[aria-current="page"]{color:#ffe600!important}
html.kontrast .nav a:after{background:#ffe600!important}
/* tła czarne, panele z żółtą ramką */
html.kontrast .header,html.kontrast .header.przewiniety,html.kontrast .usl-spis,html.kontrast .tasma,html.kontrast .kontakt,html.kontrast .cta-pas,html.kontrast .stopka,html.kontrast .silos,html.kontrast .usl-rzad,html.kontrast .dojazd,html.kontrast .hero-ciemny,html.kontrast .usl-dlaczego{background:#000!important}
html.kontrast .header{border-bottom:2px solid #ffe600}
html.kontrast .hero:not(.hero-ciemny) .hero-in > .nadtytul,html.kontrast .hero:not(.hero-ciemny) .hero-in > .okruszki,html.kontrast .hero:not(.hero-ciemny) .hero-in > .hero-h,html.kontrast .hero:not(.hero-ciemny) .hero-in > .hero-lead{background:#000!important;outline:2px solid #ffe600}
html.kontrast .hs{background:#ffe600}
/* przyciski: czarne, żółty napis i ramka; po najechaniu odwrócone */
html.kontrast .btn,html.kontrast .btn-linia,html.kontrast .tel-btn,html.kontrast .a11y button,html.kontrast .menu-toggle{background:#000!important;color:#ffe600!important;border:2px solid #ffe600!important;text-decoration:none!important}
html.kontrast .btn span,html.kontrast .tel-btn span{color:#ffe600!important}
html.kontrast .btn:hover,html.kontrast .tel-btn:hover,html.kontrast .a11y button:hover,html.kontrast .a11y button[aria-pressed="true"]{background:#ffe600!important;color:#000!important}
html.kontrast .btn:hover span,html.kontrast .tel-btn:hover span{color:#000!important}
html.kontrast .a11y button{margin-left:4px;min-width:36px}
/* formularz */
html.kontrast .pole input,html.kontrast .pole select,html.kontrast .pole textarea{background:#000!important;color:#fff!important;border:2px solid #fff!important;padding-left:10px}
html.kontrast .pole label{left:10px}
html.kontrast .pole select option{background:#000;color:#fff}
html.kontrast :focus-visible{outline:3px solid #ffe600!important;outline-offset:3px}
/* sekcje jasne (projekt UE, logo) też czarne */
html.kontrast .jasna,html.kontrast .beta-info,html.kontrast .kwoty div{background:#000!important;color:#fff!important;border-color:#ffe600!important}
html.kontrast .do-uzupelnienia{background:#000!important;color:#ffe600!important;box-shadow:inset 0 -2px 0 #ffe600!important}
html.kontrast .ue{background:#fff!important}
html.kontrast .ue *{color:#000!important}
html.kontrast .ue img{filter:none!important;opacity:1!important}
html.kontrast .hs{background:#000}
html.kontrast .hs > div{box-shadow:inset 0 0 0 2px #ffe600!important}
html.kontrast .hs > div > div{opacity:.6!important}
.hs-a > div{background-position:30% 60%!important}
.hs-c > div{background-position:50% 50%!important}
.hs-a > div{background-position:12% 75%!important}
/* panele niosą kontrast tekstu, więc zasłona na lewym kaflu może być lżejsza – widać zdjęcie klienta */
.hero:not(.hero-ciemny) .hero-in > .nadtytul,.hero:not(.hero-ciemny) .hero-in > .okruszki,.hero:not(.hero-ciemny) .hero-in > .hero-h,.hero:not(.hero-ciemny) .hero-in > .hero-lead{background:rgba(10,15,28,.84)}
.hero-siatka:before{background:linear-gradient(180deg,rgba(10,15,28,.55) 0%,rgba(10,15,28,0) 18%,rgba(10,15,28,0) 70%,rgba(10,15,28,.5) 100%)!important}
@media (max-width:900px){.hero-siatka:before{background:linear-gradient(180deg,rgba(10,15,28,.6) 0%,rgba(10,15,28,.35) 50%,rgba(10,15,28,.7) 100%)!important}}

/* ======== exio.cms: elementy dynamiczne ======== */
/* slajdy w kaflach nagłówka */
.hs > div > .slajd{opacity:0;transition:opacity 1.4s ease}
.hs > div > .slajd.aktywny{opacity:1}
html.kontrast .hs > div > .slajd.aktywny{opacity:.6!important}
.wiecej{margin:clamp(28px,4vw,48px) 0 0}
/* sekcja o projekcie */
.projekt-sek{padding:clamp(88px,12vw,160px) 0;background:radial-gradient(60% 80% at 0% 0%,rgba(37,99,235,.22),transparent 65%),var(--bg-2)}
.projekt-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.projekt-txt{font-size:1.2rem;color:#dfe6f1;margin-bottom:1.8em;max-width:640px}
.rozwiazania{list-style:none;counter-reset:r;margin:0;padding:0}
.rozwiazania li{counter-increment:r;display:flex;gap:22px;align-items:baseline;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);font-family:var(--display);font-weight:600;font-size:clamp(1.15rem,1.7vw,1.45rem);letter-spacing:-.01em}
.rozwiazania li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.rozwiazania li:before{content:counter(r,decimal-leading-zero);font-family:var(--font);font-size:.85rem;font-weight:600;color:var(--amber);min-width:28px}
/* o firmie */
.firma-intro{max-width:820px;margin-bottom:clamp(40px,6vw,80px)}
.firma-txt{font-size:1.2rem;color:#e3e9f2}
/* treść z edytora CMS */
.tresc-cms > *:first-child{margin-top:0}
.tresc-cms h2{font-size:clamp(1.7rem,2.8vw,2.4rem);margin:1.4em 0 .5em}
.tresc-cms h3{font-size:1.35rem;margin:1.2em 0 .4em}
.tresc-cms ul,.tresc-cms ol{padding-left:1.2em}
.tresc-cms li{margin:.35em 0}
.tresc-cms img{max-width:100%;height:auto}
.tresc-cms a{color:var(--amber)}
.jasna .tresc-cms a{color:#1d4ed8}
.tresc-usluga ul{list-style:none;padding:0;counter-reset:z}
.tresc-usluga ul li{counter-increment:z;display:flex;gap:22px;align-items:baseline;font-size:clamp(1.1rem,1.4vw,1.3rem);padding:12px 0;margin:0}
.tresc-usluga ul li:before{content:counter(z,decimal-leading-zero);font-weight:600;font-size:.9rem;color:var(--amber);min-width:30px}
.tresc-usluga p{color:var(--ink-soft);font-size:1.1rem}
.tresc-skrot h2{display:none}
.tresc-skrot ul{list-style:none;margin:22px 0;padding:0;columns:2;column-gap:32px}
.tresc-skrot ul li{break-inside:avoid;padding:8px 0 8px 22px;position:relative;color:var(--ink-soft);margin:0}
.tresc-skrot ul li:before{content:"";position:absolute;left:0;top:18px;width:10px;height:2px;background:var(--amber)}
.tresc-skrot p{color:var(--ink-soft);margin-bottom:26px}
.belka-ue{width:100%;height:auto;margin-bottom:2em}
/* galeria */
.galeria{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.galeria-el{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.galeria-el img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.galeria-el:hover img{transform:scale(1.05)}
.galeria-wstep{max-width:820px;margin-bottom:40px}
.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
.lightbox::backdrop{background:rgba(5,8,15,.94)}
.lightbox[open]{display:grid;place-items:center}
.lightbox img{max-width:92vw;max-height:82vh;object-fit:contain}
.lightbox-opis{position:absolute;bottom:18px;left:0;right:0;text-align:center;margin:0}
.lightbox button{position:absolute;background:rgba(10,15,28,.8);color:#fff;border:1px solid rgba(255,255,255,.4);width:52px;height:52px;font-size:2rem;line-height:1;cursor:pointer}
.lb-zamknij{top:16px;right:16px}.lb-poprz{left:16px;top:50%}.lb-nast{right:16px;top:50%}
.lightbox button:focus-visible{outline:3px solid #fff;outline-offset:2px}
html.kontrast .lightbox button{background:#000;color:#ffe600;border:2px solid #ffe600}
.komunikat[tabindex]:focus{outline:2px solid var(--amber);outline-offset:4px}
@media (max-width:1024px){.projekt-grid{grid-template-columns:1fr}}
@media (max-width:640px){.tresc-skrot ul{columns:1}}
.dlaczego-tlo{inset:-25% 0!important}

/* ======== exio.cms: elementy dynamiczne ======== */
/* slajdy w kaflach nagłówka */
.hs > div > .slajd{opacity:0;transition:opacity 1.4s ease}
.hs > div > .slajd.aktywny{opacity:1}
html.kontrast .hs > div > .slajd.aktywny{opacity:.6!important}
.wiecej{margin:clamp(28px,4vw,48px) 0 0}
/* sekcja o projekcie */
.projekt-sek{padding:clamp(88px,12vw,160px) 0;background:radial-gradient(60% 80% at 0% 0%,rgba(37,99,235,.22),transparent 65%),var(--bg-2)}
.projekt-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.projekt-txt{font-size:1.2rem;color:#dfe6f1;margin-bottom:1.8em;max-width:640px}
.rozwiazania{list-style:none;counter-reset:r;margin:0;padding:0}
.rozwiazania li{counter-increment:r;display:flex;gap:22px;align-items:baseline;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);font-family:var(--display);font-weight:600;font-size:clamp(1.15rem,1.7vw,1.45rem);letter-spacing:-.01em}
.rozwiazania li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.rozwiazania li:before{content:counter(r,decimal-leading-zero);font-family:var(--font);font-size:.85rem;font-weight:600;color:var(--amber);min-width:28px}
/* o firmie */
.firma-intro{max-width:820px;margin-bottom:clamp(40px,6vw,80px)}
.firma-txt{font-size:1.2rem;color:#e3e9f2}
/* treść z edytora CMS */
.tresc-cms > *:first-child{margin-top:0}
.tresc-cms h2{font-size:clamp(1.7rem,2.8vw,2.4rem);margin:1.4em 0 .5em}
.tresc-cms h3{font-size:1.35rem;margin:1.2em 0 .4em}
.tresc-cms ul,.tresc-cms ol{padding-left:1.2em}
.tresc-cms li{margin:.35em 0}
.tresc-cms img{max-width:100%;height:auto}
.tresc-cms a{color:var(--amber)}
.jasna .tresc-cms a{color:#1d4ed8}
.tresc-usluga ul{list-style:none;padding:0;counter-reset:z}
.tresc-usluga ul li{counter-increment:z;display:flex;gap:22px;align-items:baseline;font-size:clamp(1.1rem,1.4vw,1.3rem);padding:12px 0;margin:0}
.tresc-usluga ul li:before{content:counter(z,decimal-leading-zero);font-weight:600;font-size:.9rem;color:var(--amber);min-width:30px}
.tresc-usluga p{color:var(--ink-soft);font-size:1.1rem}
.tresc-skrot h2{display:none}
.tresc-skrot ul{list-style:none;margin:22px 0;padding:0;columns:2;column-gap:32px}
.tresc-skrot ul li{break-inside:avoid;padding:8px 0 8px 22px;position:relative;color:var(--ink-soft);margin:0}
.tresc-skrot ul li:before{content:"";position:absolute;left:0;top:18px;width:10px;height:2px;background:var(--amber)}
.tresc-skrot p{color:var(--ink-soft);margin-bottom:26px}
.belka-ue{width:100%;height:auto;margin-bottom:2em}
/* galeria */
.galeria{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.galeria-el{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.galeria-el img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.galeria-el:hover img{transform:scale(1.05)}
.galeria-wstep{max-width:820px;margin-bottom:40px}
.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
.lightbox::backdrop{background:rgba(5,8,15,.94)}
.lightbox[open]{display:grid;place-items:center}
.lightbox img{max-width:92vw;max-height:82vh;object-fit:contain}
.lightbox-opis{position:absolute;bottom:18px;left:0;right:0;text-align:center;margin:0}
.lightbox button{position:absolute;background:rgba(10,15,28,.8);color:#fff;border:1px solid rgba(255,255,255,.4);width:52px;height:52px;font-size:2rem;line-height:1;cursor:pointer}
.lb-zamknij{top:16px;right:16px}.lb-poprz{left:16px;top:50%}.lb-nast{right:16px;top:50%}
.lightbox button:focus-visible{outline:3px solid #fff;outline-offset:2px}
html.kontrast .lightbox button{background:#000;color:#ffe600;border:2px solid #ffe600}
.komunikat[tabindex]:focus{outline:2px solid var(--amber);outline-offset:4px}
@media (max-width:1024px){.projekt-grid{grid-template-columns:1fr}}
@media (max-width:640px){.tresc-skrot ul{columns:1}}
.dlaczego-tlo{inset:-25% 0!important}


/* ======== logo v7: Archivo Expanded, PKL cięte pasami ======== */
.lg{font-family:"Archivo",var(--display);font-stretch:125%;font-style:normal;font-weight:700;font-size:1.3rem;letter-spacing:.01em;line-height:1;color:#fff;display:inline-flex;align-items:baseline;white-space:nowrap}
.lg-pkl{color:#4a8dff;-webkit-text-fill-color:currentColor;background:none;filter:none;padding:0;margin:0}
.lg-pl{font-size:.55em;font-weight:500;color:#8b9ab3;margin-left:.08em}
.lg-e .lg-pkl,.lg-f .lg-pkl{font-style:italic;padding-right:.05em}
.lg-e .lg-pkl{background:repeating-linear-gradient(180deg,#4a8dff 0 .148em,transparent .148em .19em);background-position:0 .205em;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
@media (max-width:640px){.lg{font-size:1rem}}
@media (max-width:370px){.lg{font-size:.9rem}}
html.kontrast .lg-e .lg-pkl{background:repeating-linear-gradient(180deg,#ffe600 0 .148em,transparent .148em .19em)!important;background-position:0 .205em!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
/* ======== logo v8: PKL z 1 albo 2 grubymi cięciami ======== */
.lg-c1 .lg-pkl,.lg-c2 .lg-pkl{font-style:italic;padding-right:.05em;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;background-position:0 0}
.lg-c1 .lg-pkl{background-image:linear-gradient(180deg,#4a8dff 0 50.5%,transparent 50.5% 59.5%,#4a8dff 59.5%)}
.lg-c2 .lg-pkl{background-image:linear-gradient(180deg,#4a8dff 0 41%,transparent 41% 48%,#4a8dff 48% 63.5%,transparent 63.5% 70.5%,#4a8dff 70.5%)}
html.kontrast .lg-c1 .lg-pkl{background-image:linear-gradient(180deg,#ffe600 0 50.5%,transparent 50.5% 59.5%,#ffe600 59.5%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
html.kontrast .lg-c2 .lg-pkl{background-image:linear-gradient(180deg,#ffe600 0 41%,transparent 41% 48%,#ffe600 48% 63.5%,transparent 63.5% 70.5%,#ffe600 70.5%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}

/* ===== 2026-10-06: wymogi projektu UE ===== */
/* znaki FE na samej górze strony (wersja pełnokolorowa, białe tło) */
.ue-gora{background:#fff}
.ue-gora a{display:block;max-width:880px;margin:0 auto;padding:6px var(--pad)}
.ue-gora img{width:100%;height:auto}
.ue-gora a:focus-visible{outline:3px solid #1d4ed8;outline-offset:-3px}
/* nagłówek przykleja się dopiero po przewinięciu znaków; tło w pseudo-elemencie,
   żeby rozwijane menu (position:fixed) liczyło się od okna, a nie od nagłówka */
.header{position:sticky;top:0;height:0;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
.header:before{content:"";position:absolute;left:0;right:0;top:0;height:88px;background:rgba(10,15,28,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06);transition:height .4s var(--ease),background .4s}
.header.przewiniety:before{height:70px;background:rgba(10,15,28,.94)}
.header-in{position:relative}
html{scroll-padding-top:100px}
html.kontrast .header:before{background:#000;box-shadow:0 2px 0 #ffe600}
@media (max-width:640px){.header:before{height:70px}}

/* komunikat: terminy / promocje */
.komunikat-pas{padding:clamp(40px,6vw,72px) 0 0}
.komunikat-in{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap;padding:clamp(24px,3.4vw,44px) clamp(22px,3.4vw,48px);background:linear-gradient(120deg,rgba(59,139,255,.2),rgba(29,78,216,.07) 70%);box-shadow:inset 4px 0 0 #3b82f6}
.komunikat-in .nadtytul{margin-bottom:.6em}
.komunikat-h{font-size:clamp(1.5rem,2.6vw,2.2rem);margin-bottom:.35em}
.komunikat-txt{margin:0;max-width:44em;color:var(--ink-soft);font-size:1.1rem}
.tresc-wstep + .komunikat-pas,.wpisy + .komunikat-pas{padding-top:0}
html.kontrast .komunikat-in{background:#000;box-shadow:inset 4px 0 0 #ffe600,0 0 0 1px #fff}

/* GOZ na stronie głównej */
.goz{padding:clamp(88px,12vw,160px) 0;background:radial-gradient(60% 80% at 100% 50%,rgba(37,99,235,.2),transparent 70%),var(--bg)}
.goz-in{max-width:980px}
.goz-txt{font-size:clamp(1.15rem,1.5vw,1.35rem);color:var(--ink-soft);max-width:44em;margin-bottom:1.8em}

/* usługi: wstęp + kolumny (filary) z treści panelu */
.filary-wstep{max-width:900px;margin-bottom:clamp(36px,5vw,64px)}
.filary-wstep p{font-size:1.15rem;color:var(--ink-soft)}
.filary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(14px,2vw,24px)}
.filar{padding:clamp(24px,3vw,40px);background:linear-gradient(160deg,rgba(59,139,255,.14),rgba(29,78,216,.04) 70%);box-shadow:inset 0 3px 0 #3b82f6}
.filar h3{font-size:clamp(1.3rem,1.8vw,1.6rem)!important;margin:0 0 .7em!important}
.filar ul{margin:0}
.filary-stopka{margin-top:clamp(28px,4vw,48px)}
.filary-stopka a{font-weight:600}
html.kontrast .filar{background:#000;box-shadow:inset 0 3px 0 #ffe600,0 0 0 1px #fff}

/* kafle: samotny ostatni na całą szerokość, wariant 2 kolumny */
.kafel.pelny{grid-column:1/-1;min-height:clamp(320px,30vw,440px)}
.kafle-2{grid-template-columns:repeat(2,1fr)}
.kafle-2 .kafel{grid-column:span 1}
@media (max-width:1024px){.kafel.pelny{grid-column:1/-1}}
@media (max-width:640px){.kafle-2{grid-template-columns:1fr}}

/* strona opisowa (GOZ) i wpis */
.opis-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:start}
.tresc-opis{font-size:1.12rem;max-width:760px}
.tresc-opis p{color:#dfe5ef}
.opis-bok{position:sticky;top:110px;padding:clamp(28px,4vw,48px);background:linear-gradient(140deg,rgba(59,139,255,.18),rgba(29,78,216,.06) 60%,transparent)}
.wpis-data{font-size:.95rem;color:var(--ink-soft);margin-bottom:1.2em}
@media (max-width:1024px){.opis-grid{grid-template-columns:1fr}.opis-bok{position:static}}
html.kontrast .opis-bok{background:#000;box-shadow:0 0 0 1px #fff}

/* udostępnianie */
.udostepnij{margin-top:32px}
.udostepnij-h{font-family:var(--font)!important;font-size:.82rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.16em;margin:0 0 12px!important}
.udostepnij ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.udostepnij li{margin:0!important}
.udostepnij a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:var(--ink)!important;text-decoration:none;font-weight:500}
.udostepnij a:hover{box-shadow:inset 0 0 0 1.5px var(--amber)}
.udostepnij svg{width:20px;height:20px;flex:none}
.jasna .udostepnij a{box-shadow:inset 0 0 0 1px #8a93a3;color:#16191f!important}
.jasna .udostepnij a:hover{box-shadow:inset 0 0 0 1.5px #1d4ed8}

/* aktualności */
.wpisy{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(16px,2vw,28px)}
.wpis-karta{position:relative;height:100%;background:var(--bg-2);display:flex;flex-direction:column}
.wpis-karta img{width:100%;aspect-ratio:16/10;object-fit:cover}
.wpis-karta-txt{padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;flex:1}
.wpis-karta-h{font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.2;margin-bottom:.6em}
.wpis-karta-h a{text-decoration:none}
.wpis-karta-h a:after{content:"";position:absolute;inset:0}
.wpis-karta-h a:focus-visible{outline:none}
.wpis-karta:focus-within{outline:3px solid var(--amber);outline-offset:4px}
.wpis-karta p:not(.wpis-data){color:var(--ink-soft)}
.wpis-karta .kafel-link{margin-top:auto}
.wpis-karta:hover .wpis-karta-h a{text-decoration:underline}
html.kontrast .wpis-karta{background:#000;box-shadow:0 0 0 1px #fff}

/* stopka: media społecznościowe i link do projektu */
.social{list-style:none;margin:18px 0 0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.social li{padding:0!important}
.social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.social a:hover{box-shadow:inset 0 0 0 1.5px var(--amber)}
.social svg{width:20px;height:20px}
.stopka-ue{margin-top:18px;font-size:.95rem}
.stopka-ue a{text-decoration:underline!important;text-underline-offset:3px}
/* 6 pozycji menu: ciaśniej na średnich ekranach */
@media (max-width:1600px){.tel-lbl{display:none}.header-in{gap:20px}.nav{gap:12px}.nav a{padding:10px 9px}}
@media (max-width:1600px){
  .menu-toggle{display:grid}
  .nav{position:fixed;inset:0;height:100vh;background:var(--bg);flex-direction:column;justify-content:center;align-items:flex-start;padding:100px var(--pad) 40px;gap:30px;transform:translateY(-100%);transition:transform .6s var(--ease),visibility 0s .6s;visibility:hidden;margin:0}
  .nav.otwarte{transform:none;visibility:visible;transition:transform .6s var(--ease)}
  .nav.otwarte .a11y{display:flex}
  .nav ul{flex-direction:column}
  .nav a{font-family:var(--display);font-weight:700;letter-spacing:-.03em;font-size:clamp(2rem,7vw,3rem);line-height:1.15;padding:6px 0}
  .nav a:after{left:0;right:auto;width:60px}
  .menu-toggle,.logo{position:relative;z-index:2}
  .tel-btn{margin-left:auto;position:relative;z-index:2}
}
@media (max-width:1600px) and (max-height:700px){.nav{justify-content:flex-start;overflow-y:auto}.nav a{font-size:clamp(1.6rem,5vw,2.2rem)}}
.cta-pas .btn-linia{background:rgba(10,15,28,.92)}
/* WCAG 2.2 / reflow: długie słowa w tytułach, cele min. 24 px, obrys mapy */
.hero-h .linia > span{max-width:100%;overflow-wrap:break-word;hyphens:auto}
@media (max-width:480px){.hero-pod .hero-h,.hero-ciemny .hero-h{font-size:clamp(1.9rem,9vw,2.6rem)}}
.logo{min-height:24px;align-items:center;padding:4px 0}
.stopka h2 a{display:inline-block;padding:6px 0;min-height:24px}
.stopka-dol a{display:inline-block;padding:3px 2px}
.zgoda input[type=checkbox]{width:24px;height:24px;min-width:24px}
.mapa-ramka iframe:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
