/* === Szablon 02 · Industrialny — układ przebudowany === */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--czcionka);color:var(--kolor-tekst);background:var(--kolor-tlo);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.kontener{width:min(1240px,92%);margin-inline:auto}
h1,h2,h3{font-family:'Barlow Semi Condensed',var(--czcionka),sans-serif;color:var(--kolor-glowny);text-transform:uppercase;line-height:1.02;font-weight:800;letter-spacing:-.01em}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;padding:.85rem 1.6rem;border:2px solid transparent;border-radius:2px;cursor:pointer;font-family:var(--czcionka);transition:.18s;position:relative;overflow:hidden}
.btn--duzy{padding:1.05rem 2rem;font-size:1rem}
.btn--akcent{background:var(--kolor-akcent);color:#111}
.btn--akcent:hover{transform:translateY(-2px)}
.btn--ghost{border-color:rgba(255,255,255,.35);color:var(--kolor-glowny)}
.btn--ghost:hover{border-color:var(--kolor-glowny);background:rgba(255,255,255,.06)}

.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.76rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--kolor-akcent);margin-bottom:.9rem}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--kolor-akcent)}
.sek{padding:clamp(3.5rem,7vw,6rem) 0}
.sek__h2{font-size:clamp(1.9rem,4.2vw,3.2rem);margin-bottom:2.2rem}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--kolor-tlo) 92%,#000);border-bottom:1px solid rgba(255,255,255,.08);height:68px;display:flex;align-items:center}
.nav__in{display:flex;align-items:center;gap:1.5rem;width:min(1240px,92%);margin-inline:auto}
.nav__logo{font-family:'Barlow Semi Condensed',sans-serif;font-weight:800;font-size:1.4rem;text-transform:uppercase;color:var(--kolor-glowny);letter-spacing:.02em}
.nav__menu{display:flex;gap:1.6rem;margin-left:auto;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.03em}
.nav__menu a{color:var(--kolor-tekst);position:relative;padding:.3rem 0}
.nav__menu a:hover{color:var(--kolor-glowny)}
.nav__menu a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--kolor-akcent);transition:.2s}
.nav__menu a:hover::after{width:100%}
.nav__tel{font-weight:700;color:var(--kolor-glowny);border:2px solid var(--kolor-akcent);padding:.5rem 1rem;border-radius:2px}
.nav__burger{display:none;background:none;border:none;font-size:1.6rem;color:var(--kolor-glowny);cursor:pointer}

/* HERO pełnoekranowy */
.hero2{position:relative;min-height:calc(100dvh - 68px);display:flex;align-items:flex-end;background:#0f1114 center/cover no-repeat;overflow:hidden}
.hero2__in{padding-block:clamp(2.5rem,6vw,5rem)}
.hero2__eyebrow{font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--kolor-akcent);font-size:.8rem;margin-bottom:1.1rem}
.hero2__h1{font-size:clamp(2.6rem,7vw,5.6rem);max-width:16ch}
.hero2__sub{font-size:clamp(1.05rem,1.8vw,1.25rem);color:#d3d8dd;max-width:52ch;margin:1.4rem 0 2rem}
.hero2__akcje{display:flex;gap:1rem;flex-wrap:wrap}

/* PASEK statystyk */
.pasek{background:#0e1013;border-top:2px solid var(--kolor-akcent);border-bottom:1px solid rgba(255,255,255,.08)}
.pasek__in{display:grid;grid-template-columns:repeat(3,1fr)}
.pasek__el{padding:2rem 1.5rem;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.pasek__el:last-child{border-right:none}
.pasek__el strong{font-family:'Barlow Semi Condensed',sans-serif;display:block;font-size:2.6rem;color:var(--kolor-akcent);font-weight:800;line-height:1}
.pasek__el span{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--kolor-tekst) 70%,transparent)}

/* USŁUGI numerowane */
.uslugi2__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3.5rem}
.usluga2{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:start;padding:1.6rem 0;border-top:1px solid rgba(255,255,255,.12)}
.usluga2__nr{font-family:'Barlow Semi Condensed',sans-serif;font-size:2.2rem;font-weight:800;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--kolor-akcent) 75%,transparent);line-height:1}
.usluga2__t h3{font-size:1.3rem;margin-bottom:.35rem;text-transform:none}
.usluga2__t p{color:color-mix(in srgb,var(--kolor-tekst) 78%,transparent);font-size:.97rem}

