/* Scoped additions for the Contact Us page and homepage contact section. */
#contact, #enquiry { scroll-margin-top: 110px; }
.contact-intro { padding-bottom: 3rem; }
.contact-lead { max-width: 42rem; color: var(--slate); font-size: 1.15rem; }
.contact-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.contact-card {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: #fff;
  min-width: 0;
}
.contact-card h2 { font-size: 1.55rem; }
.contact-company-name { font-size: 1.2rem; font-weight: 700; }
.contact-card address { font-style: normal; }
.contact-registration { margin: 1.5rem 0; }
.contact-registration dt { color: var(--slate); font-size: .875rem; margin-top: 1rem; }
.contact-registration dd { margin: .2rem 0 0; font-weight: 600; overflow-wrap: anywhere; }
.contact-registration dd span { display: block; font-size: .875rem; font-weight: 400; }
.contact-card a:not(.btn),
.contact-privacy-note a { color: #a84300; text-decoration: underline; text-underline-offset: 3px; }
.contact-enquiry > .wrap { max-width: 980px; }
.contact-form-fallback { margin: 1.5rem 0; }
.contact-form-fallback span { display: block; font-size: .9rem; color: var(--slate); margin-top: .6rem; }
.contact-form-frame {
  display: block;
  width: 100%;
  height: 2100px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: #fff;
}
.contact-privacy-note { font-size: .9rem; margin-top: 1.25rem; }
.contact-page .nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.contact-page .contact-fab { z-index: 55; }
.contact-page .contact-whatsapp .icon { background: #128c4a; }
.contact-page :focus-visible, #contact :focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; }
.contact-page .footer a:focus-visible { outline-color: #fff; }
.contact-page .footer-contact a { overflow-wrap: anywhere; }
.contact-home-copy { max-width: 44rem; }
.contact-home-details { margin: 1.25rem 0; }
.contact-home-details address { font-style: normal; }
.contact-home-details a { color: #a84300; text-decoration: underline; overflow-wrap: anywhere; }
.contact-home-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
@media (max-width: 650px) {
  .contact-details-grid { grid-template-columns: 1fr; }
  .contact-form-frame { height: 2300px; }
  .contact-enquiry > .wrap { padding-left: 8px; padding-right: 8px; }
  .contact-enquiry > .wrap > :not(iframe) { margin-left: 12px; margin-right: 12px; }
  .contact-page .contact-fab { right: 6px; bottom: 8px; gap: 8px; }
  .contact-page .contact-fab-item .icon { width: 40px; height: 40px; }
  .contact-page .contact-fab-item .icon svg { width: 21px; height: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.contact-page) { scroll-behavior: auto; }
  .contact-page .mobile-menu { animation: none; }
}
