:root{
  --tlo:#0d1117;--tlo2:#161b22;--karta:#1a212b;--tekst:#f0f6fc;--tekst2:#b8c4d0;
  --akcent:#00bfff;--akcent-ciemny:#0099cc;--akcent-tekst:#000814;
  --kreska:#2a3644;--kreska-mocna:#3d4e63;--stopka-tlo:#090c10;--stopka-tekst:#e0e8f0;
  --font-naglowki:"Space Grotesk",system-ui, "Segoe UI", sans-serif;--font-tekst:"IBM Plex Sans",system-ui, "Segoe UI", sans-serif;--naglowki-grubosc:700;
  --promien:6px;--promien-duzy:10px;--promien-maly:4px;--promien-przycisku:8px;
}
/* Kaszta Zecera - arkusz bazowy. Kolory, fonty i promien wchodza z tokenow w :root,
   ktore Zecer dopisuje na gorze style.css. Reguly sprawdzone: menu nigdy nie lamie sie
   do dwoch linii (hamburger juz na tablecie <= 1024 px), fonty z zapasem systemowym,
   animacje wylaczone przy prefers-reduced-motion, obrazy nigdy nie wychodza poza kontener. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--tlo);color:var(--tekst);font-family:var(--font-tekst);font-size:var(--tekst-rozmiar,17px);line-height:1.6;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}
body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 20% 20%,rgba(0,191,255,0.12) 0%,transparent 60%),radial-gradient(ellipse at 80% 80%,rgba(0,191,255,0.12) 0%,transparent 60%);pointer-events:none;z-index:-1}
body::after{content:"";position:fixed;top:0;right:6%;width:clamp(100px,15vw,200px);height:clamp(180px,25vw,350px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 140'%3E%3Cdefs%3E%3Cfilter id='glow'%3E%3CfeGaussianBlur stdDeviation='2' result='coloredBlur'/%3E%3CfeMerge%3E%3CfeMergeNode in='coloredBlur'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M42 2 Q46 30 28 48 Q22 68 18 88 Q16 105 20 122 Q24 138 30 145 Q36 125 40 108 Q46 90 52 72 Q58 55 62 40 Q68 25 65 10 Q60 5 42 2 Z' fill='%2300bfff' stroke='%2387ceeb' stroke-width='0.6' filter='url(%23glow)'/%3E%3Cpath d='M28 48 Q15 58 10 72' fill='none' stroke='%2300bfff' stroke-width='1.5' stroke-linecap='round' filter='url(%23glow)'/%3E%3Cpath d='M52 72 Q65 82 70 96' fill='none' stroke='%2300bfff' stroke-width='1' stroke-linecap='round' filter='url(%23glow)'/%3E%3Cpath d='M20 122 Q8 128 4 138' fill='none' stroke='%2300bfff' stroke-width='0.8' stroke-linecap='round' filter='url(%23glow)'/%3E%3Ccircle cx='28' cy='48' r='1.2' fill='%23fff' filter='url(%23glow)'/%3E%3Ccircle cx='52' cy='72' r='0.8' fill='%23fff' filter='url(%23glow)'/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none;z-index:-1;filter:drop-shadow(0 0 30px rgba(0,191,255,.9)) drop-shadow(0 0 60px rgba(0,191,255,.5));animation:bolt-side-flicker 4s ease-in-out infinite}
.sekcja::before{content:"";position:absolute;top:0;left:4%;width:clamp(80px,12vw,160px);height:clamp(140px,20vw,280px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 120'%3E%3Cdefs%3E%3Cfilter id='glow2'%3E%3CfeGaussianBlur stdDeviation='2' result='coloredBlur'/%3E%3CfeMerge%3E%3CfeMergeNode in='coloredBlur'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M38 2 Q42 28 24 44 Q18 64 14 82 Q12 98 16 114 Q20 128 26 135 Q32 116 36 100 Q42 82 48 66 Q54 50 58 36 Q64 22 61 8 Q56 3 38 2 Z' fill='%2300bfff' stroke='%2387ceeb' stroke-width='0.5' filter='url(%23glow2)'/%3E%3Cpath d='M24 44 Q12 54 8 68' fill='none' stroke='%2300bfff' stroke-width='1.2' stroke-linecap='round' filter='url(%23glow2)'/%3E%3Cpath d='M48 66 Q60 76 65 90' fill='none' stroke='%2300bfff' stroke-width='0.8' stroke-linecap='round' filter='url(%23glow2)'/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none;z-index:-1;filter:drop-shadow(0 0 25px rgba(0,191,255,.85)) drop-shadow(0 0 50px rgba(0,191,255,.45));animation:bolt-section-flicker 5s ease-in-out infinite}
.sekcja:nth-child(2n)::after{content:"";position:absolute;top:5%;right:3%;width:clamp(90px,14vw,180px);height:clamp(160px,22vw,320px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 75 130'%3E%3Cdefs%3E%3Cfilter id='glow3'%3E%3CfeGaussianBlur stdDeviation='2' result='coloredBlur'/%3E%3CfeMerge%3E%3CfeMergeNode in='coloredBlur'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M40 2 Q44 26 22 42 Q16 62 12 80 Q10 96 14 112 Q18 128 24 135 Q30 116 34 98 Q40 80 46 64 Q52 48 56 34 Q62 20 59 6 Q54 1 40 2 Z' fill='%2300bfff' stroke='%2387ceeb' stroke-width='0.5' filter='url(%23glow3)'/%3E%3Cpath d='M22 42 Q10 52 6 66' fill='none' stroke='%2300bfff' stroke-width='1.3' stroke-linecap='round' filter='url(%23glow3)'/%3E%3Cpath d='M46 64 Q58 74 63 88' fill='none' stroke='%2300bfff' stroke-width='0.9' stroke-linecap='round' filter='url(%23glow3)'/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none;z-index:-1;filter:drop-shadow(0 0 28px rgba(0,191,255,.8)) drop-shadow(0 0 55px rgba(0,191,255,.4));animation:bolt-section-flicker 6s ease-in-out infinite;animation-delay:1.5s}
.sekcja:nth-child(3n)::before{left:8%;animation-delay:2s}
.sekcja:nth-child(4n)::after{right:8%;animation-delay:3s}
@keyframes bolt-side-flicker{0%,35%,100%{opacity:.15}37%{opacity:.9}41%{opacity:.2}46%{opacity:.75}52%{opacity:.18}78%{opacity:.35}85%{opacity:.12}}
@keyframes bolt-section-flicker{0%,30%,100%{opacity:.12}32%{opacity:.85}36%{opacity:.15}42%{opacity:.7}48%{opacity:.18}75%{opacity:.3}82%{opacity:.1}}
.random-bolt{position:absolute;width:4px;background:linear-gradient(to bottom,transparent,rgba(0,191,255,0.9),transparent);box-shadow:0 0 20px 5px rgba(0,191,255,0.7);animation:random-flash 7s ease-in-out infinite;pointer-events:none;z-index:0}
@keyframes random-flash{0%,45%,100%{opacity:.1}47%{opacity:.95}52%{opacity:.15}85%{opacity:.3}}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:var(--akcent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-naglowki);line-height:1.15;letter-spacing:-.015em;margin:0 0 .5em;color:var(--tekst);text-wrap:balance;font-weight:var(--naglowki-grubosc,700);text-shadow:0 0 12px rgba(0,191,255,.45),0 0 36px rgba(0,191,255,.18)}
h1,h2{color:#fff}
h1{font-size:clamp(2.1rem,1.2rem + 3.6vw,3.9rem)}
h2{font-size:clamp(1.65rem,1.1rem + 2vw,2.6rem)}
h3{font-size:1.2rem;margin-bottom:.35em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--akcent);outline-offset:3px;border-radius:4px}
.pojemnik{width:min(1140px,100% - 2.5rem);margin-inline:auto}
.pojemnik.waski{max-width:820px}
.lead{font-size:1.2rem;color:var(--tekst2);max-width:56ch}
.lead-maly{font-size:1.08rem;color:var(--tekst2)}
.etykieta{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--akcent);margin-bottom:.8rem;text-shadow:0 0 12px rgba(0,191,255,.9),0 0 30px rgba(0,191,255,.45),0 0 50px rgba(0,191,255,.25);animation:neon-pulse 3s ease-in-out infinite}
@keyframes neon-pulse{0%,100%{opacity:.9;text-shadow:0 0 12px rgba(0,191,255,.9),0 0 30px rgba(0,191,255,.45),0 0 50px rgba(0,191,255,.25)}50%{opacity:1;text-shadow:0 0 18px rgba(0,191,255,1),0 0 40px rgba(0,191,255,.6),0 0 70px rgba(0,191,255,.35)}}
.etykieta-jasna{color:#fff;opacity:.9}
.wstep{color:var(--tekst2);font-size:1.08rem;max-width:62ch;margin-inline:auto}
.naglowek-sekcji{text-align:center;max-width:760px;margin:0 auto 2.75rem}
.naglowek-sekcji.lewo{text-align:left;margin:0}
.naglowek-sekcji.lewo .wstep{margin-inline:0}

/* przyciski */
.przycisk{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.45rem;border-radius:var(--promien-przycisku);font-weight:600;font-size:1rem;line-height:1.2;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;text-decoration:none!important;font-family:var(--font-tekst)}
.przycisk:hover{transform:translateY(-2px)}
.przycisk:active{transform:translateY(0)}
.przycisk-akcent{background:var(--akcent);color:var(--akcent-tekst);box-shadow:0 8px 24px color-mix(in srgb,var(--akcent) 45%,transparent),0 0 20px rgba(0,191,255,0.3);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.2)}
.przycisk-akcent::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 35%,rgba(0,191,255,0.6) 45%,rgba(255,255,255,0.5) 50%,rgba(0,191,255,0.6) 55%,transparent 65%);transform:rotate(45deg);animation:button-lightning 2.5s ease-in-out infinite;opacity:0}
.przycisk-akcent:hover::before{opacity:0.6}
.przycisk-akcent:hover{background:var(--akcent-ciemny);box-shadow:0 8px 24px color-mix(in srgb,var(--akcent) 55%,transparent),0 0 35px rgba(0,191,255,0.5),0 0 60px rgba(0,191,255,0.2)}
@keyframes button-lightning{0%,100%{transform:rotate(45deg) translateX(-120%)}45%{transform:rotate(45deg) translateX(100%)}}
.przycisk-drugi{background:transparent;color:var(--tekst);border-color:var(--kreska-mocna)}
.przycisk-drugi:hover{border-color:var(--tekst);background:var(--tlo2)}
.przycisk-jasny{background:#fff;color:#111}
.przycisk-kontur-jasny{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.przycisk-kontur-jasny:hover{border-color:#fff}
.przyciski{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.przyciski-centrum{justify-content:center}
.link-strzalka{font-weight:600;display:inline-flex;gap:.35rem;align-items:center;margin-top:.5rem}
.link-strzalka::after{content:"→";transition:transform .15s}
.link-strzalka:hover::after{transform:translateX(3px)}

/* naglowek i menu */
.naglowek{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--tlo) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--kreska)}
.naglowek-wnetrze{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:72px}
.logo{font-family:var(--font-naglowki);font-weight:700;font-size:1.25rem;color:#fff;letter-spacing:-.01em;white-space:nowrap;display:inline-flex;align-items:center;gap:.55rem;text-decoration:none!important;text-shadow:0 0 10px rgba(0,191,255,.7),0 0 30px rgba(0,191,255,.3)}
.logo-znak{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--akcent);color:var(--akcent-tekst);font-size:.95rem;box-shadow:0 0 14px rgba(0,191,255,.65),0 0 34px rgba(0,191,255,.3)}
.menu{display:flex;align-items:center;gap:1.25rem}
.menu ul{display:flex;gap:.25rem;white-space:nowrap}
.menu li a{display:inline-block;padding:.5rem .8rem;border-radius:8px;color:var(--tekst2);font-weight:500;font-size:.98rem;text-decoration:none!important;transition:color .15s,background .15s}
.menu li a:hover,.menu li a.aktywny{color:var(--tekst);background:var(--tlo2)}
.menu-cta{padding:.6rem 1.1rem;font-size:.95rem;box-shadow:none}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:8px;border-radius:8px}
.hamburger span{display:block;height:2px;background:var(--tekst);border-radius:2px;transition:transform .2s,opacity .2s}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1024px){
 .hamburger{display:flex}
 .menu{position:absolute;left:0;right:0;top:100%;background:var(--tlo);border-bottom:1px solid var(--kreska);flex-direction:column;align-items:stretch;padding:.75rem 1.25rem 1.25rem;gap:.5rem;display:none;box-shadow:0 20px 40px rgba(0,0,0,.12)}
 .menu.otwarte{display:flex}
 .menu ul{flex-direction:column;gap:0;white-space:normal}
 .menu li a{display:block;padding:.8rem .6rem;font-size:1.05rem}
 .menu-cta{justify-content:center}
}

