/* ============================================================
   KOPFKINO — Legal pages (Impressum / Datenschutz)
   ============================================================ */
.legal-hero{ padding:clamp(120px,16vw,200px) 0 clamp(40px,6vw,70px); border-bottom:1px solid var(--line); position:relative; }
.legal-hero .beam{ position:absolute; inset:0 40% auto -20%; height:120%;
  background:radial-gradient(50% 60% at 25% 30%, rgba(232,89,60,.12), transparent 60%); pointer-events:none; }
.legal-hero h1{ font-size:clamp(44px,9vw,110px); line-height:.9; letter-spacing:-.03em; margin-top:18px; }
.legal-hero .sub{ margin-top:18px; color:var(--mid); font-size:clamp(14px,1.4vw,17px); max-width:52ch; }

.legal{ padding:clamp(50px,7vw,96px) 0 clamp(70px,9vw,120px); }
.legal-wrap{ max-width:780px; margin:0 auto; padding:0 var(--pad); }
.legal h2{ font-size:clamp(22px,2.4vw,30px); letter-spacing:-.01em; margin:48px 0 16px; }
.legal h2:first-child{ margin-top:0; }
.legal h3{ font-size:16px; font-weight:700; margin:26px 0 8px; }
.legal p, .legal li{ color:var(--bone-2,#C9C6BE); font-size:15.5px; line-height:1.75; }
.legal p{ margin-bottom:14px; }
.legal a{ color:var(--red); text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s; }
.legal a:hover{ border-color:var(--red); }
.legal ul{ list-style:none; margin:8px 0 18px; }
.legal li{ padding:6px 0 6px 22px; position:relative; }
.legal li::before{ content:"+"; position:absolute; left:0; color:var(--red); }
.legal .block{ margin-bottom:6px; line-height:1.8; }
.legal .num{ font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--red); display:block; margin-bottom:6px; }
.legal hr{ border:0; border-top:1px solid var(--line); margin:44px 0; }

/* AGB — paragraph numerals (1)(2)(3) */
.legal .pn{ font-family:var(--mono); font-size:12px; color:var(--red); margin-right:8px;
  font-variant-numeric:tabular-nums; }
.legal .stand{ margin-top:56px; padding-top:20px; border-top:1px solid var(--line);
  font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); }

/* editable placeholder */
.ph{ color:var(--red); background:rgba(232,89,60,.1); border:1px dashed rgba(232,89,60,.5);
  border-radius:4px; padding:1px 7px; font-family:var(--mono); font-size:.85em; letter-spacing:.02em; }

/* disclaimer note */
.legal-note{ max-width:780px; margin:0 auto clamp(30px,4vw,44px); padding:18px 22px; border:1px solid var(--line);
  border-left:2px solid var(--red); border-radius:4px; background:var(--ink-2);
  font-size:13.5px; line-height:1.7; color:var(--mid); }
.legal-note b{ color:var(--white); font-weight:600; }

.back-link{ display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--mid); margin-bottom:8px; }
.back-link:hover{ color:var(--red); }
.back-link .ar{ transition:transform .3s; }
.back-link:hover .ar{ transform:translateX(-4px); }
