html {
  font-family: "Averia Serif Libre", serif;
  font-weight: 300;
  font-style: normal;
}

::selection {
  background: black;
  color: white;
}

main {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  flex-direction: column;
}

@supports (height: 100dvh) {
  main {
    height: 100dvh;
  }
}

h1 {
  font-size: 50px;
  cursor: default;
  margin-bottom: 30px;
}

h1:hover .highlight {
  color: black;
}

h1:hover .highlight::after {
  width: 0;
}

.highlight {
  position: relative;
  color: white;
  transition: color .3s;
}

.highlight::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: black;
  transition: width .3s;
  z-index: -1;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}

ul>li {
  margin: 0 4px;
}

ul>li>a {
  text-decoration: none;
  color: black;
  padding: 10px;
}

ul>li>a:hover svg {
  transform: scale(1.2);
  opacity: 1;
}

ul>li>a>svg {
  width: 30px;
  height: 30px;
  fill: black;
  transition: transform .3s, opacity .3s;
  opacity: 0.1;
}

.about {
  display: grid;
  place-items: center;
  width: min(90vw, 800px);
  margin-inline: auto;
  padding-block: 16vh 12vh;
  font-size: clamp(16px, 1.6vw + 12px, 20px);
  line-height: 1.75;
  color: #222;
}

@supports (animation-timeline: view()) {
  .about {
    opacity: 0;
    transform: translateY(16px);
    animation: about-reveal linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 60%;
  }
}

@keyframes about-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.about p {
  text-wrap: pretty;
}

.about p+p {
  margin-top: 1.4em;
}

@media (max-width: 600px) {
  .about {
    padding-block: 10vh 8vh;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
