/* Jednolita siatka, niezależna od orientacji fotografii. */
.services .service{grid-template-columns:48px minmax(180px,.8fr) minmax(0,1.2fr);padding-block:28px;gap:24px}
.services .service p{max-width:none;font-size:14px;line-height:1.8}
.materials h2,.faq h2{font-size:clamp(32px,4vw,52px);line-height:1.1;margin-bottom:28px}
.materials>p:not(.eyebrow){max-width:820px;color:#444}
.faq details{border-bottom:1px solid #c7c6c1;padding:20px 0}
.faq summary{cursor:pointer;font-weight:700;font-size:17px}
.faq details p{max-width:820px;margin:16px 0 0;color:#444}
@media(max-width:700px){.services .service{grid-template-columns:30px minmax(0,1fr);gap:12px}.services .service p{grid-column:2}}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:24px}
.gallery-grid .gallery-card{grid-column:auto;grid-row:auto;height:auto;display:block;background:#e5e3de;overflow:hidden}
.gallery-grid .gallery-card img{height:auto;aspect-ratio:4/3;object-fit:cover}
.gallery-grid .gallery-card>span{position:static;background:#fff;color:var(--ink);padding:20px 18px;min-height:62px;align-items:center;gap:10px}
.gallery-grid .gallery-card>span b{font-size:22px}
.gallery-grid .gallery-card:hover img{filter:none}
.lightbox{inset:0;width:min(1280px,calc(100% - 24px));height:calc(100svh - 24px);max-height:none;max-width:none;margin:auto;padding:12px;background:#101316;color:#fff;overflow:hidden;border-radius:8px}
.lightbox[open]{display:flex;flex-direction:column}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 8px 10px}
.lightbox-counter{margin:0;color:#c5c8c8;font-variant-numeric:tabular-nums;letter-spacing:.15em}
.lightbox .lightbox-close{position:static;width:44px;height:44px;border-radius:4px}
.lightbox-stage{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:12px;align-items:center;flex:1;min-height:0}
.lightbox-stage img{width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;touch-action:pan-y pinch-zoom}
.lightbox-prev,.lightbox-next{appearance:none;display:grid;place-items:center;justify-self:center;box-sizing:border-box;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;margin:0;background:#252b2e;color:#fff;border:1px solid #454c50;border-radius:12px;line-height:1;cursor:pointer;box-shadow:0 4px 12px #0003;transition:background .2s,border-color .2s; -webkit-tap-highlight-color:transparent}
.lightbox-prev svg,.lightbox-next svg{display:block;width:24px;height:24px;pointer-events:none}
.lightbox-prev:hover,.lightbox-next:hover{background:var(--orange);border-color:var(--orange)}
.lightbox-prev:active,.lightbox-next:active{background:#b84b06}
.lightbox button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.lightbox-caption{margin:0;text-align:center;padding:14px 8px 4px;font-size:14px;flex-shrink:0}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:520px){.gallery-grid{gap:12px}.gallery-grid .gallery-card>span{padding:12px 10px;min-height:62px}.gallery-grid .gallery-card>span b{font-size:17px}.gallery-grid .gallery-card img{aspect-ratio:1}.lightbox-stage{position:relative;display:block;padding-bottom:64px}.lightbox-stage img{height:100%}.lightbox-prev,.lightbox-next{position:absolute;bottom:0}.lightbox-prev{left:calc(50% - 56px)}.lightbox-next{right:calc(50% - 56px)}}
