@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Manrope:wght@400;500;600&display=swap");

:root {
  --mh-paper: #fbf8f3;
  --mh-cream: #f4eee6;
  --mh-sand: #e8ded2;
  --mh-line: #d8cdc1;
  --mh-ink: #211d19;
  --mh-cognac: #9a5d38;
  --mh-cognac-dark: #7d4729;
  --font-serif: "DM Serif Display", Georgia, serif;
  --font-betterwith: "DM Serif Display", Georgia, serif;
  --font-adobe: "DM Serif Display", Georgia, serif;
  --font-sans: "Manrope", Arial, sans-serif;
  --font-headline: "Manrope", Arial, sans-serif;
  --font-condensed: "Manrope", Arial, sans-serif;
}

body {
  color: var(--mh-ink);
  background: var(--mh-paper);
}

.mh-page-gutter {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

@media (min-width: 640px) {
  .mh-page-gutter {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

@media (min-width: 1024px) {
  .mh-page-gutter {
    padding-right: 5rem;
    padding-left: 5rem;
  }
}

.bg-brand-paper {
  background-color: var(--mh-paper);
}

.bg-brand-cream {
  background-color: var(--mh-cream);
}

.bg-brand-sand {
  background-color: var(--mh-sand);
}

.bg-brand-primary {
  background-color: var(--mh-cognac);
}

.bg-brand-primary-dark {
  background-color: #26211d;
}

.bg-brand-primary\/10 {
  background-color: rgb(154 93 56 / 10%);
}

.bg-brand-primary\/15 {
  background-color: rgb(154 93 56 / 15%);
}

.bg-brand-line\/50 {
  background-color: rgb(216 205 193 / 50%);
}

.bg-brand-sand\/50 {
  background-color: rgb(232 222 210 / 50%);
}

.text-brand-black {
  color: var(--mh-ink);
}

.text-brand-black\/55 {
  color: rgb(33 29 25 / 55%);
}

.text-brand-black\/70 {
  color: rgb(33 29 25 / 70%);
}

.text-brand-black\/75 {
  color: rgb(33 29 25 / 75%);
}

.text-brand-primary {
  color: var(--mh-cognac);
}

.text-brand-sand {
  color: var(--mh-sand);
}

.border-brand-line {
  border-color: var(--mh-line);
}

.bg-brand-line {
  background-color: var(--mh-line);
}

.border-brand-black\/25 {
  border-color: rgb(33 29 25 / 25%);
}

.border-brand-primary {
  border-color: var(--mh-cognac);
}

.border-brand-primary\/15 {
  border-color: rgb(154 93 56 / 15%);
}

.border-brand-primary\/30 {
  border-color: rgb(154 93 56 / 30%);
}

.border-brand-primary\/40 {
  border-color: rgb(154 93 56 / 40%);
}

.hover\:bg-brand-primary-hover:hover {
  background-color: var(--mh-cognac-dark);
}

.hover\:border-brand-primary:hover {
  border-color: var(--mh-cognac);
}

.hover\:text-brand-primary:hover {
  color: var(--mh-cognac);
}

.focus-visible\:outline-brand-primary:focus-visible {
  outline-color: var(--mh-cognac);
}

.site-nav a {
  display: block;
  padding-block: 0.5rem;
  transition: opacity 180ms ease;
}

.site-nav a:hover,
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a {
  opacity: 0.7;
}

body.age-gate-open {
  overflow: hidden;
}

.age-gate {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 240ms ease,
    visibility 0s linear 240ms;
}

.age-gate[hidden] {
  display: none;
}

.age-gate.is-visible {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.age-gate__dialog {
  opacity: 0;
  transform: translateY(1rem) scale(0.98);
  transition:
    opacity 280ms ease,
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.age-gate.is-visible .age-gate__dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.site-nav .submenu-toggle {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: inherit;
  cursor: pointer;
}

.site-nav .submenu-toggle__icon {
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-0.125rem) rotate(45deg);
  transition: transform 180ms ease;
}

@media (max-width: 1023px) {
  .site-nav .menu-item-has-children {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .site-nav .submenu-toggle {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.375rem;
  }

  .site-nav .submenu-toggle:hover,
  .site-nav .submenu-toggle:focus-visible {
    background: rgb(255 255 255 / 10%);
  }

  .site-nav .sub-menu {
    grid-column: 1 / -1;
    max-height: 0;
    padding-left: 1rem;
    overflow: hidden;
    font-size: 0.875rem;
    opacity: 0;
    visibility: hidden;
    transition:
      max-height 280ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 180ms ease,
      visibility 0s linear 280ms;
  }

  .site-nav .menu-item-has-children.is-submenu-open > .sub-menu {
    max-height: 30rem;
    padding-top: 0.25rem;
    padding-bottom: 0.5rem;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }

  .site-nav .menu-item-has-children.is-submenu-open > .submenu-toggle .submenu-toggle__icon {
    transform: translateY(0.125rem) rotate(225deg);
  }
}

@media (min-width: 1024px) {
  .site-nav > ul > .menu-item-has-children {
    position: relative;
    display: flex;
    align-items: center;
  }

  .site-nav > ul > .menu-item-has-children > .submenu-toggle {
    width: 1.75rem;
    height: 1.75rem;
    margin-left: 0.125rem;
    border-radius: 9999px;
  }

  .site-nav > ul > .menu-item-has-children > .submenu-toggle:hover,
  .site-nav > ul > .menu-item-has-children > .submenu-toggle:focus-visible {
    background: rgb(255 255 255 / 10%);
  }

  .site-nav > ul > .menu-item-has-children > .sub-menu {
    position: absolute;
    z-index: 50;
    top: calc(100% + 1.25rem);
    left: 50%;
    min-width: 16rem;
    padding: 0.625rem;
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 0.75rem;
    background: rgb(29 29 27 / 98%);
    box-shadow: 0 1.25rem 3rem rgb(0 0 0 / 28%);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translate(-50%, 0.5rem);
    transition:
      opacity 180ms ease,
      transform 180ms ease,
      visibility 0s linear 180ms;
  }

  .site-nav > ul > .menu-item-has-children > .sub-menu::before {
    position: absolute;
    right: -2px;
    bottom: 100%;
    left: 0;
    height: 1.5rem;
    content: "";
  }

  .site-nav > ul > .menu-item-has-children:hover > .sub-menu,
  .site-nav > ul > .menu-item-has-children:focus-within > .sub-menu,
  .site-nav > ul > .menu-item-has-children.is-submenu-open > .sub-menu {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translate(-50%, 0);
    transition-delay: 0s;
  }

  .site-nav > ul > .menu-item-has-children:hover > .submenu-toggle .submenu-toggle__icon,
  .site-nav > ul > .menu-item-has-children:focus-within > .submenu-toggle .submenu-toggle__icon,
  .site-nav > ul > .menu-item-has-children.is-submenu-open > .submenu-toggle .submenu-toggle__icon {
    transform: translateY(0.125rem) rotate(225deg);
  }

  .site-nav .sub-menu a {
    padding: 0.7rem 0.85rem;
    border-radius: 0.5rem;
    white-space: nowrap;
  }

  .site-nav .sub-menu a:hover,
  .site-nav .sub-menu .current-menu-item > a {
    background: rgb(255 255 255 / 9%);
    opacity: 1;
  }
}

.hero-readability-overlay {
  display: none;
}

@media (min-width: 640px) {
  .hero-readability-overlay {
    display: block;
    background: linear-gradient(
      90deg,
      rgb(0 0 0 / 90%) 0%,
      rgb(0 0 0 / 62%) 38%,
      rgb(0 0 0 / 20%) 58%,
      transparent 72%
    );
  }
}

@media (min-width: 1441px) {
  .hero-readability-overlay {
    background: linear-gradient(
      90deg,
      rgb(0 0 0 / 75%) 0%,
      rgb(0 0 0 / 20%) 42%,
      transparent 68%
    );
  }
}

.reveal-item {
  opacity: 0.05;
  transform: translate3d(0, 0.75rem, 0);
  transition:
    opacity 600ms linear,
    transform 680ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.reveal-item[data-reveal-delay="1"] {
  transition-delay: 80ms;
}

.reveal-item[data-reveal-delay="2"] {
  transition-delay: 140ms;
}

.reveal-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

.mobile-menu {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  border-color: transparent;
  opacity: 0;
  pointer-events: none;
  scrollbar-width: none;
  transform: translateY(-0.5rem);
  visibility: hidden;
  will-change: max-height, opacity, transform;
  transition:
    max-height 420ms cubic-bezier(0.22, 1, 0.36, 1),
    padding 380ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 220ms ease,
    opacity 260ms ease,
    transform 380ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 420ms;
}

.mobile-menu::-webkit-scrollbar {
  display: none;
}

.mobile-menu.is-open {
  max-height: calc(100dvh - 6rem);
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  overflow-y: auto;
  border-color: rgb(255 255 255 / 15%);
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
  will-change: auto;
  transition-delay: 0s;
}

.button-leaves {
  --button-leaves-color: var(--color-brand-primary-hover);
  position: relative;
  isolation: isolate;
  overflow: visible;
  transition:
    transform 100ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.button-leaves.bg-white,
.button-leaves.bg-transparent {
  --button-leaves-color: #fff;
}

.button-leaves.bg-white {
  --button-leaves-color: #e7e7e7;
}

.button-leaves.bg-white {
  transition:
    transform 100ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.button-leaves.bg-white:hover {
  background-color: #e7e7e7;
}

.button-leaves:active {
  transform: scale(0.96);
}

.button-leaves__label {
  position: relative;
  z-index: 1;
}

.button-leaves__decoration {
  position: absolute;
  top: -1.5rem;
  right: -1.0rem;
  z-index: 0;
  width: 4.125rem;
  height: 3.55rem;
  opacity: 0;
  pointer-events: none;
  transform: scale(0);
  transform-origin: 85% 100%;
  transition:
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 180ms ease;
}

.button-leaves__decoration::before {
  position: absolute;
  inset: 0;
  background-color: var(--button-leaves-color);
  content: "";
  -webkit-mask: url("../img/leaves.svg") center / contain no-repeat;
  mask: url("../img/leaves.svg") center / contain no-repeat;
}

.button-leaves.bg-brand-primary .button-leaves__decoration {
  right: auto;
  left: -1rem;
  transform-origin: 15% 100%;
}

.button-leaves.button-leaves--bottom .button-leaves__decoration {
  top: auto;
  bottom: -1.5rem;
  transform-origin: 85% 0;
}

.button-leaves.bg-brand-primary.button-leaves--bottom .button-leaves__decoration {
  transform-origin: 15% 0;
}

.button-leaves.button-leaves--bottom .button-leaves__decoration::before {
  transform: scaleY(-1);
}

.button-leaves:is(:hover, :focus-visible) .button-leaves__decoration {
  opacity: 1;
  transform: scale(1) rotate(30deg);
}

.button-leaves.bg-brand-primary:is(:hover, :focus-visible) .button-leaves__decoration {
  transform: scale(1) rotate(-30deg);
}

.button-leaves.button-leaves--bottom:is(:hover, :focus-visible) .button-leaves__decoration {
  transform: scale(1) rotate(-30deg);
}

.button-leaves.bg-brand-primary.button-leaves--bottom:is(:hover, :focus-visible) .button-leaves__decoration {
  transform: scale(1) rotate(30deg);
}

.single-news-gallery-area {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  margin-top: 1rem;
}

.single-news-gallery-area:empty {
  display: none;
}

.fancybox__container {
  --fancybox-zIndex: 100000;
}

.single-news-gallery-area > * {
  min-width: 0;
  margin: 0 !important;
}

.single-news-image-link {
  display: block;
  width: fit-content;
  max-width: 100%;
  overflow: hidden;
  border-radius: 0.75rem;
  cursor: zoom-in;
}

.single-news-gallery-area .single-news-image-link {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.single-news-gallery-area .single-news-image-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.single-news-gallery-area .single-news-image-link:hover img {
  transform: scale(1.025);
}

@media (min-width: 640px) {
  .single-news-gallery-area {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (min-width: 1024px) {
  .single-news-featured-column {
    align-self: stretch;
  }

  .single-news-featured-sticky {
    position: sticky;
    top: 7rem;
  }

  body.admin-bar .single-news-featured-sticky {
    top: 9rem;
  }

  .single-news-gallery-area {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1.5rem;
  }
}

body.admin-bar #siteHeader {
  top: 62px;
}

@media (min-width: 783px) {
  body.admin-bar #siteHeader {
    top: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-item {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .mobile-menu {
    transition: none;
  }

  .button-leaves__decoration {
    transition: none;
  }
}

.site-header {
  transition:
    background-color 260ms ease,
    box-shadow 260ms ease,
    border-color 260ms ease;
}

.site-header.is-scrolled {
  border-color: rgb(33 29 25 / 14%);
  background-color: rgb(251 248 243 / 96%);
  box-shadow: 0 1rem 3rem rgb(33 29 25 / 7%);
}

.site-header__shell {
  transition: max-width 300ms ease;
}

.site-header.is-scrolled .site-header__shell {
  max-width: 1480px;
}

.site-header .site-nav a {
  position: relative;
}

.site-header .site-nav > ul > li > a::after {
  position: absolute;
  right: 0;
  bottom: 0.25rem;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header .site-nav > ul > li > a:hover::after,
.site-header .site-nav > ul > .current-menu-item > a::after,
.site-header .site-nav > ul > .current-menu-ancestor > a::after {
  transform: scaleX(1);
  transform-origin: left;
}

.site-header .site-nav a:hover,
.site-header .site-nav .current-menu-item > a,
.site-header .site-nav .current-menu-ancestor > a {
  opacity: 1;
}

.mh-hero__media::after {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  width: clamp(5rem, 10vw, 12rem);
  background: linear-gradient(90deg, var(--mh-cream) 0%, rgb(244 238 230 / 72%) 24%, transparent 100%);
  content: "";
  pointer-events: none;
}

.mh-hero__title-second-line {
  white-space: nowrap;
}

@media (min-width: 1024px) {
  .mh-about__figure {
    top: -1.5rem;
    right: 0;
    bottom: -1.5rem;
    left: 0;
  }
}

@media (max-width: 479px) {
  .mh-hero__title-second-line {
    font-size: 0.88em;
    letter-spacing: -0.055em;
  }
}

@media (max-width: 1023px) {
  .mh-hero__media::after {
    inset: 0 0 auto;
    width: 100%;
    height: 5rem;
    background: linear-gradient(180deg, var(--mh-cream) 0%, transparent 100%);
  }
}

.mh-button {
  --mh-button-hover-fill: transparent;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 9999px !important;
  transition:
    border-color 320ms ease,
    color 320ms ease,
    box-shadow 320ms ease,
    scale 180ms ease;
  -webkit-tap-highlight-color: transparent;
}

.mh-button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 150%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--mh-button-hover-fill);
  content: "";
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 440ms cubic-bezier(0.45, 0, 0.2, 1);
}

.mh-button.bg-brand-primary {
  --mh-button-hover-fill: var(--mh-cognac-dark);
}

.mh-button.bg-white {
  --mh-button-hover-fill: var(--mh-cream);
}

.mh-button.border {
  --mh-button-hover-fill: var(--mh-cognac);
}

.mh-button:active {
  scale: 0.985;
  box-shadow: none !important;
  transition-duration: 80ms;
}

@media (hover: hover) {
  .mh-button:hover {
    box-shadow: 0 0.35rem 1rem rgb(74 44 27 / 10%);
  }

  .mh-button:hover::before {
    transform: translate(-50%, -50%) scale(1);
  }

  .mh-button.border:hover {
    border-color: var(--mh-cognac);
    color: #fff;
  }

  .mh-button:active {
    scale: 0.985;
  }
}

#menuToggle:active,
.mh-reference-control:active {
  scale: 0.92;
  transition-duration: 80ms;
}

.mh-arrow-link {
  transition:
    color 220ms ease,
    border-color 220ms ease,
    transform 220ms ease;
}

.mh-arrow-link:hover {
  transform: translateX(0.25rem);
}

.mh-service-card {
  transition: border-color 300ms ease;
}

.mh-service-card:hover {
  border-color: rgb(154 93 56 / 32%);
}

.mh-references__container {
  margin-left: -1rem;
  touch-action: pan-y pinch-zoom;
}

.mh-references__slide {
  flex: 0 0 100%;
  padding-left: 1rem;
}

.mh-reference-control {
  display: inline-flex;
  width: 3.25rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--mh-ink);
  cursor: pointer;
  transition:
    color 220ms ease,
    transform 220ms ease,
    opacity 220ms ease;
}

.mh-reference-control:hover:not(:disabled) {
  color: var(--mh-cognac);
  transform: translateX(0.2rem);
}

.mh-reference-control:first-child:hover:not(:disabled) {
  transform: translateX(-0.2rem);
}

.mh-reference-control svg {
  width: 2.625rem;
  height: 1.25rem;
}

.mh-reference-control:disabled {
  opacity: 0.28;
  cursor: default;
}

@media (min-width: 640px) {
  .mh-references__slide {
    flex-basis: 50%;
  }
}

@media (min-width: 1024px) {
  .mh-references__slide {
    flex-basis: 33.3333%;
  }
}

@media (min-width: 1536px) {
  .mh-references__slide {
    flex-basis: 25%;
  }
}

.mh-reference {
  border-radius: 0.25rem !important;
  box-shadow: none !important;
}

.mh-article-card > a,
.mh-article-card > div {
  border-radius: 0.15rem !important;
}

.mh-hero figure,
.mh-services figure,
.mh-about figure {
  border-radius: 0;
}

.mh-article-card figure,
.mh-service-card figure,
.mh-about figure,
.mh-hero figure {
  isolation: isolate;
}

[data-parallax-media] {
  backface-visibility: hidden;
  transform-origin: center;
}

.site-footer__nav a {
  display: inline-block;
  transition:
    color 220ms ease,
    transform 220ms ease;
}

.site-footer__nav a:hover {
  color: #d58a69;
  transform: translateX(0.25rem);
}

.site-footer__cta-title {
  max-width: 18ch;
  font-size: clamp(3rem, 5.4vw, 6.75rem);
  line-height: 0.92;
}

.mh-section-content {
  position: relative;
  z-index: 1;
}

.mh-writing-gap {
  position: relative;
  color: var(--mh-cognac);
  opacity: 1;
  overflow: hidden;
  pointer-events: none;
}

.mh-writing-gap svg {
  display: block;
  width: 100%;
  height: 100%;
}

.mh-writing-gap path {
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  vector-effect: non-scaling-stroke;
}

.mh-writing-gap.reveal-item {
  opacity: 1;
  transform: none;
  transition: none;
}

.mh-writing-gap.is-visible path {
  animation: mh-signature-write 700ms linear forwards;
}

.mh-writing-gap--services {
  width: 100%;
  height: 3.5rem;
  margin-top: 0.75rem;
}

.mh-writing-gap--services path {
  stroke-width: 3;
}

.mh-writing-gap--services.is-visible path {
  animation-duration: 900ms;
  animation-timing-function: cubic-bezier(0.22, 0.65, 0.32, 1);
}

@media (min-width: 1024px) {
  .mh-writing-gap--services {
    z-index: 2;
    width: 100vw;
    height: 7.5rem;
    margin: 0.5rem 0 -2.75rem calc(50% - 50vw);
    overflow: visible;
  }
}

.mh-writing-gap--about {
  display: none;
}

@media (min-width: 1024px) {
  .mh-writing-gap--about {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    display: block;
    width: clamp(10rem, 15vw, 16rem);
    height: 58%;
    margin: 0;
    overflow: hidden;
  }

  .mh-writing-gap--about path {
    stroke-width: 2.75;
  }
}

.mh-writing-gap--references {
  position: absolute;
  z-index: 0;
  top: -2rem;
  left: calc(50% - 50vw);
  width: 100vw;
  height: calc(100% + 4rem);
  margin: 0;
  overflow: hidden;
}

.mh-writing-gap--references path {
  stroke-width: 2.75;
  stroke-dasharray: 1.25;
  stroke-dashoffset: 1.25;
}

.mh-references__viewport {
  position: relative;
  z-index: auto;
  background: transparent !important;
  isolation: auto;
}

.mh-references__container {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

.mh-references__slide {
  position: relative;
  z-index: auto;
  background: transparent !important;
}

.mh-reference {
  position: relative;
  z-index: 1;
  isolation: isolate;
  background-color: #fffdfa !important;
}

@keyframes mh-signature-write {
  to {
    stroke-dashoffset: 0;
  }
}

.site-footer__cta-title span {
  white-space: nowrap;
}

.site-footer__social-link {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  color: rgb(246 241 232 / 72%);
  transition:
    color 220ms ease,
    transform 220ms ease;
}

.site-footer__social-link:hover {
  color: #d58a69;
  transform: translateY(-0.15rem);
}

.site-footer__social-link svg {
  width: 1.75rem;
  height: 1.75rem;
}

@media (max-width: 639px) {
  .mh-writing-gap--services {
    display: none;
  }

  .mh-writing-gap--references {
    inset: -1rem 0;
    height: calc(100% + 2rem);
  }

  .site-footer__cta-title span {
    white-space: normal;
  }
}

body.is-menu-open {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .mh-writing-gap path {
    stroke-dashoffset: 0;
    animation: none !important;
  }

  .site-header,
  .mh-button,
  .mh-button::before,
  .mh-arrow-link,
  .mh-service-card,
  .mh-reference,
  .site-footer__nav a,
  [data-parallax-media] {
    transition: none !important;
  }

  .mh-button:hover,
  .mh-button:active {
    scale: 1 !important;
  }

  .mh-arrow-link:hover,
  .mh-service-card:hover,
  .mh-reference:hover,
  .site-footer__nav a:hover,
  [data-parallax-media] {
    transform: none !important;
  }
}
