.nc-family {
    --family-ink:#11264b;
    --family-muted:#52647b;
    --family-line:#dce5ee;
    max-width:1160px;
    color:var(--family-ink);
    padding-top:1.5rem;
    padding-bottom:3rem;
    overflow-wrap:break-word
}

.nc-family section {
    margin-top:3rem;
    scroll-margin-top:100px
}
.nc-family h1 {
    font-size:clamp(1.7rem,3.6vw,2.85rem);
    line-height:1.14;
    max-width:940px;
    font-weight:750;
    letter-spacing:-.025em
}
.nc-family h2 {
    font-size:clamp(1.35rem,2.4vw,1.95rem);
    font-weight:700;
    margin-bottom:1rem
}
.nc-family h3 {
    font-size:1.17rem;
    font-weight:700;
    margin-top:1.2rem
}
.nc-family p,.nc-family li {
    line-height:1.7
}
.nc-family-intro>p:not(.nc-family-eyebrow) {
    max-width:900px
}
.nc-family-eyebrow {
    font-size:.75rem;
    letter-spacing:.12em;
    font-weight:750;
    color:#17678e;
    margin-bottom:.7rem
}
.nc-family-lead {
    font-size:1.25rem;
    font-weight:650;
    margin-top:1rem
}
.nc-family-jump {
    display:flex;
    gap:.75rem 1.25rem;
    flex-wrap:wrap;
    margin:1.25rem 0
}
.nc-family-jump>a:not(.btn) {
    padding:.5rem 0;
    font-weight:650
}
.nc-family-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.4rem
}
.nc-family-options {
    margin-top:1.5rem
}
.nc-family-card {
    border:1px solid var(--family-line);
    border-radius:1.3rem;
    background:white;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 8px 30px #12264b08
}
.nc-family-card-top {
    display:flex;
    justify-content:space-between;
    gap:.5rem;
    align-items:center;
    padding:1rem 1.3rem;
    background:#eff6fa;
    font-size:.75rem;
    font-weight:750
}
.nc-family-card-top a {
    min-height:24px
}
.nc-family-product-image {
    display:block;
    width:100%;
    height:245px;
    object-fit:contain;
    background:#f7f9fc;
    padding:.75rem
}
.nc-family-card-body {
    padding:1.4rem;
    display:flex;
    flex-direction:column;
    flex:1
}
.nc-family-card h2 {
    font-size:1.5rem;
    margin-bottom:.6rem
}
.nc-family-chips {
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
    list-style:none;
    padding:0;
    margin:.3rem 0 1rem
}
.nc-family-chips li {
    padding:.25rem .6rem;
    background:#edf4f8;
    border-radius:.5rem;
    font-size:.83rem
}
.nc-family-purchase {
    display:flex;
    flex-direction:column;
    gap:.5rem;
    margin-top:auto;
    padding-top:1rem
}
.nc-family-price {
    font-size:1.7rem
}
.nc-family .btn {
    white-space:normal;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.65rem 1rem
}
.nc-family-panel {
    padding:1.6rem;
    border:1px solid var(--family-line);
    border-radius:1rem;
    background:#f7f9fc;
    min-width:0
}
.nc-family-panel h3:first-child {
    margin-top:0
}
.nc-family .nc-ti-compact {
    margin:0 0 1rem
}
.nc-family .nc-ti-compact strong {
    white-space:nowrap
}
.nc-family .nc-ti-compact small {
    line-height:1.5
}
.nc-family-comparison-desktop th,.nc-family-comparison-desktop td {
    padding:1rem;
    vertical-align:top
}
.nc-family-comparison-mobile {
    display:none
}
.nc-family dl>div {
    padding:.7rem 0;
    border-bottom:1px solid var(--family-line)
}
.nc-family dt {
    font-size:.8rem;
    color:var(--family-muted)
}
.nc-family dd {
    margin:.2rem 0
}
.nc-family-recommendation,.nc-family-note {
    padding:1.2rem;
    border-left:4px solid #3180ad;
    background:#edf6fb;
    border-radius:0 .75rem .75rem 0;
    margin-top:1.4rem
}
.nc-family-faq {
    border-bottom:1px solid var(--family-line);
    padding:1rem 0
}
.nc-family-faq summary {
    font-weight:650;
    cursor:pointer;
    min-height:30px
}
.nc-family-faq p {
    margin:1rem 0 0;
    max-width:950px
}
.nc-family-final {
    padding:2rem;
    border-radius:1rem;
    background:#edf5fb
}
.nc-family-article {
    max-width:1000px
}
.nc-family-sources {
    font-size:.9rem;
    color:var(--family-muted)
}
.nc-family a:focus-visible,.nc-family summary:focus-visible {
    outline:3px solid #2b79b5;
    outline-offset:4px
}

