/* =========================================================
   EXCEL HERO CAROUSEL
   ========================================================= */

.excel-carousel-hero-wrapper {
  position: relative;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  height: auto;
  overflow: hidden;
  color: #ffffff;
  background-color: #5E0E97;
  background-image: linear-gradient(
    90deg,
    #340058 0%,
    #43006d 28%,
    #560389 55%,
    #650da1 78%,
    #7113ae 100%
  );
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}


/* =========================================================
   TRACK + SLIDES
   ========================================================= */

.excel-carousel-hero-track {
  position: relative;
  width: 100%;
}

.excel-carousel-hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.excel-carousel-hero-slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  padding-bottom: 40px;
  box-sizing: border-box;
}


/* =========================================================
   STANDARD HERO LAYOUT
   ========================================================= */

.excel-carousel-hero-container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.excel-carousel-hero-content {
  position: relative;
  z-index: 10;
  flex: 0 0 680px;
  width: 680px;
  max-width: 680px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem 0;
  color: #ffffff;
  gap: 30px;
}

.excel-carousel-hero-content h1,
.excel-carousel-hero-content h2,
.excel-carousel-hero-content h5,
.excel-carousel-hero-content p {
  color: #ffffff;
  margin-top: 0;
  margin-bottom: 0;
}


/* =========================================================
   STANDARD HEADING
   ========================================================= */

.excel-carousel-hero-heading {
  margin-top: 0;
  margin-bottom: 0;
}

.excel-carousel-hero-heading span {
  display: block;
  transition: all 0.3s linear;
}

.excel-carousel-hero-heading span.active {
  font-weight: 800;
  font-size: 54px;
}

h2.excel-carousel-hero-heading {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}


/* =========================================================
   STANDARD SUBTITLE + BODY
   ========================================================= */

.excel-carousel-hero-subtitle {
  width: 100%;
  max-width: 560px;
  margin: 0;
  color: #ffffff;
}

.excel-carousel-hero-body {
  width: 560px;
  max-width: 560px;
  margin: 0;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 400;
  line-height: 1.5 !important;
}

.excel-carousel-hero-body p {
  width: 560px;
  max-width: 560px;
  margin: 0 !important;
  padding: 0;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 400;
  line-height: 1.5 !important;
}

.excel-carousel-hero-body p + p {
  margin-top: 12px !important;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.excel-carousel-hero-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
}

.excel-carousel-hero-cta a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 13px 27px !important;
  border-radius: 6px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.excel-carousel-hero-cta .cta-primary {
  border: 2px solid #15EFE1 !important;
  background-color: #15EFE1 !important;
  color: #000000 !important;
}

.excel-carousel-hero-cta .cta-secondary {
  border: 2px solid #ffffff !important;
  background-color: transparent !important;
  color: #ffffff !important;
}


/* =========================================================
   STANDARD IMAGE + LOTTIE
   ========================================================= */

