*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#F3F5F7; --bg2:#EAEEF1; --surface:#ffffff;
  --ink:#152430; --ink2:#48586A; --ink3:#7C8B99;
  --navy:#1D3C59; --navy-d:#102030; --navy-l:#2C577E;
  --brick:#8E2E30; --brick-d:#6C2224; --brick-l:#B0474A;
  --steel:#5B7285;
  --line:#DDE3E8; --line2:#CBD4DB;
  --r-sm:2px; --r:4px;
  --ff:'Archivo',sans-serif; --fb:'Public Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --shadow:0 18px 40px -18px rgba(16,32,48,.28);
  --shadow-sm:0 8px 20px -10px rgba(16,32,48,.22);
}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
section{position:relative;overflow:hidden}
h1,h2,h3,h4{font-family:var(--ff);font-weight:700;color:var(--navy-d);line-height:1.12;letter-spacing:-.01em}
.eyebrow-line{display:flex;align-items:center;gap:10px;color:var(--brick);font-family:var(--ff);font-weight:700;font-size:14px;letter-spacing:.02em;margin-bottom:14px}
.eyebrow-line::before{content:"";width:26px;height:3px;background:var(--brick);display:block;flex:0 0 auto}
.sec-title{font-size:clamp(28px,3.6vw,42px);max-width:720px;margin-bottom:14px}
.sec-lead{color:var(--ink2);font-size:17px;max-width:620px;margin-bottom:40px}
.problem-heading{padding-left:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ff);font-weight:700;font-size:15px;padding:14px 26px;border-radius:var(--r-sm);cursor:pointer;border:2px solid transparent;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);white-space:nowrap}
.btn-brick{background:var(--brick);color:#fff;box-shadow:var(--shadow-sm)}
.btn-brick:hover{background:var(--brick-d);transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-d);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line2)}
.btn-ghost:hover{border-color:var(--navy);background:var(--surface)}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* ---------- HEADER ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(243,245,247,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:box-shadow .3s var(--ease)}
header.scrolled{box-shadow:var(--shadow-sm)}
header .wrap{display:flex;align-items:center;justify-content:flex-start;height:120px}
.brand{display:flex;align-items:center;gap:12px;overflow:visible;width:190px;flex:0 0 auto}
.brand img{height:60px;width:auto;transform:scale(1.75);transform-origin:left center;transition:transform .4s var(--ease);will-change:transform}
header.scrolled .brand img{transform:scale(1.3)}
nav.mainnav{display:flex;align-items:center;gap:22px;margin-left:auto}
nav.mainnav a{font-family:var(--ff);font-weight:600;font-size:14.5px;color:var(--ink2);transition:color .2s}
nav.mainnav{align-items:center}

/* ---------- MEGA MENU: Oferta ---------- */
.nav-item{position:static;display:flex;align-items:center}
.mega-trigger{display:flex;align-items:center;gap:6px;cursor:pointer}
.mega-trigger .chev{color:var(--ink3);transition:transform .25s var(--ease)}
.nav-item:hover .mega-trigger .chev{transform:rotate(180deg)}
.nav-item:hover .mega-trigger{color:var(--brick)}
.mega-menu{position:fixed;left:50%;top:120px;transform:translateX(-50%) translateY(10px);opacity:0;pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:30px;width:min(1040px,94vw);z-index:70}
.nav-item:hover .mega-menu,.nav-item:focus-within .mega-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mega-col{border:1px solid var(--line);background:var(--bg);padding:18px 16px 20px;transition:border-color .2s,transform .2s}
.mega-col:hover{border-color:var(--brick);transform:translateY(-3px)}
.mega-ico{width:34px;height:34px;color:var(--brick);margin-bottom:12px;display:block}
.mega-col h4{font-size:13px;color:var(--navy-d);margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--brick);line-height:1.3;min-height:34px}
.mega-col ul{display:flex;flex-direction:column;gap:11px}
.mega-col li{font-size:11.8px;color:var(--ink2);line-height:1.5;padding-left:12px;position:relative}
.mega-col li::before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;background:var(--brick);border-radius:50%}
.mega-col li b{color:var(--ink);font-weight:700;display:block;margin-bottom:2px;font-size:12.5px}

