.photo-content.home-photos { padding:40px 0; min-height:0; background:#f5f8f6; color:#203b2d; border-top:1px solid #e5ece7; border-bottom:1px solid #e5ece7; }
.home-photos .hp-wrap { width:100%; max-width:1280px; padding:0 24px; margin:0 auto; }
.home-photos .hp-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:20px; }
.home-photos .hp-heading { flex:1 1 430px; min-width:0; }
.home-photos .hp-eyebrow { margin:0 0 7px; color:#0b5d3b; font-size:.73rem; font-weight:650; text-transform:uppercase; letter-spacing:.1em; }
.home-photos h2 { margin:0; font-size:clamp(1.5rem,2.7vw,2rem); font-weight:750; line-height:1.25; letter-spacing:-.025em; color:#173e2b; }
.home-photos .hp-intro { margin:9px 0 0; color:#586e61; font-size:.9rem; line-height:1.6; }
.home-photos .hp-gallery-link { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:12px 18px; color:white; background:#0b5d3b; border:1px solid #0b5d3b; border-radius:9px; font-size:.84rem; font-weight:600; text-decoration:none; text-align:center; }
.home-photos .hp-gallery-link:hover { color:white; background:#06472c; }
.home-photos .hp-overview { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; margin-bottom:20px; padding-top:18px; border-top:1px solid #dce7df; }
.home-photos .hp-overview > p { margin:0; flex:1 1 400px; font-size:.79rem; color:#536b5c; line-height:1.7; }
.home-photos .hp-totals { display:flex; gap:10px; flex-wrap:wrap; font-size:.74rem; color:#3f6150; }
.home-photos .hp-totals > span { border:1px solid #d8e5dc; background:white; border-radius:7px; padding:6px 10px; }
.home-photos .hp-totals strong { font-weight:650; margin-right:4px; }
.home-photos .hp-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-photos .hp-card { min-width:0; overflow:hidden; border:1px solid #dce7df; border-radius:12px; background:white; box-shadow:0 3px 10px #0b3b1d0a; }
.home-photos .hp-photo { display:block; position:relative; aspect-ratio:4/3; background:#dde8e0; }
.home-photos .hp-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.home-photos .hp-enlarge { position:absolute; right:9px; bottom:9px; display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:7px; background:#073d2bd9; color:white; font-size:.66rem; font-weight:500; pointer-events:none; }
.home-photos .hp-enlarge > span { font-size:1rem; line-height:1; }
.home-photos .hp-photo:hover .hp-enlarge,.home-photos .hp-photo:focus-visible .hp-enlarge { background:#073d2b; }
.home-photos .hp-card-body { padding:10px 13px; }
.home-photos .hp-album-link { display:flex; gap:12px; justify-content:space-between; align-items:center; min-height:44px; font-size:.8rem; font-weight:550; line-height:1.5; color:#245639; }
.home-photos .hp-album-link > span:first-child { overflow-wrap:anywhere; }
.home-photos .hp-album-link > span:last-child { flex-shrink:0; font-size:1rem; }
.home-photos .hp-album-link:hover { text-decoration:underline; text-underline-offset:3px; color:#093e26; }
.home-photos .hp-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:20px; }
.home-photos .hp-footer p { font-size:.78rem; color:#586e61; margin:0; }
.home-photos .hp-footer a { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:#0b5d3b; font-size:.8rem; font-weight:600; }
.home-photos .hp-footer a:hover { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:1000px) { .home-photos .hp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
    .photo-content.home-photos { padding:28px 0; }
    .home-photos .hp-wrap { padding:0 16px; }
    .home-photos .hp-header { gap:16px; margin-bottom:16px; }
    .home-photos .hp-heading { flex-basis:100%; }
    .home-photos .hp-gallery-link { width:100%; }
    .home-photos .hp-overview { gap:12px; padding-top:16px; margin-bottom:16px; }
    .home-photos .hp-grid { gap:12px; }
    .home-photos .hp-card-body { padding:7px 9px; }
    .home-photos .hp-album-link { gap:6px; font-size:.72rem; }
    .home-photos .hp-enlarge { right:6px; bottom:6px; padding:5px 7px; font-size:.61rem; gap:4px; }
    .home-photos .hp-footer { margin-top:14px; }
}
@media (max-width:360px) { .home-photos .hp-grid { gap:9px; } }
