/* Rechtliche Unterseiten: dieselbe Papier-/Chili-Palette, ohne externe Dienste. */
.skip-link{ position:absolute; left:1rem; top:-5rem; z-index:100; background:var(--paper); color:var(--ink); padding:.75rem 1rem; }
.skip-link:focus{ top:1rem; }
.legal-topbar__back{ font-family:var(--f-mono); font-size:.75rem; text-underline-offset:.3em; white-space:nowrap; }
.legal-main{ max-width:1120px; margin:0 auto; padding:clamp(3rem,7vw,6rem) var(--pad); }
.legal-header{ margin-bottom:2.5rem; }
.legal-header h1{ font-size:clamp(2.5rem,7vw,5.8rem); line-height:1.08; hyphens:auto; }
.legal-header__intro{ max-width:38rem; margin:1.25rem 0 0; color:var(--stone); }
.legal-notice{ border:1px solid var(--chili); border-left-width:4px; background:var(--paper-2); padding:1.2rem 1.4rem; margin-bottom:2.5rem; }
.legal-notice h2{ font-size:1.1rem; line-height:1.3; color:var(--chili-dark); margin-bottom:.5rem; }
.legal-notice p{ font-size:1rem; margin:0; }
.legal-layout{ display:grid; grid-template-columns:11rem minmax(0,1fr); gap:clamp(2rem,5vw,4rem); align-items:start; }
.legal-nav{ position:sticky; top:calc(var(--bar) + 2rem); display:grid; gap:.75rem; font-family:var(--f-mono); font-size:.75rem; line-height:1.6; padding-top:.4rem; }
.legal-nav a{ text-underline-offset:.25em; }
.legal-nav a[aria-current=page]{ color:var(--chili-dark); font-weight:500; }
.legal-nav__label{ text-transform:uppercase; letter-spacing:.15em; color:var(--stone); font-size:.65rem; margin-bottom:.25rem; }
.legal-content{ min-width:0; overflow-wrap:anywhere; }
.legal-section{ border-top:var(--rule); padding:1.75rem 0; scroll-margin-top:calc(var(--bar) + 1rem); }
.legal-section:first-child{ border-top:0; padding-top:0; }
.legal-section h2{ font-size:clamp(1.3rem,2.5vw,1.75rem); line-height:1.2; margin-bottom:1rem; }
.legal-section h3{ font-size:1.1rem; line-height:1.4; margin:1.2rem 0 .5rem; }
.legal-section p:last-child{ margin-bottom:0; }
.legal-section a{ text-decoration-thickness:1px; text-underline-offset:.2em; }
.legal-section ul{ padding-left:1.2rem; }
.legal-section li{ margin:.35rem 0; }
.legal-address{ font-style:normal; }
.legal-facts{ margin:1.25rem 0 0; }
.legal-facts dt{ font-family:var(--f-mono); font-size:.7rem; color:var(--stone); margin-top:1rem; text-transform:uppercase; letter-spacing:.08em; }
.legal-facts dd{ margin:.2rem 0 0; }
.legal-pending{ color:var(--chili-dark); }
.legal-objection{ padding:1.2rem; margin:1.25rem 0; background:var(--paper-2); border-left:3px solid var(--chili); }
.legal-objection h3{ margin-top:0; }
.legal-meta{ font-family:var(--f-mono); font-size:.7rem; color:var(--stone); margin:2rem 0 0; }
.legal-footer{ background:var(--ink); color:var(--paper); padding:2rem var(--pad); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.25rem 2rem; }
.legal-footer p{ margin:0; font-family:var(--f-display); font-size:.85rem; }
.legal-footer nav{ display:flex; flex-wrap:wrap; gap:1rem; font-family:var(--f-mono); font-size:.75rem; }
.legal-footer a{ text-underline-offset:.3em; }
.legal-footer__credit{ color:#c4b6a5; }
@media(max-width:700px){
  .legal-layout{ grid-template-columns:minmax(0,1fr); gap:2rem; }
  .legal-nav{ position:static; display:flex; flex-wrap:wrap; gap:.6rem 1.3rem; border-bottom:var(--rule); padding:0 0 1.25rem; }
  .legal-nav__label{ width:100%; }
  .legal-topbar .topbar__name{ max-width:10rem; font-size:.8rem; }
  .legal-main{ padding-top:2.5rem; }
  .legal-notice{ padding:1rem; }
}
@media print{
  .topbar,.legal-nav,.legal-footer,.skip-link{ display:none; }
  .legal-main{ padding:0; max-width:none; }
  .legal-layout{ display:block; }
  .legal-section{ break-inside:avoid; }
  body{ background:white; color:black; }
}
