/* The terms, the privacy policy and the refund policy: plain pages in the landing page's paper,
   ink and type (docs/index.html has those inline; these are the same values). */
:root {
  color-scheme: light;
  --paper: #ecebe6;
  --ink: #15201c;
  --ink-2: #4d5853;
  --ink-3: #737b76;
  --rule: rgba(21, 32, 28, .14);
  --signal: #d8502a;
  --display: "Newsreader", Georgia, "Times New Roman", serif;
  --body: "Jost", "Futura", "Avenir Next", system-ui, sans-serif;
  --gutter: clamp(16px, 5vw, 72px);
}
* { box-sizing: border-box; }
html { background: var(--paper); }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 18px/1.6 var(--body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--signal); outline-offset: 3px; }

.top, footer { padding: 22px var(--gutter); max-width: 1240px; margin-inline: auto; }
.top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font: 500 21px/1 var(--display); text-decoration: none; }
.brand svg { width: 22px; height: 22px; }
.top nav, footer nav { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 16px; color: var(--ink-2); }
.top nav a, footer a { text-decoration: none; }
.top nav a:hover, footer a:hover, .top nav a[aria-current] { color: var(--ink); }
.top nav a[aria-current] { text-decoration: underline; }

article { max-width: 760px; margin: 0 auto; padding: clamp(28px, 6vw, 72px) var(--gutter) 72px; }
h1, h2 { font-family: var(--display); font-weight: 400; text-wrap: balance; letter-spacing: -.015em; margin: 0; }
h1 { font-size: clamp(40px, 6vw, 64px); line-height: 1.02; }
h2 { font-size: 28px; line-height: 1.2; margin-top: 44px; }
.dated { margin: 14px 0 0; color: var(--ink-3); font-size: 16px; }
.lead { margin-top: 28px; font-size: 20px; color: var(--ink-2); }
p, ul { margin: 14px 0 0; }
ul { padding-left: 22px; }
li + li { margin-top: 6px; }
table { width: 100%; margin-top: 18px; border-collapse: collapse; font-size: 16.5px; }
th, td { padding: 10px 14px 10px 0; border-top: 1px solid var(--rule); text-align: left; vertical-align: top; }
th { color: var(--ink-3); font-weight: 500; font-size: 15px; }
address { font-style: normal; margin-top: 14px; }

footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; border-top: 1px solid var(--rule); color: var(--ink-3); font-size: 15px; padding-block: 32px; }
footer p { margin: 0; max-width: 62ch; }
@media (max-width: 640px) { body { font-size: 17px; } table, tbody, tr, th, td { display: block; } thead { display: none; } td { border: 0; padding: 2px 0; } tr { border-top: 1px solid var(--rule); padding: 10px 0; } td:first-child { font-weight: 500; } }
