/* ===== Podstrony: galerie i artykuły ===== */
.site-header.is-solid{padding-top:14px;padding-bottom:14px;background:rgba(14,14,14,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:rgba(244,242,238,.08)}
.nav a[aria-current="page"]{color:var(--ink)}
.nav a[aria-current="page"]::after{transform:scaleX(1)}

.page{position:relative;z-index:2}
.crumbs{font-size:.8rem;color:rgba(244,242,238,.5);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(22px,2.6vw,36px)}
.crumbs a:hover{color:var(--ink)}
.crumbs li{list-style:none}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}

.page-hero{max-width:calc(1320px + 2 * var(--gutter));margin:0 auto;padding:clamp(120px,12vw,180px) var(--gutter) clamp(40px,4vw,70px)}
.page-hero h1{font-weight:400;font-size:clamp(2.4rem,5vw,5.2rem);line-height:1;letter-spacing:-.04em;max-width:18ch}
.page-lead{margin-top:clamp(18px,2vw,28px);max-width:62ch;font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.75;font-weight:300;color:var(--ink-dim)}
.page-facts{margin:clamp(30px,3.4vw,48px) 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(244,242,238,.14)}
.page-facts div{padding:16px 18px 0 0}
.page-facts dt{font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,242,238,.5)}
.page-facts dd{margin:6px 0 0;font-size:.92rem;line-height:1.5;color:var(--ink)}
@media (max-width:900px){.page-facts{grid-template-columns:1fr 1fr}.page-facts div{padding:14px 12px 0 0}}

