:root{--papier:#f5f2e9;--weiss:#fffdf8;--tinte:#263d34;--leise:#606b63;--linie:#d9ddd2;--salbei:#e7ecdf;--gruen:#009b3a;--gruen-dunkel:#006f2a;--gruen-hover:#005c22;--akzent:var(--gruen-dunkel);--warn-hintergrund:#f4ead5;--warn-text:#6b5127;--schrift-text:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--schrift-titel:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--abstand:clamp(1.25rem, 4vw, 4rem);--breite:1180px}*{box-sizing:border-box}html{background:var(--papier);color:var(--tinte);font-family:var(--schrift-text)}body{min-width:280px;margin:0;line-height:1.6}[hidden]{display:none!important}a{color:inherit;text-decoration:none}a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--akzent);outline-offset:5px}button,input{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--schrift-titel);letter-spacing:-.045em;font-weight:400;line-height:1.08}h1{overflow-wrap:anywhere;font-size:clamp(2.7rem,5vw,4.7rem)}h1 em{font-weight:400}h2{font-size:clamp(1.7rem,3vw,2.3rem)}.container{width:min(calc(100% - var(--abstand) * 2), var(--breite));margin-inline:auto}.sr-only,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link:focus{background:var(--weiss);z-index:10;padding:.5rem 1rem;position:fixed;top:1rem;left:1rem}.vorschau-hinweis{background:var(--salbei);text-align:center;color:var(--leise);padding:.45rem 1rem;font-size:.74rem}.site-header{border-bottom:1px solid var(--linie);justify-content:space-between;align-items:center;gap:1.5rem;min-height:116px;display:flex}.brand{white-space:nowrap;align-items:center;gap:.85rem;font-size:1rem;font-weight:600;display:flex}.brand-monogram{background:var(--gruen);width:46px;height:46px;color:var(--weiss);font:2.15rem/1 var(--schrift-titel);border-radius:50%;place-items:center;display:grid}.brand small{letter-spacing:.065em;color:var(--leise);font-size:.7rem;font-weight:400;display:block}nav{align-items:center;gap:2rem;font-size:.86rem;display:flex}nav a{border-bottom:1px solid #0000;padding-block:.6rem}nav a:hover,nav a[aria-current=page]{border-color:var(--tinte)}.nav-entry span{margin-left:1.1rem}.site-footer{border-top:1px solid var(--linie);color:var(--leise);justify-content:space-between;gap:1rem;padding-block:1.5rem;font-size:.75rem;display:flex}.site-footer a:hover{color:var(--tinte)}.eyebrow{color:var(--leise);text-transform:uppercase;letter-spacing:.18em;align-items:center;gap:.9rem;margin-bottom:1.5rem;font-size:.66rem;font-weight:600;display:flex}.small-line{border-top:1px solid;width:35px}.landing{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(1rem,2vw,1.75rem);min-height:min(760px,78vh);padding-block:5rem;display:grid}.landing h1{letter-spacing:-.07em;font-size:clamp(5.5rem,10vw,9.6rem);line-height:.88}.landing h1 em{color:var(--akzent)}.landing-lead{margin-top:2.2rem;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.55}.button{background:var(--gruen-dunkel);color:var(--weiss);border-radius:3px;justify-content:space-between;align-items:center;gap:2.5rem;margin-top:2rem;padding:1rem 1.45rem;font-size:.85rem;transition:background .2s;display:inline-flex}.button:hover{background:var(--gruen-hover)}.button span{font-size:1.2rem}.quiet-note{color:var(--leise);margin-top:1rem;font-size:.72rem}.family-photo{aspect-ratio:5/4;border-radius:6px;min-width:0;margin:0;position:relative;overflow:hidden}.family-photo img{object-fit:cover;object-position:20% 50%;transform-origin:50% 100%;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.28)}.family-page{min-height:calc(100vh - 180px);padding-block:3.7rem 5rem}.page-heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.8rem;display:flex}.page-heading .eyebrow{margin-bottom:1rem}.page-lead{color:var(--leise);margin-top:1rem}.tree-count{text-align:right;flex-shrink:0}.tree-count strong{font:3.4rem/1 var(--schrift-titel);display:block}.tree-count span{color:var(--leise);font-size:.72rem}.placeholder-note{background:var(--warn-hintergrund);color:var(--warn-text);border-left:2px solid #bba063;align-items:flex-start;gap:1.2rem;margin-bottom:1.5rem;padding:.9rem 1.2rem;font-size:.74rem;display:flex}.placeholder-note strong{flex-shrink:0;font-weight:600}.tree-panel{background:var(--weiss);border:1px solid var(--linie);border-radius:5px;margin-bottom:1.4rem;overflow:hidden}.tree-scroll-hint{display:none}.tree-scroll{overscroll-behavior-inline:contain;overflow-x:auto}.tree-canvas{padding:3.2rem 2rem;position:relative}.tree-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tree-lines path{fill:none;stroke:#9fae9c;stroke-width:1.5px}.tree-lines .partner-line{stroke:#b3907d;stroke-dasharray:4 4}.generation{justify-content:center;gap:2rem;display:flex;position:relative}.generation+.generation{margin-top:5rem}.person-node{background:var(--weiss);border:1px solid var(--linie);border-radius:4px;flex-direction:column;flex-shrink:0;align-items:center;width:196px;padding:1.3rem .8rem;transition:border-color .2s,box-shadow .2s;display:flex}.person-node:hover{border-color:var(--tinte);box-shadow:0 4px 18px #263d340a}.avatar{background:var(--salbei);width:3.4rem;height:3.4rem;font:1.25rem/1 var(--schrift-titel);border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-gross{width:clamp(6.5rem,14vw,9rem);height:clamp(6.5rem,14vw,9rem);font-size:3rem}.node-name{text-align:center;overflow-wrap:anywhere;margin-top:.7rem;font-size:.86rem;font-weight:600}.node-detail{color:var(--leise);margin-top:.15rem;font-size:.66rem}.tree-legend{border-top:1px solid var(--linie);color:var(--leise);flex-wrap:wrap;gap:.7rem 1.5rem;padding:1rem 1.5rem;font-size:.67rem;display:flex}.tree-legend>span{align-items:center;gap:.5rem;display:inline-flex}.legend-line{border-top:1px solid #9fae9c;width:18px}.legend-partner{border-color:#b3907d;border-top-style:dashed}.legend-help{margin-left:auto}.text-link,.back-link{font-size:.8rem}.text-link{border-bottom:1px solid var(--linie);gap:1.5rem;padding-bottom:.25rem;display:inline-flex}.text-link:hover,.back-link:hover{color:var(--akzent)}.search-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;display:flex}.search-field{border:1px solid var(--linie);background:var(--weiss);border-radius:3px;align-items:center;gap:.8rem;width:min(100%,380px);padding-inline:1rem;display:flex}.search-field>span:not(.sr-only){font-size:1.7rem;line-height:1}.search-field input{color:var(--tinte);background:0 0;border:0;width:100%;min-width:0;padding-block:.8rem;font-size:.85rem}.result-count{color:var(--leise);white-space:nowrap;font-size:.75rem}.person-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.person-grid li{min-width:0}.person-card{background:var(--weiss);border:1px solid var(--linie);border-radius:4px;align-items:center;gap:1.2rem;height:100%;padding:1.5rem;display:flex;position:relative}.person-card:hover{border-color:var(--tinte)}.person-card h2{font-family:var(--schrift-text);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1rem;font-weight:500;line-height:1.4}.person-card p{color:var(--leise);margin-top:.3rem;font-size:.7rem}.card-arrow{color:var(--leise);margin-left:auto}.empty-state{text-align:center;color:var(--leise);padding:3rem 1rem;font-size:.9rem}.back-link{color:var(--leise)}.profile-heading{align-items:center;gap:2rem;margin-block:2.8rem 3.5rem;display:flex}.profile-heading .eyebrow{margin-bottom:1rem}.profile-heading h1{font-size:clamp(2.6rem,5vw,4.4rem)}.profile-placeholder{color:var(--akzent);margin-top:1rem;font-size:.78rem}.profile-grid{border-top:1px solid var(--linie);grid-template-columns:1fr 300px;gap:5rem;padding-top:2.3rem;display:grid}.profile-story h2{margin-bottom:1.5rem}.prose{color:#4c5b51;max-width:65ch;font-size:.94rem}.prose p+p{margin-top:1rem}.prose h2,.prose h3{margin-top:2rem;margin-bottom:.8rem}.prose a{text-decoration:underline}.profile-details{background:var(--salbei);border-radius:4px;align-self:start;padding:1.5rem}.profile-details h2{font-family:var(--schrift-text);letter-spacing:0;font-size:.75rem;font-weight:600}.profile-details dl{margin:0}.profile-details dl>div{margin-top:1.1rem}.profile-details dt{color:var(--leise);margin-bottom:.15rem;font-size:.65rem}.profile-details dd{margin:0;font-size:.86rem}.muted{color:var(--leise);margin-top:1rem;font-size:.8rem}.relations{border-top:1px solid var(--linie);margin-top:4rem;padding-top:2.5rem}.relations .eyebrow{margin-bottom:.8rem}.relations-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem;display:grid}.relations h3{text-transform:uppercase;letter-spacing:.1em;color:var(--leise);font-size:.69rem;font-weight:500}.relations ul{margin:.7rem 0 0;padding:0;list-style:none}.relations li a{border-bottom:1px solid var(--linie);justify-content:space-between;gap:1rem;padding-block:.8rem;font-size:.88rem;display:flex}.relations li a:hover{color:var(--akzent)}.error-page{min-height:65vh;padding-block:5rem 7rem}.error-page>p:not(.eyebrow){color:var(--leise);margin-top:1.5rem}@media (width>=1600px){.landing{min-height:800px}}@media (width<=760px){.site-header{gap:.8rem;min-height:98px}nav{gap:1rem;font-size:.76rem}.brand{gap:.65rem;font-size:.86rem}.brand-monogram{width:38px;height:38px;font-size:1.9rem}.landing{grid-template-columns:1fr;gap:3.5rem;padding-block:3.5rem}.landing h1{font-size:clamp(5.5rem,20vw,8rem)}.family-photo{width:100%}.family-page{padding-block:2.5rem 3.5rem}.tree-count strong{font-size:2.5rem}.tree-count span{max-width:6.5rem;font-size:.65rem;display:block}.page-heading{gap:.8rem;margin-bottom:2rem}.placeholder-note{flex-direction:column;gap:.35rem}.tree-scroll-hint{border-bottom:1px solid var(--linie);color:var(--leise);text-align:center;padding:.8rem 1rem;font-size:.72rem;display:block}.legend-help{flex-basis:100%;margin-left:0}.person-grid{grid-template-columns:1fr}.person-card{padding:1.2rem}.profile-heading{flex-direction:column;align-items:flex-start;gap:1.5rem;margin-block:2rem 2.5rem}.profile-grid{grid-template-columns:1fr;gap:2rem}.relations-grid{grid-template-columns:1fr 1fr}.site-footer{font-size:.67rem}}@media (width<=360px){.brand small{font-size:.62rem}nav{gap:.75rem}.brand{font-size:.78rem}.nav-entry span{margin-left:.3rem}.relations-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
