/* shared styling for legal subpages (Impressum / Datenschutz) */
.legal-main { position: relative; z-index: 1; padding: 120px 0 60px; }
.legal-frame { padding: clamp(28px, 5vw, 70px); }
.legal-title { margin: 16px 0 36px; }
.legal-frame h2 {
  font: 700 clamp(17px, 1.6vw, 22px)/1.25 var(--font-head);
  text-transform: uppercase; color: var(--off-white);
  margin: 42px 0 12px;
}
.legal-frame h3 {
  font: 600 14px/1.4 var(--font-head); text-transform: uppercase;
  letter-spacing: 0.04em; color: rgba(241,241,234,0.85);
  margin: 28px 0 8px;
}
.legal-frame p, .legal-frame li {
  color: rgba(216,216,210,0.68); font-size: 14.5px; max-width: 72ch; text-wrap: pretty;
}
.legal-frame p + p { margin-top: 12px; }
.legal-frame ul { margin: 10px 0 10px 20px; }
.legal-frame a { color: var(--off-white); border-bottom: 1px solid var(--line); transition: border-color .3s; }
.legal-frame a:hover { border-color: var(--red-glow); }
