.gallery40-hero{padding:72px 0 28px}.gallery40-hero .eyebrow{margin-bottom:10px}.gallery40-hero h1{margin:0 0 16px;font-size:clamp(40px,6vw,82px);line-height:.98;letter-spacing:-.045em}.gallery40-hero .lead{max-width:760px;margin:0;color:var(--muted,#6b7470);font-size:clamp(18px,2vw,24px)}
.gallery40-section{padding:24px 0 88px}.gallery40-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.gallery40-card{grid-column:span 4;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:18px;background:#111;min-height:260px;cursor:zoom-in;padding:0}.gallery40-card:nth-child(7n+1),.gallery40-card:nth-child(7n+5){grid-column:span 8}.gallery40-card:nth-child(7n+1){min-height:430px}.gallery40-card img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .45s ease,filter .3s ease}.gallery40-card:hover img{transform:scale(1.025)}.gallery40-card:focus-visible{outline:3px solid #61d6b0;outline-offset:3px}.gallery40-card::after{content:'↗';position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:rgba(8,24,19,.78);color:#dff9ef;border:1px solid rgba(255,255,255,.18);opacity:0;transform:translateY(6px);transition:.25s}.gallery40-card:hover::after,.gallery40-card:focus-visible::after{opacity:1;transform:none}
.gallery40-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(4,10,8,.94);display:grid;grid-template-columns:72px 1fr 72px;grid-template-rows:64px 1fr 64px;align-items:center;justify-items:center;padding:10px}.gallery40-lightbox[hidden]{display:none}.gallery40-lightbox__img{grid-column:2;grid-row:2;max-width:min(1380px,92vw);max-height:82vh;width:auto;height:auto;border-radius:14px;box-shadow:0 28px 80px #000a}.gallery40-lightbox__close,.gallery40-lightbox__prev,.gallery40-lightbox__next{border:1px solid #ffffff2d;background:#10271fe8;color:#fff;border-radius:999px;cursor:pointer;display:grid;place-items:center}.gallery40-lightbox__close{grid-column:3;grid-row:1;width:42px;height:42px;font-size:24px}.gallery40-lightbox__prev,.gallery40-lightbox__next{grid-row:2;width:48px;height:48px;font-size:28px}.gallery40-lightbox__prev{grid-column:1}.gallery40-lightbox__next{grid-column:3}.gallery40-lightbox__count{grid-column:2;grid-row:3;color:#bdd1c8;font-size:13px;letter-spacing:.1em}
@media(max-width:900px){.gallery40-hero{padding:48px 0 20px}.gallery40-grid{gap:10px}.gallery40-card,.gallery40-card:nth-child(7n+1),.gallery40-card:nth-child(7n+5){grid-column:span 6;min-height:220px}.gallery40-card:nth-child(5n+1){grid-column:span 12;min-height:300px}.gallery40-lightbox{grid-template-columns:48px 1fr 48px;padding:6px}.gallery40-lightbox__img{max-width:95vw;max-height:78vh}.gallery40-lightbox__prev,.gallery40-lightbox__next{width:40px;height:40px;font-size:22px}}
@media(max-width:520px){.gallery40-card,.gallery40-card:nth-child(7n+1),.gallery40-card:nth-child(7n+5),.gallery40-card:nth-child(5n+1){grid-column:span 12;min-height:240px}.gallery40-card::after{opacity:1;transform:none}.gallery40-lightbox{grid-template-columns:40px 1fr 40px}.gallery40-lightbox__prev,.gallery40-lightbox__next{width:34px;height:34px;font-size:18px}}
