.photo-gallery{max-width:1200px;margin:60px auto 80px;padding:0 24px}.gallery-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:end;margin-bottom:36px}.gallery-intro .mono{color:#f31827;font-size:11px;letter-spacing:.12em}.gallery-intro h2{font-size:clamp(30px,4vw,48px);line-height:1.15;letter-spacing:-.045em;margin:16px 0 0;color:#16343c}.gallery-intro>p{color:#687b81;line-height:1.8;margin:0}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #dde5e4;border-bottom:1px solid #dde5e4;padding:20px 0;margin-bottom:28px;gap:16px}.gallery-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.gallery-toolbar button{border:1px solid #dce4e2;background:#fff;color:#16343c;border-radius:100px;padding:11px 18px;font:600 12px Manrope,sans-serif;cursor:pointer}.gallery-toolbar button[aria-pressed=true]{background:#16343c;color:#fff;border-color:#16343c}.gallery-toolbar>p{font-size:12px;color:#687b81;white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.gallery-tile{margin:0;min-width:0}.gallery-tile[hidden]{display:none}.gallery-tile a{text-decoration:none;color:#16343c;display:block;border:1px solid #dce4e2;border-radius:10px;overflow:hidden;background:white}.gallery-image{aspect-ratio:4/3;overflow:hidden;position:relative;background:#edf2f1}.gallery-image img{width:100%;height:100%;object-fit:cover;display:block;filter:none!important;transition:transform .65s cubic-bezier(.2,.7,.3,1)}.gallery-expand{position:absolute;right:16px;bottom:16px;background:#fff;color:#16343c;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;transition:background .2s,color .2s}.gallery-tile a:hover img{transform:scale(1.06)}.gallery-tile a:hover .gallery-expand{background:#f31827;color:#fff}.gallery-tile figcaption{padding:24px;position:relative;min-height:125px}.gallery-tile figcaption .mono{font-size:10px;letter-spacing:.12em;color:#718680}.gallery-tile h3{font-size:18px;line-height:1.45;margin:10px 20px 0 0}.gallery-number{position:absolute;right:20px;top:24px;font:11px 'DM Mono',monospace;color:#ec1b2d}.gallery-tile a:focus-visible,.gallery-toolbar button:focus-visible{outline:3px solid #e51f30;outline-offset:4px}.gallery-lightbox{width:min(1100px,94vw);max-height:94vh;border:0;border-radius:12px;background:#0c1b21;color:#fff;padding:56px 20px 20px}.gallery-lightbox::backdrop{background:rgba(4,13,18,.88)}.gallery-close{position:absolute;top:10px;right:16px}.gallery-lightbox button{background:transparent;border:1px solid #607276;color:#fff;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer}.gallery-viewer{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:12px;align-items:center}.gallery-viewer img{max-width:100%;width:100%;height:min(65vh,720px);object-fit:contain;filter:none!important}.gallery-lightbox p{text-align:center;color:#fff;margin:20px 48px 0;font-size:14px}@media(max-width:950px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-intro{gap:28px}}@media(max-width:600px){.photo-gallery{margin-top:36px;padding:0 20px}.gallery-intro,.gallery-grid{grid-template-columns:1fr}.gallery-toolbar{align-items:start;flex-direction:column}.gallery-toolbar button{padding:10px 14px}.gallery-viewer{gap:6px;grid-template-columns:32px minmax(0,1fr) 32px}.gallery-lightbox button{width:32px;height:32px}.gallery-lightbox{padding-left:10px;padding-right:10px}}@media(prefers-reduced-motion:reduce){.gallery-image img,.gallery-expand{transition:none}.gallery-tile a:hover img{transform:none}}