body {
  background-color: #9fc4e9;
  background-size: cover;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  min-height: 100dvh;
  box-sizing: border-box;
}

body h1 {
  text-align: center;
}

main {
  width: calc(25vw + 200px);
  max-width: calc(100% - 2rem);
  margin-top: 7rem;
  margin-bottom: 12em;
}

main .about-card {
  background-color: #ffffff4a;
  padding: 1em;
  border-radius: 0.5em;
  border: 1px solid black;
  display: flex;
  flex-direction: column;
  align-items: center;
}

html.dark-mode main .about-card {
  background-color: #ffffff0c;
}

.about-photo {
  display: block;
  width: clamp(12rem, 45vw, 18rem);
  height: clamp(12rem, 45vw, 18rem);
  margin: 0 auto 1.15rem;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  border: 2px solid rgba(0, 0, 0, 0.35);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}

html.dark-mode .about-photo {
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}

.about-text {
  width: 100%;
}

@media screen and (min-width: 768px) {
  main {
    margin-top: 9rem;
  }
}
