/* The selected portrait is a compact introduction beside the existing contact copy. */
.mb-elementor-page main .mb-contact-portrait-hero {
  padding-top: calc(var(--mb-header-height, 92px) + 48px);
}
/* The original contact hero has important desktop/mobile bottom insets. */
.mb-elementor-page main .mb-source-row.category__intro.contact-hero.mb-contact-portrait-hero {
  padding-bottom: 0 !important;
}
.mb-elementor-page main .mb-contact-portrait-hero > .elementor-container {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(200px, 1fr);
  align-items: end;
  gap: 48px;
  width: calc(100% - 80px);
  max-width: 1170px;
}
.mb-elementor-page main .mb-contact-portrait-hero > .elementor-container > .elementor-column {
  width: 100%;
  min-width: 0;
}
.mb-elementor-page main .mb-source-row.vc_row-has-fill.mb-contact-portrait-hero > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding: 0 !important;
}
.mb-elementor-page main .mb-contact-portrait-hero .mb-contact-portrait-copy {
  align-self: center;
  padding-bottom: 28px;
}
.mb-elementor-page main .mb-contact-portrait-hero .mb-text-block {
  margin-bottom: 0;
}
.mb-elementor-page main .mb-contact-portrait-hero h1 {
  max-width: 20ch;
  margin-inline: auto;
}
.mb-elementor-page main .mb-contact-portrait-hero .intro-sub {
  max-width: 53ch;
  margin-inline: auto;
}
.mb-elementor-page main .mb-contact-portrait-hero .mb-contact-portrait-image img {
  display: block;
  width: auto;
  height: 340px;
  max-width: 100%;
  margin-inline: auto;
  object-fit: contain;
  object-position: bottom center;
}
@media (max-width: 1023px) and (min-width: 768px) {
  .mb-elementor-page main .mb-contact-portrait-hero > .elementor-container {
    grid-template-columns: minmax(0, 3fr) minmax(200px, 2fr);
    gap: 28px;
    width: calc(100% - 64px);
  }
  .mb-elementor-page main .mb-contact-portrait-hero .mb-contact-portrait-image img {
    height: 320px;
  }
}
@media (max-width: 767px) {
  .mb-elementor-page main .mb-contact-portrait-hero {
    padding-top: calc(var(--mb-header-height, 72px) + 38px);
  }
  .mb-elementor-page main .mb-contact-portrait-hero > .elementor-container {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    width: calc(100% - 48px);
  }
  .mb-elementor-page main .mb-contact-portrait-hero .mb-contact-portrait-copy {
    padding-bottom: 0;
  }
  .mb-elementor-page main .mb-contact-portrait-hero .mb-contact-portrait-image img {
    height: 280px;
  }
}