/* ---------- MOBILE: akordeon Oferta ---------- */
.mobile-oferta{width:100%}
.mobile-oferta summary{font-family:var(--ff);font-weight:700;font-size:24px;color:#fff;cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}
.mobile-oferta summary::-webkit-details-marker{display:none}
.mobile-oferta summary svg{transition:transform .25s var(--ease);flex:0 0 auto}
.mobile-oferta[open] summary svg{transform:rotate(180deg)}
.mobile-oferta-body{margin-top:18px;display:flex;flex-direction:column;gap:20px}
.mo-col h5{font-size:13px;color:var(--brick-l);margin-bottom:8px;font-family:var(--ff);font-weight:700}
.mo-col ul{display:flex;flex-direction:column;gap:6px}
.mo-col li{font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.45}
nav.mainnav a:hover{color:var(--brick)}
.head-actions{display:flex;align-items:center;gap:18px;margin-left:34px}
.phone-link{display:flex;align-items:center;gap:8px;font-family:var(--ff);font-weight:700;color:var(--navy-d);font-size:15px}
.phone-link svg{flex:0 0 auto}
.burger{display:none;flex-direction:column;gap:5px;width:26px;cursor:pointer}
.burger span{height:2px;background:var(--navy-d);display:block}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--navy-d);z-index:80;padding:100px 28px 40px;flex-direction:column;gap:26px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--ff);font-weight:700;font-size:24px;color:#fff}
.mobile-close{position:absolute;top:26px;right:26px;color:#fff;font-size:30px;cursor:pointer}

/* ---------- HERO ---------- */
.hero{background:linear-gradient(180deg,var(--bg) 0,var(--bg) var(--hero-split,500px),var(--navy-d) var(--hero-split,500px),var(--navy-d) 100%);padding-top:64px;padding-bottom:48px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:flex-start}
.hero-copy .eyebrow-line{margin-bottom:18px}
.hero h1{font-size:clamp(36px,4.6vw,58px);margin-bottom:22px}
.hero h1 .ac{color:var(--brick)}
.hero p.lead{font-size:18px;color:var(--ink2);max-width:520px;margin-bottom:32px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}
.hero-copy{position:relative}
.hero-photo{position:relative}
.hero-photo .frame{position:relative;clip-path:polygon(0 0,100% 0,100% 92%,88% 100%,0 100%);overflow:hidden;box-shadow:var(--shadow)}
.hero-photo img,.hero-photo video{width:100%;height:700px;object-fit:cover;display:block}
.hero-photo .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,32,48,0) 55%,rgba(16,32,48,.55) 100%)}
.hero-photo .tag{position:absolute;left:-18px;bottom:30px;background:var(--brick);color:#fff;padding:16px 22px;font-family:var(--ff);font-weight:700;font-size:14px;line-height:1.3;box-shadow:var(--shadow-sm);clip-path:polygon(0 0,100% 0,100% 100%,10px 100%)}

/* ---------- LICZNIKI W HERO (na granatowym tle) ---------- */
/* Uwaga: position:absolute stosowane TYLKO na desktopie (patrz media query) — na wąskich
   ekranach grupa wraca do normalnego przepływu, inaczej wypadałaby poza sekcję i znikała. */
.hero-navy-group{position:absolute;left:0;right:0;display:flex;flex-direction:column;gap:24px}
.hero-navy-tag-wrap{display:inline-block;width:fit-content;background:#fff;box-shadow:var(--shadow-sm)}
.hero-navy-tag{display:block;color:var(--navy-d);font-family:var(--ff);font-weight:700;font-size:22px;line-height:1.1;padding:11px 30px;white-space:nowrap}
.hero-stats-row{display:flex;align-items:center;justify-content:flex-start;gap:36px}
.stat-sep{display:block;width:1px;height:44px;background:rgba(255,255,255,.35)}
.hero-stat{text-align:center}
.hero-stat b{display:block;font-family:var(--ff);font-size:46px;color:#fff;font-variant-numeric:tabular-nums}
.hero-stat-caption{font-size:14px;color:rgba(255,255,255,.7);display:block}

/* ---------- GENERIC PAD ---------- */
.pad{padding:96px 0}
.pad.alt{background:var(--surface)}
#proces,#realizacje{position:relative;z-index:2;background-color:#ffffff;opacity:1}
.pad.tight{padding:80px 0}

/* ---------- PROBLEM ---------- */
/* ---------- LEAK GALLERY: skośne kafelki ---------- */
.leak-dots{display:flex;gap:16px;margin-bottom:20px}
.leak-dot{width:10px;height:10px;border-radius:50%;background:var(--line2);border:none;cursor:pointer;padding:0;transition:transform .3s var(--ease),background .3s var(--ease)}
.leak-dot.active{background:var(--brick);transform:scale(2)}
.leak-dot:hover{background:var(--brick-l)}
.leak-strip{display:flex;height:460px;gap:5px;overflow:hidden}
.leak-slice{position:relative;flex:0 0 18%;cursor:default;background-size:cover;background-position:center;filter:grayscale(1);opacity:.5;transition:flex .55s var(--ease),opacity .5s var(--ease),filter .5s var(--ease);clip-path:polygon(18% 0,100% 0,82% 100%,0 100%);background-color:var(--navy-d)}
.leak-slice.active{flex:0 0 46%;opacity:1;filter:grayscale(0)}
/* Gdy kursor jest gdziekolwiek na pasku, stan 'active' jest zawieszony - liczy się WYŁĄCZNIE
   realny hover, żeby nigdy dwa kafle nie żądały 46% jednocześnie (co dawało w efekcie
   przycięcie ostatniego obrazka przez overflow:hidden na kontenerze). */
.leak-strip:hover .leak-slice.active{flex:0 0 18%;opacity:.5;filter:grayscale(1)}
.leak-strip:hover .leak-slice:hover{flex:0 0 46%;opacity:1;filter:grayscale(0)}
.leak-slice::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,18,26,.85) 0%,rgba(10,18,26,.15) 45%,transparent 60%)}
.leak-caption{position:absolute;left:41%;bottom:32px;width:58%;max-width:360px;color:#fff;opacity:0;text-align:center;transform:translate(-50%,10px);pointer-events:none;transition:opacity .4s var(--ease) .05s,transform .4s var(--ease) .05s}
.leak-slice.active .leak-caption{opacity:1;transform:translate(-50%,0)}
.leak-strip:hover .leak-slice.active .leak-caption{opacity:0;transform:translate(-50%,10px)}
.leak-strip:hover .leak-slice:hover .leak-caption{opacity:1;transform:translate(-50%,0)}
.leak-caption h4{color:#fff;font-size:16.5px;margin-bottom:6px;line-height:1.25}
.leak-caption p{font-size:13px;color:rgba(255,255,255,.78);line-height:1.5;margin:0 auto}

/* ---------- OFERTA / FILARY ---------- */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border:1px solid var(--line)}
.pillar{background:var(--surface);padding:44px 40px;position:relative}
.pillar .ph{width:100%;height:220px;object-fit:cover;margin-bottom:26px;clip-path:polygon(0 0,100% 0,100% 100%,0 88%)}
.pillar h3{font-size:24px;margin-bottom:12px}
.pillar p.desc{color:var(--ink2);margin-bottom:20px}
.pillar ul{display:flex;flex-direction:column;gap:10px}
.pillar li{display:flex;gap:10px;font-size:15px;color:var(--ink)}
.pillar li svg{flex:0 0 auto;margin-top:3px}
.pillar.brick .ph{clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}

/* ---------- DLA KOGO ---------- */
.audience{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.aud-card{background:var(--navy-d);color:#fff;padding:38px;position:relative;overflow:hidden}
.aud-card.light{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.aud-card .tagline{font-family:var(--ff);font-weight:700;color:var(--brick-l);font-size:13px;letter-spacing:.04em;margin-bottom:10px}
.aud-card.light .tagline{color:var(--brick)}
.aud-card h3{color:#fff;font-size:23px;margin-bottom:14px}
.aud-card.light h3{color:var(--navy-d)}
.aud-card p{color:rgba(255,255,255,.72);margin-bottom:22px;font-size:15px}
.aud-card.light p{color:var(--ink2)}
.aud-card ul{display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
.aud-card li{font-size:14.5px;color:rgba(255,255,255,.85);display:flex;gap:9px}
.aud-card.light li{color:var(--ink2)}
.aud-card li::before{content:"—";color:var(--brick-l);flex:0 0 auto}
.aud-card.light li::before{color:var(--brick)}

/* ---------- PROCES ---------- */
.steps{counter-reset:step}
.step-row{display:grid;grid-template-columns:68px 70px 1fr;align-items:center;gap:6px;border-top:1px solid var(--line);padding:6px 20px;margin:0 -20px;border-radius:2px;transition:background-color .3s var(--ease)}
.step-row:hover{background-color:var(--surface);box-shadow:0 6px 24px -14px rgba(16,32,48,.25)}
.step-row:last-child{border-bottom:1px solid var(--line)}
.step-icon{width:46px;height:46px;color:var(--brick);transition:color .3s var(--ease),transform .3s var(--ease)}
.step-row:hover .step-icon{color:var(--navy);transform:scale(1.08) rotate(-4deg)}
.step-num{font-family:var(--ff);font-weight:800;font-size:34px;color:var(--line2);padding:26px 0;transition:color .3s var(--ease)}
.step-row:hover .step-num{color:var(--brick-l)}
.step-body{padding:26px 0;display:flex;flex-direction:column;gap:6px}
.step-body h3{font-size:19px}
.step-body p{color:var(--ink2);font-size:15px;max-width:640px}

/* ---------- DLACZEGO ---------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.why-card{background:rgba(255,255,255,.93);border:1px solid var(--line);padding:28px 26px;backdrop-filter:blur(2px)}
.why-card .ic{width:40px;height:40px;margin-bottom:16px}
.why-card h3{font-size:17.5px;margin-bottom:8px}
.why-card p{color:var(--ink2);font-size:14.5px}

/* ---------- REALIZACJE ---------- */
.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:14px}
.gallery a,.gallery-more a{display:block;overflow:hidden;position:relative;cursor:zoom-in}
.gallery img,.gallery-more img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gallery a:hover img,.gallery-more a:hover img{transform:scale(1.06)}
.g1{grid-row:1 / 3}
.gallery a::after{content:attr(data-label);position:absolute;left:0;bottom:0;padding:14px 16px;color:#fff;font-family:var(--ff);font-weight:700;font-size:14px;background:linear-gradient(0deg,rgba(16,32,48,.78),transparent 65%);width:100%;box-sizing:border-box;pointer-events:none}
.gallery-more{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.gallery-more a{height:220px}

/* ---------- LIGHTBOX ---------- */
.lightbox{position:fixed;inset:0;background:rgba(10,18,26,.94);display:none;align-items:center;justify-content:center;z-index:200;padding:50px}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;box-shadow:var(--shadow)}
.lightbox-close{position:absolute;top:24px;right:28px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lightbox-close:hover{background:rgba(255,255,255,.25)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:20px;line-height:1;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lightbox-nav:hover{background:rgba(255,255,255,.25)}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}
@media (max-width:600px){
  .lightbox-nav{width:42px;height:42px;font-size:16px}
  .lightbox-prev{left:6px}
  .lightbox-next{right:6px}
}

/* ---------- OPINIE ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review{position:relative;background:var(--surface);border:1px solid var(--line);height:400px;overflow:hidden}
.review-layer{position:absolute;inset:0;padding:26px 24px;box-sizing:border-box;opacity:0;transition:opacity 1.5s var(--ease)}
.review-layer.visible{opacity:1}
.review .stars{color:var(--brick);font-size:14px;margin-bottom:12px;letter-spacing:2px}
.review p{font-size:14.5px;color:var(--ink);margin-bottom:16px}
.review .who{font-family:var(--ff);font-weight:700;font-size:13.5px;color:var(--navy-d)}
.review .who span{display:block;font-family:var(--fb);font-weight:400;color:var(--ink3);font-size:12.5px}
.review-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}
.reviews-external-title{text-align:center;font-size:20px;margin-top:56px;margin-bottom:0}
.reviews-external-row{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:22px}
.review-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--line2);cursor:pointer;transition:background .2s,transform .2s}
.review-dots .dot.active{background:var(--brick);transform:scale(1.25)}

/* ---------- FAQ ---------- */
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding:22px 0;font-family:var(--ff);font-weight:700;font-size:16.5px;display:flex;justify-content:space-between;align-items:center;list-style:none;color:var(--navy-d)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:22px;color:var(--brick);flex:0 0 auto;margin-left:20px}
details[open] summary::after{content:"–"}
details p{padding:0 0 22px;color:var(--ink2);max-width:720px;font-size:15px}

/* ---------- CTA FINAL ---------- */
.cta-final{background:var(--navy-d);padding:96px 0;color:#fff}
.cta-grid{display:grid;grid-template-columns:1fr .95fr;gap:60px;align-items:center}
.cta-final h2{color:#fff;font-size:clamp(28px,3.4vw,40px);margin-bottom:16px}
.cta-final .ac{color:var(--brick-l)}
.cta-final p.lead{color:rgba(255,255,255,.66);font-size:16.5px;margin-bottom:30px;max-width:460px}
.cta-info{display:flex;flex-direction:column;gap:16px;margin-top:30px}
.cta-info .row{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.85);font-size:14.5px}
.area-towns{display:block;margin-top:4px;color:rgba(255,255,255,.75);font-size:14px;line-height:1.6}
.cta-info b{display:block;color:#fff;font-family:var(--ff)}
#formWrap{background:var(--surface);padding:36px;box-shadow:var(--shadow)}
#formWrap h3{font-size:20px;margin-bottom:22px;color:var(--navy-d)}
.hp-subject{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-size:13px;font-weight:600;color:var(--ink2)}
.field input,.field textarea{border:1px solid var(--line2);padding:12px 14px;font-family:var(--fb);font-size:14.5px;border-radius:var(--r-sm);background:var(--bg)}
.field input:focus,.field textarea:focus{outline:2px solid var(--navy);outline-offset:1px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0 20px;font-size:12.5px;color:var(--ink3)}
.consent a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.consent a:hover{color:var(--brick)}
#formWrap .btn{width:100%}
.form-success{display:none;text-align:center;padding:40px 10px}
.form-success h3{margin-bottom:10px}
.form-success p{color:var(--ink2)}

/* ---------- FOOTER ---------- */
footer{background:var(--navy-d);color:rgba(255,255,255,.6);padding:60px 0 26px;border-top:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.foot-top{margin-bottom:32px}
.foot-brand img{height:44px;margin-bottom:16px}
.foot-brand p{font-size:14px;max-width:300px;color:rgba(255,255,255,.5);margin:0}
.foot-logo-text{font-family:var(--ff);font-weight:800;font-size:30px;letter-spacing:.02em;color:#ffffff;margin-bottom:16px}
.foot-logo-text span{color:var(--brick-l)}
.foot-address{font-size:13px;line-height:1.7;color:rgba(255,255,255,.5);margin-top:14px}
.foot-reg-row{display:flex;flex-wrap:nowrap;white-space:nowrap;align-items:center;gap:8px 14px;font-size:13px;color:rgba(255,255,255,.5)}
.foot-reg-row .sep{color:rgba(255,255,255,.22)}
.foot-address a{color:rgba(255,255,255,.75)}
.foot-address a:hover{color:#fff}
.foot-social{display:flex;gap:10px;margin-top:20px}
.foot-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);transition:background .2s,color .2s,transform .2s}
.foot-social a:hover{background:var(--brick);color:#fff;transform:translateY(-2px)}
.foot-col h4{color:#fff;font-family:var(--ff);font-size:14px;margin-bottom:16px}
.foot-col ul{display:flex;flex-direction:column;gap:0}
.foot-col li{line-height:1.4}
.foot-col a{font-size:14px;color:rgba(255,255,255,.6);transition:color .2s}
.foot-col a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.foot-bottom a{color:rgba(255,255,255,.6)}
.foot-bottom a:hover{color:#fff}

/* ---------- POLITYKA PRYWATNOŚCI (ramka) ---------- */
.policy-overlay{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;padding:28px 16px;background:rgba(16,32,48,.72)}
.policy-overlay.open{display:flex}
.policy-frame{background:var(--surface);width:min(760px,100%);max-height:86vh;display:flex;flex-direction:column;box-shadow:var(--shadow);border-radius:var(--r)}
.policy-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px 12px;border-bottom:1px solid var(--line)}
.policy-head h2{font-size:20px;color:var(--navy-d);margin:0}
.policy-close{width:40px;height:40px;border:none;background:var(--bg2);color:var(--ink);font-size:26px;line-height:1;border-radius:50%;cursor:pointer;flex:0 0 auto}
.policy-close:hover{background:var(--line)}
.policy-iframe{width:100%;flex:1;min-height:280px;border:0;background:#fff}
.policy-actions{padding:16px 28px 22px;display:flex;justify-content:flex-end}
.policy-actions .btn{width:auto;min-width:140px}

/* ---------- WSTĘGA / RIBBON DECOR ---------- */
.wrap{position:relative;z-index:1}
.deco-ribbon{position:absolute;pointer-events:none;z-index:0;display:block}
.deco-ribbon path{fill:currentColor}
@media (max-width:700px){.deco-ribbon{display:none}}

/* ---------- REVEAL ---------- */
.rv{opacity:0;transform:translateY(46px) scale(.96);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.rv.on{opacity:1;transform:none}
.rv:nth-child(2){transition-delay:.09s}
.rv:nth-child(3){transition-delay:.18s}
.rv:nth-child(4){transition-delay:.27s}
.rv:nth-child(5){transition-delay:.36s}
.rv:nth-child(6){transition-delay:.45s}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  nav.mainnav,.head-actions .phone-link,.head-actions .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr}
  .hero-photo{order:-1}
  .hero-photo img,.hero-photo video{height:340px}
  .hero-stats-row{gap:24px;width:100% !important;flex-wrap:nowrap;justify-content:center}
  .hero-stat{flex:0 1 auto;min-width:0;text-align:center}
  .hero-stat b{font-variant-numeric:tabular-nums;white-space:nowrap}
  .stat-sep{flex:0 0 1px}
  .hero-stat b{font-size:34px}
  .hero-navy-tag{font-size:18px;padding:9px 18px;white-space:normal}
  .hero-navy-group{position:static !important;top:auto !important;margin-top:44px;align-items:center;text-align:center;gap:12px}
  .hero-navy-tag-wrap{max-width:100%;margin:12px auto 0}
  .hero-cta{justify-content:center}
  .aud-card .btn{display:flex;width:fit-content;margin-left:auto;margin-right:auto}
  .pillars{grid-template-columns:1fr}
  .audience{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .g1{grid-row:auto;grid-column:1 / 3}
  .gallery-more{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr}
  .cta-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-bottom{flex-direction:column;align-items:center;justify-content:center;text-align:center}
}
@media (max-width:600px){
  .problem-heading{padding-left:0;text-align:center}
  .problem-heading .sec-title,.problem-heading .sec-lead{margin-left:auto;margin-right:auto}
  .leak-dots{display:none}
  .leak-strip{flex-direction:column;height:auto;gap:14px}
  .leak-slice{flex:none !important;clip-path:none !important;height:230px;opacity:1 !important;filter:grayscale(0) !important;border-radius:2px}
  .leak-caption{left:50% !important;width:min(86%,360px);opacity:1 !important;transform:translate(-50%,0) !important}
  .why-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .g1{grid-column:auto}
  .gallery-more{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .foot-reg-row{flex-wrap:wrap;white-space:normal}
  .step-row{grid-template-columns:44px 1fr;margin:0 -12px;padding:6px 12px}
  .step-num{display:none}
  /* Liczniki w hero: trzy w jednej linii także na wąskich telefonach */
  .hero-stats-row{gap:clamp(8px,3vw,18px)}
  .hero-stat b{font-size:clamp(22px,7.2vw,32px)}
  .hero-stat-caption{font-size:clamp(11px,3.2vw,13px);line-height:1.3}
  .stat-sep{height:34px}
  .step-icon{width:34px;height:34px}
  header .wrap{height:87px}
  .brand{width:130px}
  .brand img{height:44px;transform:scale(1.55)}
  header.scrolled .brand img{transform:scale(1.3)}
}

/* ---------- Logo w tle 'Dlaczego' — czyste CSS, background-attachment:fixed. Tlo elementu z definicji nie moze wyjsc poza jego wlasne pudelko, wiec logo fizycznie nie moze pojawic sie w zadnej innej sekcji, niezaleznie od predkosci scrollowania. ---------- */
#dlaczego::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.32;background-image:url(logo-marbudach.png);background-repeat:no-repeat;background-position:center;background-size:min(680px,82vw) auto;background-attachment:fixed}
