@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap");

:root {
  color-scheme: light;
  --legal-ink: #18142a;
  --legal-muted: #5f5b70;
  --legal-line: #e4dfed;
  --legal-purple: #2b194f;
  --legal-violet: #563b82;
  --legal-gold: #ffdc71;
  --legal-bg: #f7f5fa;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--legal-bg);
  color: var(--legal-ink);
  font: 16px/1.7 "DM Sans", "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--legal-violet); }
a:focus-visible { outline: 3px solid #d18f16; outline-offset: 3px; }
.legal-header {
  background: var(--legal-purple);
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.legal-header-inner {
  width: min(1120px, calc(100% - 40px));
  min-height: 76px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.legal-brand img { display: block; width: 190px; height: auto; }
.legal-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.legal-nav a { color: #f4edff; text-decoration: none; font-weight: 600; font-size: 14px; }
.legal-nav a:hover { color: var(--legal-gold); }
.legal-main { width: min(880px, calc(100% - 40px)); margin: 54px auto 72px; }
.legal-crumb { margin: 0 0 14px; color: var(--legal-muted); font-size: 13px; }
.legal-crumb a { text-decoration: none; }
.legal-card {
  padding: clamp(24px, 5vw, 54px);
  background: #fff;
  border: 1px solid var(--legal-line);
  border-radius: 20px;
  box-shadow: 0 24px 70px -48px rgba(43,25,79,.38);
}
.legal-kicker {
  color: #7653a7;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.legal-card h1,.legal-card h2 {
  font-family: "Plus Jakarta Sans", "DM Sans", sans-serif;
  line-height: 1.2;
  letter-spacing: -.035em;
}
.legal-card h1 { margin: 10px 0 8px; font-size: clamp(32px, 5vw, 48px); }
.legal-updated { margin: 0 0 30px; color: var(--legal-muted); font-size: 14px; }
.legal-card h2 { margin: 30px 0 8px; font-size: 21px; }
.legal-card p,.legal-card li { color: #454154; }
.legal-card p + p { margin-top: 12px; }
.legal-card ul { padding-left: 22px; }
.legal-card li + li { margin-top: 7px; }
.legal-card a { text-underline-offset: 3px; }
.legal-footer {
  padding: 28px 20px 36px;
  background: #20143b;
  color: #e9e1f4;
}
.legal-footer-inner {
  width: min(1120px, 100%);
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px 28px;
}
.legal-footer p { margin: 0; }
.legal-footer a { color: #d8c6fa; text-underline-offset: 3px; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.legal-footer small { color: #c3b7d5; }
.wa-float {
  position: fixed;
  z-index: 80;
  right: 22px;
  bottom: 22px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  background: #128c51;
  box-shadow: 0 12px 34px rgba(18,35,27,.28);
  color: #fff;
  font: 700 14px/1 "DM Sans", sans-serif;
  text-decoration: none;
}
.wa-float:hover { background: #0c7542; transform: translateY(-2px); }
.wa-float svg { width: 22px; height: 22px; fill: currentColor; flex: none; }
@media (max-width: 620px) {
  .legal-header-inner { width: calc(100% - 32px); min-height: 68px; gap: 12px; }
  .legal-brand img { width: 148px; }
  .legal-nav { gap: 12px; }
  .legal-nav a { font-size: 13px; }
  .legal-main { width: calc(100% - 28px); margin: 30px auto 48px; }
  .legal-card { border-radius: 16px; }
  .legal-footer-inner { align-items: flex-start; flex-direction: column; }
  .wa-float { right: 14px; bottom: calc(22px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wa-float { transition: none; }
}