:root{--cream:#f5f2ea;--ink:#203c32;--olive:#6d7847;--olive-soft:#edf0e4;--blue:#506773;--blue-soft:#e9eef0;--gold:#a7853b;--line:#cdd1c3;--muted:#697167;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Source Sans 3',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}button,input{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}button{background:none;border-radius:0}[hidden]{display:none!important}.preview-banner{height:29px;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--cream);padding:0 24px;font-size:12px}.preview-banner span{font:9px var(--mono);letter-spacing:1.2px;color:#e2d3ab}.preview-banner a{text-decoration:none}.site-head{height:94px;display:flex;align-items:center;gap:30px;margin:0 24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:230px}.brand img{width:36px;height:47px;object-fit:contain;filter:sepia(1) saturate(.65);mix-blend-mode:multiply}.brand>span{font:600 13px/1.2 var(--serif);letter-spacing:1.3px}.brand em{display:block;font-size:21px;letter-spacing:0;font-weight:400}.site-head nav{display:flex;gap:30px;margin:auto;font-size:14px}.site-head nav a{text-decoration:none}.site-head nav [aria-current]{border-bottom:1px solid var(--gold);padding-bottom:6px}.mono{font:10px var(--mono);letter-spacing:.5px;color:var(--muted)}main{max-width:1600px;margin:auto;padding:0 24px}.heading{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:32px 0 28px}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.4px;color:var(--muted)}h1{font-size:43px;line-height:1.15;letter-spacing:-.7px;margin:7px 0 10px}.heading p:last-child{color:var(--muted);font-size:16px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;font-size:12px;flex-shrink:0}.legend span{display:flex;align-items:center;gap:8px}.legend i{width:12px;height:12px;display:inline-block;border:1px solid;flex-shrink:0}.legend .italy{background:var(--olive-soft);border-color:var(--olive)}.legend .us{background:var(--blue-soft);border-color:var(--blue)}.legend .unknown{background:#f1eee6;border-color:#abae9f}.gold-line{display:block;width:19px;height:3px;background:var(--gold)}.tree-shell{border:1px solid #c3c9b9;background:#faf8f1}.controls{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid var(--line);background:#f8f6ee}.breadcrumb{display:flex;align-items:center;gap:11px;font-size:14px}.breadcrumb button{border:0;padding:8px 0}.breadcrumb button:hover{text-decoration:underline}.breadcrumb small{font:8px var(--mono);letter-spacing:.5px;padding:4px 6px;background:#e8dfc8;margin-left:5px}.breadcrumb .current{font-weight:600}.tools{display:flex;gap:15px;align-items:center;position:relative}.search-label input{width:190px;height:40px;border:1px solid #bdc5b6;background:#fffdf7;padding:8px 12px;font-size:14px}.zoom-tools{display:flex;align-items:center;border:1px solid #bdc5b6;background:#fffdf7}.zoom-tools button{min-width:36px;height:38px;border:0;font-size:18px}.zoom-tools output{font:11px var(--mono);min-width:40px;text-align:center}.zoom-tools #fit{border-left:1px solid var(--line);font-size:12px;padding:0 12px}.zoom-tools button:hover{background:#edf0e5}.chart-viewport{overflow:auto;max-width:100%;scrollbar-color:#bbc2b1 #f6f4ec}.desktop-warning{display:none}.chart-viewport #scaled-chart{position:relative;height:1898px;width:1392px}#chart{position:relative;width:1392px;height:1898px;transform-origin:top left;background:#faf8f1}#lines{position:absolute;inset:0;z-index:1;pointer-events:none;width:1392px;height:1898px}#lines path{fill:none;stroke:#acb7a0;stroke-width:1.6;stroke-linejoin:round}#lines .direct{stroke:var(--gold);stroke-width:3.3}#lines .over-under{stroke:#faf8f1;stroke-width:9}#lines circle{fill:#98a58e}#lines text{font:10px var(--mono);fill:#5c674f;text-anchor:middle}#lines .marriage-label{fill:#faf8f1;stroke:none}.tier-heading{position:absolute;left:14px;right:14px;display:flex;align-items:baseline;gap:17px;padding-top:6px;z-index:2;width:max-content;background:#faf8f1;padding-right:16px}.tier-heading>span{font:10px var(--mono);letter-spacing:.5px;color:#77816a}.tier-heading h2{font-size:27px;line-height:1.1}.tier-heading small{font-size:13px;color:var(--muted)}.person-card{position:absolute;border:1px solid #bac6a8;border-top:3px solid var(--olive);background:#f7f8f1;padding:12px 9px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;z-index:3;box-shadow:0 2px 4px #203c3204;transition:box-shadow .15s}.person-card:hover{box-shadow:0 5px 12px #203c3217;background:#fffdf7}.person-card.us{background:#f4f7f8;border-color:#b9c7ca;border-top-color:var(--blue)}.person-card.unknown{background:#f8f6ef;border-color:#c8cbbb;border-top-color:#939c88}.person-card.direct-card{border:2px solid var(--gold);border-top:4px solid var(--gold);background:#f9f5e8}.initials{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid #c7d0b9;border-radius:50%;font:500 13px var(--serif);background:var(--olive-soft);color:#596c38;flex-shrink:0}.us .initials{background:var(--blue-soft);border-color:#bdcbd0;color:var(--blue)}.unknown .initials{background:#eeece3;color:#707563;border-color:#d2d5c7}.person-card strong{font:600 21px/1.04 var(--serif);width:100%;overflow-wrap:normal}.person-card .years{font:12px/1.25 var(--sans);color:#5d6659}.birthplace{display:block;width:max-content;max-width:100%;padding:3px 5px;border:1px solid #d3dbc6;color:#50653a;background:#eef1e5;font-size:11px;line-height:1.25;margin-top:auto}.us .birthplace{background:var(--blue-soft);border-color:#c7d2d7;color:#405e6f}.unknown .birthplace{background:#f1eee5;border-color:#d4d5ca;color:#656d5e}.card-note{font:13px/1.25 var(--sans);color:#626b5b}.ship-tag{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;line-height:1.3;color:#4c6439}.ship-tag svg{width:17px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}.node-flag{position:absolute;top:-17px;left:50%;transform:translateX(-50%);padding:4px 7px;background:var(--gold);color:#fffdf6;white-space:nowrap;font:9px var(--mono);letter-spacing:.6px}.person-card.early strong{font-size:20px}.person-card.early .birthplace{font-size:10px}.person-card.compact{padding:12px 6px 10px;gap:8px}.person-card.compact strong{font-size:19px;line-height:1.04;min-height:79px;display:flex;align-items:center;justify-content:center}.person-card.compact .years{font-size:12px;min-height:29px;display:flex;align-items:center;justify-content:center}.person-card.compact .birthplace{font-size:10px;padding:3px 4px;margin-top:0}.person-card.compact .card-note{font-size:12px;margin-top:auto}.person-card.compact .ship-tag{font-size:11px;margin-top:auto;display:flex;flex-wrap:wrap}.person-card.compact .initials{width:27px;height:27px}.person-card.compact.us strong{font-size:20px}.person-card.parent strong{font-size:23px}.person-card.parent .card-note{font-size:13px}.person-card.focused{outline:3px solid #d8c691;outline-offset:4px}.start-note{position:absolute;left:23px;top:59px;width:609px;height:175px;border-left:3px solid var(--gold);padding:18px 22px;background:#f0ecdf;z-index:2}.start-note .eyebrow{color:#79632e}.start-note h3{font-size:30px;line-height:1.1;margin:8px 0}.start-note p{font-size:15px;color:#64705d;max-width:530px}.start-note .path{margin-top:13px;font:14px var(--serif);color:var(--ink)}.crossing-band{position:absolute;left:0;right:0;top:1274px;height:103px;border-top:1px dashed #a8b393;border-bottom:1px dashed #a8b393;background:#edf0e5;z-index:0;display:flex;align-items:center;gap:35px;padding:17px 25px}.crossing-band .cross-label{width:420px;flex-shrink:0}.crossing-band h2{font-size:29px;line-height:1.1}.crossing-band .route{padding-left:22px;max-width:480px}.crossing-band .route strong{font:500 23px var(--serif)}.crossing-band .route p{font-size:13px;line-height:1.4;color:var(--muted)}.crossing-band .era{margin-left:auto;font:16px var(--mono);color:#56683d}.end-note{position:absolute;left:545px;top:1795px;width:360px;padding:14px 17px;text-align:center;background:#eeeee5;border:1px solid #ced2c1;font-size:15px;z-index:3}.scope-note{position:absolute;left:1005px;top:1755px;width:328px;font-size:12px;color:var(--muted);z-index:3}.chart-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 18px;font-size:12px;color:var(--muted);gap:20px}.research-note{font-size:12px;line-height:1.6;color:var(--muted);margin:18px 0 24px;max-width:1000px}footer{border-top:1px solid var(--line);padding:22px 0 32px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}footer>span:first-child{font:600 15px var(--serif);color:var(--ink)}footer em{font-size:20px;margin-left:8px;font-weight:400}footer>span:last-child{font:9px var(--mono);letter-spacing:.5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#search-results{position:absolute;top:47px;right:0;width:415px;max-height:365px;overflow:auto;background:#fffdf7;border:1px solid var(--line);z-index:10;box-shadow:0 10px 28px #203c3225}#search-results button{display:block;padding:12px 15px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);font-size:14px}#search-results button:hover{background:#eef1e7}#search-results small{display:block;color:var(--muted)}#search-results p{padding:15px;font-size:14px}dialog{position:fixed;inset:0 0 0 auto;margin:0;border:0;border-left:1px solid #bac3b0;width:430px;max-width:100vw;height:100dvh;max-height:100dvh;overflow:auto;padding:27px 27px 35px;background:var(--cream);color:var(--ink);box-shadow:-10px 0 36px #203c3225}dialog::backdrop{background:#203c321c}#close-details{float:right;border:1px solid #bdc6b3;width:38px;height:38px;font-size:26px;line-height:1}.detail-eyebrow{padding-top:6px;font:10px var(--mono);letter-spacing:1px;color:#776235}.detail-avatar{margin:23px 0 15px;width:49px;height:49px;font-size:22px}.detail h2{font-size:36px;line-height:1.03;margin:10px 0 13px;max-width:340px}.detail .dates{font:12px/1.5 var(--mono);color:#66725e}.detail .birth{font-size:14px;margin:9px 0 17px}.detail .story-note{font-size:15px;line-height:1.55;border-top:1px solid var(--line);padding:18px 0}.detail-navigation{display:flex;gap:9px;margin:0 0 22px}.detail-navigation button{flex:1;border:1px solid var(--olive);min-height:44px;font-size:14px;padding:9px 5px}.detail-navigation button:first-child{background:var(--ink);color:var(--cream);border-color:var(--ink)}.detail h3{font-size:25px;line-height:1.15;margin:23px 0 12px}.detail-links{display:flex;flex-direction:column;gap:9px}.detail-links a,.detail-links button{display:block;text-align:left;text-decoration:none;padding:10px 12px;background:#fbfaf4;border:1px solid var(--line);font-size:14px}.detail-links small{display:block;color:var(--muted);font-size:12px}.detail-photo{margin:0}.detail-photo img{width:100%;height:191px;object-fit:contain;background:#e8e4d7;padding:8px;border:1px solid var(--line)}.detail-photo figcaption{font-size:12px;line-height:1.45;color:var(--muted);margin-top:8px}.detail-note{font-size:12px;color:var(--muted);line-height:1.5}.detail-photo a{display:block}.detail .mini-state{font:10px var(--mono);background:#ece4d2;display:inline-block;padding:4px 7px}.detail-links .no-data{font-size:13px;color:var(--muted)}
@media(max-width:1000px){.site-head .mono{display:none}.heading{align-items:start;flex-direction:column;gap:18px}.site-head nav{gap:14px}.controls{flex-wrap:wrap}.desktop-warning{display:block;padding:12px 18px;background:#ece4d0;font-size:14px}.legend{font-size:12px}.chart-viewport{max-height:75vh}.tools{flex-wrap:wrap}.site-head nav a:nth-child(n+3){display:none}.site-head{gap:15px}.brand{min-width:0}main{padding:0 14px}h1{font-size:36px}.breadcrumb{gap:6px;font-size:12px}.breadcrumb small{display:none}.research-note{font-size:12px}footer{flex-wrap:wrap;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.person-card{transition:none}}

#person-domenicoantonio-pietropinto strong{font-size:17px;line-height:1.12}
/* Tier headings separate the time periods without breaking connector lines. */
.tier-heading{background:transparent}.tier-heading h2,.tier-heading>span,.tier-heading small{background:#faf8f1}

.site-head nav{gap:22px}.site-head .mono{white-space:nowrap}.detail-read-more{margin-top:18px}.skip-link{position:absolute;top:-60px;left:16px;z-index:100;background:var(--cream);padding:8px 14px}.skip-link:focus{top:8px}
@media(max-width:1250px){.site-head>.mono{display:none}}
