.legal-page {
  min-height:100vh;
  background:linear-gradient(145deg,#e4d5c4 0%,#d8c5ad 58%,#cfb99f 100%);
  color:var(--ink);
}
.legal-page main { padding-top:var(--business-header-height,86px); }
.legal-hero { position:relative; width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:44px 0 38px; text-align:center; }
.legal-hero h1 { margin:0; color:var(--ink-dark); font-size:clamp(34px,5vw,64px); font-weight:300; letter-spacing:.16em; overflow-wrap:anywhere; }
.legal-article .legal-close { position:absolute; top:16px; right:clamp(16px,3vw,30px); z-index:5; display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(38,50,56,.18); border-radius:50%; color:var(--ink-dark); background:rgba(255,255,255,.16); font-size:29px; font-weight:300; line-height:1; text-decoration:none; transition:color .18s ease,background .18s ease,transform .18s ease; }
.legal-article .legal-close:hover,.legal-article .legal-close:focus-visible { color:var(--signal-red); background:rgba(255,255,255,.5); transform:scale(1.04); }
.legal-article .legal-close:focus-visible { outline:2px solid var(--signal-red); outline-offset:2px; }
.legal-layout { position:relative; width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:0 0 100px; }
.legal-layout::before { content:""; position:absolute; inset:-24px 0 0; z-index:0; background:linear-gradient(135deg,rgba(255,249,239,.30),rgba(193,162,131,.16)); border:1px solid rgba(255,255,255,.42); border-radius:8px; box-shadow:0 24px 70px rgba(89,65,42,.08),inset 0 1px rgba(255,255,255,.42); pointer-events:none; }
.legal-article { position:relative; z-index:1; max-width:900px; margin-inline:auto; padding:70px clamp(22px,5vw,72px) 42px; }
.legal-article h2 { margin:34px 0 12px; color:var(--ink-dark); font-size:clamp(16px,2vw,22px); font-weight:400; letter-spacing:.08em; }
.legal-article h2:first-of-type { margin-top:0; }
.legal-article h3 { margin:24px 0 9px; color:var(--ink-dark); font-size:14px; font-weight:500; letter-spacing:.06em; }
.legal-article p,.legal-article li { color:rgba(70,61,50,.82); font-size:13px; line-height:1.78; letter-spacing:.018em; }
.legal-article p { margin:0 0 14px; }
.legal-article ul { margin:8px 0 18px; padding-left:20px; }
.legal-article li { margin:4px 0; }
.legal-article strong { color:var(--ink-dark); font-weight:600; }
.legal-imprint .legal-article strong { font-weight:400; }
.legal-privacy .legal-article strong { font-weight:400; }
.legal-privacy .legal-article b,
.legal-privacy .legal-article h3 { font-weight:400; }
.legal-article a { color:var(--ink-dark); text-decoration:underline; text-decoration-color:rgba(38,50,56,.38); text-underline-offset:3px; }
.legal-article a:hover,.legal-article a:focus-visible { color:var(--signal-red); text-decoration-color:currentColor; }
.legal-meta { margin-top:10px!important; font-size:10px!important; letter-spacing:.14em!important; text-transform:uppercase; color:rgba(70,61,50,.62)!important; }
.legal-contact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 28px; margin:18px 0 24px; }
.legal-contact p { margin:0; }
@media (max-width:640px) {
  .legal-hero,.legal-layout { width:calc(100% - 40px); }
  .legal-hero { padding:36px 0 30px; }
  .legal-hero h1 { font-size:clamp(28px,9vw,42px); letter-spacing:.1em; }
  .legal-article .legal-close { top:10px; right:12px; width:38px; height:38px; font-size:27px; }
  .legal-layout::before { inset:-14px 0 0; }
  .legal-article { padding:62px 18px 34px; }
  .legal-article h2 { font-size:16px; letter-spacing:.05em; }
  .legal-article p,.legal-article li { font-size:12px; line-height:1.72; }
  .legal-contact { grid-template-columns:1fr; gap:0; }
}
