@font-face {
  font-family: Sora;
  src: url("/assets/sora.3902474d3ece89c8.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: dark;
  background: #0e0f1a;
  color: #fdfdfd;
  font-family: Sora, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; font-size: 17px; line-height: 1.75; }
.wrap { width: min(100% - 48px, 800px); margin-inline: auto; }
a { color: #bc99ff; text-underline-offset: .25em; }
a:hover { color: #fdfdfd; }
a:focus-visible { outline: 2px solid #bc99ff; outline-offset: 6px; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 28px; }
.legal-header a, .legal-footer a { display: inline-flex; min-height: 44px; align-items: center; }
.brand { flex-shrink: 0; }
.brand img { display: block; width: 139px; height: 28px; }
main { padding-block: 48px 8px; }
h1 { margin: 0 0 48px; font-size: clamp(30px, 5vw, 44px); line-height: 1.2; font-weight: 600; letter-spacing: -.025em; }
h2 { margin: 40px 0 20px; font-size: 23px; line-height: 1.4; font-weight: 600; }
h3 { margin: 28px 0 16px; font-size: 19px; line-height: 1.5; font-weight: 600; }
p { margin: 0 0 20px; }
#legal-content { overflow-wrap: anywhere; }
.legal-footer { padding-block: 32px 56px; }
.skip-link { position: absolute; top: 12px; left: 24px; padding: 12px 20px; background: #0e0f1a; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }

@media (max-width: 520px) {
  body { font-size: 16px; }
  .wrap { width: calc(100% - 40px); }
  .legal-header { padding-block: 16px; }
  main { padding-top: 32px; }
  h1 { margin-bottom: 32px; }
  h2 { font-size: 21px; }
  h3 { font-size: 18px; }
}
