/* Styles owned by the contact page family. */



.tmn-contact-layout h2 {

  margin: 0;
  color: var(--tmn-cetacean);
  font-size: clamp(34px, 3.8vw, 52px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.tmn-contact-layout > div > p {

  margin: 22px 0 0;
  color: rgba(var(--tmn-cetacean-rgb), .72);
  font-size: var(--tmn-font-size-body);
  font-weight: 400;
  line-height: 1.7;
}

.tmn-contact-layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: start;
}

.tmn-contact-options {
  display: grid;
  margin-top: 34px;
  border-top: 1px solid rgba(var(--tmn-cetacean-rgb), .14);
}

.tmn-contact-option {
  padding: 20px 0;
  border-bottom: 1px solid rgba(var(--tmn-cetacean-rgb), .14);
}

.tmn-contact-option strong {
  display: block;
  color: var(--tmn-cetacean);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.35;
}

.tmn-contact-option span {
  display: block;
  margin-top: 5px;
  color: rgba(var(--tmn-cetacean-rgb), .66);
  font-size: var(--tmn-font-size-body);
  font-weight: 400;
  line-height: 1.6;
}

.tmn-contact-direct {
  display: grid;
  gap: 26px;
  margin-top: 34px;
}

.tmn-contact-direct h3 {
  margin: 0 0 8px;
  color: var(--tmn-cetacean);
  font-size: var(--tmn-font-size-body);
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tmn-contact-direct p,
.tmn-contact-direct a {
  margin: 0;
  color: rgba(var(--tmn-cetacean-rgb), .7);
  font-size: var(--tmn-font-size-body);
  font-weight: 400;
  line-height: 1.7;
}

@media (max-width: 820px) {
.tmn-contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
.tmn-contact-layout {
    gap: 28px;
  }

.tmn-contact-layout h2 {
    font-size: clamp(31px, 9vw, 40px);
  }
}

/* One semantic type scale for every inner-page desktop section. */
@media (min-width: 981px) {
.tmn-contact-layout > div > p {
    font-size: var(--tmn-type-body-desktop, 16px) !important;
  }
}

/* Homepage foundation migration. */
.tmn-inner-page[data-page="contact"] .tmn-site {
  --shell-max: 1440px;
  --tmn-type-small-desktop: 16px;
  --tmn-type-label-desktop: 16px;
  --tmn-type-action-desktop: 16px;
}

.tmn-inner-page[data-page="contact"] .tmn-section-shell.tmn-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--tmn-grid-gap);
  width: min(calc(100% - var(--tmn-grid-gutter) - var(--tmn-grid-gutter)), var(--shell-max));
}

.tmn-inner-page[data-page="contact"] .tmn-page-section { padding-block: 72px; }

.tmn-inner-page[data-page="contact"] .tmn-contact-hero-copy {
  display: grid;
  margin: 0;
  padding: 150px 0 clamp(48px, 8vh, 92px);
  align-content: end;
  justify-items: center;
  text-align: center;
}

.tmn-inner-page[data-page="contact"] .tmn-page-hero h1 { font-size: var(--tmn-font-size-h1) !important; }
.tmn-inner-page[data-page="contact"] .tmn-page-section h2 { font-size: var(--tmn-font-size-h2) !important; }
.tmn-inner-page[data-page="contact"] .tmn-page-section h3 { font-size: var(--tmn-font-size-h3) !important; }

.tmn-inner-page[data-page="contact"] .tmn-section-shell.tmn-grid > :not(.tmn-col) { grid-column: 1 / -1; min-width: 0; }
.tmn-inner-page[data-page="contact"] .tmn-contact-layout > :first-child { grid-column: 1 / span 5; }
.tmn-inner-page[data-page="contact"] .tmn-contact-layout > [data-inline-contact-form] { grid-column: 6 / span 7; }

.tmn-inner-page[data-page="contact"] .tmn-page-heading {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--tmn-grid-gap);
  grid-column: 1 / -1;
}

.tmn-inner-page[data-page="contact"] .tmn-page-heading > div { grid-column: 5 / span 8; }

.tmn-inner-page[data-page="contact"] .tmn-page-section :is(p, li, button, label, input, select, textarea, [class*="label"], [class*="link"]) { font-size: var(--tmn-font-size-body) !important; }

@media (max-width: 820px) {
  .tmn-inner-page[data-page="contact"] .tmn-contact-layout > :first-child,
  .tmn-inner-page[data-page="contact"] .tmn-contact-layout > [data-inline-contact-form] { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .tmn-inner-page[data-page="contact"] .tmn-page-section { padding-block: 72px; }
  .tmn-inner-page[data-page="contact"] .tmn-page-heading > div { grid-column: 1 / -1; }
}
