:root {
  color-scheme: light;
  --paper: #ffffff;
  --ink: #000000;
  --rule: #000000;
}

* { box-sizing: border-box; }

html {
  background: var(--paper);
  color: var(--ink);
}

body {
  max-width: 860px;
  margin: 0 auto;
  padding: 72px 32px 96px;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}

main { width: 100%; }

h1, h2, h3, p, ul, ol { margin-top: 0; }

h1 {
  margin-bottom: 8px;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
}

h2 {
  margin: 42px 0 14px;
  padding-top: 10px;
  border-top: 1px solid var(--rule);
  font-size: 19px;
  line-height: 1.35;
  font-weight: 700;
}

h3 {
  margin: 26px 0 10px;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
}

p { margin-bottom: 18px; }

ul, ol { margin: 0 0 18px 24px; padding: 0; }

li { margin-bottom: 9px; }

.effective-date {
  margin-bottom: 34px;
  font-size: 14px;
}

.intro {
  padding-bottom: 8px;
  font-weight: 600;
}

a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }

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

strong { font-weight: 700; }

@media (max-width: 640px) {
  body { padding: 48px 20px 64px; font-size: 15px; }
  h1 { font-size: 29px; }
  h2 { margin-top: 34px; font-size: 18px; }
}

@media print {
  body { max-width: none; padding: 0; font-size: 11pt; line-height: 1.55; }
  h2 { break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
}
