.family-shell{max-width:1180px;margin:0 auto;padding:48px 24px 76px}.family-intro{max-width:900px;margin-bottom:30px}.family-intro .eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6a7a75}.family-intro h1{margin:.15em 0 .22em;font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5vw,64px);line-height:1;color:var(--green-dark)}.family-intro>p:last-child{font-size:19px;line-height:1.65;color:#52645f;max-width:820px}.family-toolbar{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 14px 38px rgba(23,54,48,.07);position:relative}.family-search{position:relative;display:flex;align-items:center}.family-search:before{content:'⌕';position:absolute;left:16px;top:50%;transform:translateY(-52%);font-size:27px;line-height:1;color:#6b7b76;pointer-events:none}.family-search input{width:100%;font:inherit;font-size:19px;padding:17px 18px 17px 51px;border:1px solid #c8d5d0;border-radius:15px;outline:none;background:#fbfdfc}.family-search input:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 4px rgba(37,116,97,.11)}.family-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.family-tab{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:88px;border:1px solid var(--line);background:#f7faf8;color:var(--green-dark);padding:15px 17px;border-radius:16px;cursor:pointer;transition:.15s ease}.family-tab:hover{transform:translateY(-1px);border-color:#b5c9c2;background:#f2f7f5}.family-tab strong{font-size:16px;line-height:1.25}.family-tab span{display:block;margin-top:6px;font-size:13px;font-weight:500;color:#6c7d77}.family-tab.active{background:var(--green-dark);border-color:var(--green-dark);color:#fff;box-shadow:0 8px 20px rgba(23,54,48,.16)}.family-tab.active span{color:#d8e5e1}.search-results{position:absolute;left:24px;right:24px;top:86px;z-index:30;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 48px rgba(0,0,0,.16);max-height:440px;overflow:auto;display:none}.search-results.open{display:block}.search-results-header{padding:10px 15px;background:#f5f8f7;border-bottom:1px solid #e5ece9;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#70817b}.result-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid #edf1ef;text-decoration:none!important;color:inherit!important}.result-row:last-child{border-bottom:0}.result-row:hover,.result-row:focus{background:#f2f7f5}.result-main strong{display:block;color:var(--green-dark);font-family:Georgia,"Times New Roman",serif;font-size:17px}.result-main span{display:block;margin-top:3px;font-size:13px;color:#6a7a75}.result-rank{font-size:12px;font-weight:800;color:#688078;background:#edf4f1;border-radius:999px;padding:5px 8px}.family-content{margin-top:30px}.section-kicker{display:block;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#71827c}.welcome-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.family-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 10px 30px rgba(23,54,48,.055)}.family-card h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,40px);line-height:1.15;color:var(--green-dark);margin:0 0 12px}.family-card h3{font-size:18px;letter-spacing:.01em;color:var(--green-dark);margin:0 0 12px}.family-card p{line-height:1.6}.family-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.family-btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none!important;border:1px solid var(--green);background:#fff;color:var(--green-dark)!important;padding:10px 14px;border-radius:999px;font-weight:750;cursor:pointer}.family-btn.primary{background:var(--green-dark);color:#fff!important;border-color:var(--green-dark)}.person-card{padding:0;overflow:hidden}.person-header{padding:30px 30px 24px;background:linear-gradient(135deg,#f7faf8 0%,#eef5f2 100%);border-bottom:1px solid var(--line)}.person-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.person-name{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,52px);line-height:1.05;margin:7px 0 0;color:var(--green-dark)}.person-meta{font-size:16px;color:#64756f;margin-top:8px}.person-body{padding:28px 30px}.person-facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:15px}.person-facts p{margin:0}.relations-title{font-size:13px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#70817b;margin:0 0 14px}.kin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.kin-section{border:1px solid #e2eae7;border-radius:16px;padding:18px;background:#fcfdfd}.kin-section+.kin-section{margin-top:16px}.kin-section h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:17px}.kin-list{display:grid;gap:8px}.kin-link{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;background:#f3f7f5;border-radius:11px;text-decoration:none!important;color:var(--green-dark)!important;font-weight:700}.kin-link:hover{background:#eaf2ee}.kin-link small{font-weight:500;color:#7a8884;white-space:nowrap}.surname-grid{columns:3 250px;column-gap:24px}.surname-item{break-inside:avoid;display:flex;justify-content:space-between;gap:10px;padding:9px 4px;border-bottom:1px solid #edf1ef;cursor:pointer;color:var(--green-dark);font-weight:700}.surname-item:hover{background:#f7faf8}.surname-item span{color:#7a8884;font-weight:500}.people-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.privacy-note{font-size:13px;color:#71817c;margin-top:18px}.branch-list{display:grid;gap:8px;margin-top:18px}.branch-row{padding:11px 13px;border-left:4px solid #c7d8d2;background:#f7faf8;border-radius:0 11px 11px 0}.branch-row a{text-decoration:none!important;color:var(--green-dark)!important;font-weight:700}.branch-children{margin-left:22px;margin-top:8px}.empty-state{text-align:center;padding:34px 16px;color:#71817c}.badge{display:inline-block;background:#eaf3ef;color:var(--green-dark);font-size:12px;font-weight:800;padding:6px 9px;border-radius:999px}.family-count{font-weight:800;color:var(--green-dark)}
@media(max-width:760px){.family-shell{padding:30px 16px 58px}.family-intro>p:last-child{font-size:17px}.family-toolbar{padding:16px}.family-search input{font-size:16px;padding:15px 15px 15px 47px}.family-tabs{grid-template-columns:1fr}.family-tab{min-height:0;padding:13px 15px}.search-results{left:16px;right:16px;top:76px}.result-row{grid-template-columns:1fr}.result-rank{display:none}.welcome-grid,.kin-grid{grid-template-columns:1fr}.family-card{padding:20px}.person-card{padding:0}.person-header{padding:24px 20px 20px}.person-body{padding:22px 20px}.person-head{display:block}.person-head .family-btn{margin-top:16px}.people-list{grid-template-columns:1fr}.surname-grid{columns:1}.branch-children{margin-left:12px}}

/* v3: stronger typographic hierarchy inside family records */
.person-card .person-body{background:#fff}
.relations-title{font-size:12px;letter-spacing:.16em;font-weight:850;color:#7b8a85;margin-bottom:18px}
.kin-section{padding:0;overflow:hidden;background:#fff;border:1px solid #dde7e3;box-shadow:0 5px 16px rgba(23,54,48,.035)}
.kin-section-title{padding:10px 15px;background:#eef4f1;border-bottom:1px solid #dce7e2;color:#4f665f;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.kin-section-title-secondary{margin-top:14px;border-top:1px solid #dce7e2}
.kin-section .kin-list{padding:12px;gap:9px}
.kin-link{padding:12px 14px;background:#fafcfb;border:1px solid #edf2f0;border-radius:10px;align-items:baseline}
.kin-link:hover{background:#f2f7f5;border-color:#d7e4df}
.kin-person-name{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.25;font-weight:700;color:var(--green-dark)}
.kin-person-years{font-family:inherit;font-size:12px;letter-spacing:.02em;font-weight:600;color:#82908c}
.union-meta{margin:12px 14px 4px!important;padding:10px 12px;border-left:3px solid #b9cec6;background:#f7faf8;font-size:14px;color:#596d66}
.union-meta span{display:block;margin-bottom:2px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#7a8a84}
.bio-panel{margin-top:20px;padding:0;border:1px solid #dbe6e1;border-radius:14px;background:#fff;overflow:hidden}
.bio-title{padding:10px 14px;background:#e8f1ed;color:#4f665f;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.bio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.bio-grid p{margin:0!important;padding:13px 15px;border-top:1px solid #edf2f0;font-size:14px;color:#5b6d67}
.bio-grid p:nth-child(odd){border-right:1px solid #edf2f0}
.bio-grid p strong{display:block;margin-bottom:3px;color:#7b8985;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
@media(max-width:760px){.kin-person-name{font-size:17px}.bio-grid{grid-template-columns:1fr}.bio-grid p:nth-child(odd){border-right:0}.kin-link{display:block}.kin-person-years{display:block;margin-top:3px}}
