@layer templates.contact {
  :where(.page-template-contact) {
    background: #000;
  }
  :where(.page-template-contact) .pre-footer {
    z-index: 1;
  }
  :where(.page-template-contact) .hero {
    color: #fff;
  }
  :where(.page-template-contact) .hero__photo {
    grid-row: 1;
    grid-column: 1/-1;
    z-index: 1;
  }
  :where(.page-template-contact) .hero__photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  :where(.page-template-contact) .hero__wrapper {
    grid-row: 1;
    z-index: 2;
    padding-top: clamp(2.5rem, 10vh, 5rem);
    padding-bottom: clamp(2.5rem, 10vh, 5rem);
  }
  @media screen and (min-width: 992px) {
    :where(.page-template-contact) .hero__wrapper {
      padding-top: clamp(5rem, 15vh, 7.5rem);
      padding-bottom: clamp(5rem, 15vh, 7.5rem);
    }
  }
  @media screen and (min-width: 992px) {
    :where(.page-template-contact) .hero__wrapper {
      display: grid;
      gap: 2rem;
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  @media screen and (min-width: 992px) {
    :where(.page-template-contact) .hero__info {
      grid-column: 1/span 6;
    }
  }
  :where(.page-template-contact) .hero__title {
    text-shadow: 0 0 12px rgba(0, 0, 0, 0.75);
  }
  @media screen and (min-width: 1280px) {
    :where(.page-template-contact) .hero__title {
      font-size: 3rem;
    }
  }
  :where(.page-template-contact) .hero__copy {
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.75);
    padding: 0.5rem 0 0 0;
  }
  @media screen and (min-width: 1440px) {
    :where(.page-template-contact) .hero__copy {
      padding: 2rem 0;
    }
  }
  :where(.page-template-contact) .hero__copy a {
    font-weight: bold;
  }
  :where(.page-template-contact) .hero__form {
    background: #fff;
    align-self: start;
    padding: 1rem 2rem;
  }
  @media screen and (min-width: 992px) {
    :where(.page-template-contact) .hero__form {
      grid-column: 8/span 5;
      padding: 3rem 4rem;
    }
  }
  :where(.page-template-contact) .hero__form #_form_21_ {
    margin: 0;
    padding: 0;
  }
  :where(.page-template-contact) .contact-info {
    padding-bottom: 2rem;
  }
  @media screen and (min-width: 992px) {
    :where(.page-template-contact) .contact-info {
      padding-bottom: 0;
    }
  }
  :where(.page-template-contact) .contact-info-section {
    padding-top: 2rem;
  }
  :where(.page-template-contact) .contact-info .section-header .copy {
    padding-top: 1rem;
  }
  :where(.page-template-contact) .contact-info .header {
    padding-bottom: 0.5rem;
    color: #fff;
  }
  :where(.page-template-contact) .contact-info .header h3 {
    font-size: clamp(1.04rem, 0.89rem + 0.74vw, 1.35rem);
    color: #fff;
  }
  :where(.page-template-contact) .contact-info ul {
    list-style-type: none;
    padding: 0;
  }
  :where(.page-template-contact) .contact-info ul li {
    line-height: 1em;
  }
  :where(.page-template-contact) .contact-info ul li + li {
    margin-top: 1.5rem;
  }
  :where(.page-template-contact) .contact-info ul .label {
    display: block;
    text-transform: uppercase;
    font-size: clamp(0.6rem, 0.52rem + 0.43vw, 0.78rem);
    letter-spacing: 0.05em;
    font-family: "Rubik", sans-serif;
    font-weight: bold;
    padding-bottom: 0.25rem;
  }
  :where(.page-template-contact) .contact-info a {
    color: #fff;
    text-decoration: none;
  }
  :where(.page-template-contact) .contact-info a:hover {
    text-decoration: underline;
  }
}