.family-report { margin-top: 1rem; color: #26392e; overflow-wrap: anywhere; }
.family-report h3 { margin: 0 0 .7rem; font-size: 1.35rem; }
.family-report p { line-height: 1.55; }
.family-report-verdict { padding: 1rem; border-left: 4px solid #497356; background: #edf3eb; border-radius: 0 .5rem .5rem 0; font-size: 1.1rem; }
.family-report-note { color: #675334; }
.family-report-exam, .family-report-note { margin: .45rem 0; }
.family-report-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: 1.2rem 0; }
.family-report-metrics > div { padding: .8rem; background: #f2f4ee; border-radius: .5rem; }
.family-report-metrics dt { font-size: .9rem; line-height: 1.4; }
.family-report-metrics dd { margin: .35rem 0 0; font-size: 1.3rem; font-weight: 700; }
.family-report-detail { border-top: 1px solid #d4dbd0; padding: .2rem 0; }
.family-report-detail summary { cursor: pointer; padding: .85rem .2rem; font-weight: 650; line-height: 1.4; }
.family-report-detail summary:focus-visible { outline: 3px solid #497356; outline-offset: 2px; }
.family-report-detail > div { padding: 0 .25rem .7rem; }
.family-report-detail h4 { margin: 1.1rem 0 .4rem; }
.family-report-list { padding-left: 1.4rem; }
.family-report-list li { margin: .65rem 0; line-height: 1.5; }
.family-report-list p { margin: .3rem 0; }
.family-report-empty, .family-report-meta { color: #576457; }
.family-report-meta { font-size: .88rem; }
@media (max-width: 600px) { .family-report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 350px) { .family-report-metrics { grid-template-columns: 1fr; } }
