@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond Fallback;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}.__className_5df062{font-family:Cormorant Garamond,Cormorant Garamond Fallback}.__variable_5df062{--font-cormorant:"Cormorant Garamond","Cormorant Garamond Fallback"}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/312bdf69facd99ca-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/1b30b992a554bafd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/accc82dc8525882b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/312bdf69facd99ca-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1b30b992a554bafd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/accc82dc8525882b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/312bdf69facd99ca-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1b30b992a554bafd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/accc82dc8525882b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Josefin Sans Fallback;src:local("Arial");ascent-override:73.32%;descent-override:24.44%;line-gap-override:0.00%;size-adjust:102.29%}.__className_05f453{font-family:Josefin Sans,Josefin Sans Fallback;font-style:normal}.__variable_05f453{--font-josefin:"Josefin Sans","Josefin Sans Fallback"}:root{--font-cormorant-garamond:var(--font-cormorant),serif;--font-josefin-sans:var(--font-josefin),sans-serif;--bg:#F0E6C8;--bg-2:#E6D8B0;--card:#FFFFFF;--card-2:#FFF8F8;--ink:#180A05;--ink-2:#3C2010;--ink-3:#7A6450;--crimson:#8C1A2A;--crimson-l:#B83050;--gold:#B07820;--gold-l:#D4A040;--olive:#3A5E30;--navy:#1A3050;--line:#C8B890;--line-2:#A89870;--warn-bg:#FFF5F0;--me-bg:#F2F8EC;--me-line:#3A5E30;--radius:3px}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-josefin),"Helvetica Neue",sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9000;background:radial-gradient(ellipse at center,transparent 60%,rgba(24,10,5,.08) 100%)}.site-header{background:var(--bg);color:var(--ink);text-align:center;padding:44px 24px 40px;border-bottom:1.5px solid var(--line)}.eyebrow{font-family:var(--font-josefin-sans);font-size:.6rem;font-weight:600;letter-spacing:.55em;text-transform:uppercase;color:rgba(24,10,5,.45);margin-bottom:12px;display:block}.site-header h1{font-family:var(--font-cormorant-garamond);font-size:clamp(3.2rem,9vw,7rem);font-weight:900;font-style:italic;color:#1E3A14;letter-spacing:.02em;line-height:1;margin-bottom:18px}.subtitle{font-family:var(--font-josefin-sans);font-size:.62rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:rgba(24,10,5,.45)}.stat-bar{display:flex;justify-content:center;gap:36px;margin-top:24px;flex-wrap:wrap;border-top:1px solid rgba(24,10,5,.12);padding-top:20px}.stat-item{text-align:center}.stat-num{font-family:var(--font-cormorant-garamond);font-size:2rem;font-weight:700;color:var(--gold);display:block;line-height:1}.stat-label{font-family:var(--font-josefin-sans);font-size:.52rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(24,10,5,.4);display:block;margin-top:3px}.search-wrap{max-width:400px;margin:24px auto 0;position:relative}.search-input{width:100%;padding:12px 40px 12px 18px;font-family:var(--font-josefin-sans);font-size:.9rem;font-weight:300;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:40px;outline:none;transition:border-color .15s,box-shadow .15s;letter-spacing:.03em}.search-input::placeholder{color:var(--ink-3)}.search-input:focus{border-color:var(--crimson-l);box-shadow:0 0 0 3px rgba(140,26,42,.12)}.search-clear{position:absolute;right:13px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--ink-3);padding:4px;font-family:var(--font-josefin-sans);transition:color .1s}.search-clear:hover,.search-count{color:var(--crimson)}.search-count{text-align:center;font-family:var(--font-josefin-sans);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;margin-top:8px;height:1.2em}.view-toggle{display:flex;justify-content:center;gap:8px;margin-top:16px}.view-toggle-btn{background:none;border:1px solid var(--line);border-radius:40px;padding:7px 18px;cursor:pointer;font-family:var(--font-josefin-sans);font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);transition:border-color .1s,color .1s,background .1s}.view-toggle-btn:hover{border-color:var(--crimson-l);color:var(--ink)}.view-toggle-btn.active{background:var(--crimson);border-color:var(--crimson);color:white}.tree-outer{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.tree-desktop{display:block;overflow-x:auto;padding:36px 24px 48px;background:var(--bg)}.tree{display:flex;flex-direction:column;align-items:center;min-width:4200px}.tree-mobile{display:none;padding:24px 16px 40px}.tree-mobile .gen-section{margin-bottom:28px}.tree-mobile .gen-label-m{display:flex;gap:8px;width:-moz-fit-content;width:fit-content;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--crimson);background:var(--card);border:1px solid var(--line);padding:6px 14px 6px 6px;border-radius:20px;margin-bottom:14px}.gen-badge,.tree-mobile .gen-label-m{align-items:center;font-family:var(--font-josefin-sans);font-size:.55rem}.gen-badge{display:inline-flex;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--ink-3);color:#fff;font-weight:700;letter-spacing:0;flex-shrink:0}.tree-mobile .gen-cards-row{display:flex;flex-direction:column;gap:8px;position:relative}.tree-mobile .gen-cards-row:before{content:"";position:absolute;left:33px;top:19px;bottom:19px;width:1.5px;background:var(--line-2)}@media (max-width:900px){.tree-desktop{display:none}.tree-mobile{display:block}}.tree-mobile .p-card{display:flex;align-items:center;gap:12px;min-height:auto;padding:9px 14px}.tree-mobile .p-avatar-fallback,.tree-mobile .p-photo{position:static;width:38px;height:38px}.p-avatar-spacer{display:none}.tree-mobile .p-avatar-spacer{display:block;width:38px;height:38px;border-radius:50%;border:1.5px dashed var(--line-2);flex-shrink:0}.tree-mobile .p-body{min-width:0;flex:1 1}.tree-mobile .p-role{margin-bottom:1px}.tree-mobile .p-name{font-size:.95rem;padding-right:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-mobile .p-dates{margin-top:1px}.tree-mobile .p-maiden,.tree-mobile .p-me-tag,.tree-mobile .p-occ,.tree-mobile .p-place,.tree-mobile .p-tag{display:none}.tree-mobile .p-card.placeholder{opacity:.45}.gen-nav{position:fixed;right:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:500}@media (min-width:901px){.gen-nav{display:none}}.gen-nav-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--card);padding:0;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.gen-nav-dot.active{background:var(--crimson);border-color:var(--crimson);transform:scale(1.4)}.explore-hint{font-family:var(--font-josefin-sans);font-size:.78rem;font-weight:300;color:var(--ink-3);text-align:center;margin-bottom:20px}.explore-tree.tree-mobile{display:block;max-width:640px;margin:0 auto;padding:0}.explore-node{display:flex;flex-direction:column}.explore-row{display:flex;align-items:center;gap:10px}.explore-row .p-card{flex:1 1;min-width:0}.explore-toggle{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--card);color:var(--ink-3);font-family:var(--font-josefin-sans);font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.explore-toggle:hover{border-color:var(--crimson-l);color:var(--crimson)}.explore-toggle.expanded{background:var(--crimson);border-color:var(--crimson);color:#fff;transform:rotate(45deg)}.explore-children{display:flex;flex-direction:column;gap:10px;margin:10px 0 10px 16px;padding-left:20px;border-left:1.5px dashed var(--line-2)}.p-card{background:var(--card);border:1.5px solid var(--line);border-top:3px solid var(--crimson);border-radius:var(--radius);padding:12px 13px 14px;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s,opacity .22s;min-width:120px;max-width:172px;flex:1 1;min-height:86px;position:relative}.p-photo{object-fit:cover}.p-avatar-fallback,.p-photo{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line)}.p-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--crimson);color:#fff;font-family:var(--font-cormorant-garamond);font-weight:700;font-style:italic;font-size:.72rem;flex-shrink:0}.p-card:hover{border-color:var(--line-2);border-top-color:var(--crimson);box-shadow:0 5px 20px rgba(24,10,5,.11),0 1px 4px rgba(24,10,5,.06);transform:translateY(-2px)}.p-card:active{transform:translateY(-1px)}@media (max-width:900px){.p-card{max-width:none;min-height:98px;padding:14px 15px 16px}}.p-card.me{border-color:var(--me-line);background:var(--me-bg)}.p-card.me,.p-card.me:hover{border-top-color:var(--olive)}.p-card.me:hover{box-shadow:0 5px 20px rgba(58,94,48,.14)}.p-card.warn{border-top-color:var(--crimson);background:var(--warn-bg)}.p-card.ghost{border-style:solid dashed dashed;border-color:var(--line);border-top-color:var(--crimson);background:var(--card)}.p-card.ghost:hover{transform:none;box-shadow:none}.p-card.ghost .p-name{color:var(--ink)}.p-card.br-a{border-top-color:var(--crimson)}.p-card.br-a .p-avatar-fallback{background:var(--crimson)}.p-card.br-b{border-top-color:var(--gold)}.p-card.br-b .p-avatar-fallback{background:var(--gold)}.p-card.br-c{border-top-color:var(--olive)}.p-card.br-c .p-avatar-fallback{background:var(--olive)}.p-card.br-d{border-top-color:var(--navy)}.p-card.br-d .p-avatar-fallback{background:var(--navy)}.p-card.match{border-top-color:var(--crimson)!important;border-color:var(--crimson-l)!important;box-shadow:0 0 0 2px rgba(140,26,42,.14),0 4px 16px rgba(140,26,42,.1)!important;transform:translateY(-2px)!important}.p-card.dimmed{opacity:.17;transform:none!important;box-shadow:none!important;pointer-events:none}.p-role{font-family:var(--font-josefin-sans);font-size:.5rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.p-name{font-family:var(--font-cormorant-garamond);font-weight:700;font-style:italic;font-size:1.05rem;line-height:1.18;color:var(--ink);padding-right:40px}@media (max-width:900px){.p-name{font-size:1.12rem}}.p-card.me .p-name{color:var(--olive)}.p-card.warn .p-name{color:var(--crimson)}.p-dates{font-family:var(--font-josefin-sans);font-size:.6rem;font-weight:400;color:var(--gold);margin-top:4px}.p-maiden{font-family:var(--font-josefin-sans);font-size:.52rem;font-weight:300}.p-maiden,.p-place{color:var(--ink-3);margin-top:2px}.p-place{font-family:var(--font-cormorant-garamond);font-size:.82rem;font-style:italic}.p-occ{font-family:var(--font-josefin-sans);font-size:.55rem;color:var(--ink-2);margin-top:3px;font-weight:300}.p-tag{border-radius:2px;border:1px solid var(--crimson);color:var(--crimson)}.p-me-tag,.p-tag{display:inline-block;font-family:var(--font-josefin-sans);font-size:.48rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;margin-top:5px}.p-me-tag{border-radius:2px;border:1px solid var(--olive);color:var(--olive)}.gen{width:100%;display:flex;flex-direction:column;align-items:center}.gen-label{width:100%;font-family:var(--font-josefin-sans);font-size:.5rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);padding-left:2px;margin-bottom:7px}.gen-row{display:flex;justify-content:space-between;gap:10px;width:100%}.gen-side{gap:6px;flex:1 1}.gen-center,.gen-side{display:flex;justify-content:center}.gen-center{width:100%}.connector{display:flex;width:100%;position:relative}.conn-line{position:absolute;background:var(--line-2)}.rooted-tree{max-width:1200px;margin:0 auto;padding:32px 24px 48px}.rooted-tree-back{background:none;border:1px solid var(--line);border-radius:40px;padding:8px 16px;cursor:pointer;font-family:var(--font-josefin-sans);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);transition:border-color .1s,color .1s}.rooted-tree-back:hover{border-color:var(--crimson);color:var(--crimson)}.descendants{margin-top:8px}.desc-node{flex-direction:column;align-items:center}.desc-children,.desc-node{display:flex;position:relative}.desc-children{flex-wrap:wrap;justify-content:center;gap:28px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line-2)}.desc-children:before{content:"";position:absolute;top:-24px;left:50%;width:1.5px;height:24px;background:var(--line-2)}.desc-children-root{border-top:none;padding-top:0;margin-top:0}.desc-children-root:before{content:none}.desc-node>.desc-children>.desc-node{padding-top:24px}.desc-node>.desc-children>.desc-node:before{content:"";position:absolute;top:0;left:50%;width:1.5px;height:24px;background:var(--line-2)}.modal-backdrop{position:fixed;inset:0;background:rgba(24,10,5,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:bdin .18s ease}@keyframes bdin{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--card);border-top:3px solid var(--crimson);width:100%;max-width:680px;max-height:90vh;overflow-y:auto;padding:20px 30px 52px;animation:slideup .24s cubic-bezier(.16,1,.3,1);border-radius:4px 4px 0 0;transition:opacity .12s}.modal-panel.transitioning{opacity:0}@keyframes slideup{0%{transform:translateY(48px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-pull{width:44px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 20px}@media (min-width:641px){.modal-pull{display:none}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.modal-header-main{display:flex;align-items:center;gap:16px}.modal-portrait{width:72px;height:72px;border-radius:50%;object-fit:cover;border:1.5px solid var(--line);flex-shrink:0}.modal-portrait-fallback{display:flex;align-items:center;justify-content:center;background:var(--bg);border-top:3px solid var(--crimson);font-size:1.6rem;color:var(--ink-3)}.modal-portrait-fallback,.modal-title{font-family:var(--font-cormorant-garamond);font-weight:700;font-style:italic}.modal-title{font-size:clamp(1.7rem,5vw,2.3rem);color:var(--ink);line-height:1.1}.modal-maiden{font-family:var(--font-josefin-sans);font-size:.58rem;font-weight:300;color:var(--ink-3);margin-top:5px;letter-spacing:.1em}.modal-header-actions{gap:8px;margin-left:14px}.modal-close,.modal-header-actions{display:flex;align-items:center;flex-shrink:0}.modal-close{background:none;border:1px solid var(--line);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:.8rem;color:var(--ink-3);justify-content:center;transition:border-color .1s,color .1s;font-family:var(--font-josefin-sans)}.modal-close:hover{border-color:var(--crimson);color:var(--crimson)}.modal-share{background:none;border:1px solid var(--line);border-radius:40px;padding:8px 14px;cursor:pointer;font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;transition:border-color .1s,color .1s;font-family:var(--font-josefin-sans)}.modal-share:hover{border-color:var(--crimson);color:var(--crimson)}.modal-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 22px;gap:14px 22px;margin-bottom:22px}@media (max-width:480px){.modal-meta{grid-template-columns:1fr;gap:10px}}.modal-meta-label{font-family:var(--font-josefin-sans);font-size:.52rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}.modal-meta-value{font-family:var(--font-cormorant-garamond);font-size:1.1rem;color:var(--ink-2);line-height:1.4}.modal-meta-value.gold{font-family:var(--font-josefin-sans);font-size:.85rem;font-weight:400;color:var(--gold);letter-spacing:.04em}.modal-section{margin-bottom:20px}.modal-section-title{font-family:var(--font-josefin-sans);font-size:.52rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--crimson);margin-bottom:10px;display:flex;align-items:center;gap:10px}.modal-section-title:after{content:"";flex:1 1;height:1px;background:var(--line)}.modal-notes p{font-family:var(--font-cormorant-garamond);font-size:1.1rem;color:var(--ink-2);line-height:1.7;margin-bottom:8px}.modal-chips{display:flex;flex-wrap:wrap;gap:7px}.modal-chip{font-family:var(--font-josefin-sans);font-size:.6rem;font-weight:300;padding:6px 12px;border:1px solid var(--line);background:var(--bg);color:var(--ink-2);border-radius:40px;cursor:pointer;transition:border-color .1s,color .1s;letter-spacing:.03em;line-height:1.3}.modal-chip:hover{border-color:var(--crimson-l);color:var(--ink)}.modal-chip.static{cursor:default}.modal-chip.static:hover{border-color:var(--line);color:var(--ink-2)}.modal-sources{font-family:var(--font-josefin-sans);font-size:.52rem;font-weight:300;color:var(--ink-3);line-height:2;padding-top:14px;border-top:1px dashed var(--line);margin-top:18px;letter-spacing:.04em}.modal-sources a{color:var(--crimson);text-decoration:none;border-bottom:1px solid rgba(140,26,42,.3)}.modal-sources a:hover{border-color:var(--crimson)}@media (max-width:640px){.modal-panel{padding:14px 18px 56px;max-height:93vh}.modal-notes p{font-size:1.05rem}}.page-section{max-width:1200px;margin:0 auto 40px;padding:0 24px}.section-title{font-family:var(--font-josefin-sans);font-size:.55rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--crimson);margin-bottom:16px;display:flex;align-items:center;gap:12px}.section-title:after{content:"";flex:1 1;height:1px;background:var(--line)}.page-divider{max-width:1200px;margin:40px auto;border:none;border-top:1px solid var(--line)}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px;gap:10px}.info-card{background:var(--card);border:1.5px solid var(--line);border-top:3px solid var(--line-2);border-radius:var(--radius);padding:16px 18px}.info-card.warn{border-top-color:var(--crimson);background:var(--warn-bg)}.info-card-title{font-family:var(--font-cormorant-garamond);font-weight:700;font-size:1.12rem;margin-bottom:9px;color:var(--ink)}.info-card.warn .info-card-title{color:var(--crimson)}.info-card-body{font-family:var(--font-josefin-sans);font-size:.62rem;font-weight:300;color:var(--ink-3);line-height:1.95}.places-map{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;justify-content:center;background:var(--card);border:1.5px solid var(--line);border-top:3px solid var(--line-2);border-radius:var(--radius);padding:24px;max-width:460px;margin:0 auto}.places-map-svg{width:100%;max-width:320px;height:auto}.places-map-line{stroke:var(--gold-l);stroke-dasharray:3 3;opacity:.6}.places-map-dot{fill:var(--crimson);stroke:var(--card);stroke-width:1.5px;cursor:pointer;transition:fill .1s}.places-map-dot.active,.places-map-dot:hover{fill:var(--crimson-l)}.places-map-marker{pointer-events:bounding-box;cursor:pointer}.places-map-marker:focus{outline:none}.places-map-marker:focus .places-map-dot{fill:var(--crimson-l)}.places-map-popover{min-width:200px;flex:1 1;max-width:320px}.places-map-popover-title{font-family:var(--font-cormorant-garamond);font-weight:700;font-style:italic;font-size:1.1rem;color:var(--crimson);margin-bottom:10px}.timeline-wrap{overflow-x:auto;background:var(--card);border:1.5px solid var(--line);border-top:3px solid var(--line-2);border-radius:var(--radius);padding:16px 24px 20px}.timeline{position:relative}.timeline-gridline{position:absolute;top:20px;bottom:0;width:1px;background:var(--line)}.timeline-gridline-label{position:absolute;top:-18px;left:4px;font-family:var(--font-josefin-sans);font-size:.55rem;color:var(--ink-3);white-space:nowrap}.timeline-bar{position:absolute;height:13px;background:var(--crimson-l);border-radius:7px;cursor:pointer;transition:filter .1s}.timeline-bar:focus,.timeline-bar:hover{filter:brightness(.9);outline:none}.timeline-bar.me{background:var(--olive)}.timeline-bar.warn{background:var(--crimson)}.timeline-bar.living{background:var(--gold)}.timeline-bar.unknown-end{background:repeating-linear-gradient(135deg,var(--line-2),var(--line-2) 4px,transparent 4px,transparent 8px);opacity:.7}.timeline-bar-label{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;font-family:var(--font-cormorant-garamond);font-style:italic;font-weight:600;font-size:.8rem;color:var(--ink);white-space:nowrap}.timeline-bar-dates{font-style:normal;font-weight:400;font-size:.58rem}.source-text,.timeline-bar-dates{font-family:var(--font-josefin-sans);color:var(--ink-3)}.source-text{font-size:.52rem;font-weight:300;line-height:2;max-width:1200px;margin:0 auto;padding:22px 24px 60px;border-top:1px solid var(--line);letter-spacing:.04em}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gen,.gen-section{animation:fadeIn .45s ease both}.gen:first-child{animation-delay:0s}.gen:nth-child(3){animation-delay:70ms}.gen:nth-child(5){animation-delay:.14s}.gen:nth-child(7){animation-delay:.21s}.gen:nth-child(9){animation-delay:.28s}.gen:nth-child(11){animation-delay:.35s}.gen-section:first-child{animation-delay:0s}.gen-section:nth-child(2){animation-delay:70ms}.gen-section:nth-child(3){animation-delay:.14s}.gen-section:nth-child(4){animation-delay:.21s}.gen-section:nth-child(5){animation-delay:.28s}