:root { --legal-ink: #17172a; --legal-muted: #5e6880; --legal-line: rgba(23, 23, 42, .14); --legal-teal: #14c9c1; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; color: var(--legal-ink); background: radial-gradient(ellipse 58% 18% at 88% 10%, rgba(20, 201, 193, .19), transparent 100%), radial-gradient(ellipse 52% 18% at 8% 76%, rgba(255, 79, 163, .13), transparent 100%), var(--cream); font-family: var(--font-family); line-height: 1.8; }
a { color: inherit; }
.legal-header { border-bottom: 1px solid var(--legal-line); background: rgba(255, 255, 255, .7); }
.legal-header .container, .legal-footer .container { width: min(100% - 48px, 1120px); margin: 0 auto; }
.legal-header .container { display: flex; align-items: center; min-height: 74px; }
.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--legal-ink); font-size: 25px; font-weight: 700; letter-spacing: -.04em; text-decoration: none; }
.brand-icon { display: block; }
.legal-header .container { justify-content: space-between; gap: 20px; }
.legal-back { color: var(--legal-muted); font-size: 12px; }
.legal-main { overflow-wrap: anywhere; }
.legal-main p + p { margin-top: 16px; }
.legal-main ul + p { margin-top: 16px; }
.legal-main a { text-underline-offset: 4px; }
.legal-footer-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.legal-footer-links a { padding: 6px 0; }
a:focus-visible { outline: 2px solid var(--legal-ink); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.legal-main { width: min(100% - 48px, 820px); margin: 0 auto; padding: 84px 0 100px; }
.legal-kicker { margin: 0 0 9px; color: var(--legal-teal); font-size: 13px; font-weight: 700; letter-spacing: .06em; }
h1 { margin: 0; font-size: clamp(30px, 5vw, 48px); letter-spacing: -.05em; line-height: 1.3; }
.updated { margin: 18px 0 50px; color: var(--legal-muted); font-size: 13px; }
h2 { margin: 45px 0 16px; font-size: 22px; letter-spacing: -.04em; }
p, li { font-size: 15px; }
p { margin: 0; }
.legal-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--legal-line); }
.legal-table tr { border-bottom: 1px solid var(--legal-line); }
.legal-table th, .legal-table td { padding: 21px 8px; text-align: left; vertical-align: top; }
.legal-table th { width: 31%; font-size: 14px; white-space: nowrap; }
.legal-table td { color: var(--legal-muted); font-size: 14px; }
.legal-box { padding: 25px 28px; border: 1px solid var(--legal-line); border-radius: 16px; background: rgba(255, 255, 255, .62); }
.legal-box p + p { margin-top: 18px; }
ul { margin: 14px 0 0; padding-left: 1.25em; }
.legal-footer { padding: 30px 0; border-top: 1px solid var(--legal-line); color: var(--legal-muted); font-size: 12px; }
.legal-footer .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 28px; }
.legal-footer a:hover { color: var(--legal-ink); }
@media (max-width: 600px) { .legal-header .container, .legal-footer .container, .legal-main { width: min(100% - 36px, 820px); }.legal-main { padding: 58px 0 72px; }.legal-table, .legal-table tbody, .legal-table tr, .legal-table th, .legal-table td { display: block; width: 100%; }.legal-table th { padding: 18px 0 2px; }.legal-table td { padding: 2px 0 18px; }.legal-table tr { padding: 0; } }