.page-cover{max-width:calc(1320px + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.page-cover img{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;box-shadow:0 30px 60px rgba(0,0,0,.35)}
@media (max-width:900px){.page-cover img{aspect-ratio:4/3}}

.gal-section{max-width:calc(1320px + 2 * var(--gutter));margin:0 auto;padding:clamp(60px,6vw,110px) var(--gutter) 0}
.gal-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;margin-bottom:clamp(26px,3vw,44px)}
.gal-head h2{font-weight:400;font-size:clamp(1.9rem,3.2vw,3.2rem);line-height:1.02;letter-spacing:-.035em}
.gal-head p{max-width:52ch;font-size:.95rem;line-height:1.7;font-weight:300;color:var(--ink-dim)}
.gallery{columns:3 280px;column-gap:clamp(10px,1.2vw,18px)}
.gallery a{display:block;break-inside:avoid;margin-bottom:clamp(10px,1.2vw,18px);overflow:hidden;background:#1a1a1a;box-shadow:0 18px 40px rgba(0,0,0,.35);cursor:zoom-in}
.gallery img{width:100%;height:auto;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.gallery a:hover img{transform:scale(1.04)}
@media (max-width:600px){.gallery{columns:2}}

/* zachęta do drugiej galerii */
.cross{max-width:calc(1320px + 2 * var(--gutter));margin:clamp(80px,8vw,140px) auto 0;padding:0 var(--gutter)}
.cross a{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(30px,4vw,70px);background:#191919;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.cross-img{aspect-ratio:4/3;overflow:hidden}
.cross-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.cross a:hover .cross-img img{transform:scale(1.04)}
.cross-copy{padding:clamp(28px,3vw,50px) clamp(24px,3vw,50px) clamp(28px,3vw,50px) 0}
.cross-copy h2{font-weight:400;font-size:clamp(1.8rem,3vw,3rem);line-height:1.02;letter-spacing:-.035em}
.cross-copy p:not(.eyebrow){margin-top:16px;font-size:.95rem;line-height:1.7;font-weight:300;color:var(--ink-dim);max-width:46ch}
.cross-copy .btn{margin-top:clamp(22px,2.4vw,34px)}
@media (max-width:900px){.cross a{grid-template-columns:1fr;gap:0}.cross-copy{padding:26px 22px 30px}}

/* pergole – mocny blok reklamowy */
.promo{position:relative;margin-top:clamp(90px,9vw,160px);min-height:clamp(560px,48vw,860px);display:flex;align-items:flex-end;overflow:hidden;scroll-margin-top:60px}
.promo-bg{position:absolute;inset:0}
.promo-bg img{width:100%;height:100%;object-fit:cover}
.promo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.88) 0%,rgba(12,12,12,.62) 38%,rgba(12,12,12,.05) 70%),linear-gradient(0deg,rgba(12,12,12,.6) 0%,rgba(12,12,12,0) 40%)}
.promo-copy{position:relative;z-index:1;max-width:calc(1320px + 2 * var(--gutter));width:100%;margin:0 auto;padding:clamp(60px,6vw,110px) var(--gutter)}
.promo-tag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:.55em 1em;border:1px solid rgba(244,242,238,.5);margin-bottom:clamp(18px,2vw,28px)}
.promo h2{font-weight:400;font-size:clamp(2.6rem,5.6vw,6rem);line-height:.98;letter-spacing:-.045em;max-width:13ch}
.promo p.promo-lead{margin-top:clamp(18px,2vw,28px);max-width:50ch;font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.75;font-weight:300;color:rgba(244,242,238,.85)}
.promo-points{list-style:none;margin:clamp(22px,2.4vw,34px) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.promo-points li{font-size:.85rem;padding:.6em 1em;background:rgba(244,242,238,.08);border:1px solid rgba(244,242,238,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.promo .actions{margin-top:clamp(26px,3vw,40px)}
@media (max-width:900px){.promo::after{background:linear-gradient(0deg,rgba(12,12,12,.92) 0%,rgba(12,12,12,.65) 55%,rgba(12,12,12,.15) 100%)}.promo{min-height:auto}.promo-copy{padding-top:52vw}}

/* artykuł */
.article-hero{max-width:calc(1320px + 2 * var(--gutter));margin:0 auto;padding:clamp(120px,12vw,180px) var(--gutter) clamp(30px,3vw,50px)}
.article-hero h1{font-weight:400;font-size:clamp(2.3rem,4.6vw,4.8rem);line-height:1.02;letter-spacing:-.04em;max-width:20ch}
.article-meta{margin-top:clamp(20px,2.2vw,30px);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.82rem;color:rgba(244,242,238,.55)}
.article-meta b{font-weight:500;color:var(--ink)}
.article-body{max-width:calc(760px + 2 * var(--gutter));margin:0 auto;padding:clamp(50px,5vw,90px) var(--gutter) 0}
.article-body > p:first-child{font-size:clamp(1.1rem,1.3vw,1.3rem);line-height:1.65;color:var(--ink);font-weight:300}
.article-body p,.article-body li{font-size:clamp(1rem,1.05vw,1.08rem);line-height:1.8;font-weight:300;color:rgba(244,242,238,.8)}
.article-body p+p{margin-top:1.1em}
.article-body h2{margin:clamp(48px,5vw,72px) 0 18px;font-weight:400;font-size:clamp(1.6rem,2.4vw,2.3rem);line-height:1.1;letter-spacing:-.03em;color:var(--ink)}
.article-body h3{margin:30px 0 10px;font-weight:500;font-size:1.1rem;color:var(--ink)}
.article-body strong{font-weight:500;color:var(--ink)}
.article-body ul{margin:1em 0 0;padding:0;list-style:none;border-top:1px solid rgba(244,242,238,.12)}
.article-body ul li{padding:12px 0 12px 30px;position:relative;border-bottom:1px solid rgba(244,242,238,.12)}
.article-body ul li::before{content:"";position:absolute;left:0;top:25px;width:16px;height:1px;background:var(--ink)}
.article-body figure{margin:clamp(36px,4vw,56px) calc(-1 * min(9vw,140px));box-shadow:0 30px 60px rgba(0,0,0,.35)}
.article-body figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.article-body figcaption{padding:12px 0;font-size:.8rem;color:rgba(244,242,238,.5);background:var(--bg)}
@media (max-width:900px){.article-body figure{margin-left:0;margin-right:0}}
.pull{margin:clamp(40px,4vw,60px) 0;padding-left:clamp(20px,2.4vw,34px);border-left:1px solid var(--ink);font-size:clamp(1.35rem,2vw,1.9rem)!important;line-height:1.35!important;letter-spacing:-.02em;color:var(--ink)!important;font-weight:300}
.cmp{width:100%;border-collapse:collapse;margin-top:1.2em;font-size:.92rem}
.cmp th,.cmp td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid rgba(244,242,238,.12);vertical-align:top;font-weight:300;color:rgba(244,242,238,.8);line-height:1.55}
.cmp th{font-weight:500;color:var(--ink);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.cmp td:first-child{color:var(--ink);font-weight:500}
.table-wrap{overflow-x:auto}
.article-cta{margin-top:clamp(56px,6vw,90px);padding:clamp(28px,3vw,44px);background:#191919;border:1px solid rgba(244,242,238,.1)}
.article-cta h2{margin:0 0 12px!important}
.article-cta .actions{margin-top:24px}
.related{max-width:calc(1320px + 2 * var(--gutter));margin:clamp(80px,8vw,140px) auto 0;padding:0 var(--gutter)}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,48px);margin-top:clamp(24px,2.6vw,40px)}
.related a{display:block}
.related .ri{aspect-ratio:16/9;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.35)}
.related .ri img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.related a:hover .ri img{transform:scale(1.05)}
.related h3{margin-top:18px;font-weight:400;font-size:clamp(1.3rem,1.8vw,1.7rem);letter-spacing:-.02em}
.related p{margin-top:8px;font-size:.9rem;line-height:1.6;font-weight:300;color:var(--ink-dim)}
@media (max-width:700px){.related-grid{grid-template-columns:1fr}}
.page-end{height:clamp(80px,8vw,140px)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:80;background:rgba(10,10,10,.96);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.lb.is-open{opacity:1;visibility:visible}
.lb-fig{margin:0;max-width:calc(100vw - 160px);max-height:calc(100vh - 100px);display:flex;flex-direction:column;align-items:center}
.lb-fig img{max-width:100%;max-height:calc(100vh - 130px);object-fit:contain}
.lb-cap{margin-top:12px;font-size:.8rem;color:rgba(244,242,238,.6);letter-spacing:.1em}
.lb-close{position:absolute;top:18px;right:18px;width:44px;height:44px;background:none;border:0;color:var(--ink);cursor:pointer}
.lb-close::before,.lb-close::after{content:"";position:absolute;left:10px;right:10px;top:50%;height:1.5px;background:currentColor;transform:rotate(45deg)}
.lb-close::after{transform:rotate(-45deg)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:44px;display:grid;place-items:center;background:none;border:1px solid rgba(244,242,238,.3);color:var(--ink);cursor:pointer}
.lb-nav:hover{border-color:var(--ink)}
.lb-nav svg{width:18px;height:10px}
.lb-prev{left:24px}.lb-next{right:24px}
@media (max-width:700px){.lb-fig{max-width:100vw}.lb-nav{top:auto;bottom:18px;transform:none}.lb-prev{left:18px}.lb-next{right:18px}}

/* układ kolumn liczony w JS: wszystkie kolumny kończą się na jednej linii (zdjęcia lekko przycięte) */
.gallery.is-even{columns:auto;display:flex;align-items:flex-start;gap:clamp(10px,1.2vw,18px)}
.gallery.is-even .g-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:clamp(10px,1.2vw,18px)}
.gallery.is-even a{margin-bottom:0}
.gallery.is-even img{height:var(--h);object-fit:cover}
