@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@500;600;700;800&display=swap");

:root {
  color-scheme: light;
  --legal-ink: #141A2A;
  --legal-muted: #5f5b70;
  --legal-line: #DFE3ED;
  --legal-purple: #19284F;
  --legal-violet: #3B4F82;
  --legal-gold: #F1CB7F;
  --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 "Inter", "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--legal-violet); }
a:focus-visible { outline: 3px solid #D09217; 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: #F2F4FA; 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(25,40,79,.38);
}
.legal-kicker {
  color: #536BA7;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.legal-card h1,.legal-card h2 {
  font-family: "Poppins", "Inter", 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: #414654; }
.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: #141F3B;
  color: #E1E7F4;
}
.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: #D2DAEE; text-underline-offset: 3px; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.legal-footer small { color: #B7BFD5; }
.wa-float {
  position: fixed;
  z-index: 80;
  right: 22px;
  bottom: 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 60px;
  padding: 7px 19px 7px 8px;
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 999px;
  background: linear-gradient(135deg,#234497 0%,#1A326F 100%);
  box-shadow: 0 14px 30px rgba(22,42,93,.22),0 3px 9px rgba(31,37,32,.11),inset 0 1px 0 rgba(255,255,255,.22);
  color: #fff;
  font: 700 14px/1.15 "Inter", sans-serif;
  letter-spacing: -.01em;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.wa-float:hover { background: linear-gradient(135deg,#2648A0 0%,#172D63 100%); box-shadow: 0 17px 34px rgba(22,42,93,.27),0 5px 12px rgba(31,37,32,.12),inset 0 1px 0 rgba(255,255,255,.24); transform: translateY(-3px); }
.wa-float:focus-visible { outline: 3px solid #3A4C79; outline-offset: 4px; }
.wa-float:active { transform: translateY(-1px) scale(.985); }
.wa-float svg { box-sizing: border-box; width: 42px; height: 42px; padding: 9px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.23); 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; }
  .legal-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
  .legal-footer-inner { padding-right: 74px; }
  .wa-float { right: 14px; bottom: calc(22px + env(safe-area-inset-bottom, 0px)); width: 60px; height: 60px; min-width: 60px; min-height: 60px; gap: 0; padding: 7px; justify-content: center; }
  .wa-float span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
}
@media (max-width: 380px) {
  .wa-float { width: 56px; height: 56px; min-width: 56px; min-height: 56px; padding: 7px; }
  .wa-float svg { width: 38px; height: 38px; padding: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wa-float { transition: none; }
}