:root{--paper:#F4F6F1;--paper-2:#E9EDE4;--ink:#16231B;--ink-soft:#3F4F45;--line:#C9D1C8;--orange:#FF5A1F;--orange-ink:#1B0E07;--moss:#2F6B45;--moss-ink:#F2F7F0;--max:1080px;--measure:720px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65;font-optical-sizing:auto}
a{color:inherit;text-decoration-color:var(--moss);text-decoration-thickness:1.5px;text-underline-offset:3px}a:hover{text-decoration-color:var(--orange)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.sans,h1,h2,h3,nav,.tab,.spine,.section-title,.meta,.btn,.site-head,.foot,summary,.tldr b,.partner b,.steps li::before{font-family:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.site-head{border-bottom:3px solid var(--ink)}
.site-head .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px 20px 14px;flex-wrap:wrap}
.brand{text-decoration:none;line-height:1}
.brand strong{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;font-variation-settings:"wdth" 88,"opsz" 48}
.brand span{display:block;font-size:14px;color:var(--ink-soft);margin-top:4px;font-weight:500}
nav.main{display:flex;gap:4px 18px;flex-wrap:wrap;font-size:16px;font-weight:600}
nav.main a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current]{border-bottom-color:var(--orange)}
main{padding:36px 0 20px}
h1{font-size:clamp(34px,5.2vw,58px);line-height:1.04;font-weight:800;letter-spacing:-.025em;font-variation-settings:"wdth" 90,"opsz" 96;margin:10px 0 18px;text-wrap:balance}
h2{font-size:27px;line-height:1.2;font-weight:700;letter-spacing:-.015em;font-variation-settings:"wdth" 95;margin:46px 0 12px}
h3{font-size:20px;font-weight:700;margin:26px 0 8px}
p{margin:0 0 1.1em}
.lead{font-size:21px;line-height:1.5;color:var(--ink-soft);max-width:var(--measure)}
.meta{font-size:14px;color:var(--ink-soft);display:flex;gap:8px 18px;flex-wrap:wrap;margin:0 0 28px}
/* Register-Reiter */
.tab{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.01em;padding:5px 12px 6px;border-radius:3px 3px 0 0;text-decoration:none}
.tab.orange{background:var(--orange);color:var(--orange-ink)}.tab.green{background:var(--moss);color:var(--moss-ink)}
.tab:hover{filter:brightness(1.06)}
/* Startseite */
.hero{max-width:900px;padding-bottom:36px;border-bottom:3px solid var(--ink)}
.hero h1{margin-top:0}
.hero a.title{text-decoration:none}.hero a.title:hover{text-decoration:underline;text-decoration-color:var(--orange)}
.list{list-style:none;margin:0;padding:0}
.item{display:grid;grid-template-columns:40px 1fr;gap:0 26px;padding:28px 0;border-bottom:2px solid var(--line)}
.item .spine{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;font-weight:700;padding:12px 0;text-align:center;border-radius:0 3px 3px 0;align-self:stretch}
.item .spine.orange{background:var(--orange);color:var(--orange-ink)}.item .spine.green{background:var(--moss);color:var(--moss-ink)}
.item h2{margin:0 0 8px;font-size:26px}
.item h2 a{text-decoration:none}.item h2 a:hover{text-decoration:underline;text-decoration-color:var(--orange)}
.item p{color:var(--ink-soft);margin:0 0 8px;max-width:var(--measure)}
.item .meta{margin:0}
.section-title{margin:40px 0 4px;font-size:16px;font-weight:600;color:var(--ink-soft)}
/* Artikel */
article{max-width:var(--measure)}
article h1{margin-top:12px}
.tldr{border-left:6px solid var(--orange);background:var(--paper-2);padding:18px 22px;margin:28px 0 34px;border-radius:0 6px 6px 0}
.tldr.green{border-left-color:var(--moss)}
.tldr b{display:block;font-size:14px;margin-bottom:6px}
.tldr p{margin:0}
ul.check{list-style:none;padding:0;margin:0 0 1.2em}
ul.check li{position:relative;padding-left:32px;margin:9px 0}
ul.check li::before{content:"";position:absolute;left:2px;top:.42em;width:14px;height:14px;border:2.5px solid var(--moss);border-radius:2px}
ol.steps{counter-reset:s;list-style:none;padding:0;margin:0 0 1.2em}
ol.steps li{counter-increment:s;position:relative;padding-left:48px;margin:12px 0}
ol.steps li::before{content:counter(s);position:absolute;left:0;top:.05em;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--paper);font-weight:700;font-size:15px;display:grid;place-items:center}
.partner{border:2.5px solid var(--ink);border-radius:6px;padding:18px 22px;margin:42px 0}
.partner b{display:block;font-size:14px;margin-bottom:6px}
.partner small{display:block;color:var(--ink-soft);font-size:13px;margin-top:8px}
.partner p{margin:0}
details{border-bottom:2px solid var(--line);padding:12px 0}
details:first-of-type{border-top:2px solid var(--line)}
summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--orange);font-weight:800;font-size:22px;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:10px 0 4px;color:var(--ink-soft)}
.related{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin:18px 0}
.related a{display:block;text-decoration:none;border-top:3px solid var(--ink);padding-top:12px}
.related a .tab{margin-bottom:8px}
.related a strong{display:block;font-size:19px;line-height:1.25;font-family:"Bricolage Grotesque",sans-serif;font-weight:700}
.related a:hover strong{text-decoration:underline;text-decoration-color:var(--orange)}
.sources{font-size:15px;color:var(--ink-soft)}.sources li{margin:6px 0}
.note{font-size:14px;color:var(--ink-soft);border-top:2px solid var(--line);padding-top:14px;margin-top:30px}
.page-sections{max-width:var(--measure)}
/* Footer */
.foot{border-top:3px solid var(--ink);margin-top:70px;padding:30px 0 44px;font-size:15px;color:var(--ink-soft)}
.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:28px}
.foot p{margin:0 0 10px}
.foot nav{display:flex;flex-direction:column;gap:8px}
.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}
@media (max-width:700px){
  body{font-size:17px}
  .site-head .wrap{align-items:flex-start;padding-top:18px}
  .brand strong{font-size:26px}
  .item{grid-template-columns:1fr;gap:10px}
  .item .spine{writing-mode:horizontal-tb;transform:none;padding:4px 12px;width:max-content;border-radius:3px 3px 0 0}
  .foot .wrap{grid-template-columns:1fr}
  h2{font-size:24px}
}
