:root {
  --rso-blue: #236fa7;
  --red: #e6000b;
  --red-dark: #a50008;
  --ink: #152333;
  --soft: #f7f8f9;
  --line: #dce1e5;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  padding: 18px 8px 28px;
  background: linear-gradient(145deg, #c7c9c9, #e4e5e3);
  color: var(--ink);
  font: 15px/1.5 Verdana, Arial, Helvetica, sans-serif;
}
a:link, a:visited { color: #075fa6; font-weight: bold; text-decoration: none; }
a:hover, a:focus-visible { color: var(--red-dark); text-decoration: underline; }
img { display: block; max-width: 100%; height: auto; }

.rso-tabelle {
  width: min(1060px, 100%);
  margin: 0 auto;
  overflow: hidden;
  border: 5px solid var(--rso-blue);
  border-radius: 20px;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  box-shadow: 8px 10px 28px rgba(16, 33, 48, .28);
}
.rso-tabelle > tbody > tr > td { border: 0; padding: 0; }
.rso-header { padding: 13px 20px 7px !important; }
.rso-logo { width: 500px; max-width: 100%; }
.rso-nav { padding: 5px 20px 4px !important; }
.nav-bar { padding: 4px 0; font-size: 15px; line-height: 1.5; text-align: center; }
.style1 { color: #92979d; }
.style2 { color: #8f2630; font-weight: bold; }
.rso-hr { width: 94%; height: 2px; margin: 10px auto; border: 0; background: linear-gradient(90deg, var(--rso-blue), var(--red)); }
table.rso-tabelle > tbody > tr > td.inhalt { padding: 0 34px 30px !important; }

.meta-zeile { display: flex; flex-wrap: wrap; gap: 7px 12px; align-items: center; margin: 18px 0 8px; color: #65717d; font-size: 12px; letter-spacing: .02em; }
.rubrik { display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--red); color: #fff; font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: .08em; }
.artikel-titel { max-width: 930px; margin: 8px 0 14px; color: #17364f; font-size: clamp(30px, 5vw, 49px); font-style: italic; line-height: 1.06; letter-spacing: -.03em; }
.intro-text { max-width: 900px; margin: 0 0 25px; padding-left: 15px; border-left: 5px solid var(--red); color: var(--ink); font-size: 17px; line-height: 1.75; }
.inhalt h2 { margin: 30px 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--rso-blue); color: #17364f; font-size: 19px; }
.inhalt p { margin: 0 0 13px; color: var(--ink); font-size: 15px; line-height: 1.78; text-align: justify; }

.artikel-raster { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 34px; align-items: start; }
.foto-karte { margin: 0 0 27px; overflow: hidden; border: 1px solid #d7d7d7; border-radius: 12px; background: #e9edef; box-shadow: 3px 5px 18px rgba(17, 39, 56, .2); }
.foto-karte img { width: min(100%, 720px); margin: 0 auto; }

.faktenbox { position: sticky; top: 16px; padding: 19px; border: 1px solid var(--line); border-top: 5px solid var(--red); border-radius: 11px; background: var(--soft); box-shadow: 2px 4px 13px rgba(33, 49, 61, .1); }
.faktenbox h2 { margin: 0 0 12px; padding: 0 0 8px; border-bottom-color: var(--red); font-size: 18px; }
.faktenbox dl { margin: 0; }
.faktenbox dt { margin-top: 12px; color: #6b5960; font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: .06em; }
.faktenbox dd { margin: 2px 0 0; color: var(--ink); font-size: 14px; line-height: 1.5; }

blockquote { margin: 29px 0; padding: 21px 23px; border-left: 5px solid var(--red); border-radius: 0 10px 10px 0; background: linear-gradient(135deg, #fff5f5, #f7eeee); color: #6f1720; font-size: 18px; font-weight: bold; line-height: 1.55; }
.ehrung { margin-top: 29px; padding: 3px 21px 12px; border: 1px solid #dddfe2; border-radius: 11px; background: linear-gradient(135deg, #f8fafc, #fff5f5); }
.ehrung h2 { border-bottom-color: var(--red); }
.zurueck { padding: 12px 0 18px !important; background: #fff; text-align: center; }
.rso-footer { padding: 11px 16px !important; background: #ededed; color: #444; font-size: 13px; text-align: center; }
.rso-footer a { font-size: 13px; }

@media (max-width: 800px) {
  body { padding: 8px 4px 18px; }
  .rso-tabelle { width: 100%; border-width: 3px; border-radius: 12px; box-shadow: 3px 4px 11px #999; }
  .rso-header, .rso-nav, .rso-footer { padding-left: 10px !important; padding-right: 10px !important; }
  .rso-logo { margin: 0 auto; }
  .nav-bar, .nav-bar a, .style1, .style2 { font-size: 13px; }
  table.rso-tabelle > tbody > tr > td.inhalt { padding: 0 13px 21px !important; }
  .artikel-titel { font-size: clamp(28px, 9vw, 38px); }
  .intro-text { font-size: 15px; }
  .artikel-raster { display: block; }
  .faktenbox { position: static; margin: 25px 0; }
  .inhalt h2 { font-size: 17px; line-height: 1.35; }
  .inhalt p, .intro-text { font-size: 14px; line-height: 1.65; text-align: left; }
  blockquote { padding: 16px; font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
