@font-face {
  font-family: "Merk Inter";
  src: url("../fonts/inter-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Merk Display";
  src: url("../fonts/display-fallback.otf") format("opentype");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}
:where(*, *::before, *::after) {
  box-sizing: border-box;
}
:where(body, .editor-styles-wrapper) {
  font-synthesis: none;
  /* Match the reference site’s text rasterization, including Gutenberg. */
  -webkit-font-smoothing: antialiased;
}
:where(h1, h2, h3, p, figure) {
  margin: 0;
}
:where(img) {
  display: block;
  max-width: 100%;
  height: auto;
}
:where(a) {
  color: inherit;
  text-decoration: none;
}
:where(a, button, input):focus-visible {
  outline: 3px solid var(--wp--preset--color--brand);
  outline-offset: 4px;
}
:where(.mhz-header a, .mhz-header button):focus-visible {
  outline-color: var(--wp--custom--design--black);
}
.mhz-heading--accent {
  color: var(--wp--preset--color--brand);
}
.mhz-copy-lead {
  font-size: var(--wp--custom--design--type-lead-size);
  line-height: var(--wp--custom--design--type-lead-line-height);
}
.mhz-pill-label {
  font-size: var(--wp--custom--design--type-pill-size);
  font-weight: var(--wp--custom--design--font-weight-bold);
  line-height: var(--wp--custom--design--type-pill-line-height);
}
.mhz-container {
  width: min(
    var(--wp--custom--design--container-width),
    calc(100% - var(--wp--custom--design--container-gutter))
  );
  margin-inline: auto;
}
.mhz-main {
  margin-block-start: 0;
}
.mhz-header {
  position: relative;
  z-index: 30;
  display: flex;
  height: var(--wp--custom--design--header-height);
  align-items: center;
  justify-content: space-between;
  padding-inline: 32px 24px;
  background: var(--wp--preset--color--brand);
  color: var(--wp--custom--design--black);
}
.mhz-header__logo {
  flex-shrink: 0;
  width: 172px;
  margin: 0;
}
.mhz-header__logo img {
  width: 100%;
}
nav.mhz-nav {
  position: absolute;
  inset-inline-start: 50%;
  top: 15px;
  transform: translateX(-50%);
  font-family: var(--wp--custom--design--font-display);
  font-size: var(--wp--custom--design--type-header-nav-size);
  font-weight: var(--wp--custom--design--font-weight-bold);
  line-height: var(--wp--custom--design--type-navigation-line-height);
}
.mhz-nav .wp-block-navigation__container {
  gap: 0;
}
.mhz-nav .wp-block-navigation-item__content {
  position: relative;
  isolation: isolate;
  display: flex;
  height: 50px;
  align-items: center;
  padding-inline: 24px;
}
.mhz-nav .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 8px;
  border-radius: 8px;
  background: var(--wp--custom--design--yellow-soft);
  opacity: 0;
  transform: scale(0.86);
  transition:
    opacity 180ms ease,
    transform 320ms var(--wp--custom--design--ease-out);
}
.mhz-nav .wp-block-navigation-item__content:is(:hover, :focus-visible)::after {
  opacity: 1;
  transform: scale(1);
}
.mhz-nav .wp-block-navigation-item + .wp-block-navigation-item::before {
  content: "";
  position: absolute;
  left: 0;
  width: 1px;
  height: 24px;
  background: currentColor;
}
.mhz-nav .mhz-nav__mobile-contact {
  display: none;
}
.mhz-nav__contact {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: var(--wp--custom--design--type-meta-size);
  line-height: var(--wp--custom--design--type-ui-line-height);
}
.mhz-nav__contact a {
  position: relative;
}
.mhz-nav__contact a::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -5px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 280ms var(--wp--custom--design--ease-out);
}
.mhz-nav__contact a:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}
:is(.wp-block-button .wp-block-button__link, .mhz-submit) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 7px 16px;
  border: 1px solid var(--wp--custom--design--red);
  border-radius: var(--wp--custom--design--radius-button);
  color: var(--wp--custom--design--white);
  background: var(--wp--custom--design--red);
  font-family: var(--wp--custom--design--font-body);
  font-size: var(--wp--custom--design--type-button-size);
  font-weight: var(--wp--custom--design--font-weight-bold);
  line-height: var(--wp--custom--design--type-ui-line-height);
  text-decoration: none;
  white-space: nowrap;
  transition:
    color 180ms ease,
    border-color 180ms ease,
    transform 180ms var(--wp--custom--design--ease-spring);
}
.wp-block-button:not(.is-style-mhz-secondary) .wp-block-button__link::after,
.mhz-submit::after {
  box-sizing: border-box;
  content: "";
  display: block;
  width: 27px;
  height: 38px;
  border-left: 2px solid var(--wp--custom--design--pink);
  background: url("../images/arrow.svg") right center / 11px 18px no-repeat;
}
:is(.wp-block-button .wp-block-button__link, .mhz-submit):not(:disabled):hover {
  border-color: var(--wp--preset--color--brand);
  color: var(--wp--custom--design--black);
  transform: translateY(-3px);
}
.wp-block-button:not(.is-style-mhz-secondary)
  .wp-block-button__link:hover::after {
  filter: brightness(0);
}
.wp-block-button.is-style-mhz-secondary .wp-block-button__link {
  min-height: 56px;
  background: transparent;
}
.wp-block-button.is-style-mhz-secondary .wp-block-button__link:hover {
  border-color: var(--wp--custom--design--red);
  color: var(--wp--custom--design--white);
}
:is(.wp-block-button .wp-block-button__link, .mhz-submit):active {
  transform: translateY(1px) scale(0.98);
}
.mhz-services {
  background: var(--wp--custom--design--charcoal);
}
.mhz-hero__person img,
.mhz-hero__grain img {
  width: 100%;
  max-width: none;
}
.mhz-service-card__photo img {
  width: 77px;
  height: 76px;
  border-radius: var(--wp--custom--design--radius-card);
  object-fit: cover;
}
.mhz-service-card__portrait--1 img {
  object-position: 42% 33%;
}
.mhz-service-card__portrait--2 img {
  object-position: 72% 40%;
}
.mhz-service-card__portrait::before {
  box-sizing: border-box;
  content: "";
  position: absolute;
  top: 18px;
  left: 5px;
  width: 58px;
  height: 58px;
  border: 3px solid var(--wp--preset--color--brand);
  border-radius: var(--wp--custom--design--radius-card);
  transform: rotate(6deg);
  transition: transform 480ms var(--wp--custom--design--ease-spring);
}
.mhz-service-card__portrait--2::before {
  top: 19px;
  left: 9px;
  width: 55px;
  height: 49px;
  border: 0;
  border-radius: 0;
  background: url("../images/triangle.svg") center / contain no-repeat;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .mhz-service-card:is(:hover, :focus-within)
    .mhz-service-card__portrait::before {
    transform: translate(-5px, 4px) rotate(-7deg) scale(0.96);
  }
}