/* sekcje */
.sekcja{padding:clamp(3.5rem,6vw,6rem) 0;position:relative}
.sekcja.alt{background:var(--tlo2)}
.sekcja+.sekcja{border-top:1px solid transparent}
.s-hero{padding-top:clamp(3rem,7vw,6.5rem);padding-bottom:clamp(3rem,7vw,6.5rem);overflow:hidden}
.hero-siatka{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero-obraz{margin:0;position:relative}
.hero-obraz img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--promien-duzy);box-shadow:0 30px 60px -20px rgba(0,0,0,.35)}
.hero-obraz::before{content:"";position:absolute;inset:auto -6% -6% auto;width:55%;height:55%;background:var(--akcent);opacity:.12;border-radius:var(--promien-duzy);z-index:-1}
.hero-obraz-szeroki{margin:3rem 0 0}
.hero-obraz-szeroki img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:var(--promien-duzy);box-shadow:0 30px 60px -20px rgba(0,0,0,.3)}
.hero-srodek{position:relative}
.hero-centrum{text-align:center;max-width:800px;margin-inline:auto}
.hero-centrum .lead{margin-inline:auto}
.zaufanie{margin-top:1.25rem;font-size:.9rem;color:var(--tekst2)}
.s-hero.w-tlo{min-height:min(88vh,760px);display:flex;align-items:center;color:#fff;position:relative}
.s-hero.w-tlo::after{content:"";position:absolute;top:4%;right:5%;width:clamp(180px,25vw,350px);height:clamp(280px,38vw,550px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 200'%3E%3Cdefs%3E%3Cfilter id='glow'%3E%3CfeGaussianBlur stdDeviation='3' result='coloredBlur'/%3E%3CfeMerge%3E%3CfeMergeNode in='coloredBlur'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M75 2 Q80 40 58 60 Q52 80 46 100 Q44 120 48 140 Q52 165 58 195 Q64 165 68 145 Q74 125 80 105 Q86 85 92 60 Q102 35 98 12 Q92 6 75 2 Z' fill='%2300bfff' stroke='%2387ceeb' stroke-width='0.8' filter='url(%23glow)'/%3E%3Cpath d='M58 60 Q45 70 38 82 Q34 95 42 105' fill='none' stroke='%2300bfff' stroke-width='2' stroke-linecap='round' filter='url(%23glow)'/%3E%3Cpath d='M80 105 Q98 118 105 135' fill='none' stroke='%2300bfff' stroke-width='1.5' stroke-linecap='round' filter='url(%23glow)'/%3E%3Cpath d='M48 140 Q33 148 28 162' fill='none' stroke='%2300bfff' stroke-width='1' stroke-linecap='round' filter='url(%23glow)'/%3E%3Ccircle cx='58' cy='60' r='2' fill='%23fff' filter='url(%23glow)'/%3E%3Ccircle cx='80' cy='105' r='1.5' fill='%23fff' filter='url(%23glow)'/%3E%3Ccircle cx='48' cy='140' r='1' fill='%23fff' filter='url(%23glow)'/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none;filter:drop-shadow(0 0 40px rgba(0,191,255,1)) drop-shadow(0 0 80px rgba(0,191,255,0.6)) drop-shadow(0 0 120px rgba(0,191,255,0.3));animation:bolt-flicker 5s ease-in-out infinite}
@keyframes bolt-flicker{0%,30%,100%{opacity:.2}32%{opacity:.95}36%{opacity:.15}42%{opacity:.8}48%{opacity:.2}75%{opacity:.4}82%{opacity:.1}}
.hero-tlo-obraz{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-tlo-obraz::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.2) 100%)}
.hero-na-tle{max-width:680px}
.hero-na-tle h1,.hero-na-tle .lead,.hero-na-tle .zaufanie{color:#fff}
.hero-na-tle .lead{opacity:.92}

.siatka{display:grid;gap:1.5rem}
.siatka-3{grid-template-columns:repeat(3,1fr)}
.siatka-2{grid-template-columns:repeat(2,1fr)}
.dwie-kolumny{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}
.dwie-kolumny.srodek{align-items:center}
.karta{background:var(--karta);border:1px solid var(--kreska);border-radius:var(--promien);padding:1.75rem;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden;position:relative}
.karta::before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:var(--promien);background:linear-gradient(45deg,transparent 40%,var(--akcent) 50%,transparent 60%);opacity:0;z-index:-1;transition:opacity .2s;transform:scale(1.02)}
.karta:hover::before{opacity:0.15;animation:card-lightning 2s ease-in-out infinite}
.karta:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(0,191,255,.2);border-color:var(--akcent)}
@keyframes card-lightning{0%,100%{opacity:0.1}50%{opacity:0.2}}
.karta-obraz{width:calc(100% + 3.5rem);margin:-1.75rem -1.75rem 1.25rem;aspect-ratio:4/3;object-fit:cover}
.karta-tresc{display:flex;flex-direction:column;gap:.25rem}
.ikona{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.5rem;background:color-mix(in srgb,var(--akcent) 14%,var(--karta));color:var(--akcent);margin-bottom:1.1rem}
.ikona-mala{display:inline-grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;background:color-mix(in srgb,var(--akcent) 14%,var(--karta));color:var(--akcent);font-size:1.15rem}
.cecha p,.usluga p,.osoba p{color:var(--tekst2);margin:0}
.lista-cech{display:flex;flex-direction:column;gap:1.25rem}
.lista-cech li{display:flex;gap:1rem;align-items:flex-start}
.lista-cech p{color:var(--tekst2);margin:0}
.obraz-sekcji{margin:0}
.obraz-sekcji img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--promien-duzy)}
.lista-ptaszki{display:flex;flex-direction:column;gap:.55rem;margin:1.25rem 0}
.lista-ptaszki li{position:relative;padding-left:1.8rem}
.lista-ptaszki li::before{content:"✓";position:absolute;left:0;top:0;width:1.25rem;height:1.25rem;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:color-mix(in srgb,var(--akcent) 16%,var(--tlo));color:var(--akcent)}
.lista-ptaszki.dwie{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 2rem}
.cena-mala{font-weight:700;color:var(--akcent);margin-top:.5rem}
.grupa-listy+.grupa-listy{margin-top:2.25rem}
.grupa-tytul{color:var(--akcent);font-size:1rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.75rem}
.lista-cen li{display:flex;justify-content:space-between;gap:1.5rem;align-items:baseline;padding:.9rem 0;border-bottom:1px dashed var(--kreska-mocna)}
.lista-cen li b{display:block;font-weight:600}
.opis-pozycji{display:block;color:var(--tekst2);font-size:.95rem}
.cena{white-space:nowrap;font-weight:700;color:var(--akcent)}
.kroki{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:krok}
.krok{position:relative;padding:1.75rem 1.5rem 1.5rem;background:var(--karta);border:1px solid var(--kreska);border-radius:var(--promien)}
.krok-nr{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--akcent);color:var(--akcent-tekst);font-weight:700;font-family:var(--font-naglowki);margin-bottom:1rem}
.krok p{color:var(--tekst2);margin:0}
.liczby{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;text-align:center}
.liczba strong{display:block;font-family:var(--font-naglowki);font-size:clamp(2.2rem,1.5rem + 2.5vw,3.4rem);color:var(--akcent);line-height:1;letter-spacing:-.02em}
.liczba span{display:block;margin-top:.5rem;color:var(--tekst2)}
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.galeria figure{margin:0;position:relative}
.galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--promien);transition:transform .3s}
.galeria figure:hover img{transform:scale(1.02)}
.galeria figcaption{font-size:.9rem;color:var(--tekst2);margin-top:.5rem}
.pakiety{align-items:stretch}
.pakiet{display:flex;flex-direction:column;gap:.5rem;position:relative}
.pakiet.wyrozniony{border-color:var(--akcent);box-shadow:0 20px 50px -20px color-mix(in srgb,var(--akcent) 45%,transparent)}
.etykieta-pakietu{position:absolute;top:1rem;right:1rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--akcent);color:var(--akcent-tekst);padding:.3rem .6rem;border-radius:20px}
.opis-pakietu{color:var(--tekst2);margin:0}
.cena-duza{font-family:var(--font-naglowki);font-size:2.4rem;font-weight:700;letter-spacing:-.02em;margin:.75rem 0 .25rem}
.cena-duza span{font-size:1rem;font-weight:500;color:var(--tekst2);font-family:var(--font-tekst);margin-left:.3rem}
.pakiet .przycisk{margin-top:auto}
.dopisek{text-align:center;color:var(--tekst2);font-size:.95rem;margin-top:1.5rem}
.opinia{margin:0;display:flex;flex-direction:column;gap:.75rem}
.gwiazdki{color:#E3A73B;letter-spacing:.1em}
.opinia p{font-size:1.05rem;flex:1}
.opinia footer b{display:block}
.opinia footer span{color:var(--tekst2);font-size:.92rem}
.osoba{padding:0}
.osoba .karta-tresc{padding:1.25rem 1.5rem 1.5rem}
.portret{width:100%;aspect-ratio:1/1;object-fit:cover}
.osoba .rola{color:var(--akcent);font-weight:600;font-size:.92rem;display:block;margin-bottom:.5rem}
.faq details{border:1px solid var(--kreska);border-radius:var(--promien);background:var(--karta);margin-bottom:.75rem;overflow:hidden}
.faq summary{cursor:pointer;padding:1.1rem 3rem 1.1rem 1.35rem;font-weight:600;list-style:none;position:relative;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--akcent);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-odp{padding:0 1.35rem 1.25rem;color:var(--tekst2)}
.s-cta{background:var(--akcent);color:var(--akcent-tekst)}
.s-cta h2,.s-cta .lead{color:inherit}
.s-cta .lead{opacity:.92}
.cta-wnetrze{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cta-wnetrze .przyciski{margin-top:0}
.kontakt-siatka{display:grid;grid-template-columns:minmax(0,620px);justify-content:center;gap:clamp(2rem,4vw,4rem)}
.kontakt-dane{display:flex;flex-direction:column;gap:1rem}
.dane-wiersz{display:flex;gap:1rem;align-items:center;color:var(--tekst);text-decoration:none!important}
.dane-wiersz small{display:block;color:var(--tekst2);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}
.mapa{width:100%;height:240px;border:0;border-radius:var(--promien);margin-top:.5rem;background:var(--tlo2)}
.formularz{background:var(--karta);border:1px solid var(--kreska);border-radius:var(--promien-duzy);padding:2rem;display:flex;flex-direction:column;gap:1.1rem}
.pole{display:flex;flex-direction:column;gap:.35rem}
.pole label{font-weight:600;font-size:.92rem}
.pole input,.pole textarea{width:100%;padding:.8rem .95rem;border:1px solid var(--kreska-mocna);border-radius:var(--promien-maly);background:var(--tlo);color:var(--tekst);font:inherit;transition:border-color .15s,box-shadow .15s}
.pole input:focus,.pole textarea:focus{outline:0;border-color:var(--akcent);box-shadow:0 0 0 4px color-mix(in srgb,var(--akcent) 18%,transparent)}
.zgoda{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--tekst2)}
.zgoda input{margin-top:.3rem}
.formularz-info{color:var(--akcent);font-weight:600}
.stopka{background:var(--stopka-tlo);color:var(--stopka-tekst);padding:3.5rem 0 1.5rem;margin-top:0}
.stopka h3{color:inherit;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;opacity:.85}
.stopka a{color:inherit;opacity:.85}
.stopka a:hover{opacity:1}
.stopka-siatka{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.logo-stopki{color:inherit;font-size:1.35rem}
.stopka-opis{opacity:.75;max-width:40ch;margin-top:.75rem}
.stopka nav ul,.stopka-kontakt{display:flex;flex-direction:column;gap:.5rem}
.social{display:flex;gap:1rem;margin-top:1rem}
.stopka-dol{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.14);font-size:.88rem;opacity:.75}
.stopka-linki{display:flex;gap:1.25rem}

/* odslanianie przy przewijaniu - chowamy TYLKO gdy skrypt dziala (klasa js na <html>),
   a skrypt i tak odslania wszystko po 1,5 s, gdyby obserwator nie zadzialal */
.js .odslon{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .odslon.widoczne{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .odslon{opacity:1;transform:none;transition:none}.przycisk,.karta,.galeria img{transition:none}}

/* tablet i telefon */
@media (max-width:1024px){
 .siatka-3,.kroki{grid-template-columns:repeat(2,1fr)}
 .hero-siatka{grid-template-columns:1fr;text-align:left}
 .hero-obraz{order:-1}
 .hero-obraz img{aspect-ratio:16/9}
 .stopka-siatka{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
 body{font-size:16px}
 .siatka-3,.siatka-2,.kroki,.dwie-kolumny,.kontakt-siatka,.stopka-siatka,.galeria,.lista-ptaszki.dwie{grid-template-columns:1fr}
 .karta{padding:1.4rem}
 .karta-obraz{width:calc(100% + 2.8rem);margin:-1.4rem -1.4rem 1rem}
 .formularz{padding:1.4rem}
 .cta-wnetrze{flex-direction:column;align-items:flex-start}
 .przyciski .przycisk{width:100%}
 .naglowek-sekcji{margin-bottom:2rem}
 .s-hero.w-tlo{min-height:auto;padding-top:5rem;padding-bottom:5rem}
 .lista-cen li{flex-direction:column;gap:.25rem;align-items:flex-start}
}
