.gfh{max-width:70rem;margin:2rem auto;line-height:1.6}.gfh nav{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-bottom:2px solid #ccc}.gfh a{text-decoration:underline;text-underline-offset:.18em}.gfh a:focus-visible{outline:3px solid #176b95;outline-offset:4px}.gfh dt{font-weight:700;margin-top:.8rem}.gfh dd{margin-left:0}.gfh-private,.gfh-family{padding:1rem;border:1px solid #aaa;border-radius:.4rem;margin:1rem 0}.gfh-index{columns:16rem;column-gap:2rem}.gfh-index li{break-inside:avoid;padding:.25rem 0}@media(max-width:480px){.gfh-tree ul{padding-left:1rem}.gfh nav a{padding:.4rem 0}}

/* Pedigree chart: four grandparents, two parents, selected person, families. */
.gfh-tree{overflow-x:auto;padding:0;margin:1.5rem 0;border:1px solid #888;background:#fff;color:#222;font-size:1rem;line-height:1.5}
.gfh-chart{min-width:620px;width:100%;text-align:center}
.gfh-chart *{box-sizing:border-box}
.gfh-chart a{color:inherit;text-decoration:underline;border:0;background:none;border-radius:0;overflow-wrap:anywhere}
.gfh-chart em{font-style:italic}
.gfh-chart ul{list-style:none!important;margin:0!important;padding:0!important}
.gfh-chart li{list-style:none!important;margin:0!important}
.gfh-chart .gfh-branches{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;position:relative;padding-bottom:16px}
.gfh-branches::after{content:"";position:absolute;bottom:16px;left:25%;right:25%;border-bottom:1px solid #888}
.gfh-branch{min-width:0;display:grid;grid-template-rows:subgrid;grid-row:span 2}
.gfh-chart .gfh-grandparents{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;position:relative;padding-bottom:0!important}
.gfh-grandparents::after{content:"";position:absolute;bottom:0;left:25%;right:25%;border-bottom:1px solid #888}
.gfh-grandparents li{padding:8px 10px 16px;position:relative;display:flex;align-items:center;justify-content:center}
.gfh-grandparents li::after{content:"";position:absolute;height:14px;border-left:1px solid #888;bottom:0;left:50%}
.gfh-parent{padding:25px 12px 16px;position:relative}
.gfh-parent::before{content:"";position:absolute;height:16px;top:0;left:50%;border-left:1px solid #888}
.gfh-parent::after{content:"";position:absolute;height:14px;bottom:0;left:50%;border-left:1px solid #888}
.gfh-current{position:relative;padding:12px 12px 8px}
.gfh-current::before{content:"";position:absolute;height:16px;top:-16px;left:50%;border-left:1px solid #888}
.gfh-descendants{border-top:1px solid #888;padding:0 8px 4px}
.gfh-partner{padding:5px 10px 16px}
.gfh-chart .gfh-children{display:flex;justify-content:center;min-width:0}
.gfh-children li{position:relative;flex:1 0 140px;padding:36px 10px 5px;max-width:100%}
.gfh-children li::before{content:"";position:absolute;top:0;left:0;right:0;border-top:1px solid #888}
.gfh-children li:first-child::before{left:50%}
.gfh-children li:last-child::before{right:50%}
.gfh-children li::after{content:"";position:absolute;top:0;left:50%;height:16px;border-left:1px solid #888}
.gfh-has-children .gfh-partner{position:relative}
.gfh-has-children .gfh-partner::after{content:"";position:absolute;bottom:0;left:50%;height:16px;border-left:1px solid #888}
.gfh-unknown{color:#666;font-style:italic}
.gfh-tree:focus-visible{outline:3px solid #176b95;outline-offset:3px}
@media print{.gfh-tree{overflow:visible}.gfh-chart{min-width:0}.gfh-children li{flex-basis:0}}
/* Archive styling is scoped to the plugin so the surrounding theme is unaffected. */
.gfh{--gfh-ink:#203d34;--gfh-gold:#9b7839;--gfh-line:#d9d0bd;background:#fcfaf5;color:#29352f;padding:clamp(16px,4vw,40px);border:1px solid #e5dece;border-radius:8px;box-sizing:border-box}
.gfh nav{border-color:var(--gfh-line);padding-top:0;gap:8px 24px}
.gfh nav a,.gfh a{color:var(--gfh-ink)}
.gfh nav a{font-weight:600;padding:6px 0}
.gfh h2,.gfh h3,.gfh h4{color:var(--gfh-ink);line-height:1.25}
.gfh h2,.gfh h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.gfh h2{font-size:clamp(2rem,5vw,3.2rem);margin:.4rem 0 1rem}
.gfh h3{font-size:1.65rem;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gfh-line)}
.gfh-profile-header{padding:26px 0 6px}
.gfh .gfh-eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#67552e;font-weight:700;margin:0}
.gfh .gfh-tree{border-color:#8d9a89;background:#fffef9;border-radius:4px}
.gfh .gfh-chart{color:var(--gfh-ink)}
.gfh .gfh-current{background:#edf1e9;padding-top:14px;padding-bottom:14px}
.gfh .gfh-family,.gfh .gfh-private{background:#fffefb;border-color:var(--gfh-line);border-left:3px solid var(--gfh-gold);border-radius:0}
.gfh .gfh-family h4{margin:.8rem 0 .3rem}
.gfh .gfh-timeline{list-style:none;margin:1.5rem 0 0;padding:0 0 0 25px;border-left:2px solid var(--gfh-line)}
.gfh .gfh-timeline>li{position:relative;margin:0 0 24px;padding:0 0 12px 12px;list-style:none}
.gfh .gfh-timeline>li::before{content:'';position:absolute;width:10px;height:10px;left:-31px;top:7px;border-radius:50%;background:var(--gfh-gold);border:2px solid #fcfaf5}
.gfh .gfh-timeline h4{font-size:1.2rem;margin:3px 0 8px}
.gfh .gfh-timeline p{margin:.35rem 0}
.gfh .gfh-event-date{color:#67552e;font-size:.9rem;font-weight:700;letter-spacing:.03em}
.gfh .gfh-age{color:#526258;font-size:.85rem}
.gfh .gfh-sources{margin:12px 0;background:#f3efe5;border:1px solid var(--gfh-line);border-radius:3px;padding:10px 14px;font-size:.9rem}
.gfh .gfh-sources summary{cursor:pointer;font-weight:600;color:var(--gfh-ink)}
.gfh .gfh-sources summary:focus-visible{outline:3px solid #176b95;outline-offset:4px}
.gfh .gfh-sources ul{padding-left:20px;margin:12px 0 0}
.gfh .gfh-sources li{margin:0 0 15px;overflow-wrap:anywhere}
.gfh .gfh-sources blockquote{margin:10px 0;padding:0 0 0 12px;border-left:2px solid var(--gfh-gold);font-style:normal;color:inherit}
@media(max-width:480px){.gfh{padding:16px}.gfh .gfh-timeline{padding-left:18px}.gfh .gfh-timeline>li{padding-left:5px}.gfh .gfh-timeline>li::before{left:-24px}}
@media print{.gfh{background:#fff;border:0;padding:0}.gfh .gfh-sources{break-inside:avoid}.gfh .gfh-timeline>li{break-inside:avoid}}
.gfh .gfh-search{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:20px 0}
.gfh .gfh-search label{flex:1 1 230px;font-size:.9rem;font-weight:600;color:var(--gfh-ink)}
.gfh .gfh-search input[type=search]{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px 12px;border:1px solid #8d9a89;border-radius:3px;background:#fffefb;color:#29352f;font:inherit}
.gfh .gfh-search button{padding:11px 22px;border:1px solid var(--gfh-ink);border-radius:3px;background:var(--gfh-ink);color:#fff;font:inherit;cursor:pointer}
.gfh .gfh-search input:focus-visible,.gfh .gfh-search button:focus-visible{outline:3px solid #176b95;outline-offset:3px}
.gfh .gfh-map{height:380px;width:100%;z-index:0;margin:16px 0;border:1px solid var(--gfh-line);border-radius:4px;background:#edf1e9}
.gfh .gfh-map[hidden],.gfh .gfh-load-map[hidden]{display:none}
.gfh .gfh-load-map{padding:10px 20px;border:0;border-radius:3px;background:var(--gfh-ink);color:#fff;font:inherit;cursor:pointer}
.gfh .gfh-load-map:focus-visible{outline:3px solid #176b95;outline-offset:3px}
.gfh .gfh-map-pin{background:#203d34;border:2px solid #fff;border-radius:50%;color:#fff;text-align:center;font:bold 14px/26px Arial,sans-serif;box-shadow:0 1px 5px #555}
.gfh .gfh-map .leaflet-popup-content{max-height:250px;overflow-y:auto;color:#29352f}
.gfh .gfh-map-list li{margin-bottom:12px}
.gfh .gfh-map .leaflet-control-attribution{font:11px/1.5 Arial,sans-serif;background:#fff;color:#222}
.gfh .gfh-map .leaflet-control-attribution a{color:#164a6e}
@media print{.gfh .gfh-map-wrap{display:none}.gfh .gfh-map-list>ul{display:block}}
.gfh .gfh-stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin:24px 0}
.gfh .gfh-stat-card{border:1px solid var(--gfh-line);border-top:3px solid var(--gfh-gold);background:#fffefb;padding:18px 12px;text-align:center}
.gfh .gfh-stat-card strong{display:block;color:var(--gfh-ink);font:2rem Georgia,serif;margin-bottom:6px}
.gfh .gfh-stat-card span{font-size:.85rem}
.gfh .gfh-stats-table{overflow-x:auto;margin:16px 0}
.gfh .gfh-stats-table table{width:100%;border-collapse:collapse;background:#fffefb;font-size:.95rem}
.gfh .gfh-stats-table caption{text-align:left;font-size:.85rem;color:#526258;padding-bottom:8px}
.gfh .gfh-stats-table th,.gfh .gfh-stats-table td{text-align:left;padding:10px 12px;border:1px solid var(--gfh-line);overflow-wrap:anywhere}
.gfh .gfh-stats-table thead{background:#edf1e9;color:var(--gfh-ink)}
.gfh .gfh-stats-table tbody th{font-weight:400}
.gfh .gfh-stats-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.gfh .gfh-stats-note{font-size:.85rem;color:#526258}

/* A compact toolbar card separated from the main content by an eight-pixel gap. */
.gfh.gfh-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;background:transparent;border:0;padding:0;border-radius:0}
.gfh .gfh-toolbar,.gfh .gfh-content{background:#fcfaf5;border:1px solid #e5dece;border-radius:8px;box-sizing:border-box;min-width:0;margin:0}
.gfh .gfh-toolbar{padding:14px clamp(16px,4vw,40px)}
.gfh .gfh-content{padding:clamp(16px,4vw,40px)}
.gfh .gfh-toolbar nav{margin:0;padding:0 0 8px}
.gfh .gfh-toolbar .gfh-search{margin:10px 0 0}
.gfh .gfh-content>.gfh-profile-header{padding-top:0}
.gfh .gfh-content>h2:first-child{margin-top:0}
@media print{.gfh .gfh-toolbar{display:none}.gfh .gfh-content{border:0;background:white;padding:0}}
/* Balance toolbar edges and align the search field and button exactly. */
.gfh .gfh-toolbar{padding-top:16px;padding-bottom:16px}
.gfh .gfh-toolbar nav a{padding-top:0;padding-bottom:0}
.gfh .gfh-toolbar .gfh-search input[type=search],
.gfh .gfh-toolbar .gfh-search button{height:48px;box-sizing:border-box;margin-bottom:0;line-height:1.25}
.gfh .gfh-toolbar .gfh-search button{margin-top:0;padding-top:0;padding-bottom:0;align-self:flex-end}
