/* ==========================================================================
   Contact page — sections unique to Contact.dc.html.
   Loaded only on the page with slug "contact" (see functions.php).
   Everything else on this page reuses infinity-air.css: .ia-page-hero,
   .ia-form-card/.ia-form*, .ia-contact__list/row/hex/label/phone/value/map
   and .ia-emergency--compact.
   ========================================================================== */

/* ===== HERO =====
   Same hero component as the other inner pages; the Contact design tints the
   decorative hexagon cyan instead of orange and runs a slightly wider lead. */
.ia-contact-hero .ia-page-hero__hex { background: rgba(91, 198, 232, .07); }
.ia-contact-hero .ia-page-hero__lead { max-width: 620px; }

/* ===== FORM + CONTACT INFORMATION ===== */
.ia-contact-main {
  background: #FFFFFF;
  padding: 80px 0;
}
.ia-contact-main__inner {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 56px;
  align-items: start;
}

/* Request form — the homepage card floats over a photo, this one sits flat on
   white, so it swaps the drop shadow for a tinted panel with a border. */
.ia-form-card.ia-contact-form {
  background: #F4F7FA;
  border: 1px solid #E4EBF2;
  border-radius: 16px;
  box-shadow: none;
  padding: 34px 34px 30px;
}
.ia-contact-form .ia-form-card__title { font-size: 30px; }
.ia-contact-form .ia-form-card__subtitle { margin: 4px 0 22px; }
.ia-contact-form .ia-form,
.ia-contact-form .ia-form__row { gap: 14px; }
.ia-contact-form .ia-form input,
.ia-contact-form .ia-form select,
.ia-contact-form .ia-form textarea { padding: 13px 15px; }
.ia-contact-form .ia-form__submit { font-size: 17px; padding: 16px; }
.ia-contact-form .ia-form-success { padding: 34px 24px; }
.ia-contact-form .ia-form-success__icon {
  width: 50px;
  height: 50px;
  font-size: 24px;
}
.ia-contact-form .ia-form-success__title { font-size: 19px; }
.ia-contact-form .ia-form-success__text { font-size: 15px; }

/* Contact information column */
.ia-contact-info .ia-contact__title {
  font-size: 38px;
  margin: 0 0 24px;
}
.ia-contact-info .ia-contact__row { padding: 17px 20px; }
.ia-contact-info .ia-contact__hex { font-size: 12px; }
.ia-contact-info .ia-contact__phone { font-size: 22px; }
.ia-contact-info .ia-contact__label { font-size: 12.5px; }
.ia-contact-info .ia-contact__value { font-size: 16px; }
.ia-contact-info .ia-contact__list { margin-bottom: 22px; }
.ia-contact-info__map {
  min-height: 0;
  height: 260px;
}

/* ==========================================================================
   Responsive (the source design is a fixed 1240px desktop mockup)
   ========================================================================== */
@media (max-width: 1024px) {
  .ia-contact-main { padding: 60px 0; }
  .ia-contact-main__inner {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .ia-contact-info .ia-contact__title { font-size: 34px; }
}

@media (max-width: 640px) {
  .ia-contact-main { padding: 44px 0; }
  .ia-contact-main__inner { gap: 34px; }
  .ia-form-card.ia-contact-form { padding: 24px 20px 22px; }
  .ia-contact-form .ia-form-card__title { font-size: 26px; }
  .ia-contact-form .ia-form-success { padding: 26px 18px; }
  .ia-contact-info .ia-contact__title { font-size: 28px; }
  .ia-contact-info .ia-contact__row {
    align-items: flex-start;
    gap: 13px;
    padding: 15px 16px;
  }
  .ia-contact-info .ia-contact__value,
  .ia-contact-info .ia-contact__phone { word-break: break-word; }
  .ia-contact-info__map { height: 220px; }
}
