html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  color: var(--c-body);
  background-color: var(--c-white);
}

h1, h2, h3, h4 {
  font-family: var(--font-heading);
  font-weight: var(--fw-heading);
  letter-spacing: var(--ls-heading);
  color: var(--c-heading);
  margin: 0;
}

h5, h6 {
  font-family: var(--font-body);
  color: var(--c-heading);
  margin: 0;
}

h1 { font-size: var(--fs-h1); line-height: var(--lh-h1); }
h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); }
h3 { font-size: var(--fs-h3); line-height: var(--lh-h3); }
h4 { font-size: var(--fs-h4); line-height: var(--lh-h4); }
h5 { font-size: var(--fs-h5); line-height: var(--lh-h5); font-weight: var(--fw-heading); }
h6 { font-size: var(--fs-h6); line-height: var(--lh-h6); font-weight: var(--fw-h6); }

p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

a { color: var(--c-cta); text-decoration: none; }
a:hover { color: var(--c-cta-hover); }

img { max-width: 100%; height: auto; }

svg { stroke-width: 1.6; }

:focus-visible {
  outline: var(--focus-width) solid var(--c-focus);
  outline-offset: var(--focus-offset);
}