/* O NAS split */
.onas2__in{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center}
.onas2__foto{aspect-ratio:4/3;background:#22262c center/cover no-repeat;border:1px solid rgba(255,255,255,.1);position:relative}
.onas2__foto::after{content:"";position:absolute;left:-14px;bottom:-14px;width:64px;height:64px;background:var(--kolor-akcent)}
.onas2__lead{color:#cfd5db;font-size:1.05rem;margin:.4rem 0 1.8rem}

/* REALIZACJE mozaika */
.mozaika{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:.8rem}
.mozaika__el{position:relative;overflow:hidden;background:#1c2026}
.mozaika__el--0{grid-column:span 2;grid-row:span 2}
.mozaika__el--1{grid-column:span 2}
.mozaika__el--2{grid-column:span 1}
.mozaika__el--3{grid-column:span 1}
.mozaika__el--4{grid-column:span 2}
.mozaika__el--5{grid-column:span 2}
.mozaika__foto{position:absolute;inset:0;background:#22262c center/cover no-repeat;transition:transform .5s ease}
.mozaika__el:hover .mozaika__foto{transform:scale(1.06)}
.mozaika__el::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,15,.9),transparent 55%)}
.mozaika__el figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.1rem 1.2rem;color:#fff}
.mozaika__el figcaption strong{display:block;font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;font-size:1.05rem}
.mozaika__el figcaption span{font-size:.83rem;opacity:.82}

/* KALKULATOR */
.kalk2{background:#0e1013;border-top:1px solid rgba(255,255,255,.08)}
.kalk2__in{display:grid;grid-template-columns:1fr 1.15fr;gap:3.5rem;align-items:start}
.kalk2__intro p{color:#cfd5db;margin-top:.8rem}
.kalk2__uwaga{font-size:.85rem;color:color-mix(in srgb,var(--kolor-tekst) 60%,transparent)!important;margin-top:1.4rem}
.kalkulator__panel{background:#181b1f;border:1px solid rgba(255,255,255,.1);padding:2rem}
.kalkulator__pozycje{display:flex;flex-direction:column;gap:.9rem}
.kalk-poz{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding-bottom:.9rem;border-bottom:1px solid rgba(255,255,255,.12)}
.kalk-poz__chk{width:22px;height:22px;accent-color:var(--kolor-akcent)}
.kalk-poz__nazwa{font-weight:600;font-size:.95rem;color:var(--kolor-glowny)}
.kalk-poz__nazwa small{display:block;font-weight:400;color:#8a9098;font-size:.78rem}
.kalk-poz__ilosc{width:90px;padding:.5rem;border:1.5px solid rgba(255,255,255,.18);border-radius:2px;background:#0f1216;color:#fff;text-align:right;font-family:inherit}
.kalk-poz__ilosc:disabled{opacity:.35}
.kalkulator__mnozniki{margin-top:1.4rem;display:flex;flex-direction:column;gap:1rem}
.kalk-mnoznik>span{font-weight:600;font-size:.9rem;display:block;margin-bottom:.5rem;color:var(--kolor-glowny)}
.kalk-mnoznik__opcje{display:flex;gap:.5rem;flex-wrap:wrap}
.kalk-mnoznik__opcje label{border:1.5px solid rgba(255,255,255,.2);border-radius:2px;padding:.45rem .9rem;cursor:pointer;font-size:.88rem}
.kalk-mnoznik__opcje input{display:none}
.kalk-mnoznik__opcje label:has(input:checked){border-color:var(--kolor-akcent);background:color-mix(in srgb,var(--kolor-akcent) 20%,transparent);color:#fff}
.kalkulator__wynik{display:flex;justify-content:space-between;align-items:center;margin:1.6rem 0;padding:1.1rem 1.3rem;background:#0f1216;border-left:3px solid var(--kolor-akcent)}
.kalkulator__wynik strong{font-family:'Barlow Semi Condensed',sans-serif;font-size:1.7rem;color:var(--kolor-akcent)}
.kalkulator__kontakt{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.kalkulator__kontakt input{padding:.8rem;border:1.5px solid rgba(255,255,255,.18);border-radius:2px;background:#0f1216;color:#fff;font-family:inherit}
.kalkulator__kontakt button{grid-column:1/-1}

/* OPINIE pas */
.opinie2__pas{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.opinia2{padding:0 2rem;border-left:1px solid rgba(255,255,255,.14)}
.opinia2:first-child{padding-left:0;border-left:none}
.opinia2__gw{color:var(--kolor-akcent);display:flex;gap:2px;margin-bottom:.9rem}
.opinia2 p{color:#cfd5db;margin-bottom:1rem}
.opinia2 cite{font-family:'Barlow Semi Condensed',sans-serif;font-style:normal;font-weight:700;text-transform:uppercase;color:var(--kolor-glowny);letter-spacing:.03em}

/* KONTAKT */
.kontakt2{background:#0e1013}
.kontakt2__in{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem}
.kontakt2__tresc p{color:#cfd5db}
.kontakt2__dane{list-style:none;margin-top:1.6rem;display:flex;flex-direction:column;gap:1rem}
.kontakt2__dane li{display:flex;flex-direction:column}
.kontakt2__dane span{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--kolor-akcent);font-weight:700}
.kontakt2__form{display:flex;flex-direction:column;gap:.8rem;background:#181b1f;border:1px solid rgba(255,255,255,.1);padding:2rem}
.kontakt2__form input,.kontakt2__form textarea{padding:.85rem;border:1.5px solid rgba(255,255,255,.18);border-radius:2px;background:#0f1216;color:#fff;font-family:inherit;font-size:.95rem}
.kontakt2__form textarea{resize:vertical}
.form-info{padding:.8rem 1rem;font-size:.9rem;font-weight:600}
.form-info--ok{background:color-mix(in srgb,#2ecc71 22%,transparent);color:#7ff0aa}
.form-info--blad{background:color-mix(in srgb,#e74c3c 25%,transparent);color:#ffb3aa}

/* STOPKA */
.stopka2{background:#000;color:rgba(255,255,255,.65);padding:2.6rem 0;text-align:center;border-top:2px solid var(--kolor-akcent)}
.stopka2__logo{font-family:'Barlow Semi Condensed',sans-serif;font-weight:800;font-size:1.5rem;text-transform:uppercase;color:#fff;margin-bottom:.5rem}
.stopka2__prawa{font-size:.8rem;opacity:.5;margin-top:.7rem}

.fab-tel{position:fixed;right:20px;bottom:20px;z-index:60;width:56px;height:56px;background:var(--kolor-akcent);color:#111;display:none;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 8px 24px rgba(0,0,0,.5)}

/* Animacje */
.anim{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.anim.widoczny{opacity:1;transform:none}
.uslugi2__grid .usluga2:nth-child(2){--d:60ms}.uslugi2__grid .usluga2:nth-child(3){--d:120ms}.uslugi2__grid .usluga2:nth-child(4){--d:180ms}
.uslugi2__grid .usluga2:nth-child(5){--d:240ms}.uslugi2__grid .usluga2:nth-child(6){--d:300ms}
.mozaika__el:nth-child(2){--d:70ms}.mozaika__el:nth-child(3){--d:140ms}.mozaika__el:nth-child(4){--d:210ms}.mozaika__el:nth-child(5){--d:280ms}.mozaika__el:nth-child(6){--d:350ms}
.hero2__eyebrow{animation:wjazd .7s .05s both}.hero2__h1{animation:wjazd .8s .16s both}.hero2__sub{animation:wjazd .8s .3s both}.hero2__akcje{animation:wjazd .8s .44s both}
@keyframes wjazd{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.btn--akcent::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4),transparent 70%);transform:translateX(-120%);transition:transform .6s}
.btn--akcent:hover::after{transform:translateX(120%)}
@media(prefers-reduced-motion:reduce){.anim,.hero2__eyebrow,.hero2__h1,.hero2__sub,.hero2__akcje{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}

/* --- ENHANCE: ruch i detale --- */
.hero2{position:relative;overflow:hidden}
.hero2__bg{position:absolute;inset:-8%;z-index:0;background-size:cover;background-position:center;will-change:transform;animation:kenburns 20s ease-in-out infinite alternate}
.hero2__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(15,17,20,.55),rgba(15,17,20,.72) 50%,rgba(15,17,20,.96)),radial-gradient(130% 90% at 8% 100%,rgba(15,17,20,.6),transparent 55%)}
.hero2__in{position:relative;z-index:2}
@keyframes kenburns{from{transform:scale(1.05)}to{transform:scale(1.16) translate3d(0,-2%,0)}}

.marquee{overflow:hidden;background:#0e1013;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:.85rem 0}
.marquee__track{display:inline-flex;align-items:center;gap:1.4rem;white-space:nowrap;padding-left:1.4rem;will-change:transform;animation:marq 26s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track span{font-family:'Barlow Semi Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:1.05rem;color:color-mix(in srgb,var(--kolor-tekst) 52%,transparent)}
.marquee__dot{color:var(--kolor-akcent)!important}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.spot{position:relative;isolation:isolate}
.spot::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;pointer-events:none;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--kolor-akcent) 20%,transparent),transparent 60%)}
.spot:hover::before{opacity:1}
.usluga2>*{position:relative;z-index:1}

.anim{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0ms)}
.anim.widoczny{opacity:1;transform:none}
.btn{transition:transform .3s cubic-bezier(.16,1,.3,1),background .18s,border-color .18s,filter .18s}
@media(prefers-reduced-motion:reduce){.hero2__bg,.marquee__track{animation:none!important}.spot::before{display:none}}

/* RWD */
@media(max-width:900px){
  .nav__menu{position:absolute;top:68px;left:0;right:0;flex-direction:column;background:var(--kolor-tlo);padding:1rem 5%;gap:.5rem;border-bottom:2px solid var(--kolor-akcent);display:none}
  .nav__menu--on{display:flex}.nav__burger{display:block;margin-left:auto}.nav__tel{display:none}.fab-tel{display:flex}
  .uslugi2__grid,.onas2__in,.kalk2__in,.kontakt2__in{grid-template-columns:1fr;gap:1.5rem}
  .opinie2__pas{grid-template-columns:1fr;gap:1.5rem}.opinia2{padding:1.2rem 0;border-left:none;border-top:1px solid rgba(255,255,255,.14)}.opinia2:first-child{border-top:none}
  .mozaika{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
  .mozaika__el--0,.mozaika__el--1,.mozaika__el--4,.mozaika__el--5{grid-column:span 2}
  .mozaika__el--0{grid-row:span 1}.mozaika__el--2,.mozaika__el--3{grid-column:span 1}
}
@media(max-width:560px){.pasek__in{grid-template-columns:1fr}.pasek__el{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.kalkulator__kontakt{grid-template-columns:1fr}.mozaika{grid-template-columns:1fr}.mozaika__el{grid-column:span 1!important}}

/* --- HERO napis-maska (02) --- */
.hero2--maska{align-items:center}
.hero2--maska .hero2__in{position:relative;z-index:2}
.hero2--maska::before{content:"";position:absolute;inset:0;z-index:0;background:
  radial-gradient(80% 60% at 82% 8%,color-mix(in srgb,var(--kolor-akcent) 16%,transparent),transparent 60%),
  repeating-linear-gradient(45deg,transparent,transparent 26px,rgba(255,255,255,.02) 26px,rgba(255,255,255,.02) 28px)}
.mask{position:relative;margin:0;font-family:'Lexend Mega',sans-serif;font-weight:900;line-height:.92;letter-spacing:-.02em;text-transform:uppercase}
.mask__slowo{display:block;font-size:clamp(3rem,13vw,10rem);background-size:120% auto;background-position:center 40%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 4px 30px rgba(0,0,0,.6));animation:pan 16s ease-in-out infinite alternate}
.mask__solid{display:block;font-size:clamp(3rem,13vw,10rem);color:var(--kolor-glowny)}
.mask__solid em{font-style:normal;color:var(--kolor-akcent)}
@keyframes pan{from{background-position:20% 35%}to{background-position:80% 55%}}
.hero2--maska .hero2__sub{margin-top:1.8rem}
@media(prefers-reduced-motion:reduce){.mask__slowo{animation:none}}
@media(max-width:760px){.mask__slowo,.mask__solid{font-size:clamp(2.6rem,16vw,5rem)}}
