:root {
  --black: #070707;
  --white: #f3f1ec;
  --muted: #aaa7a0;
  --line: #343331;
}

* { box-sizing: border-box; }
html { background: var(--black); }
body {
  max-width: 58rem;
  margin: 0 auto;
  padding: clamp(1.5rem, 5vw, 4rem);
  background: var(--black);
  color: var(--white);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-underline-offset: .2em; }
a:focus-visible { outline: 2px solid var(--white); outline-offset: 5px; }
header { padding-bottom: clamp(4rem, 10vw, 8rem); }
header a { text-decoration: none; }
article { max-width: 44rem; }
h1, h2 { font-weight: 400; }
h1 {
  margin: 0;
  font-size: clamp(3.5rem, 9vw, 7.5rem);
  line-height: .9;
  letter-spacing: -.055em;
}
.effective { margin: 1.5rem 0 4rem; color: var(--muted); font-family: Arial, sans-serif; font-size: .75rem; }
h2 {
  margin: 3.5rem 0 .7rem;
  padding-top: 1.25rem;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  border-top: 1px solid var(--line);
}
p, ul { margin: 0 0 1.25rem; }
ul { padding-left: 1.2rem; }
li + li { margin-top: .45rem; }
strong { font-weight: 400; text-decoration: underline; text-underline-offset: .18em; }
footer {
  margin-top: 7rem;
  padding-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  border-top: 1px solid var(--line);
  font-family: Arial, sans-serif;
  font-size: .72rem;
}
footer a { color: var(--muted); text-decoration: none; }
footer a:hover, footer a:focus-visible { color: var(--white); }
