@font-face{font-family:"Anton";font-weight:400;font-style:normal;font-display:swap;src:url(../assets/fonts/anton-regular.woff) format("woff")}
@font-face{font-family:"Jost";font-weight:100 900;font-style:normal;font-display:swap;src:url(../assets/fonts/jost.woff) format("woff")}

:root{
  --paper:#F4F1EC; --sand:#E9E4DC; --ink:#121212; --ink2:#3A3A3A; --muted:#5E5E5E;
  --orange:#FF5A1F; --orange-deep:#C2410C;
  --display:"Anton","Impact","Haettenschweiler","Arial Narrow Bold",sans-serif;
  --text:"Jost",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-weight:400;font-size:16px;line-height:1.6}
a{color:inherit}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
@media(min-width:760px){.wrap{padding:0 40px}}

.top{border-bottom:2px solid var(--ink)}
.top .wrap{display:flex;align-items:center;height:76px}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand .sig{display:grid;place-items:center;width:46px;height:46px;background:var(--orange)}
.brand .sig img{width:36px;height:auto;display:block}
.brand b{display:block;font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.brand small{display:block;font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:4px}

.hero{padding:44px 0 48px;border-bottom:2px solid var(--ink)}
.tag{display:inline-block;background:var(--ink);color:var(--paper);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:7px 12px;margin-bottom:22px}
.tag i{display:inline-block;width:8px;height:8px;background:var(--orange);margin-right:10px;vertical-align:1px}
.hero h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(34px,6vw,72px);line-height:1.14;margin:0 0 18px;max-width:22ch;overflow-wrap:break-word;hyphens:manual}
@media(max-width:600px){.hero h1{hyphens:auto}}
.hero .meta{color:var(--ink2);margin:0 0 26px;max-width:70ch}
.hero .meta strong{font-weight:600;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;font-weight:600;font-size:15px;padding:12px 20px;border:2px solid var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn.orange{background:var(--orange);color:var(--ink)}
.btn.line{background:transparent}
.btn:hover{transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--ink)}

.layout{display:grid;grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:64px}
.layout>*{min-width:0}
@media(min-width:960px){.layout{grid-template-columns:260px minmax(0,1fr);gap:56px}}
.toc{font-size:14px}
.toc-h{font-family:var(--display);text-transform:uppercase;font-size:22px;margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--ink)}
.toc li a{display:block;padding:4px 0 4px 14px;text-decoration:none;color:var(--ink2)}
.toc li a:hover{color:var(--ink);background:var(--sand)}
.toc li.l2 a{font-weight:600;color:var(--ink);margin-top:12px}
.toc li.l2:first-child a{margin-top:0}
@media(min-width:960px){.toc{position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow:auto}}
@media(max-width:959px){.toc{border:2px solid var(--ink);background:#fff;padding:18px 16px}.toc li.l3{display:none}}

.doc{max-width:74ch}
.doc h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(26px,3.4vw,36px);line-height:1.05;margin:56px 0 8px;padding-top:22px;border-top:2px solid var(--ink);scroll-margin-top:16px}
.doc > h2:first-child{margin-top:0;padding-top:0;border-top:0}
.doc h3{font-weight:600;font-size:18px;margin:34px 0 10px;scroll-margin-top:16px}
.doc p.abs .nr{font-weight:600;color:var(--orange-deep);margin-right:2px}
.doc strong{font-weight:600}
.doc ul{padding-left:20px;margin:0 0 16px}
.doc li{margin:4px 0}
.tbl{overflow-x:auto;margin:16px 0 20px}
.doc table{border-collapse:collapse;width:100%;font-size:15px;border:2px solid var(--ink)}
.doc th,.doc td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid rgba(18,18,18,.18)}
.doc thead th{font-weight:600;background:var(--orange);border-bottom:2px solid var(--ink)}
.doc td:first-child strong{white-space:nowrap}

.foot{background:var(--ink);color:var(--paper);font-size:14px;padding:26px 0}

@media print{
  @page{size:A4;margin:18mm 18mm 20mm}
  html,body{background:#fff}
  body{font-size:10pt;line-height:1.5}
  .top{border-bottom:0}.top .wrap{height:auto;padding:0 0 6mm}
  .hero{padding:0 0 8mm}
  .hero h1{font-size:26pt}
  .actions,.toc,.foot{display:none}
  .wrap{padding:0;max-width:none}
  .layout{display:block;padding:6mm 0 0}
  .doc{max-width:none}
  .doc h2{break-after:avoid;margin-top:10mm;font-size:17pt}
  .doc h3{break-after:avoid;font-size:11pt;margin-top:6mm}
  .doc p,.doc li{orphans:3;widows:3}
  .tbl,.doc tr{break-inside:avoid}
  .tag,.brand .sig,.doc thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a{text-decoration:none}
}
@media(max-width:520px){.brand small{display:none}.brand b{font-size:20px}}
.hero .meta.fruehere{font-size:14px;margin-top:-16px}
.hero .meta.fruehere a{color:var(--orange-deep);text-underline-offset:3px}
.archiv{background:var(--ink);color:var(--paper);padding:10px 14px;margin:0 0 22px;font-size:14px;font-weight:500}
.archiv a{color:#FF5A1F}
@media print{.hero .meta.fruehere{display:none}}
