.qps-special-heading { width: 100%; }
.qps-special-heading__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 26px;
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.qps-special-heading__line {
  width: 28px;
  height: 3px;
  flex: 0 0 28px;
  display: inline-block;
  border-radius: 999px;
  background: var(--qps-gold, #f1b91c);
}
.qps-special-heading__title {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.25rem, 6.2vw, 5.55rem);
  font-weight: 700;
  line-height: 1.01;
  letter-spacing: -.035em;
}
.qps-special-heading__main,
.qps-special-heading__highlight { display: block; }
.qps-special-heading__highlight { color: var(--qps-gold, #f1b91c); }

@media (max-width: 767px) {
  .qps-special-heading__eyebrow { margin-bottom: 20px; font-size: 10px; }
  .qps-special-heading__title { font-size: clamp(2.65rem, 13vw, 4.2rem); line-height: 1.02; }
}

/* QPS Sticky Intro Section */
.elementor-widget-qps-sticky-intro,
.elementor-widget-qps-sticky-intro > .elementor-widget-container { overflow: visible; }
.qps-sticky-intro {
  width: 100%;
  padding: 90px 24px;
  background: #fff;
}
.qps-sticky-intro,
.qps-sticky-intro * { box-sizing: border-box; }
.qps-sticky-intro__inner {
  --qps-left-width: 43%;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, var(--qps-left-width)) minmax(0, 1fr);
  align-items: start;
  column-gap: 80px;
}
.qps-sticky-intro__left,
.qps-sticky-intro__right { min-width: 0; }
.qps-sticky-intro__left { align-self: stretch; }
.qps-sticky-intro__left-inner { position: relative; top: auto; }
.qps-sticky-intro__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  color: #b51217;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.qps-sticky-intro__line {
  width: 34px;
  height: 4px;
  flex: 0 0 34px;
  display: inline-block;
  border-radius: 99px;
  background: #b51217;
}
.qps-sticky-intro__heading {
  margin: 0;
  color: #063e4b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 4.2vw, 4.45rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.qps-sticky-intro__right {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.qps-sticky-intro__copy,
.qps-sticky-intro__bottom,
.qps-sticky-intro__card-text {
  color: #737373;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.68;
}
.qps-sticky-intro__copy p,
.qps-sticky-intro__bottom p,
.qps-sticky-intro__card-text p { margin: 0; }
.qps-sticky-intro__copy p + p,
.qps-sticky-intro__bottom p + p,
.qps-sticky-intro__card-text p + p { margin-top: 1em; }
.qps-sticky-intro__card {
  padding: 38px 38px 38px 32px;
  background: #eaf4ee;
  border: 0 solid transparent;
  border-left-width: 4px;
  border-left-color: #f1b91c;
  border-radius: 0 16px 16px 0;
}
.qps-sticky-intro__card-title {
  margin: 0 0 28px;
  color: #64bee6;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  font-weight: 750;
  line-height: 1.25;
}

@media (min-width: 1025px) {
  .qps-sticky-intro--sticky-desktop .qps-sticky-intro__left-inner,
  .qps-sticky-intro--sticky-tablet .qps-sticky-intro__left-inner {
    position: sticky;
    top: 130px;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .qps-sticky-intro--sticky-tablet .qps-sticky-intro__left-inner {
    position: sticky;
    top: 100px;
  }
}

/* Scroll reveal: activated only after JavaScript initializes the widget. */
.qps-sticky-intro.qps-animation-ready [data-qps-reveal] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: var(--qps-animation-duration, 700ms);
  transition-delay: var(--qps-animation-delay, 0ms);
  transition-timing-function: cubic-bezier(.2, .75, .25, 1);
  will-change: opacity, transform;
}
.qps-sticky-intro.qps-animation-ready[data-qps-effect="fade-up"] [data-qps-reveal] { transform: translate3d(0, 34px, 0); }
.qps-sticky-intro.qps-animation-ready[data-qps-effect="fade-in"] [data-qps-reveal] { transform: none; }
.qps-sticky-intro.qps-animation-ready[data-qps-effect="slide-left"] [data-qps-reveal] { transform: translate3d(-44px, 0, 0); }
.qps-sticky-intro.qps-animation-ready[data-qps-effect="slide-right"] [data-qps-reveal] { transform: translate3d(44px, 0, 0); }
.qps-sticky-intro.qps-animation-ready[data-qps-effect="zoom"] [data-qps-reveal] { transform: scale(.96); }
.qps-sticky-intro.qps-animation-ready.qps-in-view [data-qps-reveal] {
  opacity: 1;
  transform: none;
  will-change: auto;
}

@media (max-width: 767px) {
  .qps-sticky-intro { padding: 68px 20px; }
  .qps-sticky-intro__inner { grid-template-columns: 1fr; row-gap: 42px; }
  .qps-sticky-intro__left-inner { position: static !important; }
  .qps-sticky-intro__heading { font-size: clamp(2.55rem, 12vw, 4rem); }
  .qps-sticky-intro__copy,
  .qps-sticky-intro__bottom,
  .qps-sticky-intro__card-text { font-size: 16px; }
  .qps-sticky-intro__card { padding: 28px 24px; }
}

/* QPS Vertical Process Steps */
.qps-vprocess, .qps-vprocess * { box-sizing: border-box; }
.qps-vprocess { --qps-marker-size: 54px; --qps-v-row-gap: 34px; width: 100%; }
.qps-vprocess__list { display: flex; flex-direction: column; gap: var(--qps-v-row-gap); }
.qps-vprocess__step {
  position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr);
  column-gap: 22px; min-width: 0;
}
.qps-vprocess__rail {
  position: relative; display: flex; justify-content: center; align-items: flex-start;
  min-height: var(--qps-marker-size);
}
.qps-vprocess__marker {
  position: relative; z-index: 2; width: var(--qps-marker-size); height: var(--qps-marker-size);
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  border-radius: 50%; background: #f3b81b; color: #082d22;
  font: 800 14px/1 Arial, sans-serif;
}
.qps-vprocess__marker svg { display: block; fill: currentColor; }
.qps-vprocess__line {
  position: absolute; z-index: 1; left: 50%; top: calc(var(--qps-marker-size) + 6px);
  bottom: calc((var(--qps-v-row-gap) * -1) + 6px); width: 2px;
  transform: translateX(-50%); background: #cadfd4;
}
.qps-vprocess__content { min-width: 0; align-self: start; }
.qps-vprocess__title {
  margin: 0 0 8px; color: #0f4735; font-family: Georgia, 'Times New Roman', serif;
  font-size: 27px; font-weight: 700; line-height: 1.15;
  border: 0 !important; box-shadow: none !important; text-decoration: none !important;
}
.qps-vprocess__title::before,
.qps-vprocess__title::after { content: none !important; display: none !important; }
.qps-vprocess__step::before,
.qps-vprocess__step::after,
.qps-vprocess__content::before,
.qps-vprocess__content::after,
.qps-vprocess__list::before,
.qps-vprocess__list::after { content: none !important; display: none !important; }
.qps-vprocess__description { margin: 0; color: #65776f; font-size: 16px; line-height: 1.65; }
@media (max-width: 767px) {
  .qps-vprocess__step { grid-template-columns: 58px minmax(0, 1fr); column-gap: 14px; }
  .qps-vprocess { --qps-marker-size: 46px; }
  .qps-vprocess__title { font-size: 23px; }
}

/* QPS Service Areas List */
.qps-areas-list,
.qps-areas-list * { box-sizing: border-box; }
.qps-areas-list { --qps-area-hover-lift: 1px; width: 100%; }
.qps-areas-list__title {
  margin: 0 0 30px;
  padding: 0;
  border: 0;
  color: #2d7658;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.qps-areas-list__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 14px;
}
.qps-areas-list__item {
  display: block;
  min-width: 0;
}
.qps-areas-list__link {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 8px 16px 8px 12px;
  border: 1px solid #aeb3b0;
  border-radius: 10px;
  background: #fff;
  color: #15382d;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none !important;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}
a.qps-areas-list__link:hover { color: #2d7658; background: #f5faf7; transform: translateY(calc(-1 * var(--qps-area-hover-lift))); }
.qps-areas-list__pin,
.qps-areas-list__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 1;
}
.qps-areas-list__pin { width: 24px; height: 24px; border-radius: 50%; color: #ff6b00; }
.qps-areas-list__pin i { font-size: 18px; }
.qps-areas-list__pin svg { width: 18px; height: 18px; fill: currentColor; }
.qps-areas-list__label { min-width: 0; flex: 1 1 auto; color: #15382d; transition: color .2s ease; }
a.qps-areas-list__link:hover .qps-areas-list__label { color: #2d7658 !important; }
.qps-areas-list__arrow { width: 24px; height: 24px; margin-left: auto; border-radius: 50%; color: #12382e; }
.qps-areas-list__arrow i { font-size: 12px; }
.qps-areas-list__arrow svg { width: 12px; height: 12px; fill: currentColor; }
.qps-areas-list--underline-underline .qps-areas-list__link { text-decoration: underline; }
.qps-areas-list--underline-hover a.qps-areas-list__link:hover { text-decoration: underline; }
@media (max-width: 1024px) {
  .qps-areas-list__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .qps-areas-list__grid { grid-template-columns: 1fr; row-gap: 18px; }
}

/* QPS Location Link Buttons */
.qps-location-buttons,
.qps-location-buttons * { box-sizing: border-box; }
.qps-location-buttons {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  column-gap: 26px;
  row-gap: 16px;
  justify-items: start;
  width: 100%;
}
.qps-location-button {
  width: 114px;
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 9px 5px 7px;
  border: 1px solid #aeb3b0;
  border-radius: 9px;
  background: #fff;
  color: #12382e;
  text-decoration: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.qps-location-button:hover { background: #f5faf7; transform: translateY(-1px); }
.qps-location-button__pin,
.qps-location-button__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 1;
}
.qps-location-button__pin { color: #ff6b00; }
.qps-location-button__pin i { font-size: 16px; }
.qps-location-button__pin svg { width: 16px; height: 16px; fill: currentColor; }
.qps-location-button__label {
  min-width: 0;
  flex: 1 1 auto;
  color: #12382e;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
}
.qps-location-button__arrow { margin-left: auto; color: #12382e; }
.qps-location-button__arrow i { font-size: 12px; }
.qps-location-button__arrow svg { width: 12px; height: 12px; fill: currentColor; }
@media (max-width: 767px) {
  .qps-location-buttons { grid-template-columns: max-content; }
}

@media (prefers-reduced-motion: reduce) {
  .qps-sticky-intro.qps-animation-ready [data-qps-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* QPS Image Box */
.qps-image-box {
  position: relative;
  width: 100%;
  display: block;
  padding: 12px;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border-radius: 28px;
  text-decoration: none !important;
  transition: transform .28s ease, box-shadow .28s ease;
}
.qps-image-box,
.qps-image-box * { box-sizing: border-box; }
.qps-image-box:focus-visible {
  outline: 3px solid #f1b91c;
  outline-offset: 4px;
}
.qps-image-box__media {
  width: 100%;
  height: 620px;
  overflow: hidden;
  border-radius: 18px;
}
.qps-image-box__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  transition: transform .55s cubic-bezier(.2, .75, .25, 1);
}
.qps-image-box__label {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 28px;
  bottom: 28px;
  padding: 22px 26px;
  color: #fff;
  background: #153f30;
  border-radius: 18px;
  text-align: left;
}
.qps-image-box__title {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 700;
  line-height: 1.15;
}
.qps-image-box:hover { transform: translateY(-4px); }
.qps-image-box:hover .qps-image-box__media img { transform: scale(1.04); }

@media (max-width: 1024px) {
  .qps-image-box__media { height: 500px; }
}
@media (max-width: 767px) {
  .qps-image-box { padding: 9px; border-radius: 22px; }
  .qps-image-box__media { height: 420px; border-radius: 15px; }
  .qps-image-box__label { left: 20px; right: 20px; bottom: 20px; padding: 18px 20px; border-radius: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .qps-image-box,
  .qps-image-box__media img { transition: none !important; transform: none !important; }
}

/* QPS Process Steps */
.qps-process-steps,
.qps-process-steps * { box-sizing: border-box; }
.qps-process-steps {
  width: 100%;
  padding: 28px 20px 38px;
  background: #f4faf7;
}
.qps-process-steps__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: 12px;
  row-gap: 42px;
}
.qps-process-step { min-width: 0; }
.qps-process-step__track {
  display: flex;
  align-items: center;
  width: calc(100% + 12px);
}
.qps-process-step__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border: 1px solid #b7d6c9;
  border-radius: 50%;
  background: #fff;
  color: #123f31;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.qps-process-step__line {
  display: block;
  flex: 1 1 auto;
  height: 1px;
  margin-left: 6px;
  margin-right: 2px;
  background: #b7d6c9;
}
.qps-process-step:last-child .qps-process-step__line { visibility: hidden; }
.qps-process-step__content { margin-top: 24px; }
.qps-process-step__title {
  margin: 0;
  color: #123f31;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.18;
}
.qps-process-step__description {
  margin-top: 12px;
  color: #5d6e68;
  font-size: 17px;
  line-height: 1.55;
}
.qps-process-animation-ready[data-qps-process-effect='fade-up'] .qps-process-step {
  opacity: 0;
  transform: translateY(28px);
}
.qps-process-animation-ready[data-qps-process-effect='fade-left'] .qps-process-step {
  opacity: 0;
  transform: translateX(-28px);
}
.qps-process-animation-ready[data-qps-process-effect='fade'] .qps-process-step { opacity: 0; }
.qps-process-animation-ready .qps-process-step {
  transition: opacity var(--qps-process-duration, 650ms) ease, transform var(--qps-process-duration, 650ms) ease;
  transition-delay: var(--qps-process-delay, 0ms);
}
.qps-process-animation-ready.qps-process-in-view .qps-process-step {
  opacity: 1;
  transform: none;
}
@media (max-width: 1024px) {
  .qps-process-steps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .qps-process-steps__grid { grid-template-columns: 1fr; row-gap: 34px; }
  .qps-process-step__track { width: 100%; }
  .qps-process-step__line { visibility: hidden; }
  .qps-process-step__content { margin-top: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .qps-process-animation-ready .qps-process-step {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* QPS Sticky Canvas — two real Elementor drop zones */
.qps-sticky-canvas,
.qps-sticky-canvas * { box-sizing: border-box; }
.qps-sticky-canvas {
  --qps-sticky-left-width: 42%;
  width: 100%;
  padding: 110px 30px;
  overflow: visible;
}
.qps-sticky-canvas__inner {
  display: grid;
  grid-template-columns: minmax(0, var(--qps-sticky-left-width)) minmax(0, 1fr);
  align-items: start;
  width: 100%;
  max-width: 1500px;
  margin-inline: auto;
  column-gap: 80px;
  overflow: visible;
}
.qps-sticky-canvas__inner > .e-con {
  min-width: 0;
  width: 100%;
}
.qps-sticky-canvas__inner > .e-con:first-child {
  position: sticky;
  top: 110px;
  align-self: start;
  z-index: 2;
}
.elementor-editor-active .qps-sticky-canvas__inner > .e-con:empty {
  min-height: 180px;
  border: 1px dashed rgba(90, 130, 115, 0.65);
}
@media (max-width: 1024px) {
  .qps-sticky-canvas {
    --qps-sticky-left-width: 40%;
    padding: 80px 24px;
  }
  .qps-sticky-canvas__inner { column-gap: 40px; }
  .qps-sticky-canvas__inner > .e-con:first-child { top: 80px; }
}
@media (max-width: 767px) {
  .qps-sticky-canvas { padding: 60px 20px; }
  .qps-sticky-canvas__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 32px;
  }
  .qps-sticky-canvas__inner > .e-con:first-child {
    position: relative;
    top: auto;
  }
}

/* QPS Dynamic Services Grid */
.qps-services-widget {
  --qps-card-hover-lift: 6px;
  width: 100%;
}
.qps-services-widget,
.qps-services-widget * { box-sizing: border-box; }
.qps-services-widget__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 20px;
}
.qps-services-widget__card {
  position: relative;
  min-width: 0;
  min-height: 238px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 36px 30px 30px;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border: 1px solid #d9e5de;
  border-radius: 18px;
  text-decoration: none !important;
  isolation: isolate;
  transition: transform .24s ease, border-color .24s ease, background-color .24s ease, box-shadow .24s ease;
}
.qps-services-widget__card:focus-visible {
  outline: 3px solid #f1b91c;
  outline-offset: 3px;
}
.qps-services-widget__content,
.qps-services-widget__arrow { position: relative; z-index: 2; }
.qps-services-widget__label {
  margin: 0 0 36px;
  color: #1a6a4d;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.qps-services-widget__title {
  margin: 0;
  color: #153f30;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 2vw, 2.15rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.025em;
  transition: color .22s ease;
}
.qps-services-widget__arrow {
  width: 48px;
  height: 48px;
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  background: #0e4b39;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 18px;
  line-height: 1;
  transition: transform .22s ease, color .22s ease, background-color .22s ease;
}
.qps-services-widget__footer {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 58px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
}
.qps-services-widget__footer .qps-services-widget__arrow { margin-left: auto; }
.qps-services-widget__visual {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  overflow: hidden;
  color: #505b58;
  transition: color .22s ease, transform .22s ease;
}
.qps-services-widget__visual--image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.qps-services-widget__visual--icon i,
.qps-services-widget__visual--icon svg {
  width: 52px;
  height: 52px;
  font-size: 52px;
  fill: currentColor;
}
.qps-services-widget__card:hover .qps-services-widget__visual { transform: translateY(-2px); }
.qps-services-widget__ring {
  position: absolute;
  z-index: 1;
  right: -45px;
  bottom: -78px;
  width: 190px;
  height: 190px;
  display: block;
  border: 30px solid #eaf4ee;
  border-radius: 50%;
  pointer-events: none;
  transition: transform .28s ease;
}
.qps-services-widget__card:hover { transform: translateY(calc(-1 * var(--qps-card-hover-lift))); }
.qps-services-widget__card:hover .qps-services-widget__arrow { transform: translateX(3px); }
.qps-services-widget__card:hover .qps-services-widget__ring { transform: scale(1.06); }
.qps-services-widget--no-ring .qps-services-widget__ring { display: none; }

/* Card entrance animation; content remains visible when JavaScript is unavailable. */
.qps-services-widget.qps-services-animation-ready [data-qps-service-reveal] {
  opacity: 0;
  transition-property: opacity, transform, border-color, background-color, box-shadow;
  transition-duration: var(--qps-services-duration, 650ms), .24s, .24s, .24s, .24s;
  transition-delay: var(--qps-services-delay, 0ms), 0ms, 0ms, 0ms, 0ms;
  transition-timing-function: cubic-bezier(.2, .75, .25, 1), ease, ease, ease, ease;
}
.qps-services-widget.qps-services-animation-ready[data-qps-services-effect="fade-up"] [data-qps-service-reveal] { transform: translate3d(0, 28px, 0); }
.qps-services-widget.qps-services-animation-ready[data-qps-services-effect="fade-in"] [data-qps-service-reveal] { transform: none; }
.qps-services-widget.qps-services-animation-ready[data-qps-services-effect="zoom"] [data-qps-service-reveal] { transform: scale(.96); }
.qps-services-widget.qps-services-animation-ready.qps-services-in-view [data-qps-service-reveal] {
  opacity: 1;
  transform: none;
}
.qps-services-widget.qps-services-animation-ready.qps-services-in-view [data-qps-service-reveal]:hover {
  transform: translateY(calc(-1 * var(--qps-card-hover-lift)));
}

@media (max-width: 1024px) {
  .qps-services-widget__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .qps-services-widget__grid { grid-template-columns: 1fr; }
  .qps-services-widget__card { min-height: 210px; padding: 30px 26px 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .qps-services-widget *,
  .qps-services-widget *::before,
  .qps-services-widget *::after {
    transition: none !important;
    animation: none !important;
  }
  .qps-services-widget.qps-services-animation-ready [data-qps-service-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* QPS Service Link Grid */
.qps-service-links,
.qps-service-links * { box-sizing: border-box; }
.qps-service-links {
  --qps-service-link-lift: 3px;
  --qps-service-arrow-move: 5px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 32px;
  row-gap: 20px;
}
.qps-service-link {
  min-width: 0;
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 26px 16px 18px;
  border: 1px solid #cfe1d8;
  border-radius: 14px;
  background: #f5faf7;
  text-decoration: none !important;
  outline: 0;
  transition: transform .28s ease, background-color .28s ease, border-color .28s ease, box-shadow .28s ease, opacity .55s ease;
}
.qps-service-link:hover,
.qps-service-link:focus-visible { transform: translateY(calc(var(--qps-service-link-lift) * -1)); }
.qps-service-link__leading {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f3b81b;
  color: #082d22;
  transition: color .28s ease, background-color .28s ease, transform .28s ease;
}
.qps-service-link__leading i { font-size: 12px; }
.qps-service-link__leading svg { width: 12px; height: 12px; fill: currentColor; }
.qps-service-link__title {
  min-width: 0;
  flex: 1 1 auto;
  color: #0f4735;
  font: 700 16px/1.35 Arial, Helvetica, sans-serif;
  transition: color .28s ease;
}
.qps-service-link__arrow {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #2d7658;
  transition: color .28s ease, transform .28s ease;
}
.qps-service-link__arrow i { font-size: 14px; }
.qps-service-link__arrow svg { width: 14px; height: 14px; fill: currentColor; }
.qps-service-link:hover .qps-service-link__arrow,
.qps-service-link:focus-visible .qps-service-link__arrow { transform: translateX(var(--qps-service-arrow-move)); }
.qps-service-link.qps-ab-reveal { opacity: 0; }
.qps-service-link.qps-ab-reveal.qps-is-visible,
.elementor-editor-active .qps-service-link.qps-ab-reveal { opacity: 1; }
@media (max-width: 767px) {
  .qps-service-links { grid-template-columns: 1fr; }
}
