html {
  scroll-behavior: smooth;
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

[hidden] {
  display: none !important;
}

html,
body {
  overflow-x: hidden;
}

body.nav-open {
  overflow: hidden;
}

a,
a:where(:visited) {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: var(--font-family-sans);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

h1,
h2,
h3 {
  color: var(--color-text-headings);
  text-wrap: balance;
}

h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  font-weight: var(--font-weight-bold);
}

h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-weight: var(--font-weight-bold);
}

h3 {
  font-size: var(--font-size-title);
  line-height: var(--line-height-title);
  font-weight: var(--font-weight-semibold);
}

body {
  font-size: var(--font-size-body-lg);
  line-height: var(--line-height-body-lg);
  font-weight: var(--font-weight-normal);
  font-family: var(--font-family-sans);
  color: var(--color-text-body);
}