/* Production form states, layered after the unchanged approved styles. */
/* Contain the tilted reference marquee without adding a scroll container. */
main { overflow-x: clip; }
.form-trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.form-note { font-size: 12px; line-height: 1.5; margin-top: 12px; color: #344f7b; }
.form-status { margin-top: 18px; padding: 14px 16px; border-left: 3px solid var(--blue); background: #f7f8ff; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.form-status:empty { display: none; }
.form-status[data-kind=error] { color: #713247; border-color: #97506b; }
.form-status[data-kind=success] { color: #225b46; border-color: #407b62; }
.form-status:focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; }
.inquiry-form .button:disabled { opacity: .65; cursor: not-allowed; transform: none; }
.inquiry-form[aria-busy=true] { cursor: progress; }

/* Direct contact sits in the heading column, before the form on mobile. */
.contact-details { margin-top: 24px; font-style: normal; font-size: 16px; line-height: 1.5; }
.contact-details > strong { display: block; margin-bottom: 6px; font-size: 18px; font-weight: 500; }
.contact-details a {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.contact-details a:hover { color: var(--blue); }
.contact-details a > span { min-width: 0; overflow-wrap: anywhere; }
.contact-details svg { width: 20px; height: 20px; flex-shrink: 0; }
@media (max-width: 800px) { .contact-details { margin-top: 20px; } }