.excel-carousel-hero-image {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.excel-carousel-hero-visual-wrap {
  position: relative;
  width: 490px;
  height: 490px;
  flex: 0 0 490px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px auto 0;
  transform: translateY(6px);
}

.excel-carousel-hero-image-container {
  position: relative;
  z-index: 1;
  width: 490px;
  height: 490px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.excel-carousel-hero-image-container img {
  position: relative;
  z-index: 1;
  display: block;
  width: 490px;
  height: 490px !important;
  border-radius: 50%;
  object-fit: cover;
}

.excel-carousel-hero-lottie {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 2 !important;
  width: 490px !important;
  height: 490px !important;
  pointer-events: none;
  overflow: visible;
}

.excel-carousel-hero-lottie svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 130% !important;
  height: 130% !important;
  max-width: none !important;
  transform: translate3d(-12.5%, -13%, 0) !important;
  transform-origin: center;
  z-index: 2;
  shape-rendering: geometricPrecision;
  text-rendering: optimizeLegibility;
}


/* =========================================================
   TESTIMONIAL LAYOUT
   Kept available in case you switch a slide back to
   Testimonial later. It is not used by Slide 2 currently.
   ========================================================= */

.excel-carousel-testimonial-container {
  width: 100%;
  max-width: 1500px;
  min-height: 580px;
  margin: 0 auto;
  padding: 70px 50px 90px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 70px;
}

.excel-carousel-testimonial-content {
  position: relative;
  width: 100%;
  max-width: 1050px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #ffffff;
}

.excel-carousel-testimonial-mark {
  display: none !important;
}

.excel-carousel-testimonial-quote {
  position: relative;
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  color: #ffffff;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.18;
}

.excel-carousel-testimonial-quote span {
  display: block;
}

.excel-carousel-testimonial-body,
.excel-carousel-testimonial-body p {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.5;
}

.excel-carousel-testimonial-attribution {
  margin-top: 18px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
}

.excel-carousel-testimonial-visual {
  position: relative;
  flex: 0 0 340px;
  width: 340px;
  height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.excel-carousel-testimonial-image {
  position: relative;
  z-index: 1;
  width: 310px;
  height: 310px;
}

.excel-carousel-testimonial-image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.excel-carousel-testimonial-lottie {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 340px;
  height: 340px;
  pointer-events: none;
  overflow: visible;
}

.excel-carousel-testimonial-lottie svg {
  width: 130% !important;
  height: 130% !important;
  max-width: none !important;
  transform: translate3d(-12.5%, -13%, 0) !important;
}


/* =========================================================
   STATISTIC LAYOUT - SLIDE 3
   Image / Lottie left, proof copy right, big stat in visual
   ========================================================= */

.excel-carousel-stat-container {
  width: 100%;
  max-width: 1440px;
  min-height: 498px;
  margin: 0 auto;
  padding: 19px 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 70px;
  text-align: left;
}

.excel-carousel-stat-visual {
  flex: 0 0 480px;
  width: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.excel-carousel-stat-visual-wrap {
  position: relative;
  width: 460px;
  height: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.excel-carousel-stat-image {
  position: relative;
  z-index: 1;
  width: 460px;
  height: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.excel-carousel-stat-image img {
  display: block;
  width: 460px;
  height: 460px !important;
  border-radius: 50%;
  object-fit: cover;
}

.excel-carousel-stat-lottie {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 2 !important;
  width: 460px !important;
  height: 460px !important;
  pointer-events: none;
  overflow: visible;
}

.excel-carousel-stat-lottie svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 130% !important;
  height: 130% !important;
  max-width: none !important;
  transform: translate3d(-12.5%, -13%, 0) !important;
  transform-origin: center;
}

.excel-carousel-stat-number {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
  color: #ffffff;
  font-size: 150px;
  font-weight: 800;
  line-height: 0.85;
  letter-spacing: -7px;
  white-space: nowrap;
  text-shadow: 0 4px 22px rgba(52, 0, 88, 0.42);
  pointer-events: none;
}

.excel-carousel-stat-content {
  flex: 0 1 560px;
  width: 100%;
  max-width: 560px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
}

.excel-carousel-stat-eyebrow {
  margin: 0 0 18px;
  color: #15EFE1;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 1.8px;
}

.excel-carousel-stat-heading {
  margin: 0 0 22px;
  color: #ffffff;
  font-size: 48px;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.5px;
}

.excel-carousel-stat-heading span {
  display: block;
}

.excel-carousel-stat-subtitle {
  margin: 0 0 18px;
  color: #ffffff;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.35;
}

.excel-carousel-stat-body {
  width: 100%;
  max-width: 560px;
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
}

.excel-carousel-stat-body p {
  display: block;
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.excel-carousel-stat-body p + p {
  margin-top: 12px;
}

.excel-carousel-stat-cta {
  justify-content: flex-start;
}

/* =========================================================
   SLIDE 2 - CLIENT FEEDBACK
   Slide 2 remains the Standard layout, with its own
   proof/testimonial treatment.
   ========================================================= */

.excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content {
  gap: 0 !important;
  transform: translateY(-12px);
}

/* CLIENT FEEDBACK eyebrow */
.excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content::before {
  content: "CLIENT FEEDBACK";
  position: relative;
  top: -14px;
  display: block;
  width: fit-content;
  margin: 0 0 16px;
  color: #15EFE1;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 1.8px;
  order: 1;
}

.excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote {
  order: 2;
}

/* Main quote */
.excel-carousel-client-quote {
  position: relative;
  overflow: visible;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 54px !important;
  font-weight: 700 !important;
  line-height: 1.13 !important;
  letter-spacing: -0.5px;
}

.excel-carousel-client-quote > span,
.excel-carousel-client-quote > span.active {
  position: relative;
  display: block;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 54px !important;
  font-weight: 700 !important;
  line-height: 1.13 !important;
}

.excel-carousel-client-quote > span + span {
  margin-top: 10px !important;
}

.excel-carousel-client-quote strong {
  font-weight: 800 !important;
}

/* Opening teal quote */
.excel-carousel-client-quote::before {
  content: "“";
  position: absolute;
  top: -16px;
  left: -56px;
  color: #15EFE1;
  font-family: Georgia, serif;
  font-size: 72px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

/* Real HTML closing quote attached to Inside Out. */
.excel-carousel-client-quote .excel-carousel-client-quote-close {
  display: inline-block !important;
  position: relative !important;
  top: -4px;
  width: auto !important;
  margin: 0 0 0 7px !important;
  color: #15EFE1 !important;
  font-family: Georgia, serif !important;
  font-size: 58px !important;
  font-weight: 700 !important;
  line-height: 0.65 !important;
  letter-spacing: 0 !important;
  vertical-align: baseline;
  pointer-events: none;
}

/* Supporting quote uses Slide 2's Body Text field */
.excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body {
  width: 100%;
  max-width: 560px;
  margin: 22px 0 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  order: 3;
}

.excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body p {
  width: 100%;
  max-width: 560px;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

/* Slide 2 client attribution */
.excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-subtitle {
  display: block !important;
  width: fit-content;
  max-width: none;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  order: 4;
}

/* Remove the old teal attribution line */
.excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-subtitle::before {
  content: none !important;
  display: none !important;
}

.excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-attribution-text {
  display: block;
  margin: 0;
  padding: 0;
  color: #ffffff !important;
}

.excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-name {
  margin: 0;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-role {
  margin: 3px 0 0;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

.excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-logo {
  display: block !important;
  width: auto !important;
  height: 23px !important;
  max-width: 135px !important;
  max-height: 23px !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  overflow: visible !important;
  filter: brightness(0) invert(1);
}

/* Slide 2 is proof, not a second CTA slide */
.excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-cta {
  display: none !important;
}


/* =========================================================
   CAROUSEL CONTROLS
   ========================================================= */

.excel-carousel-hero-controls {
  position: absolute;
  z-index: 100;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.excel-carousel-hero-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.excel-carousel-hero-dot {
  appearance: none;
  -webkit-appearance: none;
  width: 9px;
  height: 9px;
  margin: 0;
  padding: 0;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: transparent;
  opacity: 0.55;
  cursor: pointer;
}

.excel-carousel-hero-dot.is-active {
  background: #ffffff;
  opacity: 1;
  transform: scale(1.15);
}

.excel-carousel-hero-arrow {
  appearance: none;
  -webkit-appearance: none;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  color: #ffffff;
  font-family: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}


/* =========================================================
   LAPTOP
   ========================================================= */

@media (max-width: 1190px) {
  .excel-carousel-hero-content {
    flex: 0 0 550px;
    width: 550px;
    max-width: 550px;
    padding: 2.5rem 0 3rem;
  }

  .excel-carousel-hero-heading {
    font-size: 40px;
  }

  .excel-carousel-hero-heading span.active {
    font-size: 38px;
  }

  .excel-carousel-hero-body,
  .excel-carousel-hero-body p {
    width: 560px;
    max-width: 100%;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .excel-carousel-stat-body,
  .excel-carousel-stat-body p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .excel-carousel-hero-visual-wrap,
  .excel-carousel-hero-image-container {
    width: 460px;
    height: 460px;
  }

  .excel-carousel-hero-visual-wrap {
    flex-basis: 460px;
  }

  .excel-carousel-hero-image-container img {
    width: 460px;
    height: 460px !important;
  }

  .excel-carousel-hero-lottie {
    width: 460px !important;
    height: 460px !important;
  }

  .excel-carousel-client-quote,
  .excel-carousel-client-quote > span,
  .excel-carousel-client-quote > span.active {
    font-size: 46px !important;
    line-height: 1.15 !important;
  }

  .excel-carousel-client-quote::before {
    top: -15px;
    left: -44px;
    font-size: 66px;
  }

  .excel-carousel-client-quote .excel-carousel-client-quote-close {
    top: -3px;
    margin-left: 6px !important;
    font-size: 52px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body p {
    font-size: 18px !important;
  }

  .excel-carousel-stat-number {
    font-size: 125px;
  }

  .excel-carousel-stat-heading {
    font-size: 36px;
  }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {
  .excel-carousel-hero-container {
    gap: 20px;
  }

  .excel-carousel-hero-content {
    width: auto;
    max-width: 100%;
    flex: 1 1 auto;
  }

  .excel-carousel-hero-heading {
    font-size: 30px;
    font-weight: 700;
  }

  .excel-carousel-hero-heading span.active {
    font-size: 29px;
  }

  .excel-carousel-hero-body,
  .excel-carousel-hero-body p {
    width: 100%;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .excel-carousel-hero-visual-wrap,
  .excel-carousel-hero-image-container {
    width: 400px;
    height: 400px;
  }

  .excel-carousel-hero-visual-wrap {
    flex-basis: 400px;
  }

  .excel-carousel-hero-image-container img {
    width: 400px;
    height: 400px !important;
  }

  .excel-carousel-hero-lottie {
    width: 400px !important;
    height: 400px !important;
  }

  .excel-carousel-hero-lottie svg {
    width: 130% !important;
    height: 130% !important;
    transform: translate3d(-12.5%, -13%, 0) !important;
  }

  .excel-carousel-testimonial-container {
    min-height: 520px;
    padding: 60px 30px 78px;
  }

  .excel-carousel-testimonial-quote {
    font-size: 38px;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content {
    gap: 14px !important;
    transform: none;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content::before {
    top: -10px;
    font-size: 12px;
    letter-spacing: 1.5px;
  }

  .excel-carousel-client-quote,
  .excel-carousel-client-quote > span,
  .excel-carousel-client-quote > span.active {
    font-size: 40px !important;
    line-height: 1.18 !important;
  }

  .excel-carousel-client-quote::before {
    top: -16px;
    left: -46px;
    font-size: 62px;
  }

  .excel-carousel-client-quote .excel-carousel-client-quote-close {
    top: -3px;
    margin-left: 5px !important;
    font-size: 48px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body p {
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  .excel-carousel-stat-container {
    min-height: 520px;
  }

  .excel-carousel-stat-number {
    font-size: 110px;
  }

  .excel-carousel-stat-heading {
    font-size: 32px;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .excel-carousel-hero-slide.is-active {
    padding-bottom: 46px;
  }

  .excel-carousel-hero-container {
    flex-direction: column;
    margin-bottom: 80px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .excel-carousel-hero-content {
    width: 100%;
    flex-basis: auto;
    align-items: center;
    text-align: center;
  }

  .excel-carousel-hero-heading,
  .excel-carousel-hero-subtitle,
  .excel-carousel-hero-body {
    text-align: center;
  }

  .excel-carousel-hero-body,
  .excel-carousel-hero-body p {
    width: 100%;
  }

  .excel-carousel-hero-cta {
    justify-content: center;
  }

  .excel-carousel-hero-image {
    width: 100%;
  }

  .excel-carousel-hero-controls {
    bottom: 18px;
  }

  .excel-carousel-testimonial-container,
  .excel-carousel-testimonial-container.has-visual {
    min-height: auto;
    padding: 74px 20px 95px;
    flex-direction: column;
    gap: 35px;
  }

  .excel-carousel-testimonial-content {
    max-width: 100%;
    text-align: center;
  }

  .excel-carousel-testimonial-quote {
    font-size: 32px;
    text-align: center;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content {
    gap: 14px !important;
    transform: none;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content::before {
    top: 0;
    margin-left: auto;
    margin-right: auto;
    font-size: 12px;
  }

  .excel-carousel-client-quote {
    padding-top: 18px;
  }

  .excel-carousel-client-quote,
  .excel-carousel-client-quote > span,
  .excel-carousel-client-quote > span.active {
    font-size: 34px !important;
    line-height: 1.2 !important;
    text-align: center;
  }

  .excel-carousel-client-quote::before {
    top: -18px;
    left: 50%;
    font-size: 58px;
    transform: translateX(-50%);
  }

  .excel-carousel-client-quote .excel-carousel-client-quote-close {
    top: -2px;
    margin-left: 4px !important;
    font-size: 42px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body p {
    max-width: 500px;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    text-align: center;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-subtitle {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .excel-carousel-stat-container {
    min-height: auto;
    padding: 65px 24px 90px;
  }

  .excel-carousel-stat-number {
    font-size: 100px;
    letter-spacing: -3px;
  }

  .excel-carousel-stat-heading {
    font-size: 30px;
  }

  .excel-carousel-stat-subtitle {
    font-size: 19px;
  }

  .excel-carousel-stat-body {
    font-size: 15px;
    line-height: 1.5;
  }

  .excel-carousel-stat-body p {
    display: block;
    margin: 10px 0;
    font-size: inherit;
    line-height: inherit;
  }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 600px) {
  .excel-carousel-hero-visual-wrap {
    width: 100%;
    height: auto;
    max-width: 400px;
    flex-basis: auto;
    aspect-ratio: 1 / 1;
  }

  .excel-carousel-hero-image-container {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
  }

  .excel-carousel-hero-image-container img {
    width: 100%;
    height: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }

  .excel-carousel-hero-lottie {
    width: 100% !important;
    height: 100% !important;
  }

  .excel-carousel-hero-lottie svg {
    width: 130% !important;
    height: 130% !important;
    transform: translate3d(-12.5%, -13%, 0) !important;
  }
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {
  .excel-carousel-hero-content {
    padding: 3rem 0 1rem;
  }

  .excel-carousel-hero-visual-wrap {
    max-width: 320px;
  }

  .excel-carousel-hero-cta {
    width: 100%;
  }

  .excel-carousel-hero-cta a {
    width: 100%;
  }

  .excel-carousel-client-quote,
  .excel-carousel-client-quote > span,
  .excel-carousel-client-quote > span.active {
    font-size: 30px !important;
  }

  .excel-carousel-client-quote .excel-carousel-client-quote-close {
    font-size: 38px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-body p {
    font-size: 16px !important;
  }

  .excel-carousel-stat-number {
    font-size: 82px;
  }

  .excel-carousel-stat-heading {
    font-size: 26px;
  }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .excel-carousel-hero-slide,
  .excel-carousel-cycle,
  .excel-carousel-hero-dot {
    transition: none !important;
  }
}
/* =========================================================
   SLIDE 2 - DISABLE HEADING BOLDNESS ANIMATION
   ========================================================= */

.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote span,
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote span.active {
  font-weight: 700 !important;
  transition: none !important;
  transform: none !important;
}

/* Keep only "Excel Communications" deliberately bolder */
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote strong {
  font-weight: 800 !important;
}
/* =========================================================
   SLIDE 2 - COMPLETELY DISABLE HEADING CYCLING EFFECT
   ========================================================= */

/* Every Slide 2 heading line stays identical */
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote > .excel-carousel-cycle,
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote > .excel-carousel-cycle.active {
  font-size: 54px !important;
  font-weight: 700 !important;

  line-height: 1.13 !important;

  transform: none !important;
  transition: none !important;
}


/* Excel Communications stays permanently heavier */
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote strong {
  font-size: inherit !important;
  font-weight: 700 !important;
  color: #15EFE1 !important;
}


/* Make sure the teal closing quote isn't affected */
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote-close,
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote-close.active {
  font-size: inherit !important;
  font-weight: 700 !important;
  transition: none !important;
}


/* Laptop */
@media (max-width: 1190px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 46px !important;
  }

}


/* Tablet */
@media (max-width: 991px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 40px !important;
  }

}


/* Mobile */
@media (max-width: 767px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 34px !important;
  }

}


/* Small mobile */
@media (max-width: 400px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 30px !important;
  }

}

/* =========================================================
   SLIDE 3 - RESPONSIVE VISUAL STAT OVERRIDES
   Keep these at the very bottom of the file.
   ========================================================= */

@media (max-width: 1190px) {
  .excel-carousel-stat-container {
    max-width: 1180px;
    gap: 48px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .excel-carousel-stat-visual {
    flex-basis: 430px;
    width: 430px;
  }

  .excel-carousel-stat-visual-wrap,
  .excel-carousel-stat-image,
  .excel-carousel-stat-lottie {
    width: 430px !important;
    height: 430px !important;
  }

  .excel-carousel-stat-image img {
    width: 430px;
    height: 430px !important;
  }

  .excel-carousel-stat-number {
    font-size: 125px;
    letter-spacing: -6px;
  }

  .excel-carousel-stat-content {
    max-width: 500px;
  }

  .excel-carousel-stat-heading {
    font-size: 40px;
  }
}

@media (max-width: 991px) {
  .excel-carousel-stat-container {
    min-height: 408px;
    gap: 32px;
    padding: 14px 24px 34px;
  }

  .excel-carousel-stat-visual {
    flex: 0 0 360px;
    width: 360px;
  }

  .excel-carousel-stat-visual-wrap,
  .excel-carousel-stat-image,
  .excel-carousel-stat-lottie {
    width: 360px !important;
    height: 360px !important;
  }

  .excel-carousel-stat-image img {
    width: 360px;
    height: 360px !important;
  }

  .excel-carousel-stat-number {
    font-size: 104px;
    letter-spacing: -5px;
  }

  .excel-carousel-stat-content {
    max-width: 430px;
  }

  .excel-carousel-stat-eyebrow {
    font-size: 12px;
    letter-spacing: 1.5px;
    margin-bottom: 14px;
  }

  .excel-carousel-stat-heading {
    font-size: 34px;
    margin-bottom: 18px;
  }

  .excel-carousel-stat-subtitle {
    font-size: 19px;
  }

  .excel-carousel-stat-body {
    font-size: 15px;
    line-height: 1.5;
  }
}

@media (max-width: 767px) {
  .excel-carousel-stat-container {
    min-height: auto;
    flex-direction: column;
    gap: 20px;
    padding: 42px 24px 95px;
    text-align: center;
  }

  .excel-carousel-stat-visual {
    flex: 0 0 auto;
    width: 100%;
  }

  .excel-carousel-stat-visual-wrap,
  .excel-carousel-stat-image,
  .excel-carousel-stat-lottie {
    width: min(340px, 86vw) !important;
    height: min(340px, 86vw) !important;
  }

  .excel-carousel-stat-image img {
    width: min(340px, 86vw);
    height: min(340px, 86vw) !important;
  }

  .excel-carousel-stat-number {
    font-size: 96px;
    letter-spacing: -4px;
  }

  .excel-carousel-stat-content {
    max-width: 560px;
    align-items: center;
    text-align: center;
  }

  .excel-carousel-stat-heading {
    font-size: 32px;
  }

  .excel-carousel-stat-body {
    max-width: 500px;
  }

  .excel-carousel-stat-cta {
    justify-content: center;
  }
}

@media (max-width: 400px) {
  .excel-carousel-stat-visual-wrap,
  .excel-carousel-stat-image,
  .excel-carousel-stat-lottie {
    width: min(300px, 84vw) !important;
    height: min(300px, 84vw) !important;
  }

  .excel-carousel-stat-image img {
    width: min(300px, 84vw);
    height: min(300px, 84vw) !important;
  }

  .excel-carousel-stat-number {
    font-size: 82px;
    letter-spacing: -3px;
  }

  .excel-carousel-stat-heading {
    font-size: 28px;
  }
}

/* =========================================================
   SLIDE 2 - CALMER TESTIMONIAL LAYOUT
   Less wall-of-text, clearer quote grouping and attribution.
   ========================================================= */

/* LARGE DESKTOP */
@media (min-width: 1400px) {

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-container {
    max-width: 1600px !important;
    gap: 0 !important;
    padding-left: 24px;
    padding-right: 24px;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content {
    flex: 0 0 980px !important;
    width: 980px !important;
    max-width: 980px !important;
    gap: 0 !important;
    padding: 0 !important;
    transform: translateY(6px);
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-image {
    transform: translateX(24px);
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    width: 100% !important;
    max-width: 980px !important;
    font-size: 27px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.1px !important;
    font-weight: 600 !important;
    transform: none !important;
    transition: none !important;
  }

  /* The second statement starts here. */
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(2) {
    margin-top: 24px !important;
  }

  /* Continuation of the second statement. */
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(3) {
    margin-top: 0 !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote::before {
    top: -5px;
    left: -32px;
    font-size: 50px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote .excel-carousel-client-quote-close {
    top: -1px;
    margin-left: 5px !important;
    font-size: 32px !important;
    line-height: 0.75 !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-attribution {
    margin-top: 16px !important;
  }
}


/* STANDARD DESKTOP */
@media (min-width: 1191px) and (max-width: 1399px) {

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-container {
    gap: 0 !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content {
    flex: 0 0 800px !important;
    width: 800px !important;
    max-width: 800px !important;
    gap: 0 !important;
    padding: 0 !important;
    transform: translateY(6px);
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-image {
    transform: translateX(12px);
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    width: 100% !important;
    max-width: 800px !important;
    font-size: 27px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.05px !important;
    font-weight: 600 !important;
    transform: none !important;
    transition: none !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(2) {
    margin-top: 22px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(3) {
    margin-top: 0 !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote::before {
    top: -5px;
    left: -31px;
    font-size: 48px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote .excel-carousel-client-quote-close {
    top: -1px;
    margin-left: 4px !important;
    font-size: 31px !important;
    line-height: 0.75 !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-attribution {
    margin-top: 14px !important;
  }
}


/* LAPTOP */
@media (min-width: 992px) and (max-width: 1190px) {

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content {
    flex: 0 0 620px !important;
    width: 620px !important;
    max-width: 620px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-image {
    transform: none;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 26px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    transform: none !important;
    transition: none !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(2) {
    margin-top: 20px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(3) {
    margin-top: 0 !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-attribution {
    margin-top: 12px !important;
  }
}


/* TABLET */
@media (max-width: 991px) {

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-hero-content {
    width: 100% !important;
    max-width: 680px !important;
    flex: 1 1 auto !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 25px !important;
    line-height: 1.32 !important;
    font-weight: 600 !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(2) {
    margin-top: 18px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(3) {
    margin-top: 0 !important;
  }
}


/* MOBILE */
@media (max-width: 767px) {

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 24px !important;
    line-height: 1.32 !important;
    font-weight: 600 !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(2) {
    margin-top: 16px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(3) {
    margin-top: 0 !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-name {
    font-size: 14px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-role {
    font-size: 13px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-logo {
    width: auto !important;
    height: 22px !important;
    max-width: 130px !important;
    max-height: 22px !important;
    margin: 4px auto 0 !important;
  }
}


/* SMALL MOBILE */
@media (max-width: 400px) {

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 22px !important;
  }
}

/* =========================================================
   SLIDE 2 - CLIENT LOGO MOBILE POLISH
   ========================================================= */

@media (max-width: 767px) {
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-attribution {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-attribution-text {
    text-align: center;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-logo {
    width: auto !important;
    height: 22px !important;
    max-width: 130px !important;
    max-height: 22px !important;
    margin: 4px auto 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    overflow: visible !important;
  }
}
/* =========================================================
   SLIDE 2 - MATCH SLIDE 1 BANNER HEIGHT
   Final authoritative desktop override
   ========================================================= */

/* Desktop: Slide 1 visual is 490px, so force Slide 2's
   layout box to exactly the same height. */
@media (min-width: 1191px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-hero-container {
    height: 498px !important;
    min-height: 498px !important;
    max-height: 498px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-hero-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Keep the attribution close to the quote */
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-attribution {
    margin-top: 16px !important;
  }

  /* Logo directly beneath the job title */
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-logo {
    margin-top: 4px !important;
  }
}

/* Laptop: Slide 1 visual drops to 460px, so Slide 2 follows it. */
@media (min-width: 992px) and (max-width: 1190px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-hero-container {
    height: 468px !important;
    min-height: 468px !important;
    max-height: 468px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-hero-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-attribution {
    margin-top: 12px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-logo {
    margin-top: 4px !important;
  }
}
/* =========================================================
   SLIDE 1 - LARGE HERO TITLE
   Larger resting state with a subtler animated lift
   ========================================================= */

@media (min-width: 1191px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-content {
    flex: 0 0 750px !important;
    width: 750px !important;
    max-width: 750px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading {
    width: 100% !important;
    max-width: 750px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle {
    font-size: 58px !important;
    line-height: 1.04 !important;
    letter-spacing: -1px !important;
    font-weight: 700 !important;
    transform: none;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle + .excel-carousel-cycle {
    margin-top: 4px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {
    font-size: 64px !important;
    line-height: 1.02 !important;
    letter-spacing: -1.2px !important;
    font-weight: 800 !important;
  }
}


/* Laptop */
@media (min-width: 992px) and (max-width: 1190px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-content {
    flex: 0 0 610px !important;
    width: 610px !important;
    max-width: 610px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle {
    font-size: 50px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.7px !important;
    font-weight: 700 !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {
    font-size: 56px !important;
    line-height: 1.03 !important;
    font-weight: 800 !important;
  }
}


/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle {
    font-size: 38px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {
    font-size: 43px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
  }
}


/* Mobile */
@media (max-width: 767px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle {
    font-size: 34px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {
    font-size: 38px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
  }
}
/* =========================================================
   SLIDE 2 - FINAL CLOSING QUOTE FIX
   Use a pseudo-element on the final quote line so the mark
   sits directly after "Participants." and cannot be pushed
   around by earlier nested-span rules.
   ========================================================= */

/* Hide the old HTML closing quote mark completely. */
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote
.excel-carousel-client-quote-close {
  display: none !important;
}

/* Make the final quote line the positioning anchor. */
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote > .excel-carousel-cycle:last-of-type {
  position: relative !important;
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
}

/* Add the closing quote directly after the final sentence. */
.excel-carousel-hero-slide:nth-child(2)
.excel-carousel-client-quote > .excel-carousel-cycle:last-of-type::after {
  content: "”" !important;
  position: absolute !important;
  left: calc(100% + 4px) !important;
  top: 50% !important;
  transform: translateY(-58%) !important;

  color: #15EFE1 !important;
  font-family: Georgia, serif !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  pointer-events: none !important;
}

/* Large desktop */
@media (min-width: 1400px) {
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:last-of-type::after {
    font-size: 50px !important;
    left: calc(100% + 4px) !important;
  }
}

/* Laptop */
@media (min-width: 992px) and (max-width: 1190px) {
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:last-of-type::after {
    font-size: 44px !important;
    left: calc(100% + 3px) !important;
  }
}

/* Tablet / mobile: keep the mark readable without forcing overflow. */
@media (max-width: 991px) {
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:last-of-type::after {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    display: inline-block !important;
    margin-left: 4px !important;
    transform: translateY(4px) !important;
    font-size: 38px !important;
  }
}
/* =========================================================
   SLIDE 1 - MATCH CAROUSEL BANNER HEIGHT
   Keep the larger headline without making Slide 1 taller.
   ========================================================= */

@media (min-width: 1191px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-container {
    height: 498px !important;
    min-height: 498px !important;
    max-height: 498px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (min-width: 992px) and (max-width: 1190px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-container {
    height: 468px !important;
    min-height: 468px !important;
    max-height: 468px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* =========================================================
   FINAL IMAGE EDGE / GLOW ALIGNMENT - ALL SLIDES
   IMPORTANT: this changes ONLY the circular visual layers.
   Carousel controls, slide heights and text layout are untouched.
   ========================================================= */

/* Give the Lottie frame some breathing room around the photo.
   The photo is now 92% of the visual wrapper, centred inside it. */
.excel-carousel-hero-image-container,
.excel-carousel-stat-image {
  width: 92% !important;
  height: 92% !important;
  overflow: visible !important;
  border-radius: 50% !important;
}

.excel-carousel-hero-image-container img,
.excel-carousel-stat-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  transform: none !important;
  filter: none !important;
}


/* Put the pink frame directly on the actual photo edge.
   This guarantees the hard circular photo edge is covered
   on Slides 1, 2 and 3, regardless of the Lottie artwork. */
.excel-carousel-hero-image-container::after,
.excel-carousel-stat-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  border-radius: 50% !important;
  pointer-events: none !important;

  border: 2px solid rgba(247, 190, 255, 0.78) !important;

  box-shadow:
    inset 0 0 10px rgba(226, 138, 255, 0.50),
    0 0 7px 2px rgba(241, 181, 255, 0.82),
    0 0 15px 5px rgba(210, 111, 255, 0.48),
    0 0 24px 8px rgba(159, 55, 220, 0.24) !important;
}


/* Keep the animation above the photo-edge glow. */
.excel-carousel-hero-lottie,
.excel-carousel-stat-lottie {
  z-index: 4 !important;
  overflow: visible !important;
}


/* Use the same Lottie geometry on Slides 1, 2 and 3. */
.excel-carousel-hero-lottie svg,
.excel-carousel-stat-lottie svg {
  width: 130% !important;
  height: 130% !important;
  max-width: none !important;
  transform: translate3d(-12.5%, -13%, 0) !important;
  transform-origin: center center !important;
  filter: none !important;
}


/* Make sure the wrappers do not clip the new edge glow. */
.excel-carousel-hero-visual-wrap,
.excel-carousel-hero-image,
.excel-carousel-stat-visual-wrap,
.excel-carousel-stat-visual {
  overflow: visible !important;
}


/* Mobile gets the same relationship, just a slightly softer glow. */
@media (max-width: 767px) {

  .excel-carousel-hero-image-container::after,
  .excel-carousel-stat-image::after {
    border-width: 2px !important;

    box-shadow:
      inset 0 0 8px rgba(226, 138, 255, 0.44),
      0 0 6px 2px rgba(241, 181, 255, 0.70),
      0 0 12px 4px rgba(210, 111, 255, 0.38),
      0 0 18px 6px rgba(159, 55, 220, 0.18) !important;
  }
}
/* =========================================================
   SLIDE 4 - STATIC BLOG TITLE
   Match Slide 3 heading scale
   ========================================================= */

@media (min-width: 1191px) {

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading,
  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {

    font-size: 48px !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;

    transform: none !important;
    transition: none !important;
  }

}


/* Laptop */
@media (min-width: 992px) and (max-width: 1190px) {

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading,
  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {

    font-size: 40px !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;

    transform: none !important;
    transition: none !important;
  }

}


/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading,
  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {

    font-size: 34px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;

    transform: none !important;
    transition: none !important;
  }

}


/* Mobile */
@media (max-width: 767px) {

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading,
  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {

    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;

    transform: none !important;
    transition: none !important;
  }

}
/* =========================================================
   SLIDE 4 - STATIC BLOG HEADLINE

   The JS may still add/remove .active,
   but active and inactive states are intentionally identical.
   ========================================================= */

@media (min-width: 1191px) {

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle,

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {

    font-size: 48px !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;

    transform: none !important;
    transition: none !important;
  }

}


/* Laptop */

@media (min-width: 992px) and (max-width: 1190px) {

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle,

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {

    font-size: 40px !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;

    transform: none !important;
    transition: none !important;
  }

}


/* Tablet */

@media (min-width: 768px) and (max-width: 991px) {

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle,

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {

    font-size: 34px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;

    transform: none !important;
    transition: none !important;
  }

}


/* Mobile */

@media (max-width: 767px) {

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle,

  .excel-carousel-hero-slide:nth-child(4)
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {

    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;

    transform: none !important;
    transition: none !important;
  }

}


  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 25px !important;
    line-height: 1.32 !important;
    font-weight: 600 !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(2) {
    margin-top: 18px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(3) {
    margin-top: 0 !important;
  }
}


/* MOBILE */
@media (max-width: 767px) {

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 24px !important;
    line-height: 1.32 !important;
    font-weight: 600 !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(2) {
    margin-top: 16px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote > .excel-carousel-cycle:nth-child(3) {
    margin-top: 0 !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-name {
    font-size: 14px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-role {
    font-size: 13px !important;
  }

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-logo {
    width: auto !important;
    height: 22px !important;
    max-width: 130px !important;
    max-height: 22px !important;
    margin: 4px auto 0 !important;
  }
}


/* SMALL MOBILE */
@media (max-width: 400px) {

  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > span.active,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle,
  .excel-carousel-hero-slide:nth-child(2) .excel-carousel-client-quote > .excel-carousel-cycle.active {
    font-size: 22px !important;
  }
}

/* =========================================================
   SLIDE 2 - CLIENT LOGO MOBILE POLISH
   ========================================================= */

@media (max-width: 767px) {
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-attribution {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-attribution-text {
    text-align: center;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-logo {
    width: auto !important;
    height: 22px !important;
    max-width: 130px !important;
    max-height: 22px !important;
    margin: 4px auto 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    overflow: visible !important;
  }
}
/* =========================================================
   SLIDE 2 - MATCH SLIDE 1 BANNER HEIGHT
   Final authoritative desktop override
   ========================================================= */

/* Desktop: Slide 1 visual is 490px, so force Slide 2's
   layout box to exactly the same height. */
@media (min-width: 1191px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-hero-container {
    height: 498px !important;
    min-height: 498px !important;
    max-height: 498px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-hero-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Keep the attribution close to the quote */
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-attribution {
    margin-top: 16px !important;
  }

  /* Logo directly beneath the job title */
  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-logo {
    margin-top: 4px !important;
  }
}

/* Laptop: Slide 1 visual drops to 460px, so Slide 2 follows it. */
@media (min-width: 992px) and (max-width: 1190px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-hero-container {
    height: 468px !important;
    min-height: 468px !important;
    max-height: 468px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-hero-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-attribution {
    margin-top: 12px !important;
  }

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-logo {
    margin-top: 4px !important;
  }
}
/* =========================================================
   SLIDE 1 - LARGE HERO TITLE
   Larger resting state with a subtler animated lift
   ========================================================= */

@media (min-width: 1191px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-content {
    flex: 0 0 750px !important;
    width: 750px !important;
    max-width: 750px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading {
    width: 100% !important;
    max-width: 750px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle {
    font-size: 58px !important;
    line-height: 1.04 !important;
    letter-spacing: -1px !important;
    font-weight: 700 !important;
    transform: none;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle + .excel-carousel-cycle {
    margin-top: 4px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {
    font-size: 64px !important;
    line-height: 1.02 !important;
    letter-spacing: -1.2px !important;
    font-weight: 800 !important;
  }
}


/* Laptop */
@media (min-width: 992px) and (max-width: 1190px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-content {
    flex: 0 0 610px !important;
    width: 610px !important;
    max-width: 610px !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle {
    font-size: 50px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.7px !important;
    font-weight: 700 !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {
    font-size: 56px !important;
    line-height: 1.03 !important;
    font-weight: 800 !important;
  }
}


/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle {
    font-size: 38px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {
    font-size: 43px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
  }
}


/* Mobile */
@media (max-width: 767px) {

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle {
    font-size: 34px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
  }

  .excel-carousel-hero-slide:first-child
  .excel-carousel-hero-heading > .excel-carousel-cycle.active {
    font-size: 38px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
  }
}
/* Match closing quote size to opening quote */
@media (min-width: 1191px) and (max-width: 1399px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote .excel-carousel-client-quote-close {
    font-size: 48px !important;
    line-height: 0.7 !important;
    top: -4px !important;
    margin-left: 5px !important;
  }

}

/* Large desktop */
@media (min-width: 1400px) {

  .excel-carousel-hero-slide:nth-child(2)
  .excel-carousel-client-quote .excel-carousel-client-quote-close {
    font-size: 50px !important;
    line-height: 0.7 !important;
    top: -4px !important;
    margin-left: 5px !important;
  }

}
/* =========================================================
   VISUALS - TUCK PHOTO EDGE UNDER THE LOTTIE GLOW
   ========================================================= */

/* Slides 1 + 2 */
@media (min-width: 1191px) {

  .excel-carousel-hero-image-container img {
    transform: scale(0.975) !important;
    transform-origin: center center !important;
  }

}


/* Slide 3 */
@media (min-width: 1191px) {

  .excel-carousel-stat-image img {
    transform: scale(0.975) !important;
    transform-origin: center center !important;
  }

}
/* =========================================================
   SLIDE 3 - MATCH PINK RING TO PHOTO FRAME
   ========================================================= */

@media (min-width: 1191px) {

  .excel-carousel-stat-lottie {
    width: 460px !important;
    height: 460px !important;
    overflow: visible !important;
  }

  .excel-carousel-stat-lottie svg {
    width: 130% !important;
    height: 130% !important;
    max-width: none !important;

    transform: translate3d(
      -12.5%,
      -13%,
      0
    ) !important;

    transform-origin: center center !important;
    filter: none !important;
  }

  .excel-carousel-stat-image img {
    transform: scale(0.975) !important;
    transform-origin: center center !important;
  }

}
/* =========================================================
   SLIDE 4 - KEEP HEADING SIZE STATIC
   ========================================================= */

.excel-carousel-hero-slide:nth-child(4)
.excel-carousel-hero-heading > .excel-carousel-cycle,

.excel-carousel-hero-slide:nth-child(4)
.excel-carousel-hero-heading > .excel-carousel-cycle.active {

  font-size: 48px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;

  transform: none !important;
  transition: none !important;
}
/* =========================================================
   SLIDE 4 - FEATURED ARTICLE LAYOUT
   Kicker above headline
   ========================================================= */

.excel-carousel-hero-slide:nth-child(4)
.excel-carousel-hero-content {
  gap: 0 !important;
}


/* FEATURED ARTICLE */
.excel-carousel-hero-slide:nth-child(4)
.excel-carousel-hero-subtitle {
  order: 1 !important;

  width: fit-content !important;
  max-width: none !important;

  margin: 0 0 14px 0 !important;

  color: #15EFE1 !important;

  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
}


/* MAIN HEADLINE */
.excel-carousel-hero-slide:nth-child(4)
.excel-carousel-hero-heading {
  order: 2 !important;
  margin: 0 0 24px 0 !important;
}


/* BODY COPY */
.excel-carousel-hero-slide:nth-child(4)
.excel-carousel-hero-body {
  order: 3 !important;
  margin: 0 0 24px 0 !important;
}


/* BUTTON */
.excel-carousel-hero-slide:nth-child(4)
.excel-carousel-hero-cta {
  order: 4 !important;
}