/* legal.css — shared styles for Privacy & Terms pages (matches brand tokens) */
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--ff-body);
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

.legal-nav {
  position: sticky; top: 0; z-index: 20;
  background: rgba(254, 254, 254, .86);
  backdrop-filter: blur(14px) saturate(1.4);
  border-bottom: 1px solid var(--line);
}
.legal-nav__inner {
  max-width: 980px; margin-inline: auto;
  padding: 16px var(--gut);
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.legal-nav__logo img { height: 34px; width: auto; display: block; }
.legal-nav__back {
  font-family: var(--ff-display); font-weight: 700; font-size: 15px;
  color: var(--navy-600); display: inline-flex; align-items: center; gap: 8px;
}
.legal-nav__back:hover { color: var(--accent-700); }
.legal-nav__back svg { width: 16px; height: 16px; }

.legal-wrap {
  max-width: 820px; margin-inline: auto;
  padding: clamp(40px, 7vw, 88px) var(--gut) 64px;
}
.legal-eyebrow {
  font-family: var(--ff-body); font-weight: 700; font-size: 13px;
  letter-spacing: .16em; text-transform: uppercase; color: var(--accent-700);
}
.legal-wrap h1 {
  font-family: var(--ff-display); font-weight: 800; letter-spacing: -.02em;
  font-size: clamp(34px, 5vw, 52px); color: var(--navy);
  margin: 14px 0 10px; line-height: 1.05;
}
.legal-updated { color: var(--muted-2); font-size: 15px; margin-bottom: 12px; }

.legal-intro {
  font-size: 18px; color: var(--muted); line-height: 1.6;
  padding: 22px 24px; background: var(--bg-tint);
  border: 1px solid var(--line); border-radius: var(--r-lg); margin: 28px 0 40px;
}

.legal-wrap h2 {
  font-family: var(--ff-display); font-weight: 800; letter-spacing: -.015em;
  font-size: clamp(22px, 2.6vw, 28px); color: var(--navy);
  margin: 44px 0 14px; padding-top: 14px; border-top: 1px solid var(--line);
}
.legal-wrap h2:first-of-type { border-top: 0; padding-top: 0; }
.legal-wrap h3 {
  font-family: var(--ff-display); font-weight: 700; font-size: 19px;
  color: var(--navy); margin: 28px 0 8px;
}
.legal-wrap p { margin: 0 0 16px; color: #38444F; }
.legal-wrap ul { margin: 0 0 18px; padding-left: 22px; }
.legal-wrap li { margin-bottom: 9px; color: #38444F; }
.legal-wrap a { color: var(--accent-700); font-weight: 600; }
.legal-wrap a:hover { text-decoration: underline; }
.legal-wrap strong { color: var(--navy); }

.legal-contact {
  margin-top: 44px; padding: 26px 28px;
  background: var(--navy); color: #EAF1F8;
  border-radius: var(--r-lg);
}
.legal-contact h2 { color: #fff; border: 0; margin: 0 0 10px; padding: 0; }
.legal-contact p { color: #B7C8DA; margin: 0 0 6px; }
.legal-contact a { color: #6FB4FF; }

.legal-disclaimer {
  margin-top: 32px; font-size: 14px; color: var(--muted-2);
  font-style: italic; line-height: 1.6;
}

.legal-foot {
  max-width: 820px; margin: 0 auto; padding: 28px var(--gut) 48px;
  border-top: 1px solid var(--line);
  display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center;
  justify-content: space-between; color: var(--muted-2); font-size: 14px;
}
.legal-foot a { color: var(--muted); font-weight: 600; }
.legal-foot a:hover { color: var(--accent-700); }
.legal-foot__links { display: flex; gap: 22px; }
