/* Moderne Ergänzungen; Originalfarben, Schrift und Desktop-Layout bleiben bestehen. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { color: #000; background-color: #fff; overflow-wrap: break-word; }
main { display: block; }
img { max-width: 100%; height: auto; border: 0; }
:focus-visible { outline: 2px solid #c00000; outline-offset: 2px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0;
           margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
           white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 1000;
             padding: 8px 12px; background: #fff; color: #000;
             border: 2px solid #000; }
.skip-link:focus { top: 12px; }
/* h3 wird semantisch h1, behält aber exakt seine ursprüngliche Darstellungsgröße. */
h1.article-title { font-size: 1.17em; font-weight: bold; margin-block: 1em; }
h1.legacy-large-heading { font-size: inherit; font-weight: normal; line-height: inherit;
                          margin-block: 1em; }
h1.index-title { font-weight: normal; }
.index-page { margin: 0; }
.index-page a:link, .index-page a:visited { color: #000; }
.index-page a:hover, .index-page a:focus { color: #f00; }
@media (max-width: 700px) {
  body { overflow-x: hidden; }
  .muller { font-size: 16px; }
  .index-page .site-directory { border-collapse: separate; table-layout: auto; }
  .index-page .site-directory > tbody,
  .index-page .site-directory > tbody > tr,
  .index-page .site-directory > tbody > tr > td { display: block; box-sizing: border-box; width: 100% !important; }
  .index-page .site-directory > tbody > tr > td { padding: 12px !important; margin: 0 !important; }
}
@media print {
  .skip-link { display: none; }
  a { color: #000 !important; }
}
