/* contact-form breakpoints, loaded after the shared ones. */

@media (max-width: 900px) {
  .demo-contact { height: auto; padding: 60px 16px 0; }
  .demo-contact__intro { position: static; top: auto; }
  .demo-contact__intro h1 { font-size: 44px; line-height: 46px; }
  .demo-contact__intro p { width: min(100%,360px); margin: 20px auto 0; font-size: 16px; line-height: 24px; }
  .demo-contact__intro br { display: none; }
  .demo-form { position: static; width: 100%; height: auto; margin-top: 56px; padding: 28px 24px; transform: none; }
  .demo-form__grid, .demo-form .gform_fields { display: grid; grid-template-columns: 1fr; gap: 24px; }
  .demo-form__message, .demo-form .gfield--width-full { grid-column: auto; }
  .demo-form textarea { height: 132px; }
  .demo-form > .button, .demo-form .gform_footer .button { width: 100%; margin-top: 36px; }
  .demo-form > p { width: 100%; margin-top: 24px; font-size: 13px; line-height: 18px; }
}

/* Contact phone composition: introduction, enquiry form, then contact details. */
@media (max-width: 900px) {
  .demo-contact--split { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 60px 16px 0; }
  .demo-contact--split .demo-contact__intro { display: contents; }
  .demo-contact--split .demo-contact__intro h1 { grid-row: 1; font-size: 32px; line-height: 32px; text-align: center; }
  .demo-contact--split .demo-contact__intro > p { grid-row: 2; width: min(100%, 306px); margin: 32px auto 0; font-size: 16px; line-height: 24px; text-align: center; }
  .demo-contact--split .demo-form { grid-row: 3; width: 100%; margin: 60px 0 0; padding: 40px 16px; }
  .demo-contact--split .demo-contact__details { grid-row: 4; grid-template-columns: minmax(0, 1fr); gap: 40px; margin: 40px 10px 0; }
  .demo-contact--split .demo-contact__detail-title { font-size: 20px; line-height: 24px; }
  .demo-contact--split .demo-contact__detail p { max-width: 273px; margin-top: 24px; line-height: 24px; }
  .demo-contact--split .demo-contact__detail-action { width: 196px; margin-top: 24px; }
  .demo-contact--split .demo-form__grid, .demo-contact--split .demo-form .gform_fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
  .demo-contact--split .demo-form .gfield--width-half { grid-column: auto; min-width: 0; }
  .demo-contact--split .demo-form__message, .demo-contact--split .demo-form .gfield--width-full { grid-column: 1 / -1; min-width: 0; }
  .demo-contact--split .demo-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"]) { height: 40px; }
  .demo-contact--split .demo-form .gfield_label { height: auto; min-height: 19px; }
  .demo-contact--split .demo-form textarea { height: 127px; }
  .demo-contact--split .demo-form .gform_footer { padding-top: 40px; }
  .demo-contact--split .demo-form .gform_footer .button { width: 100%; margin-top: 0; }
  .demo-contact--split .demo-form > p { width: 100%; }
}
