/* =========================================================
   Legal pages — Impressum & Datenschutz
   Momentum design system — consumes the shared brand tokens
   (public/brand.css, loaded first). No brand token is defined
   here and no retired engineering-era bridge token is used.
   ========================================================= */

.legal-main{padding:60px 0 40px}
@media(min-width:768px){.legal-main{padding:86px 0 60px}}

.legal-wrap{max-width:780px;margin:0 auto;padding:0 22px}
@media(min-width:768px){.legal-wrap{padding:0 40px}}

/* draft / disclaimer banner */
.draft-note{
  margin-bottom:40px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);
  background:var(--primary-container);
  padding:16px 18px;display:flex;gap:13px;align-items:flex-start;
}
.draft-note .dn-tag{
  font-size:var(--text-label);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--on-primary);background:var(--primary);padding:3px 7px;border-radius:var(--radius-sm);
  flex:none;margin-top:1px;
}
.draft-note p{font-size:13px;line-height:1.55;color:var(--on-surface);margin:0}
.draft-note b{font-weight:600}

.legal-kicker{
  font-size:var(--text-label);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--primary);display:flex;align-items:center;gap:12px;margin-bottom:18px;
}
.legal-kicker .rule{flex:1;height:1px;background:var(--border-subtle)}

.legal-title{
  font-weight:800;letter-spacing:-.022em;line-height:1.03;
  font-size:clamp(34px,6vw,54px);color:var(--on-surface);
}
.legal-sub{margin-top:16px;color:var(--on-surface-variant);font-size:14px;letter-spacing:.02em}

/* body */
.legal-doc{margin-top:50px}
.legal-doc section{padding:30px 0;border-top:1px solid var(--border-subtle)}
.legal-doc section:first-child{border-top:none;padding-top:6px}

.legal-doc h2{
  font-weight:700;letter-spacing:-.005em;line-height:1.18;color:var(--on-surface);
  font-size:clamp(18px,2.4vw,23px);display:flex;gap:14px;align-items:baseline;
}
.legal-doc h2 .ix{font-size:13px;color:var(--primary);font-weight:700;flex:none}
.legal-doc h3{margin-top:22px;font-weight:700;font-size:15px;letter-spacing:.005em;color:var(--on-surface)}

.legal-doc p{margin-top:14px;font-size:14.5px;line-height:1.62;color:var(--on-surface-variant);text-wrap:pretty}
.legal-doc h2 + p{margin-top:16px}
.legal-doc p b,.legal-doc strong{color:var(--on-surface);font-weight:600}
.legal-doc a{color:var(--primary);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--primary) 35%,transparent)}
.legal-doc a:hover{border-bottom-color:var(--primary)}

.legal-doc ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.legal-doc ul li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.6;color:var(--on-surface-variant)}
.legal-doc ul li::before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:var(--radius-full);background:var(--primary)}

/* definition-style contact block */
.legal-addr{
  margin-top:16px;font-size:15px;line-height:1.75;color:var(--on-surface);
  background:var(--surface-container);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  padding:20px 22px;
}
.legal-addr .row{display:flex;gap:14px}
.legal-addr .row .k{font-size:var(--text-label);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--on-surface-variant);min-width:120px;flex:none;padding-top:4px}

/* placeholder field token */
.fld{
  font-size:.92em;
  background:var(--primary-container);
  color:var(--on-primary-container);border:1px dashed color-mix(in srgb,var(--primary) 55%,transparent);
  padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap;
}

.legal-meta{margin-top:46px;padding-top:22px;border-top:1px solid var(--border-subtle);
  font-size:11px;letter-spacing:.04em;color:var(--on-surface-variant)}

/* back link in header area */
.legal-back{
  font-size:var(--text-label);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--on-surface-variant);text-decoration:none;display:inline-flex;align-items:center;gap:8px;
  margin-bottom:34px;transition:color .18s;
}
.legal-back:hover{color:var(--primary)}
