.family-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.78rem 1.15rem;border:1px solid var(--ink);font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.family-cta--free{background:transparent!important;color:var(--ink)!important;border-color:var(--ink)!important}
.family-cta--free:hover{background:var(--ink)!important;color:#fff!important}
.family-cta--membership{background:var(--teal-600,#35695c)!important;color:#fff!important;border-color:var(--teal-600,#35695c)!important}
.family-cta--membership:hover{background:var(--ink)!important;border-color:var(--ink)!important}
.family-cta:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}
.family-cta:active{transform:translateY(1px)}
.family-entry__grid article:first-child .family-cta--free,.family-entry__grid article:last-child .family-cta--membership{margin-top:auto}
.family-membership-value{margin-top:1.25rem;padding:clamp(1.4rem,4vw,3rem);border:1px solid var(--line);background:var(--cream)}
.family-membership-value__head{max-width:860px}
.family-membership-value__head h3{font-family:Newsreader,serif;font-size:clamp(2.3rem,5vw,4.6rem);line-height:.96;margin:.45rem 0 .85rem}
.family-membership-value__head>p{max-width:760px;color:var(--ink-soft);line-height:1.65}
.family-membership-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:2rem;border:1px solid var(--line);background:var(--line)}
.family-membership-paths article{min-width:0;padding:clamp(1.2rem,2.5vw,1.8rem);background:var(--cream-dark,#f3f0e8)}
.family-membership-paths article>span{font:600 .7rem/1 'IBM Plex Mono',monospace;color:var(--terracotta)}
.family-membership-paths h4{overflow-wrap:anywhere;margin:.7rem 0 .4rem;font-family:Newsreader,serif;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1}
.family-membership-paths article>p{min-height:3.2em;margin:0 0 1rem;color:var(--ink-soft);line-height:1.55}
.family-membership-paths ul,.family-academy-value ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}
.family-membership-paths li,.family-academy-value li{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;line-height:1.45}
.family-membership-paths li::before,.family-academy-value li::before{content:"→";color:var(--terracotta);font-family:'IBM Plex Mono',monospace}
.family-academy-value{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(1.3rem,4vw,3rem);align-items:start;margin-top:1.25rem;padding:clamp(1.4rem,3vw,2.3rem);background:#e8eee9}
.family-academy-value h3{margin:.4rem 0 .7rem;font-family:Newsreader,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1}
.family-academy-value p{max-width:720px;margin:0;color:var(--ink-soft);line-height:1.65}
.family-membership-convert{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;margin-top:1.25rem;padding:clamp(1.3rem,3vw,2rem);background:#20251f;color:#fff}
.family-membership-convert strong{display:block;font-family:Newsreader,serif;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05}
.family-membership-convert p{margin:.55rem 0 0;color:rgba(255,255,255,.74)}
.family-membership-convert .family-cta--membership{white-space:normal;text-align:center;background:#fff!important;color:var(--ink)!important;border-color:#fff!important}
.family-membership-convert .family-cta--membership:hover{background:var(--terracotta)!important;color:#fff!important;border-color:var(--terracotta)!important}
@media(max-width:820px){.family-membership-paths{grid-template-columns:1fr}.family-membership-paths article>p{min-height:0}.family-academy-value,.family-membership-convert{grid-template-columns:1fr}.family-membership-convert .family-cta{width:100%}}
@media(max-width:430px){.family-cta{width:100%;min-height:48px;white-space:normal;text-align:center}.family-membership-value{padding:1.1rem}.family-membership-paths{margin-top:1.4rem}.family-membership-paths article,.family-academy-value,.family-membership-convert{padding:1.1rem}}
