/* WorldScan Home: DM Sans, worldScanNight, worldScanBlue, white text. */
@font-face {
  font-family: "DM Sans";
  src: url("/fonts/DMSans.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --background: #0a0a15;
  --blue: #0e04d4;
  --text: rgba(255, 255, 255, 0.8);
  --heading: #fff;
  --muted: rgba(255, 255, 255, 0.5);
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--background);
  color: var(--text);
  line-height: 1.7;
  overflow-wrap: anywhere;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse 520px 380px at 50% 130px, rgba(14, 4, 212, 0.22), rgba(14, 4, 212, 0.04) 55%, transparent 100%);
}
.container { width: min(100% - 48px, 700px); margin-inline: auto; }
header { display: flex; justify-content: center; padding-block: 48px 40px; }
.brand { display: inline-flex; align-items: center; color: var(--heading); font-size: 1.25rem; font-weight: 500; line-height: 1.18; text-decoration: none; }
.brand-world { opacity: 0.64; }
.brand-scan { opacity: 1; }
h1 { color: var(--heading); font-size: clamp(1.9rem, 5vw, 2.25rem); font-weight: 500; line-height: 1.25; letter-spacing: -0.03em; text-align: center; margin: 0 0 12px; }
h2 { color: var(--heading); font-size: 1.2rem; font-weight: 500; line-height: 1.4; letter-spacing: -0.01em; margin: 36px 0 12px; }
p, ul { margin-block: 0 18px; }
ul { padding-left: 24px; }
li { margin-block: 8px; }
strong { color: var(--heading); font-weight: 600; }
.effective-date { color: var(--muted); font-size: 0.875rem; text-align: center; margin-bottom: 40px; }
a { color: inherit; text-underline-offset: 0.2em; }
a:hover { color: var(--heading); }
a:focus-visible { outline: 2px solid var(--heading); outline-offset: 5px; border-radius: 2px; }
.skip-link { position: absolute; top: -100px; left: 20px; padding: 8px; background: var(--background); }
.skip-link:focus { top: 12px; }
footer { color: var(--muted); font-size: 0.875rem; padding-block: 32px 40px; }
footer nav, .legal-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 24px; }
footer a { text-decoration: none; }
footer a[aria-current="page"] { color: var(--heading); }
.legal-index { text-align: center; min-height: 40vh; }
.legal-links { margin-block: 32px; }
@media (max-width: 420px) {
  .container { width: calc(100% - 40px); }
  header { padding-block: 36px 32px; }
}
@media print {
  :root { color-scheme: light; --background: white; --text: #222; --heading: black; --muted: #555; }
  body::before, .skip-link, header, footer { display: none; }
  .container { width: 100%; }
  h2 { break-after: avoid; }
}
