:root{--ink:#25231f;--muted:#68645c;--paper:#f7f4ed;--panel:#fffdf8;--line:#ded8ca;--accent:#315b52;--accent-dark:#23443d;--max:1120px}*{box-sizing:border-box}html{font-size:18px;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{background:var(--panel);border-bottom:1px solid var(--line)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.site-title{font-family:Georgia,serif;font-size:1.3rem;font-weight:700;color:var(--ink);text-decoration:none}nav{display:flex;gap:22px;flex-wrap:wrap}nav a{color:var(--ink);text-decoration:none;font-size:.94rem}nav a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid rgba(49,91,82,.28);outline-offset:3px;border-radius:3px}.main-nav a[aria-current="page"]{font-weight:750;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.hero{padding:90px 0 72px;max-width:800px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;color:var(--accent)}h1,h2{font-family:Georgia,serif;line-height:1.15}h1{font-size:clamp(2.5rem,6vw,4.7rem);margin:.2em 0}.lead{font-size:1.25rem;color:var(--muted);max-width:700px}.muted{color:var(--muted)}.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.button{display:inline-block;background:var(--accent);color:white;text-decoration:none;padding:11px 18px;border-radius:7px;font-weight:650}.button:hover{background:var(--accent-dark)}.button.secondary{background:transparent;color:var(--accent-dark);border:1px solid var(--accent)}.home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding-bottom:70px}.card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:28px;color:var(--ink);text-decoration:none}.card:hover{border-color:#aaa394;box-shadow:0 4px 18px rgba(45,40,30,.06)}.card h2{margin:0 0 8px;font-size:1.45rem}.card p{margin:0;color:var(--muted)}
.page-heading{padding:64px 0 32px;max-width:800px}.page-heading h1,.person-heading h1{font-size:clamp(2.4rem,5vw,4rem)}.directory-tools{max-width:760px;margin-bottom:28px}.directory-tools label{display:block;font-weight:700;margin-bottom:7px}.directory-tools input{width:100%;font:inherit;padding:13px 15px;border:1px solid #aaa394;border-radius:7px;background:white;color:var(--ink)}.directory-tools input:focus{outline:3px solid rgba(49,91,82,.18);border-color:var(--accent)}.letter-nav{display:flex;gap:5px;flex-wrap:wrap;margin-top:15px}.letter-nav a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:5px;background:var(--panel);font-weight:700;color:var(--accent-dark);text-decoration:none;font-size:.85rem}.letter-nav a:hover{background:#ece7dc;text-decoration:none}.result-count{margin:10px 0 0;color:var(--muted);font-size:.9rem}.alphabet-directory{max-width:860px}.letter-group{scroll-margin-top:20px;margin:0 0 28px}.letter-group h2{margin:0 0 8px;font-size:1.55rem;color:var(--accent-dark)}.letter-group .person-list:empty,.letter-group:has(.person-list:empty){display:none}.person-list{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:0}.person-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:18px;padding:13px 18px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.person-row:last-child{border-bottom:0}.person-row:hover{background:#f2eee5}.person-row span{color:var(--muted);white-space:nowrap}.person-row .row-arrow{font-size:1.4rem;color:var(--accent);line-height:1}.empty-state{padding:24px;color:var(--muted)}.search-empty{max-width:860px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.back-to-top{position:fixed;right:24px;bottom:24px;border:1px solid var(--accent);border-radius:7px;background:var(--panel);color:var(--accent-dark);padding:9px 13px;font:inherit;font-weight:650;cursor:pointer;box-shadow:0 3px 12px rgba(45,40,30,.1)}.back-to-top:hover{background:#ece7dc}.person-page{padding:38px 0 70px}.breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 30px;font-size:.86rem;color:var(--muted)}.breadcrumbs a{color:var(--accent-dark)}.breadcrumbs span[aria-current="page"]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}.person-heading{border-bottom:1px solid var(--line);padding-bottom:26px}.lifespan{font-size:1.15rem;color:var(--muted);margin:.2rem 0}.person-summary{font-family:Georgia,serif;font-size:1.3rem;max-width:820px;margin:32px 0 40px}.person-columns{max-width:820px}.person-main{min-width:0}.person-section{margin-bottom:46px}.relationship-list{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}.relationship-row{padding:12px 16px;border-bottom:1px solid var(--line)}.relationship-row:last-child{border-bottom:0}.family-group{padding-top:4px}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.section-heading-row h2{margin-bottom:12px}.small-link{font-size:.9rem;color:var(--accent-dark);white-space:nowrap}.person-section h2,.side-card h2{font-size:1.5rem}.facts{margin:0}.facts div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.facts dt{font-weight:700}.facts dd{margin:0}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--line)}.timeline-date{font-weight:700;color:var(--accent-dark)}.event-place{color:var(--muted)}.timeline p{margin:.35rem 0 0}.side-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:22px;margin-bottom:18px}.side-card h2{margin-top:0}.side-card ul,.side-card ol{padding-left:22px}.prose{max-width:760px}.back-link{margin-top:45px}.back-link a{color:var(--accent-dark)}
.family-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:38px 0 46px}.member-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:24px}.member-card h2{font-size:1.45rem;margin:.3rem 0}.member-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent)}.children-list{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}.child-row{padding:13px 18px;border-bottom:1px solid var(--line)}.child-row:last-child{border-bottom:0}.source-block{max-width:800px}.site-footer{border-top:1px solid var(--line);padding:30px 0 45px;color:var(--muted);font-size:.86rem}
@media(max-width:760px){html{font-size:17px}.header-inner{align-items:flex-start;flex-direction:column;padding:18px 0}nav{gap:12px 18px}.hero{padding:58px 0 46px}.home-grid{grid-template-columns:1fr}.wrap{width:min(calc(100% - 28px),var(--max))}.page-heading,.person-page{padding-top:42px}.family-members{grid-template-columns:1fr;gap:10px}.section-heading-row{align-items:flex-start;flex-direction:column;gap:0}.small-link{white-space:normal}.person-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}.person-row .row-arrow{grid-column:2;grid-row:1 / span 2}.facts div,.timeline li{grid-template-columns:1fr;gap:2px}.person-row span{white-space:normal}.back-to-top{right:12px;bottom:12px}.letter-nav a{width:30px;height:30px}}

