:root{--paper:#f5f2ea;--white:#fcfaf5;--green:#203c32;--olive:#6d7847;--blue:#506773;--gold:#a7853b;--line:#d8d8cb;--muted:#687064}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e7e5dc;color:var(--green);font-family:'Source Sans 3',sans-serif;font-size:16px;line-height:1.45}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{background:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}h1{font-size:38px;line-height:1.05;letter-spacing:-.6px}h2{font-size:31px;line-height:1.07}h3{font-size:23px;line-height:1.1}.mono,.eyebrow,.preview-label,.birthplace,.card-years,.marriage,.section-marker{font-family:'IBM Plex Mono',monospace}.mono,.eyebrow{font-size:10px;letter-spacing:1.1px}.eyebrow{margin-bottom:12px;color:var(--olive)}.phone-shell{max-width:440px;margin:0 auto;background:var(--paper);min-height:100vh}.preview-label{background:var(--green);color:var(--paper);padding:8px 20px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.8px}.preview-label a{font-family:'Source Sans 3',sans-serif;font-size:12px;letter-spacing:0}.site-header{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;text-decoration:none;line-height:1}.wordmark i{font-style:normal;color:var(--gold)}.site-header>.mono{font-size:9px;letter-spacing:.7px}.intro{padding:29px 20px 21px}.intro>p:last-child{margin-top:14px;color:var(--muted);font-size:15px;max-width:345px}.legend{padding:0 20px 20px;display:flex;flex-wrap:wrap;gap:8px 15px;font-size:12px}.legend span{display:flex;align-items:center;gap:6px}.dot{height:8px;width:8px;display:inline-block;border-radius:50%;flex:none}.italy{background:var(--olive)}.us{background:var(--blue)}.gold-rule{display:block;width:15px;height:3px;background:var(--gold)}.search-box{margin:0 20px;display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--white);border:1px solid #c7ccbd;min-height:46px}.search-box>span{font-size:24px;line-height:1}.search-box input{width:100%;min-width:0;border:0;background:transparent;outline:none;color:var(--green);font-size:15px}.search-results{margin:0 20px;border:1px solid var(--line);background:var(--white);padding:4px 10px}.search-results button{display:block;text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;padding:12px 0;min-height:44px}.search-results p{padding:12px}.breadcrumb{display:flex;align-items:center;gap:5px;margin:12px 20px 0;border-bottom:1px solid var(--line);font-size:13px;white-space:nowrap}.breadcrumb button{padding:13px 0;border:0;min-height:46px}.breadcrumb span{margin:0 3px;color:#959b8e}.breadcrumb button.active{color:var(--gold);font-weight:600}.household-head{padding:25px 20px 20px}.section-marker{font-size:10px;line-height:1.7;letter-spacing:.6px;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:6px;margin-bottom:9px}.section-marker::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold)}.household-heading{font-size:32px}.household-note{margin-top:10px;color:var(--muted);font-size:14px}.family-navigation{display:flex;gap:10px;margin-top:18px}.family-navigation button,.nav-action{min-height:46px;padding:10px 15px;border:1px solid #adb6a6;background:var(--white);border-radius:2px;font-size:15px;flex:1;text-align:center}.family-navigation button:last-child{border-color:var(--green);color:var(--paper);background:var(--green)}.family-navigation button:disabled{opacity:.5;cursor:default}.couple{margin:0 20px;display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);position:relative;align-items:stretch;isolation:isolate}.person-card{width:100%;padding:16px 11px 14px;border:1px solid #c3c9b8;background:var(--white);border-top:3px solid var(--olive);border-radius:3px;text-align:left;min-width:0;display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:1}.person-card.born-us{border-top-color:var(--blue)}.person-card.direct{border-color:var(--gold);border-top-width:3px;box-shadow:0 0 0 1px #a7853b12}.initials{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e8ebdd;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;width:40px;height:40px;color:var(--olive);margin-bottom:12px;flex:none}.born-us .initials{background:#e6ebed;color:var(--blue)}.card-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;line-height:1.05;font-weight:600;overflow-wrap:anywhere;margin-bottom:9px}.card-years{font-size:11px;line-height:1.55;color:#5d655a;margin-bottom:11px}.birthplace{display:inline-flex;align-items:center;gap:5px;color:var(--olive);font-size:10px;line-height:1.4;letter-spacing:-.1px}.born-us .birthplace{color:var(--blue)}.card-note{border-top:1px solid #e0e2d8;margin-top:12px;padding-top:10px;font-size:12px;line-height:1.4;color:var(--muted)}.direct-label{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);margin-top:auto;padding-top:12px}.marriage{position:relative;width:28px;font-size:9px;line-height:1.4;text-align:center;color:#6b745e;z-index:0}.marriage:before{content:'';position:absolute;top:105px;left:0;width:100%;height:1px;background:#a8b197}.marriage:after{content:'';position:absolute;top:105px;bottom:-26px;left:50%;width:2px;background:var(--gold);z-index:-1}.marriage span{display:block;background:var(--paper);position:relative;top:82px;padding-bottom:3px;line-height:1.3}.after-couple{position:relative;margin:26px 20px 0;padding-top:19px}.after-couple:before{content:'';position:absolute;left:50%;top:0;height:19px;border-left:2px solid var(--gold)}.crossing{background:#ececdd;border-top:1px dashed #a0aa85;border-bottom:1px dashed #a0aa85;padding:14px 15px;position:relative;z-index:2}.crossing h3{font-size:21px;display:flex;align-items:center;gap:8px}.crossing p{margin-top:4px;font-size:13px;color:#5b674b}.crossing .mono{font-size:10px;letter-spacing:.3px;color:#617049}.crossing svg{width:22px;height:20px}.crossing-note{margin:12px 0 0;color:var(--muted);font-size:12px}.children-section{margin:22px 20px 0;scroll-margin-top:20px}.children-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5px}.children-title h3{font-size:25px}.children-title span{font-size:10px;color:var(--muted);letter-spacing:.6px}.children-subtitle{font-size:13px;color:var(--muted);margin-bottom:16px}.children-list{list-style:none;padding:0 0 0 15px;margin:0;position:relative}.children-list::before{content:'';width:1px;background:#c9d0c0;position:absolute;left:0;top:0;bottom:53px}.child-row{position:relative;margin-bottom:10px}.child-row::before{content:'';position:absolute;left:-15px;top:50%;width:15px;height:1px;background:#c9d0c0}.child-row.direct::before{height:3px;background:var(--gold)}.child-button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 10px;align-items:center;gap:10px;text-align:left;padding:13px 12px;border:1px solid #d2d7c8;border-left:3px solid #a3ad87;background:var(--white);border-radius:3px;min-height:104px}.child-row.direct .child-button{border-color:var(--gold);border-left:3px solid var(--gold);background:#fbf8ee}.child-button.born-us{border-left-color:var(--blue)}.child-button .initials{width:34px;height:34px;font-size:19px;margin:0;align-self:start;margin-top:3px}.child-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;line-height:1.05;font-weight:600;display:block}.child-meta{display:block;margin-top:5px;font-size:11px;color:var(--muted);font-family:'IBM Plex Mono',monospace}.child-details{display:flex;align-items:center;gap:5px;margin-top:7px;color:var(--olive);font-size:12px;line-height:1.25;flex-wrap:wrap}.child-details svg{width:15px;height:15px;flex:none}.child-details .direct-word{color:var(--gold);font-weight:600}.child-row .chevron{font-size:23px;color:#879078}.children-end{margin:15px 0 0 15px;border:1px dashed #bac4b5;padding:15px;font-size:14px;color:var(--muted)}.children-end h3{font-size:24px;color:var(--green);margin-bottom:7px}.family-next{display:block;margin:20px 0 0 15px;background:var(--green);border:1px solid var(--green);border-radius:3px;padding:14px 16px;color:var(--paper);text-decoration:none;width:calc(100% - 15px);text-align:left}.family-next .mono{font-size:10px;letter-spacing:.7px;color:#c9cebd}.family-next strong{display:flex;justify-content:space-between;margin-top:4px;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-weight:500}.phone-footer{border-top:1px solid var(--line);margin:30px 20px 0;padding:25px 0 35px;color:var(--muted)}.phone-footer p{font-size:14px;margin:8px 0 12px}.phone-footer a{font-size:14px}dialog{width:calc(100% - 24px);max-width:416px;border:1px solid #b1baa5;border-radius:6px;background:var(--paper);color:var(--green);padding:29px 23px;max-height:90vh;overflow:auto}dialog::backdrop{background:#203c326e}.close-dialog{position:absolute;right:8px;top:5px;width:44px;height:44px;border:0;font-size:30px}.detail-avatar{margin-top:5px}.detail-name{font-size:36px;margin:8px 0 13px;max-width:300px}.detail-dates{font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.6;margin-bottom:13px;color:var(--muted)}.detail-story{font-size:16px;margin:16px 0}.detail-block{padding:15px 0;border-top:1px solid var(--line)}.detail-block h3{font-size:24px;margin-bottom:10px}.detail-block a{display:block;min-height:42px;padding:8px 0;font-size:14px}.detail-photo{width:100%;max-height:200px;object-fit:contain;background:#e5e4db}.detail-actions{display:flex;gap:9px;margin-top:14px}.parent-option{width:100%;min-height:75px;text-align:left;padding:16px;margin:10px 0 0;border:1px solid var(--line);border-radius:3px}.parent-option small{display:block;font-size:11px;color:var(--olive);margin-bottom:4px}.parent-option strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-weight:500}.empty-note{font-size:14px;color:var(--muted);margin:14px 0}.all-children-cta{font-size:13px;color:var(--muted);margin:15px 0 0 15px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:359px){.intro,.site-header,.household-head{padding-left:15px;padding-right:15px}.couple,.children-section,.after-couple{margin-left:15px;margin-right:15px}.card-name{font-size:20px}.card-years{font-size:10px}.legend{gap:8px 10px;font-size:11px}.breadcrumb{font-size:12px}.site-header>.mono{font-size:8px}}
.preview-label,.site-header>.mono,.direct-label,.marriage{font-size:10px}.card-note svg{width:16px;height:16px;vertical-align:-3px}.child-button .birthplace{margin-top:4px}.phone-shell a[target=_blank]{overflow-wrap:anywhere}
.marriage span{top:70px}
.dot.unrecorded{background:#8b8f83}.person-card.birth-unrecorded,.child-button.birth-unrecorded{border-top-color:#969b8e}.child-button.birth-unrecorded{border-left-color:#969b8e}.birth-unrecorded .initials,.initials.birth-unrecorded{background:#e5e7df;color:#737a6c}.birth-unrecorded .birthplace,.birthplace.birth-unrecorded{color:#72796b}

.site-nav{display:flex;flex-wrap:wrap;gap:0 15px;padding:0 20px;border-bottom:1px solid var(--line);font-size:14px}.site-nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}.site-nav a[aria-current=page]{color:var(--gold);box-shadow:inset 0 -2px var(--gold)}.detail-photo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-photo-list a{font-size:13px;line-height:1.3}.detail-photo-list img{display:block;width:100%;height:130px;object-fit:contain;margin-bottom:7px;background:#e5e4db}.record-context{font-size:12px;color:var(--muted);margin-top:6px}.detail-block .recipe-link{font-size:17px;color:var(--green)}

.photo-credit{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}
