@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,700;1,400&family=Source+Serif+4:opsz,wght@8..60,800&display=swap');

html {
  color: var(--text-color);
  font-family: var(--font-family);
  font-weight: var(--font-weight-regular);
}

body {
  font-size: var(--text-font-size);
  line-height: 27px;
  hyphens: auto;
}

p {
  margin-top: var(--space-xs);
}

h1 {
  margin: 0;
  text-align: center;
  line-height: 1.15;
  text-transform: none;
  font-variant-caps: small-caps;
  font-family: var(--font-family-title);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-title);
  letter-spacing: -.012em;
  text-wrap: balance;
  color: var(--title-color);
}

h2 {
  position: relative;
  margin: var(--space-lg) auto;
  text-transform: none;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--title-color);
}

h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: gray;
}

h3 {
  margin: var(--space-md) auto;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--title-color);
}

h4 {
  margin: var(--space-md) auto;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--title-color);
}

#subtitle {
  margin: 0;
  text-align: center;
  line-height: 1.15;
  color: var(--text-color);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-sm);
  font-style: italic;
}

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

a:hover {
  opacity: var(--hover-opacity);
}
