.family-hero { position:relative; display:flex; align-items:flex-end; height:var(--hero-viewport); min-height:0; overflow:hidden; background:#241d18 url("../img/diaspora-family-1.jpg") center 42% / cover no-repeat; text-align:center; }
.family-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(16,14,14,.98) 0%,rgba(16,14,14,.66) 30%,rgba(16,14,14,.08) 70%),linear-gradient(90deg,rgba(0,0,0,.2),transparent); }
.family-hero__inner { position:relative; z-index:1; padding-bottom:clamp(44px,6vw,98px); }
.family-hero h1 { margin-top:clamp(16px,1.8vw,30px); font-size:clamp(72px,8vw,142px); line-height:.8; text-shadow:0 3px 24px rgba(0,0,0,.45); }
.family-hero h1 span,.family-main__copy h2 span { color:var(--lime-soft); }
.family-hero__inner > p:not(.waitlist-page__kicker) { max-width:52ch; margin:clamp(18px,1.6vw,28px) auto 0; font-size:clamp(14px,1vw,18px); }
.family-hero .btn { margin-top:clamp(20px,2vw,34px); }
.family-main { padding:clamp(70px,8vw,140px) 0; background:#100e0e; }
.family-main__grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(480px,1fr); align-items:start; gap:clamp(50px,7vw,120px); }
.family-main__copy { position:sticky; top:34px; }
.family-main__copy h2 { margin-top:20px; font-size:clamp(72px,7vw,126px); line-height:.82; }
.family-main__copy > p:not(.waitlist-page__kicker) { max-width:48ch; margin-top:20px; color:#d2cece; font-size:clamp(14px,.95vw,17px); line-height:1.6; }
.family-form { gap:17px; }
@media (max-width:959px) {
  .family-main__grid { grid-template-columns:1fr; max-width:760px; }
  .family-main__copy { position:static; text-align:center; }
  .family-main__copy > p:not(.waitlist-page__kicker) { margin-inline:auto; }
}
@media (max-width:720px) {
  .family-hero__inner { padding-bottom:clamp(34px,7svh,54px); }
  .family-hero h1 { font-size:clamp(58px,17vw,82px); }
  .family-hero__inner > p:not(.waitlist-page__kicker) { font-size:13px; }
  .family-main { padding:64px 0 78px; }
  .family-main__grid { gap:42px; }
  .family-main__copy h2 { font-size:clamp(66px,19vw,90px); }
}
