/* Keep the owner's full exterior photograph visible at every viewport. */
.hero-visual{height:auto;margin:0;min-width:0}
.hero-visual>img{height:auto;width:100%;object-fit:contain;border-radius:8px;aspect-ratio:4/3}
.photo-label{position:static;max-width:100%;margin-top:16px;padding:18px 20px;box-shadow:none;background:var(--cream)}
.photo-caption{font-size:.75rem}
.family-intro{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;margin:20px 0 0;padding:18px;background:var(--cream);border:1px solid var(--border);border-radius:8px}
.family-photo{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:6px;overflow:hidden}
.family-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 68%;border-radius:6px}
.family-intro figcaption{min-width:0}
.family-intro .eyebrow{font-size:.75rem;letter-spacing:.09em;margin:0 0 8px;line-height:1.5}
.family-intro strong{display:block;font-family:'Lora',Georgia,serif;font-size:1.15rem;font-weight:500;line-height:1.4;letter-spacing:-.02em}
.family-intro figcaption>p:not(.eyebrow){font-size:.875rem;line-height:1.65;color:var(--muted);margin:10px 0 0}
.family-intro .text-link{font-size:.875rem;margin-top:5px;padding:5px 0}
@media(min-width:621px) and (max-width:1000px){.family-intro{grid-template-columns:1fr;gap:16px}.family-photo{max-width:250px;margin:auto}}
@media(max-width:620px){.family-intro{grid-template-columns:145px minmax(0,1fr);gap:16px;padding:14px}.family-intro strong{font-size:1rem}.family-intro .eyebrow{font-size:.75rem;letter-spacing:.04em}.family-intro figcaption>p:not(.eyebrow){font-size:.875rem}}
@media(max-width:390px){.family-intro{grid-template-columns:1fr}.family-photo{max-width:260px;margin:auto}.family-intro figcaption{text-align:center}.family-intro .text-link{justify-content:center}}
.home-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-item{min-width:0;align-self:start}
.gallery-item img{height:auto;aspect-ratio:3/4;object-fit:contain;background:var(--cream)}
.gallery-item>span{line-height:1.6;gap:12px;align-items:start}
.more-photos{margin-top:35px;border-top:1px solid var(--border)}
.more-photos summary{font-weight:500;padding-right:40px}
.photo-count{font-weight:400;color:var(--muted);font-size:.875rem;margin-left:16px}
.extra-gallery{padding:8px 0 30px;row-gap:32px}
.contact-email{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;font-size:1rem;line-height:1.7;margin-top:18px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){.home-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-gallery .gallery-item:last-child{grid-column:1/-1}.featured-gallery .gallery-item:last-child img{aspect-ratio:4/3}}
@media(max-width:620px){.hero-visual{height:auto;margin:0}.hero-visual>img{border-radius:8px}.home-gallery{grid-template-columns:1fr;gap:28px}.gallery-item img{height:auto;aspect-ratio:auto}.featured-gallery .gallery-item:last-child{grid-column:auto}.photo-label{font-size:.875rem}.photo-count{display:block;margin-left:0;margin-top:5px}.contact-email{font-size:1rem}}
