:root{--ink:#273e37;--paper:#f5f2e9;--muted:#737e6d;--line:#d9ddcf;--accent:#9b7446;--panel:#ebece2;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,sans-serif}a{color:inherit}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent)}.skip{position:absolute;top:-100px}.skip:focus{top:8px;background:white;padding:10px;z-index:20}.site-header{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:28px 4vw;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font:28px var(--serif);white-space:nowrap}.wordmark span{display:block;font:8px/2.5 system-ui;letter-spacing:.3em}.site-header nav{display:flex;gap:24px;flex-wrap:wrap}.site-header nav a{text-decoration:none;font-size:12px}.site-header nav a[aria-current]{border-bottom:1px solid var(--ink)}main{max-width:1800px;margin:auto}.intro{padding:60px 4vw 45px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.eyebrow{font:10px/1.5 system-ui;letter-spacing:.19em;font-weight:600;margin:0 0 18px;color:var(--muted)}h1{font:clamp(48px,5.8vw,88px)/.98 var(--serif);letter-spacing:-.045em;font-weight:400;margin:0}.intro-note{padding-bottom:5px;max-width:370px}.intro-note p{font:19px/1.5 var(--serif);margin:0 0 25px}.intro-note span{font-size:9px;letter-spacing:.15em;color:var(--muted)}.explorer{margin:0 4vw 60px;border:1px solid var(--line)}.toolbar{padding:23px 26px;display:flex;align-items:center;gap:40px;background:#e9eadd}.search-wrap{width:330px;position:relative;z-index:4}label,.small-label{font-size:10px;letter-spacing:.08em;display:block}input{display:block;border:0;border-bottom:1px solid #a4b09d;background:transparent;padding:9px 0;width:100%;border-radius:0;color:var(--ink);font-size:15px}input::placeholder{color:#778375}.branch-wrap{flex:1}.small-label{font-size:9px;color:var(--muted);margin-bottom:8px}#branches{display:flex;gap:8px;flex-wrap:wrap}#branches button,.directory-button{border:1px solid #bdc5b4;background:transparent;padding:7px 13px;font-size:11px}.directory-button{white-space:nowrap;background:var(--paper)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px}.chart-panel{min-width:0;padding:24px 20px 16px;background:radial-gradient(#cdd2c8 .7px,transparent .7px);background-size:18px 18px;background-color:#f2f2e9}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.chart-heading .eyebrow{margin:0 0 4px;font-size:9px}.chart-heading p{font:22px var(--serif);margin:0}.chart-controls{display:flex;border:1px solid #ced4c5;background:var(--paper)}.chart-controls button{border:0;border-right:1px solid #ced4c5;background:none;min-width:32px;height:31px;padding:4px 9px;font-size:12px}.chart-controls button:last-child{border:0}.chart-scroll{overflow:auto;margin-top:20px;min-height:490px;max-height:640px;padding:8px 0 18px;scrollbar-width:thin}#scale-shell{position:relative;margin:auto}#diagram{position:relative;transform-origin:0 0}#lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}#lines path{fill:none;stroke:#a4b19a;stroke-width:1.5}#generations{position:relative}.generation{height:164px;display:flex;align-items:center;justify-content:center;gap:22px;padding:10px 20px}.person-node{width:198px;min-height:107px;display:flex;align-items:center;gap:12px;flex-shrink:0;text-align:left;padding:14px;background:#fcfbf6;border:1px solid #cad0bf;border-radius:3px;box-shadow:0 3px 14px #243f3210}.person-node:hover{border-color:var(--ink);background:white}.person-node.selected{background:var(--ink);color:#fff8e8;border-color:var(--ink);box-shadow:0 5px 22px #243f3220}.node-portrait{width:43px;height:52px;object-fit:cover;border-radius:2px;flex-shrink:0}.initials{display:grid;place-items:center;background:#e5e7d9;color:#65745e;font:21px var(--serif);width:40px;height:48px;border-radius:30px 30px 4px 4px;flex-shrink:0}.selected .initials{background:#496052;color:#e9e6d5}.node-name{display:block;font:17px/1.2 var(--serif);overflow-wrap:anywhere}.node-years{display:block;font-size:10px;letter-spacing:.03em;opacity:.7;margin-top:6px}.row-empty{font:13px var(--serif);color:#7f8a76;padding:15px;border:1px dashed #c5cebb;background:var(--paper);max-width:260px;text-align:center}.chart-hint{font-size:10px;color:var(--muted);margin:9px 0 0}.profile{background:#fffdf6;border-left:1px solid var(--line);padding:26px;align-self:stretch}.profile .eyebrow{margin-bottom:13px;font-size:9px}.profile-hero{width:100%;max-height:260px;object-fit:contain;object-position:center;background:#e8e5d8;display:block;border:0;padding:0;margin:0 0 20px}.profile-hero img{display:block;max-height:260px;width:100%;object-fit:contain}.profile h2{font:31px/1.08 var(--serif);font-weight:400;margin:0 0 8px;letter-spacing:-.025em}.profile .years{font-size:12px;color:var(--muted);margin:0 0 23px}.profile h3{font-size:9px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;margin:24px 0 9px;color:var(--muted)}.profile dl{margin:20px 0;font-size:12px}.profile dt{font-size:9px;letter-spacing:.09em;text-transform:uppercase;margin-top:10px;color:var(--muted)}.profile dd{margin:2px 0 0}.relatives{display:flex;flex-wrap:wrap;gap:5px}.relatives button{background:var(--panel);border:0;padding:6px 8px;font-size:11px;text-align:left}.profile .story-link{display:block;font:19px/1.3 var(--serif);padding:11px 0;border-top:1px solid var(--line);text-decoration:none}.research-note{font-size:11px;padding:12px;background:#f0e8d7;border-left:2px solid #ae8650}.gallery{display:flex;gap:7px}.gallery button{padding:0;border:0;background:none}.gallery img{width:65px;height:75px;object-fit:cover}.empty-copy{font-size:11px;color:var(--muted)}.archive-note{display:flex;align-items:flex-start;gap:30px;padding:21px 26px;border-top:1px solid var(--line)}.archive-note span{font-size:9px;letter-spacing:.12em;white-space:nowrap;padding-top:3px}.archive-note p{font-size:11px;color:var(--muted);max-width:780px;margin:0}footer{padding:35px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}footer>a{font:25px var(--serif);text-decoration:none}footer span{display:block;font:11px/2 system-ui;color:var(--muted)}footer p,footer small{font-size:10px;color:var(--muted)}#search-results{position:absolute;top:100%;left:0;right:0;max-height:310px;overflow:auto;background:#fffdf7;border:1px solid var(--line);box-shadow:0 15px 25px #273e3720}#search-results button{display:block;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:12px;text-align:left;font:17px var(--serif)}#search-results small{font:10px system-ui;margin-left:8px;color:var(--muted)}#search-results p{padding:12px;font-size:12px}dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:30px;max-width:800px;width:90vw;max-height:88vh}dialog::backdrop{background:#182d27a6;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-top h2{font:36px var(--serif);margin:0 0 24px}.dialog-top button,#photo-close{border:0;background:transparent;padding:0;font-size:13px}.dialog-top .eyebrow{margin-bottom:8px}#directory-list{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}#directory-list button{border:0;border-bottom:1px solid var(--line);text-align:left;padding:12px 0;background:none;font:17px var(--serif)}#directory-list small{display:block;font:10px/1.5 system-ui;color:var(--muted);margin-top:4px}#photo-dialog{width:auto;max-width:92vw;background:#f5f2e9}#photo-close{display:block;margin-left:auto;margin-bottom:14px}#large-photo{display:block;max-height:72vh;max-width:80vw;width:auto;object-fit:contain}#photo-caption{font-size:12px;margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.no-script{margin:30px;padding:20px;background:#fff} @media(min-width:1700px){.workspace{grid-template-columns:minmax(0,1fr) 370px}.profile{padding:30px}.profile-hero,.profile-hero img{max-height:290px}}@media(max-width:1050px){.site-header{align-items:flex-start}.site-header nav{gap:12px 20px;justify-content:flex-end}.toolbar{gap:20px}.workspace{grid-template-columns:minmax(0,1fr) 290px}.profile{padding:20px}.intro-note{max-width:300px}.branch-wrap{min-width:145px}.search-wrap{width:280px}.chart-controls button{padding:3px 6px;min-width:27px}}@media(max-width:760px){.site-header{display:block;padding:22px 6vw}.wordmark{font-size:25px}.site-header nav{justify-content:flex-start;margin-top:18px;gap:12px 19px}.intro{padding:40px 6vw 30px;display:block}h1{font-size:56px}.intro-note{margin-top:25px;max-width:100%}.intro-note p{font-size:17px;margin-bottom:12px}.explorer{margin:0 4vw 35px}.toolbar{padding:20px;flex-wrap:wrap;gap:20px 10px}.search-wrap{width:100%}.branch-wrap{min-width:0}.directory-button{font-size:10px}.workspace{display:block}.chart-panel{padding:20px 12px 13px}.chart-heading p{font-size:20px}.chart-scroll{min-height:425px}.profile{border-left:0;border-top:1px solid var(--line);padding:25px}.profile-hero{max-width:240px;float:right;margin:0 0 20px 22px}.profile-hero img{max-height:250px}.profile:after{content:'';display:block;clear:both}.archive-note{display:block;padding:20px}.archive-note p{margin-top:8px}footer{display:block;padding:30px 6vw}footer p{margin:20px 0}.chart-heading{gap:8px}#directory-list{grid-template-columns:1fr}.dialog-top h2{font-size:28px}dialog{padding:22px}.profile h2{font-size:29px}}@media(max-width:430px){.profile-hero{float:none;width:100%;max-width:100%;margin:0 0 22px}.profile-hero img{max-height:300px}.chart-controls button{min-width:24px;font-size:10px;padding:2px 5px}.chart-heading p{max-width:160px}.branch-wrap{width:100%;flex:auto}}

/* Peter’s supplied photograph of his parents. */
.intro{align-items:center;position:relative;gap:35px;padding-top:35px;padding-bottom:35px}.intro>div:first-child{flex:1;min-width:0}.parents-header{width:47%;max-width:690px;flex-shrink:0;margin:0}.parents-header img{display:block;width:100%;height:auto;max-height:380px;object-fit:cover;object-position:center 36%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%)}.parents-header figcaption{font:10px/1.5 system-ui;letter-spacing:.06em;color:var(--muted);text-align:right;margin:12px 0 0}@media(max-width:760px){.intro{display:block;padding-top:32px}.parents-header{width:100%;margin-top:28px;max-width:none}.parents-header img{max-height:none;-webkit-mask-image:none;mask-image:none}.parents-header figcaption{text-align:left;font-size:9px}}

/* Full width, natural depth: keep both parents and the BEM medal in frame. */
.intro{display:block;padding-top:32px}.intro>div:first-child{max-width:none}.intro h1{font-size:clamp(44px,5vw,70px)}.intro h1 br{display:none}.intro h1 br:after{content:" "}.parents-header{width:100%;max-width:none;margin:28px 0 0}.parents-header img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;-webkit-mask-image:none;mask-image:none}.parents-header figcaption{font-size:11px;line-height:1.7;text-align:left;margin-top:14px}.intro .eyebrow{margin-bottom:12px}@media(max-width:760px){.intro h1{font-size:44px;line-height:1.05}.parents-header{margin-top:22px}.parents-header figcaption{font-size:10px}}
