.tza-lineage{--pine:#24483e;--ink:#263b34;--muted:#64746c;--line:#dce5dc;box-sizing:border-box;margin:32px 0;padding:clamp(18px,3vw,34px);background:#f2f5ee;border:1px solid var(--line);border-radius:24px;color:var(--ink);font-family:inherit;line-height:1.5}
.tza-lineage *{box-sizing:border-box}
.tza-lineage-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tza-lineage .tza-lineage-eyebrow{font-size:11px;letter-spacing:.17em;font-weight:700;color:var(--pine);margin:0 0 8px}
.tza-lineage h3{font-size:clamp(28px,4vw,40px);line-height:1.15;margin:0;letter-spacing:-.025em}
.tza-lineage-badge{font-size:12px;border:1px solid #c6d5c8;border-radius:40px;padding:7px 13px;white-space:nowrap}
.tza-lineage .tza-lineage-intro{font-size:14px;color:var(--muted);margin:15px 0 28px;max-width:65ch}
.tza-lineage-grid{display:grid;grid-template-columns:1.12fr repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.tza-generation{min-width:0;display:flex;flex-direction:column}
.tza-lineage .tza-generation h4{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:13px;font-weight:650;line-height:1.4}
.tza-generation h4 span{font-size:10px;color:var(--muted);font-weight:400}
.tza-lineage .tza-generation-cards{display:grid;grid-auto-rows:1fr;gap:10px;list-style:none;margin:0;padding:0;flex:1}
.tza-lineage .tza-ancestor{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;list-style:none;margin:0;padding:14px;background:#fff;border:1px solid var(--line);border-left:3px solid #8ca990;border-radius:12px;box-shadow:0 3px 9px #243b3210;overflow-wrap:anywhere}
.tza-ancestor-relation{font-size:10px;text-transform:uppercase;letter-spacing:.065em;color:var(--muted);font-weight:650}
.tza-ancestor-name{font-size:14px;line-height:1.35;font-weight:650}
.tza-lineage .tza-ancestor-name a{color:var(--pine);text-decoration:underline;text-decoration-color:#b0c5b6;text-underline-offset:3px}
.tza-lineage a:hover{color:#152d24;text-decoration-color:currentColor}
.tza-lineage a:focus-visible{outline:3px solid #b08244;outline-offset:4px;border-radius:2px}
.tza-ancestor-titles{font-size:11px;line-height:1.4;color:#6e572f}
.tza-ancestor-reg{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.tza-lineage .tza-ancestor-empty{background:transparent;box-shadow:none;border-style:dashed;border-left-width:1px;color:var(--muted)}
.tza-ancestor-placeholder{font-size:12px}
.tza-lineage .tza-ancestor-photo{width:100%;height:auto;max-height:260px;object-fit:contain;display:block;border-radius:8px;margin:8px 0 12px}
@media(max-width:1000px){.tza-lineage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.tza-lineage .tza-generation-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-content:start}.tza-generation:first-child .tza-generation-cards{grid-template-columns:1fr}.tza-generation:first-child .tza-ancestor{justify-content:flex-start}.tza-lineage .tza-ancestor-photo{max-height:200px}.tza-lineage .tza-ancestor{min-height:110px}}
@media(max-width:600px){.tza-lineage{border-radius:18px;padding:18px 14px}.tza-lineage-grid{grid-template-columns:1fr;gap:24px}.tza-lineage .tza-generation h4{border-bottom:1px solid var(--line);padding-bottom:10px}.tza-lineage .tza-ancestor{padding:12px}.tza-ancestor-name{font-size:14px}.tza-lineage .tza-ancestor-photo{max-height:280px}.tza-lineage .tza-lineage-intro{margin-bottom:22px}}
@media(max-width:350px){.tza-lineage .tza-generation-cards{grid-template-columns:1fr}}
@media(min-width:1001px){.tza-lineage .tza-ancestor{align-self:center;width:100%;min-height:100px}}
/* Agreed model A: generations below each other, never side-by-side columns. */
.tza-lineage-grid{grid-template-columns:minmax(0,1fr);gap:28px}
.tza-lineage .tza-generation-cards{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;align-items:start}
.tza-lineage .tza-generation-0 .tza-generation-cards{grid-template-columns:minmax(0,440px);justify-content:center}
.tza-lineage .tza-generation-1 .tza-generation-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.tza-lineage .tza-generation h4{border-bottom:1px solid var(--line);padding-bottom:10px}
.tza-lineage .tza-ancestor{align-self:stretch;justify-content:flex-start}
.tza-lineage .tza-ancestor[data-path^="m"]{border-left-color:#b6a383}
.tza-lineage .tza-ancestor-photo{max-height:190px;margin:4px 0 8px}
.tza-lineage .tza-generation-0 .tza-ancestor-photo{max-height:280px}
@media(max-width:1000px){.tza-lineage .tza-generation-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.tza-lineage .tza-generation-cards,.tza-lineage .tza-generation-1 .tza-generation-cards{grid-template-columns:minmax(0,1fr)}}
@media print{.tza-lineage{background:white;padding:12px;border:0}.tza-lineage .tza-ancestor{break-inside:avoid;box-shadow:none}.tza-ancestor-photo{display:none!important}}
