:root {
  color-scheme: dark;
  font-family: Satoshi, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  color: #f4f4f1;
  background: #08090a;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body.legal-document { margin: 0; background: #08090a; color: #f4f4f1; }
a { color: inherit; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: #fff; text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid #c8c9c7; outline-offset: 4px; border-radius: 3px; }
.legal-skip { position: fixed; top: 12px; left: 20px; z-index: 100; padding: 12px 18px; border-radius: 10px; background: #e5e5e3; color: #111214; transform: translateY(-180%); }
.legal-skip:focus { transform: none; }
.legal-site-header { position: sticky; top: 0; z-index: 20; min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px max(24px, calc((100% - 1120px) / 2)); background: #08090a; }
.legal-brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; font-size: 23px; letter-spacing: -.04em; font-weight: 800; white-space: nowrap; }
.legal-brand img { display: block; width: 32px; height: 32px; object-fit: contain; flex: 0 0 auto; }
.legal-site-header nav { display: flex; align-items: center; gap: 24px; font-size: 15px; font-weight: 700; }
.legal-site-header nav a { text-decoration: none; }
.legal-login { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 12px; background: #1a1b1d; color: #f4f4f1; }
.legal-login:focus-visible { outline: 2px solid #c8c9c7; outline-offset: 3px; }
.legal-page { width: min(880px, calc(100% - 48px)); margin: 0 auto; padding: 44px 0 88px; overflow-wrap: anywhere; }
.legal-page:focus { outline: none; }
.legal-back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 32px; font-size: 14px; color: #b3b5b3; text-decoration: none; }
.legal-heading { margin-bottom: 32px; }
.legal-eyebrow { margin: 0 0 16px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: #b8bab8; }
.legal-date { margin: 0 0 12px; color: #a4a7a5; font-size: 13px; line-height: 1.6; }
.legal-heading h1 { margin: 0 0 20px; font-size: clamp(38px, 6vw, 64px); line-height: 1.1; letter-spacing: -.055em; color: #f4f4f1; }
.legal-heading > p:last-child { max-width: 38em; margin: 0; font-size: 20px; line-height: 1.55; color: #b6b8b6; }
.legal-contents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; padding: 24px; margin-bottom: 12px; border: 0; border-radius: 16px; background: #111214; }
.legal-contents p { grid-column: 1 / -1; margin: 0 0 8px; font-size: 13px; font-weight: 800; color: #c2c4c2; }
.legal-contents a { display: flex; align-items: center; min-height: 38px; font-size: 14px; line-height: 1.5; color: #e0e1df; }
.legal-body { width: 100%; max-width: 76ch; }
.legal-body section { padding-top: 38px; scroll-margin-top: 104px; }
.legal-body section + section { margin-top: 24px; }
.legal-body h2 { margin: 0 0 20px; font-size: clamp(23px, 3vw, 28px); line-height: 1.3; letter-spacing: -.03em; color: #f4f4f1; }
.legal-body h3 { margin: 28px 0 10px; font-size: 18px; line-height: 1.4; letter-spacing: -.015em; color: #e4e5e3; }
.legal-body p { color: #b9bcba; font-size: 17px; line-height: 1.8; margin: 0 0 18px; }
.legal-body a { color: #f0f0ee; }
.legal-site-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 28px; padding: 36px max(24px, calc((100% - 1120px) / 2)); background: #08090a; }
.legal-site-footer .legal-brand { font-size: 20px; }
.legal-site-footer .legal-brand img { width: 28px; height: 28px; }
.legal-site-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 14px; line-height: 1.7; }
.legal-site-footer [aria-current="page"] { font-weight: 800; color: #fff; }
.legal-site-footer small { width: 100%; color: #a4a7a5; font-size: 13px; }
@media (max-width: 640px) {
  .legal-site-header { min-height: 72px; padding: 12px 20px; gap: 12px; }
  .legal-site-header .legal-brand { font-size: clamp(16px, 4.5vw, 21px); gap: 7px; }
  .legal-site-header .legal-brand img { width: 27px; height: 27px; }
  .legal-site-header nav { gap: 0; font-size: 14px; }
  .legal-header-home { display: none; }
  .legal-login { padding: 10px 13px; gap: 7px; }
  .legal-page { width: calc(100% - 40px); padding: 24px 0 56px; }
  .legal-back { margin-bottom: 24px; }
  .legal-heading > p:last-child { font-size: 18px; }
  .legal-contents { grid-template-columns: 1fr; padding: 20px; gap: 4px; }
  .legal-contents a { min-height: 44px; }
  .legal-body section { padding-top: 30px; scroll-margin-top: 96px; }
  .legal-body p { font-size: 16px; line-height: 1.75; }
  .legal-site-footer { flex-direction: column; align-items: flex-start; padding: 28px 20px; }
  .legal-site-footer nav { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) { :root { scroll-behavior: auto; } }
@media print {
  :root, body.legal-document { background: #fff; color: #000; }
  .legal-site-header, .legal-back, .legal-contents, .legal-skip, .legal-site-footer { display: none; }
  .legal-page { width: 100%; padding: 0; }
  .legal-body { max-width: none; }
  .legal-body p { font-size: 11pt; color: #000; }
  .legal-body h2, .legal-body h3 { break-after: avoid; }
  .legal-body p { orphans: 3; widows: 3; }
}
