body {
  max-width: 40rem;
  margin: 2rem auto;
  padding: 0 1rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.experience + .experience {
  margin-block-start: 2rem;
}

.experience-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 0.125rem 1rem;
}

.experience-header h3,
.experience-header p {
  margin: 0;
}

.experience-header .experience-role {
  grid-column: 1 / -1;
  color: #595959;
  font-size: 0.9375rem;
}

.experience-header .experience-dates {
  grid-column: 2;
  grid-row: 1;
  color: #595959;
  font-size: 0.875rem;
}

@media (max-width: 32rem) {
  .experience-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .experience-header .experience-role,
  .experience-header .experience-dates {
    grid-column: 1;
  }

  .experience-header .experience-dates {
    grid-row: auto;
  }
}

.greeting {
  display: inline-block;
}

@media (prefers-reduced-motion: no-preference) {
  .greeting {
    animation: greeting-rise 400ms ease-out;
  }

  @keyframes greeting-rise {
    from {
      transform: translateY(0.2em);
    }
    to {
      transform: translateY(0);
    }
  }
}