@media(max-width:767.98px) {
    .nc-family {
    padding-top:1rem
}
.nc-family .breadcrumb {
    font-size:.78rem
}
.nc-family h1 {
    font-size:1.75rem
}
.nc-family-lead {
    font-size:1.1rem
}
.nc-family-grid {
    grid-template-columns:1fr;
    gap:1rem
}
.nc-family-intro>p {
    font-size:.95rem
}
.nc-family-jump {
    gap:.25rem 1rem;
    margin:.8rem 0
}
.nc-family-jump>a:not(.btn) {
    font-size:.85rem;
    min-height:40px
}
.nc-family-product-image {
    height:180px
}
.nc-family-card-body {
    padding:1.15rem
}
.nc-family-card-top {
    padding:.8rem 1.15rem
}
.nc-family section {
    margin-top:2rem
}
.nc-family-comparison-desktop {
    display:none
}
.nc-family-comparison-mobile {
    display:grid;
    gap:1rem
}
.nc-family-panel {
    padding:1.2rem
}
.nc-family-final {
    padding:1.3rem
}
.nc-family .nc-ti-benefits {
    grid-template-columns:repeat(2,minmax(0,1fr))
}
.nc-family .nc-ti {
    padding:1rem
}
.nc-family .nc-ti-package {
    overflow-wrap:anywhere
}

}


.nc-family-quick {
    display:none
}
@media(max-width:767.98px) {
    .nc-family-quick {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem;
    margin:1rem 0
}
.nc-family-quick a {
    display:flex;
    flex-direction:column;
    gap:.45rem;
    border:1px solid #dce5ee;
    border-radius:.8rem;
    padding:.8rem;
    background:#f0f6fa;
    text-decoration:none;
    font-size:.8rem
}
.nc-family-quick strong {
    font-size:.95rem;
    line-height:1.25
}
.nc-family-quick b {
    color:#11264b;
    font-size:1.02rem
}
.nc-family-quick span {
    line-height:1.35
}

}

/* Adult landing awareness block: existing page styles remain unchanged. */
.nc-family .nc-family-awareness {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:1.2rem 2rem;
    margin:1.2rem 0 1.5rem;
    padding:1.6rem;
    border:1px solid #234878;
    border-radius:1.2rem;
    background:linear-gradient(125deg,#11264b,#17456b);
    color:#fff;
}
.nc-family-awareness .nc-family-awareness-eyebrow {
    margin:0 0 .8rem;
    font-size:.75rem;
    line-height:1.4;
    font-weight:700;
    letter-spacing:.08em;
    color:#bedff5;
}
.nc-family-awareness .nc-family-awareness-number {
    margin:0 0 .5rem;
    font-size:clamp(1.9rem,5.3vw,3.7rem);
    line-height:1.05;
    font-weight:800;
    letter-spacing:-.04em;
    white-space:nowrap;
}
.nc-family-awareness .nc-family-awareness-support {
    margin:0;
    max-width:25rem;
    font-size:1.05rem;
    line-height:1.45;
}
.nc-family-awareness-context p {
    margin:0 0 .75rem;
    font-size:.96rem;
    line-height:1.5;
}
.nc-family-awareness .nc-family-awareness-bridge {
    font-weight:650;
}
.nc-family-awareness-benefits {
    display:grid;
    gap:.5rem;
    list-style:none;
    padding:0;
    margin:1rem 0 0;
}
.nc-family-awareness-benefits li {
    display:flex;
    gap:.65rem;
    align-items:center;
    font-size:.95rem;
    line-height:1.4;
}
.nc-family-awareness-benefits i {
    color:#a6ddff;
    flex:0 0 1rem;
}
.nc-family-awareness-footer {
    grid-column:1/-1;
    display:flex;
    flex-wrap:wrap;
    gap:.5rem 1rem;
    justify-content:space-between;
    align-items:center;
    border-top:1px solid #ffffff30;
    padding-top:.9rem;
}
.nc-family-awareness .nc-family-awareness-choice {
    margin:0;
    font-size:.95rem;
    line-height:1.4;
    font-weight:650;
}
.nc-family-awareness .nc-family-awareness-source {
    margin:0;
    font-size:.75rem;
    line-height:1.5;
    color:#c9e0ef;
}
.nc-family-awareness-source a {
    color:#d8edfa;
    text-underline-offset:.15rem;
}
@media(max-width:767.98px) {
    .nc-family .nc-family-awareness {
        grid-template-columns:minmax(0,1fr);
        gap:1rem;
        margin:1rem 0 1.2rem;
        padding:1.2rem;
    }
    .nc-family-awareness .nc-family-awareness-number {
        font-size:clamp(2.2rem,9.2vw,3.2rem);
    }
    .nc-family-awareness .nc-family-awareness-eyebrow {
        font-size:.7rem;
        margin-bottom:.65rem;
    }
    .nc-family-awareness-context p {
        margin-bottom:.6rem;
        font-size:.93rem;
    }
    .nc-family-awareness-benefits {
        gap:.45rem;
        margin-top:.8rem;
    }
    .nc-family-awareness-footer {
        padding-top:.8rem;
    }
}
