/* Opening section sized to fit a standard desktop viewport. */
@media (min-width: 761px) {
  .hero-grid {
    height: calc(100svh - 89px);
    min-height: 620px;
    max-height: 900px;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: 4%;
    align-items: center;
  }

  .hero-copy {
    padding: 0;
  }

  .hero .eyebrow {
    margin-bottom: 17px;
  }

  .hero h1 {
    max-width: 690px;
    margin-bottom: 19px;
    font-size: clamp(3.15rem, 4.5vw, 4.4rem);
    line-height: 1.055;
    letter-spacing: -.055em;
  }

  .hero-lede {
    max-width: 570px;
    font-size: 1.02rem;
    line-height: 1.58;
  }

  .hero-actions {
    gap: 28px;
    margin: 23px 0 31px;
  }

  .hero-foot {
    gap: 22px;
    padding-top: 15px;
    font-size: .67rem;
  }

  .hero-foot span + span::before {
    margin-right: 20px;
  }

  .hero-visual {
    height: 100%;
    min-height: 0;
    padding-top: 0;
    align-items: center;
  }

  .portrait-frame {
    height: clamp(400px, 62svh, 560px);
  }

  .portrait-label {
    bottom: clamp(45px, 10svh, 110px);
    left: -20px;
  }

  .visual-corner {
    top: 7%;
    right: -10px;
  }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(270px, .75fr);
    gap: 3%;
  }

  .hero h1 {
    font-size: clamp(2.85rem, 4.3vw, 3.45rem);
  }

  .hero-foot {
    flex-direction: column;
    gap: 4px;
  }

  .hero-foot span + span::before {
    display: none;
  }

  .portrait-frame {
    height: clamp(360px, 55svh, 490px);
  }
}

@media (min-width: 761px) and (max-height: 740px) {
  .hero-grid {
    min-height: 560px;
  }

  .hero h1 {
    font-size: clamp(2.8rem, 4vw, 3.7rem);
    margin-bottom: 13px;
  }

  .hero .eyebrow {
    margin-bottom: 12px;
  }

  .hero-actions {
    margin: 18px 0 21px;
  }

  .portrait-frame {
    height: clamp(350px, 55svh, 460px);
  }
}
