/* page.contact.json + blocks/contact-form.liquid; values from saved Horizon tokens. */
.sixm-contact {
  --contact-gap: .9rem;
  width: 100%;
  max-width: calc(1440px + 2 * var(--page-margin, 16px));
  margin: 0 auto;
  padding: 40px var(--page-margin, 16px) 84px;
}
.sixm-contact__head { margin: 0 0 32px; text-align: center; }
.sixm-contact__head h1 {
  margin: 0;
  /* The source text-block.h2 > h1 rule has priority over its generic h1 font. */
  font-family: var(--6m-sans);
  font-size: var(--font-h2--size, 48px);
  font-weight: var(--font-h2--weight, 700);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.sixm-contact__body { max-width: 36rem; margin: 0 auto; text-align: center; font-size: 14px; line-height: 1.6; }
.sixm-contact__body p { margin: 0 0 16px; }
.sixm-contact__body > :last-child { margin-bottom: 0; }
.sixm-contact__body a { color: inherit; text-decoration: underline; }
.sixm-contact__form-section { width: 100%; margin: 32px auto 0; }
.sixm-contact__form { display: flex; flex-direction: column; gap: var(--contact-gap); }
.sixm-contact__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--contact-gap); }
.sixm-contact__field { min-width: 0; }
.sixm-contact__field input,
.sixm-contact__field textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  min-height: 0;
  padding: 1rem 1.25rem;
  font-family: var(--6m-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: #333;
  background: rgb(255 255 255 / .78);
  border: 1px solid #dfdfdf;
  border-radius: 4px;
  box-shadow: none;
  -webkit-font-smoothing: antialiased;
}
.sixm-contact__field input { overflow: hidden; text-overflow: ellipsis; }
.sixm-contact__field textarea { min-height: 55px; resize: vertical; }
.sixm-contact__field input:hover,
.sixm-contact__field textarea:hover { background-color: rgb(0 0 0 / .01); }
.sixm-contact__field input::placeholder,
.sixm-contact__field textarea::placeholder { opacity: 1; color: #333; }
.sixm-contact__field input:focus-visible,
.sixm-contact__field textarea:focus-visible {
  outline: 2px solid var(--6m-ink);
  outline-offset: 2px;
  box-shadow: none;
}
.sixm-contact__submit {
  align-self: flex-start;
  width: auto;
  margin: 0;
  padding: 16px 24px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  background: #000;
  font-family: var(--6m-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
}
.sixm-contact__submit:focus,
.sixm-contact__submit:active {
  color: #fff;
  background: #000;
  box-shadow: none;
}
.sixm-contact__submit:hover { color: #fff; background: #333; box-shadow: none; }
.sixm-contact__submit:focus-visible { outline: 2px solid var(--6m-signal); outline-offset: 3px; }
.sixm-contact__notice { margin-bottom: var(--contact-gap); }
@media (min-width: 750px) {
  .sixm-contact__form-section { width: 50%; }
  .sixm-contact__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sixm-contact__field--phone,
  .sixm-contact__field--message { grid-column: 1 / -1; }
}
