.connections-summary{max-width:68rem;margin:0 auto var(--space-xl);border-top:1px solid var(--border-soft);gap:0;padding:0;display:grid}.connections-summary-item{gap:var(--space-md);border-bottom:1px solid var(--border-soft);grid-template-columns:10rem 1fr;align-items:baseline;padding:.9rem 0;display:grid}@media (width<=640px){.connections-summary-item{grid-template-columns:1fr;gap:.25rem}}.connections-summary-item dt{font-family:var(--font-sans);font-size:.72rem;font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin:0}.connections-summary-item dd{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0;display:flex}.connections-summary-count{font-family:var(--font-display);font-size:.95rem;font-weight:var(--fw-bold);color:var(--heading);font-variant-numeric:tabular-nums;min-width:1.5rem}.connections-summary-names{font-family:var(--font-serif);color:var(--text-soft);font-size:.95rem;line-height:1.6}.connections-summary-names a{color:inherit;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-bottom:1px solid #0000;text-decoration:none}.connections-summary-names a:hover,.connections-summary-names a:focus-visible{color:var(--ink);border-bottom-color:var(--ink)}.connections-controls{margin-bottom:var(--space-xl);flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.connections-filter{min-height:var(--tap-target);font-family:var(--font-sans);font-size:.8rem;font-weight:var(--fw-medium);letter-spacing:.04em;color:var(--text-soft);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast);background:0 0;padding:.45rem .9rem}.connections-filter:hover{color:var(--accent);border-color:var(--accent)}.connections-filter.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.connections-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));display:grid}.connection.is-hidden{display:none}.person-related{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-soft)}.person-related-label{margin:0 0 var(--space-xs);font-family:var(--font-sans);font-size:.7rem;font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.person-related-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.person-related-item{border-left:2px solid var(--border-soft);flex-direction:column;gap:.15rem;padding-left:.7rem;display:flex}.person-related-link{font-family:var(--font-display);font-size:.92rem;font-weight:var(--fw-semibold);color:var(--heading);transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-bottom:1px solid #0000;align-items:baseline;gap:.5rem;text-decoration:none;display:inline-flex}.person-related-link:hover,.person-related-link:focus-visible{color:var(--ink);border-bottom-color:var(--ink);outline:none}.person-related-title{flex:0 auto;line-height:1.3}.person-related-year{font-family:var(--font-sans);font-size:.7rem;font-weight:var(--fw-medium);letter-spacing:.04em;color:var(--ink-muted);font-variant-numeric:tabular-nums}.person-related-note{font-family:var(--font-serif);color:var(--text-soft);font-size:.82rem;font-style:italic;line-height:1.45}.family-tree{max-width:78rem;margin:0 auto var(--space-2xl);padding:var(--space-lg) var(--space-sm);background:var(--bg-alt);border:1px solid var(--border)}@media (width<=360px){.family-tree{padding:var(--space-md) .5rem;margin-inline:-.25rem}.ft-person{min-width:0;padding:.6rem .7rem}.ft-name{font-size:.95rem}.ft-role{font-size:.78rem}}.ft-root,.ft-children{flex-direction:column;align-items:center;gap:.9rem;margin:0;padding:0;list-style:none;display:flex;position:relative}.ft-node{flex-direction:column;align-items:stretch;gap:.9rem;width:100%;max-width:22rem;display:flex;position:relative}.ft-node>.ft-children{margin-top:.2rem;padding-top:1.4rem}.ft-node>.ft-children:before{content:"";background:var(--ink-muted);width:1px;height:1.1rem;position:absolute;top:0;left:50%;transform:translate(-.5px)}.ft-children>.ft-node:before{content:"";background:var(--ink-muted);width:1px;height:.9rem;position:absolute;top:-.9rem;left:50%;transform:translate(-.5px)}.ft-person{background:var(--surface);border:1px solid var(--border);text-align:center;width:100%;transition:border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);flex-direction:column;justify-content:center;padding:.75rem .9rem;display:flex;box-shadow:0 1px #14120f0a}.ft-person:hover{border-color:var(--ink);transform:translateY(-1px)}.ft-name{font-family:var(--font-display);font-size:1rem;font-weight:var(--fw-semibold);color:var(--heading);margin:0 0 .15rem;line-height:1.2}.ft-years{font-family:var(--font-sans);color:var(--ink-muted);letter-spacing:.04em;font-variant-numeric:tabular-nums;margin:0 0 .25rem;font-size:.72rem}.ft-role{font-family:var(--font-serif);color:var(--text-soft);margin:0;font-size:.82rem;font-style:italic;line-height:1.35}.ft-person--ancestor{background:var(--surface);border-color:var(--border);color:var(--text)}.ft-person--ancestor .ft-name{color:var(--heading)}.ft-person--ancestor .ft-years{color:var(--text-muted)}.ft-person--ancestor .ft-role{color:var(--text-soft)}.ft-person--robert{background:var(--ink);border-color:var(--ink);box-shadow:0 2px #14120f1f}.ft-person--robert .ft-name{color:var(--paper)}.ft-person--robert .ft-years{color:color-mix(in srgb, var(--paper) 70%, transparent)}.ft-person--robert .ft-role{color:color-mix(in srgb, var(--paper) 82%, transparent)}.ft-person--spouse{background:var(--surface);border-color:var(--ink);border-width:1.5px}.ft-person--descendant{background:var(--surface);border-style:dashed;border-color:var(--border);color:var(--text)}.ft-person--descendant .ft-name{color:var(--heading)}.ft-person--descendant .ft-years{color:var(--text-muted)}.ft-person--descendant .ft-role{color:var(--text-soft)}.ft-couple{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.ft-join{font-family:var(--font-display);color:var(--ink-muted);justify-content:center;align-self:center;align-items:center;padding:0 .6rem;font-size:1rem;font-style:italic;display:inline-flex;position:relative}.ft-join:before,.ft-join:after{content:"";background:var(--ink-muted);width:2rem;height:1px;margin:0 .4rem;display:block}@media (width>=768px){.family-tree{padding:var(--space-xl) var(--space-md);overflow-x:auto}.ft-root,.ft-children{justify-content:center;align-items:flex-start;gap:var(--space-xl);flex-direction:row}.ft-root{gap:0}.ft-node{width:auto;max-width:none;padding:0 var(--space-md);text-align:center;flex:none}.ft-node>.ft-children{padding-top:var(--space-xl);margin-top:0}.ft-node>.ft-children:before{height:var(--space-lg);top:0}.ft-children>.ft-node:before{content:"";top:calc(var(--space-lg) * -1 + 1px);width:50%;height:var(--space-lg);border-top:1px solid var(--ink-muted);background:0 0;position:absolute;left:auto;right:50%;transform:none}.ft-children>.ft-node:after{content:"";top:calc(var(--space-lg) * -1 + 1px);width:50%;height:var(--space-lg);border-top:1px solid var(--ink-muted);position:absolute;left:50%}.ft-children>.ft-node:only-child:before,.ft-children>.ft-node:only-child:after{display:none}.ft-children>.ft-node:only-child{padding-top:var(--space-lg)}.ft-children>.ft-node:first-child:before,.ft-children>.ft-node:last-child:after{border:0}.ft-children>.ft-node:first-child:after{border-left:1px solid var(--ink-muted)}.ft-children>.ft-node:last-child:before{border-right:1px solid var(--ink-muted)}.ft-person{width:auto;min-width:11rem;max-width:13rem;display:inline-flex}.ft-couple{flex-direction:row;align-items:center;gap:.6rem}.ft-join{border-top:1px solid var(--ink-muted);border-bottom:1px solid var(--ink-muted);width:1.75rem;height:1.75rem;padding:0;font-size:1.1rem}.ft-join:before,.ft-join:after{display:none}}.tree-notes{max-width:52rem;margin:var(--space-2xl) auto 0}.tree-notes>h2{font-family:var(--font-display);font-size:var(--text-lg);color:var(--heading);text-align:center;margin:0 0 var(--space-lg)}.tree-note{padding:var(--space-md) 0;border-top:1px solid var(--border-soft)}.tree-note:last-child{border-bottom:1px solid var(--border-soft)}.tree-note h3{font-family:var(--font-display);color:var(--heading);margin:0 0 .4rem;font-size:1.1rem}.tree-note p{color:var(--text-soft);font-size:1rem;line-height:var(--leading-relaxed,1.65);margin:0}