/* Self-contained replacement for the remote Revolution Slider used by the downloaded site. */
.legacy-revslider,
#rev_slider_2_1_wrapper,
#rev_slider_2_1,
rs-fullwidth-wrap,
rs-module-wrap,
rs-module,
rs-slides,
rs-slide,
rs-static-layers,
.rs-p-wp-fix {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The downloaded page contains a second, broken copy of the hero as an Elementor carousel. */
.elementor-element-39d5e2c { display: none !important; }

/* Self-contained services track: four cards on desktop, independent of the broken archived carousel. */
.local-services-carousel { width: 100%; overflow: hidden; padding: 52px 4vw 72px; }
.local-services-track { display: flex; gap: clamp(24px, 4vw, 82px); }
.local-services-card { flex: 0 0 calc((100% - clamp(72px, 12vw, 246px)) / 4); min-width: 0; min-height: 575px; }
.local-services-card > .elementor { height: 100%; }
.local-services-card .elementor-element-0fcf846 { min-height: 575px; height: 100%; }
@media (max-width: 1024px) {
  .local-services-carousel { padding-inline: 4vw; }
  .local-services-card { flex-basis: calc((100% - 24px) / 2); min-height: 510px; }
  .local-services-card .elementor-element-0fcf846 { min-height: 510px; }
}
@media (max-width: 767px) {
  .local-services-carousel { padding: 35px 20px 55px; }
  .local-services-card { flex-basis: 100%; min-height: 460px; }
  .local-services-card .elementor-element-0fcf846 { min-height: 460px; }
}

/* About section image: the downloaded image widget was permanently left in Elementor's invisible state. */
.elementor-element-8bcefb3 .elementor-element-b0dfd95,
.elementor-7 .elementor-element.elementor-element-b0dfd95 {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  overflow: hidden;
  border-radius: 16px;
}
.elementor-element-8bcefb3 .elementor-element-b0dfd95 img,
.elementor-7 .elementor-element.elementor-element-b0dfd95 img {
  display: block !important;
  width: 100% !important;
  height: 540px !important;
  object-fit: cover !important;
  object-position: top center !important;
  border-radius: 16px !important;
}
@media (max-width: 1024px) {
  .elementor-element-8bcefb3 .elementor-element-b0dfd95 img,
  .elementor-7 .elementor-element.elementor-element-b0dfd95 img { height: 500px !important; }
}
@media (max-width: 767px) {
  .elementor-element-8bcefb3 .elementor-element-b0dfd95 img,
  .elementor-7 .elementor-element.elementor-element-b0dfd95 img { height: 420px !important; }
}
.elementor-element-66f4283 .menu-item-has-children > .elementor-item::after { content: "▾"; display: inline-block; margin-left: 10px; font-size: .8em; color: #fff; }

/* Statistics directly below About Us: the archived Elementor animation left the icon widgets hidden. */
.elementor-element-c9382a6 .elementor-widget-icon.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}
.elementor-element-c9382a6 .elementor-widget-icon .elementor-icon-wrapper {
  text-align: center;
}
.elementor-element-c9382a6 .elementor-widget-icon .elementor-icon {
  display: inline-grid;
  width: 136px;
  height: 136px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 14px;
}
.elementor-element-c9382a6 .elementor-widget-icon .elementor-icon svg {
  width: 80px;
  height: 80px;
}
@media (max-width: 767px) {
  .elementor-element-c9382a6 .elementor-widget-icon .elementor-icon {
    width: 112px;
    height: 112px;
  }
}

/* Process section rebuilt from the archived step content and the supplied zig-zag path image. */
.elementor-element-19ddd00.has-local-process > .e-con-inner { display: none !important; }
.elementor-element-19ddd00.has-local-process {
  position: relative;
  display: block !important;
  padding: 0 !important;
  background: #080a0b url('../images/steps-image-2-scaled.webp') center / cover no-repeat !important;
}
.local-process { position: relative; overflow: hidden; color: #fff; }
.local-process__shade { position: absolute; inset: 0; background: rgba(0, 0, 0, .78); }
.local-process__content { position: relative; z-index: 1; width: min(1580px, calc(100% - 120px)); margin: 0 auto; padding: 26px 0 44px; }
.local-process__eyebrow { margin: 0 0 18px; color: #ee2a20; text-align: center; font: 500 22px/1.2 Montserrat, sans-serif; }
.local-process h2 { margin: 0; color: #fff; text-align: center; font: 700 clamp(2.3rem, 3.1vw, 3.75rem)/1.1 Montserrat, sans-serif; }
.local-process__intro { margin: 18px 0 0; text-align: center; font: 500 18px/1.45 Poppins, sans-serif; }
.local-process__steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 310px 310px; column-gap: clamp(30px, 5vw, 105px); row-gap: 34px; margin-top: 28px; }
.local-process__path { position: absolute; z-index: 0; top: 47%; left: 1%; width: 98%; height: auto; transform: translateY(-50%); pointer-events: none; }
.local-process__step { position: relative; z-index: 1; display: flex; max-width: 315px; flex-direction: column; gap: 12px; }
.local-process__step--top { justify-content: flex-end; padding-bottom: 12px; }
.local-process__step--bottom { justify-content: flex-start; padding-top: 42px; }
.local-process__step--bottom .local-process__icon { order: -1; }
.local-process__icon { min-height: 62px; color: #fff; line-height: 0; }
.local-process__icon .elementor-icon-wrapper { text-align: left !important; }
.local-process__icon .elementor-icon { display: inline-block; color: #fff !important; border: 0 !important; }
.local-process__icon svg { width: 68px; height: 68px; fill: #fff !important; }
.local-process__copy h3 { margin: 0 0 5px; color: #f12c22; font: 500 clamp(1.1rem, 1.35vw, 1.55rem)/1.2 Montserrat, sans-serif; }
.local-process__copy p { margin: 0; color: #fff; font: 400 clamp(.95rem, 1.1vw, 1.2rem)/1.43 Poppins, sans-serif; }
.local-process__step:nth-of-type(2) { transform: translateY(-38px); }
.local-process__step:nth-of-type(3) { transform: translateY(-22px); }
.local-process__step:nth-of-type(4) { transform: translateY(-74px); }
.local-process__step:nth-of-type(5) { transform: translateY(14px); }
.local-process__step:nth-of-type(6) { transform: translateY(-35px); }
.local-process__step:nth-of-type(7) { transform: translateY(-14px); }
.local-process__step:nth-of-type(8) { transform: translateY(-64px); }
@media (max-width: 1024px) {
  .local-process__content { width: min(100% - 48px, 900px); }
  .local-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; gap: 34px 48px; margin-top: 44px; }
  .local-process__path { display: none; }
  .local-process__step, .local-process__step--top, .local-process__step--bottom { max-width: none; min-height: 0; padding: 0; transform: none !important; justify-content: flex-start; }
}
@media (max-width: 767px) {
  .local-process__content { width: min(100% - 36px, 500px); padding: 44px 0; }
  .local-process__eyebrow { font-size: 18px; }
  .local-process__intro { font-size: 15px; }
  .local-process__steps { grid-template-columns: 1fr; gap: 30px; }
  .local-process__step { flex-direction: row; align-items: flex-start; gap: 16px; }
  .local-process__step--bottom .local-process__icon { order: 0; }
  .local-process__icon { flex: 0 0 58px; min-height: 0; }
  .local-process__icon svg { width: 52px; height: 52px; }
}

.local-hero {
  --hero-red: #f22920;
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  isolation: isolate;
  min-height: min(900px, 100svh);
  overflow: hidden;
  color: #fff;
  background: #020606;
}

html,
body {
  overflow-x: hidden;
}

.local-hero__slide { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity .7s ease, transform 1.2s ease, visibility 0s linear .7s; }
.local-hero__slide.is-active { opacity: 1; visibility: visible; transform: scale(1); transition-delay: 0s; }
.local-hero__background, .local-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.local-hero__background { object-fit: cover; object-position: center center; z-index: 0; transform: none !important; }
.local-hero__shade { z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.4) 47%, rgba(0,0,0,.72) 100%); }

.local-hero__grid { position: relative; z-index: 2; width: min(1540px, calc(100% - 80px)); min-height: min(900px, 100svh); display: grid; grid-template-columns: 1fr .85fr 1.05fr; align-items: center; gap: clamp(20px, 4vw, 80px); padding: 108px 0 50px; }
.local-hero__headline { margin: 0; font: 700 clamp(3.75rem, 5.4vw, 6.7rem)/.92 Montserrat, sans-serif; letter-spacing: .02em; }
.local-hero__headline span, .local-hero__services h2 { color: var(--hero-red); }
.local-hero__art { display: grid; place-items: center; }
.local-hero__art img { display: block; max-width: min(100%, 510px); max-height: 570px; object-fit: contain; filter: drop-shadow(0 22px 24px rgba(0,0,0,.38)); }
.local-hero__services { max-width: 520px; }
.local-hero__services h2 { margin: 0 0 16px; font: 700 clamp(2rem, 2.55vw, 3.15rem)/1.02 Montserrat, sans-serif; }
.local-hero__services p { margin: 0 0 28px; font: 400 clamp(1rem, 1.2vw, 1.45rem)/1.45 Poppins, sans-serif; }

.local-hero__arrow { position: absolute; z-index: 3; top: 50%; width: 52px; height: 76px; border: 0; background: transparent; color: #fff; font: 300 4rem/1 Arial, sans-serif; cursor: pointer; transform: translateY(-50%); opacity: .86; }
.local-hero__arrow:hover, .local-hero__arrow:focus-visible { opacity: 1; color: var(--hero-red); outline: none; }
.local-hero__arrow--prev { left: 12px; }.local-hero__arrow--next { right: 12px; }
.local-hero__dots { position: absolute; z-index: 3; bottom: 28px; left: 50%; display: flex; gap: 10px; transform: translateX(-50%); }
.local-hero__dot { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.local-hero__dot.is-active { border-color: var(--hero-red); background: var(--hero-red); }
.local-hero__robot-grid { position: relative; z-index: 2; width: min(1360px, calc(100% - 160px)); min-height: min(900px, 100svh); display: grid; grid-template-columns: minmax(420px, 540px) minmax(560px, 710px); align-items: center; justify-content: center; gap: clamp(58px, 6vw, 115px); padding: 105px 0 44px; }
.local-hero__robot-art { justify-self: end; width: min(100%, 540px); height: min(600px, 65svh); overflow: hidden; }
.local-hero__robot-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.local-hero__robot-copy { max-width: 710px; }
.local-hero__robot-copy h2 { margin: 0 0 20px; color: #fff; font: 700 clamp(3rem, 4.15vw, 5rem)/.98 Montserrat, sans-serif; letter-spacing: .005em; }
.local-hero__robot-copy h2 span { color: var(--hero-red); }
.local-hero__robot-copy p { max-width: 710px; margin: 0; font: 400 clamp(1.05rem, 1.45vw, 1.55rem)/1.48 Poppins, sans-serif; }
.local-hero__slide--rocket { overflow: hidden; }
.local-hero__slide--rocket .local-hero__background { width: 100% !important; height: 100% !important; min-height: 100% !important; object-fit: cover !important; }
.local-hero__slide--rocket .local-hero__shade { background: rgba(0,0,0,.28); }
.local-hero__rocket-copy { position: relative; z-index: 2; width: min(1500px, calc(100% - 120px)); height: 100%; min-height: 0; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 104px 0 42px; text-align: center; }
.local-hero__rocket-art { width: clamp(92px, 7.5vw, 145px); height: auto; margin: 0 0 clamp(32px, 7vh, 76px); filter: drop-shadow(0 14px 18px rgba(0,0,0,.38)); }
.local-hero__rocket-copy h2 { margin: 0; font: 700 clamp(2.9rem, 4.1vw, 5rem)/.98 Montserrat, sans-serif; letter-spacing: .005em; }
.local-hero__rocket-copy h2 span { color: var(--hero-red); }
.local-hero__rocket-copy p { max-width: 1450px; margin: 28px 0 0; font: 400 clamp(1rem, 1.25vw, 1.35rem)/1.4 Poppins, sans-serif; }

@media (max-width: 1024px) { .local-hero__grid { width: min(100% - 56px, 920px); grid-template-columns: .9fr .75fr 1fr; gap: 24px; }.local-hero__art img { max-height: 440px; }.local-hero__robot-grid { width:min(100% - 100px, 980px); grid-template-columns:minmax(260px,.8fr) 1.2fr; gap:52px; }.local-hero__robot-art { height:min(510px,60svh); }.local-hero__rocket-copy { width:min(100% - 72px,1050px); } }
@media (max-width: 767px) { .local-hero { min-height: 760px; }.local-hero__grid { min-height: 760px; width: min(100% - 48px, 500px); grid-template-columns: 1fr; gap: 10px; padding: 98px 0 65px; text-align: center; }.local-hero__headline { display: none; }.local-hero__art { order: 3; }.local-hero__art img { max-height: 280px; }.local-hero__services { margin: 0 auto; }.local-hero__services h2 { margin-bottom: 8px; }.local-hero__services p { margin-bottom: 0; font-size: .95rem; }.local-hero__arrow { width: 38px; font-size: 2.7rem; }.local-hero__robot-grid { width:min(100% - 48px,500px); min-height:760px; grid-template-columns:1fr; gap:20px; padding:88px 0 65px; text-align:center; }.local-hero__robot-art { justify-self:center; width:min(72vw,330px); height:min(40vh,360px); }.local-hero__robot-copy h2 { font-size:clamp(2.35rem,11vw,3.7rem); }.local-hero__robot-copy p { font-size:.98rem; }.local-hero__rocket-copy { width:min(100% - 48px,560px); min-height:760px; padding:86px 0 64px; }.local-hero__rocket-art { margin:auto 0 20px; }.local-hero__rocket-copy h2 { font-size:clamp(2.25rem,10.8vw,3.7rem); }.local-hero__rocket-copy p { margin-top:20px; font-size:.96rem; } }
