:root {
  color-scheme: light;
  --ink: #11233b;
  --muted: #526174;
  --link: #214fd8;
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: #fff; line-height: 1.65; }
a { color: var(--link); text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--link); outline-offset: 5px; border-radius: 2px; }
h1 { margin: 0 0 1rem; font-size: clamp(2rem, 6vw, 2.75rem); font-weight: 650; letter-spacing: -.04em; line-height: 1.2; }
p { margin: 0 0 1rem; }

.home { width: min(34rem, calc(100% - 3rem)); margin: clamp(4rem, 20vh, 12rem) auto 4rem; }
.home p { color: var(--muted); font-size: 1.0625rem; }
.home nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.75rem; font-size: .9375rem; }

.policy-wrap { width: min(42rem, calc(100% - 3rem)); margin: 0 auto; }
header { padding-top: 2rem; font-size: .9375rem; }
.policy { padding: 2.5rem 0 4rem; }
.policy h1 { font-size: clamp(2rem, 6vw, 2.5rem); }
.policy h2 { font-size: 1.125rem; line-height: 1.4; margin: 1.75rem 0 .625rem; font-weight: 650; }
.policy p { color: #384a5f; }
.policy .meta { font-size: .875rem; color: var(--muted); margin-bottom: 1.5rem; }
.policy a { overflow-wrap: anywhere; }
.skip { position: absolute; left: 1rem; top: -5rem; padding: .5rem 1rem; background: #fff; }
.skip:focus { top: 1rem; }

@media print {
  .skip { display: none; }
  .home, .policy-wrap { width: 100%; margin: 0; }
  .policy h2 { break-after: avoid; }
}
