.hero {
  display: grid;
  width: min(1180px, 100%);
  justify-self: center;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 400px);
  align-items: center;
  gap: clamp(32px, 5vw, 64px);
  min-height: var(--developer-hero-min-height, min(620px, calc(100vh - 170px)));
}

.hero > * {
  min-width: 0;
}

.hero__copy,
.hero > :first-child {
  max-width: 700px;
}

.hero h1 {
  max-width: min(100%, 15ch);
  font-size: clamp(3rem, 5.9vw, 5.8rem);
  line-height: 0.95;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: wrap;
}

@supports (text-wrap: balance) {
  .hero h1 {
    text-wrap: balance;
  }
}

@media (min-width: 1121px) {
  .hero h1 {
    max-width: min(100%, 14.6ch);
  }
}

@media (max-width: 1280px) and (min-width: 1121px) {
  .hero h1 {
    font-size: clamp(3rem, 5.5vw, 5.35rem);
  }
}

@media (max-width: 1120px) {
  .hero h1 {
    max-width: min(100%, 15ch);
    font-size: clamp(3rem, 8.4vw, 5rem);
  }
}

@media (max-width: 760px) {
  .hero h1 {
    max-width: 100%;
    font-size: clamp(2.5rem, 12.4vw, 3.35rem);
    line-height: 0.98;
  }
}

@media (max-width: 390px) {
  .hero h1 {
    font-size: clamp(2.35rem, 11.8vw, 3rem);
  }
}

.hero .lead {
  max-width: min(100%, 62ch);
}

.hero-card,
.hero .status-card {
  width: 100%;
  max-width: 420px;
  justify-self: stretch;
}

@media (max-width: 1120px) {
  .hero {
    grid-template-columns: 1fr;
    align-items: start;
    min-height: auto;
  }

  .hero__copy,
  .hero > :first-child,
  .hero-card,
  .hero .status-card {
    max-width: 760px;
  }
}

@media (max-width: 760px) {
  .hero {
    gap: 24px;
  }
}
