.elementor-10 .elementor-element.elementor-element-4a110019{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a110016{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a110013{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-10 .elementor-element.elementor-element-4a110014{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a110004{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a110003{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a110008{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a110007{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a11000c{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a11000b{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a110010{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a11000f{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a110018{--display:flex;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}/* Start custom CSS *//* layerrelay-shared-style:macdonald-global-inline-rail:v17:start */
/* One global responsive content rail for navigation and shared page bands. */
:root {
  --mj-site-inline-gutter: clamp(16px, max(2.25vw, calc(43.75vw - 696px)), 144px);
}

/* Shared page bands stay on the same rail as the global header logo at every
   viewport width. The structural Market Sectors anchor supports the registered
   source today; the semantic class is the contract for future consumers. */
body .elementor .lr-macdonald-trusted-by,
body .elementor .lr-macdonald-market-sectors,
body .elementor .elementor-element.e-con:has(> .elementor-element-a24e45e7) {
  --padding-left: var(--mj-site-inline-gutter);
  --padding-right: var(--mj-site-inline-gutter);
  padding-left: var(--mj-site-inline-gutter);
  padding-right: var(--mj-site-inline-gutter);
}

/* Keep the homepage sector cards on the global rail at tablet widths. The
   centred fluid cap gives the two-column grid breathing room at iPad Pro size
   without changing its desktop four-column or mobile single-column states. */
@media (min-width: 768px) and (max-width: 1024px) {
  body .elementor .lr-macdonald-market-sectors > .mj-market-sectors__grid,
  body .elementor .elementor-element.e-con:has(> .elementor-element-a24e45e7)
    > .elementor-element-a24e45e7 {
    --width: min(100%, clamp(720px, 90vw, 920px)) !important;
    width: min(100%, clamp(720px, 90vw, 920px)) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --row-gap: clamp(18px, 2.34375vw, 24px) !important;
    --column-gap: clamp(18px, 2.34375vw, 24px) !important;
    gap: clamp(18px, 2.34375vw, 24px) !important;
  }
}

body .elementor .lr-macdonald-trusted-by .mj-trusted-by__label-column {
  --mj-trusted-label-width: clamp(173px, 11.875vw, 190px);
  --mj-trusted-label-size: clamp(20px, 1.375vw, 22px);
  --mj-trusted-label-leading: clamp(23.4375px, 1.6113vw, 25.78125px);
  --mj-trusted-rule-gap: clamp(14px, 0.9375vw, 15px);
  --mj-trusted-rule-width: clamp(54px, 3.75vw, 60px);
  --mj-trusted-rule-height: 4px;
  --mj-trusted-rule-shift-y: clamp(-60px, -3.75vw, -55px);
  --mj-trusted-visual-centre-offset: clamp(9px, 0.59375vw, 9.5px);
  --padding-left: 0px;
  --padding-right: 0px;
  --gap: var(--mj-trusted-rule-gap);
  padding-left: 0;
  padding-right: 0;
  gap: var(--mj-trusted-rule-gap) !important;
  align-self: stretch !important;
  justify-content: center !important;
  overflow: visible !important;
}

/* Figma instance I2927:33226;2840:108012 provides the 20/23.4375px,
   54 × 4px, 14px-gap baseline; v6 applies the requested fluid scale-up. */
body .elementor .lr-macdonald-trusted-by .mj-trusted-by__label {
  position: relative;
  top: var(--mj-trusted-visual-centre-offset);
  width: var(--mj-trusted-label-width) !important;
  max-width: none !important;
}

body .elementor .lr-macdonald-trusted-by .mj-trusted-by__label .elementor-heading-title {
  width: 100%;
  color: #000000;
  font-family: "Roboto Condensed", "Roboto", Arial, sans-serif;
  font-size: var(--mj-trusted-label-size) !important;
  font-style: italic;
  font-weight: 700;
  line-height: var(--mj-trusted-label-leading) !important;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

/* The native shared strip has one lower-rule element. Its hard-edged shadow is
   the upper Figma rule, so both marks remain one shared semantic component. */
body .elementor .lr-macdonald-trusted-by .mj-trusted-by__rule {
  position: relative;
  top: var(--mj-trusted-visual-centre-offset);
  --width: var(--mj-trusted-rule-width) !important;
  width: var(--mj-trusted-rule-width) !important;
  min-width: var(--mj-trusted-rule-width) !important;
  max-width: var(--mj-trusted-rule-width) !important;
  height: var(--mj-trusted-rule-height) !important;
  min-height: var(--mj-trusted-rule-height) !important;
  flex: 0 0 var(--mj-trusted-rule-height) !important;
  background: #4bc5ed !important;
  box-shadow:
    calc(var(--mj-trusted-label-width) - var(--mj-trusted-rule-width))
    var(--mj-trusted-rule-shift-y)
    0 0 #4bc5ed !important;
}

/* The service intro image follows the shared trust strip. Keep its image flush
   with the viewport even when a wider grid track centres the image widget. */
body .elementor .lr-macdonald-trusted-by
  + .elementor-element.e-con
  > .elementor-widget-image:first-child {
  text-align: left !important;
}

/* Keep the shared trust strip as one continuous row on tablet. Mobile gets a
   compact two-row composition so the marquee owns the full usable width. */
@media (max-width: 1024px) {
  body .elementor .elementor-element.e-con.lr-macdonald-trusted-by {
    --flex-direction: row !important;
    --flex-wrap: nowrap !important;
    --align-items: center !important;
    --gap: 0px !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0 !important;
    min-height: clamp(84px, 10.2539vw, 105px) !important;
  }

  body .elementor .lr-macdonald-trusted-by > .mj-trusted-by__label-column {
    --width: auto !important;
    --flex-direction: column !important;
    --justify-content: center !important;
    flex: 0 0 clamp(173px, 22.1354vw, 220px) !important;
    width: auto !important;
    min-width: clamp(173px, 22.1354vw, 220px) !important;
    min-height: clamp(76px, 10.2539vw, 105px) !important;
    align-self: stretch !important;
    justify-content: center !important;
  }

  body .elementor .lr-macdonald-trusted-by > .mj-trusted-by__viewport {
    --width: auto !important;
    --flex-direction: row !important;
    --flex-wrap: nowrap !important;
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: clamp(76px, 10.2539vw, 105px) !important;
    height: auto !important;
    max-height: none !important;
    align-self: stretch !important;
    flex-wrap: nowrap !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-trusted-by__track {
    min-height: clamp(76px, 10.2539vw, 105px) !important;
    height: clamp(76px, 10.2539vw, 105px) !important;
    max-height: none !important;
    flex-wrap: nowrap !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-trusted-by__track > .mj-client-logo-item {
    flex-basis: clamp(136px, 22.9167vw, 220px) !important;
    min-height: clamp(76px, 10.2539vw, 105px) !important;
    height: clamp(76px, 10.2539vw, 105px) !important;
    padding: 0 clamp(12px, 3.125vw, 24px) !important;
  }
}

@media (max-width: 767px) {
  /* Contact Us is the registered consumer of this shared form composition.
     Give the complete white grid a little more visual weight, then reserve a
     matching fluid square plus clear space before the usable form card. */
  body .elementor.elementor-273 .elementor-element-4b104a15 {
    --padding-top: clamp(128px, calc(17.1429vw + 66.2857px), 140px) !important;
    padding-top: clamp(128px, calc(17.1429vw + 66.2857px), 140px) !important;
  }

  body .elementor.elementor-273 .elementor-element-4b104a15::before {
    inset: auto !important;
    left: 24px !important;
    top: clamp(16px, calc(2.8571vw + 5.7143px), 18px) !important;
    width: clamp(96px, calc(11.4286vw + 54.8571px), 104px) !important;
    height: clamp(96px, calc(11.4286vw + 54.8571px), 104px) !important;
    background-position: center !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
  }

  /* Centre the introduction as one composition without changing form labels,
     inputs, validation, or the send action beneath it. */
  body .elementor.elementor-273
    .elementor-element-a1c27301 .elementor-heading-title,
  body .elementor.elementor-273 .elementor-element-a1c27303 {
    text-align: center !important;
  }

  body .elementor.elementor-273 .elementor-element-a1c27302 {
    align-self: center !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  /* Close only the introduction-to-form gap; the form's own field rhythm and
     accessible target sizes stay untouched. */
  body .elementor.elementor-273 .elementor-element-7960fae3 {
    margin-top: clamp(-6px, -1.2821vw, -4px) !important;
  }

  /* Every registered service/sector consumer places its intro image directly
     after the trust strip. Remove only that mobile wrapper inset and let the
     image widget fill the viewport; the split-hero image above is untouched. */
  body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
    + .elementor-element.e-con {
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
    + .elementor-element.e-con
    > .elementor-widget-image:first-child,
  body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
    + .elementor-element.e-con
    > .elementor-widget-image:first-child
    > .elementor-widget-container,
  body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
    + .elementor-element.e-con
    > .elementor-widget-image:first-child img {
    width: 100% !important;
    max-width: 100% !important;
  }

  body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
    + .elementor-element.e-con
    > .elementor-widget-image:first-child img {
    display: block;
  }

  body .elementor .elementor-element.e-con.lr-macdonald-trusted-by {
    --flex-direction: column !important;
    --flex-wrap: nowrap !important;
    --align-items: center !important;
    --gap: 0px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0 !important;
    /* The stacked label/rule pair reads tighter above than the logo row does
       below, so use a small optical top inset without moving either child. */
    --padding-top: calc(clamp(10px, 3.0769vw, 12px) + 4px) !important;
    --padding-bottom: clamp(10px, 3.0769vw, 12px) !important;
    padding-top: calc(clamp(10px, 3.0769vw, 12px) + 4px) !important;
    padding-bottom: clamp(10px, 3.0769vw, 12px) !important;
    min-height: clamp(144px, 40vw, 156px) !important;
  }

  body .elementor .lr-macdonald-trusted-by > .mj-trusted-by__label-column {
    --mj-trusted-label-width: clamp(156px, 44.359vw, 173px);
    --mj-trusted-label-size: clamp(18px, 5.1282vw, 20px);
    --mj-trusted-label-leading: clamp(21.09375px, 6.0096vw, 23.4375px);
    --mj-trusted-rule-gap: clamp(10px, 2.6923vw, 10.5px);
    --mj-trusted-rule-width: clamp(46px, 13.8462vw, 54px);
    --mj-trusted-rule-shift-y: clamp(-48px, -12.1795vw, -44px);
    --mj-trusted-visual-centre-offset: 0px;
    --width: var(--mj-trusted-label-width) !important;
    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --align-items: flex-start !important;
    flex: 0 0 clamp(64px, 17.4359vw, 68px) !important;
    width: var(--mj-trusted-label-width) !important;
    min-width: var(--mj-trusted-label-width) !important;
    max-width: var(--mj-trusted-label-width) !important;
    min-height: clamp(64px, 17.4359vw, 68px) !important;
    padding: 0 !important;
    align-self: center !important;
    align-items: flex-start !important;
  }

  body .elementor .lr-macdonald-trusted-by > .mj-trusted-by__viewport {
    --width: 100% !important;
    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    flex: 0 0 clamp(60px, 16.4103vw, 64px) !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(60px, 16.4103vw, 64px) !important;
    height: clamp(60px, 16.4103vw, 64px) !important;
    max-height: clamp(60px, 16.4103vw, 64px) !important;
    padding: 0 !important;
    align-self: stretch !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-trusted-by__track {
    min-height: clamp(60px, 16.4103vw, 64px) !important;
    height: clamp(60px, 16.4103vw, 64px) !important;
    max-height: clamp(60px, 16.4103vw, 64px) !important;
    padding: 0 !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-trusted-by__track > .mj-client-logo-item {
    flex-basis: clamp(120px, 34.8718vw, 136px) !important;
    min-height: clamp(60px, 16.4103vw, 64px) !important;
    height: clamp(60px, 16.4103vw, 64px) !important;
    padding: 0 clamp(10px, 3.0769vw, 12px) !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--bbc,
    .mj-client-logo-item--bbc-duplicate,
    .mj-client-logo-item--sunglass,
    .mj-client-logo-item--sunglass-duplicate
  ) {
    --gap: clamp(4px, 1.0256vw, 5px) !important;
    gap: clamp(4px, 1.0256vw, 5px) !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo__image img {
    max-width: clamp(72px, 21.0256vw, 82px) !important;
    max-height: clamp(20px, 6.1538vw, 24px) !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo__image--vision img {
    max-height: clamp(32px, 8.7179vw, 34px) !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo__image--watches img {
    max-height: clamp(24px, 6.9231vw, 27px) !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo__image--breitling img {
    max-height: clamp(29px, 8.2051vw, 32px) !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo__image--mitie img {
    max-height: clamp(18px, 5.1282vw, 20px) !important;
  }

  body .elementor .lr-macdonald-trusted-by
    .mj-client-logo__bbc-letter .elementor-heading-title {
    width: clamp(20px, 5.641vw, 22px) !important;
    height: clamp(18px, 5.1282vw, 20px) !important;
    margin-inline: 1px !important;
    border-width: 1px !important;
    font-size: clamp(12px, 3.5897vw, 14px) !important;
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo__sunglass-dot {
    flex-basis: clamp(18px, 5.1282vw, 20px) !important;
    width: clamp(18px, 5.1282vw, 20px) !important;
    min-height: clamp(18px, 5.1282vw, 20px) !important;
    height: clamp(18px, 5.1282vw, 20px) !important;
    margin-right: 0 !important;
  }

  body .elementor .lr-macdonald-trusted-by
    .mj-client-logo__wordmark .elementor-heading-title {
    font-size: clamp(13.5px, 3.8462vw, 15px) !important;
  }

  body .elementor .lr-macdonald-trusted-by
    .mj-client-logo__wordmark--sandoz .elementor-heading-title {
    font-size: clamp(15px, 4.1026vw, 16px) !important;
  }
}
/* layerrelay-shared-style:macdonald-global-inline-rail:v17:end */


/* layerrelay-shared-style:macdonald-split-page-hero:v11:start */
/* Shared homepage + split-page hero v10 — fluid text, accessible pagination, and full-width media. */
:root {
  --mj-shared-hero-text-gutter: clamp(82px, calc(9.625vw + 20px), 174px);
  --mj-standalone-hero-inline-gutter: clamp(32px, 12.5vw, 240px);
  --mj-hero-inline-gutter: var(--mj-standalone-hero-inline-gutter);
}

/* Homepage copy now starts on the same shared text rail as the service heroes. */
body .elementor-element.e-con.lr-macdonald-home-hero {
  --padding-left: var(--mj-shared-hero-text-gutter) !important;
  --padding-right: var(--mj-standalone-hero-inline-gutter) !important;
  padding-left: var(--mj-shared-hero-text-gutter) !important;
  padding-right: var(--mj-standalone-hero-inline-gutter) !important;
}

body .elementor-element.e-con.lr-macdonald-home-hero > .elementor-element.e-con.mj-hero__content {
  --padding-left: 0px !important;
  align-self: flex-start !important;
  width: min(100%, 600px) !important;
  max-width: 100% !important;
  padding-left: 0 !important;
}

/* Elementor gives the CTA row a 10px inset. Remove only its left edge so the
   button aligns exactly with the heading, rule, and body-copy rail. */
body .elementor-element.e-con.lr-macdonald-home-hero .elementor-element.e-con.mj-hero__cta-row {
  --padding-left: 0px !important;
  padding-left: 0 !important;
}

/* Keep the Home H1 continuous through Elementor's mobile/tablet breakpoints.
   The line-height is expressed in px because the approved endpoints are exact
   visual measurements rather than a proportional leading ratio. */
body .elementor-element.e-con.lr-macdonald-home-hero
  .mj-hero__heading .elementor-heading-title {
  font-size: clamp(38px, calc(1.8898vw + 30.63px), 50px) !important;
  line-height: clamp(43px, calc(2.6772vw + 32.56px), 60px) !important;
}

/* The carousel remains absolutely positioned, so enlarging the interactive
   boxes does not change section flow. The centred pseudo-element preserves the
   approved 10–14px visible dots inside a fluid 24–30px horizontal target and a 44px vertical target. */
body .elementor-element.e-con.lr-macdonald-home-hero .swiper-pagination {
  display: flex !important;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

body .elementor-element.e-con.lr-macdonald-home-hero .swiper-pagination-bullet {
  position: relative;
  display: inline-flex !important;
  flex: 0 0 clamp(24px, 1.5625vw, 30px);
  width: clamp(24px, 1.5625vw, 30px) !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

body .elementor-element.e-con.lr-macdonald-home-hero .swiper-pagination-bullet::before {
  content: "";
  position: static;
  inset: auto;
  display: block;
  flex: 0 0 auto;
  width: clamp(10px, 1.367vw, 14px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.75);
  transform: none;
}

body .elementor-element.e-con.lr-macdonald-home-hero
  .swiper-pagination-bullet-active::before {
  background: #4bc5ed;
  box-shadow: 0 0 0 3px #fff;
}

body .elementor-element.e-con.lr-macdonald-home-hero
  .swiper-pagination-bullet:focus-visible {
  outline: 2px solid #4bc5ed;
  outline-offset: -5px;
}

/* Standalone inner-page heroes retain their existing symmetric gutter. */
body .elementor-element.e-con.lr-macdonald-page-hero {
  --padding-left: var(--mj-standalone-hero-inline-gutter) !important;
  --padding-right: var(--mj-standalone-hero-inline-gutter) !important;
  padding-left: var(--mj-standalone-hero-inline-gutter) !important;
  padding-right: var(--mj-standalone-hero-inline-gutter) !important;
}

body .elementor-element:has(> .lr-macdonald-split-page-hero) {
  --padding-top: 0 !important;
  padding-top: 0 !important;
  background-color: #f7f7f7 !important;
}

body .elementor-element.elementor-element.lr-macdonald-split-page-hero {
  --padding-top: 0px !important;
  --padding-right: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  display: grid !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
}

body .elementor-element.elementor-element.mj-split-page-hero__copy-panel {
  --padding-left: var(--mj-shared-hero-text-gutter) !important;
  padding-left: clamp(16px, max(2.25vw, calc(43.75vw - 696px)), 144px) !important;
  background-color: #f7f7f7 !important;
  background-image: radial-gradient(
    ellipse 115% 38% at 0% 100%,
    rgba(210, 210, 210, 0.16) 0%,
    rgba(247, 247, 247, 0) 68%
  ) !important;
}

body .elementor-element.elementor-element.mj-split-page-hero__content {
  --padding-left: 0px !important;
  padding-left: 0 !important;
}

/* The shared service/sector intro follows the trusted-by strip on every
   registered consumer. Raise only its mobile floor while preserving the 40px
   source-canvas size and 1.3em leading at desktop. */
body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
  + .elementor-element.e-con .elementor-widget-heading .elementor-heading-title {
  font-size: clamp(30px, 2.5vw, 40px) !important;
  line-height: 1.3em !important;
}

/* Keep the primary CTA aligned with the copy edge in the split hero and
   the matching follow-on service section on every shared service page. */
body .elementor-element.elementor-widget-button.layerrelay-button-z2qmd0 {
  text-align: left !important;
}

@media (min-width: 768px) {
  body .elementor-element.elementor-element.lr-macdonald-split-page-hero {
    grid-template-columns: minmax(0, 58.375%) minmax(0, 41.625%) !important;
    height: clamp(300px, calc(75vw - 468px), 680px) !important;
    min-height: clamp(300px, calc(75vw - 468px), 680px) !important;
  }

  body .elementor-element.elementor-element.mj-split-page-hero__copy-panel,
  body .elementor-element.elementor-element.mj-split-page-hero__media,
  body .elementor-element.elementor-element.mj-split-page-hero__media > .elementor-widget-container,
  body .elementor-element.elementor-element.mj-split-page-hero__media img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
  }

  body .elementor-element.elementor-element.mj-split-page-hero__media,
  body .elementor-element.elementor-element.mj-split-page-hero__media > .elementor-widget-container {
    aspect-ratio: auto !important;
  }

  body .elementor-element.elementor-element.mj-split-page-hero__media img {
    object-fit: cover !important;
  }
}

@media (max-width: 767px) {
  body .elementor-element.elementor-element.lr-macdonald-split-page-hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* The desktop text rail is intentionally generous, but its 82px minimum left
     only 293px for mobile copy and supplied no matching right/block breathing
     room. Give every service/sector hero one balanced mobile rhythm while the
     separate homepage hero keeps its already-approved responsive treatment. */
  body .elementor-element.elementor-element.mj-split-page-hero__copy-panel {
    --padding-top: clamp(36px, 10.2564vw, 40px) !important;
    --padding-right: clamp(24px, 8.2051vw, 32px) !important;
    --padding-bottom: clamp(36px, 10.2564vw, 40px) !important;
    --padding-left: clamp(24px, 8.2051vw, 32px) !important;
    --min-height: 0px !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: clamp(36px, 10.2564vw, 40px) !important;
    padding-right: clamp(24px, 8.2051vw, 32px) !important;
    padding-bottom: clamp(36px, 10.2564vw, 40px) !important;
    padding-left: clamp(24px, 8.2051vw, 32px) !important;
    justify-content: flex-start !important;
  }

  body .elementor-element.elementor-element.mj-split-page-hero__content {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* layerrelay-shared-style:macdonald-split-page-hero:v11:end */

/* layerrelay-shared-style:macdonald-projects-gallery:v3:start */
/* Shared projects gallery — Figma component 3270:29571. */

/* The caption class is unique to the six-tile gallery. The :has() anchor keeps
   this shared rule independent of page IDs and Elementor-generated IDs. */
body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) {
  --padding-top: clamp(48px, 5vw, 80px) !important;
  --padding-right: clamp(48px, 5vw, 80px) !important;
  --padding-bottom: clamp(48px, 5vw, 80px) !important;
  --padding-left: clamp(48px, 5vw, 80px) !important;
  display: flex;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  padding: clamp(48px, 5vw, 80px) !important;
  gap: clamp(48px, 5vw, 80px) !important;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}

/* Heading block: two opposing cyan rules around the centred title. */
body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:first-child {
  display: flex !important;
  flex-direction: column !important;
  width: min(clamp(240px, 16.5625vw, 265px), 100%) !important;
  height: auto !important;
  min-height: clamp(74px, 5.1875vw, 83px) !important;
  gap: clamp(10px, 0.875vw, 14px) !important;
  padding: 0 !important;
  align-items: stretch;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child,
body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:first-child > .elementor-element.e-con:last-child {
  width: 100% !important;
  height: 4px !important;
  min-height: 4px !important;
  padding: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child {
  align-items: flex-end;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:first-child > .elementor-element.e-con:last-child {
  align-items: flex-start;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child > .elementor-element.e-con,
body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:first-child > .elementor-element.e-con:last-child > .elementor-element.e-con {
  width: 54px !important;
  height: 4px !important;
  min-height: 4px !important;
  background: #4bc5ed;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:first-child .elementor-heading-title {
  margin: 0;
  color: #000000;
  font-family: "Roboto Condensed", "Roboto", sans-serif;
  font-size: clamp(32px, 2.5vw, 40px) !important;
  font-style: italic;
  font-weight: 700;
  line-height: 1.171875 !important;
  letter-spacing: 0;
  text-align: center;
}

/* Figma grid: 1440 × 654, six 464 × 315 tiles, 24px gutters. */
body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:nth-child(2) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: min(100%, 1440px) !important;
  max-width: 1440px !important;
  height: auto !important;
  gap: clamp(16px, 1.5vw, 24px) !important;
  padding: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:nth-child(2) > .elementor-element.e-con {
  position: relative;
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 464 / 315 !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-element.e-con:first-child {
  position: absolute;
  inset: 0;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) .elementor-widget-button.layerrelay-button-jn04zx {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: auto !important;
  max-width: 100% !important;
  text-align: left;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) .elementor-widget-button.layerrelay-button-jn04zx .elementor-button {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  min-height: clamp(44px, 2.9375vw, 47px) !important;
  padding: 0 clamp(14px, 1.375vw, 22px) !important;
  border: 0;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #ffffff;
  font-family: "Roboto Condensed", "Roboto", sans-serif;
  font-size: clamp(14px, 1.125vw, 18px) !important;
  font-style: italic;
  font-weight: 700;
  line-height: clamp(44px, 2.9375vw, 47px) !important;
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) .elementor-widget-button.layerrelay-button-jn04zx .elementor-button:hover,
body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) .elementor-widget-button.layerrelay-button-jn04zx .elementor-button:focus-visible {
  background: rgba(0, 0, 0, 0.5);
  color: #ffffff;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) {
    --padding-top: clamp(40px, 5vw, 52px) !important;
    --padding-right: clamp(32px, 5vw, 52px) !important;
    --padding-bottom: clamp(40px, 5vw, 52px) !important;
    --padding-left: clamp(32px, 5vw, 52px) !important;
    padding: clamp(40px, 5vw, 52px) clamp(32px, 5vw, 52px) !important;
    gap: clamp(32px, 3.90625vw, 40px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:nth-child(2) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) {
    --padding-top: clamp(36px, 10.2564vw, 40px) !important;
    --padding-right: clamp(20px, 6.1538vw, 24px) !important;
    --padding-bottom: clamp(36px, 10.2564vw, 40px) !important;
    --padding-left: clamp(20px, 6.1538vw, 24px) !important;
    padding: clamp(36px, 10.2564vw, 40px) clamp(20px, 6.1538vw, 24px) !important;
    gap: clamp(28px, 8.2051vw, 32px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:nth-child(2) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(14px, 4.1026vw, 16px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) .elementor-widget-button.layerrelay-button-jn04zx .elementor-button {
    min-height: clamp(44px, 12.0513vw, 47px) !important;
    white-space: normal;
  }
}

/* MJ projects gallery: full-card links */
body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:nth-child(2) > .elementor-element.e-con {
  cursor: pointer;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) .elementor-widget-button.layerrelay-button-jn04zx .elementor-button::after {
  content: "";
  position: absolute;
  inset: -100vw;
  z-index: 1;
  cursor: pointer;
}

body .elementor-element.e-con:has(> .elementor-element.e-con:nth-child(2) > .elementor-element.e-con > .elementor-widget-button.layerrelay-button-jn04zx) > .elementor-element.e-con:nth-child(2) > .elementor-element.e-con:focus-within {
  outline: 3px solid #49c8ef;
  outline-offset: -3px;
}
/* layerrelay-shared-style:macdonald-projects-gallery:v3:end */

/* layerrelay-shared-style:macdonald-quote-band-background:v2:start */
/* Shared quote band — Figma component 2210:5204. */

/* The structural anchor is shared by every quote band and avoids page IDs or
   Elementor-generated element IDs. */
body .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con .layerrelay-button-1pufljb) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #1b4959;
}

body .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con .layerrelay-button-1pufljb)::before {
  content: "";
  position: absolute;
  z-index: 0;
  display: block;
  pointer-events: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform-origin: center;
}

/* Polygon 2 — source node I3270:26701;2196:2315. */
body .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con .layerrelay-button-1pufljb)::before {
  left: max(-211.34px, -13.20875vw);
  top: max(-157.02px, -9.81375vw);
  width: min(660.18px, 41.26125vw);
  height: min(541.11px, 33.819375vw);
  transform: rotate(-60deg);
  background-image: url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgdmlld0JveD0iMCAwIDY2MC4xNzYgNTQxLjEwOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IlBvbHlnb24gMiIgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF8wXzEzKSI+CjxwYXRoIGQ9Ik0zNjMuMjM3IDk2TDU2MC4xNzYgNDM3LjEwOUwxMDAgMjQ3Ljk3OUwzNjMuMjM3IDk2WiIgZmlsbD0idmFyKC0tZmlsbC0wLCAjMUI0OTU5KSIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfMF8xMyIgeD0iMCIgeT0iMCIgd2lkdGg9IjY2MC4xNzYiIGhlaWdodD0iNTQxLjEwOSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz4KPGZlT2Zmc2V0IGR5PSI0Ii8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjUwIi8+CjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPgo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwLjQ3MTQ1NiAwIDAgMCAwIDAuNTg3NDQzIDAgMCAwIDAgMC42MjU0NzIgMCAwIDAgMC4zIDAiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfMF8xMyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd18wXzEzIiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPgo=");
}

body .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con .layerrelay-button-1pufljb) > * {
  position: relative;
  z-index: 1;
}

/* Elementor keeps the mobile CTA's own text centred but shrink-wraps its
   widget against a flex-start parent. Centre that one shared widget without
   changing the heading, the button dimensions, or tablet/desktop alignment. */
@media (max-width: 767px) {
  body .elementor .elementor-element.e-con:has(
    > .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button
  ):not(:has(> .elementor-widget-image)):not(:has(.elementor-widget-accordion))
    > .elementor-element.e-con
    > .elementor-widget-button {
    align-self: center !important;
  }
}
/* layerrelay-shared-style:macdonald-quote-band-background:v2:end */

/* layerrelay-shared-style:macdonald-case-studies-brand-trust-band:v5:start */
/* Shared Case Studies brand-trust band — Figma component 3272:89088.
   The anchor matches the repeated native section without page or element IDs. */
body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image),
.elementor-498 .elementor-element.elementor-element-472519fc {
  --mj-brand-trust-frame-height: clamp(22px, 1.5vw, 28px);
  --mj-brand-trust-dots-left-width: clamp(72px, 4.25vw, 82px);
  --mj-brand-trust-dots-right-width: clamp(180px, 15.75vw, 300px);
  position: relative;
  isolation: isolate;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(452px, 43.5vw, 696px) !important;
  padding: clamp(38px, 3.6875vw, 59px) clamp(40px, 5vw, 80px) !important;
  overflow: hidden !important;
  background-color: #1b4959 !important;
  background-image: url("https://macdonaldjoinery.co.uk/wp-content/uploads/2026/07/6a086d7fb9bc393370735a472f18706478cb31d9-scaled.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-blend-mode: multiply !important;
}

/* Figma edge frame: two cyan dot rows at the left and right ends of the
   narrow white strips above and below every shared band consumer. */
body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image)::after,
.elementor-498 .elementor-element.elementor-element-472519fc::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  display: block;
  pointer-events: none;
  background-image:
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MiAzOCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PGRlZnM+PHBhdHRlcm4gaWQ9InAiIHdpZHRoPSIxOSIgaGVpZ2h0PSIxOSIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PGNpcmNsZSBjeD0iNCIgY3k9IjEwIiByPSIzIiBmaWxsPSIjNGJjNWVkIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iODIiIGhlaWdodD0iMzgiIGZpbGw9InVybCgjcCkiLz48L3N2Zz4="),
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMDAgMzgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxkZWZzPjxwYXR0ZXJuIGlkPSJwIiB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiPjxjaXJjbGUgY3g9IjQiIGN5PSIxMCIgcj0iMyIgZmlsbD0iIzRiYzVlZCIvPjwvcGF0dGVybj48L2RlZnM+PHJlY3Qgd2lkdGg9IjMwMCIgaGVpZ2h0PSIzOCIgZmlsbD0idXJsKCNwKSIvPjwvc3ZnPg=="),
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MiAzOCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PGRlZnM+PHBhdHRlcm4gaWQ9InAiIHdpZHRoPSIxOSIgaGVpZ2h0PSIxOSIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PGNpcmNsZSBjeD0iNCIgY3k9IjEwIiByPSIzIiBmaWxsPSIjNGJjNWVkIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iODIiIGhlaWdodD0iMzgiIGZpbGw9InVybCgjcCkiLz48L3N2Zz4="),
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMDAgMzgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxkZWZzPjxwYXR0ZXJuIGlkPSJwIiB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiPjxjaXJjbGUgY3g9IjQiIGN5PSIxMCIgcj0iMyIgZmlsbD0iIzRiYzVlZCIvPjwvcGF0dGVybj48L2RlZnM+PHJlY3Qgd2lkdGg9IjMwMCIgaGVpZ2h0PSIzOCIgZmlsbD0idXJsKCNwKSIvPjwvc3ZnPg=="),
    linear-gradient(#f7f7f7 0 0),
    linear-gradient(#f7f7f7 0 0);
  background-position:
    left top,
    right top,
    left bottom,
    right bottom,
    left top,
    left bottom;
  background-repeat: no-repeat;
  background-size:
    var(--mj-brand-trust-dots-left-width) 38px,
    var(--mj-brand-trust-dots-right-width) 38px,
    var(--mj-brand-trust-dots-left-width) 38px,
    var(--mj-brand-trust-dots-right-width) 38px,
    100% var(--mj-brand-trust-frame-height),
    100% var(--mj-brand-trust-frame-height);
}

body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-element.e-con:first-child,
.elementor-498 .elementor-element.elementor-element-472519fc > .elementor-element.e-con:first-child {
  flex: 0 1 clamp(381px, 36.625vw, 586px) !important;
  width: clamp(381px, 36.625vw, 586px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-left: clamp(32px, 4vw, 64px) !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-widget-image,
.elementor-498 .elementor-element.elementor-element-472519fc > .elementor-widget-image {
  flex: 0 1 clamp(428px, 41.125vw, 658px) !important;
  width: clamp(428px, 41.125vw, 658px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 658 / 331 !important;
  background-image: url("https://macdonaldjoinery.co.uk/wp-content/uploads/2026/07/I3338-94940-3272-88910.png") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-widget-image img,
.elementor-498 .elementor-element.elementor-element-472519fc > .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  opacity: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-heading-title,
body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-text-editor,
body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-text-editor p,
.elementor-498 .elementor-element.elementor-element-472519fc .elementor-heading-title,
.elementor-498 .elementor-element.elementor-element-472519fc .elementor-widget-text-editor,
.elementor-498 .elementor-element.elementor-element-472519fc .elementor-widget-text-editor p {
  color: #ffffff !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .layerrelay-button-1pufljb .elementor-button,
.elementor-498 .elementor-element.elementor-element-472519fc .layerrelay-button-1pufljb .elementor-button {
  background-color: #4bc5ed !important;
  color: #000000 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .layerrelay-button-1pufljb,
.elementor-498 .elementor-element.elementor-element-472519fc .layerrelay-button-1pufljb {
  text-align: left !important;
}

@media (max-width: 1024px) {
  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image),
  .elementor-498 .elementor-element.elementor-element-472519fc {
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 0 !important;
    gap: 36px !important;
    padding: 48px clamp(24px, 5vw, 40px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-element.e-con:first-child,
  .elementor-498 .elementor-element.elementor-element-472519fc > .elementor-element.e-con:first-child,
  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-widget-image,
  .elementor-498 .elementor-element.elementor-element-472519fc > .elementor-widget-image {
    flex: 0 1 auto !important;
    width: 100% !important;
    padding-left: 0 !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-widget-image,
  .elementor-498 .elementor-element.elementor-element-472519fc > .elementor-widget-image {
    align-self: center !important;
    max-width: 658px !important;
  }
}

@media (max-width: 767px) {
  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image),
  .elementor-498 .elementor-element.elementor-element-472519fc {
    --padding-left: var(--mj-site-inline-gutter) !important;
    --padding-right: var(--mj-site-inline-gutter) !important;
    align-items: center !important;
    padding-left: var(--mj-site-inline-gutter) !important;
    padding-right: var(--mj-site-inline-gutter) !important;
  }

  /* Keep the narrow white edge frame on mobile, but remove the four cyan dot
     artwork layers that collapse into duplicate rows at both boundaries. */
  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image)::after,
  .elementor-498 .elementor-element.elementor-element-472519fc::after {
    background-image:
      linear-gradient(#f7f7f7 0 0),
      linear-gradient(#f7f7f7 0 0);
    background-position:
      left top,
      left bottom;
    background-repeat: no-repeat;
    background-size:
      100% var(--mj-brand-trust-frame-height),
      100% var(--mj-brand-trust-frame-height);
  }

  /* Treat the mobile band as one centred composition. The 768px boundary is
     intentionally untouched so tablet and desktop retain their live layout. */
  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-element.e-con:first-child,
  .elementor-498 .elementor-element.elementor-element-472519fc > .elementor-element.e-con:first-child {
    align-items: center !important;
    text-align: center !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-element.e-con:first-child > .elementor-element.e-con,
  .elementor-498 .elementor-element.elementor-element-472519fc > .elementor-element.e-con:first-child > .elementor-element.e-con {
    align-items: center !important;
    width: 100% !important;
    max-width: 522px !important;
    text-align: center !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-heading,
  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-heading-title,
  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-text-editor,
  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-text-editor p,
  .elementor-498 .elementor-element.elementor-element-472519fc .elementor-widget-heading,
  .elementor-498 .elementor-element.elementor-element-472519fc .elementor-heading-title,
  .elementor-498 .elementor-element.elementor-element-472519fc .elementor-widget-text-editor,
  .elementor-498 .elementor-element.elementor-element-472519fc .elementor-widget-text-editor p {
    width: 100% !important;
    max-width: 522px !important;
    text-align: center !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-button.layerrelay-button-1pufljb,
  .elementor-498 .elementor-element.elementor-element-472519fc .elementor-widget-button.layerrelay-button-1pufljb {
    align-self: center !important;
    width: auto !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-button.layerrelay-button-1pufljb .elementor-widget-container,
  .elementor-498 .elementor-element.elementor-element-472519fc .elementor-widget-button.layerrelay-button-1pufljb .elementor-widget-container {
    text-align: center !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-button.layerrelay-button-1pufljb .elementor-button,
  .elementor-498 .elementor-element.elementor-element-472519fc .elementor-widget-button.layerrelay-button-1pufljb .elementor-button {
    min-height: 48px !important;
    max-width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-widget-image,
  .elementor-498 .elementor-element.elementor-element-472519fc > .elementor-widget-image {
    width: 100% !important;
    max-width: 420px !important;
  }
}
/* layerrelay-shared-style:macdonald-case-studies-brand-trust-band:v5:end */

/* layerrelay-shared-style:macdonald-project-enquiry-band:v7:start */
/* Shared project-enquiry band — Figma component 3338:93833. */

/* The native section has three direct children: form composition, decorative
   spacer, and page-specific copy. This anchor avoids page/Elementor IDs. */
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) {
  position: relative;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: minmax(0, clamp(500px, 48vw, 768px)) minmax(0, clamp(380px, 36.625vw, 586px)) !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(620px, 47.8125vw, 765px) !important;
  padding: clamp(49px, 3.8125vw, 61px) clamp(52px, 5vw, 80px) !important;
  gap: 0 !important;
  overflow: hidden !important;
  background-color: #1b4959 !important;
  background-image:
    linear-gradient(rgba(27, 73, 89, 0.85), rgba(27, 73, 89, 0.85)),
    url("https://macdonaldjoinery.co.uk/wp-content/uploads/2026/07/643a260b2d2e79dc60424cb3c1a2c7449bb1df18-scaled.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Form composition: 768 × 643 with the exported dot fields behind the card. */
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, clamp(500px, 48vw, 768px)) !important;
  min-width: 0 !important;
  min-height: clamp(520px, 40.1875vw, 643px) !important;
  padding: clamp(48px, 3.75vw, 60px) 0 !important;
  gap: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image {
  position: absolute;
  left: max(0px, calc((100% - 768px) / 2));
  z-index: 1;
  width: min(100%, 768px) !important;
  max-width: none !important;
  aspect-ratio: 768 / 126 !important;
  pointer-events: none;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image:first-child {
  top: 0;
  background-image: url("https://macdonaldjoinery.co.uk/wp-content/uploads/2026/07/I3270-26565-3338-93835.png") !important;
  background-position: left top !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image:last-child {
  bottom: 0;
  z-index: 1;
  background-image: url("https://macdonaldjoinery.co.uk/wp-content/uploads/2026/07/I3270-26565-3338-93906.png") !important;
  background-position: right bottom !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  opacity: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-element.e-con {
  position: relative;
  z-index: 2;
  align-items: center !important;
  width: 100% !important;
  max-width: 768px !important;
  padding: 0 clamp(39px, 3.75vw, 60px) !important;
}

/* The exported rectangle is an overlay artefact, not a grid column. */
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-widget-spacer {
  display: none !important;
}

/* Native Elementor form — content/actions stay page-owned. */
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-widget-form {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 648px !important;
  min-height: clamp(430px, 32.6875vw, 523px) !important;
  padding: clamp(38px, 3.6875vw, 59px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-height: clamp(330px, 25.3125vw, 405px);
  margin: 0 !important;
  column-gap: 30px !important;
  row-gap: clamp(18px, 1.25vw, 20px) !important;
  align-content: space-between;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-group {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-group > .elementor-field-label,
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-group > .elementor-field-textual {
  grid-column: 1 !important;
  width: 100% !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-group-comments,
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit,
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-honeypot {
  grid-column: 1 / -1;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-label {
  margin: 0 0 8px !important;
  color: #000000 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-mark-required .elementor-field-label::after,
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-required .elementor-field-label::after {
  color: #e72727 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-textual {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: clamp(46px, 3.25vw, 52px) !important;
  padding: 12px 14px !important;
  border: 1px solid #7f8990 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  flex: 0 0 clamp(46px, 3.25vw, 52px) !important;
  height: clamp(46px, 3.25vw, 52px) !important;
  max-height: clamp(46px, 3.25vw, 52px) !important;
  box-shadow: none !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) textarea.elementor-field-textual {
  height: clamp(76px, 5.5vw, 88px) !important;
  min-height: clamp(76px, 5.5vw, 88px) !important;
  max-height: clamp(76px, 5.5vw, 88px) !important;
  flex: 0 0 clamp(76px, 5.5vw, 88px) !important;
  resize: vertical;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-textual::placeholder {
  color: transparent !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: clamp(46px, 3.25vw, 52px) !important;
  padding: clamp(13px, 1vw, 16px) clamp(18px, 1.375vw, 22px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #1b4959 !important;
  color: #ffffff !important;
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* Page-specific copy occupies the shared 586px right column. */
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: min(100%, clamp(380px, 36.625vw, 586px)) !important;
  min-width: 0 !important;
  padding: 0 clamp(42px, 4vw, 64px) 0 0 !important;
  gap: clamp(20px, 1.8125vw, 29px) !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child > .elementor-element.e-con:first-child {
  width: 100% !important;
  max-width: 522px !important;
  gap: 14px !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child .elementor-heading-title {
  margin: 0 !important;
  color: #ffffff !important;
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
  font-size: clamp(32px, 2.5vw, 40px) !important;
  font-style: italic !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child > .elementor-element.e-con:first-child > .elementor-element.e-con:last-child {
  width: 54px !important;
  min-height: 4px !important;
  height: 4px !important;
  padding: 0 !important;
  background: #4bc5ed !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child .elementor-widget-text-editor,
body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child .elementor-widget-text-editor p {
  width: 100% !important;
  max-width: 522px !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

@media (max-width: 1024px) {
  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 48px clamp(24px, 5vw, 40px) !important;
    gap: 48px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child,
  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child {
    justify-self: center;
    width: 100% !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child {
    min-height: 643px !important;
    padding: 60px 0 !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-widget-form {
    min-height: 523px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-form-fields-wrapper {
    min-height: 405px;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child {
    max-width: 648px !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 600px) {
  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) {
    padding: 40px 20px !important;
    gap: 40px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child {
    min-height: 0 !important;
    /* Match the desktop composition: the small source strip sits behind the
       form instead of occupying a separate row above it. */
    padding: clamp(18px, 5.1282vw, 20px) 0 40px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image:first-child {
    left: clamp(-20px, -5.1282vw, -16px);
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 768 / 126 !important;
    background-size: contain !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-element.e-con {
    padding: 0 12px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-widget-form {
    min-height: 0 !important;
    padding: 28px 20px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-form-fields-wrapper {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0;
    gap: 18px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-textual {
    flex-basis: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) textarea.elementor-field-textual {
    flex-basis: 88px !important;
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button {
    min-height: 52px !important;
    padding: 16px 22px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-group,
  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-group-comments,
  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit {
    grid-column: 1 !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:last-child .elementor-heading-title {
    font-size: clamp(28px, 8.2vw, 32px) !important;
  }
}

/* The exported corner PNGs are intentionally L-shaped. The shared form needs
   complete square fields, so draw one scalable 9 x 9 grid at each card corner
   and keep the dots outside the white surface where they remain visible. */
html body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child {
  --mj-enquiry-dot-square-max-size: clamp(96px, 7.5vw, 120px);
  --mj-enquiry-dot-square-top-offset: clamp(48px, 3.75vw, 60px);
  --mj-enquiry-dot-square-bottom-offset: clamp(48px, 3.75vw, 60px);
}

html body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image:first-child,
html body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image:last-child {
  overflow: visible !important;
  background-image: none !important;
}

html body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image::before {
  content: "";
  position: absolute;
  display: block;
  width: auto;
  height: min(100%, var(--mj-enquiry-dot-square-max-size));
  aspect-ratio: 1;
  pointer-events: none;
  background-image: radial-gradient(
    circle at center,
    #ffffff 0 20%,
    transparent 21%
  ) !important;
  background-position: -3.5714286% -3.5714286% !important;
  background-repeat: repeat !important;
  background-size: 11.9047619% 11.9047619% !important;
}

html body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image:first-child::before {
  top: var(--mj-enquiry-dot-square-top-offset);
  left: 0;
  transform: translateY(-100%);
}

html body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child > .elementor-widget-image:last-child::before {
  right: 0;
  bottom: var(--mj-enquiry-dot-square-bottom-offset);
  transform: translateY(100%);
}

@media (max-width: 1024px) {
  html body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child {
    --mj-enquiry-dot-square-max-size: 96px;
    --mj-enquiry-dot-square-top-offset: 60px;
    --mj-enquiry-dot-square-bottom-offset: 60px;
  }
}

@media (max-width: 600px) {
  html body .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) > .elementor-element.e-con:first-child {
    --mj-enquiry-dot-square-top-offset: clamp(18px, 5.1282vw, 20px);
    --mj-enquiry-dot-square-bottom-offset: 40px;
  }
}
/* layerrelay-shared-style:macdonald-project-enquiry-band:v7:end */

/* layerrelay-shared-style:macdonald-faq-accordion:v3:start */
/* Shared FAQ accordion — Figma active/closed variants 2840:22836/2840:22828. */

/* Five service pages share this native heading + accordion + CTA structure.
   The anchor deliberately avoids page IDs and Elementor-generated element IDs. */
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f9f9f9 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(720px, 56.4375vw, 903px) !important;
  padding: clamp(72px, 6.25vw, 100px) clamp(32px, 5vw, 80px) !important;
  gap: clamp(52px, 4.5625vw, 73px) !important;
  background: #f9f9f9 !important;
}

/* Centred heading and 54 × 4px cyan rule. */
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  gap: clamp(10px, 0.875vw, 14px) !important;
  padding: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child {
  width: max-content !important;
  max-width: 100% !important;
  padding: 0 !important;
  gap: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child .elementor-widget-heading,
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child .elementor-widget-heading > .elementor-widget-container {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child .elementor-heading-title {
  margin: 0 !important;
  color: #000000 !important;
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
  font-size: clamp(32px, 2.5vw, 40px) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: 1.171875 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: normal !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child > .elementor-element.e-con:last-child {
  width: 54px !important;
  min-width: 54px !important;
  height: 4px !important;
  min-height: 4px !important;
  padding: 0 !important;
  background: #4bc5ed !important;
}

/* 922px Figma content column: accordion followed by the centred CTA. */
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:last-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: min(100%, clamp(760px, 57.625vw, 922px)) !important;
  max-width: 922px !important;
  padding: 0 !important;
  gap: clamp(40px, 3.125vw, 50px) !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-accordion,
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-accordion > .elementor-widget-container,
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-accordion {
  width: 100% !important;
  max-width: none !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-accordion {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(12px, 0.875vw, 14px) !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-accordion-item {
  width: 100% !important;
  border: 0 !important;
}

/* Closed and active question bars. */
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: clamp(50px, 3.375vw, 54px) !important;
  padding: 0 clamp(18px, 1.25vw, 20px) !important;
  border: 0 !important;
  background: #e6e6e6 !important;
  color: #000000 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title.elementor-active {
  background: #1b4959 !important;
  color: #ffffff !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-accordion-title {
  display: block !important;
  flex: 1 1 auto !important;
  padding-right: 34px !important;
  color: inherit !important;
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
  font-size: clamp(16px, 1.125vw, 18px) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: 1.27 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

/* Replace font icons with the exact 14 × 2px Figma plus/minus bars. */
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-accordion-icon {
  display: none !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title::before,
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title::after {
  content: "";
  position: absolute;
  top: 50%;
  z-index: 1;
  display: block;
  pointer-events: none;
  background: #000000;
  transform: translateY(-50%);
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title::before {
  right: 20px;
  width: 14px;
  height: 2px;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title::after {
  right: 26px;
  width: 2px;
  height: 14px;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title.elementor-active::before {
  background: #d9d9d9;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title.elementor-active::after {
  display: none;
}

/* Active answer panel remains content-driven so page-specific copy never clips.
   Keep padding non-important: Elementor animates its inline height and padding
   together, then removes the inline padding when the transition completes. */
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-content {
  box-sizing: border-box !important;
  width: 100% !important;
  padding: clamp(24px, 1.875vw, 30px) clamp(18px, 1.25vw, 20px);
  border: 0 !important;
  background: transparent !important;
  color: #494949 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: clamp(15px, 1vw, 16px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.51 !important;
  letter-spacing: 0.32px !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-content > :first-child {
  margin-top: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-content > :last-child {
  margin-bottom: 0 !important;
}

/* Figma CTA: 195 × 50px, centred beneath the accordion. */
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button {
  width: auto !important;
  max-width: 100% !important;
  text-align: center !important;
}

body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: clamp(176px, 12.1875vw, 195px) !important;
  max-width: 100% !important;
  height: clamp(48px, 3.125vw, 50px) !important;
  min-height: 48px !important;
  padding: 0 clamp(15px, 1.0625vw, 17px) !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  background: #4bc5ed !important;
  color: #000000 !important;
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Keep the white hover state legible against the FAQ's pale background. */
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button:hover,
body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button:focus-visible {
  border-color: #4bc5ed !important;
}

@media (max-width: 1024px) {
  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child {
    min-height: 0 !important;
    padding: 64px clamp(24px, 5vw, 48px) !important;
    gap: 48px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:last-child {
    width: 100% !important;
    gap: 40px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title {
    min-height: 54px !important;
  }
}

@media (max-width: 767px) {
  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child {
    padding: 48px 20px !important;
    gap: 40px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child {
    width: 100% !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) > .elementor-element.e-con:first-child > .elementor-element.e-con:first-child .elementor-heading-title {
    font-size: clamp(28px, 8.2vw, 32px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title {
    height: auto !important;
    min-height: 54px !important;
    padding: 15px 18px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-accordion-title {
    padding-right: 32px !important;
    font-size: 16px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title::before {
    right: 18px;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-title::after {
    right: 24px;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-tab-content {
    padding: 24px 18px;
    font-size: 15px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button {
    width: min(195px, 100%) !important;
    height: 50px !important;
    font-size: 14px !important;
  }
}
/* layerrelay-shared-style:macdonald-faq-accordion:v3:end */

/* layerrelay-shared-style:macdonald-show-more-toggle:v4:start */
/* Shared expanded/collapsed state for the four long-form service sections. */

/* This runtime widget carries the single shared behaviour and must never take
   up layout space inside the global header template. */
.lr-show-more-runtime {
  display: none !important;
}

.mj-show-more-content {
  overflow: hidden !important;
  transition: max-height 320ms ease;
}

.mj-show-more-region.mj-show-more-expanded .mj-show-more-content {
  max-height: none;
}

.mj-show-more-region.mj-show-more-collapsed .mj-show-more-content {
  max-height: clamp(360px, 31.25vw, 500px);
}

body .elementor .elementor-element.e-con-boxed:has(> .e-con-inner.mj-show-more-region) {
  --padding-left: clamp(12px, 3vw, 48px) !important;
  --padding-right: clamp(12px, 3vw, 48px) !important;
  padding-left: clamp(12px, 3vw, 48px) !important;
  padding-right: clamp(12px, 3vw, 48px) !important;
}

.mj-show-more-region {
  width: min(100%, clamp(767px, 60vw, 960px)) !important;
  max-width: 100% !important;
}

/* Adapted service-page headings can be longer than their original Figma copy.
   Let the shared content rail grow vertically instead of clipping the text. */
body .elementor .mj-show-more-region .mj-show-more-content .elementor-widget-heading .elementor-heading-title {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body .elementor .elementor-widget-button.mj-show-more-toggle .elementor-button {
  min-height: clamp(44px, 3.125vw, 50px) !important;
  cursor: pointer;
}

@media (max-width: 767px) {
  .mj-show-more-region.mj-show-more-collapsed .mj-show-more-content {
    max-height: clamp(320px, 92.3077vw, 360px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mj-show-more-content {
    transition: none;
  }
}
/* layerrelay-shared-style:macdonald-show-more-toggle:v4:end */

/* layerrelay-shared-style:macdonald-policies-section:v9:start */
/* Shared policies section — Figma component 2615:19418.
   The two direct child IDs belong to the registered source element and remain
   stable when LayerRelay propagates that source to each consumer. */
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) {
  --mj-policies-block-padding: clamp(60px, 6.25vw, 100px);
  --mj-policies-inline-padding: clamp(32px, 5vw, 80px);
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: clamp(540px, 44.3125vw, 709px) !important;
  aspect-ratio: auto !important;
  padding: var(--mj-policies-block-padding) var(--mj-policies-inline-padding) !important;
  gap: clamp(64px, calc(16.5992vw - 119.588px), 146px) !important;
  overflow: hidden !important;
  background-color: #1b4959 !important;
  background-image: url("https://macdonaldjoinery.co.uk/wp-content/uploads/2026/07/6a086d7fb9bc393370735a472f18706478cb31d9-scaled.jpg") !important;
  background-blend-mode: multiply !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-60b03b5a {
  flex: 0 1 clamp(520px, 44.25vw, 708px) !important;
  width: clamp(520px, 44.25vw, 708px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 0 0 clamp(32px, 4vw, 64px) !important;
  gap: clamp(8px, 0.625vw, 10px) !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-60b03b5a > .elementor-element.e-con {
  width: min(100%, 644px) !important;
  max-width: 644px !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1 {
  flex: 0 1 clamp(430px, 36.625vw, 586px) !important;
  width: clamp(430px, 36.625vw, 586px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 clamp(32px, 4vw, 64px) 0 0 !important;
  gap: clamp(32px, 2.8125vw, 45px) !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-9bd6da5c,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-6a627400,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-dffdcbaa {
  width: 100% !important;
  max-width: 522px !important;
  min-width: 0 !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-9bd6da5c {
  gap: clamp(20px, 1.875vw, 30px) !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-heading-title {
  font-size: clamp(15px, 1.125vw, 18px) !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-6a627400 .elementor-heading-title {
  font-size: clamp(32px, 2.5vw, 40px) !important;
  line-height: 1.08 !important;
  white-space: normal !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-text-editor,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-text-editor p {
  font-size: clamp(14px, 1vw, 16px) !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button {
  max-width: 100% !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button {
  max-width: 100% !important;
  padding: clamp(14px, 1.125vw, 18px) clamp(14px, 1.0625vw, 17px) !important;
  border-radius: 0 !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

@media (min-width: 1025px) {
  /* Preserve the recorded 1600px Figma geometry as a fluid minimum while
     allowing every content box to grow when narrower desktop wrapping needs
     more room. Fixed heights caused copy and CTAs to overlap at 1025–1279px. */
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-60b03b5a {
    height: auto !important;
    min-height: clamp(331px, 31.8125vw, 509px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-16750f2d {
    height: auto !important;
    min-height: clamp(167px, 16.0625vw, 257px) !important;
    overflow: visible !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-9b862c66,
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-4d46bf9b,
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-e4995050,
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-0ad9691f {
    height: auto !important;
    min-height: clamp(34px, 3.3125vw, 53px) !important;
    overflow: visible !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-b51d84dd {
    height: auto !important;
    min-height: clamp(38px, 3.6875vw, 59px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-55f52af9,
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-55f52af9 .elementor-button {
    height: auto !important;
    min-height: clamp(44px, 3.125vw, 50px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1 {
    height: auto !important;
    min-height: clamp(274px, 26.375vw, 422px) !important;
    padding-bottom: clamp(29px, 2.8125vw, 45px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-9bd6da5c {
    height: auto !important;
    min-height: clamp(185px, 17.8125vw, 285px) !important;
    padding-top: clamp(20px, 1.875vw, 30px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-dffdcbaa {
    height: auto !important;
    min-height: clamp(118px, 11.375vw, 182px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-f1c4676b,
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-f1c4676b .elementor-button {
    height: auto !important;
    min-height: clamp(44px, 2.9375vw, 50px) !important;
  }
}

@media (max-width: 1024px) {
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) {
    flex-direction: column !important;
    height: auto !important;
    aspect-ratio: auto !important;
    align-items: stretch !important;
    min-height: 0 !important;
    padding: clamp(40px, 6.25vw, 64px) clamp(24px, 5vw, 48px) !important;
    gap: clamp(40px, 6.25vw, 64px) !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-60b03b5a,
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1 {
    flex: 0 1 auto !important;
    width: 100% !important;
    padding: 0 !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-60b03b5a {
    align-self: center !important;
    max-width: 708px !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1 {
    max-width: 586px !important;
  }
}

/* layerrelay-shared-style:macdonald-policies-section:v9:end */

/* layerrelay-shared-style:macdonald-policies-typography:v1:start */
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-heading-title,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button {
  font-family: "Roboto Condensed", "Roboto", Arial, sans-serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-text-editor,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-text-editor p {
  font-family: "Roboto", Arial, sans-serif !important;
  font-style: normal !important;
}
/* layerrelay-shared-style:macdonald-policies-typography:v1:end */

/* layerrelay-shared-style:macdonald-policies-icons:v3:start */
/* Consolidated without declaration changes from v1 then v2. */
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon {
  position: relative !important;
  display: block !important;
  width: 14px !important;
  height: 14px !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon svg {
  display: none !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon::before,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  background: #000000;
  transform: translate(-50%, -50%);
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon::before {
  width: 14px;
  height: 1px;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon::after {
  width: 1px;
  height: 14px;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) {
  flex: 0 0 18px !important;
  align-self: center !important;
  width: 18px !important;
  height: 18px !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) :is(.elementor-widget-container, .elementor-icon-wrapper, .elementor-icon) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 1 !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon::before,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon::after {
  background: #000000 !important;
  opacity: 1 !important;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon::before {
  width: 18px;
  height: 2px;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9c6c42e9,
    .elementor-element-5130513e,
    .elementor-element-fb9a60e9,
    .elementor-element-caeb8a35
  ) .elementor-icon::after {
  width: 2px;
  height: 18px;
}
/* layerrelay-shared-style:macdonald-policies-icons:v3:end */



/* layerrelay-shared-style:macdonald-policies-dotted-dividers:v3:start */
/* Consolidated without declaration changes from base v1 then responsive v2. */
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1 {
  position: relative;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1::before,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1::after {
  content: "";
  position: absolute;
  left: 0;
  z-index: 2;
  display: block;
  width: min(554px, 100%);
  height: 2px;
  pointer-events: none;
  background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.5) 0 1px, transparent 1.1px);
  background-position: left center;
  background-repeat: repeat-x;
  background-size: 6px 2px;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1::before {
  top: 0;
}

body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1::after {
  bottom: 0;
}

@media (max-width: 1024px) {
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1 {
    padding: clamp(24px, 3vw, 30px) 0 clamp(36px, 4.5vw, 45px) !important;
  }
}

@media (max-width: 1024px) {
  body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) > .elementor-element-82feefd1 {
    --padding-top: clamp(24px, 3vw, 30px) !important;
    --padding-right: 0px !important;
    --padding-bottom: clamp(36px, 4.5vw, 45px) !important;
    --padding-left: 0px !important;
    padding: clamp(24px, 3vw, 30px) 0 clamp(36px, 4.5vw, 45px) !important;
  }
}
/* layerrelay-shared-style:macdonald-policies-dotted-dividers:v3:end */



/* layerrelay-shared-style:macdonald-policies-row-alignment:v1:start */
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(
    .elementor-element-9b862c66,
    .elementor-element-4d46bf9b,
    .elementor-element-e4995050,
    .elementor-element-0ad9691f
  ) > :is(
    .elementor-element-b9348e69,
    .elementor-element-3e31dda3,
    .elementor-element-91db026e,
    .elementor-element-c72be29f
  ) {
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 clamp(14px, 1.25vw, 20px) !important;
}

@media (max-width: 1024px) {
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
    :is(
      .elementor-element-9b862c66,
      .elementor-element-4d46bf9b,
      .elementor-element-e4995050,
      .elementor-element-0ad9691f
    ) {
    height: 50px !important;
    min-height: 50px !important;
    overflow: hidden !important;
  }
}
/* layerrelay-shared-style:macdonald-policies-row-alignment:v1:end */

/* layerrelay-shared-style:macdonald-policies-download-alignment:v1:start */
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-55f52af9,
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-element-55f52af9 > .elementor-widget-container {
  text-align: left !important;
}
/* layerrelay-shared-style:macdonald-policies-download-alignment:v1:end */

/* layerrelay-shared-style:macdonald-policies-button-vertical-alignment:v1:start */
body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
  :is(.elementor-element-55f52af9, .elementor-element-f1c4676b) .elementor-button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 50px !important;
  min-height: 50px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* layerrelay-shared-style:macdonald-policies-button-vertical-alignment:v1:end */

/* layerrelay-shared-style:macdonald-stylised-cta-button:v10:start */
/*
 * Global Macdonald "Stylised CTA" interaction.
 * Figma component set variants:
 *   dark default — Colour=Dark Blue, Hover?=False (2182:4360)
 *   dark hover   — Colour=Dark Blue, Hover?=True  (2182:4358)
 *   blue default — Colour=Blue, Hover?=False      (2182:4382)
 *
 * New consumers should use mj-button--stylised-cta plus the colour modifier
 * that matches their Figma variant. The converter aliases and structural
 * .elementor-10s below keep every existing shared-template consumer on this single
 * interaction owner without page-specific CSS.
 */
:root {
  --mj-stylised-cta-dark-bg: #1b4959;
  --mj-stylised-cta-dark-text: #ffffff;
  --mj-stylised-cta-hover-bg: #000000;
  --mj-stylised-cta-hover-text: #ffffff;
  --mj-stylised-cta-mark: #4bc5ed;
  --mj-stylised-cta-mark-width: 8px;
  --mj-stylised-cta-mark-height: 15px;
  --mj-stylised-cta-mark-gap: 9px;
  --mj-stylised-cta-blue-bg: #4bc5ed;
  --mj-stylised-cta-blue-text: #000000;
  --mj-stylised-cta-blue-hover-bg: #ffffff;
  --mj-stylised-cta-blue-hover-text: #000000;
  --mj-stylised-cta-font-size: clamp(14px, 1vw, 16px);
}

body .elementor .elementor-widget-button.mj-button--stylised-cta .elementor-button,
body .elementor .elementor-widget-button.mj-commitment__button .elementor-button,
body .elementor .elementor-widget-button.mj-hero__button .elementor-button,
body .elementor .elementor-widget-button.mj-page-hero__button .elementor-button,
body .elementor .elementor-widget-button.layerrelay-button-z2qmd0 .elementor-button,
body .elementor .elementor-widget-button.layerrelay-button-1pufljb .elementor-button,
body .elementor .elementor-widget-button.layerrelay-button-1lkzqjr .elementor-button,
body .elementor .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button) .elementor-widget-button .elementor-button,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button,
body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button,
body .elementor .elementor-widget-button.elementor-element-995c0ea0 .elementor-button,
body .elementor .elementor-widget-button.elementor-element-f2089fa7 .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(44px, 3.125vw, 50px) !important;
  font-size: var(--mj-stylised-cta-font-size) !important;
  line-height: 1.15 !important;
}

/* The project-enquiry form uses a native Elementor submit button rather than
   a button widget. Register it as a dark Stylised CTA consumer without
   changing the form component's established size or typography. */
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button {
  align-items: center !important;
  justify-content: center !important;
  transition:
    background-color 160ms ease,
    color 160ms ease;
}

body .elementor .elementor-widget-button.mj-button--stylised-cta .elementor-button::before,
body .elementor .elementor-widget-button.mj-commitment__button .elementor-button::before,
body .elementor .elementor-widget-button.mj-hero__button .elementor-button::before,
body .elementor .elementor-widget-button.mj-page-hero__button .elementor-button::before,
body .elementor .elementor-widget-button.layerrelay-button-z2qmd0 .elementor-button::before,
body .elementor .elementor-widget-button.layerrelay-button-1pufljb .elementor-button::before,
body .elementor .elementor-widget-button.layerrelay-button-1lkzqjr .elementor-button::before,
body .elementor .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button) .elementor-widget-button .elementor-button::before,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button::before,
body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button::before,
body .elementor .elementor-widget-button.elementor-element-995c0ea0 .elementor-button::before,
body .elementor .elementor-widget-button.elementor-element-f2089fa7 .elementor-button::before,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button::before {
  content: "";
  display: block;
  flex: 0 0 0;
  width: 0;
  height: var(--mj-stylised-cta-mark-height);
  margin-inline-end: 0;
  opacity: 0;
  background: var(--mj-stylised-cta-mark);
  clip-path: polygon(50% 0, 100% 0, 50% 100%, 0 100%);
  transition:
    flex-basis 160ms ease,
    width 160ms ease,
    margin-inline-end 160ms ease,
    opacity 120ms ease;
}

/* Lock default colours here as well as hover colours. Elementor's mobile
   global button colour otherwise overrides converter output at 390px. */
body .elementor .elementor-widget-button.mj-button--stylised-cta .elementor-button,
body .elementor .elementor-widget-button.mj-commitment__button .elementor-button,
body .elementor .elementor-widget-button.mj-page-hero__button .elementor-button,
body .elementor .elementor-widget-button.layerrelay-button-z2qmd0 .elementor-button,
body .elementor .elementor-widget-button.elementor-element-f2089fa7 .elementor-button {
  background-color: var(--mj-stylised-cta-dark-bg) !important;
  color: var(--mj-stylised-cta-dark-text) !important;
}

body .elementor .elementor-widget-button.mj-button--stylised-cta.mj-button--stylised-cta--blue .elementor-button,
body .elementor .elementor-widget-button.mj-hero__button .elementor-button,
body .elementor .elementor-widget-button.layerrelay-button-1pufljb .elementor-button,
body .elementor .elementor-widget-button.layerrelay-button-1lkzqjr .elementor-button,
body .elementor .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button) .elementor-widget-button .elementor-button,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button,
body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button,
body .elementor .elementor-widget-button.elementor-element-995c0ea0 .elementor-button {
  background-color: var(--mj-stylised-cta-blue-bg) !important;
  color: var(--mj-stylised-cta-blue-text) !important;
}

/* Blue variant typography. The homepage hero class remains a consumer alias
   until its page-local class metadata is provenance-safe. */
body .elementor .elementor-widget-button.mj-button--stylised-cta.mj-button--stylised-cta--blue .elementor-button,
body .elementor .elementor-widget-button.mj-hero__button .elementor-button {
  background-color: var(--mj-stylised-cta-blue-bg);
  color: var(--mj-stylised-cta-blue-text);
  font-family: "Roboto Condensed", "Roboto", sans-serif;
  font-size: 16px;
  font-style: italic;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: uppercase;
}

body .elementor .elementor-widget-button.mj-button--stylised-cta .elementor-button:hover,
body .elementor .elementor-widget-button.mj-button--stylised-cta .elementor-button:focus-visible,
body .elementor .elementor-widget-button.mj-commitment__button .elementor-button:hover,
body .elementor .elementor-widget-button.mj-commitment__button .elementor-button:focus-visible,
body .elementor .elementor-widget-button.mj-page-hero__button .elementor-button:hover,
body .elementor .elementor-widget-button.mj-page-hero__button .elementor-button:focus-visible,
body .elementor .elementor-widget-button.layerrelay-button-z2qmd0 .elementor-button:hover,
body .elementor .elementor-widget-button.layerrelay-button-z2qmd0 .elementor-button:focus-visible,
body .elementor .elementor-widget-button.elementor-element-f2089fa7 .elementor-button:hover,
body .elementor .elementor-widget-button.elementor-element-f2089fa7 .elementor-button:focus-visible,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button:hover,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button:focus-visible {
  /* Responsive converter output preserves the default fill with !important.
     The shared interaction state must outrank that default at every width. */
  background-color: var(--mj-stylised-cta-hover-bg) !important;
  color: var(--mj-stylised-cta-hover-text) !important;
}

body .elementor .elementor-widget-button.mj-button--stylised-cta.mj-button--stylised-cta--blue .elementor-button:hover,
body .elementor .elementor-widget-button.mj-button--stylised-cta.mj-button--stylised-cta--blue .elementor-button:focus-visible,
body .elementor .elementor-widget-button.mj-hero__button .elementor-button:hover,
body .elementor .elementor-widget-button.mj-hero__button .elementor-button:focus-visible,
body .elementor .elementor-widget-button.layerrelay-button-1pufljb .elementor-button:hover,
body .elementor .elementor-widget-button.layerrelay-button-1pufljb .elementor-button:focus-visible,
body .elementor .elementor-widget-button.layerrelay-button-1lkzqjr .elementor-button:hover,
body .elementor .elementor-widget-button.layerrelay-button-1lkzqjr .elementor-button:focus-visible,
body .elementor .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button) .elementor-widget-button .elementor-button:hover,
body .elementor .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button) .elementor-widget-button .elementor-button:focus-visible,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button:hover,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button:focus-visible,
body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button:hover,
body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button:focus-visible,
body .elementor .elementor-widget-button.elementor-element-995c0ea0 .elementor-button:hover,
body .elementor .elementor-widget-button.elementor-element-995c0ea0 .elementor-button:focus-visible {
  background-color: var(--mj-stylised-cta-blue-hover-bg) !important;
  color: var(--mj-stylised-cta-blue-hover-text) !important;
}

/* The shared Case Studies band has a deliberately strong default-fill rule.
   Keep the interaction owned here while matching that structural specificity. */
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-button.layerrelay-button-1pufljb .elementor-button:hover,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) .elementor-widget-button.layerrelay-button-1pufljb .elementor-button:focus-visible {
  background-color: var(--mj-stylised-cta-blue-hover-bg) !important;
  color: var(--mj-stylised-cta-blue-hover-text) !important;
}

body .elementor .elementor-widget-button.mj-button--stylised-cta .elementor-button:hover::before,
body .elementor .elementor-widget-button.mj-button--stylised-cta .elementor-button:focus-visible::before,
body .elementor .elementor-widget-button.mj-commitment__button .elementor-button:hover::before,
body .elementor .elementor-widget-button.mj-commitment__button .elementor-button:focus-visible::before,
body .elementor .elementor-widget-button.mj-page-hero__button .elementor-button:hover::before,
body .elementor .elementor-widget-button.mj-page-hero__button .elementor-button:focus-visible::before,
body .elementor .elementor-widget-button.layerrelay-button-z2qmd0 .elementor-button:hover::before,
body .elementor .elementor-widget-button.layerrelay-button-z2qmd0 .elementor-button:focus-visible::before,
body .elementor .elementor-widget-button.elementor-element-f2089fa7 .elementor-button:hover::before,
body .elementor .elementor-widget-button.elementor-element-f2089fa7 .elementor-button:focus-visible::before,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button:hover::before,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button:focus-visible::before {
  flex-basis: var(--mj-stylised-cta-mark-width);
  width: var(--mj-stylised-cta-mark-width);
  margin-inline-end: var(--mj-stylised-cta-mark-gap);
  opacity: 1;
}

body .elementor .elementor-widget-button.mj-button--stylised-cta.mj-button--stylised-cta--blue .elementor-button:hover::before,
body .elementor .elementor-widget-button.mj-button--stylised-cta.mj-button--stylised-cta--blue .elementor-button:focus-visible::before,
body .elementor .elementor-widget-button.mj-hero__button .elementor-button:hover::before,
body .elementor .elementor-widget-button.mj-hero__button .elementor-button:focus-visible::before,
body .elementor .elementor-widget-button.layerrelay-button-1pufljb .elementor-button:hover::before,
body .elementor .elementor-widget-button.layerrelay-button-1pufljb .elementor-button:focus-visible::before,
body .elementor .elementor-widget-button.layerrelay-button-1lkzqjr .elementor-button:hover::before,
body .elementor .elementor-widget-button.layerrelay-button-1lkzqjr .elementor-button:focus-visible::before,
body .elementor .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button) .elementor-widget-button .elementor-button:hover::before,
body .elementor .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button) .elementor-widget-button .elementor-button:focus-visible::before,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button:hover::before,
body .elementor .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button:focus-visible::before,
body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button:hover::before,
body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button:focus-visible::before,
body .elementor .elementor-widget-button.elementor-element-995c0ea0 .elementor-button:hover::before,
body .elementor .elementor-widget-button.elementor-element-995c0ea0 .elementor-button:focus-visible::before {
  flex-basis: var(--mj-stylised-cta-mark-width);
  width: var(--mj-stylised-cta-mark-width);
  margin-inline-end: var(--mj-stylised-cta-mark-gap);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  body .elementor .elementor-widget-button.mj-button--stylised-cta .elementor-button::before,
  body .elementor .elementor-widget-button.mj-commitment__button .elementor-button::before,
  body .elementor .elementor-widget-button.mj-hero__button .elementor-button::before,
  body .elementor .elementor-widget-button.mj-page-hero__button .elementor-button::before,
  body .elementor .elementor-widget-button.layerrelay-button-z2qmd0 .elementor-button::before,
  body .elementor .elementor-widget-button.layerrelay-button-1pufljb .elementor-button::before,
  body .elementor .elementor-widget-button.layerrelay-button-1lkzqjr .elementor-button::before,
  body .elementor .elementor-element.e-con:has(> .elementor-widget-heading + .elementor-element.e-con > .elementor-widget-button) .elementor-widget-button .elementor-button::before,
  body .elementor .elementor-element.e-con:has(> .elementor-element.e-con > .elementor-element.e-con > .elementor-widget-accordion) .elementor-widget-button .elementor-button::before,
  body .elementor .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) .elementor-widget-button .elementor-button::before,
  body .elementor .elementor-widget-button.elementor-element-995c0ea0 .elementor-button::before,
  body .elementor .elementor-widget-button.elementor-element-f2089fa7 .elementor-button::before,
  body .elementor .elementor-element.e-con:has(> .elementor-element.e-con .elementor-widget-form):has(> .elementor-widget-spacer + .elementor-element.e-con) .elementor-field-type-submit .elementor-button::before {
    transition-duration: 0.01ms;
  }
}

/* layerrelay-shared-style:macdonald-stylised-cta-button:v10:end */




/* layerrelay-shared-style:macdonald-navigation-dropdown-item-hover:v4:start */
/* Match the approved mega-menu item state across desktop dropdowns and the
   lower-screen navigation panel on devices that genuinely support hover. */
@media (hover: hover) and (pointer: fine) {
  .lr-macdonald-header .mj-header__dropdown,
  .elementor-10 .elementor-element.elementor-element-4a110003,
  .elementor-10 .elementor-element.elementor-element-4a110007,
  .elementor-10 .elementor-element.elementor-element-4a11000b,
  .elementor-10 .elementor-element.elementor-element-4a11000f {
    width: clamp(312px, 17vw, 328px) !important;
  }

  .lr-macdonald-header .mj-header__dropdown-link .elementor-button,
  .lr-macdonald-header .mj-mobile-panel__link .elementor-button,
  .elementor-10 .mj-header__dropdown-link .elementor-button,
  .elementor-10 .mj-mobile-panel__link .elementor-button {
    position: relative;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    padding-right: clamp(10px, 0.625vw, 12px) !important;
    white-space: nowrap;
    transition:
      background-color 160ms ease,
      color 160ms ease,
      padding-left 160ms ease;
  }

  .lr-macdonald-header .mj-header__dropdown-link .elementor-button::before,
  .lr-macdonald-header .mj-mobile-panel__link .elementor-button::before,
  .elementor-10 .mj-header__dropdown-link .elementor-button::before,
  .elementor-10 .mj-mobile-panel__link .elementor-button::before {
    content: "/";
    position: absolute;
    top: 50%;
    left: 11px;
    color: #00c6ea;
    font: italic 800 14px/1 Arial, sans-serif;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity 160ms ease;
  }

  .lr-macdonald-header .mj-header__dropdown-link .elementor-button:hover,
  .lr-macdonald-header .mj-header__dropdown-link .elementor-button:focus-visible,
  .lr-macdonald-header .mj-mobile-panel__link .elementor-button:hover,
  .lr-macdonald-header .mj-mobile-panel__link .elementor-button:focus-visible,
  .elementor-10 .mj-header__dropdown-link .elementor-button:hover,
  .elementor-10 .mj-header__dropdown-link .elementor-button:focus-visible,
  .elementor-10 .mj-mobile-panel__link .elementor-button:hover,
  .elementor-10 .mj-mobile-panel__link .elementor-button:focus-visible {
    padding-left: 23px;
    background-color: #464646;
    color: #ffffff;
  }

  .lr-macdonald-header .mj-header__dropdown-link .elementor-button:hover::before,
  .lr-macdonald-header .mj-header__dropdown-link .elementor-button:focus-visible::before,
  .lr-macdonald-header .mj-mobile-panel__link .elementor-button:hover::before,
  .lr-macdonald-header .mj-mobile-panel__link .elementor-button:focus-visible::before,
  .elementor-10 .mj-header__dropdown-link .elementor-button:hover::before,
  .elementor-10 .mj-header__dropdown-link .elementor-button:focus-visible::before,
  .elementor-10 .mj-mobile-panel__link .elementor-button:hover::before,
  .elementor-10 .mj-mobile-panel__link .elementor-button:focus-visible::before {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lr-macdonald-header .mj-header__dropdown-link .elementor-button,
  .lr-macdonald-header .mj-header__dropdown-link .elementor-button::before,
  .lr-macdonald-header .mj-mobile-panel__link .elementor-button,
  .lr-macdonald-header .mj-mobile-panel__link .elementor-button::before,
  .elementor-10 .mj-header__dropdown-link .elementor-button,
  .elementor-10 .mj-header__dropdown-link .elementor-button::before,
  .elementor-10 .mj-mobile-panel__link .elementor-button,
  .elementor-10 .mj-mobile-panel__link .elementor-button::before {
    transition-duration: 0.01ms;
  }
}
/* layerrelay-shared-style:macdonald-navigation-dropdown-item-hover:v4:end */





/* layerrelay-shared-style:macdonald-mobile-navigation-overlay:v4:start */
/* Keep the shared mobile navigation out of document flow so opening it never
   moves the hero or any following page content. */
@media (max-width: 900px) {
  .lr-macdonald-header,
  .elementor-10 .elementor-element.elementor-element-4a110019 {
    position: relative;
    overflow: visible;
  }

  .lr-macdonald-header .mj-mobile-panel,
  .elementor-10 .elementor-element.elementor-element-4a110018 {
    position: absolute !important;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    padding-right: clamp(20px, 6.1538vw, 24px) !important;
    padding-bottom: clamp(24px, 7.1795vw, 28px) !important;
    padding-left: clamp(20px, 6.1538vw, 24px) !important;
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  body .elementor .mj-header__mobile-toggle .elementor-button,
  body .elementor .mj-mobile-panel__link .elementor-button {
    min-height: clamp(44px, 3.125vw, 50px) !important;
    display: inline-flex;
    align-items: center;
  }
}

/* Tighten only the phone navigation rhythm. Elementor zeroes widget margins
   inside containers, so bottom padding provides a stable section-label gap. */
@media (max-width: 767px) {
  body .elementor .mj-mobile-panel__link .elementor-button {
    min-height: clamp(40px, 10.2564vw, 42px) !important;
  }

  .lr-macdonald-header .mj-mobile-panel__label,
  .elementor-10 .mj-mobile-panel__label {
    padding-bottom: 0 !important;
  }
}
/* layerrelay-shared-style:macdonald-mobile-navigation-overlay:v4:end */



/* layerrelay-shared-style:macdonald-semantic-fluid-foundations:v4:start */
/* Semantic fluid metrics shared by repeated page and template patterns. The
   body/Elementor prefix intentionally beats page-qualified generated CSS. */
body .elementor .elementor-widget-heading.mj-commitment__heading .elementor-heading-title,
body .elementor.elementor-29 .elementor-widget-heading.mj-commitment__heading .elementor-heading-title {
  font-size: clamp(30px, 2.0833vw, 40px) !important;
  line-height: 1.3 !important;
}

body .elementor .elementor-widget-heading.mj-service-card__heading .elementor-heading-title,
body .elementor.elementor-29 .elementor-widget-heading.mj-service-card__heading .elementor-heading-title {
  font-size: clamp(19px, 1.3021vw, 25px) !important;
  line-height: 1.27 !important;
}

body .elementor .elementor-widget-heading.mj-page-hero__heading .elementor-heading-title,
body .elementor:is(.elementor-72, .elementor-75, .elementor-77) .elementor-widget-heading.mj-page-hero__heading .elementor-heading-title {
  font-size: clamp(34px, 2.6042vw, 50px) !important;
  line-height: 1.2 !important;
}

body .elementor .elementor-element.e-con.lr-macdonald-page-hero {
  min-height: max(
    clamp(560px, calc(641px - 10.5vw), 600px),
    clamp(560px, 35.4167vw, 680px)
  ) !important;
}

/* The repeated Our Company page wrapper carries a converter-generated fluid
   top inset. Preserve that desktop/tablet rhythm, but let the semantic hero
   meet the mobile header without an empty 40px strip. */
@media (max-width: 767px) {
  body .elementor > .elementor-element.e-con:has(> .lr-macdonald-page-hero) {
    --padding-top: 0px !important;
    padding-top: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  body .elementor:is(.elementor-72, .elementor-75, .elementor-77) .elementor-element.e-con.lr-macdonald-page-hero {
    padding-block: clamp(0px, calc(256px - 25vw), 64px) !important;
  }
}

body .elementor .elementor-widget-heading.elementor-element-e16b3def .elementor-heading-title {
  font-size: clamp(28px, 2.5vw, 40px) !important;
}

body .elementor .elementor-widget-heading.elementor-element-5cea4eda .elementor-heading-title {
  font-size: clamp(32px, 2.5vw, 40px) !important;
}

body .elementor:is(.elementor-72, .elementor-75, .elementor-77) .elementor-widget-button:is(
  .elementor-element-1152971a,
  .elementor-element-125b7a7e,
  .elementor-element-7ed3bf10,
  .elementor-element-fc7c7b54,
  .elementor-element-d3ab8200,
  .elementor-element-a04ab336,
  .elementor-element-28358112,
  .elementor-element-b85018a9,
  .elementor-element-41cc553b
) .elementor-button {
  min-height: clamp(44px, 3.125vw, 50px) !important;
  font-size: clamp(14px, 1vw, 16px) !important;
}
/* layerrelay-shared-style:macdonald-semantic-fluid-foundations:v4:end */


/* layerrelay-shared-style:macdonald-case-study-family-fluid-fixes:v7:start */
/* The body-row spacing remains the tablet/mobile preservation contract. */
body.single-case_study .case-study-single__hero {
  --padding-bottom: 0px !important;
  padding-bottom: 0 !important;
}

body.single-case_study .case-study-single__body-layout {
  --padding-top: clamp(48px, 6.25vw, 100px) !important;
  padding-top: clamp(48px, 6.25vw, 100px) !important;
}

@media (min-width: 1200px) {
  body.single-case_study .case-study-single {
    --mj-case-study-page-top-gap: clamp(40px, 3.125vw, 50px);
    --mj-case-study-admin-offset: 0px;
    --mj-case-study-title-panel-padding-top: clamp(48px, 3.90625vw, 62.5px);
    --mj-case-study-article-padding-top: clamp(96px, 7.84375vw, 125.5px);
    --mj-case-study-title-panel-row-height: 81px;
    --mj-case-study-root-row-gap: 20px;
  }

  body.admin-bar.single-case_study .case-study-single {
    --mj-case-study-admin-offset: 32px;
  }

  /* Figma 3270:27419: the outer logo/title panel and estimate card share the
     same top edge, 50px below the header at 1600px. The title text begins
     79.5px inside that panel and the article begins 289px below its top. */
  body.single-case_study .case-study-single__hero {
    --margin-top: calc(var(--mj-case-study-page-top-gap) + var(--mj-case-study-admin-offset)) !important;
    --padding-top: var(--mj-case-study-title-panel-padding-top) !important;
    margin-top: calc(var(--mj-case-study-page-top-gap) + var(--mj-case-study-admin-offset)) !important;
    padding-top: var(--mj-case-study-title-panel-padding-top) !important;
  }

  body.single-case_study .case-study-single__body-layout {
    --padding-top: var(--mj-case-study-article-padding-top) !important;
    padding-top: var(--mj-case-study-article-padding-top) !important;
  }

  body.single-case_study .case-study-single__estimate-column {
    --margin-top: calc(
      0px - var(--mj-case-study-title-panel-padding-top)
      - var(--mj-case-study-title-panel-row-height)
      - var(--mj-case-study-root-row-gap)
      - var(--mj-case-study-article-padding-top)
    ) !important;
    margin-top: calc(
      0px - var(--mj-case-study-title-panel-padding-top)
      - var(--mj-case-study-title-panel-row-height)
      - var(--mj-case-study-root-row-gap)
      - var(--mj-case-study-article-padding-top)
    ) !important;
    /* 80px header + its fluid block padding + a balanced 24px content gap. */
    top: calc(80px + (2 * clamp(4px, 0.4375vw, 8px)) + clamp(20px, 1.6667vw, 24px)) !important;
  }

  body.admin-bar.single-case_study .case-study-single__estimate-column {
    top: calc(32px + 80px + (2 * clamp(4px, 0.4375vw, 8px)) + clamp(20px, 1.6667vw, 24px)) !important;
  }

  /* Breitling White City intentionally owns its logo/title panel inside the
     article. Detect that semantic variant in the shared owner and align both
     columns to the same common page gap without a page-level override. */
  body.single-case_study .case-study-single:has(.breitling-white-city__hero) .case-study-single__body-layout {
    --padding-top: calc(var(--mj-case-study-page-top-gap) + var(--mj-case-study-admin-offset)) !important;
    padding-top: calc(var(--mj-case-study-page-top-gap) + var(--mj-case-study-admin-offset)) !important;
  }

  body.single-case_study .case-study-single:has(.breitling-white-city__hero) .case-study-single__estimate-column {
    --margin-top: 0px !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 1024px) {
  body.single-case_study .case-study-single__article .elementor-widget-text-editor,
  body.single-case_study .case-study-single__article .elementor-widget-text-editor :is(.elementor-widget-container, p, li, span) {
    font-size: clamp(14px, 1vw, 16px) !important;
  }
}

@media (max-width: 767px) {
  body.single-case_study .case-study-single__related {
    --display: block;
    display: block !important;
  }

  body.single-case_study .case-study-single__related-heading {
    margin-bottom: clamp(28px, 3vw, 48px);
  }
}
/* layerrelay-shared-style:macdonald-case-study-family-fluid-fixes:v7:end */

/* layerrelay-shared-style:macdonald-latest-news-archive-fluid:v1:start */
body .elementor.elementor-503 .elementor-element-24eab08c,
body .elementor.elementor-503 .elementor-element-24eab08c .elementor-widget-container,
body .elementor.elementor-503 .elementor-element-24eab08c .elementor-widget-container p {
  font-size: clamp(14px, 1.125vw, 18px) !important;
}

body .elementor.elementor-503 .latest-news-pagination .news-pagination__item {
  width: clamp(44px, 3.125vw, 50px) !important;
}

body .elementor.elementor-503 .latest-news-pagination .news-pagination__item .elementor-button {
  height: clamp(44px, 3.125vw, 50px) !important;
  min-height: 44px !important;
}
/* layerrelay-shared-style:macdonald-latest-news-archive-fluid:v1:end */

/* layerrelay-shared-style:macdonald-latest-news-single-fluid-actions:v2:start */
/* Figma node 3270:27051 is solid black. Lock the dynamic article title to
   that source value instead of inheriting Elementor's global accent colour. */
body.single-post .elementor.elementor-506
  .latest-news-single__title .elementor-heading-title {
  color: #000000 !important;
}

body.single-post .elementor.elementor-506 :is(
  .elementor-element-ac663ed0,
  .elementor-element-e5d12c4f,
  .elementor-element-995c0ea0
) .elementor-button {
  min-height: clamp(44px, 3.125vw, 50px) !important;
  font-size: clamp(14px, 1vw, 16px) !important;
}
/* layerrelay-shared-style:macdonald-latest-news-single-fluid-actions:v2:end */



/* layerrelay-shared-style:macdonald-cyan-line-scroll-motion:v8:start */
/* Scroll-triggered outward reveal and shared paired-rule spacing contract for
   the site's thin cyan heading rules. */
.lr-cyan-line-scroll-motion-runtime {
  display: none !important;
}

.mj-cyan-line-pair-rule {
  position: relative !important;
  left: var(--mj-cyan-pair-layout-x, 0px) !important;
  top: var(--mj-cyan-pair-layout-y, 0px) !important;
}

@supports (translate: 1px 0) {
  .mj-cyan-line-motion {
    translate: var(--mj-cyan-line-start-x, 0px) 0;
    transition: none;
  }

  .mj-cyan-line-motion.mj-cyan-line-motion--visible {
    translate: 0 0;
    transition: translate 720ms cubic-bezier(0.22, 1, 0.36, 1);
  }
}

@supports not (translate: 1px 0) {
  .mj-cyan-line-motion {
    transform: translate3d(var(--mj-cyan-line-start-x, 0px), 0, 0);
    transition: none;
  }

  .mj-cyan-line-motion.mj-cyan-line-motion--visible {
    transform: translate3d(0, 0, 0);
    transition: transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mj-cyan-line-motion,
  .mj-cyan-line-motion.mj-cyan-line-motion--visible {
    translate: 0 0;
    transform: none;
    transition: none;
  }
}
/* layerrelay-shared-style:macdonald-cyan-line-scroll-motion:v8:end */




/* layerrelay-shared-style:macdonald-desktop-typography:v1:start */
/* Figma desktop typography contract: shared chrome and semantic page families. */
@font-face {
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/robotocondensed/v31/ieVl2ZhZI2eCN5jzbjEETS9weq8-19K7DQk6YvM.woff2") format("woff2");
}

@font-face {
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/robotocondensed/v31/ieVj2ZhZI2eCN5jzbjEETS9weq8-19eLDwM9QPFUew.woff2") format("woff2");
}

@media (min-width: 901px) {
  /* Figma header instance 3270:26955 — Roboto Condensed Bold. */
  body .lr-macdonald-header .mj-header__toggle .elementor-button,
  body .elementor-10 .mj-header__toggle .elementor-button {
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
  }

  /* The desktop mega-menu link rows use Roboto Regular in the Figma header. */
  body .lr-macdonald-header .mj-header__dropdown-link .elementor-button,
  body .elementor-10 .mj-header__dropdown-link .elementor-button {
    font-family: Roboto, Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
  }

  /* Service/sector Figma families 2840:21643 and 2840:21910. */
  body .elementor .lr-macdonald-split-page-hero h1.elementor-heading-title {
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
    font-style: italic !important;
    font-weight: 700 !important;
  }

  body .elementor .lr-macdonald-trusted-by
    + .elementor-element.e-con h2.elementor-heading-title {
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
    font-style: italic !important;
    font-weight: 600 !important;
  }

  /* Latest-news single Figma frame 2840:22202. */
  body.single-post .elementor.elementor-506
    .latest-news-single__title .elementor-heading-title,
  body.single-post .elementor.elementor-506
    .elementor-element-7ea938c9 .elementor-heading-title,
  body.single-post .elementor.elementor-506
    .elementor-element-b10efb9a .elementor-heading-title {
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
    font-style: italic !important;
    font-weight: 700 !important;
  }

  body.single-post .elementor.elementor-506 :is(
    .elementor-element-ac663ed0,
    .elementor-element-e5d12c4f
  ) .elementor-button,
  body.single-post .elementor.elementor-506
    .elementor-element-0e1a677b {
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
    font-style: italic !important;
    font-weight: 400 !important;
  }

  /* Case-study single Figma frame 2840:22525. */
  body.single-case_study .case-study-single__title .elementor-heading-title,
  body.single-case_study .case-study-single__share-heading .elementor-heading-title,
  body.single-case_study .case-study-single__article :is(h1, h2, h3, h4, h5, h6) {
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
    font-style: italic !important;
    font-weight: 700 !important;
  }

  /* Shared enquiry heading across start, quote, and thank-you templates. */
  body .elementor .mj-enquiry-heading,
  body .elementor .mj-enquiry-heading .elementor-heading-title {
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
    font-style: italic !important;
    font-weight: 600 !important;
  }
}
/* layerrelay-shared-style:macdonald-desktop-typography:v1:end */

/* layerrelay-shared-style:macdonald-tablet-scroll-polish:v1:start */
@media (min-width: 768px) and (max-width: 1024px) {
  body.home .elementor.elementor-29 > .elementor-widget-shortcode:has(.lr-shared-testimonial-band) {
    margin-block-end: 0 !important;
  }

  body.admin-bar .layerrelay-global-header-mount {
    margin-top: 0 !important;
  }
}
/* layerrelay-shared-style:macdonald-tablet-scroll-polish:v1:end */


/* layerrelay-shared-style:macdonald-sitewide-tablet-inline-rails:v18:start */
/* One shared tablet rail for repeated content sections. Keep this scoped to
   section owners: full-bleed hero/media compositions retain their own rules. */
@media (min-width: 768px) and (max-width: 1024px) {
  :root {
    --mj-tablet-section-inline-rail: clamp(32px, 5vw, 48px);
  }

  /* Include the exact iPad Pro width in the gallery's tablet composition. */
  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con
    > .elementor-widget-button.layerrelay-button-jn04zx
  ) {
    --padding-right: var(--mj-tablet-section-inline-rail) !important;
    --padding-left: var(--mj-tablet-section-inline-rail) !important;
    padding-right: var(--mj-tablet-section-inline-rail) !important;
    padding-left: var(--mj-tablet-section-inline-rail) !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con
    > .elementor-widget-button.layerrelay-button-jn04zx
  ) > .elementor-element.e-con:nth-child(2) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Stacked policy columns must release their desktop max-widths. The section
     rail owns both edges; readable text can keep its narrower inner measure. */
  body .elementor .elementor-element.elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1) {
    --padding-right: var(--mj-tablet-section-inline-rail) !important;
    --padding-left: var(--mj-tablet-section-inline-rail) !important;
    padding-right: var(--mj-tablet-section-inline-rail) !important;
    padding-left: var(--mj-tablet-section-inline-rail) !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
    > :is(.elementor-element-60b03b5a, .elementor-element-82feefd1),
  body .elementor .elementor-element.elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
    > .elementor-element-60b03b5a
    > .elementor-element.e-con {
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* The four-item Core Values source has a paired-rule heading followed by a
     four-child row. This structural owner survives page-specific Elementor IDs. */
  body .elementor .elementor-element.e-con:has(
    > .elementor-element.e-con:first-child .mj-cyan-line-pair-heading
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child
  ) {
    --padding-right: var(--mj-tablet-section-inline-rail) !important;
    --padding-left: var(--mj-tablet-section-inline-rail) !important;
    padding-right: var(--mj-tablet-section-inline-rail) !important;
    padding-left: var(--mj-tablet-section-inline-rail) !important;
  }

  /* Keep the complete brand-logo artwork inside the same equal rails. */
  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con .layerrelay-button-1pufljb
  ):has(> .elementor-widget-image) {
    box-sizing: border-box !important;
    --padding-right: var(--mj-tablet-section-inline-rail) !important;
    --padding-left: var(--mj-tablet-section-inline-rail) !important;
    padding-right: var(--mj-tablet-section-inline-rail) !important;
    padding-left: var(--mj-tablet-section-inline-rail) !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con .layerrelay-button-1pufljb
  ):has(> .elementor-widget-image) > .elementor-widget-image {
    width: min(100%, 658px) !important;
    max-width: 100% !important;
    background-size: contain !important;
  }
}

/* At the narrow tablet edge, the source's fluid 8.75vw gap becomes wider than
   the available four-item Core Values row. Cap only that gap; 901–1024px keeps
   the approved wider composition. */
@media (min-width: 768px) and (max-width: 900px) {
  body .elementor .elementor-element.e-con:has(
    > .elementor-element.e-con:first-child .mj-cyan-line-pair-heading
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child
  ) > .elementor-element.e-con:nth-child(2) {
    --gap: clamp(32px, 5vw, 45px) !important;
    gap: clamp(32px, 5vw, 45px) !important;
  }
}
/* layerrelay-shared-style:macdonald-sitewide-tablet-inline-rails:v18:end */


/* layerrelay-shared-style:macdonald-navigation-dropdown-content-heights:v1:start */
/* Let the shorter desktop menus size to their own links and existing padding.
   Our Services keeps the shared 185px minimum and its current rendered height. */
@media (min-width: 901px) {
  .lr-macdonald-header .mj-header__dropdown--sectors,
  .lr-macdonald-header .mj-header__dropdown--company,
  .lr-macdonald-header .mj-header__dropdown--more,
  .elementor-10 .elementor-element.elementor-element-4a110007,
  .elementor-10 .elementor-element.elementor-element-4a11000b,
  .elementor-10 .elementor-element.elementor-element-4a11000f {
    min-height: 0 !important;
  }
}
/* layerrelay-shared-style:macdonald-navigation-dropdown-content-heights:v1:end */

/* layerrelay-shared-style:macdonald-mobile-core-values-grid:v2:start */
/* The repeated Core Values component is identified by its semantic H5 paired
   heading and four immediate value items. This intentionally avoids page IDs
   so every identical consumer keeps one shared responsive owner. */
@media (max-width: 767px) {
  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) {
    --padding-top: clamp(28px, 7.6923vw, 36px) !important;
    --padding-right: clamp(20px, 6.1538vw, 32px) !important;
    --padding-bottom: clamp(28px, 7.6923vw, 36px) !important;
    --padding-left: clamp(20px, 6.1538vw, 32px) !important;
    --gap: clamp(24px, 6.1538vw, 32px) !important;
    padding: clamp(28px, 7.6923vw, 36px)
      clamp(20px, 6.1538vw, 32px) !important;
    gap: clamp(24px, 6.1538vw, 32px) !important;
    overflow: visible !important;
  }

  /* Centre the H5 and its opposing cyan rules as one composition. The rule
     motion classes remain intact; only their static layout offsets are owned
     here so animation and reduced-motion behaviour are preserved. */
  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:first-child {
    --width: clamp(124px, 34vw, 144px) !important;
    width: clamp(124px, 34vw, 144px) !important;
    max-width: 100% !important;
    align-self: center !important;
    align-items: stretch !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:first-child
    > .elementor-element.e-con {
    --width: 100% !important;
    width: 100% !important;
    max-width: none !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:first-child
    > .elementor-element.e-con:nth-child(2) {
    --padding-right: 0px !important;
    --padding-left: 0px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:first-child
    > .elementor-element.e-con:first-child {
    align-items: flex-start !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:first-child
    > .elementor-element.e-con:last-child {
    align-items: flex-end !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:first-child .mj-cyan-line-pair-rule,
  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:first-child
    > :is(.elementor-element.e-con:first-child, .elementor-element.e-con:last-child)
    > .elementor-element.e-con {
    --mj-cyan-pair-layout-x: 0px !important;
    --mj-cyan-pair-layout-y: 0px !important;
    left: 0 !important;
    top: 0 !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:first-child h5.elementor-heading-title {
    text-align: center !important;
  }

  /* Keep all four value items in two equal columns. Mobile icons shrink
     fluidly, rows breathe a little more, and each icon/label pair starts from
     its column edge instead of centring independently. */
  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:nth-child(2) {
    --display: grid !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --row-gap: clamp(30px, 8.7179vw, 40px) !important;
    --column-gap: clamp(20px, 6.1538vw, 28px) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: clamp(30px, 8.7179vw, 40px) !important;
    column-gap: clamp(20px, 6.1538vw, 28px) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con {
    --width: 100% !important;
    --gap: clamp(7px, 2.3077vw, 10px) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: clamp(7px, 2.3077vw, 10px) !important;
    justify-content: flex-start !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con
    > .elementor-widget-image:first-child {
    --width: clamp(18px, 5.1282vw, 22px) !important;
    width: clamp(18px, 5.1282vw, 22px) !important;
    min-width: clamp(18px, 5.1282vw, 22px) !important;
    max-width: clamp(18px, 5.1282vw, 22px) !important;
    flex: 0 0 clamp(18px, 5.1282vw, 22px) !important;
  }

  body .elementor .elementor-element.elementor-element.e-con:has(
    > .elementor-element.e-con:first-child h5.elementor-heading-title
  ):has(
    > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con:nth-child(4):last-child h5.elementor-heading-title
  ) > .elementor-element.e-con:nth-child(2)
    > .elementor-element.e-con
    > .elementor-widget-image:first-child img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}
/* layerrelay-shared-style:macdonald-mobile-core-values-grid:v2:end */

/* layerrelay-shared-style:macdonald-figma-typography-family:v1:start */
/* Exact Figma-linked family/style repair. Core Values ownership is intentionally excluded. */
body .elementor .elementor-element.elementor-element-057756f0,
body .elementor .elementor-element.elementor-element-0721a633,
body .elementor .elementor-element.elementor-element-0e1a677b,
body .elementor .elementor-element.elementor-element-1101f865,
body .elementor .elementor-element.elementor-element-13bcd86f,
body .elementor .elementor-element.elementor-element-13c3a3e3,
body .elementor .elementor-element.elementor-element-17a41da4,
body .elementor .elementor-element.elementor-element-1e1bf931,
body .elementor .elementor-element.elementor-element-24c1545f,
body .elementor .elementor-element.elementor-element-2c3ae159,
body .elementor .elementor-element.elementor-element-319cc64d,
body .elementor .elementor-element.elementor-element-34e82e83,
body .elementor .elementor-element.elementor-element-37d66526,
body .elementor .elementor-element.elementor-element-3933b708,
body .elementor .elementor-element.elementor-element-3d4f7f85,
body .elementor .elementor-element.elementor-element-3d647029,
body .elementor .elementor-element.elementor-element-3dfac91b,
body .elementor .elementor-element.elementor-element-3e6ae6bf,
body .elementor .elementor-element.elementor-element-4180c727,
body .elementor .elementor-element.elementor-element-46af489a,
body .elementor .elementor-element.elementor-element-48c05643,
body .elementor .elementor-element.elementor-element-4904d57e,
body .elementor .elementor-element.elementor-element-496a0cbf,
body .elementor .elementor-element.elementor-element-4a33ed4f,
body .elementor .elementor-element.elementor-element-4b3a209f,
body .elementor .elementor-element.elementor-element-4f23ba72,
body .elementor .elementor-element.elementor-element-504edb1d,
body .elementor .elementor-element.elementor-element-50ec9aa1,
body .elementor .elementor-element.elementor-element-55d756ee,
body .elementor .elementor-element.elementor-element-594b4671,
body .elementor .elementor-element.elementor-element-5a6ac270,
body .elementor .elementor-element.elementor-element-5df5cb98,
body .elementor .elementor-element.elementor-element-602f2e00,
body .elementor .elementor-element.elementor-element-6251e996,
body .elementor .elementor-element.elementor-element-6835366b,
body .elementor .elementor-element.elementor-element-69f7fd02,
body .elementor .elementor-element.elementor-element-6a4f99aa,
body .elementor .elementor-element.elementor-element-6a627400,
body .elementor .elementor-element.elementor-element-71bb3048,
body .elementor .elementor-element.elementor-element-7469e279,
body .elementor .elementor-element.elementor-element-74e9ebab,
body .elementor .elementor-element.elementor-element-7600f44d,
body .elementor .elementor-element.elementor-element-7aeacdcd,
body .elementor .elementor-element.elementor-element-7ea938c9,
body .elementor .elementor-element.elementor-element-7f263c7d,
body .elementor .elementor-element.elementor-element-81cb725e,
body .elementor .elementor-element.elementor-element-87e7314e,
body .elementor .elementor-element.elementor-element-8d0b2a77,
body .elementor .elementor-element.elementor-element-92956714,
body .elementor .elementor-element.elementor-element-989c98af,
body .elementor .elementor-element.elementor-element-9b4382e7,
body .elementor .elementor-element.elementor-element-a24d4917,
body .elementor .elementor-element.elementor-element-a2b9ae73,
body .elementor .elementor-element.elementor-element-aa88004d,
body .elementor .elementor-element.elementor-element-b0947ed7,
body .elementor .elementor-element.elementor-element-b10efb9a,
body .elementor .elementor-element.elementor-element-b1d6209a,
body .elementor .elementor-element.elementor-element-b45b179b,
body .elementor .elementor-element.elementor-element-b6789404,
body .elementor .elementor-element.elementor-element-bad7e8e0,
body .elementor .elementor-element.elementor-element-bcc5640f,
body .elementor .elementor-element.elementor-element-bccd42ec,
body .elementor .elementor-element.elementor-element-bdac85ea,
body .elementor .elementor-element.elementor-element-bef0eafb,
body .elementor .elementor-element.elementor-element-c051d8b2,
body .elementor .elementor-element.elementor-element-c0b53c89,
body .elementor .elementor-element.elementor-element-c277f162,
body .elementor .elementor-element.elementor-element-c4925e03,
body .elementor .elementor-element.elementor-element-c5a10009,
body .elementor .elementor-element.elementor-element-c6fd9ba3,
body .elementor .elementor-element.elementor-element-c8446d59,
body .elementor .elementor-element.elementor-element-ca668df4,
body .elementor .elementor-element.elementor-element-cd50c562,
body .elementor .elementor-element.elementor-element-d05915ec,
body .elementor .elementor-element.elementor-element-d0997c90,
body .elementor .elementor-element.elementor-element-d1aecc47,
body .elementor .elementor-element.elementor-element-d1fff0cc,
body .elementor .elementor-element.elementor-element-d33bb590,
body .elementor .elementor-element.elementor-element-d6139e36,
body .elementor .elementor-element.elementor-element-d7b81814,
body .elementor .elementor-element.elementor-element-dd1fd8c1,
body .elementor .elementor-element.elementor-element-e0db2561,
body .elementor .elementor-element.elementor-element-e16b3def,
body .elementor .elementor-element.elementor-element-e1dc8981,
body .elementor .elementor-element.elementor-element-e206dc9e,
body .elementor .elementor-element.elementor-element-e48bca75,
body .elementor .elementor-element.elementor-element-e5f0000e,
body .elementor .elementor-element.elementor-element-e60f3ae8,
body .elementor .elementor-element.elementor-element-ea6a66f2,
body .elementor .elementor-element.elementor-element-ede0e700,
body .elementor .elementor-element.elementor-element-f15e7c8d,
body .elementor .elementor-element.elementor-element-f17e8f76,
body .elementor .elementor-element.elementor-element-f893b6a6,
body .elementor .elementor-element.elementor-element-fab055e3,
body .elementor .elementor-element.elementor-element-fd1c239f,
body .elementor .elementor-element.elementor-element-feb1f1f8,
body .elementor .elementor-element.elementor-element-fec5382e,
body .elementor .elementor-element.elementor-element-fec7f47b,
body .elementor .elementor-element.elementor-element-057756f0 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-0721a633 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-0e1a677b :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-1101f865 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-13bcd86f :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-13c3a3e3 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-17a41da4 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-1e1bf931 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-24c1545f :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-2c3ae159 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-319cc64d :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-34e82e83 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-37d66526 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-3933b708 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-3d4f7f85 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-3d647029 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-3dfac91b :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-3e6ae6bf :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-4180c727 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-46af489a :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-48c05643 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-4904d57e :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-496a0cbf :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-4a33ed4f :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-4b3a209f :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-4f23ba72 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-504edb1d :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-50ec9aa1 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-55d756ee :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-594b4671 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-5a6ac270 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-5df5cb98 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-602f2e00 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-6251e996 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-6835366b :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-69f7fd02 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-6a4f99aa :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-6a627400 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-71bb3048 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-7469e279 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-74e9ebab :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-7600f44d :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-7aeacdcd :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-7ea938c9 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-7f263c7d :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-81cb725e :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-87e7314e :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-8d0b2a77 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-92956714 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-989c98af :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-9b4382e7 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-a24d4917 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-a2b9ae73 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-aa88004d :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-b0947ed7 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-b10efb9a :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-b1d6209a :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-b45b179b :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-b6789404 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-bad7e8e0 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-bcc5640f :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-bccd42ec :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-bdac85ea :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-bef0eafb :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-c051d8b2 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-c0b53c89 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-c277f162 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-c4925e03 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-c5a10009 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-c6fd9ba3 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-c8446d59 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-ca668df4 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-cd50c562 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-d05915ec :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-d0997c90 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-d1aecc47 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-d1fff0cc :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-d33bb590 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-d6139e36 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-d7b81814 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-dd1fd8c1 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-e0db2561 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-e16b3def :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-e1dc8981 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-e206dc9e :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-e48bca75 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-e5f0000e :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-e60f3ae8 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-ea6a66f2 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-ede0e700 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-f15e7c8d :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-f17e8f76 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-f893b6a6 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-fab055e3 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-fd1c239f :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-feb1f1f8 :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-fec5382e :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text),
body .elementor .elementor-element.elementor-element-fec7f47b :is(.elementor-heading-title, .elementor-button, .elementor-widget-container, .elementor-accordion-title, .elementor-tab-title, .elementor-icon-list-text) {
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
  font-style: italic !important;
}
/* layerrelay-shared-style:macdonald-figma-typography-family:v1:end */

/* layerrelay-shared-style:macdonald-figma-typography-metrics:v3:start */
/* Exact Figma metrics. The case-study card changes only at the audited desktop frame. */
body .elementor.elementor-273 :is(
  .elementor-element-d25737c9,
  .elementor-element-056f2456,
  .elementor-element-f65d2bcf
),
body .elementor.elementor-273 :is(
  .elementor-element-d25737c9,
  .elementor-element-056f2456,
  .elementor-element-f65d2bcf
) :is(.elementor-heading-title, .elementor-widget-container) {
  font-weight: 600 !important;
}

@media (min-width: 1440px) {
  html body .elementor.elementor-514.elementor-location-single
    .case-study-estimate.elementor-element-b64ffe59
    .elementor-element-5cea4eda .elementor-heading-title {
    font-size: 40px !important;
  }

  html body .elementor.elementor-514.elementor-location-single
    .case-study-estimate.elementor-element-b64ffe59
    .elementor-element-e6f7c4b7 .elementor-heading-title,
  html body .elementor.elementor-514.elementor-location-single
    .case-study-estimate.elementor-element-b64ffe59
    .elementor-element-a7bc4941,
  html body .elementor.elementor-514.elementor-location-single
    .case-study-estimate.elementor-element-b64ffe59
    .elementor-element-a7bc4941 p {
    font-size: 20px !important;
  }

  html body .elementor.elementor-514.elementor-location-single
    .case-study-estimate.elementor-element-b64ffe59
    .elementor-element-56a3e165 .elementor-button {
    font-size: 16px !important;
  }
}
/* layerrelay-shared-style:macdonald-figma-typography-metrics:v3:end */

/* layerrelay-shared-style:macdonald-figma-typography-family-exceptions:v2:start */
/*
 * Exact family corrections from the 2026-07-28 full-site Figma typography
 * audit. Service-card links retain their intentional Poppins face; the footer
 * TOP control has its own Roboto metrics. Core Values .elementor-10s are excluded.
 */
body .elementor
  .elementor-widget-button:not(.mj-service-card__link):not(.mj-footer__top-button)
  .elementor-button {
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
}

body .elementor .mj-header__mobile-toggle .elementor-button {
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 1.27em !important;
  letter-spacing: 0 !important;
}

body .elementor .mj-footer__top-button .elementor-button {
  font-family: Roboto, Arial, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 12px !important;
  line-height: 1em !important;
  letter-spacing: 0 !important;
}

body .elementor-location-single .case-study-single .elementor-heading-title {
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
}
/* layerrelay-shared-style:macdonald-figma-typography-family-exceptions:v2:end */


/* layerrelay-shared-style:macdonald-home-commitment-join:v3:start */
/* Shared homepage image/card join — Figma component 2840:114452. Both
   commitment consumers use one tablet composition and spacing contract. */
@media (max-width: 767px) {
  body .elementor .elementor-element.e-con.lr-macdonald-home-commitment {
    --gap: 0px !important;
    --row-gap: 0px !important;
    gap: 0 !important;
    row-gap: 0 !important;
  }

  body .elementor .elementor-element.e-con.lr-macdonald-home-commitment
    > .elementor-element.e-con.mj-commitment__composition {
    --padding-top: 0px !important;
    padding-top: 0 !important;
  }

  body .elementor .elementor-element.e-con.lr-macdonald-home-health-safety
    > .elementor-element.e-con.mj-commitment__composition {
    --padding-top: clamp(50px, calc(92px - 4.6667vw), 54px) !important;
    padding-top: clamp(50px, calc(92px - 4.6667vw), 54px) !important;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
  body .elementor :is(
    .elementor-element.e-con.lr-macdonald-home-commitment,
    .elementor-element.e-con.lr-macdonald-home-health-safety
  ) {
    --gap: 0px !important;
    --row-gap: 0px !important;
    gap: 0 !important;
    row-gap: 0 !important;
  }

  body .elementor :is(
    .elementor-element.e-con.lr-macdonald-home-commitment,
    .elementor-element.e-con.lr-macdonald-home-health-safety
  ) > .elementor-element.e-con.mj-commitment__composition {
    --padding-top: 0px !important;
    padding-top: 0 !important;
  }
}

/* layerrelay-shared-style:macdonald-home-commitment-join:v3:end */



/* layerrelay-shared-style:macdonald-policies-accordion-collapse:v1:start */
/* Closed rows must override the fluid open-row minimums from the shared
   Policies layout owner. Open rows remain content-sized and unchanged. */
@media (min-width: 1025px) {
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
    .mj-policy-accordion.elementor-element.mj-policy-accordion--closed {
    height: clamp(34px, 3.3125vw, 53px) !important;
    min-height: clamp(34px, 3.3125vw, 53px) !important;
    overflow: hidden !important;
  }

  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
    .elementor-element-16750f2d.mj-policy-accordion.elementor-element.mj-policy-accordion--closed {
    height: max(40px, clamp(34px, 3.3125vw, 53px)) !important;
    min-height: max(40px, clamp(34px, 3.3125vw, 53px)) !important;
  }
}

@media (max-width: 1024px) {
  body .elementor-element.e-con:has(> .elementor-element-60b03b5a):has(> .elementor-element-82feefd1)
    .mj-policy-accordion.elementor-element.mj-policy-accordion--closed {
    height: 54px !important;
    min-height: 54px !important;
    overflow: hidden !important;
  }
}
/* layerrelay-shared-style:macdonald-policies-accordion-collapse:v1:end */
/* layerrelay-shared-style:macdonald-global-inline-rail:v18:start */
/* The Home Market Sectors owner carries two 1120px desktop rows. Let those
   rows shrink with their registered section between 1025px and 1119px while
   retaining the approved 1120px cap from 1120px upward. */
body .elementor .elementor-element.elementor-element-a1e1e2c8,
body .elementor .elementor-element.elementor-element-a1e1e2c8
  .elementor-element.elementor-element-5619868b,
body .elementor .elementor-element.elementor-element-a1e1e2c8
  .elementor-element.elementor-element-cff5bcb4 {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body .elementor .elementor-element.elementor-element-a1e1e2c8
  .elementor-element.elementor-element-5619868b,
body .elementor .elementor-element.elementor-element-a1e1e2c8
  .elementor-element.elementor-element-cff5bcb4 {
  --width: min(100%, 1120px) !important;
  width: min(100%, 1120px) !important;
}
/* layerrelay-shared-style:macdonald-global-inline-rail:v18:end */

/* layerrelay-shared-style:macdonald-global-inline-rail:v19:start */
/* Exact Figma client-logo rail from component 2840:114451. The previous BBC,
   Sunglass Hut and Sandoz text approximations remain as accessible fallback
   labels, while the visible artwork comes from the source vector exports. */
body .elementor .lr-macdonald-trusted-by .mj-trusted-by__track {
  --mj-trusted-logo-gap: clamp(82px, 7.9375vw, 127px);
  margin-left: clamp(24px, 2.125vw, 34px) !important;
}

body .elementor .lr-macdonald-trusted-by > .mj-trusted-by__viewport {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    transparent clamp(74px, 5.75vw, 92px),
    #000 clamp(103px, 7.9375vw, 127px)
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    transparent clamp(74px, 5.75vw, 92px),
    #000 clamp(103px, 7.9375vw, 127px)
  );
}

body .elementor .lr-macdonald-trusted-by
  .mj-trusted-by__track > .mj-client-logo-item {
  position: relative !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --gap: 0px !important;
  flex: 0 0 calc(var(--mj-trusted-logo-width) + var(--mj-trusted-logo-gap)) !important;
  width: calc(var(--mj-trusted-logo-width) + var(--mj-trusted-logo-gap)) !important;
  min-width: calc(var(--mj-trusted-logo-width) + var(--mj-trusted-logo-gap)) !important;
  max-width: none !important;
  padding: 0 !important;
  gap: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--bbc,
  .mj-client-logo-item--bbc-duplicate
) {
  --mj-trusted-logo-width: 84px;
  --mj-trusted-logo-height: 24px;
  --mj-trusted-logo-art: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCA4NCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IkNsaWVudHMiPgo8ZyBpZD0iZzYiPgo8ZyBpZD0iZzgiPgo8cGF0aCBpZD0icGF0aDEwIiBkPSJNNDUuNTAwNiAxNS40Njk0QzQ1LjUwMDYgMTguMDQ2NyA0Mi4yNzQzIDE3Ljg5MzkgNDIuMjc0MyAxNy44OTM5SDM5LjA0ODFWMTMuMjM1N0g0Mi4yNzQzQzQ1LjU5NjcgMTMuMjE2NyA0NS41MDA2IDE1LjQ2OTQgNDUuNTAwNiAxNS40Njk0Wk0zOS4wNDgxIDYuMTMzNjdINDEuNTA2M0M0NC4wNjAzIDYuMjY3NDYgNDMuOTY0MiA4LjE1NzI4IDQzLjk2NDIgOC4xNTcyOEM0My45NjQyIDEwLjUwNTUgNDEuMTQxMiAxMC41NDM4IDQxLjE0MTIgMTAuNTQzOEgzOS4wNDgxVjYuMTMzNjdaTTQ0LjkwNTMgMTEuNDYwMkM0NC45MDUzIDExLjQ2MDIgNDcuMTEzNyAxMC41MjQ4IDQ3LjA5NDYgOC4wNDI3NEM0Ny4wOTQ2IDguMDQyNzQgNDcuNDMwMyAzLjk3NjQ5IDQyLjAxMDIgMy40ODAwNEgzNS45OTQ3VjIwLjUyODVINDIuODg4OUM0Mi44ODg5IDIwLjUyODUgNDguNjUwMSAyMC41NDc4IDQ4LjY1MDEgMTUuNzE3NUM0OC42NTAxIDE1LjcxNzUgNDguNzg0NCAxMi40MzM4IDQ0LjkwNTMgMTEuNDYwMlpNMjkuMzM5OCAwLjEzOTIwMkg1NC42NjA4VjIzLjg2MDhIMjkuMzM5OFYwLjEzOTIwMloiIGZpbGw9IiM3ODk2OUYiLz4KPC9nPgo8ZyBpZD0iZzEyIj4KPHBhdGggaWQ9InBhdGgxNCIgZD0iTTE2LjMwMTQgMTUuNDY5NEMxNi4zMDE0IDE4LjA0NjcgMTMuMDc1MSAxNy44OTM5IDEzLjA3NTEgMTcuODkzOUg5Ljg0ODg3VjEzLjIzNTdIMTMuMDc1MUMxNi4zOTc1IDEzLjIxNjcgMTYuMzAxNCAxNS40Njk0IDE2LjMwMTQgMTUuNDY5NFpNOS44NDg4NyA2LjEzMzY3SDEyLjMwN0MxNC44NjExIDYuMjY3NDYgMTQuNzY1IDguMTU3MjggMTQuNzY1IDguMTU3MjhDMTQuNzY1IDEwLjUwNTUgMTEuOTQyIDEwLjU0MzggMTEuOTQyIDEwLjU0MzhIOS44NDg4N1Y2LjEzMzY3Wk0xNS43MDYxIDExLjQ2MDJDMTUuNzA2MSAxMS40NjAyIDE3LjkxNDUgMTAuNTI0OCAxNy44OTU0IDguMDQyNzRDMTcuODk1NCA4LjA0Mjc0IDE4LjIzMTEgMy45NzY0OSAxMi44MTEgMy40ODAwNEg2Ljc5NTQ1VjIwLjUyODVIMTMuNjg5N0MxMy42ODk3IDIwLjUyODUgMTkuNDUwOSAyMC41NDc4IDE5LjQ1MDkgMTUuNzE3NUMxOS40NTA5IDE1LjcxNzUgMTkuNTg1MiAxMi40MzM4IDE1LjcwNjEgMTEuNDYwMlpNMC4xNDA2MjUgMC4xMzkyMDJIMjUuNDYxNlYyMy44NjA4SDAuMTQwNjI1VjAuMTM5MjAyWiIgZmlsbD0iIzc4OTY5RiIvPgo8L2c+CjxnIGlkPSJnMTYiPgo8cGF0aCBpZD0icGF0aDE4IiBkPSJNNzguNjk0MSA0LjcwMjEzVjcuODUyMjJDNzguNjk0MSA3Ljg1MjIyIDc1LjYwMjIgNS45NjIxNyA3Mi4xODQgNS45MjM5MUM3Mi4xODQgNS45MjM5MSA2NS44MDg1IDUuODAwMTkgNjUuNTIwNCAxMkM2NS41MjA0IDEyIDY1LjI5IDE3LjcwMzQgNzIuMTA3MyAxOC4wMjhDNzIuMTA3MyAxOC4wMjggNzQuOTY4NyAxOC4zNzE3IDc4Ljg0NzggMTUuOTA4OVYxOS4xNzM1Qzc4Ljg0NzggMTkuMTczNSA3My42NDM3IDIyLjI0NzEgNjcuNjEzNiAxOS44Nzk4QzY3LjYxMzYgMTkuODc5OCA2Mi41NDM4IDE4LjAzNzkgNjIuMzUxNiAxMkM2Mi4zNTE2IDEyIDYyLjE0MDIgNS43OTAzNCA2OC45MDAyIDMuNzI4NDdDNjguOTAwMiAzLjcyODQ3IDcwLjcwNTUgMy4wNDExOCA3My45NTA5IDMuMzQ2NTZDNzMuOTUwOSAzLjM0NjU2IDc1Ljg5MDMgMy41Mzc2MyA3OC42OTQxIDQuNzAyMTNaTTU4LjUzOTEgMjMuODYwOEg4My44NlYwLjEzOTIwMkg1OC41MzkxVjIzLjg2MDhaIiBmaWxsPSIjNzg5NjlGIi8+CjwvZz4KPC9nPgo8L2c+Cjwvc3ZnPgo=");
}

body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--vision,
  .mj-client-logo-item--vision-duplicate
) {
  --mj-trusted-logo-width: 124px;
  --mj-trusted-logo-height: 59px;
}

body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--sunglass,
  .mj-client-logo-item--sunglass-duplicate
) {
  --mj-trusted-logo-width: 159px;
  --mj-trusted-logo-height: 28px;
  --mj-trusted-logo-art: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU5IiBoZWlnaHQ9IjI4IiB2aWV3Qm94PSIwIDAgMTU5IDI4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8ZyBpZD0iQ2xpZW50cyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzI4NTFfMjU5NDEpIj4KPHBhdGggaWQ9IlZlY3RvciIgZD0iTTEzNC43MSAxOS45MTg1VjExLjkwMDNDMTM0LjcxIDkuODM1MTggMTM0LjA1MiA4LjI1NDE4IDEzMi4xMzQgOC4yNTQxOEMxMzAuMjE1IDguMjU0MTggMTI5LjIzNCAxMC4xNDc2IDEyOS4yMzQgMTEuNzAyTDEyOS4yMzUgMTkuOTE4NUgxMjcuMDY2VjEuNTcyNzhIMTI5LjI0MlYxLjU3MTgxVjkuMDM4NjRDMTI5Ljc3MSA4LjE5NzYgMTMwLjc5NSA3LjQzMTUyIDEzMi41NzEgNy40MzE1MkMxMzUuMTg1IDcuNDMxNTIgMTM2Ljg4MiA5LjI2MjA4IDEzNi44ODIgMTEuNzg4NlYxOS45MThIMTM0LjcxVjE5LjkxODVaTTg0LjM2NDkgMTkuOTEzMkg4Ni41MDg0VjEuNTcwMzZIODQuMzY0OVYxOS45MTMyWk02NC41ODA4IDcuNDQ3QzYzLjAwODkgNy40NDcgNjEuODY5NiA4LjE3MjQ1IDYxLjI0MzcgOS4xMjg1OVY3Ljg4ODU2VjcuODg5NTJINTkuMDk5MlYxOS45MjE0SDYxLjI0MzdWMTEuNjUxMkM2MS4yNDM3IDkuODU1OTggNjIuNTM0OSA4LjI1MTI4IDY0LjE3MSA4LjI1MTI4QzY1LjkyMDcgOC4yNTEyOCA2Ni43NzQ5IDkuNjQ1MTEgNjYuNzc0OSAxMS42NDRWMTkuOTIxOUg2OC45MTZWMTEuNzk0NEM2OC45MTYgOS4yNjc0IDY3LjA0NzMgNy40NDc0OCA2NC41ODA4IDcuNDQ3NDhWNy40NDdaTTE0Ny43MTQgNy44ODkwNFYxNi4yMzE3QzE0Ny43MTQgMTguMjk2OCAxNDYuNzgzIDE5LjU0MzcgMTQ0Ljk4NyAxOS41NDM3QzE0My4xOTIgMTkuNTQzNyAxNDIuMjExIDE4LjI5NjggMTQyLjIxMSAxNi4yMzE3VjcuODg5MDRIMTQwLjA0TDE0MC4wNjIgMTUuMzExOUMxNDAuMDYyIDE4LjI1MTkgMTQxLjc4MiAyMC4zNzg0IDE0NC45NCAyMC4zNzg0QzE0OC4wOTggMjAuMzc4NCAxNDkuODg2IDE4LjI1MTkgMTQ5Ljg4NiAxNS4zMTE5VjcuODg5MDRIMTQ3LjcxNFpNNTMuNDc3NyA3Ljg4OTA0VjE2LjIzMTdDNTMuNDc3NyAxOC4yOTY4IDUyLjU0NzIgMTkuNTQzNyA1MC43NTE0IDE5LjU0MzdDNDguOTU1NiAxOS41NDM3IDQ3Ljk3NDcgMTguMjk2OCA0Ny45NzQ3IDE2LjIzMTdWNy44ODkwNEg0NS44MDRMNDUuODI1OCAxNS4zMTE5QzQ1LjgyNTggMTguMjUxOSA0Ny41NDY0IDIwLjM3ODQgNTAuNzA0MyAyMC4zNzg0QzUzLjg2MjMgMjAuMzc4NCA1NS42NDk5IDE4LjI1MTkgNTUuNjQ5OSAxNS4zMTE5VjcuODg5MDRINTMuNDc3N1pNOTguMjY1NyAxMi40NzQ0VjE5LjkwNTlIOTYuMTQzMVYxOC42NzM2Qzk1LjY0NjMgMTkuMzk2NiA5NC41Mzk2IDIwLjIwMTQgOTMuMTg2NyAyMC4yMDE0QzkwLjYzMzMgMjAuMjAxNCA4OS4zNjU4IDE4LjY3MzYgODkuMzY1OCAxNi45MjA0Qzg5LjM2NTggMTQuMzMyIDkxLjA5ODUgMTMuODUxOCA5My40MjU2IDEzLjE2NjVDOTUuMzgxMiAxMi41OSA5Ni4yODk3IDEyLjI5MzUgOTYuMjg5NyAxMC42MzA4Qzk2LjI4OTcgOS4yODE5MSA5NS40MzQ2IDguMzE0MTUgOTMuNjk2MSA4LjMxNDE1QzkxLjk1NzYgOC4zMTQxNSA5MS4wNzQyIDkuMDc3MzMgOTAuNTMwMyAxMC4zNTM2TDg5Ljc3MjMgMTAuMDQ3QzkwLjQ1MDcgOC4zMTcwNiA5MS45NDk4IDcuNTA0NTUgOTMuNzYwMiA3LjUwNDU1Qzk2LjMwODcgNy41MDQ1NSA5OC4yNjUyIDkuNDg2IDk4LjI2NTIgMTIuNDc0OUw5OC4yNjU3IDEyLjQ3NDRaTTk2LjE0MzEgMTIuOTY0OEM5NS42NjkxIDEzLjMyMTcgOTUuMDk3MSAxMy41NDQyIDkzLjc0MTcgMTMuOTIxOUM5Mi4wNDY5IDE0LjM5NTQgOTEuNTE1NiAxNS4wNjIzIDkxLjUxNTYgMTYuODU3NkM5MS41MTU2IDE4LjE1MTMgOTEuOTAxNyAxOS4zNjIzIDkzLjMyMjEgMTkuMzg0MUM5NC45MjU3IDE5LjM4NDEgOTYuMTQzMSAxOC4wMDY3IDk2LjE0MzEgMTYuNzI0MVYxMi45NjQ4Wk03OC44NTU2IDExLjg4ODJDNzguODU1NiA5LjExODkyIDc3Ljk5ODUgOC4yNjE5MiA3Ni4zMjU1IDguMjYxOTJDNzQuNjUyNiA4LjI2MTkyIDczLjc5ODQgOS4xMTc5NSA3My43OTg0IDExLjg4ODJWMTIuNzQwNEM3My43OTg0IDE1LjM3NjIgNzQuNjQzOCAxNi4wOTM5IDc2LjMxMTQgMTYuMDkzOUM3Ny45NzkgMTYuMDkzOSA3OC44NTU2IDE1LjM3NjIgNzguODU1NiAxMi43NDA0VjExLjg4ODJaTTgxLjkxNzkgNy44MjMyN1Y4LjYzNzcxSDgxLjkxODlINzkuNzIzOUM4MC41OTU2IDkuNDU4OTIgODEuMDU5MyAxMC42NzE0IDgxLjA1OTMgMTIuMTQxNkM4MS4wNTkzIDE1LjA1NDEgNzkuMzc0NyAxNi45MDQ1IDc2LjMxMTQgMTYuOTA0NUM3NC42ODc1IDE2LjkyNDggNzMuMzQ0OCAxNi43ODc0IDczLjM0NDggMTcuOTYzNkM3My4zNDQ4IDE4LjgyMjEgNzQuOTI2NSAxOC43MzExIDc2LjU5ODQgMTguODA2NkM3OS4wNTUyIDE4LjkxNzggODEuNTUyMiAxOS4xNDI3IDgxLjU1MjIgMjIuMDc2NEM4MS41NTIyIDI0LjM2NDUgNzkuMDEyOSAyNS45NTM3IDc2LjM5NTQgMjUuOTUzN0M3NC44MTcyIDI1Ljk1MzcgNzMuNDMwNyAyNS40NjcyIDcyLjU4MDkgMjQuNjkxTDczLjEzMjYgMjQuMDkwM0M3My44NjE1IDI0LjczMTEgNzUuMDA2MSAyNS4xNDMyIDc2LjM5NTkgMjUuMTQzMkM3OC4zMDU5IDI1LjE0MzIgNzkuOTQyNCAyNC4zNDAzIDc5Ljk0MjQgMjIuODg0NkM3OS45NDI0IDIxLjE1MTMgNzguODUyMiAyMS4xMjA4IDc2LjU0MDYgMjAuOTQ1N0M3NC40NzkyIDIwLjc5MzQgNzIuNDM4MSAyMC40MDg0IDcyLjQzODEgMTguNDQwNUM3Mi40MzgxIDE3LjQyMTUgNzIuODU2OCAxNi42NjAyIDczLjkyNTEgMTYuMzAxNEM3Mi40Mzk2IDE1LjUyNTEgNzEuNjIwOCAxNC4xNjEzIDcxLjYyMDggMTIuMTQxMkM3MS42MjA4IDkuMzQ1MjYgNzMuMjg4IDcuNDM0OTEgNzYuMzI1NSA3LjQzNDkxQzc3LjE3NTMgNy40MzQ5MSA3Ny45MzQ0IDcuNjAwMzEgNzguNTI3MyA3LjgyMjc4SDgxLjkxNzlWNy44MjMyN1pNMTU1Ljg3NCAzLjMyMjU3SDE1My43MDJWNy44ODg1NkgxNTIuMzM2VjguNzA5NzdIMTUzLjcwMkwxNTMuNjg5IDE1LjY2NjhDMTUzLjY4OSAxOC43ODczIDE1NS4xNDggMjAuMjg4OSAxNTcuNTY5IDIwLjI4ODlDMTU4LjE2OSAyMC4yODg5IDE1OC42MzIgMjAuMjAzMyAxNTkgMjAuMDgzNEwxNTguODczIDE5LjM1MTJDMTU4LjYxOCAxOS40Mjc2IDE1OC4zNTEgMTkuNDc1NSAxNTguMDczIDE5LjQ3NTVDMTU2LjQ0MSAxOS40NzU1IDE1NS44NzQgMTguMzY1IDE1NS44NzQgMTYuMTk5M1Y4LjcwOTc3SDE1OC43MTRWNy44ODg1NkgxNTUuODc0VjMuMzIyNTdaTTI4LjExNTMgMTQuMDAwMkMyOC4xMTUzIDYuMjY3OSAyMS44MjEyIDAgMTQuMDU3NyAwQzYuMjk0MDkgMCAwIDYuMjY3OSAwIDE0LjAwMDJDMCAyMS43MzI2IDYuMjk0MDkgMjggMTQuMDU3NyAyOEMyMS44MjEyIDI4IDI4LjExNTMgMjEuNzMyMSAyOC4xMTUzIDE0LjAwMDJaTTQyLjcyMTMgMTAuMzU5OUM0Mi43MjEzIDkuMjAwMTcgNDEuMjE4OCA3LjU4MTkzIDM4LjQ3OTkgNy41ODE5M0MzNi4wMTg4IDcuNTgxOTMgMzQuNDA0MSA5LjI1OTE4IDM0LjQwNDEgMTEuNDA1MUMzNC40MDQxIDEzLjk1OTYgMzYuNDM1NCAxNC41ODg4IDM4LjQ5MjUgMTQuODg5MkM0MC4yMjU3IDE1LjE0MzYgNDEuNzcwOSAxNS42NjM5IDQxLjc3MDkgMTcuMzg4NkM0MS43NzA5IDE4Ljc0MjMgNDAuMzg4MyAxOS41OTAxIDM4LjY1MzcgMTkuNTkwMUMzNy4zOTc5IDE5LjU5MDEgMzYuNTE2IDE5LjE2NzkgMzUuNzQ0NCAxOC40MDc2TDM1LjEyOTEgMTkuMDA5N0MzNi4wNTc2IDE5LjkzMzUgMzcuMzA5NSAyMC40MTY2IDM4LjY1MzcgMjAuNDE2NkM0MS4wODE4IDIwLjQxNjYgNDMuMjQ0OCAxOC44MTA5IDQzLjI0NDggMTYuNTI3N0M0My4yNDQ4IDE0LjU0OTIgNDIuNTMzOCAxMy4wNjEgMzguNTM0NyAxMi41MDgyQzM2Ljg3MjUgMTIuMjc4NSAzNS40NTc5IDExLjk1OTggMzUuNTA5OCAxMC40OTY4SDM1LjUxMDhDMzUuNTUxNiA5LjM3NDI4IDM2Ljc5NDggOC4zOTQ0NCAzOC41MzMzIDguMzk0NDRDMzkuNDY4MSA4LjM5NDQ0IDQwLjU3NDggOC43MDEwNiA0MS4wMjYgOS4xNTY2NEw0MC45NTU1IDkuMTg5MDVDNDAuNDk1MiA5LjM5ODk1IDQwLjE5ODUgOS44NTk4NSA0MC4xOTg1IDEwLjM2MDRDNDAuMTk4NSAxMS4wMzQ2IDQwLjc3MSAxMS42MDM4IDQxLjQ0OCAxMS42MDM4QzQyLjEyNDkgMTEuNjAzOCA0Mi43MjIyIDExLjAzNDYgNDIuNzIyMiAxMC4zNjA0TDQyLjcyMTMgMTAuMzU5OVpNMTA4Ljk2NyAxMC4zNTk5QzEwOC45NjcgOS4yMDAxNyAxMDcuNDY1IDcuNTgxOTMgMTA0LjcyNiA3LjU4MTkzQzEwMi4yNjUgNy41ODE5MyAxMDAuNjUgOS4yNTkxOCAxMDAuNjUgMTEuNDA1MUMxMDAuNjUgMTMuOTU5NiAxMDIuNjgxIDE0LjU4ODggMTA0LjczOSAxNC44ODkyQzEwNi40NzIgMTUuMTQzNiAxMDguMDE3IDE1LjY2MzkgMTA4LjAxNyAxNy4zODg2QzEwOC4wMTcgMTguNzQyMyAxMDYuNjM0IDE5LjU5MDEgMTA0LjkgMTkuNTkwMUMxMDMuNjQ0IDE5LjU5MDEgMTAyLjc2MiAxOS4xNjc5IDEwMS45OSAxOC40MDc2TDEwMS4zNzUgMTkuMDA5N0MxMDIuMzA0IDE5LjkzMzUgMTAzLjU1NiAyMC40MTY2IDEwNC45IDIwLjQxNjZDMTA3LjMyOCAyMC40MTY2IDEwOS40OTEgMTguODEwOSAxMDkuNDkxIDE2LjUyNzdDMTA5LjQ5MSAxNC41NDkyIDEwOC43OCAxMy4wNjEgMTA0Ljc4MSAxMi41MDgyQzEwMy4xMTkgMTIuMjc4NSAxMDEuNzA0IDExLjk1OTggMTAxLjc1NiAxMC40OTY4SDEwMS43NTdDMTAxLjc5OCA5LjM3NDI4IDEwMy4wNDEgOC4zOTQ0NCAxMDQuNzc5IDguMzk0NDRDMTA1LjcxNCA4LjM5NDQ0IDEwNi44MjEgOC43MDEwNiAxMDcuMjcyIDkuMTU2NjRMMTA3LjIwMiA5LjE4OTA1QzEwNi43NDEgOS4zOTg5NSAxMDYuNDQ1IDkuODU5ODUgMTA2LjQ0NSAxMC4zNjA0QzEwNi40NDUgMTEuMDM0NiAxMDcuMDE3IDExLjYwMzggMTA3LjY5NCAxMS42MDM4QzEwOC4zNzEgMTEuNjAzOCAxMDguOTY4IDExLjAzNDYgMTA4Ljk2OCAxMC4zNjA0TDEwOC45NjcgMTAuMzU5OVpNMTE5LjY5OSAxMC4zNTk5QzExOS42OTkgOS4yMDAxNyAxMTguMTk3IDcuNTgxOTMgMTE1LjQ1OCA3LjU4MTkzQzExMi45OTcgNy41ODE5MyAxMTEuMzgyIDkuMjU5MTggMTExLjM4MiAxMS40MDUxQzExMS4zODIgMTMuOTU5NiAxMTMuNDE0IDE0LjU4ODggMTE1LjQ3MSAxNC44ODkyQzExNy4yMDQgMTUuMTQzNiAxMTguNzQ5IDE1LjY2MzkgMTE4Ljc0OSAxNy4zODg2QzExOC43NDkgMTguNzQyMyAxMTcuMzY3IDE5LjU5MDEgMTE1LjYzMiAxOS41OTAxQzExNC4zNzYgMTkuNTkwMSAxMTMuNDk0IDE5LjE2NzkgMTEyLjcyMyAxOC40MDc2TDExMi4xMDcgMTkuMDA5N0MxMTMuMDM2IDE5LjkzMzUgMTE0LjI4OCAyMC40MTY2IDExNS42MzIgMjAuNDE2NkMxMTguMDYgMjAuNDE2NiAxMjAuMjIzIDE4LjgxMDkgMTIwLjIyMyAxNi41Mjc3QzEyMC4yMjMgMTQuNTQ5MiAxMTkuNTEyIDEzLjA2MSAxMTUuNTEzIDEyLjUwODJDMTEzLjg1MSAxMi4yNzg1IDExMi40MzYgMTEuOTU5OCAxMTIuNDg4IDEwLjQ5NjhIMTEyLjQ4OUMxMTIuNTMgOS4zNzQyOCAxMTMuNzczIDguMzk0NDQgMTE1LjUxMSA4LjM5NDQ0QzExNi40NDYgOC4zOTQ0NCAxMTcuNTUzIDguNzAxMDYgMTE4LjAwNCA5LjE1NjY0TDExNy45MzQgOS4xODkwNUMxMTcuNDczIDkuMzk4OTUgMTE3LjE3NyA5Ljg1OTg1IDExNy4xNzcgMTAuMzYwNEMxMTcuMTc3IDExLjAzNDYgMTE3Ljc0OSAxMS42MDM4IDExOC40MjYgMTEuNjAzOEMxMTkuMTAzIDExLjYwMzggMTE5LjcgMTEuMDM0NiAxMTkuNyAxMC4zNjA0TDExOS42OTkgMTAuMzU5OVoiIGZpbGw9IiM3ODk2OUYiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yODUxXzI1OTQxIj4KPHJlY3Qgd2lkdGg9IjE1OSIgaGVpZ2h0PSIyOCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");
}

body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--watches,
  .mj-client-logo-item--watches-duplicate
) {
  --mj-trusted-logo-width: 150px;
  --mj-trusted-logo-height: 47px;
}

body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--breitling,
  .mj-client-logo-item--breitling-duplicate
) {
  --mj-trusted-logo-width: 110px;
  --mj-trusted-logo-height: 52px;
}

body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--mitie,
  .mj-client-logo-item--mitie-duplicate
) {
  --mj-trusted-logo-width: 104px;
  --mj-trusted-logo-height: 32px;
}

body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--sandoz,
  .mj-client-logo-item--sandoz-duplicate
) {
  --mj-trusted-logo-width: 157px;
  --mj-trusted-logo-height: 21px;
  --mj-trusted-logo-art: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU3IiBoZWlnaHQ9IjIxIiB2aWV3Qm94PSIwIDAgMTU3IDIxIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8ZyBpZD0iU2FuZG96LUJsdWUgMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzI4NTFfMjU5NTMpIj4KPHBhdGggaWQ9IlZlY3RvciIgZD0iTTAuMDAxMDEzNDQgMTYuNzQ2M0wyLjY1OTI1IDEzLjg1MTFDMy45MDg4MSAxNS41OTg2IDUuNDc2NTkgMTYuNDA3MiA3LjA3MDcyIDE2LjQwNzJDOC41MzIwOSAxNi40MDcyIDkuNDA5NzIgMTUuNjUwMyA5LjQwOTcyIDE0LjQyNDlDOS40MDk3MiAxMy4xOTk1IDguNTg1NzggMTIuNjI0NyA2LjM1MzIxIDExLjcxMjZDMy4xOTAyOSAxMC40ODYyIDAuOTMxMzQ4IDkuMTA0NzQgMC45MzEzNDggNS44NDMzN0MwLjkzMTM0OCAyLjU4MjAyIDMuNzc1MDQgMCA3LjcwODE3IDBDMTAuNTc4MiAwIDEyLjU5OCAxLjA0MzM1IDE0LjA2MDQgMi42MzQ3NEwxMS41MDg2IDUuNzEzMDdDMTAuNjg0NiA0LjY2OTcyIDkuNTQxNDQgMy45OTEzOSA4LjA1Mzc5IDMuOTkxMzlDNi44MzE1NSAzLjk5MTM5IDUuOTUzOTIgNC42NDM4NiA1Ljk1MzkyIDUuNjA4NjRDNS45NTM5MiA2LjU3MzQyIDYuOTEwNiA3LjA2OTczIDkuMjIzMjggOC4wMDg2MkMxMi41NzE2IDkuMjg2NzQgMTQuNDU4NyAxMC45MDQgMTQuNDU4NyAxNC4yNDI5QzE0LjQ1ODcgMTcuOTcyNyAxMS40ODIyIDIwLjM3MjcgNy4zODg5NCAyMC4zNzI3QzMuODgwNDQgMjAuMzcyNyAxLjM4MjMyIDE4Ljg1OTkgMCAxNi43NDczTDAuMDAxMDEzNDQgMTYuNzQ2M1oiIGZpbGw9IiM3ODk2OUYiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yIiBkPSJNMzcuOTMyOSAyMC4wMzI1TDM2LjYzMDcgMTYuMzAyN0gyOS4yOTU0TDI3LjkxMzEgMjAuMDMyNUgyMi42NTA0TDMwLjg2MzIgMC4zNjQ5OUgzNS4zMDIxTDQzLjQwODUgMjAuMDMyNUgzNy45MzM5SDM3LjkzMjlaTTMwLjY1MDQgMTIuNjI0NkgzNS4zMjg1TDM0LjM0NTQgOS44MDc4M0MzMy44OTM0IDguNTAzOTcgMzMuNDY4OCA3LjIyNTg1IDMzLjA2OTUgNS45NDc3N0MzMi42NDM4IDcuMjI1ODUgMzIuMTkyOCA4LjUwMzk3IDMxLjcxNDUgOS43ODIwMUwzMC42NTE0IDEyLjYyNTZMMzAuNjUwNCAxMi42MjQ2WiIgZmlsbD0iIzc4OTY5RiIvPgo8cGF0aCBpZD0iVmVjdG9yXzMiIGQ9Ik02Ni42MzE2IDAuMzY0OTlINzEuNDQyNFYyMC4wMzI1SDY3LjQ1NTZMNTcuNDA5NCA3LjY0MjU5TDU3LjQ4OTUgMjAuMDMyNUg1Mi42NTIzVjAuMzY0OTlINTYuNzQ1Nkw2Ni43OTE4IDEyLjY3NjRMNjYuNjMyNiAwLjM2NDk5SDY2LjYzMTZaIiBmaWxsPSIjNzg5NjlGIi8+CjxwYXRoIGlkPSJWZWN0b3JfNCIgZD0iTTgzLjUxNTYgMjAuMDMyNVYwLjM2NDk5SDg5LjI1NjNDOTYuMDYwNyAwLjM2NDk5IDEwMC44MTggMy42NTEyIDEwMC44MTggMTAuMTk4N0MxMDAuODE4IDE2Ljc0NjMgOTYuMTQgMjAuMDMyNSA4OS41NzU4IDIwLjAzMjVIODMuNTE1NlpNODguNDMyOSAxNS43ODA1SDg5LjQ5NThDOTMuMjcgMTUuNzgwNSA5NS43Njc5IDEzLjg1IDk1Ljc2NzkgMTAuMTk4N0M5NS43Njc5IDYuNTQ3NTIgOTMuNjQxMyA0Ljc0NzI3IDg5LjQ5NTggNC43NDcyN0g4OC40MzI5VjE1Ljc4MDVaIiBmaWxsPSIjNzg5NjlGIi8+CjxwYXRoIGlkPSJWZWN0b3JfNSIgZD0iTTEwOS45NTkgMTAuMTczQzEwOS45NTkgNC4zNTY0MyAxMTQuODQ4IDAuMDI1ODc4OSAxMjAuNzQ4IDAuMDI1ODc4OUMxMjYuNjQ4IDAuMDI1ODc4OSAxMzEuNDg2IDQuMzI5NTggMTMxLjQ4NiAxMC4yMjQ3QzEzMS40ODYgMTYuMTE5OCAxMjYuNTk2IDIwLjM3MTcgMTIwLjY2OCAyMC4zNzE3QzExNC43NDEgMjAuMzcxNyAxMDkuOTU3IDE2LjI3NjkgMTA5Ljk1NyAxMC4xNzNIMTA5Ljk1OVpNMTI2LjQwOSAxMC4yMjQ3QzEyNi40MDkgNi45OTAxOCAxMjMuOTkxIDQuNDg1NzQgMTIwLjcyMiA0LjQ4NTc0QzExNy40NTIgNC40ODU3NCAxMTUuMDM0IDcuMDE2MDQgMTE1LjAzNCAxMC4xOTc4QzExNS4wMzQgMTMuNTYyNiAxMTcuNjEyIDE1LjkwOTkgMTIwLjY2OSAxNS45MDk5QzEyMy45MzkgMTUuOTA5OSAxMjYuNDExIDEzLjQ4NCAxMjYuNDExIDEwLjIyMzdMMTI2LjQwOSAxMC4yMjQ3WiIgZmlsbD0iIzc4OTY5RiIvPgo8cGF0aCBpZD0iVmVjdG9yXzYiIGQ9Ik0xMzkuNTY0IDIwLjAzMjVWMTkuOTgwOEwxNDguOTQ3IDQuNjQzODNIMTQxLjIxMlYwLjM2NDk5SDE1Ni45OTlWMC40MTY3MUwxNDcuNjk3IDE1LjY3NjFIMTU2LjQ2N1YyMC4wMzI1SDEzOS41NjRaIiBmaWxsPSIjNzg5NjlGIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjg1MV8yNTk1MyI+CjxyZWN0IHdpZHRoPSIxNTciIGhlaWdodD0iMjEiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==");
}

body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--bbc,
  .mj-client-logo-item--bbc-duplicate,
  .mj-client-logo-item--sunglass,
  .mj-client-logo-item--sunglass-duplicate,
  .mj-client-logo-item--sandoz,
  .mj-client-logo-item--sandoz-duplicate
)::before {
  content: "";
  display: block;
  flex: 0 0 var(--mj-trusted-logo-width);
  width: var(--mj-trusted-logo-width);
  height: var(--mj-trusted-logo-height);
  background-image: var(--mj-trusted-logo-art);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

/* Visually replace only the three former approximations. Their DOM text stays
   available to assistive technology as the brand label. */
body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--bbc,
  .mj-client-logo-item--bbc-duplicate,
  .mj-client-logo-item--sunglass,
  .mj-client-logo-item--sunglass-duplicate,
  .mj-client-logo-item--sandoz,
  .mj-client-logo-item--sandoz-duplicate
) > * {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

body .elementor .lr-macdonald-trusted-by
  .mj-client-logo-item .mj-client-logo__image {
  flex: 0 0 var(--mj-trusted-logo-width) !important;
  width: var(--mj-trusted-logo-width) !important;
  max-width: var(--mj-trusted-logo-width) !important;
}

body .elementor .lr-macdonald-trusted-by
  .mj-client-logo-item .mj-client-logo__image img {
  display: block !important;
  width: var(--mj-trusted-logo-width) !important;
  min-width: var(--mj-trusted-logo-width) !important;
  max-width: var(--mj-trusted-logo-width) !important;
  height: var(--mj-trusted-logo-height) !important;
  min-height: var(--mj-trusted-logo-height) !important;
  max-height: var(--mj-trusted-logo-height) !important;
  object-fit: contain !important;
  opacity: 1 !important;
}

@media (max-width: 1024px) {
  body .elementor .lr-macdonald-trusted-by .mj-trusted-by__track {
    --mj-trusted-logo-gap: clamp(52px, 8.0078vw, 82px);
    margin-left: 0 !important;
  }

  body .elementor .lr-macdonald-trusted-by > .mj-trusted-by__viewport {
    -webkit-mask-image: none;
    mask-image: none;
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--bbc,
    .mj-client-logo-item--bbc-duplicate
  ) {
    --mj-trusted-logo-width: clamp(71px, 8.2031vw, 84px);
    --mj-trusted-logo-height: clamp(20px, 2.3438vw, 24px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--vision,
    .mj-client-logo-item--vision-duplicate
  ) {
    --mj-trusted-logo-width: clamp(105px, 12.1094vw, 124px);
    --mj-trusted-logo-height: clamp(50px, 5.7617vw, 59px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--sunglass,
    .mj-client-logo-item--sunglass-duplicate
  ) {
    --mj-trusted-logo-width: clamp(135px, 15.5273vw, 159px);
    --mj-trusted-logo-height: clamp(24px, 2.7344vw, 28px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--watches,
    .mj-client-logo-item--watches-duplicate
  ) {
    --mj-trusted-logo-width: clamp(128px, 14.6484vw, 150px);
    --mj-trusted-logo-height: clamp(40px, 4.5898vw, 47px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--breitling,
    .mj-client-logo-item--breitling-duplicate
  ) {
    --mj-trusted-logo-width: clamp(94px, 10.7422vw, 110px);
    --mj-trusted-logo-height: clamp(44px, 5.0781vw, 52px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--mitie,
    .mj-client-logo-item--mitie-duplicate
  ) {
    --mj-trusted-logo-width: clamp(88px, 10.1563vw, 104px);
    --mj-trusted-logo-height: clamp(27px, 3.125vw, 32px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--sandoz,
    .mj-client-logo-item--sandoz-duplicate
  ) {
    --mj-trusted-logo-width: clamp(133px, 15.332vw, 157px);
    --mj-trusted-logo-height: clamp(18px, 2.0508vw, 21px);
  }
}

@media (max-width: 767px) {
  body .elementor .lr-macdonald-trusted-by .mj-trusted-by__track {
    --mj-trusted-logo-gap: clamp(34px, 10.2564vw, 40px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--bbc,
    .mj-client-logo-item--bbc-duplicate
  ) {
    --mj-trusted-logo-width: clamp(59px, 10.9492vw, 71px);
    --mj-trusted-logo-height: clamp(17px, 3.128vw, 20px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--vision,
    .mj-client-logo-item--vision-duplicate
  ) {
    --mj-trusted-logo-width: clamp(87px, 16.1669vw, 105px);
    --mj-trusted-logo-height: clamp(41px, 7.6923vw, 50px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--sunglass,
    .mj-client-logo-item--sunglass-duplicate
  ) {
    --mj-trusted-logo-width: clamp(111px, 20.86vw, 135px);
    --mj-trusted-logo-height: clamp(20px, 3.6506vw, 24px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--watches,
    .mj-client-logo-item--watches-duplicate
  ) {
    --mj-trusted-logo-width: clamp(105px, 19.8175vw, 128px);
    --mj-trusted-logo-height: clamp(33px, 6.2581vw, 40px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--breitling,
    .mj-client-logo-item--breitling-duplicate
  ) {
    --mj-trusted-logo-width: clamp(77px, 14.6023vw, 94px);
    --mj-trusted-logo-height: clamp(36px, 6.7797vw, 44px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--mitie,
    .mj-client-logo-item--mitie-duplicate
  ) {
    --mj-trusted-logo-width: clamp(73px, 13.8198vw, 88px);
    --mj-trusted-logo-height: clamp(22px, 4.2373vw, 27px);
  }

  body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
    .mj-client-logo-item--sandoz,
    .mj-client-logo-item--sandoz-duplicate
  ) {
    --mj-trusted-logo-width: clamp(110px, 20.8605vw, 133px);
    --mj-trusted-logo-height: clamp(15px, 2.8683vw, 18px);
  }
}
/* layerrelay-shared-style:macdonald-global-inline-rail:v19:end */

/* layerrelay-shared-style:macdonald-global-inline-rail:v20:start */
/* Elementor absolutely positions container pseudo-elements by default. Put the
   exact Figma logo artwork back into the flex row so every replacement logo is
   vertically centred with the four native image widgets. */
body .elementor .lr-macdonald-trusted-by .mj-client-logo-item:is(
  .mj-client-logo-item--bbc,
  .mj-client-logo-item--bbc-duplicate,
  .mj-client-logo-item--sunglass,
  .mj-client-logo-item--sunglass-duplicate,
  .mj-client-logo-item--sandoz,
  .mj-client-logo-item--sandoz-duplicate
)::before {
  position: static !important;
  inset: auto !important;
}
/* layerrelay-shared-style:macdonald-global-inline-rail:v20:end */

/* layerrelay-shared-style:macdonald-service-hero-captions:v5:start */
/* Keep one responsive CSS caption on every registered service hero. The Retail
   PNG contains the same caption in its bitmap, so its opaque caption surface
   masks those pixels before object-fit crops them differently by viewport. */
body .elementor .mj-split-page-hero__media:is(
  .elementor-element-b3e6806d,
  .elementor-element-d12db7b5,
  .elementor-element-6ca0e9ff,
  .elementor-element-b00b5161,
  .elementor-element-6c7f1b0c
) {
  position: relative !important;
  overflow: hidden !important;
}

body .elementor .elementor-element-b3e6806d {
  --mj-service-hero-caption: "BBC Studios Refit";
}

body .elementor .elementor-element-d12db7b5 {
  --mj-service-hero-caption: "Canada Goose. Arndale Centre. Manchester. 2022";
}

body .elementor .elementor-element-6ca0e9ff {
  --mj-service-hero-caption: "Beehive. Harthill, Sheffield. 2017.";
}

body .elementor .elementor-element-b00b5161 {
  --mj-service-hero-caption: "BBC Studios Refit";
}

body .elementor .elementor-element-6c7f1b0c {
  --mj-service-hero-caption: "BBC Studios";
}

body .elementor .mj-split-page-hero__media:is(
  .elementor-element-b3e6806d,
  .elementor-element-d12db7b5,
  .elementor-element-6ca0e9ff,
  .elementor-element-b00b5161,
  .elementor-element-6c7f1b0c
)::after {
  content: var(--mj-service-hero-caption);
  position: absolute !important;
  inset: auto auto 0 0 !important;
  z-index: 2;
  display: flex;
  box-sizing: border-box;
  width: max-content;
  max-width: 100%;
  min-height: clamp(44px, 2.9375vw, 47px);
  padding: 0 clamp(14px, 1.375vw, 22px);
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.5);
  font-family: "Roboto Condensed", "Roboto", Arial, sans-serif;
  font-size: clamp(14px, 1.125vw, 18px);
  font-style: italic;
  font-weight: 700;
  line-height: clamp(18px, 1.3184vw, 21.09375px);
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;
}

/* The solid Retail surface prevents the baked caption from showing through the
   authoritative CSS label. Other heroes retain the approved translucent tint. */
body .elementor .elementor-element-d12db7b5::after {
  background-color: rgb(55, 51, 44) !important;
}
/* layerrelay-shared-style:macdonald-service-hero-captions:v5:end */


/* macdonald-shared-service-spacing:v13 */
body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
  + .elementor-element.e-con {
  align-items: stretch !important;
}

body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
  + .elementor-element.e-con
  > .elementor-widget-image:first-child,
body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
  + .elementor-element.e-con
  > .elementor-widget-image:first-child
  > .elementor-widget-container {
  align-self: stretch !important;
  height: 100% !important;
}

body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
  + .elementor-element.e-con
  > .elementor-widget-image:first-child img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
  html body .elementor .elementor-element.elementor-element.lr-macdonald-split-page-hero {
    height: auto !important;
    min-height: 0 !important;
  }

  html body .elementor .elementor-element.elementor-element.mj-split-page-hero__copy-panel {
    --padding-top: 64px !important;
    --padding-bottom: 64px !important;
    height: auto !important;
    min-height: 0 !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  html body .elementor .elementor-element.elementor-element.mj-split-page-hero__media {
    position: relative !important;
    height: auto !important;
    min-height: 100% !important;
  }

  html body .elementor .elementor-element.elementor-element.mj-split-page-hero__media
    > .elementor-widget-container,
  html body .elementor .elementor-element.elementor-element.mj-split-page-hero__media img {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
  }
}


/* macdonald-shared-service-image-caption-anchor:v1 */
body:has(.lr-macdonald-split-page-hero) .elementor .lr-macdonald-trusted-by
  + .elementor-element.e-con
  > .elementor-widget-image:first-child img {
  object-position: left center !important;
}


/* macdonald-trusted-by-title-breathing-room:v1 */
@media (max-width: 1024px) {
  body .elementor .elementor-element.e-con.lr-macdonald-trusted-by {
    --gap: clamp(20px, 3.125vw, 32px) !important;
    gap: clamp(20px, 3.125vw, 32px) !important;
  }
}

@media (max-width: 767px) {
  body .elementor .elementor-element.e-con.lr-macdonald-trusted-by {
    --gap: clamp(16px, 5.1282vw, 20px) !important;
    gap: clamp(16px, 5.1282vw, 20px) !important;
  }
}


/* macdonald-mobile-menu-label-spacing:v1 */
@media (max-width: 900px) {
  .lr-macdonald-header .mj-mobile-panel__label,
  .elementor-10 .mj-mobile-panel__label {
    margin-bottom: clamp(6px, 1.25vw, 10px) !important;
  }
}


/* macdonald-mobile-menu-label-spacing:v2 */
@media (max-width: 900px) {
  html body .elementor.elementor-10 .lr-macdonald-header
    .mj-mobile-panel .mj-mobile-panel__group
    > .e-con-inner
    > .elementor-element.mj-mobile-panel__label {
    margin: 0 0 9px !important;
  }
}


/* macdonald-mobile-menu-label-spacing:v3 */
@media (max-width: 900px) {
  html body .elementor.elementor-10
    .elementor-element.elementor-element-4a110019
    .elementor-widget.mj-mobile-panel__label {
    margin: 0 0 9px !important;
  }
}

/* layerrelay-shared-style:macdonald-mobile-menu-muted-labels:v1:start */
/* Keep non-clickable mobile menu labels visually secondary across both the
   legacy HTML-label markup and the native Elementor Heading implementation. */
@media (max-width: 900px) {
  :is(.lr-macdonald-header, .elementor-10) .mj-mobile-panel__label,
  :is(.lr-macdonald-header, .elementor-10)
    .mj-mobile-panel__label .elementor-heading-title {
    color: var(--mj-header-muted, rgba(255, 255, 255, 0.72)) !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }
}
/* layerrelay-shared-style:macdonald-mobile-menu-muted-labels:v1:end */

/* macdonald-hospitality-responsive-alignment:v1:start */
/* Keep Hospitality aligned with its sibling sector links while preserving the
   existing nested Restaurants and Bars & Pubs interactions. */
@media (max-width: 900px) {
  html body .elementor.elementor-10
    .elementor-element.elementor-element-4a110019
    .mj-mobile-panel__nested-toggle {
    position: relative !important;
    padding-left: 0 !important;
  }

  html body .elementor.elementor-10
    .elementor-element.elementor-element-4a110019
    .mj-mobile-panel__nested-toggle::before {
    position: absolute !important;
    left: -10px !important;
    margin-right: 0 !important;
  }

  html body .elementor.elementor-10
    .elementor-element.elementor-element-4a110019
    .mj-mobile-panel__nested.is-submenu-open
    > .mj-mobile-panel__nested-links:not([hidden]) {
    display: block !important;
  }
}

@media (min-width: 901px) and (max-width: 1024px) {
  html body .elementor.elementor-10
    .elementor-element.elementor-element-4a110019
    .mj-header__nested-toggle {
    position: relative !important;
    padding-left: 0 !important;
  }

  html body .elementor.elementor-10
    .elementor-element.elementor-element-4a110019
    .mj-header__nested-slash {
    position: absolute !important;
    left: -10px !important;
    margin-right: 0 !important;
  }
}
/* macdonald-hospitality-responsive-alignment:v1:end */

/* macdonald-company-menu-tablet-width:v1 */
@media (min-width:901px) and (max-width:1024px){
  .elementor-10 .elementor-element.elementor-element-4a11000b{
    width:clamp(296px,30vw,312px)!important;
  }
  .elementor-10 .elementor-element.elementor-element-4a11000b a{
    white-space:nowrap!important;
  }
}
/* /macdonald-company-menu-tablet-width:v1 */

/* layerrelay-shared-style:macdonald-our-company-section-joins-fluid:v2:start */
/* Shared post-trust image/text row: retain responsive bottom breathing room
   inside the copy column while the media stretches to the full row height. */
body .elementor > .elementor-element.elementor-element.e-con:has(
  > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
):has(.elementor-element-60b03b5a):has(.elementor-element-82feefd1)
  > .lr-macdonald-trusted-by + .elementor-element.e-con
  > .elementor-element.e-con:last-child {
  --padding-bottom:clamp(40px,4vw,64px)!important;
  padding-bottom:clamp(40px,4vw,64px)!important;
  height:auto!important;
  align-self:stretch!important;
}
@media (min-width:768px){
  body .elementor > .elementor-element.elementor-element.e-con:has(
    > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
  ):has(.elementor-element-60b03b5a):has(.elementor-element-82feefd1)
    > .lr-macdonald-trusted-by + .elementor-element.e-con {
    --min-height:0px!important;
    min-height:0!important;
    height:auto!important;
    align-items:stretch!important;
  }
  body .elementor > .elementor-element.elementor-element.e-con:has(
    > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
  ):has(.elementor-element-60b03b5a):has(.elementor-element-82feefd1)
    > .lr-macdonald-trusted-by + .elementor-element.e-con
    > .elementor-widget-image:first-child {
    position:relative!important;
    aspect-ratio:auto!important;
    min-height:0!important;
    height:auto!important;
    align-self:stretch!important;
    overflow:hidden!important;
  }
  body .elementor > .elementor-element.elementor-element.e-con:has(
    > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
  ):has(.elementor-element-60b03b5a):has(.elementor-element-82feefd1)
    > .lr-macdonald-trusted-by + .elementor-element.e-con
    > .elementor-widget-image:first-child > .elementor-widget-container {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
  }
  body .elementor > .elementor-element.elementor-element.e-con:has(
    > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
  ):has(.elementor-element-60b03b5a):has(.elementor-element-82feefd1)
    > .lr-macdonald-trusted-by + .elementor-element.e-con
    > .elementor-widget-image:first-child img {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}
/* layerrelay-shared-style:macdonald-our-company-section-joins-fluid:v2:end */


/* macdonald-company-content-inline-gutter:v1:start */
:root { --mj-company-inline-gutter: clamp(20px, 6.25vw, 120px); }
html body.page-id-72 .elementor.elementor-72 .elementor-element.e-con.lr-macdonald-page-hero, html body.page-id-75 .elementor.elementor-75 .elementor-element.e-con.lr-macdonald-page-hero, html body.page-id-77 .elementor.elementor-77 .elementor-element.e-con.lr-macdonald-page-hero { --padding-left:var(--mj-company-inline-gutter)!important; --padding-right:var(--mj-company-inline-gutter)!important; padding-left:var(--mj-company-inline-gutter)!important; padding-right:var(--mj-company-inline-gutter)!important; }
.elementor-72 .elementor-element.elementor-element-cd806c82,
.elementor-72 .elementor-element.elementor-element-9e6ac19a,
.elementor-75 .elementor-element.elementor-element-9561adef,
.elementor-77 .elementor-element.elementor-element-9a85d0f1 { --width:100%!important; width:100%!important; max-width:none!important; --padding-left:0px!important; --padding-right:0px!important; padding-left:0!important; padding-right:0!important; }
.elementor-72 .elementor-element.elementor-element-9db14336,
.elementor-75 .elementor-element.elementor-element-9ea94d51,
.elementor-77 .elementor-element.elementor-element-ca5293f5 { --padding-left:0px!important; --padding-right:var(--mj-company-inline-gutter)!important; padding-left:0!important; padding-right:var(--mj-company-inline-gutter)!important; }
.elementor-72 .elementor-element.elementor-element-62b8060e { --padding-left:var(--mj-company-inline-gutter)!important; --padding-right:0px!important; padding-left:var(--mj-company-inline-gutter)!important; padding-right:0!important; }
@media (max-width:767px) {
  .elementor-72 .elementor-element.elementor-element-9db14336,
  .elementor-72 .elementor-element.elementor-element-62b8060e,
  .elementor-75 .elementor-element.elementor-element-9ea94d51,
  .elementor-77 .elementor-element.elementor-element-ca5293f5 { --padding-left:var(--mj-company-inline-gutter)!important; --padding-right:var(--mj-company-inline-gutter)!important; padding-left:var(--mj-company-inline-gutter)!important; padding-right:var(--mj-company-inline-gutter)!important; }
}
/* macdonald-company-content-inline-gutter:v1:end */






/* macdonald-split-images-edge-fill:v3:start */
body .elementor .elementor-element.e-con:not(:has(.layerrelay-button-1pufljb)):not(.case-study-estimate__content *):has(> .elementor-widget-image):has(> .elementor-element.e-con .elementor-widget-heading):has(> .elementor-element.e-con .elementor-widget-text-editor) { --width:100%!important; width:100%!important; max-width:none!important; margin-left:0!important; margin-right:0!important; }
body .elementor .elementor-element.e-con:not(:has(.layerrelay-button-1pufljb)):not(.case-study-estimate__content *):has(> .elementor-widget-image:first-child):has(> .elementor-element.e-con .elementor-widget-heading):has(> .elementor-element.e-con .elementor-widget-text-editor) { --padding-left:0px!important; padding-left:0!important; }
body .elementor .elementor-element.e-con:not(:has(.layerrelay-button-1pufljb)):not(.case-study-estimate__content *):has(> .elementor-widget-image:last-child):has(> .elementor-element.e-con .elementor-widget-heading):has(> .elementor-element.e-con .elementor-widget-text-editor) { --padding-right:0px!important; padding-right:0!important; }
body .elementor .elementor-element.e-con:not(:has(.layerrelay-button-1pufljb)):not(.case-study-estimate__content *):has(> .elementor-widget-image):has(> .elementor-element.e-con .elementor-widget-heading):has(> .elementor-element.e-con .elementor-widget-text-editor) > .elementor-widget-image { --width:100%!important; width:100%!important; max-width:none!important; align-self:stretch!important; margin:0!important; overflow:hidden!important; }
body .elementor .elementor-element.e-con:not(:has(.layerrelay-button-1pufljb)):not(.case-study-estimate__content *):has(> .elementor-widget-image):has(> .elementor-element.e-con .elementor-widget-heading):has(> .elementor-element.e-con .elementor-widget-text-editor) > .elementor-widget-image > .elementor-widget-container { width:100%!important; height:100%!important; overflow:hidden!important; }
body .elementor .elementor-element.e-con:not(:has(.layerrelay-button-1pufljb)):not(.case-study-estimate__content *):has(> .elementor-widget-image):has(> .elementor-element.e-con .elementor-widget-heading):has(> .elementor-element.e-con .elementor-widget-text-editor) > .elementor-widget-image img { width:100%!important; max-width:none!important; height:100%!important; object-fit:cover!important; display:block!important; margin:0!important; }
/* macdonald-split-images-edge-fill:v3:end */

/* macdonald-brand-trust-rail-gap-current-pages:v2:start */
html body .elementor .elementor-element.elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) {
  --mj-brand-trust-inline:var(--mj-site-inline-gutter,clamp(16px,max(2.25vw,calc(43.75vw - 696px)),144px));
  --padding-left:var(--mj-brand-trust-inline)!important;
  --padding-right:var(--mj-brand-trust-inline)!important;
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  padding-left:var(--mj-brand-trust-inline)!important;
  padding-right:var(--mj-brand-trust-inline)!important;
  box-sizing:border-box!important;
}
@media (min-width:1025px) {
  html body .elementor .elementor-element.elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) {
    justify-content:space-between!important;
    gap:0!important;
  }
  html body .elementor .elementor-element.elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-element.e-con:first-child {
    flex:0 1 clamp(586px,40vw,700px)!important;
    width:clamp(586px,40vw,700px)!important;
    padding-left:0!important;
  }
  html body .elementor .elementor-element.elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) > .elementor-widget-image {
    flex:0 1 clamp(658px,44vw,760px)!important;
    width:clamp(658px,44vw,760px)!important;
  }
}
@media (max-width:1024px) {
  html body .elementor .elementor-element.elementor-element.e-con:has(> .elementor-element.e-con .layerrelay-button-1pufljb):has(> .elementor-widget-image) {
    padding-left:var(--mj-brand-trust-inline)!important;
    padding-right:var(--mj-brand-trust-inline)!important;
  }
}
/* macdonald-brand-trust-rail-gap-current-pages:v2:end */

/* macdonald-project-estimate-figma:v1:start */
html body .elementor .elementor-element.e-con.case-study-estimate {--width:446px!important;width:446px!important;max-width:100%!important;container-type:inline-size;}
html body .elementor .elementor-element.e-con.case-study-estimate > .elementor-element.e-con.case-study-estimate__content {--width:100%!important;width:100%!important;max-width:100%!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content {aspect-ratio:446 / 369!important;min-height:0!important;height:auto!important;box-sizing:border-box!important;--flex-direction:column!important;flex-direction:column!important;--justify-content:flex-start!important;justify-content:flex-start!important;--align-items:flex-start!important;align-items:flex-start!important;--gap:0px!important;gap:0!important;--flex-wrap:nowrap!important;flex-wrap:nowrap!important;--padding-top:11.210762%!important;--padding-right:11.210762%!important;--padding-bottom:11.210762%!important;--padding-left:11.210762%!important;padding:11.210762%!important;overflow:visible!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-widget-heading:first-child {--width:100%!important;width:100%!important;max-width:100%!important;flex:0 0 auto!important;margin:0 0 clamp(20px,6.053812cqi,27px) 0!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-widget-heading:first-child .elementor-heading-title {width:100%!important;font-family:"Roboto Condensed","Roboto",Arial,sans-serif!important;font-size:clamp(28px,8.96861cqi,40px)!important;font-style:italic!important;font-weight:700!important;line-height:1.28!important;letter-spacing:0!important;white-space:nowrap!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-element.e-con:has(> .estimate-phone-button) {--width:100%!important;width:100%!important;max-width:100%!important;min-height:clamp(32px,9.865471cqi,44px)!important;flex:0 0 auto!important;--flex-direction:row!important;flex-direction:row!important;--align-items:center!important;align-items:center!important;--gap:clamp(22px,6.502242cqi,29px)!important;gap:clamp(22px,6.502242cqi,29px)!important;margin:0 0 clamp(30px,10.313901cqi,46px) 0!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content .elementor-element.elementor-widget-image.estimate-phone-button {--width:clamp(32px,9.865471cqi,44px)!important;width:clamp(32px,9.865471cqi,44px)!important;min-width:clamp(32px,9.865471cqi,44px)!important;height:clamp(32px,9.865471cqi,44px)!important;min-height:clamp(32px,9.865471cqi,44px)!important;flex:0 0 clamp(32px,9.865471cqi,44px)!important;align-self:center!important;overflow:hidden!important;background:#4BC5ED;animation:mj-estimate-phone-colour 1000ms ease-out 1ms infinite alternate!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content .estimate-phone-button > .elementor-widget-container,html body .elementor .elementor-element.e-con.case-study-estimate__content .estimate-phone-button img {width:100%!important;height:100%!important;min-width:100%!important;max-width:none!important;object-fit:contain!important;display:block!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-element.e-con:has(> .estimate-phone-button) > .elementor-element.e-con {--width:auto!important;width:auto!important;max-width:calc(100% - clamp(52px,16.367713cqi,73px))!important;flex:1 1 auto!important;--gap:clamp(3px,0.896861cqi,4px)!important;gap:clamp(3px,0.896861cqi,4px)!important;align-self:center!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-element.e-con:has(> .estimate-phone-button) > .elementor-element.e-con .elementor-heading-title,html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-element.e-con:has(> .estimate-phone-button) > .elementor-element.e-con .elementor-widget-text-editor {font-family:"Roboto Condensed","Roboto",Arial,sans-serif!important;font-size:clamp(16px,4.484305cqi,20px)!important;font-style:italic!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-widget-button {flex:0 0 auto!important;margin:0!important;align-self:flex-start!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-widget-button .elementor-button {width:clamp(112px,34.304933cqi,153px)!important;min-width:clamp(112px,34.304933cqi,153px)!important;height:clamp(37px,11.210762cqi,50px)!important;min-height:clamp(37px,11.210762cqi,50px)!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;}
html body .elementor .elementor-element.e-con.case-study-estimate__content > .elementor-widget-button .elementor-button-text {font-size:clamp(12px,3.587444cqi,16px)!important;line-height:1!important;white-space:nowrap!important;}
@keyframes mj-estimate-phone-colour {from {background-color:#4BC5ED;}to {background-color:#1B82A4;}}
@media (prefers-reduced-motion:reduce) {html body .elementor .elementor-element.e-con.case-study-estimate__content .estimate-phone-button {animation:none!important;background-color:#4BC5ED!important;}}
/* macdonald-project-estimate-figma:v1:end */

/* macdonald-market-sectors-equal-block-padding:v1:start */
body .elementor .lr-macdonald-market-sectors,
body .elementor .elementor-element.e-con:has(> .elementor-element-a24e45e7){
  --mj-market-sectors-block-padding:clamp(48px,6.25vw,100px);
  --padding-top:var(--mj-market-sectors-block-padding)!important;
  --padding-bottom:var(--mj-market-sectors-block-padding)!important;
  padding-top:var(--mj-market-sectors-block-padding)!important;
  padding-bottom:var(--mj-market-sectors-block-padding)!important;
}
/* macdonald-market-sectors-equal-block-padding:v1:end */

/* macdonald-global-header-sticky-contract:v1:start */
/* Permanent global-header contract: keep the Theme Builder wrapper sticky so
   the header is not constrained by an inner Elementor container. */
:root {
  --mj-admin-header-offset: 0px;
}

body.admin-bar {
  --mj-admin-header-offset: 32px;
}

html body .elementor-location-header,
html body [data-elementor-type="header"][data-elementor-id="10"] {
  position: sticky !important;
  top: var(--mj-admin-header-offset) !important;
  z-index: 10000 !important;
  width: 100% !important;
  overflow: visible !important;
}

html body .elementor.elementor-10 .lr-macdonald-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
}

@media (max-width: 782px) {
  body.admin-bar {
    --mj-admin-header-offset: 46px;
  }
}
/* macdonald-global-header-sticky-contract:v1:end */

/* macdonald-expandable-copy-responsive-width:v1:start */
@media (min-width: 768px) and (max-width: 1440px) {
  html body .elementor .mj-expandable-copy__text-frame {
    --padding-left: clamp(96px, 10vw, 144px) !important;
    --padding-right: clamp(96px, 10vw, 144px) !important;
    padding-left: clamp(96px, 10vw, 144px) !important;
    padding-right: clamp(96px, 10vw, 144px) !important;
  }

  html body .elementor .mj-expandable-copy__text-frame > .e-con-inner,
  html body .elementor .mj-expandable-copy__text-frame > .e-con {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}
/* macdonald-expandable-copy-responsive-width:v1:end */

/* macdonald-company-second-content-text-width:v1:start */
html body:is(.page-id-72, .page-id-75, .page-id-77)
.elementor > .elementor-element.e-con:has(
  > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
)
> .lr-macdonald-trusted-by + .elementor-element.e-con
> .elementor-element.e-con:last-child {
  --padding-right: var(--mj-site-inline-gutter, clamp(16px, 4.1667vw, 80px)) !important;
  padding-right: var(--mj-site-inline-gutter, clamp(16px, 4.1667vw, 80px)) !important;
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

html body:is(.page-id-72, .page-id-75, .page-id-77)
.elementor > .elementor-element.e-con:has(
  > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
)
> .lr-macdonald-trusted-by + .elementor-element.e-con
> .elementor-element.e-con:last-child :is(
  .elementor-element.e-con,
  .elementor-widget-heading,
  .elementor-widget-text-editor
) {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

@media (min-width: 768px) {
  html body:is(.page-id-72, .page-id-75, .page-id-77)
  .elementor > .elementor-element.e-con:has(
    > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
  )
  > .lr-macdonald-trusted-by + .elementor-element.e-con:has(
    > .elementor-widget-image:first-child
  ) {
    grid-template-columns: minmax(0, 42fr) minmax(0, 58fr) !important;
  }

  html body:is(.page-id-72, .page-id-75, .page-id-77)
  .elementor > .elementor-element.e-con:has(
    > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
  )
  > .lr-macdonald-trusted-by + .elementor-element.e-con
  > .elementor-element.e-con:last-child {
    --padding-left: clamp(40px, 5vw, 96px) !important;
    padding-left: clamp(40px, 5vw, 96px) !important;
  }
}

@media (max-width: 767px) {
  html body:is(.page-id-72, .page-id-75, .page-id-77)
  .elementor > .elementor-element.e-con:has(
    > .lr-macdonald-page-hero + .lr-macdonald-trusted-by
  )
  > .lr-macdonald-trusted-by + .elementor-element.e-con
  > .elementor-element.e-con:last-child {
    --padding-left: var(--mj-site-inline-gutter, 16px) !important;
    --padding-right: var(--mj-site-inline-gutter, 16px) !important;
    padding-left: var(--mj-site-inline-gutter, 16px) !important;
    padding-right: var(--mj-site-inline-gutter, 16px) !important;
  }
}
/* macdonald-company-second-content-text-width:v1:end */

/* macdonald-sitewide-horizontal-overflow-contract:v1:start */
/* Keep decorative rails, sliders and closed menus from expanding the root
   scroll area. overflow:clip preserves the global sticky header. */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  overscroll-behavior-x: none;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  /* Elementor leaves closed dropdown containers display:flex and merely
     hides them with opacity/visibility; remove them from layout entirely. */
  html body .elementor-10 .mj-header__toggle-widget + .e-con {
    display: none !important;
  }

  html body .elementor-10 .mj-header__toggle-widget:has(.mj-header__toggle[aria-expanded="true"]) + .e-con {
    display: flex !important;
  }

  html body .elementor-10 .elementor-element-4a11000f {
    left: auto !important;
    right: 0 !important;
  }

  html body .elementor-10 .mj-header__nested-panel {
    max-width: min(260px, calc(100vw - 32px)) !important;
  }
}
/* macdonald-sitewide-horizontal-overflow-contract:v1:end */

/* macdonald-brand-trust-tablet-alignment-global:v1:start */
@media (min-width: 768px) and (max-width: 1024px) {
  html body .elementor .mj-brand-trust-copy-block {
    --width: min(100%, 680px) !important;
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    margin-inline: auto !important;
    align-self: center !important;
  }

  html body .elementor .mj-brand-trust-copy-block .elementor-widget-heading,
  html body .elementor .mj-brand-trust-copy-block .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 680px !important;
  }

  html body .elementor .elementor-widget-divider.mj-brand-trust-rule {
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    margin-inline: auto !important;
    align-self: center !important;
    justify-self: center !important;
  }

  html body .elementor .elementor-widget-divider.mj-brand-trust-rule .elementor-widget-container,
  html body .elementor .elementor-widget-divider.mj-brand-trust-rule .elementor-divider {
    width: 100% !important;
    max-width: 680px !important;
  }
}
/* macdonald-brand-trust-tablet-alignment-global:v1:end */

/* macdonald-split-hero-global-inline-rail:v1:start */
/* Shared split-page heroes use the exact same responsive left rail as the
   global header logo at every viewport. */
:root {
  --mj-global-header-inline: clamp(16px, 4.1667vw, 80px);
}

html body .elementor .elementor-element.mj-split-page-hero__copy-panel {
  --padding-left: var(--mj-global-header-inline) !important;
  padding-left: var(--mj-global-header-inline) !important;
}

html body .elementor .elementor-element.mj-split-page-hero__content {
  --padding-left: 0px !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
/* macdonald-split-hero-global-inline-rail:v1:end */

/* macdonald-feature-bullet-list:v1:start */
html body .elementor .mj-feature-heading-block {
  align-items: flex-start !important;
}

html body .elementor .mj-feature-heading-rule-wrap {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 4px !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

html body .elementor .mj-feature-heading-rule {
  --width: 54px !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  --min-height: 4px !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  flex: 0 0 4px !important;
  align-self: flex-start !important;
  overflow: hidden !important;
  background-color: #4BC5ED !important;
}

html body .elementor .mj-feature-heading-rule:not(.elementor-motion-effects-element-type-background),
html body .elementor .mj-feature-heading-rule > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #4BC5ED !important;
}

html body .elementor .mj-feature-bullet-list {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: clamp(14px, 1.0625vw, 17px) !important;
}

html body .elementor .mj-feature-bullet-item {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: clamp(4px, 0.3125vw, 5px) !important;
}

html body .elementor .mj-feature-bullet-row {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(10px, 0.8125vw, 13px) !important;
}

html body .elementor .mj-feature-bullet-marker {
  --width: clamp(8px, 0.625vw, 10px) !important;
  width: clamp(8px, 0.625vw, 10px) !important;
  min-width: clamp(8px, 0.625vw, 10px) !important;
  max-width: clamp(8px, 0.625vw, 10px) !important;
  --min-height: clamp(8px, 0.625vw, 10px) !important;
  height: clamp(8px, 0.625vw, 10px) !important;
  min-height: clamp(8px, 0.625vw, 10px) !important;
  max-height: clamp(8px, 0.625vw, 10px) !important;
  flex: 0 0 clamp(8px, 0.625vw, 10px) !important;
  align-self: center !important;
  overflow: hidden !important;
  background-color: #4BC5ED !important;
}

html body .elementor .mj-feature-bullet-marker:not(.elementor-motion-effects-element-type-background),
html body .elementor .mj-feature-bullet-marker > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #4BC5ED !important;
}

html body .elementor .mj-feature-bullet-heading,
html body .elementor .mj-feature-bullet-row > .elementor-widget-heading {
  --width: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 1 1 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body .elementor .mj-feature-bullet-heading .elementor-heading-title,
html body .elementor .mj-feature-bullet-row > .elementor-widget-heading .elementor-heading-title {
  width: 100% !important;
  margin: 0 !important;
  color: #000000 !important;
  font-family: "Roboto Condensed", Roboto, Arial, sans-serif !important;
  font-size: clamp(16px, 1.125vw, 18px) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  text-align: left !important;
}

html body .elementor .mj-feature-bullet-copy-row {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: clamp(18px, 1.4375vw, 23px) !important;
  box-sizing: border-box !important;
}

html body .elementor .mj-feature-bullet-copy,
html body .elementor .mj-feature-bullet-copy-row .elementor-widget-text-editor,
html body .elementor .mj-feature-bullet-copy .elementor-widget-container,
html body .elementor .mj-feature-bullet-copy-row .elementor-widget-text-editor .elementor-widget-container,
html body .elementor .mj-feature-bullet-copy p,
html body .elementor .mj-feature-bullet-copy-row .elementor-widget-text-editor p {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #606060 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: clamp(15px, 1vw, 16px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  white-space: normal !important;
}
/* macdonald-feature-bullet-list:v1:end */

/* macdonald-expandable-copy-toggle:v1:start */
html body .mj-expandable-copy__text-frame > .e-con-inner > .mj-expandable-copy__content {
  min-height: 0 !important;
}

html body .mj-expandable-copy__text-frame[data-mj-expanded="false"] > .e-con-inner > .mj-expandable-copy__content {
  max-height: clamp(240px, 28vw, 320px) !important;
  overflow: hidden !important;
}

html body .mj-expandable-copy__text-frame .elementor-widget-button .elementor-button {
  cursor: pointer !important;
}

@media (prefers-reduced-motion: no-preference) {
  html body .mj-expandable-copy__text-frame > .e-con-inner > .mj-expandable-copy__content {
    transition: max-height 240ms ease !important;
  }
}
/* macdonald-expandable-copy-toggle:v1:end */
n
/* macdonald-split-hero-vertical-padding:v1 */
html body .elementor .elementor-element.elementor-element.mj-split-page-hero__copy-panel {
  --mj-split-hero-padding-block: clamp(40px, 6.25vw, 80px);
  --padding-top: var(--mj-split-hero-padding-block) !important;
  --padding-bottom: var(--mj-split-hero-padding-block) !important;
  padding-top: var(--mj-split-hero-padding-block) !important;
  padding-bottom: var(--mj-split-hero-padding-block) !important;
}
/* macdonald-split-hero-vertical-padding:v1:end */

/* macdonald-global-fifty-fifty-inline-rail:v1:start */
html body:has(.lr-macdonald-split-page-hero) .elementor
  .lr-macdonald-trusted-by + .elementor-element.e-con {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  html body:has(.lr-macdonald-split-page-hero) .elementor
    .lr-macdonald-trusted-by + .elementor-element.e-con
    > :is(.elementor-element.e-con, .elementor-widget-image) {
    --width: 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    flex: 1 1 50% !important;
    box-sizing: border-box !important;
  }
}

html body:has(.lr-macdonald-split-page-hero) .elementor
  .lr-macdonald-trusted-by + .elementor-element.e-con
  > .elementor-element.e-con:has(.mj-feature-heading-block) {
  --padding-left: clamp(24px, 4vw, 64px) !important;
  --padding-right: var(--mj-global-header-inline, var(--mj-site-inline-gutter)) !important;
  padding-left: clamp(24px, 4vw, 64px) !important;
  padding-right: var(--mj-global-header-inline, var(--mj-site-inline-gutter)) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body:has(.lr-macdonald-split-page-hero) .elementor
  .lr-macdonald-trusted-by + .elementor-element.e-con
  > .elementor-element.e-con:has(.mj-feature-heading-block)
  .elementor-element.e-con {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body:has(.lr-macdonald-split-page-hero) .elementor
  .lr-macdonald-trusted-by + .elementor-element.e-con
  > .elementor-element.e-con:has(.mj-feature-heading-block)
  :is(.elementor-widget-heading, .elementor-widget-text-editor) {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 767px) {
  html body:has(.lr-macdonald-split-page-hero) .elementor
    .lr-macdonald-trusted-by + .elementor-element.e-con
    > :is(.elementor-element.e-con, .elementor-widget-image) {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  html body:has(.lr-macdonald-split-page-hero) .elementor
    .lr-macdonald-trusted-by + .elementor-element.e-con
    > .elementor-element.e-con:has(.mj-feature-heading-block) {
    --padding-left: var(--mj-global-header-inline, var(--mj-site-inline-gutter)) !important;
    --padding-right: var(--mj-global-header-inline, var(--mj-site-inline-gutter)) !important;
    padding-left: var(--mj-global-header-inline, var(--mj-site-inline-gutter)) !important;
    padding-right: var(--mj-global-header-inline, var(--mj-site-inline-gutter)) !important;
  }
}
/* macdonald-global-fifty-fifty-inline-rail:v1:end */

/* macdonald-global-fifty-fifty-inner-width:v2:start */
html body:has(.lr-macdonald-split-page-hero) .elementor
  .lr-macdonald-trusted-by + .elementor-element.e-con
  .elementor-element.e-con:has(.mj-feature-heading-block),
html body:has(.lr-macdonald-split-page-hero) .elementor
  .lr-macdonald-trusted-by + .elementor-element.e-con
  .elementor-element.e-con:has(.mj-feature-heading-block)
  .elementor-element.e-con,
html body:has(.lr-macdonald-split-page-hero) .elementor
  .lr-macdonald-trusted-by + .elementor-element.e-con
  .elementor-element.e-con:has(.mj-feature-heading-block)
  :is(.elementor-widget-heading, .elementor-widget-text-editor) {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
/* macdonald-global-fifty-fifty-inner-width:v2:end */

/* macdonald-policies-tablet-bottom-padding:v1:start */
@media (min-width: 768px) and (max-width: 1024px) {
  body .elementor .elementor-element.e-con:has(> .mj-policy-section-accordion):has(> .mj-policy-section-copy) {
    --padding-bottom: clamp(24px, 3.125vw, 32px) !important;
    padding-bottom: clamp(24px, 3.125vw, 32px) !important;
  }
}
/* macdonald-policies-tablet-bottom-padding:v1:end */



/* macdonald-tablet-sectors-megamenu-join:v1:start */
@media (min-width: 901px) and (max-width: 1024px) {
  html body .elementor-10
  .elementor-element.elementor-element-4a110008
  > .elementor-element.elementor-element-4a110007 {
    left: auto !important;
    right: 0 !important;
    overflow: visible !important;
  }

  html body .elementor-10
  .elementor-element.elementor-element-4a110007
  .elementor-element.elementor-element-4a110006,
  html body .elementor-10
  .elementor-element.elementor-element-4a110007
  .mj-header__nested {
    position: static !important;
  }

  html body .elementor-10
  .elementor-element.elementor-element-4a110007
  .mj-header__nested-panel {
    top: 0 !important;
    left: 100% !important;
    width: 260px !important;
    height: 100% !important;
    min-height: 100% !important;
    max-width: min(260px, calc(100vw - 32px)) !important;
    transform: none !important;
  }
}
/* macdonald-tablet-sectors-megamenu-join:v1:end */

/* macdonald-sitewide-split-text-track:v4:start */
html body .elementor
.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(
  > .elementor-widget-image
):has(
  > .elementor-element.e-con .elementor-widget-heading
):has(
  > .elementor-element.e-con .elementor-widget-text-editor
) > .elementor-element.e-con {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

html body .elementor
.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(
  > .elementor-widget-image
):has(
  > .elementor-element.e-con .elementor-widget-heading
):has(
  > .elementor-element.e-con .elementor-widget-text-editor
) > .elementor-element.e-con :is(
  .elementor-element.e-con,
  .elementor-widget-heading,
  .elementor-widget-text-editor
):not(.mj-page-hero__rule):not(.mj-feature-heading-rule) {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
/* macdonald-sitewide-split-text-track:v4:end */

/* macdonald-split-hero-inner-gutter:v1:start */
html body .elementor .elementor-element.mj-split-page-hero__copy-panel {
  --padding-right: var(--mj-global-header-inline, clamp(16px, 4.1667vw, 80px)) !important;
  padding-right: var(--mj-global-header-inline, clamp(16px, 4.1667vw, 80px)) !important;
  box-sizing: border-box !important;
}
/* macdonald-split-hero-inner-gutter:v1:end */



/* macdonald-company-hero-unification:v1:start */
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .elementor-element.e-con.lr-macdonald-page-hero {
  --padding-left:var(--mj-company-inline-gutter,clamp(20px,6.25vw,120px))!important;
  --padding-right:var(--mj-company-inline-gutter,clamp(20px,6.25vw,120px))!important;
  padding-left:var(--mj-company-inline-gutter,clamp(20px,6.25vw,120px))!important;
  padding-right:var(--mj-company-inline-gutter,clamp(20px,6.25vw,120px))!important;
  background-color:transparent!important;
  background-blend-mode:normal!important;
}
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .mj-page-hero__content {
  --padding-left:0px!important;
  --padding-right:0px!important;
  padding-left:0!important;
  padding-right:0!important;
  --gap:0px!important;
  gap:0!important;
  width:min(100%,684px)!important;
  max-width:684px!important;
  align-items:flex-start!important;
}
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .mj-page-hero__rule {
  --width:54px!important;
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  --min-height:4px!important;
  min-height:4px!important;
  height:4px!important;
  margin-top:clamp(19px,1.3021vw,25px)!important;
  margin-bottom:0!important;
  background:#4bc5ed!important;
  flex:0 0 4px!important;
  align-self:flex-start!important;
}
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .mj-page-hero__copy {
  margin-top:clamp(24px,1.5625vw,30px)!important;
}
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .mj-page-hero__copy,
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .mj-page-hero__copy :is(p,div) {
  color:#fff!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:clamp(15px,.8333vw,16px)!important;
  font-weight:400!important;
  line-height:1.5!important;
}
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .mj-page-hero__button {
  margin-top:clamp(23px,1.5104vw,29px)!important;
  align-self:flex-start!important;
  text-align:left!important;
}
@media (max-width:767px) {
  html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .elementor-element.e-con.lr-macdonald-page-hero {
    --padding-left:24px!important;
    --padding-right:24px!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }
  html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .mj-page-hero__copy,
  html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .mj-page-hero__copy :is(p,div) {
    font-size:14px!important;
    line-height:1.45!important;
  }
}
/* macdonald-company-hero-unification:v1:end */

/* macdonald-company-hero-overlay-rail:v2:start */
html body.page-id-569 .elementor.elementor-569 > .elementor-element.e-con:has(> .lr-macdonald-page-hero) {
  --padding-top:0px!important;
  --padding-right:0px!important;
  --padding-bottom:0px!important;
  --padding-left:0px!important;
  padding:0!important;
  margin:0!important;
  --width:100%!important;
  width:100%!important;
  max-width:none!important;
}
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .elementor-element.e-con.lr-macdonald-page-hero {
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .elementor-element.e-con.lr-macdonald-page-hero::after {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  pointer-events:none!important;
  background:rgba(27,73,89,.75)!important;
}
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .elementor-element.e-con.lr-macdonald-page-hero > .mj-page-hero__content {
  position:relative!important;
  z-index:1!important;
}
/* macdonald-company-hero-overlay-rail:v2:end */

/* macdonald-our-team-exact-hero-rail:v3:start */
html body.page-id-569 .elementor.elementor-569 > .elementor-element.elementor-element-ce24198b.e-con {
  --padding-top:0px!important;
  --padding-right:0px!important;
  --padding-bottom:0px!important;
  --padding-left:0px!important;
  padding:0!important;
  margin:0!important;
}
html body.page-id-569 .elementor.elementor-569 .elementor-element.elementor-element-e49eee17.e-con.lr-macdonald-page-hero {
  --padding-left:var(--mj-global-header-inline,clamp(16px,4.1667vw,80px))!important;
  --padding-right:var(--mj-global-header-inline,clamp(16px,4.1667vw,80px))!important;
  padding-left:var(--mj-global-header-inline,clamp(16px,4.1667vw,80px))!important;
  padding-right:var(--mj-global-header-inline,clamp(16px,4.1667vw,80px))!important;
}
/* macdonald-our-team-exact-hero-rail:v3:end */

/* macdonald-policy-and-hero-stability:v1:start */
html body:is(.page-id-72,.page-id-75,.page-id-77,.page-id-569) .elementor .lr-macdonald-page-hero::after{background:rgba(27,73,89,.75)!important}
html body .elementor .mj-policy-accordion-panel[hidden]{display:none!important;visibility:hidden!important}
/* macdonald-policy-and-hero-stability:v1:end */
/* macdonald-shared-split-layout-contract:v3:start */
html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor)){--mj-split-block-padding:clamp(40px,6.25vw,100px);--mj-split-inline-padding:var(--mj-global-header-inline,clamp(16px,4.1667vw,80px));--min-height:0px!important;--padding-left:0px!important;--padding-right:0px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;height:auto!important;padding-left:0!important;padding-right:0!important;margin-inline:0!important;align-items:stretch!important;overflow:hidden!important;box-sizing:border-box!important}
html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor))>.elementor-widget-image{--width:100%!important;--min-height:0px!important;--aspect-ratio:auto!important;aspect-ratio:auto!important;position:relative!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;height:auto!important;align-self:stretch!important;overflow:hidden!important;box-sizing:border-box!important}
html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor))>.elementor-widget-image>.elementor-widget-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important}
html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor))>.elementor-widget-image img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:cover!important;object-position:center!important;margin:0!important}
html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor))>.elementor-element.e-con{--width:100%!important;--min-height:0px!important;--padding-top:var(--mj-split-block-padding)!important;--padding-right:var(--mj-split-inline-padding)!important;--padding-bottom:var(--mj-split-block-padding)!important;--padding-left:var(--mj-split-inline-padding)!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;height:auto!important;padding-block:var(--mj-split-block-padding)!important;padding-inline:var(--mj-split-inline-padding)!important;margin:0!important;align-self:stretch!important;box-sizing:border-box!important}
html body .elementor .mj-shared-split .mj-feature-split-copy-flow{--min-height:0px!important;min-height:0!important;height:auto!important}
html body .elementor .mj-shared-split .mj-feature-split-copy{--gap:clamp(24px,2.0833vw,30px)!important;gap:clamp(24px,2.0833vw,30px)!important}
html body .elementor .mj-shared-split .mj-feature-heading-rule{--width:54px!important;width:54px!important;min-width:54px!important;max-width:54px!important;--min-height:4px!important;min-height:4px!important;height:4px!important;flex:0 0 54px!important;align-self:flex-start!important}
@media(max-width:767px){html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor)){--mj-split-block-padding:clamp(40px,12vw,56px);display:flex!important;flex-direction:column!important}html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor))>.elementor-widget-image{height:auto!important}html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor))>.elementor-widget-image>.elementor-widget-container,html body .elementor :is(.mj-shared-split,.elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor))>.elementor-widget-image img{position:relative!important;inset:auto!important;height:auto!important}}
/* macdonald-shared-split-layout-contract:v3:end */

/* macdonald-shared-split-tablet-major-rhythm:v1:start */
@media (min-width:768px) and (max-width:1024px){
  html body .elementor :is(
    .mj-shared-split,
    .elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor)
  ){
    --mj-split-major-gap:clamp(24px,3.125vw,32px);
  }
  html body .elementor :is(
    .mj-shared-split,
    .elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor)
  )>.elementor-element.e-con,
  html body .elementor :is(
    .mj-shared-split,
    .elementor-element.e-con:not(.case-study-article):not(.lr-macdonald-page-hero):not(.lr-macdonald-split-page-hero):not(.case-study-estimate__content *):not(:has(.layerrelay-button-1pufljb)):has(>.elementor-widget-image):has(>.elementor-element.e-con .elementor-widget-heading):has(>.elementor-element.e-con .elementor-widget-text-editor)
  )>.elementor-element.e-con>.elementor-element.e-con:has(.elementor-widget-heading):has(.elementor-widget-text-editor){
    --gap:var(--mj-split-major-gap)!important;
    gap:var(--mj-split-major-gap)!important;
  }
}
/* macdonald-shared-split-tablet-major-rhythm:v1:end */

/* layerrelay-shared-style:macdonald-policies-semantic-contract:v1:start */
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-accordion-item.mj-policy-accordion-item,
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-accordion-tab.mj-policy-accordion-tab { width:100% !important; max-width:100% !important; }
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-accordion-tab.mj-policy-accordion-tab { min-height:64px !important; height:auto !important; padding:0 !important; }
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-accordion-item.mj-policy-accordion-item.is-open { min-height:0 !important; height:auto !important; }
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-accordion-item.mj-policy-accordion-item.is-open > .mj-policy-accordion-panel.mj-policy-accordion-panel { width:100% !important; max-width:100% !important; min-height:0 !important; height:auto !important; padding:24px 20px 20px !important; text-align:left !important; align-items:flex-start !important; }
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-accordion-row.mj-policy-accordion-row { width:100% !important; justify-content:space-between !important; }
@media (max-width:1024px) {
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-section-copy.mj-policy-section-copy { align-items:center !important; text-align:center !important; }
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-section-copy.mj-policy-section-copy > * { align-self:center !important; }
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-section-copy.mj-policy-section-copy .elementor-heading-title,
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-section-copy.mj-policy-section-copy .elementor-widget-text-editor,
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-section-copy.mj-policy-section-copy .elementor-widget-text-editor * { text-align:center !important; }
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-section-copy.mj-policy-section-copy .elementor-widget-button { align-self:center !important; }
}
@media (max-width:767px) {
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-accordion-tab.mj-policy-accordion-tab,
html body .elementor .mj-policy-section-layout.mj-policy-section-layout .mj-policy-accordion-tab.mj-policy-accordion-tab .elementor-heading-title { text-align:left !important; }
}
/* layerrelay-shared-style:macdonald-policies-semantic-contract:v1:end */

/* macdonald-mobile-menu-group-rhythm:v1:start */
@media (max-width: 900px) {
  html body .elementor.elementor-10
    .elementor-element.elementor-element-4a110019
    .mj-mobile-panel__group + .mj-mobile-panel__group
    .mj-mobile-panel__label {
    margin-top: clamp(18px, 2.6042vw, 20px) !important;
  }
}
/* macdonald-mobile-menu-group-rhythm:v1:end *//* End custom CSS */