/* Hero position chosen from Maxim's screenshot: the portrait remains open,
   and both halves of the promise stay together directly above the CTA. */
@media (max-width: 1023px) {
  #hero .hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: 92px;
  }

  #hero h1 {
    position: static;
    display: block;
    width: 100%;
    max-width: 650px;
  }

  #hero h1::before {
    content: "";
    display: block;
    width: 70px;
    height: 5px;
    margin: 0 0 14px;
    background: var(--accent-red);
  }

  #hero h1 > .hero-service {
    position: absolute;
    top: 16px;
    left: 0;
    margin: 0;
    color: var(--white);
    font-size: clamp(14px, 3.9vw, 16px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .02em;
    white-space: nowrap;
  }

  #hero h1 > .hero-headline {
    display: block;
    max-width: 650px;
    color: var(--white);
    font-size: clamp(22px, 6.15vw, 28px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.052em;
    text-transform: uppercase;
  }

  #hero h1 > .hero-headline > .hero-headline-before,
  #hero h1 > .hero-headline > .hero-headline-after {
    display: block;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-wrap: balance;
  }

  #hero h1 > .hero-headline > .hero-headline-before {
    margin: 0;
    color: rgba(248, 248, 244, .64);
    font-weight: 700;
  }

  #hero h1 > .hero-headline > .hero-headline-after {
    margin: 4px 0 0;
    color: var(--white);
    font-weight: 800;
  }

  #hero .hero-entry {
    position: static;
    width: 100%;
    max-width: 650px;
    padding-top: 14px;
  }
}

@media (min-width: 601px) and (max-width: 1023px) {
  #hero h1 > .hero-headline {
    font-size: clamp(32px, 4.8vw, 42px);
  }
}

@media (max-width: 600px) and (max-height: 650px) {
  #hero .hero-copy { padding-top: 68px; }
  #hero h1 > .hero-service { top: 10px; }
  #hero h1 > .hero-headline { font-size: clamp(20px, 5.8vw, 25px); }
  #hero h1::before { margin-bottom: 9px; }
  #hero .hero-entry { padding-top: 9px; }
}

@media (min-width: 1024px) {
  #hero h1::before {
    content: "";
    display: block;
    order: 1;
    width: 70px;
    height: 5px;
    margin: 0 0 18px;
    background: var(--accent-red);
  }

  #hero h1 > .hero-headline {
    display: block;
    max-width: 650px;
    font-size: clamp(31px, 2.75vw, 42px);
    line-height: 1.1;
    letter-spacing: -.05em;
    text-transform: uppercase;
  }

  #hero h1 > .hero-headline > .hero-headline-before,
  #hero h1 > .hero-headline > .hero-headline-after {
    display: block;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }

  #hero h1 > .hero-headline > .hero-headline-before {
    margin: 0;
    color: rgba(248, 248, 244, .64);
    font-weight: 700;
  }

  #hero h1 > .hero-headline > .hero-headline-after {
    margin: 8px 0 0;
    color: var(--white);
    font-weight: 800;
  }
}
