*,
*::before,
*::after {
  box-sizing: border-box;
}

html.sig {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--canvas);
}

.page {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--f);
  font-weight: var(--w-body);
  font-size: var(--read);
  line-height: var(--lh-body);
  letter-spacing: var(--tr-body);
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}

h1,
h2,
h3,
p,
ul,
ol,
figure {
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

canvas {
  display: block;
}

::selection {
  background: rgba(94, 106, 210, 0.34);
  color: var(--ink);
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-radius: 6px;
}

.wrap {
  width: min(var(--wrap), 100% - var(--gut) * 2);
  margin-inline: auto;
}

.h2 {
  font-size: var(--h2);
  font-weight: var(--w-display);
  line-height: var(--lh-h2);
  letter-spacing: var(--tr-h2);
  color: var(--ink);
  text-shadow: 0 0 48px rgba(126, 140, 255, 0.16);
}

.h3 {
  font-size: var(--h3);
  font-weight: var(--w-medium);
  line-height: 1.24;
  letter-spacing: var(--tr-h3);
  color: var(--ink);
}

.lead {
  font-size: var(--lead);
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 46ch;
}

.h2 + .lead,
.h2 + .read {
  margin-top: clamp(20px, 2.4vw, 30px);
}

.h3 + .read {
  margin-top: 12px;
}

.read {
  font-size: var(--read);
  line-height: var(--lh-body);
  color: var(--ink-2);
}

.points {
  margin-top: clamp(26px, 3vw, 38px);
  display: grid;
  gap: 12px;
}

.points li {
  font-size: var(--read);
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 40ch;
}
