.v2-family-page figure { margin:0; }
.v2-family-page .v2-family-phones { max-width:820px; max-height:640px; object-fit:contain; }
.v2-family-film { max-width:980px; margin:auto !important; }
.v2-family-film__link { display:block; position:relative; text-align:center; }
.v2-family-film img { width:100%; height:auto; display:block; border-radius:20px; }
.v2-family-film__link .btn { margin-top:20px; }
.v2-family-app-image { width:100%; max-height:620px; object-fit:contain; }
.v2-family-alternate .v2-split__copy { order:2; }
.v2-family-animations { display:grid; grid-template-columns:1fr 120px; align-items:center; gap:24px; padding:36px; border-radius:28px; background:#eeeaff; }
.v2-family-animations__number strong { display:block; font-size:clamp(60px,7vw,90px); line-height:1.05; letter-spacing:-.06em; color:var(--v2-purple); }
.v2-family-animations__number span { display:block; margin-top:12px; font-size:19px; }
.v2-family-animations img { width:120px; height:auto; border-radius:0; }
.v2-family-animations figcaption { grid-column:1/-1; font-size:15px; line-height:1.5; }
.v2-family-access-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.v2-family-access-note { max-width:860px; margin-top:28px; }
.v2-family-dashboard { padding:26px; background:white; border-radius:20px; }
.v2-family-dashboard img { width:100%; height:auto; border-radius:0; }
.v2-family-dashboard figcaption { margin-top:18px; font-size:14px; line-height:1.5; }
.v2-family-insight-list p { padding:24px 0; border-top:1px solid var(--v2-line); }
.v2-family-insight-list strong { display:block; font-size:26px; }
.v2-family-insight-list span { display:block; margin-top:8px; }
.v2-family-small-screen { width:140px; max-width:100%; margin:auto; border-radius:0 !important; }
.v2-family-closing { text-align:center; }
.v2-family-closing h2,.v2-family-closing p { max-width:740px; margin-left:auto; margin-right:auto; }
.v2-family-closing p { margin-top:26px; }
.v2-family-page .faq { margin-top:30px; }
@media(max-width:900px) {
  .v2-family-page .v2-split { grid-template-columns:1fr; gap:36px; }
  .v2-family-alternate .v2-split__copy { order:0; }
  .v2-family-access-grid { grid-template-columns:1fr; }
  .v2-family-animations { width:100%; max-width:460px; margin:auto !important; padding:26px; }
  .v2-family-page .v2-flow { grid-template-columns:1fr; }
  .v2-family-page .v2-flow > li:not(:last-child)::after { content:"↓"; display:block; right:50%; top:auto; bottom:-29px; }
  .v2-family-app-image { max-height:480px; }
}
@media(max-width:370px) {
  .v2-family-animations { grid-template-columns:1fr 90px; padding:20px; gap:14px; }
  .v2-family-animations img { width:90px; }
  .v2-family-animations__number strong { font-size:60px; }
  .v2-family-animations__number span { font-size:16px; }
}

.v2-family-film video { width:100%; height:auto; display:block; border-radius:20px; background:#191640; }
.v2-family-anchor { display:block; scroll-margin-top:120px; }
.v2-family-animations__stills { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; grid-column:1/-1; }
.v2-family-animations__stills img { width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; border-radius:12px; }
.v2-family-access-illustration { display:block; width:min(740px,100%); height:auto; margin:38px auto 0; border-radius:20px; }
.v2-family-dashboard-screen { width:100%; height:auto; }
