/* Payne regional 8-photo project gallery (Phase 1: /tampa/, /orlando/, /jacksonville/) + 3-up Latham model module */
.pf-payne .pf-proj-gal{ background:#edf3fb; padding:90px 0; }
.pf-payne .pf-proj-gal .pf-section-head{ text-align:center; max-width:820px; margin:0 auto 44px; }
.pf-payne .pf-proj-gal .pf-eyebrow{ color:#ee1c3b; }
.pf-payne .pf-proj-gal .pf-section-head h2{ font-size:clamp(28px,3.4vw,42px); margin:10px 0 16px; }
.pf-payne .pf-proj-gal .pf-section-head p{ color:var(--medium-gray); font-size:16px; line-height:1.75; margin:0; }
.pf-payne .pf-proj-gal-grid{ list-style:none !important; margin:0 !important; padding:0 !important; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.pf-payne .pf-proj-gal-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1100px; margin:0 auto !important; }
.pf-payne .pf-proj-gal-grid li{ margin:0 !important; padding:0 !important; list-style:none !important; }
.pf-payne .pf-proj-gal-grid li::before, .pf-payne .pf-proj-gal-grid li::marker{ content:none !important; display:none !important; }
.pf-payne .pf-proj-gal-grid figure{ margin:0; height:100%; display:flex; flex-direction:column; background:#fff; border-radius:var(--radius-md,8px); overflow:hidden; box-shadow:0 6px 18px rgba(0,28,71,.08); }
.pf-payne .pf-proj-gal-link{ display:block; position:relative; overflow:hidden; aspect-ratio:4/3; background:#001c47; }
.pf-payne .pf-latham-compare .pf-proj-gal-link{ background:#fff; }
.pf-payne .pf-proj-gal-link img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.pf-payne .pf-latham-compare .pf-proj-gal-link img{ object-fit:contain; }
.pf-payne a.pf-proj-gal-link:hover img, .pf-payne a.pf-proj-gal-link:focus-visible img{ transform:scale(1.05); }
.pf-payne .pf-proj-gal-link:focus-visible{ outline:3px solid #ee1c3b; outline-offset:3px; }
.pf-payne .pf-proj-gal-grid figcaption{ padding:14px 16px 16px; font-family:var(--body-font); font-size:14px; font-weight:600; line-height:1.45; color:#001c47; text-align:left; }
.pf-payne .pf-proj-gal-cta{ text-align:center; margin-top:40px; }
@media (max-width:1199px){ .pf-payne .pf-proj-gal-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:599px){ .pf-payne .pf-proj-gal{ padding:64px 0; } .pf-payne .pf-proj-gal-grid, .pf-payne .pf-proj-gal-grid--3{ grid-template-columns:1fr; gap:16px; } }
