/* Shared styles for the standalone legal pages (/privacy, /terms).
   Reuses the app's existing design tokens: Navy Ink, Carrot Orange, Classic Linen,
   Tenor Sans headings, Inter body, white rounded content cards. */
:root {
  --navy: #1D1B4F;
  --carrot: #EF8E26;
  --plum: #7D1B62;
  --linen: #F4F0E8;
  --card: #FFFFFF;
  --line: rgba(29, 27, 79, 0.12);
  --text-dim: rgba(29, 27, 79, 0.62);
  --body: rgba(29, 27, 79, 0.82);
  --font-display: "Tenor Sans", "Times New Roman", serif;
  --font-ui: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { color-scheme: light; }
body {
  background: var(--linen);
  color: var(--navy);
  font-family: var(--font-ui);
  line-height: 1.6;
  padding: 32px 16px 64px;
  -webkit-font-smoothing: antialiased;
}
.legal-wrap { max-width: 780px; margin: 0 auto; }
.legal-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 22px; padding: 0 6px;
}
.legal-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.legal-brand img { height: 34px; width: auto; display: block; }
.legal-back { font-size: 13px; font-weight: 600; color: var(--text-dim); text-decoration: none; white-space: nowrap; }
.legal-back:hover { color: var(--carrot); }

.legal-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 18px 50px rgba(29, 27, 79, 0.08);
  padding: 44px 44px 40px;
}
.legal-card h1 {
  font-family: var(--font-display); font-weight: 400; font-size: 30px;
  line-height: 1.2; color: var(--navy); margin-bottom: 8px;
}
.legal-updated { font-size: 13px; color: var(--text-dim); margin-bottom: 24px; }
.legal-card h2 {
  font-family: var(--font-display); font-weight: 400; font-size: 19px;
  color: var(--navy); letter-spacing: 0.3px; margin: 30px 0 10px;
}
.legal-card p { font-size: 15px; color: var(--body); margin: 0 0 12px; }
.legal-card p.grp { margin-top: 16px; } /* bold group label lines within a section */
.legal-card strong { font-weight: 600; color: var(--navy); }
.legal-card a { color: var(--carrot); text-decoration: none; }
.legal-card a:hover { text-decoration: underline; }
.legal-card ul { list-style: none; margin: 2px 0 14px; padding: 0; }
.legal-card li {
  position: relative; font-size: 15px; color: var(--body);
  padding-left: 18px; margin-bottom: 7px;
}
.legal-card li::before {
  content: ""; position: absolute; left: 2px; top: 10px;
  width: 5px; height: 5px; border-radius: 50%; background: var(--carrot);
}
.legal-card .contact { margin-top: 12px; }
.legal-card .contact strong { display: inline; }

.legal-foot { margin-top: 26px; text-align: center; font-size: 12.5px; color: var(--text-dim); }
.legal-foot a { color: var(--text-dim); text-decoration: underline; }
.legal-foot a:hover { color: var(--carrot); }

@media (max-width: 600px) {
  .legal-card { padding: 30px 22px 28px; border-radius: 18px; }
  .legal-card h1 { font-size: 25px; }
  .legal-card h2 { font-size: 18px; }
}