/* Neutralize core image inline baselines and flow spacing for these component roles. */
.mhz-header__logo a,
.mhz-header__logo img {
  display: block;
}
.mhz-header a {
  color: inherit;
}
.mhz-services__intro > .wp-block-heading {
  margin-bottom: var(--wp--custom--design--space-heading-content);
}
.mhz-nav .wp-block-navigation__container {
  position: static;
  transform: none;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

.mhz-section {
  padding-block: var(--wp--preset--spacing--section);
}
.mhz-site-footer {
  padding-block: var(--wp--preset--spacing--lg);
}
.mhz-submit:hover::after {
  filter: brightness(0);
}

/* A shared fill layer keeps native Gutenberg text editable without extra wrappers. */
:is(.wp-block-button .wp-block-button__link, .mhz-submit)::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--wp--preset--color--brand);
  transform: translateX(-102%);
  transform-origin: left;
  transition: transform 360ms var(--wp--custom--design--ease-out);
  pointer-events: none;
}
.wp-block-button.is-style-mhz-secondary .wp-block-button__link::before {
  background: var(--wp--custom--design--red);
}
:is(.wp-block-button .wp-block-button__link, .mhz-submit):not(:disabled):hover::before {
  transform: translateX(0);
}
@media (prefers-reduced-motion: reduce) {
  :is(.wp-block-button .wp-block-button__link, .mhz-submit),
  :is(.wp-block-button .wp-block-button__link, .mhz-submit)::before {
    transition: none;
  }
}
