/* The intro timeline owns the text reveal; avoid a second CSS entrance. */
    [data-slice-type="services_intro"] .indent-90 p.js-animate-about-text {
      opacity: 1;
      transform: none;
      transition: none;
    }
    /* Keep intro stairs collapsed before the scroll controller initializes. */
    [data-slice-type="services_intro"] .js-stairs {
      transform: scaleX(0);
      transform-origin: left center;
    }
    .stair {
      grid-column-end: var(--grid-column-end);
      width: var(--stair-width-mobile);
    }
    @media (min-width: 1024px) {
      .stair {
        width: var(--stair-width);
      }
    }
    .service:hover {
      color: #e8e6e0 !important;
    }
    .service:hover .text-mono {
      color: #e8e6e0 !important;
    }
    .service:hover a.bg-mercury\! {
      opacity: 1 !important;
    }

.service h3, .service h3 span, .service h3 *, .service p, .service .text-mono, .service .text-mono p, .service > span { background: transparent !important; background-color: transparent !important; color: #FF6B00 !important; transition: color 0.3s ease; }

    .service {
      position: relative;
      transition: background-color 0.35s cubic-bezier(0.25, 1, 0.5, 1);
      cursor: pointer;
    }

    .service:hover {
      background-color: #FF6B00 !important;
    }

    .service:hover h3,
    .service:hover h3 span,
    .service:hover h3 *,
    .service:hover .text-mono,
    .service:hover .text-mono p,
    .service:hover .text-mono p:first-child,
    .service:hover > span,
    .service:hover div,
    .service:hover p {
      color: #FFF9F3 !important;
    }

        .service a {
      font-size: 11px !important;
      line-height: 1 !important;
      padding: 0 !important;
      border-radius: 4px !important;
    }

    .service a span {
      padding: 8px 16px !important;
      font-size: 11px !important;
      line-height: 1 !important;
    }

    .service:hover a {
      background-color: #FFFFFF !important;
      border-color: #FFFFFF !important;
      color: #FF6B00 !important;
    }

    .service:hover a span {
      color: #FF6B00 !important;
      background-color: transparent !important;
    }

/* Services page: keep the original OCI layout and motion in Fireflies orange. */
  [data-services-hero] .title,
  [data-services-hero] .services-hero-char {
    letter-spacing: .02em !important;
  }

  body [data-services-hero] .title,
  body [data-services-hero] .services-hero-char {
    letter-spacing: .035em !important;
    word-spacing: .12em !important;
  }

  body [data-slice-type="services_list"] .my-title[aria-hidden="true"] {
    letter-spacing: .01em !important;
    word-spacing: .08em !important;
  }
  [data-slice-type="services_list"] {
    overflow: clip;
    background: #F4F2EE !important;
    color: #1A1A1A;
    padding-bottom: clamp(64px, 10vw, 150px);
  }
  [data-slice-type="services_list"] .font-gta-mono,
  [data-slice-type="services_list"] .my-title { color: #FF6B00 !important; }
  [data-slice-type="services_list"] .my-title {
    font-weight: 500 !important;
    letter-spacing: -.045em !important;
    line-height: .92 !important;
  }
  [data-slice-type="services_list"] .text,
  [data-slice-type="services_list"] .text p {
    color: #1A1A1A !important;
    font-family: 'PP Neue Montreal', sans-serif !important;
    font-size: clamp(17px, 1.55vw, 22px) !important;
    font-weight: 400 !important;
    line-height: 1.42 !important;
    letter-spacing: 0 !important;
  }
  [data-slice-type="services_list"] .text p { margin: 0; }
  [data-slice-type="services_list"] .b-blue { border-color: #FF6B00 !important; }
  [data-slice-type="services_list"] .relative.col-start-3 > [data-dither-image] {
    background: #FF6B00 !important;
    z-index: 0 !important;
  }
  /* Keep the photo visible if the dither canvas has not initialized yet. */
  [data-slice-type="services_list"] .relative.col-start-3 > [data-dither-image]:not(.dither-ready) img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: sepia(1) saturate(3) hue-rotate(-15deg);
  }
  [data-slice-type="services_list"] .relative.col-start-3 > .my-title {
    z-index: 2 !important;
  }
  [data-slice-type="services_list"] .relative.col-start-3 > .text {
    align-self: center;
    padding-left: clamp(16px, 2vw, 36px);
    transform: translateY(-4vw);
  }
  [data-slice-type="services_list"] .relative.col-start-3 > .text p {
    font-family: 'GT America Mono', 'GTAmericaMono', monospace !important;
    font-size: clamp(10px, .82vw, 12px) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase;
  }
  [data-slice-type="services_list"] ul.my-grid {
    position: relative !important;
    margin-top: 0 !important;
    padding-top: 0;
    border-top: 0 !important;
  }
  [data-slice-type="services_list"] ul.my-grid > .js-bg {
    position: absolute !important;
    top: 0;
    left: 0;
    z-index: 0 !important;
    width: 100%;
    height: 0;
    pointer-events: none;
    transform-origin: top center;
    background: #FF6B00 !important;
    will-change: transform, height;
  }
  /* No horizontal dividers above or between the service rows. */
  [data-slice-type="services_list"] ul.my-grid > li.service {
    border-top-width: 0 !important;
  }
  [data-slice-type="services_list"] li.service {
    position: relative;
    z-index: 1;
    isolation: isolate;
    cursor: pointer;
    color: #FF6B00 !important;
    border-color: rgba(255, 107, 0, .55) !important;
    transition: color .4s cubic-bezier(.16, 1, .3, 1);
  }
  [data-slice-type="services_list"] li.service.is-service-active,
  [data-slice-type="services_list"] li.service:focus-within {
    /* The shared background layer animates the orange fill across each row. */
    background-color: transparent !important;
  }
  [data-slice-type="services_list"] li.service h3,
  [data-slice-type="services_list"] li.service h3 span,
  [data-slice-type="services_list"] li.service .text-mono,
  [data-slice-type="services_list"] li.service .text-mono p,
  [data-slice-type="services_list"] li.service > span {
    color: #FF6B00 !important;
    transition: color .35s cubic-bezier(.16, 1, .3, 1) !important;
  }
  [data-slice-type="services_list"] li.service h3 {
    font-size: clamp(24px, 2.2vw, 32px) !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
  }
  [data-slice-type="services_list"] li.service .text-mono,
  [data-slice-type="services_list"] li.service .text-mono p {
    font-size: clamp(11px, .85vw, 13px) !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: .01em !important;
  }
  [data-slice-type="services_list"] li.service.is-service-active h3,
  [data-slice-type="services_list"] li.service.is-service-active h3 span,
  [data-slice-type="services_list"] li.service.is-service-active .text-mono,
  [data-slice-type="services_list"] li.service.is-service-active .text-mono p,
  [data-slice-type="services_list"] li.service.is-service-active > span,
  [data-slice-type="services_list"] li.service:focus-within h3,
  [data-slice-type="services_list"] li.service:focus-within h3 span,
  [data-slice-type="services_list"] li.service:focus-within .text-mono,
  [data-slice-type="services_list"] li.service:focus-within .text-mono p,
  [data-slice-type="services_list"] li.service:focus-within > span {
    color: #FFF9F3 !important;
  }
  [data-slice-type="services_list"] li.service [data-dither-image] {
    opacity: 0 !important;
    transform: none;
    transition: opacity .2s ease-in-out !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }
  [data-slice-type="services_list"] li.service [data-dither-image] canvas,
  [data-slice-type="services_list"] li.service [data-dither-image] .dither-canvas {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    clip-path: none !important;
    background: transparent !important;
  }
  [data-slice-type="services_list"] li.service.is-service-active [data-dither-image],
  [data-slice-type="services_list"] li.service:focus-within [data-dither-image] {
    opacity: 1 !important;
    transform: none !important;
    transition: opacity .8s .1s ease-in-out !important;
  }
  [data-slice-type="services_list"] li.service a {
    border-radius: 2px !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }
  @media (min-width: 1024px) {
    /* Use the whole row for vertical centering, including its uneven padding. */
    [data-slice-type="services_list"] ul.my-grid > li.service [data-dither-image] {
      position: absolute !important;
      grid-row: auto !important;
      top: 50%;
      left: 0;
      right: 0;
      height: auto;
      transform: translateY(-50%) !important;
    }
  }
  [data-slice-type="services_list"] li.service a span {
    padding: 12px 18px !important;
    transition: transform .4s cubic-bezier(.16, 1, .3, 1), color .3s ease !important;
  }
  [data-slice-type="services_list"] li.service a span + span { transform: translateY(101%); }
  [data-slice-type="services_list"] li.service.is-service-active a span + span,
  [data-slice-type="services_list"] li.service:focus-within a span + span { transform: translateY(0); }
  /* OCI-style CTA: outlined at rest, with a white panel sliding up on hover. */
  [data-slice-type="services_list"] li.service a.group {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 52px;
    overflow: hidden !important;
    padding: 0 !important;
    border: 1px solid #FFF9F3 !important;
    border-radius: 0 !important;
    background: #FFF9F3 !important;
    color: #FF6B00 !important;
  }
  [data-slice-type="services_list"] li.service a.group > span:first-child {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    padding: 16px 20px !important;
    color: #FF6B00 !important;
    white-space: nowrap;
  }
  [data-slice-type="services_list"] li.service a.group > span + span {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 20px !important;
    background: #FF6B00 !important;
    color: #FFF9F3 !important;
    white-space: nowrap;
    transform: translateY(101%) !important;
    transition: transform .42s cubic-bezier(.16, 1, .3, 1) !important;
  }
  [data-slice-type="services_list"] li.service a.group:hover > span + span,
  [data-slice-type="services_list"] li.service a.group:focus-visible > span + span {
    transform: translateY(0) !important;
  }
  [data-slice-type="services_list"] li.service a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
  }
  @media (max-width: 1023px) {
    [data-slice-type="services_list"] ul.my-grid { margin-top: clamp(42px, 10vw, 80px) !important; }
  }

/* Keep a compact gap between the final service or industry row and the footer. */
body:is(.is-services-page, .is-industries-page) [data-slice-type="services_list"] {
  padding-bottom: clamp(24px, 3vw, 40px);
}

body:is(.is-services-page, .is-industries-page) [data-slice-type="services_list"] > ul.my-grid {
  padding-bottom: 0;
}

/* One active state keeps the fill, text, and CTA in sync during the exit delay. */
@media (min-width: 1024px) {
  [data-slice-type="services_list"] li.service.is-service-active a.group { opacity: 1 !important; }
}
[data-slice-type="services_list"] li.service [data-orange-renderer="fallback"] img { visibility: visible; }
@media (prefers-reduced-motion: reduce) {
  [data-slice-type="services_list"] li.service,
  [data-slice-type="services_list"] li.service * { transition: none !important; }
}
.services-next-step {
  position: relative;
  padding: clamp(64px, 9vw, 120px) 8.5%;
  overflow: hidden;
  color: #252525;
  background: #f4f2ee;
}
.services-next-step::before {
  position: absolute;
  top: 0;
  left: 8.5%;
  width: 1px;
  height: 100%;
  content: '';
  background: rgba(255, 107, 0, .55);
}
.services-next-step__inner {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: clamp(36px, 8vw, 120px);
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 34px;
}
.services-next-step h2 {
  margin: 0;
  color: #FF6B00;
  font: 500 clamp(2rem, 3.2vw, 3.5rem)/1.05 'PP Neue Montreal', sans-serif;
  letter-spacing: -.035em;
}
.services-next-step p {
  max-width: 720px;
  margin: 2px 0 0;
  color: #252525;
  font: 400 clamp(1rem, 1.35vw, 1.25rem)/1.65 'PP Neue Montreal', sans-serif;
}
@media (max-width: 767px) {
  .services-next-step { padding: 64px 24px 70px; }
  .services-next-step::before { left: 24px; }
  .services-next-step__inner { grid-template-columns: 1fr; gap: 22px; padding-left: 22px; }
  .services-next-step h2 { font-size: clamp(2rem, 8vw, 2.8rem); }
  .services-next-step p { font-size: 16px; line-height: 1.55; }
}
/* Industries page capability grid copied from the government page treatment. */
.industries-support-cards {
  position: relative;
  display: block !important;
  padding: clamp(36px, 5vw, 68px) clamp(20px, 4vw, 64px) !important;
  background: #f4f2ee !important;
}
.industries-support-cards .gp-cap-heading {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(24px, 3vw, 40px) !important;
  color: #ff6b00 !important;
  font: 500 clamp(36px, 5vw, 68px)/1.05 'PP Neue Montreal', sans-serif !important;
  text-align: center !important;
}
.industries-support-cards .gp-cap-accordions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 220px;
  gap: 1px;
  overflow: hidden;
  border: 1px solid #ff6b00;
  background: #ff6b00;
  counter-reset: industries-capability;
}
.industries-support-cards .gp-cap-accordion {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 220px;
  height: 220px;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
  color: #ff6b00;
}
.industries-support-cards .gp-cap-accordion::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: '';
  background: #ff6b00;
  transform: scaleY(0);
  transform-origin: bottom center;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
}
.industries-support-cards .gp-cap-accordion:hover::before { transform: scaleY(1); }
.industries-support-cards .gp-cap-accordion:last-child { grid-column: auto; }
.industries-support-cards .gp-cap-card-heading {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  width: 100%;
  gap: 10px;
  padding: 22px;
  color: #ff6b00;
  transition: color .25s ease;
}
.industries-support-cards .gp-cap-card-heading::before {
  position: absolute;
  top: 22px;
  left: 22px;
  content: counter(industries-capability, decimal-leading-zero);
  counter-increment: industries-capability;
  font: 400 22px/1 'GT America Mono', monospace;
}
.industries-support-cards .gp-cap-accordion h3 {
  max-width: 440px;
  margin: 0;
  color: currentColor !important;
  font: 500 clamp(18px, 1.6vw, 23px)/1.15 'PP Neue Montreal', sans-serif !important;
}
.industries-support-cards .gp-cap-accordion p {
  max-width: 52ch;
  margin: 0;
  color: currentColor;
  font: 400 15px/1.45 'PP Neue Montreal', sans-serif;
  transition: color .25s ease;
}
.industries-support-cards .gp-cap-plus { display: none; }
.industries-support-cards .gp-cap-accordion:hover .gp-cap-card-heading,
.industries-support-cards .gp-cap-accordion:hover h3,
.industries-support-cards .gp-cap-accordion:hover p { color: #fff !important; }
@media (max-width: 900px) {
  .industries-support-cards .gp-cap-accordions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .industries-support-cards .gp-cap-accordions { grid-auto-rows: 220px; }
  .industries-support-cards .gp-cap-accordion:last-child { grid-column: auto; }
  .industries-support-cards .gp-cap-accordion { min-height: 0; height: 220px; }
}
@media (max-width: 600px) {
  .industries-support-cards { padding: 36px 16px !important; }
  .industries-support-cards .gp-cap-accordions { grid-template-columns: 1fr; grid-auto-rows: 190px; }
  .industries-support-cards .gp-cap-accordion,
  .industries-support-cards .gp-cap-accordion:last-child { grid-column: auto; min-height: 0; height: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .industries-support-cards .gp-cap-accordion::before { transition-duration: .01ms; }
}
