
.hero-caption .hero-location{font-size:13px;margin:0 0 16px;line-height:1.6}
.seo-summary{max-width:780px;margin:28px auto 0;text-align:center;font-size:14px;line-height:1.85;color:var(--muted)}
.seo-summary a{text-decoration:underline;text-underline-offset:4px}
.discovery-links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 30px;margin:32px 0;font-size:13px}
.discovery-links a{border-bottom:1px solid #aaa;padding-bottom:3px}
.section-heading h1{font-size:30px;line-height:1.25;font-weight:400;margin:0 0 18px}
.detail-main{max-width:1500px;margin:auto;padding:44px 48px 80px}
.detail-intro{max-width:850px;margin:48px auto 52px;text-align:center}
.detail-intro h1{font-size:clamp(30px,3.2vw,46px);font-weight:400;line-height:1.2;margin:0 0 24px;letter-spacing:.015em}
.detail-intro .lead{font-size:17px;line-height:1.8;color:var(--muted);margin:0}
.breadcrumb{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px;line-height:1.7}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.detail-copy{max-width:800px;margin:56px auto 0;color:var(--muted);font-size:15px;line-height:1.85}
.detail-copy h2{font-size:26px;line-height:1.35;font-weight:400;color:var(--ink);margin:44px 0 20px}
.detail-copy h3{font-size:19px;font-weight:400;color:var(--ink);margin:32px 0 12px}
.detail-copy a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.detail-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin:32px 0}
.detail-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1120px;margin:auto}
.detail-split img{aspect-ratio:4/5;object-fit:cover;background:var(--soft)}
.detail-split .detail-copy{margin:0}
.detail-faq{max-width:800px;margin:56px auto 0}
.detail-faq>h2{font-size:26px;font-weight:400;text-align:center;margin:0 0 28px}
.detail-faq details{border-top:1px solid var(--line);padding:20px 0}
.detail-faq details:last-child{border-bottom:1px solid var(--line)}
.detail-faq summary{cursor:pointer;font-size:16px;line-height:1.6}
.detail-faq p{font-size:14px;color:var(--muted);line-height:1.85;margin:16px 0 0}
.detail-faq a{text-decoration:underline;text-underline-offset:4px}
.watch-intro{margin-top:34px;margin-bottom:28px}
.watch-player{max-width:1120px;margin:0 auto;background:#f4f2ee;text-align:center}
.watch-player video{display:block;width:100%;height:min(68svh,760px);min-height:360px;object-fit:contain;background:#171717}
.watch-player figcaption{padding:16px 24px;font-size:13px;color:var(--muted)}
.watch-status{max-width:800px;margin:18px auto;font-size:14px;text-align:center}
.detail-adults .grown-up-card p{font-size:13px;line-height:1.7}
@media(max-width:700px){.detail-main{padding:28px 20px 56px}.detail-intro{margin:36px auto}.detail-intro .lead{font-size:15px}.detail-copy{margin-top:36px;font-size:14px}.detail-copy h2{font-size:23px;margin-top:34px}.detail-split{grid-template-columns:1fr;gap:30px}.detail-split img{max-height:520px}.detail-faq{margin-top:40px}.detail-faq summary{font-size:15px}.watch-player video{min-height:300px;height:60svh}.watch-intro{margin-bottom:24px}.discovery-links{gap:18px 22px}.section-heading h1{font-size:26px}.hero-caption .hero-location{font-size:12px}.seo-summary{font-size:13px}}

.family-album{max-width:1280px;margin:72px auto 0;padding-top:56px;border-top:1px solid var(--line)}
.family-album-heading{text-align:center;max-width:720px;margin:0 auto 36px}
.family-album-heading h2{font-size:30px;font-weight:400;line-height:1.3;margin:0 0 18px}
.family-album-heading p{font-size:14px;color:var(--muted);line-height:1.8}
.family-album-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 24px}
.family-album-card{grid-column:span 2;display:block;background:none;text-align:left;padding:0;min-width:0}
.family-album-card .family-photo-frame{display:block;aspect-ratio:3/4;background:var(--soft);overflow:hidden}
.family-album-card img{height:100%;object-fit:cover;transition:transform .5s}
.family-album-card:hover img{transform:scale(1.025)}
.family-album-card .family-photo-caption{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-top:14px}
.family-album-card.is-landscape{grid-column:span 3}
.family-album-card.is-landscape .family-photo-frame{aspect-ratio:4/3}
button.grown-up-photo{display:block;width:100%;padding:0;border:0}
.adult-motion-link{margin-top:14px;font-size:12px}
.family-lightbox .lightbox-stage img{object-fit:contain}.lightbox-caption-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.lightbox-caption-row .lightbox-count{font-size:12px;color:var(--muted);white-space:nowrap}
.adult-motion-dialog{width:min(600px,94vw);border:0;padding:24px;max-height:94svh}
.adult-motion-dialog::backdrop{background:#000a}
.adult-motion-dialog .film-dialog-header h2{font-size:20px;font-weight:400}
.adult-motion-dialog video{display:block;max-height:70svh;width:100%;object-fit:contain;background:#171717}
.family-album-note{text-align:center;font-size:12px;color:var(--muted);line-height:1.7;margin:28px 0 0}
@media(prefers-reduced-motion:reduce){.family-album-card img{transition:none}}
@media(max-width:700px){.family-album{margin-top:48px;padding-top:36px}.family-album-heading h2{font-size:26px}.family-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.family-album-card{grid-column:span 1}.family-album-card.is-landscape{grid-column:span 2}.family-photo-caption{font-size:12px!important}.adult-motion-dialog{padding:16px}.family-album-note{font-size:11px}}
