.hero figure img{aspect-ratio:16/9;object-fit:cover}
.visual-story{padding:42px 0;background:#f8faff}
.visual-story-first{padding-top:80px}
.visual-story:nth-of-type(even){background:#fff}
.visual-story img{display:block;width:100%;height:auto;border-radius:32px;box-shadow:0 18px 55px rgba(16,43,82,.08)}
.visual-story-night{background:var(--navy)}
.final-cta{padding:90px 0;background:var(--navy);color:#fff}
.final-cta h2{font-size:clamp(40px,5vw,68px);line-height:1;letter-spacing:-.045em;margin:16px 0 32px}
.family-reviews{background:#f4f7fd}
.family-reviews h2 em{font-style:normal;color:#c38a18}
.review-score{font-weight:800;color:var(--navy);margin:24px 0 34px}
.review-score span,.reviews blockquote>span{color:var(--gold);letter-spacing:.08em}
.review-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 16px;scrollbar-color:var(--gold) transparent}
.review-gallery img{width:260px;min-width:260px;height:300px;object-fit:cover;border-radius:24px;background:#fff;scroll-snap-align:center}
.family-reviews .reviews{margin-top:28px}
.family-reviews blockquote{border:1px solid rgba(16,43,82,.08)}
.reviews-expanded{grid-template-columns:repeat(3,1fr)}
.reviews-expanded blockquote{display:flex;flex-direction:column;min-height:235px;margin:0}
.reviews-expanded blockquote small{margin-top:auto;padding-top:18px}
@media(max-width:800px){
  .visual-story,.visual-story-first{padding:22px 0}
  .visual-story img{border-radius:18px}
  .hero figure img{aspect-ratio:4/3}
  .hero figcaption{font-size:13px;left:12px;bottom:12px}
  .final-cta{padding:65px 0}
  .reviews-expanded{grid-template-columns:1fr}
  .review-gallery{overflow-x:auto;padding-bottom:10px}
  .review-gallery img{min-width:78vw;height:260px;scroll-snap-align:center}
}