/* Evidence is supporting metadata, not a second long-form source list. */
.event-evidence{margin-top:.7rem;padding:.7rem .9rem;border-left:3px solid var(--line);background:rgba(255,253,248,.7);font-size:.88rem;color:var(--muted)}
.event-evidence strong{color:var(--ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.event-evidence ul{margin:.25rem 0 0;padding-left:1.1rem}
.event-evidence li{display:list-item!important;padding:.1rem 0!important;border:0!important}

.tree-page{padding-bottom:70px}.tree-toolbar{max-width:720px;margin:-10px 0 30px}.tree-toolbar label{display:block;font-weight:700;margin-bottom:7px}.tree-toolbar select{width:100%;font:inherit;padding:13px 15px;border:1px solid #aaa394;border-radius:7px;background:var(--panel);color:var(--ink)}.tree-empty{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--muted)}.tree-view{overflow-x:auto;padding:8px 2px 30px}.tree-generation{margin:0 0 30px}.tree-generation h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;margin:0 0 12px}.tree-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.tree-card{display:flex;align-items:center;justify-content:center;min-width:210px;max-width:300px;min-height:72px;padding:14px 18px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none;box-shadow:0 2px 7px rgba(45,40,30,.04)}.tree-card:hover{border-color:var(--accent);text-decoration:none}.tree-card.focus{border:2px solid var(--accent);background:#f0f4f1}.tree-related{margin:10px auto 0;max-width:900px;border-top:1px solid var(--line);padding-top:18px}.tree-related summary{cursor:pointer;text-align:center;font-weight:700;color:var(--accent-dark);margin-bottom:14px}

/* Tree v3: large generation rows with visible genealogy structure. */
.tree-toolbar{display:grid;grid-template-columns:minmax(260px,620px) auto;gap:8px;align-items:end;max-width:820px;margin:-8px 0 34px}.tree-toolbar label{grid-column:1/-1;margin:0;font-weight:700}.tree-toolbar input{font:inherit;padding:12px 14px;border:1px solid #aaa394;border-radius:7px;background:var(--panel)}.tree-toolbar button{font:inherit;font-weight:700;padding:12px 18px;border:1px solid var(--accent-dark);border-radius:7px;background:var(--accent-dark);color:white;cursor:pointer}.tree-diagram{min-width:760px;padding:12px 10px 40px}.tree-generation{position:relative;margin:0;padding:0 0 42px}.tree-generation:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:10px;width:2px;height:26px;background:#b8b2a5}.tree-generation-label{text-align:center;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:10px}.tree-row{display:flex;justify-content:center;align-items:stretch;gap:18px;flex-wrap:nowrap}.tree-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:220px;min-width:180px;min-height:66px;padding:12px 14px;text-align:center;background:#fffdf8;border:1px solid #cfc8ba;border-radius:7px;color:var(--ink)!important;text-decoration:none!important;box-shadow:0 2px 8px rgba(45,40,30,.06)}.tree-card.focus{border:2px solid var(--accent-dark);background:#edf3ef;font-size:1.05rem}.tree-card.spouse{border-color:#9f9583}.tree-card.child,.tree-card.descendant{background:#faf8f2}.tree-view{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:rgba(255,253,248,.55);padding:20px}.tree-empty{max-width:820px}
@media(max-width:760px){.tree-toolbar{grid-template-columns:1fr}.tree-toolbar label{grid-column:auto}.tree-diagram{min-width:620px}.tree-card{width:180px;min-width:160px}}

/* Keep genealogical dates readable as single units rather than wrapping mid-date. */
.lifespan,.timeline-date{white-space:nowrap}
.timeline li{grid-template-columns:max-content minmax(0,1fr)}
@media(max-width:760px){.timeline li{grid-template-columns:1fr}.timeline-date{white-space:nowrap}}

/* Temporary clarity aid while parent-couple branching is redesigned. */
.tree-generation:not(:last-child)::after{display:none}
.tree-card-name{display:block}
.tree-card-dates{display:block;margin-top:3px;font-size:.72rem;line-height:1.25;color:var(--muted);white-space:nowrap}
