@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/OpenSans-Regular-webfont.woff") format("woff");
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/OpenSans-Bold-webfont.woff") format("woff");
}

:root {
  color-scheme: dark;
  --background: #07111f;
  --panel: #0e1b2d;
  --border: #263a55;
  --muted: #b8c8da;
  --text: #eef5ff;
  --accent: #5ee1b2;
  --focus: #8abfff;
}

* { box-sizing: border-box; }

body {
  background: radial-gradient(circle at 75% -20%, rgb(58 118 160 / 24%), transparent 38rem), var(--background);
  color: var(--text);
  font-family: "Open Sans", system-ui, sans-serif;
  line-height: 1.6;
  margin: 0;
  min-height: 100vh;
}

a { color: var(--accent); }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }

main { margin: 0 auto; max-width: 900px; padding: 4rem 1.5rem 5rem; }

.eyebrow {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 0 0 0.5rem;
  text-transform: uppercase;
}

h1 { font-size: clamp(2.25rem, 6vw, 4rem); letter-spacing: -0.04em; line-height: 1.1; margin: 0 0 1rem; }
h2 { font-size: 1.35rem; margin: 0; }
.lede { color: var(--muted); font-size: 1.1rem; max-width: 46rem; }
.updated { color: var(--muted); font-size: 0.9rem; margin: 1.5rem 0 2.5rem; }

.policy-section {
  background: rgb(14 27 45 / 90%);
  border: 1px solid var(--border);
  border-radius: 1rem;
  margin-top: 1rem;
  padding: 1.5rem;
}

.policy-section p:last-child, .policy-section ul:last-child { margin-bottom: 0; }
.policy-section li + li { margin-top: 0.55rem; }

@media (max-width: 560px) {
  main { padding-top: 2.5rem; }
  .policy-section { padding: 1.2rem; }
}
