/* Legal pages (privacy policy). Loads next to detail-common.css, which brings
   the nav, CTA and footer; this file styles the article and sets the page's
   base font so the shared nav and footer render in Inter like everywhere else. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--site-font-body, Inter, Arial, sans-serif); -webkit-font-smoothing: antialiased; color: var(--text-light-1, #1f1f1f); background: #fff; }
.legal { padding: 148px 0 72px; background: #fff; color: var(--text-light-1, #1f1f1f); font-family: var(--site-font-body, Inter, Arial, sans-serif); }
.legal__inner { max-width: 760px; margin: 0 auto; padding: 0 var(--pad-global, 40px); }
.legal__eyebrow { font-family: var(--site-font-hand, cursive); font-size: 22px; color: var(--site-accent, #29b6f6); transform: rotate(-3deg); display: inline-block; margin: 0 0 10px; }
.legal h1 { font-family: var(--site-font-display); font-size: var(--h2); line-height: 1.12; letter-spacing: -.02em; margin: 0 0 12px; }
.legal__meta { color: var(--text-light-2, #868686); font-size: var(--text-s, 14px); margin: 0 0 40px; }
.legal h2 { font-family: var(--site-font-display); font-size: var(--h5, 24px); line-height: 1.3; margin: 44px 0 12px; letter-spacing: -.01em; }
.legal h3 { font-size: var(--text-m, 18px); margin: 26px 0 8px; font-weight: 600; }
.legal p, .legal li { font-size: var(--text-m, 18px); line-height: var(--lh-prose, 1.55); color: #2b2b2b; }
.legal p { margin: 0 0 16px; }
.legal ul { margin: 0 0 18px; padding-left: 22px; }
.legal li { margin-bottom: 8px; }
.legal a { color: var(--site-accent, #29b6f6); text-decoration: underline; text-decoration-color: rgba(41,182,246,.35); text-underline-offset: 3px; }
.legal a:hover { text-decoration-color: currentColor; }
.legal .legal__box { background: #f6f7f9; border-radius: var(--radius-md, 12px); padding: 18px 20px; margin: 0 0 20px; font-size: var(--text-r, 16px); }
.legal .legal__box p:last-child { margin-bottom: 0; }
.legal table { width: 100%; border-collapse: collapse; margin: 0 0 22px; font-size: var(--text-r, 16px); }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--border-soft, #efefef); line-height: 1.45; }
.legal th { font-weight: 600; color: #1f1f1f; }
@media (max-width: 680px) {
  .legal { padding: 112px 0 48px; }
  .legal__inner { padding: 0 20px; }
  .legal p, .legal li { font-size: var(--text-r, 16px); }
  .legal table { display: block; overflow-x: auto; }
}
