.family-photo-collection-page .opl-collection-hero{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(2.5rem,5vw,5rem)}
.family-photo-collection-page .family-hero-copy{min-width:0}.family-photo-collection-page .family-hero-copy h1{font-size:clamp(2.85rem,4.3vw,4.3rem);line-height:.95;letter-spacing:-.045em}.family-photo-collection-page .family-hero-copy h1 span{display:block}
.family-photo-collection-page .family-hero-photo{overflow:hidden;border-radius:18px;background:#09241d}.family-photo-collection-page .family-hero-photo .opl-collection-hero-link{display:block;aspect-ratio:4/3;overflow:hidden}.family-photo-collection-page .family-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.family-photo-collection-page .family-grid .opl-card-image{position:relative;display:block;width:100%;aspect-ratio:5/4;overflow:hidden;padding:0;border:0;background:#09241d;cursor:zoom-in}.family-photo-collection-page .family-grid .opl-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--family-x,50%) var(--family-y,42%)}
.family-jli{display:none}.family-detail-page .opl-detail-media img{max-height:78vh;object-fit:contain}
@media(max-width:760px){.family-photo-collection-page .opl-collection-hero{grid-template-columns:1fr;gap:2rem}.family-photo-collection-page .family-hero-copy h1{font-size:clamp(2.55rem,11vw,3.85rem)}}
@media(max-width:680px){.family-photo-collection-page .family-grid{grid-template-columns:1fr}.family-photo-collection-page .family-hero-photo img{object-position:50% 44%}}

/* Scoped review styles: Community Impact and curated photo hub only. */
.family-photo-collection-page .opl-collection-hero,.family-photo-collection-page .family-hero-photo,.family-photo-collection-page .family-hero-photo .opl-collection-hero-link,.family-photo-collection-page .family-hero-photo img,.family-photo-collection-page .family-hero-photo figcaption{transform:none!important;rotate:0deg!important;translate:none!important;scale:none!important}
.family-photo-collection-page .family-hero-photo{display:grid;grid-template-rows:auto auto;overflow:hidden;border-radius:18px;background:#09241d}
.family-photo-collection-page .family-hero-photo .opl-collection-hero-link{display:block;overflow:hidden;border-radius:0;aspect-ratio:4/3}
.family-photo-collection-page .family-hero-photo img{display:block;width:100%;height:100%;border-radius:0;object-fit:cover;object-position:50% 46%}
.family-photo-collection-page .family-hero-photo figcaption{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:.82rem 1rem .88rem;border-top:1px solid rgba(255,255,255,.14);border-radius:0;background:#09241d;color:rgba(255,255,255,.76);font-size:.88rem;line-height:1.5;text-align:left;text-wrap:pretty}
.family-photo-collection-page .family-card .opl-card-image img{object-position:var(--family-x,50%) var(--family-y,50%);transform:scale(var(--family-scale,1));transform-origin:var(--family-x,50%) var(--family-y,50%);transition:transform .35s ease}
.family-photo-collection-page .family-card:nth-child(5) .opl-card-image img{object-position:50% 0!important}
.family-photo-collection-page .family-card .opl-card-body{display:flex;flex:1;flex-direction:column;gap:.62rem;padding:1.15rem 1.3rem 1.55rem}
.family-photo-collection-page .family-card .family-jli,.family-photo-collection-page .family-card h3,.family-photo-collection-page .family-card .opl-card-body>p{margin:0}
.family-photo-collection-page .family-card h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.18rem,1.55vw,1.5rem);font-weight:500;line-height:1.1;letter-spacing:-.018em;text-wrap:pretty}
.family-photo-collection-page .family-card h3 a{color:var(--opl-ink);text-decoration:none}
.family-photo-collection-page .family-card .opl-card-body>p:last-child{color:#53605c;line-height:1.58}
.family-detail-page .opl-detail.family-detail{width:min(960px,calc(100% - 44px));grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "media" "details";row-gap:clamp(1.25rem,2.5vw,2rem)}
.family-detail-page .family-detail .opl-detail-copy{max-width:54rem}
.family-detail-page .family-detail .opl-detail-lede{max-width:48rem;margin-top:1rem;font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.65}
.family-detail-page .family-detail .opl-detail-media{margin-top:.25rem}
.family-detail-page .family-detail .opl-detail-media img{width:100%;max-height:80vh;object-fit:contain;background:#eef1ed}
.family-detail-page .family-detail .opl-detail-media figcaption{max-width:48rem;margin:1rem auto 0;text-align:center;text-wrap:pretty}
.family-detail-page .family-detail .opl-detail-details{max-width:54rem;width:100%;margin:0 auto}
.family-photo-context{margin:0 0 1.6rem}.family-photo-context h2{margin:0 0 .7rem;color:var(--opl-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:500}.family-photo-context p{margin:0;color:#4d5c57;line-height:1.72}
.featured-photo-library .opl-section-heading{align-items:end}.featured-photo-grid .featured-photo-card .opl-card-media{aspect-ratio:4/3}.featured-photo-grid .featured-photo-card .opl-card-copy{padding-bottom:1.55rem}.featured-photo-grid .featured-photo-card h3{text-wrap:pretty}
@media(max-width:760px){.family-photo-collection-page .family-hero-photo figcaption{padding:.75rem .85rem .82rem;font-size:.84rem;line-height:1.5}.family-photo-collection-page .family-card .opl-card-body{padding:1.05rem 1.15rem 1.4rem}.family-photo-collection-page .family-card h3{font-size:clamp(1.16rem,5.4vw,1.4rem)}.family-detail-page .opl-breadcrumb>span:nth-last-child(2),.family-detail-page .opl-breadcrumb>span:last-child{display:none}.family-detail-page .opl-detail.family-detail{width:min(100% - 32px,760px);margin-top:.7rem;row-gap:1rem}.family-detail-page .family-detail .opl-detail-copy h1{font-size:clamp(1.82rem,8.1vw,2.35rem);line-height:1.01}.family-detail-page .family-detail .opl-detail-lede{margin-top:.7rem;font-size:1rem;line-height:1.52}.family-detail-page .family-detail .opl-detail-media{margin-top:0}.family-detail-page .family-detail .opl-detail-media img{max-height:72vh}.featured-photo-library .opl-section-heading{display:block}.featured-photo-grid{grid-template-columns:1fr}}

.family-photo-collection-page .family-card .opl-card-image img{object-fit:var(--family-fit,cover);background:#0b2b24}
.family-photo-collection-page .family-hero-photo .opl-collection-hero-link{aspect-ratio:4/3}
.family-photo-collection-page .family-hero-photo img{object-position:50% 39%}
.family-detail-page .family-detail .opl-detail-media img{max-width:100%;height:auto}
@media(max-width:680px){.family-photo-collection-page .family-hero-photo img{object-position:50% 36%}.family-photo-collection-page .family-grid{grid-template-columns:1fr}}
