/* Familie Bangert · portable, self-contained layout */
:root{--wine:#54232b;--wine-dark:#37171d;--gold:#b49a58;--gold-light:#e1cda2;--paper:#fbf5e7;--paper-deep:#eee0c2;--ink:#2c241f;--muted:#6b5a47;--line:#cbb78d;--focus:#21588a;--shadow:0 22px 70px #27161224}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background-color:#dfd1b2;background-image:radial-gradient(ellipse at 50% 0,#f8efda 0,transparent 70%),repeating-linear-gradient(93deg,transparent 0,transparent 8px,#8b71340b 9px,transparent 11px);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.8}a{color:var(--wine);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:#7f303c}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:5px}p{margin:0 0 1.35em}h1,h2,h3{font-weight:400;line-height:1.24;color:var(--wine);text-wrap:balance}h1{margin:.3em 0 .75em;font-size:clamp(31px,4vw,46px);letter-spacing:-.02em}h2{margin:1.6em 0 .8em;font-size:clamp(26px,3vw,32px)}h3{font-size:24px}img{max-width:100%;height:auto}.page-frame{width:min(1190px,calc(100% - 56px));margin:35px auto;background:var(--paper);box-shadow:var(--shadow);border:1px solid #baa373;position:relative}.page-frame:before{content:'';position:absolute;inset:7px;pointer-events:none;border:1px solid #b49a5840}.skip-link{position:absolute;top:8px;left:10px;transform:translateY(-160%);z-index:20;padding:8px 15px;background:white}.skip-link:focus{transform:none}.site-header{display:grid;grid-template-columns:160px 1fr 160px;align-items:center;gap:20px;padding:25px 45px 26px;min-height:255px;background:linear-gradient(125deg,#64313a,var(--wine) 44%,#472027);position:relative;border-bottom:1px solid var(--gold)}.site-header:after{content:'';position:absolute;inset:10px;border:1px solid #e1cda23e;pointer-events:none}.brand{text-decoration:none;text-align:center;color:#f5e8c9;display:block;line-height:1.3;position:relative;z-index:1}.brand:hover{color:#fff4db}.brand-kicker{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.2em;color:var(--gold-light);margin-bottom:12px}.brand-name{display:block;font-size:clamp(52px,7vw,80px);letter-spacing:.035em;text-shadow:0 3px 0 #26131720}.brand-motto{display:block;font-style:italic;font-size:17px;margin-top:13px;color:#eddfc4}.header-wappen{display:block;position:relative;z-index:1;justify-self:center;text-align:center;line-height:0}.header-wappen img{width:125px;height:179px;object-fit:contain;filter:drop-shadow(0 4px 7px #210e184d)}.site-nav{background:#f0e5cb;border-bottom:1px solid var(--line);position:relative;margin:0 8px}.nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:3px;padding:9px 16px}.nav-links a{display:inline-block;color:var(--wine);padding:8px 15px;line-height:1.5;font-size:17px;text-decoration:none;border:1px solid transparent;border-radius:2px}.nav-links a:hover{background:#e8d8b4}.nav-links a[aria-current=page]{background:var(--wine);border-color:var(--wine);color:#fff3d6;box-shadow:inset 0 0 0 1px #e0c48a38}.menu-toggle{display:none}main{padding:46px 65px 25px;outline:none}.page-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;color:#88703f;margin-bottom:14px}.article{max-width:900px;margin:auto}.article p{max-width:76ch}.article-index h1{text-align:center;max-width:20ch;margin:.25em auto .5em}.ornament{text-align:center;position:relative;color:var(--gold);font-size:25px;margin:0 auto 24px;max-width:310px;line-height:1}.ornament:before,.ornament:after{content:'';width:115px;height:1px;position:absolute;top:13px;background:linear-gradient(90deg,transparent,var(--gold))}.ornament:before{left:0}.ornament:after{right:0;transform:rotate(180deg)}.source-intro{margin:0 0 24px;padding:18px 26px;background:#f2e8d2;border-left:3px solid var(--gold);font-size:17px}.source-intro p{margin:0}.lead-copy{font-size:21px;line-height:1.7}.lead-copy p:last-child{margin-bottom:1.5rem}.chapter-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px 0 44px}.chapter-card{display:flex;flex-direction:column;position:relative;min-height:290px;padding:25px 23px 20px;border:1px solid var(--line);background:linear-gradient(140deg,#fffaf0,#f2e6cd);text-decoration:none;box-shadow:0 4px 0 #c0a46a15;transition:transform .15s ease,box-shadow .15s ease}.chapter-card:hover{transform:translateY(-3px);box-shadow:0 9px 15px #412a1214;color:var(--wine)}.chapter-card p{font-size:17px;line-height:1.65;margin:14px 0 22px;color:#483627}.chapter-number{color:#9a7b3c;font-size:28px;line-height:1}.card-link{margin-top:auto;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;color:var(--wine);letter-spacing:.04em}.card-link span{font-size:19px;margin-left:7px}.statistics{border-top:1px solid var(--line);padding-top:6px}.statistics h2{margin-top:.8em}.stats-reading{padding:23px 28px 5px;background:#f4ebd9;border:1px solid #d4c3a1;border-radius:2px}.stats-reading p{font-size:17px}.context-note{font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;color:var(--muted);line-height:1.6;margin:0 0 23px}.source-note{display:flex;gap:17px;padding:17px 22px;margin-bottom:30px;background:#f3ead7;border:1px solid #dfcda7;align-items:center}.source-note p{font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#655641;line-height:1.65;margin:0}.source-seal{color:#ad9050;font-size:27px;flex-shrink:0}.source-note strong{font-weight:700}.article-contents{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;background:#f3e8d0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 24px;margin:26px 0 33px;font-size:16px;line-height:1.5}.article-contents span{grid-column:1/-1;font-size:11px;font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#806b48;margin-bottom:6px}.reading-section{padding-top:1px}.reading-section+ .reading-section{border-top:1px solid #d6c7a833;margin-top:28px}.reading-section h2{margin-top:1.1em}.article-name p,.article-herkunft p,.article-ausbreitung p{hyphens:auto}.wappen-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:10px 0 15px}.wappen-figure{margin:0;text-align:center;padding:26px 20px 22px;border:1px solid var(--line);background:radial-gradient(ellipse at center,#fffdf3,#f0e4c9);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.wappen-figure img{max-height:385px;width:auto;display:block;margin:auto;object-fit:contain}.image-link{display:block;line-height:0;max-width:100%;margin:auto}.wappen-figure figcaption{font-size:14px;color:var(--muted);line-height:1.6;padding-top:20px;max-width:32ch}.image-pending{min-height:300px;display:flex;align-items:center;justify-content:center;font-size:18px;font-style:italic}.rune-layout{display:grid;grid-template-columns:310px 1fr;gap:32px;align-items:start;margin:26px 0}.rune-layout .wappen-figure{padding:20px 16px}.rune-layout .wappen-figure img{max-height:360px}.rune-definitions{margin:0 0 25px;display:block}.rune-definitions dt{font-weight:700;color:var(--wine);font-size:19px;line-height:1.5}.rune-definitions dd{margin:4px 0 19px;font-size:17px;line-height:1.7}.rune-text p{font-size:17px;line-height:1.7}.family-opening{padding:15px 0 6px}.gathering-card{position:relative;border:1px solid var(--line);background:#f4ebd7;padding:30px 33px 7px;margin:24px 0 35px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font:700 11px Arial,Helvetica,sans-serif;color:#8b7144}.gathering-card h2{font-size:29px;margin:.65em 0 .9em}.family-invitation{margin:0;padding:25px 30px;font-size:23px;font-style:italic;color:var(--wine);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.family-invitation p{margin:0}.contact-card{border:1px solid var(--line);border-left:4px solid var(--gold);background:#f1e7d0;font-style:normal;padding:23px 30px;margin-bottom:35px}.contact-card p{margin:0;max-width:38ch}.article-impressum p{font-size:17px}.page-end{display:flex;align-items:center;justify-content:center;gap:20px;margin:38px 0 15px;color:#ab8c4e}.page-end a{font-family:Arial,Helvetica,sans-serif;font-size:12px;text-decoration:none;color:#75583b}.site-footer{border-top:1px solid var(--line);margin:0 25px;padding:28px 30px 32px;text-align:center;color:#73634c;line-height:1.6}.site-footer p{font-family:Arial,Helvetica,sans-serif;font-size:12px;margin:9px 0 12px}.site-footer a{color:#63323b}.footer-mark{font-size:19px;color:#b19458;line-height:1}.source-date{font-size:11px!important;color:#8c7a60}.image-dialog{width:min(94vw,1050px);max-height:94vh;padding:20px;border:1px solid var(--gold);background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.image-dialog::backdrop{background:#1b1019d9}.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.dialog-caption{font-size:16px;line-height:1.4;margin:0}.dialog-close{flex-shrink:0;border:1px solid var(--line);background:var(--wine);color:#fff0d2;padding:5px 13px;cursor:pointer;font-size:14px}.image-dialog>img{display:block;width:auto;height:auto;max-height:77vh;max-width:100%;margin:auto;object-fit:contain}
@media(min-width:1100px){.article-name,.article-herkunft,.article-ausbreitung,.article-impressum{max-width:800px}.article-name h1,.article-herkunft h1,.article-ausbreitung h1{max-width:22ch}}
@media(max-width:900px){.page-frame{width:calc(100% - 28px);margin:15px auto}.site-header{grid-template-columns:110px 1fr 110px;padding:27px 25px;gap:12px;min-height:230px}.header-wappen img{width:98px;height:145px}.brand-name{font-size:61px}.brand-kicker{font-size:10px}.brand-motto{font-size:14px}main{padding:34px 36px 20px}.nav-links{gap:2px;padding:9px 10px}.nav-links a{padding:7px 10px;font-size:16px}.chapter-card{padding:23px 17px;min-height:320px}.rune-layout{grid-template-columns:260px 1fr;gap:24px}}
@media(max-width:650px){body{font-size:17px;line-height:1.75}.page-frame{width:calc(100% - 18px);margin:9px auto}.site-header{grid-template-columns:67px 1fr 67px;padding:25px 18px;gap:9px;min-height:188px}.header-wappen img{width:62px;height:100px}.brand-name{font-size:43px}.brand-kicker{font-size:8px;letter-spacing:.11em;margin-bottom:9px}.brand-motto{font-size:11px;margin-top:10px;max-width:18ch;margin-left:auto;margin-right:auto}.site-header:after{inset:7px}.site-nav{margin:0 8px}.menu-toggle{display:none;width:100%;align-items:center;justify-content:space-between;padding:10px 15px;border:0;background:#ede0c2;color:var(--wine);font-size:16px;line-height:1.5;cursor:pointer}.js .menu-toggle{display:flex}.menu-icon{font:22px Arial,sans-serif}.nav-links{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:7px}.nav-links a{text-align:center;font-size:15px;line-height:1.5;padding:9px 7px}.js .nav-links[hidden]{display:none}main{padding:27px 23px 18px}.page-eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:12px}h1{font-size:31px;line-height:1.22}h2{font-size:26px}.lead-copy{font-size:19px}.source-intro{padding:17px 19px;font-size:16px}.chapter-cards{grid-template-columns:1fr;gap:13px;margin:28px 0 34px}.chapter-card{min-height:unset;padding:20px 22px}.chapter-card p{margin:12px 0 15px}.chapter-number{font-size:25px}.stats-reading{padding:20px 21px 3px}.source-note{padding:14px 16px;gap:12px;margin-bottom:25px;align-items:flex-start}.source-note p{font-size:12px}.source-seal{font-size:20px;line-height:1.5}.article-contents{grid-template-columns:1fr;padding:17px 18px;gap:10px;font-size:15px}.reading-section+ .reading-section{margin-top:20px}.wappen-gallery{grid-template-columns:1fr;gap:22px;padding-top:4px}.wappen-figure{padding:22px 20px}.wappen-figure img{max-height:340px}.rune-layout{grid-template-columns:1fr;gap:27px}.rune-layout .wappen-figure{max-width:330px;width:100%;justify-self:center}.rune-text p{font-size:17px}.gathering-card{padding:24px 22px 5px}.gathering-card h2{font-size:25px}.family-invitation{padding:22px 10px;font-size:20px}.contact-card{padding:20px 22px}.site-footer{margin:0 18px;padding:25px 10px}.site-footer p{font-size:11px;overflow-wrap:anywhere}.dialog-toolbar{align-items:flex-start;gap:10px}.image-dialog{padding:13px}.dialog-caption{font-size:13px}.dialog-close{font-size:12px;padding:6px 9px}.image-dialog>img{max-height:73vh}}
@media(max-width:365px){.site-header{grid-template-columns:55px 1fr 55px;padding:24px 12px;gap:6px}.header-wappen img{width:52px;height:85px}.brand-name{font-size:36px}.brand-kicker{font-size:7px}.brand-motto{font-size:10px}main{padding-left:19px;padding-right:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter-card{transition:none}.chapter-card:hover{transform:none}}
@media print{@page{size:A4;margin:19mm 17mm}html,body{background:white;color:black;font-size:11pt;line-height:1.55}.page-frame{border:0;box-shadow:none;width:100%;margin:0}.page-frame:before,.site-nav,.skip-link,.page-end,.image-dialog{display:none!important}.site-header{background:white!important;color:black;min-height:120px;grid-template-columns:65px 1fr 65px;padding:0 0 20px;border-bottom:1pt solid #777}.site-header:after{display:none}.brand,.brand:hover,.brand-kicker,.brand-motto{color:black!important}.brand-name{font-size:39pt}.brand-kicker{font-size:8pt}.brand-motto{font-size:10pt}.header-wappen img{width:58px;height:83px;filter:none}main{padding:22px 0 0}.page-eyebrow{font-size:8pt;color:#555}h1{font-size:23pt;color:black}h2{font-size:17pt;color:black;break-after:avoid}p{orphans:3;widows:3}.source-note,.source-intro,.contact-card,.gathering-card,.stats-reading,.article-contents,.wappen-figure{background:white;border-color:#aaa}.source-note p,.context-note{font-size:9pt!important;color:#444}.source-seal{color:#777}.chapter-cards{gap:12px;margin:22px 0}.chapter-card{padding:15px;min-height:0;box-shadow:none;background:white;border-color:#aaa;break-inside:avoid}.chapter-card p{font-size:10pt}.chapter-number{font-size:17pt}.card-link{font-size:8pt}.statistics,.wappen-figure,.gathering-card{break-inside:avoid}.stats-reading p,.article-impressum p,.rune-text p,.rune-definitions dd{font-size:11pt}.article,.article p{max-width:none}.wappen-figure img{max-height:240px}.rune-layout{grid-template-columns:220px 1fr;gap:20px}.rune-layout .wappen-figure img{max-height:250px}.site-footer{margin:30px 0 0;padding:15px 0 0;border-top:1pt solid #aaa}.site-footer p{font-size:8pt}.site-footer a,a{color:black}.family-invitation{font-size:15pt;border-color:#aaa}.reading-section+ .reading-section{border:0}.article-contents{font-size:10pt;break-inside:avoid}}
.chapter-label{display:block;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#8b7144;margin-bottom:12px;font-weight:700;line-height:1.5}@media print{.chapter-label{font-size:8pt;color:#444}}
.original-image-link{display:block;font-family:Arial,Helvetica,sans-serif;font-size:11px;margin-top:12px;text-underline-offset:3px}

/* Wappen-Info uses the same reading-page rhythm as the family chronicle. */
.article-wappen_info{max-width:800px}
.article-wappen_info .wappen-entries{margin:1.4rem 0 2rem}
.article-wappen_info .wappen-entry{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-areas:"image copy";align-items:center;gap:34px;padding:28px 0}
.article-wappen_info .wappen-entry+.wappen-entry{border-top:1px solid var(--line)}
.article-wappen_info .wappen-entry-copy{grid-area:copy;min-width:0}
.article-wappen_info .wappen-entry-copy h2{margin:0 0 .7em;font-size:clamp(25px,2.7vw,30px)}
.article-wappen_info .wappen-entry-copy p{margin:0;font-size:18px;line-height:1.8}
.article-wappen_info .wappen-entry>.wappen-figure{grid-area:image}
.article-wappen_info .wappen-figure{padding:0;border:0;background:none;width:100%;box-shadow:none}
.article-wappen_info .wappen-entry .wappen-figure img{height:265px;max-height:265px;max-width:220px;width:auto;object-fit:contain}
.article-wappen_info .wappen-figure figcaption{font-size:12px;line-height:1.55;padding-top:15px}
.article-wappen_info .original-image-link{font-size:11px;margin-top:9px}
.article-wappen_info .image-link{cursor:zoom-in}
.article-wappen_info .image-zoom-label{display:block;font:11px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);margin-top:7px}
.article-wappen_info .rune-section{border-top:1px solid var(--line);padding-top:5px;margin-top:25px}
.article-wappen_info .rune-section>h2{margin-top:1em}
.article-wappen_info .rune-layout{grid-template-columns:220px minmax(0,1fr);gap:34px;margin:25px 0 30px}
.article-wappen_info .rune-layout .wappen-figure{padding:0}
.article-wappen_info .rune-layout .wappen-figure img{width:195px;max-width:100%;max-height:280px;mix-blend-mode:multiply}
.article-wappen_info .rune-definitions{margin:0}
.article-wappen_info .rune-definitions dt{font-size:18px}
.article-wappen_info .rune-definitions dd{font-size:17px;line-height:1.65;margin-bottom:20px}
.article-wappen_info .rune-definitions dd:last-child{margin-bottom:0}
.article-wappen_info .image-context{border-top:1px solid #d6c7a866;padding-top:16px;margin-top:25px}
@media(max-width:900px){.article-wappen_info .wappen-entry,.article-wappen_info .rune-layout{grid-template-columns:190px minmax(0,1fr);gap:25px}.article-wappen_info .wappen-entry .wappen-figure img{max-width:190px;height:235px;max-height:235px}.article-wappen_info .wappen-entry-copy p{font-size:17px}}
@media(max-width:650px){.article-wappen_info .wappen-entry{grid-template-columns:1fr;grid-template-areas:"copy" "image";gap:20px;padding:24px 0}.article-wappen_info .wappen-entry-copy h2{font-size:25px}.article-wappen_info .wappen-entry>.wappen-figure{width:min(100%,235px);justify-self:center}.article-wappen_info .wappen-entry .wappen-figure img{height:220px;max-height:220px;max-width:220px}.article-wappen_info .rune-layout{grid-template-columns:1fr;gap:25px}.article-wappen_info .rune-layout .wappen-figure{width:200px;justify-self:center}.article-wappen_info .rune-layout .wappen-figure img{width:170px;max-height:240px}}
@media print{.article-wappen_info .wappen-entry{grid-template-columns:160px 1fr;grid-template-areas:"image copy";gap:24px;break-inside:avoid;padding:18px 0}.article-wappen_info .wappen-entry .wappen-figure img{height:190px;max-height:190px;max-width:150px}.article-wappen_info .wappen-entry-copy h2{font-size:17pt}.article-wappen_info .wappen-entry-copy p{font-size:11pt}.article-wappen_info .rune-layout{grid-template-columns:160px 1fr;gap:24px}.article-wappen_info .rune-layout .wappen-figure img{width:145px;max-height:220px}.article-wappen_info .rune-definitions dt{font-size:11pt}.article-wappen_info .rune-definitions dd{font-size:10.5pt;margin-bottom:12px}}
