/* =====================================================================
   Make It Film · legal.css
   Rechtstexte (Impressum, Datenschutz, AGB) und 404.
   Baut auf core.css (Tokens, Typo) und sections.css (Header, Footer) auf.
   ===================================================================== */

.legal{padding-top:calc(var(--hdr-h) + clamp(48px,8vw,120px));padding-bottom:clamp(80px,10vw,160px)}
.legal__in{max-width:46rem}

.legal__back{display:inline-flex;align-items:center;gap:.6em;margin-bottom:clamp(32px,4vw,56px);
  font-size:var(--meta);font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--fg-3);
  transition:color var(--d1) var(--ease)}
.legal__back:hover{color:var(--fg)}
.legal__back svg{display:inline-block}

.legal h1{font-size:clamp(2.4rem,5.2vw,4.75rem);font-weight:600;line-height:1.02;letter-spacing:-.03em;
  hyphens:auto;-webkit-hyphens:auto;text-wrap:balance}
.legal h1+p{margin-top:28px}
.legal h2{margin-top:clamp(48px,5vw,72px);padding-top:24px;border-top:1px solid var(--line);
  font-size:clamp(1.2rem,1.6vw,1.45rem);font-weight:400;line-height:1.25;letter-spacing:-.01em;color:var(--fg)}
.legal h3{margin-top:32px;font-size:1.0625rem;font-weight:500;color:var(--fg)}
.legal p,.legal li{color:var(--fg-2);overflow-wrap:break-word}
.legal h2+p,.legal h3+p,.legal h2+ul{margin-top:16px}
.legal p+p,.legal ul+p,.legal p+ul{margin-top:1em}
.legal ul{padding-left:1.2em;list-style:disc}
.legal li+li{margin-top:.35em}
.legal li::marker{color:var(--fg-3)}
.legal strong{color:var(--fg)}
.legal__in a:not(.btn):not(.legal__back){color:var(--fg);text-decoration:underline;
  text-decoration-color:var(--line-2);text-underline-offset:.2em;transition:text-decoration-color var(--d1) var(--ease)}
.legal__in a:not(.btn):not(.legal__back):hover{text-decoration-color:var(--accent)}

/* ---------- 404 ---------- */
.nf{min-height:calc(100svh - 1px);display:flex;align-items:center}
.nf .legal__in{max-width:60rem}
.nf h1{font-size:var(--display)}
.nf__sub{margin-top:24px;font-size:var(--lead);font-weight:400;line-height:1.35;color:var(--fg-2)}
.nf .btn-row{margin-top:clamp(40px,5vw,64px)}
.nf__tel{margin-top:28px;color:var(--fg-3)}
