:root{--dark:#25292d;--anth:#2f3439;--anth2:#3b4147;--grey:#b6bbc0;--light:#eef0f1;--paper:#e3e5e7;--ink:#24282c;--yellow:#ffc400}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 'Barlow',system-ui,sans-serif;background:var(--anth);color:var(--light)}
h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',sans-serif;line-height:1.05;margin:0 0 .5em;color:#fff}
h1{font-size:clamp(2.6rem,7vw,5rem);font-weight:700}h2{font-size:clamp(1.8rem,4vw,2.8rem)}h3{font-size:1.5rem}
a{color:var(--yellow)}p{max-width:68ch}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
header{background:var(--dark);border-bottom:5px solid var(--yellow);position:sticky;top:0;z-index:10}
.bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;max-width:1080px;margin:0 auto;flex-wrap:wrap}
.logo{font:700 1.7rem 'Barlow Condensed',sans-serif;color:#fff;text-decoration:none}.logo b{color:var(--yellow)}
nav a{color:var(--light);text-decoration:none;margin-left:22px;padding:6px 0;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--yellow)}
.hero{position:relative;overflow:hidden;padding:100px 0 90px;background:linear-gradient(150deg,#454c53 0,var(--anth) 75%)}
.hero .wrap{position:relative;z-index:1;pointer-events:none}.hero .wrap a{pointer-events:auto}
.hero p{font-size:1.2rem;color:var(--grey)}

.btn{display:inline-block;background:var(--yellow);color:var(--ink)!important;padding:13px 28px;text-decoration:none;border:0;cursor:pointer;font:700 1rem 'Barlow',sans-serif;margin:8px 12px 0 0}
.btn:hover{background:#fff}.btn.alt{background:none;color:#fff!important;border:2px solid var(--grey)}.btn.alt:hover{border-color:var(--yellow);color:var(--yellow)!important}
section{padding:64px 0}section.dark{background:var(--anth2)}
section.light{background:var(--paper);color:#464b50}.light h1,.light h2,.light h3{color:var(--ink)}
.light a:not(.btn){color:#7a5c00;font-weight:600}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:28px}
.box{background:var(--anth2);border-left:5px solid var(--yellow);padding:22px}
.dark .box{background:var(--anth)}.light .box{background:#f5f6f7}
.box p{margin:0;color:var(--grey)}.light .box p{color:#555b61}
.ph{aspect-ratio:4/3;background:#4a5158;display:flex;align-items:center;justify-content:center;color:var(--grey);border-bottom:5px solid var(--yellow)}
figure{margin:0;background:var(--anth)}figcaption{padding:14px 18px}figcaption span{color:var(--grey);display:block}
form{display:grid;gap:14px;max-width:560px}label{font-weight:600}
input,select,textarea{width:100%;padding:12px;background:#fff;color:var(--ink);border:1px solid #c5c8cb;border-bottom:3px solid #8b9096;font:inherit}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--yellow)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px}
footer{background:var(--dark);padding:34px 0;color:var(--grey);font-size:.95rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
#cookie-box{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--dark);color:var(--light);border-top:5px solid var(--yellow);padding:18px 20px}
#cookie-box .in{max-width:1080px;margin:0 auto;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#cookie-box p{margin:0;font-size:.95rem}#cookie-box .btn{margin:0}
.policy h2{margin-top:1.6em;font-size:1.8rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
canvas.net{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.home main,.home footer{position:relative;z-index:1}
.home .hero{background:none}
.home section.dark{background:rgba(59,65,71,.6)}
.home section.light{background:rgba(227,229,231,.9)}
/* Strona główna: animacja jako jednolite tło pod logo, menu i treścią */
.home{background:linear-gradient(150deg,#343a40 0,#22262a 70%) fixed}
.home header{background:rgba(30,33,37,.6)}
.home section,.home section.dark,.home section.light{background:none;color:var(--light)}
.home section.light h2,.home section.light h3{color:#fff}
.home section.light a:not(.btn){color:var(--yellow)}
.home .box,.home .dark .box,.home .light .box{background:rgba(30,33,37,.6)}
.home .light .box p{color:var(--grey)}
.home footer{background:rgba(30,33,37,.6)}
/* Strona główna: sekcje na przemian, delikatnie ciemniejsze od bloków z opisami */
.home .hero{background:rgba(10,12,14,.25)}
.home section.light{background:rgba(10,12,14,.45)}
.home section.dark{background:rgba(10,12,14,.25)}
.home .box,.home .dark .box,.home .light .box{background:rgba(66,73,80,.6)}
/* Galeria realizacji */
figure.photo{transition:transform .35s ease,box-shadow .35s ease;position:relative}
figure.photo:hover,figure.photo:focus-within{transform:scale(1.04);z-index:2;box-shadow:0 12px 30px rgba(0,0,0,.45)}
figure.photo a{display:block;cursor:zoom-in}
figure.photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:5px solid var(--yellow)}
#lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(15,17,19,.88);align-items:center;justify-content:center;padding:20px}
#lightbox.open{display:flex;animation:lbin .25s ease}
@keyframes lbin{from{opacity:0}to{opacity:1}}
.lb-inner{position:relative;max-width:min(94vw,1200px);max-height:92vh;display:flex;flex-direction:column;align-items:stretch;background:var(--anth);border-top:5px solid var(--yellow)}
.lb-inner img{display:block;max-width:100%;max-height:78vh;object-fit:contain;margin:0 auto}
.lb-cap{margin:0;padding:12px 18px;color:var(--light);max-width:none}
.lb-close{position:absolute;top:-5px;right:0;width:46px;height:46px;border:0;background:var(--yellow);color:var(--ink);font:700 2rem/1 'Barlow',sans-serif;cursor:pointer;z-index:1}
.lb-close:hover{background:#fff}
@media(prefers-reduced-motion:reduce){figure.photo{transition:none}figure.photo:hover,figure.photo:focus-within{transform:none}#lightbox.open{animation:none}}
