/* Terms of Use and Privacy Policy pages (tools/legal_pages.py). Tokens: YAXYS DESIGN.md,
   revised 2026-09-24; header is top-nav-centered, footer matches the home page. */
:root {
  --canvas: #000133;
  --raised: #060D46;
  --orchid: #A442A0;
  --lavender: #EFC0FE;
  --on-dark: #F9F9F9;
  --on-dark-muted: #B0A3CC;
  --hairline-dark: #223068;
  --sans: 'Geist', 'Segoe UI', system-ui, sans-serif;
  --r-sm: 4px;
  --gutter: 24px;
  --nav-h: 88px;
  --logo-h: 64px;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .976 0 0 0 0 .976 0 0 0 0 .976 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: var(--nav-h); }
body {
  margin: 0;
  background-color: var(--canvas); background-image: var(--grain);
  color: var(--on-dark);
  font-family: var(--sans); font-size: 16px; line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img { display: block; }
h1, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: var(--lavender); text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color 150ms; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--lavender); outline-offset: 2px; }
.nw { white-space: nowrap; }
.skip {
  position: absolute; left: var(--gutter); top: -80px; z-index: 30;
  background-color: var(--raised); color: var(--on-dark); padding: 12px 16px;
  border: 1px solid var(--lavender); border-radius: var(--r-sm); text-decoration: none;
}
.skip:focus { top: 12px; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 var(--gutter); }

/* top-nav-centered: the logo alone, centered */
.nav {
  position: sticky; top: 0; z-index: 20;
  height: var(--nav-h);
  background-color: var(--canvas); background-image: var(--grain);
  border-bottom: 1px solid var(--hairline-dark);
}
.nav-in { height: 100%; display: flex; align-items: center; justify-content: center; }
.nav-logo { flex: none; border-radius: var(--r-sm); }
.nav-logo img { height: var(--logo-h); width: auto; }

/* The document: one readable column */
.doc { max-width: 72ch; padding: 72px 0 112px; }
.doc h1 { font: 800 44px/1.06 var(--sans); letter-spacing: -.01em; }
.doc .eff { margin: 16px 0 48px; font: 400 14px/1.45 var(--sans); color: var(--on-dark-muted); }
.doc p, .doc li { font: 400 18px/1.6 var(--sans); color: var(--on-dark); text-wrap: pretty; }
.doc p + p, .doc ol + p { margin-top: 24px; }
.doc p + ol { margin-top: 12px; }
.doc .sub { padding-left: 24px; }
.doc .sub li + li { margin-top: 8px; }
.doc strong { font-weight: 600; }
.doc a { overflow-wrap: anywhere; }

/* Footer */
.footer { border-top: 1px solid var(--hairline-dark); padding: 56px 0; }
.footer-in { display: grid; grid-template-columns: auto auto auto; justify-content: start; column-gap: 96px; row-gap: 32px; }
.footer-in > img { height: 48px; width: auto; }
.footer .label {
  margin-bottom: 8px;
  font: 600 12px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lavender);
}
.footer li a {
  display: inline-flex; align-items: center; min-height: 44px;
  font: 400 14px/1.45 var(--sans); color: var(--lavender); text-decoration: none;
}
.footer li a:hover, .footer li a[aria-current] { text-decoration: underline; }
.footer-base {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 32px;
  margin-top: 48px;
  font: 400 14px/1.45 var(--sans); color: var(--on-dark-muted);
}

@media (max-width: 639.98px) {
  :root { --gutter: 16px; --nav-h: 64px; --logo-h: 48px; }
  .doc { padding: 48px 0 72px; }
  .doc h1 { font-size: 30px; line-height: 1.12; }
  .doc .eff { margin-bottom: 32px; }
  .doc .sub { padding-left: 16px; }
  .footer-in { grid-template-columns: 1fr; }
  .footer-base { flex-direction: column; }
}
