.family-page{max-width:1360px;margin:auto;padding:16px;font:15px/1.35 Arial,Verdana,sans-serif;color:#293638;background:antiquewhite;box-sizing:border-box}.family-page *{box-sizing:border-box}.family-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.family-header p{margin:0;color:#53696b}.family-header h1{font-size:24px;margin:2px 0}.family-header nav ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.family-page a{color:#285c68;text-underline-offset:3px}.family-tree{display:grid;gap:12px}.family-tree>section{background:#fff9f0;border:1px solid #d7ccba;border-radius:8px;padding:12px}.family-tree h2{font-size:16px;margin:0 0 8px}.family-tree h3{font-size:14px;margin:0 0 6px;color:#4a6468}.family-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:10px}.family-group{background:#fff;border:1px solid #ddd8ce;border-left:3px solid #748f91;border-radius:5px;padding:9px;min-width:0}.family-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:7px}.family-card{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px;border:1px solid #d8dfe0;border-radius:5px;background:#fafcfc;overflow-wrap:anywhere}.family-name{font-weight:bold}.family-label{font-size:13px;color:#607375}.family-focus{border:2px solid #476e76;background:#edf5f5;align-self:start}.family-center{display:grid;grid-template-columns:minmax(240px,0.8fr) 2fr;gap:12px}.family-partners{display:grid;gap:8px}.family-events{padding-left:20px;margin:6px 0}.family-events small{display:block;color:#5c6668}.family-page details{margin-top:8px}.family-page summary{cursor:pointer;color:#285c68;padding:5px 0;min-height:30px}.family-page p{margin:5px 0}.family-note{white-space:pre-wrap}.family-secondary{font-size:14px;margin-top:12px;padding:10px}.family-secondary a{display:inline-block;margin:4px 12px 4px 0}@media(max-width:700px){.family-page{padding:10px}.family-header{display:block}.family-header nav ul{gap:10px}.family-center{grid-template-columns:1fr}.family-cards,.family-groups{grid-template-columns:1fr}.family-tree{gap:10px}}
.family-groups{align-items:start}.family-partners{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start}.family-group>.family-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}@media(max-width:700px){.family-partners,.family-group>.family-cards{grid-template-columns:1fr}}
.family-partnership{border-left-width:6px}.family-color-0{border-left-color:#0072b2}.family-color-1{border-left-color:#d55e00}.family-color-2{border-left-color:#009e73}.family-color-3{border-left-color:#aa4499}.family-color-4{border-left-color:#cc9900}.family-color-5{border-left-color:#332288}
/* Public family cards deliberately do not reuse the legacy div.person grid. */
.family-tree .family-cards,.family-tree .family-partners{align-items:start}
.family-tree .family-card{height:auto;max-height:none;align-self:start;overflow:visible;min-width:0;gap:5px}
.family-tree .family-name{display:block;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%;overflow-wrap:anywhere;line-height:1.35}
.family-tree .family-card>*,.family-tree .family-events li{min-width:0;max-width:100%;overflow-wrap:anywhere}
.family-tree .family-fulltext{white-space:pre-wrap;margin:0;line-height:1.4}
.family-tree .family-images{display:flex;flex-wrap:wrap;gap:6px;align-items:start}
.family-tree .family-images img{display:block;width:53px;height:80px;object-fit:contain;border-radius:4px}
.family-tree .family-images a{display:block}
.family-tree .family-card .family-events{margin:2px 0;padding-left:18px}
.family-tree .family-events>li{margin:0 0 7px}
.family-tree .family-card-partnership{border-top:1px solid #d8dfe0;padding-top:6px;margin-top:4px}
.family-tree .family-card details{margin-top:2px}
.family-tree .family-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-weight:normal;color:#293638;white-space:pre-wrap}
.family-tree .family-more{display:block;font-size:13px}
.family-tree .family-expand[open]>summary .family-preview,.family-tree .family-expand[open]>summary .family-more{display:none}
.family-tree .family-expand[open]>.family-fulltext{margin-top:5px}
