/* ============================================================
   RECHTSSEITEN — Impressum und Datenschutzerklärung
   Ein Layout für beide Seiten, Präfix .rt-.

   Bewusst nüchtern: Diese Seiten werden gelesen, nicht
   überflogen. Keine Kacheln, keine Karten, keine Bilder — eine
   Spalte auf Lesebreite, Haarlinien als einzige Gliederung, bei
   der längeren Seite ein mitlaufendes Register links.
   Den einen blauen Vollflächen-Moment der Seite liefert der
   Footer; ein zweiter Blaublock käme hier nur dekorativ dazu.

   Lädt nach style-hell.css + miller-hell.css.
   ============================================================ */

.rt{background:var(--paper);
  padding-block:clamp(104px,11vw,148px) clamp(56px,7vw,88px)}

.rt-crumb{font-size:13px;color:var(--ink-soft);margin-bottom:20px}
.rt-crumb a{color:var(--blue-logo)}
.rt-eyebrow{font-family:"Urbanist",system-ui,sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--blue-logo);display:block}

/* ---- Kopf --------------------------------------------------- */
.rt-head{padding-bottom:clamp(28px,3.5vw,40px);border-bottom:1px solid var(--line)}
.rt-head h1{margin-top:14px;font-size:clamp(34px,4.4vw,58px);line-height:1.1;
  letter-spacing:-.026em;hyphens:manual}
.rt-head p{margin-top:18px;max-width:62ch;font-size:clamp(16px,1.5vw,18px);
  line-height:1.7;color:var(--ink-soft)}
.rt-stand{margin-top:22px;font-size:13.5px;color:var(--ink-soft);
  font-variant-numeric:tabular-nums}

/* ---- Körper: Register links, Text rechts -------------------- */
.rt-body{display:grid;grid-template-columns:200px minmax(0,1fr);
  gap:clamp(32px,5vw,72px);align-items:start;
  padding-top:clamp(36px,4.5vw,56px)}
.rt-body.rt-single{grid-template-columns:minmax(0,1fr)}

.rt-toc{position:sticky;top:104px}
.rt-toc b{display:block;font-family:"Urbanist",system-ui,sans-serif;font-size:11.5px;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.rt-toc ol{list-style:none;padding:0;margin:10px 0 0;counter-reset:rt}
.rt-toc li{margin:0}
.rt-toc a{display:flex;gap:10px;padding:7px 0;font-size:14px;line-height:1.35;
  color:var(--ink-soft);transition:color .2s var(--ease)}
.rt-toc a::before{counter-increment:rt;content:counter(rt,decimal-leading-zero);
  font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--ink-faint);
  padding-top:2px}
.rt-toc a:hover{color:var(--blue-logo)}
@media(max-width:900px){
  .rt-body{grid-template-columns:minmax(0,1fr)}
  .rt-toc{position:static;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .rt-toc ol{display:flex;flex-wrap:wrap;gap:2px 20px}
}

/* ---- Textteil ----------------------------------------------- */
.rt-text{max-width:68ch}
.rt-sec{padding-top:clamp(30px,3.5vw,42px);margin-top:clamp(30px,3.5vw,42px);
  border-top:1px solid var(--line);scroll-margin-top:104px}
.rt-sec:first-child{padding-top:0;margin-top:0;border-top:0}
.rt-sec h2{font-size:clamp(21px,2.2vw,27px);line-height:1.25;letter-spacing:-.02em}
.rt-sec h3{margin-top:26px;font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.rt-sec p{margin-top:14px;font-size:15.5px;line-height:1.75;color:var(--ink-soft)}
.rt-sec p strong,.rt-sec li strong{color:var(--ink);font-weight:600}
.rt-sec code{font-family:ui-monospace,Consolas,monospace;font-size:13.5px;
  background:var(--surface);padding:1px 6px;border-radius:4px}
.rt-sec em{font-style:italic}
.rt-sec a{color:var(--blue-logo);text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px}

/* style-hell.css setzt nur ul zurück, nicht ol — deshalb hier. */
.rt-sec ul,.rt-sec ol{list-style:none;padding:0;margin:16px 0 0}
.rt-sec li{position:relative;padding-left:20px;margin-top:9px;
  font-size:15.5px;line-height:1.7;color:var(--ink-soft)}
.rt-sec li::before{content:"";position:absolute;left:2px;top:11px;
  width:6px;height:1px;background:var(--blue-logo)}
.rt-sec ol{counter-reset:rtl}
.rt-sec ol li{padding-left:28px}
.rt-sec ol li::before{counter-increment:rtl;content:counter(rtl) ".";
  top:0;width:auto;height:auto;background:none;font-size:14px;
  color:var(--blue-logo);font-variant-numeric:tabular-nums}

/* Kontaktblock / Anschrift ohne Kasten, nur Haarlinie links */
.rt-adr{margin-top:16px;padding-left:18px;border-left:2px solid var(--blue-logo);
  font-size:15.5px;line-height:1.8;color:var(--ink)}
.rt-adr a{color:var(--blue-logo)}

/* Offene Angabe: sichtbar, solange sie fehlt. Vor dem Livegang
   muss die Seite frei von .rt-open sein. */
.rt-open{display:inline-block;background:rgba(154,107,31,.12);
  border:1px dashed rgba(154,107,31,.55);border-radius:4px;
  padding:1px 8px;font-size:14px;color:#7a5518;font-weight:600;
  font-family:"Urbanist",system-ui,sans-serif}

/* Hinweiszeile am Fuß des Textes */
.rt-note{margin-top:clamp(36px,4vw,52px);padding-top:22px;
  border-top:1px solid var(--line);font-size:13.5px;line-height:1.7;
  color:var(--ink-faint);max-width:68ch}
