.photo-section{padding-top:92px}
.photo-intro{max-width:760px}
.photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:44px}
.photo-card{position:relative;grid-column:span 3;min-height:270px;margin:0;border-radius:18px;overflow:hidden;background:#d9d5cb;box-shadow:none}
.photo-card:nth-child(2),.photo-card:nth-child(5){grid-column:span 4}
.photo-card:nth-child(3),.photo-card:nth-child(4){grid-column:span 4}
.photo-card-featured{grid-column:span 6;grid-row:span 2;min-height:554px}
.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.photo-card:hover img{transform:scale(1.025)}
.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,31,28,0) 40%,rgba(15,31,28,.78) 100%)}
.photo-card figcaption{position:absolute;z-index:1;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:3px;padding:48px 18px 17px;color:#fff}
.photo-card figcaption strong{font-size:14px}.photo-card figcaption span{color:#dbe5e1;font-size:12px;line-height:1.4}
.service-photo-strip{margin-top:42px}
.service-photo-strip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.service-photo-strip figure,.regional-photo-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.service-photo-strip img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.service-photo-strip figcaption,.regional-photo-grid figcaption{padding:12px 14px 14px;color:var(--muted);font-size:12px}
.regional-photo-panel{padding-top:88px}
.regional-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px}
.regional-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-card,.photo-card:nth-child(n),.photo-card-featured{grid-column:auto;grid-row:auto;min-height:300px}.photo-card-featured{min-height:430px}.regional-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.photo-grid{grid-template-columns:1fr;gap:10px}.photo-card,.photo-card:nth-child(n),.photo-card-featured{min-height:260px}.photo-card-featured{min-height:350px}.service-photo-strip-grid,.regional-photo-grid{grid-template-columns:1fr}}
