*, *::before, *::after { box-sizing: border-box; }
html { font-size: 112.5%; }
body { margin: 0; font-family: Verdana, "Segoe UI", Arial, sans-serif; line-height: 1.6; color: #1a1a1a; background: #fff; }
header, main, footer { max-width: 46rem; margin: 0 auto; padding: 0 1rem; }
header { border-bottom: 4px solid #FFC629; padding-top: .8rem; }
.site { margin: 0; font-weight: bold; font-size: 1.15rem; }
.site a { color: #0C345C; text-decoration: none; }
nav ul { list-style: none; margin: .5rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; }
nav a { color: #0C345C; }
nav a[aria-current="page"] { font-weight: bold; text-decoration-thickness: 3px; }
main { padding-top: 1rem; padding-bottom: 2rem; }
h1 { color: #0C345C; font-size: 1.7rem; line-height: 1.3; margin: .8rem 0; }
h2 { color: #0C345C; font-size: 1.3rem; margin: 1.8rem 0 .6rem; }
a { color: #0B4F8A; text-decoration: underline; text-underline-offset: .15em; }
a:hover { color: #062C4D; }
:focus-visible { outline: 3px solid #1a1a1a; outline-offset: 2px; box-shadow: 0 0 0 6px #FFC629; }
.skip { position: absolute; left: -999rem; }
.skip:focus { left: 1rem; top: 1rem; background: #FFC629; color: #000; padding: .5rem 1rem; z-index: 10; }
.lead { font-size: 1.1rem; }
.cover { float: right; width: 12rem; max-width: 40%; height: auto; margin: 0 0 1rem 1.5rem; border: 1px solid #ccc; }
.hinweis { border-left: 6px solid #C62828; background: #FDECEA; padding: .8rem 1rem; margin: 1rem 0; }
.box { border-left: 6px solid #2E75B6; background: #EAF1F8; padding: .8rem 1rem; margin: 1rem 0; clear: both; }
ul.dl li { margin-bottom: .8rem; }
.meta { color: #444; font-size: .9rem; }
footer { border-top: 1px solid #ccc; padding-top: 1rem; padding-bottom: 2rem; font-size: .9rem; color: #444; }
@media (max-width: 36rem) { .cover { float: none; display: block; margin: 0 auto 1rem; max-width: 70%; } }
