main {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-inline: auto;
  width: min(85dvw, 820px);
  margin-top: clamp(5.3em, 11.2dvw + 0.1rem, 8em);
  padding-bottom: 1em;
}

section {
  width: min(45dvw, 400px);
  text-align: right;
  margin-right: min(1.8dvw, 1.2em);
}

h1 {
  font-size: clamp(1.33em, 1.95dvw + 0.4rem, 1.7em);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2em;
  text-align: right;
  margin: 0.15em -0.12em 0.4em 0;
}

h3 {
  font-size: clamp(1.2em, 1.95dvw + 0.2rem, 1.5em);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.22em;
  text-align: right;
  margin: 0.15em -0.12em 1.12em 0;
}

p {
  font-size: clamp(0.9em, 1.2dvw + 0.35rem, 1.05em);
  letter-spacing: 0.04em;
  line-height: 1.2em;
  white-space: normal;
  text-align: right;
  margin: 0.5em -0.04em 0 0;
}

button {
  font-size: clamp(1.1em, 1.63dvw + 0.35rem, 1.29em);
  letter-spacing: 0.17em;
  padding: 1em 0em 1.5em 1.5em;
}

h1 a:hover {
  color: #fdf;
  text-shadow: var(--halos);
  transition: 0.5s;
}
h3 a:hover {
  color: #fef;
  text-shadow: var(--halos);
  transition: 0.5s;
}
img {
  width: clamp(308px, 40dvw, 402px);
  border: 1px solid #000;
  margin-left: min(1.8dvw, 1.2em);
}

@media (max-width: 720px) {
  main {
    flex-direction: column-reverse;
    align-items: center;
    margin-top: min(23dvw + 0.76rem, 9.8em);
    padding: 0;
  }

  section {
    width: min(90dvw, 550px);
    text-align: center;
    margin: 0;
  }

  img {
    width: min(70dvw, 402px);
    margin: 0;
  }

  .delay {
    animation: delay 0.05s ease-in 0.2s backwards;
  }

  @keyframes delay {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  h1 {
    font-size: min(4.5dvw + 0.4rem, 2em);
    letter-spacing: 0.1em;
    text-align: center;
    margin: calc(0.52em - 0.3rem) -0.1em 0.2em 0;
  }

  h3 {
    font-size: min(3.5dvw + 0.4rem, 1.8em);
    letter-spacing: 0.12em;
    text-align: center;
    margin: 0 -0.12em calc(0.6em - 0.1rem) 0;
  }

  p {
    font-size: min(2.5dvw + 0.35rem, 1.2em);
    line-height: 1.32em;
    text-align: left;
    margin: 0.6em 0.7em 0 1em;
  }

  button {
    font-size: min(3dvw + 0.35rem, 1.45rem);
    padding: calc(0.55em - 0.1rem) 1.5em 1.5em;
  }
}
