.evolve {
  overflow: hidden;
  background: var(--blue);
}

.evolve-poster {
  min-height: 298px;
  position: relative;
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  overflow: hidden;
  background: var(--blue);
}

.evolve-title-block {
  min-width: 0;
  padding: 27px clamp(26px, 4.4vw, 60px);
  position: relative;
  z-index: 3;
}

.evolve-title-block p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, .76);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.evolve-title-block h2 {
  margin: 45px 0 0;
  color: #fff;
  font-size: clamp(68px, 8.8vw, 120px);
  line-height: .74;
  letter-spacing: -.065em;
}

.evolve-title-block h2 span {
  display: block;
  color: var(--ink);
}

.evolve-speakers {
  min-width: 0;
  position: relative;
  z-index: 2;
}

.evolve-system {
  height: auto;
  position: absolute;
  z-index: 2;
  filter: drop-shadow(0 12px 9px rgba(0, 0, 0, .31));
}

.evolve-system-angle {
  width: clamp(110px, 11.8vw, 162px);
  right: 32%;
  bottom: -21px;
  transform: rotate(-2deg);
}

.evolve-system-front {
  width: clamp(105px, 10.8vw, 152px);
  right: 7%;
  bottom: -16px;
}

.evolve-rail {
  min-height: 70px;
  padding-left: clamp(24px, 4vw, 52px);
  display: grid;
  grid-template-columns: minmax(165px, .8fr) minmax(130px, .55fr) minmax(210px, .9fr);
  align-items: stretch;
  color: #fff;
  background: var(--ink);
}

.evolve-rail p {
  min-width: 0;
  margin: 0;
  padding-right: 22px;
  display: flex;
  align-items: center;
  gap: 7px;
  border-right: 1px solid #344155;
}

.evolve-rail p + p { padding-left: 22px; }
.evolve-rail p strong { font-size: 20px; letter-spacing: -.035em; }
.evolve-rail p span { color: #8e9cad; font-size: 8px; font-weight: 700; }

.evolve-rail button {
  min-height: 70px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  color: #fff;
  background: var(--blue);
  font: inherit;
  font-size: 10px;
  font-weight: 820;
  cursor: pointer;
  transition: background-color 150ms ease;
}

.evolve-rail button:hover { background: #0065df; }
.evolve-rail button:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }

@media (max-width: 620px) {
  .evolve-poster {
    min-height: 336px;
    display: block;
  }

  .evolve-title-block { padding: 20px; }

  .evolve-title-block p {
    justify-content: flex-start;
    font-size: 7px;
  }

  .evolve-title-block h2 {
    margin-top: 42px;
    font-size: clamp(52px, 15vw, 59px);
  }

  .evolve-speakers {
    position: absolute;
    inset: 0;
  }

  .evolve-system-angle {
    width: clamp(100px, 29vw, 108px);
    right: 21%;
    bottom: -16px;
  }

  .evolve-system-front {
    width: clamp(94px, 27vw, 101px);
    right: 1%;
    bottom: -12px;
  }

  .evolve-rail {
    min-height: 112px;
    padding-left: 18px;
    grid-template-columns: 1fr 1fr;
  }

  .evolve-rail p {
    min-height: 54px;
    padding-right: 12px;
  }

  .evolve-rail p + p { padding-left: 12px; }
  .evolve-rail p strong { font-size: 18px; }
  .evolve-rail p span { font-size: 7px; }

  .evolve-rail button {
    min-height: 58px;
    grid-column: 1 / -1;
  }
}
