/**
 * Exponent — Home
 * Hero section
 */

/* ========================================
   DIVI CONTAINER
======================================== */

.exp-hero-shell.et_pb_section {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: transparent !important;
}

.exp-hero-shell > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-hero-shell .et_pb_column,
.exp-hero-shell .et_pb_code,
.exp-hero-shell .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}


/* ========================================
   HERO STRUCTURE
======================================== */

.exp-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  justify-items: center;
  width: 100%;
  min-height: 720px;
  min-height: max(720px, 100svh);
  padding:
    clamp(200px, 27vh, 290px)
    clamp(24px, 4vw, 72px)
    clamp(50px, 6.5vh, 72px);
  overflow: hidden;
  background-color: var(--exp-color-navy);
  color: var(--exp-color-white);
  box-sizing: border-box;
}

.exp-hero,
.exp-hero * {
  box-sizing: border-box;
}


/* ========================================
   VIDEO
======================================== */

.exp-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--exp-color-navy);
}

.exp-hero__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}


/* ========================================
   VIDEO OVERLAY
======================================== */

.exp-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 50% 54%,
      rgba(var(--exp-color-navy-rgb), 0.06) 0%,
      rgba(var(--exp-color-navy-rgb), 0.18) 48%,
      rgba(var(--exp-color-navy-rgb), 0.35) 100%
    ),
    linear-gradient(
      180deg,
      rgba(var(--exp-color-navy-rgb), 0.38) 0%,
      rgba(var(--exp-color-navy-rgb), 0.12) 30%,
      rgba(var(--exp-color-navy-rgb), 0.28) 70%,
      rgba(var(--exp-color-navy-rgb), 0.48) 100%
    ),
    linear-gradient(
      90deg,
      rgba(var(--exp-color-navy-rgb), 0.12) 0%,
      rgba(var(--exp-color-navy-rgb), 0.22) 50%,
      rgba(var(--exp-color-navy-rgb), 0.42) 100%
    );
}


/* ========================================
   HERO CONTENT
======================================== */

.exp-hero__content {
  position: relative;
  z-index: 2;
  width: min(100%, 820px);
  margin: 0 auto;
  text-align: center;
}


/* ========================================
   SOCIAL PROOF
======================================== */

.exp-hero__proof {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 25px;
}

.exp-hero__avatars {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
}

.exp-hero__avatars img {
  position: relative;
  display: block;
  width: 42px;
  height: 42px;
  margin: 0;
  border: 2px solid rgba(var(--exp-color-white-rgb), 0.85);
  border-radius: 50%;
  object-fit: cover;
  background-color: var(--exp-color-gray-light);
  box-shadow: 0 4px 14px rgba(var(--exp-color-navy-rgb), 0.2);
}

.exp-hero__avatars img + img {
  margin-left: -13px;
}

.exp-hero__avatars img:nth-child(1) {
  z-index: 1;
}

.exp-hero__avatars img:nth-child(2) {
  z-index: 2;
}

.exp-hero__avatars img:nth-child(3) {
  z-index: 3;
}

.exp-hero__proof-text {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-white);
  font-family: var(--exp-font-primary);
  font-size: 14px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}


/* ========================================
   HEADLINE
======================================== */

.exp-hero__title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-white);
  font-family: var(--exp-font-primary);
  font-size: clamp(44px, 2.7vw, 52px);
  font-weight: var(--exp-font-weight-regular);
  line-height: 1.08;
  letter-spacing: -0.04em;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 3px 24px rgba(var(--exp-color-navy-rgb), 0.2);
}

.exp-hero__title-line {
  display: block;
}

.exp-hero__title-line--editorial {
  margin-top: 2px;
  font-family: var(--exp-font-editorial);
  font-size: clamp(48px, 2.9vw, 56px);
  font-weight: var(--exp-font-weight-regular);
  font-style: var(--exp-font-style-italic);
  line-height: 1.08;
  letter-spacing: -0.035em;
}


/* ========================================
   DESCRIPTION
======================================== */

.exp-hero__description {
  width: min(100%, 590px);
  margin: 38px auto 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-white-rgb), 0.88);
  font-family: var(--exp-font-primary);
  font-size: 17px;
  font-weight: var(--exp-font-weight-light);
  line-height: 1.36;
  letter-spacing: -0.018em;
  text-align: center;
  text-wrap: balance;
}


/* ========================================
   CALLS TO ACTION
======================================== */

.exp-hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 44px;
}

.exp-hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 14px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--exp-font-primary);
  font-size: 12px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 300ms ease;
}

.exp-hero__button--primary {
  min-width: 282px;
  background-color: var(--exp-color-gold);
  color: var(--exp-color-navy);
  box-shadow: 0 10px 28px rgba(var(--exp-color-navy-rgb), 0.18);
}

.exp-hero__button--primary:hover,
.exp-hero__button--primary:focus-visible {
  color: var(--exp-color-navy);
  filter: brightness(1.06);
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(var(--exp-color-navy-rgb), 0.24);
}

.exp-hero__button--secondary {
  min-width: 195px;
  border-color: rgba(var(--exp-color-white-rgb), 0.86);
  background-color: rgba(var(--exp-color-white-rgb), 0.03);
  color: var(--exp-color-white);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.exp-hero__button--secondary:hover,
.exp-hero__button--secondary:focus-visible {
  border-color: var(--exp-color-white);
  background-color: rgba(var(--exp-color-white-rgb), 0.12);
  color: var(--exp-color-white);
  transform: translateY(-2px);
}

.exp-hero__button:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: 4px;
}


/* ========================================
   VIDEO CONTROL
======================================== */

.exp-hero__video-control {
  position: absolute;
  bottom: 28px;
  left: max(24px, calc((100% - 1680px) / 2));
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(var(--exp-color-white-rgb), 0.34);
  border-radius: 50%;
  background-color: rgba(var(--exp-color-navy-rgb), 0.22);
  color: var(--exp-color-white);
  cursor: pointer;
  opacity: 0.82;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition:
    opacity 250ms ease,
    background-color 250ms ease,
    border-color 250ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-hero__video-control:hover,
.exp-hero__video-control:focus-visible {
  border-color: rgba(var(--exp-color-white-rgb), 0.72);
  background-color: rgba(var(--exp-color-navy-rgb), 0.38);
  opacity: 1;
  transform: translateY(-2px);
}

.exp-hero__video-control:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: 4px;
}

.exp-hero__video-icon {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.exp-hero__video-icon--play {
  display: none;
  margin-left: 2px;
}

.exp-hero__video-control[aria-pressed="true"]
  .exp-hero__video-icon--pause {
  display: none;
}

.exp-hero__video-control[aria-pressed="true"]
  .exp-hero__video-icon--play {
  display: block;
}


/* ========================================
   INTRO ANIMATIONS
======================================== */

@keyframes exp-hero-reveal {
  from {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.exp-hero__proof,
.exp-hero__title-line,
.exp-hero__description,
.exp-hero__actions {
  opacity: 0;
  animation-name: exp-hero-reveal;
  animation-duration: 800ms;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-fill-mode: forwards;
}

.exp-hero__proof {
  animation-delay: 100ms;
}

.exp-hero__title-line:nth-child(1) {
  animation-delay: 180ms;
}

.exp-hero__title-line:nth-child(2) {
  animation-delay: 250ms;
}

.exp-hero__title-line:nth-child(3) {
  animation-delay: 320ms;
}

.exp-hero__description {
  animation-delay: 410ms;
}

.exp-hero__actions {
  animation-delay: 500ms;
}


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

@media (max-width: 980px) {
  .exp-hero {
    min-height: 100vh;
    min-height: 100svh;
    padding: 160px 28px 64px;
  }

  .exp-hero__content {
    width: min(100%, 720px);
  }

  .exp-hero__title {
    font-size: clamp(40px, 5.5vw, 48px);
  }

  .exp-hero__title-line--editorial {
    font-size: clamp(44px, 6vw, 52px);
  }

  .exp-hero__description {
    width: min(100%, 560px);
    font-size: 16px;
  }
}


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

@media (max-width: 767px) {
  .exp-hero {
    min-height: 100vh;
    min-height: 100svh;
    padding: 132px 20px 86px;
  }

  .exp-hero__video {
    object-position: center center;
  }

  .exp-hero__overlay {
    background:
      linear-gradient(
        180deg,
        rgba(var(--exp-color-navy-rgb), 0.42) 0%,
        rgba(var(--exp-color-navy-rgb), 0.2) 28%,
        rgba(var(--exp-color-navy-rgb), 0.38) 72%,
        rgba(var(--exp-color-navy-rgb), 0.62) 100%
      ),
      linear-gradient(
        90deg,
        rgba(var(--exp-color-navy-rgb), 0.18) 0%,
        rgba(var(--exp-color-navy-rgb), 0.3) 100%
      );
  }

  .exp-hero__proof {
    gap: 12px;
    margin-bottom: 22px;
  }

  .exp-hero__avatars img {
    width: 36px;
    height: 36px;
  }

  .exp-hero__avatars img + img {
    margin-left: -11px;
  }

  .exp-hero__proof-text {
    max-width: 220px;
    font-size: 11px;
    line-height: 1.3;
    text-align: left;
  }

  .exp-hero__title {
    font-size: clamp(32px, 8.8vw, 39px);
    line-height: 1.06;
    letter-spacing: -0.045em;
  }

  .exp-hero__title-line--editorial {
    margin-top: 5px;
    font-size: clamp(36px, 9.8vw, 44px);
    line-height: 1.04;
  }

  .exp-hero__description {
    margin-top: 28px !important;
    font-size: 15px;
    line-height: 1.45;
  }

  .exp-hero__actions {
    flex-direction: column;
    width: min(100%, 340px);
    margin: 34px auto 0;
    gap: 12px;
  }

  .exp-hero__button {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    font-size: 13px;
  }

  .exp-hero__video-control {
    bottom: 20px;
    left: 20px;
    width: 42px;
    height: 42px;
  }
}

@media (max-width: 480px) {
  .exp-hero {
    padding-right: 16px;
    padding-left: 16px;
  }
}


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

@media (prefers-reduced-motion: reduce) {
  .exp-hero__proof,
  .exp-hero__title-line,
  .exp-hero__description,
  .exp-hero__actions {
    opacity: 1;
    animation: none;
    transform: none;
  }

  .exp-hero__button,
  .exp-hero__video-control {
    transition-duration: 0.01ms !important;
  }
}

/* ========================================
   DIVI — CHALLENGES SECTION
======================================== */

.exp-challenges-shell.et_pb_section {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background-color: var(--exp-color-white) !important;
}

.exp-challenges-shell > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-challenges-shell .et_pb_column,
.exp-challenges-shell .et_pb_code,
.exp-challenges-shell .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}


/* ========================================
   SECTION STRUCTURE
======================================== */

.exp-challenges {
  width: 100%;
  padding:
    clamp(72px, 7vw, 108px)
    clamp(24px, 6.25vw, 120px)
    clamp(80px, 8vw, 124px);
  overflow: hidden;
  background-color: var(--exp-color-white);
  color: var(--exp-color-navy);
  box-sizing: border-box;
}

.exp-challenges,
.exp-challenges * {
  box-sizing: border-box;
}

.exp-challenges__container {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
}


/* ========================================
   CLIENTS
======================================== */

.exp-clients {
  width: 100%;
}

.exp-clients__eyebrow {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 12px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: center;
  text-transform: uppercase;
}


/* ========================================
   CLIENT LOGO MARQUEE
======================================== */

.exp-clients__marquee {
  --exp-logo-gap: clamp(48px, 6vw, 110px);
  --exp-logo-width: clamp(120px, 13vw, 220px);

  position: relative;
  width: 100%;
  margin-top: 36px;
  overflow: hidden;
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 7%,
    #000 93%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 7%,
    #000 93%,
    transparent 100%
  );
}

.exp-clients__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: exp-clients-marquee 38s linear infinite;
  will-change: transform;
}

.exp-clients__group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--exp-logo-gap);
  margin: 0 !important;
  padding: 0 var(--exp-logo-gap) 0 0 !important;
  list-style: none !important;
}

.exp-clients__logo {
  display: flex;
  flex: 0 0 var(--exp-logo-width);
  align-items: center;
  justify-content: center;
  height: 64px;
  margin: 0;
  padding: 0;
}

.exp-clients__logo img {
  display: block;
  width: auto;
  max-width: clamp(100px, 8vw, 150px);
  height: auto;
  max-height: 38px;
  margin: 0;
  opacity: 0.42;
  filter: grayscale(1);
  transition:
    opacity 300ms ease,
    filter 300ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-clients__logo:hover img {
  opacity: 0.72;
  filter: grayscale(0);
  transform: scale(1.03);
}

.exp-clients__marquee:hover .exp-clients__track,
.exp-clients__marquee:focus-within .exp-clients__track {
  animation-play-state: paused;
}

@keyframes exp-clients-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}


/* ========================================
   DIVIDER
======================================== */

.exp-challenges__divider {
  width: 100%;
  height: 1px;
  margin-top: clamp(58px, 6vw, 82px);
  background-color: rgba(var(--exp-color-blue-gray-rgb), 0.3);
}


/* ========================================
   INTRODUCTION
======================================== */

.exp-challenges__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr);
  align-items: end;
  gap: clamp(48px, 6.5vw, 96px);
  margin-top: clamp(66px, 6vw, 88px);
}

.exp-challenges__heading {
  min-width: 0;
}

.exp-challenges__eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 11px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.exp-challenges__eyebrow-dot {
  display: block;
  flex: 0 0 auto;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--exp-color-gold);
}

.exp-challenges__title {
  margin: 15px 0 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: clamp(32px, 2.55vw, 49px);
  font-weight: var(--exp-font-weight-regular);
  line-height: 1.04;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.exp-challenges__title-line {
  display: block;
}

.exp-challenges__title-line--editorial {
  margin-top: 2px;
  font-family: var(--exp-font-editorial);
  font-weight: var(--exp-font-weight-regular);
  font-style: var(--exp-font-style-italic);
  letter-spacing: -0.035em;
}

.exp-challenges__introduction {
  width: 100%;
  max-width: 460px;
  margin: 0 0 2px auto !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-navy-rgb), 0.82);
  font-family: var(--exp-font-primary);
  font-size: clamp(14px, 0.9vw, 16px);
  font-weight: var(--exp-font-weight-light);
  line-height: 1.32;
  letter-spacing: -0.015em;
}


/* ========================================
   CHALLENGE CARDS
======================================== */

.exp-challenges__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.1vw, 20px);
  margin: clamp(92px, 9vw, 128px) 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.exp-challenges__card {
  min-width: 0;
  min-height: 246px;
  margin: 0;
  padding: 22px 22px 25px;
  border: 1px solid rgba(var(--exp-color-blue-gray-rgb), 0.48);
  border-radius: 20px;
  background-color: var(--exp-color-white);
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease,
    transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-challenges__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: var(--exp-color-gray-light);
  color: var(--exp-color-navy);
  transition:
    color 300ms ease,
    background-color 300ms ease,
    transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-challenges__icon svg {
  display: block;
  width: 24px;
  height: 24px;
  overflow: visible;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.exp-challenges__card-title {
  margin: 21px 0 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 14px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.3;
  letter-spacing: -0.015em;
}

.exp-challenges__card-description {
  margin: 17px 0 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-navy-rgb), 0.82);
  font-family: var(--exp-font-primary);
  font-size: 13px;
  font-weight: var(--exp-font-weight-light);
  line-height: 1.32;
  letter-spacing: -0.012em;
}

@media (hover: hover) {
  .exp-challenges__card:hover {
    border-color: rgba(var(--exp-color-gold-rgb), 0.72);
    box-shadow: 0 18px 42px rgba(var(--exp-color-navy-rgb), 0.07);
    transform: translateY(-4px);
  }

  .exp-challenges__card:hover .exp-challenges__icon {
    background-color: rgba(var(--exp-color-gold-rgb), 0.18);
    transform: translateY(-2px);
  }
}


/* ========================================
   SECTION CTA
======================================== */

.exp-challenges__action {
  margin-top: 35px;
}

.exp-challenges__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 11px 24px;
  border: 1px solid var(--exp-color-gold);
  border-radius: 999px;
  background-color: var(--exp-color-gold);
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 11px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color 300ms ease,
    border-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 300ms ease;
}

.exp-challenges__button:hover,
.exp-challenges__button:focus-visible {
  color: var(--exp-color-navy);
  filter: brightness(1.06);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(var(--exp-color-navy-rgb), 0.12);
}

.exp-challenges__button:focus-visible {
  outline: 2px solid var(--exp-color-navy);
  outline-offset: 4px;
}


/* ========================================
   SCROLL REVEAL STATES
======================================== */

.exp-challenges.is-reveal-ready [data-exp-reveal-item],
.exp-challenges.is-reveal-ready .exp-clients,
.exp-challenges.is-reveal-ready .exp-challenges__divider {
  opacity: 0;
  translate: 0 16px;
  transition-property:
    opacity,
    translate,
    border-color,
    box-shadow,
    transform;
  transition-duration:
    700ms,
    700ms,
    300ms,
    300ms,
    300ms;
  transition-timing-function:
    cubic-bezier(0.22, 1, 0.36, 1),
    cubic-bezier(0.22, 1, 0.36, 1),
    ease,
    ease,
    cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay:
    var(--exp-reveal-delay, 0ms),
    var(--exp-reveal-delay, 0ms),
    0ms,
    0ms,
    0ms;
}

.exp-challenges.is-reveal-ready.is-visible
  [data-exp-reveal-item],
.exp-challenges.is-reveal-ready.is-visible
  .exp-clients,
.exp-challenges.is-reveal-ready.is-visible
  .exp-challenges__divider {
  opacity: 1;
  translate: 0 0;
}

.exp-challenges__intro [data-exp-reveal-item]:nth-child(1) {
  --exp-reveal-delay: 80ms;
}

.exp-challenges__intro [data-exp-reveal-item]:nth-child(2) {
  --exp-reveal-delay: 150ms;
}

.exp-challenges__card:nth-child(1) {
  --exp-reveal-delay: 210ms;
}

.exp-challenges__card:nth-child(2) {
  --exp-reveal-delay: 280ms;
}

.exp-challenges__card:nth-child(3) {
  --exp-reveal-delay: 350ms;
}

.exp-challenges__card:nth-child(4) {
  --exp-reveal-delay: 420ms;
}

.exp-challenges__action {
  --exp-reveal-delay: 490ms;
}

.exp-challenges.is-reveal-ready:not(.is-visible)
  .exp-clients__track {
  animation-play-state: paused;
}


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

@media (max-width: 1100px) {
  .exp-challenges {
    padding-right: clamp(28px, 5vw, 64px);
    padding-left: clamp(28px, 5vw, 64px);
  }

  .exp-challenges__intro {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 1fr);
    gap: 48px;
  }

  .exp-challenges__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 80px !important;
  }

  .exp-challenges__card {
    min-height: 225px;
  }
}

@media (max-width: 900px) {
  .exp-challenges__intro {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0;
  }

  .exp-challenges__introduction {
    max-width: 620px;
    margin: 30px 0 0 !important;
  }
}


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

@media (max-width: 600px) {
  .exp-challenges {
    padding: 64px 20px 76px;
  }

  .exp-clients__eyebrow {
    font-size: 10px;
  }

  .exp-clients__marquee {
    --exp-logo-gap: 48px;
    --exp-logo-width: 120px;

    margin-top: 27px;
    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      #000 12%,
      #000 88%,
      transparent 100%
    );
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      #000 12%,
      #000 88%,
      transparent 100%
    );
  }

  .exp-clients__track {
    animation-duration: 28s;
  }

  .exp-clients__logo {
    height: 52px;
  }

  .exp-clients__logo img {
    max-width: 100px;
    max-height: 30px;
  }

  .exp-challenges__divider {
    margin-top: 50px;
  }

  .exp-challenges__intro {
    margin-top: 56px;
  }

  .exp-challenges__eyebrow {
    font-size: 10px;
  }

  .exp-challenges__title {
    margin-top: 13px !important;
    font-size: clamp(32px, 8.8vw, 38px);
    line-height: 1.05;
  }

  .exp-challenges__title-line--editorial {
    margin-top: 5px;
    font-size: clamp(34px, 9.5vw, 41px);
  }

  .exp-challenges__introduction {
    margin-top: 27px !important;
    font-size: 15px;
    line-height: 1.45;
  }

  .exp-challenges__grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 54px !important;
  }

  .exp-challenges__card {
    min-height: 0;
    padding: 22px 21px 25px;
  }

  .exp-challenges__card-title {
    font-size: 15px;
  }

  .exp-challenges__card-description {
    margin-top: 13px !important;
    font-size: 14px;
    line-height: 1.42;
  }

  .exp-challenges__action {
    margin-top: 28px;
  }

  .exp-challenges__button {
    width: min(100%, 340px);
    min-height: 48px;
    padding: 14px 20px;
    font-size: 11px;
  }
}


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

@media (prefers-reduced-motion: reduce) {
  .exp-clients__marquee {
    overflow-x: auto;
    mask-image: none;
    -webkit-mask-image: none;
    scrollbar-width: none;
  }

  .exp-clients__marquee::-webkit-scrollbar {
    display: none;
  }

  .exp-clients__track {
    animation: none;
    transform: none;
    will-change: auto;
  }

  .exp-clients__group[aria-hidden="true"] {
    display: none;
  }

  .exp-challenges.is-reveal-ready [data-exp-reveal-item],
  .exp-challenges.is-reveal-ready .exp-clients,
  .exp-challenges.is-reveal-ready .exp-challenges__divider {
    opacity: 1;
    translate: none;
    transition: none;
  }

  .exp-challenges__card,
  .exp-challenges__icon,
  .exp-challenges__button,
  .exp-clients__logo img {
    transition-duration: 0.01ms !important;
  }
}

/* ========================================
   DIVI — INDUSTRIES SECTION
======================================== */

.exp-industries-shell.et_pb_section {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background-color: var(--exp-color-navy) !important;
}

.exp-industries-shell > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-industries-shell .et_pb_column,
.exp-industries-shell .et_pb_code,
.exp-industries-shell .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}


/* ========================================
   SECTION STRUCTURE
======================================== */

.exp-industries {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: clamp(1180px, 92vw, 1540px);
  overflow: hidden;
  overflow: clip;
  contain: paint;
  background-color: var(--exp-color-navy);
  color: var(--exp-color-white);
  box-sizing: border-box;
}

.exp-industries,
.exp-industries * {
  box-sizing: border-box;
}


/* ========================================
   CONCENTRIC WAVES
======================================== */

.exp-industries__waves {
  position: absolute;
  top: 48.2%;
  left: 50%;
  z-index: 0;
  width: min(116vw, 1920px);
  aspect-ratio: 1;
  pointer-events: none;
  opacity: 0.9;
  transform: translate(-50%, -50%);
}

.exp-industries__waves svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.exp-industries__waves circle {
  vector-effect: non-scaling-stroke;
  fill: none;
}

.exp-industries__waves-static circle {
  stroke: rgba(var(--exp-color-blue-gray-rgb), 0.14);
  stroke-width: 1.5;
}

/* ========================================
   ANIMATED PULSE WAVES
======================================== */

.exp-industries__wave-pulse {
  stroke: rgba(var(--exp-color-blue-gray-rgb), 0.34);
  stroke-width: 1.5;
}

/*
 * Animate the circles directly.
 * Using the SVG viewBox as the transform reference
 * keeps every pulse centered at the same point.
 */
.exp-industries__wave-pulse circle {
  opacity: 0;
  transform-box: view-box;
  transform-origin: center;
  animation: exp-industries-wave 7.5s
    cubic-bezier(0.22, 0.61, 0.36, 1)
    infinite;
  animation-play-state: paused;
}

.exp-industries__wave-pulse--one circle {
  animation-delay: 0s;
}

.exp-industries__wave-pulse--two circle {
  animation-delay: -2.5s;
}

.exp-industries__wave-pulse--three circle {
  animation-delay: -5s;
}

/*
 * The JavaScript adds is-motion-active while
 * the section is close to the viewport.
 */
.exp-industries.is-motion-active
  .exp-industries__wave-pulse circle {
  animation-play-state: running;
  will-change: transform, opacity;
}

@keyframes exp-industries-wave {
  0% {
    opacity: 0;
    transform: scale(0.88);
  }

  18% {
    opacity: 0.46;
  }

  62% {
    opacity: 0.16;
  }

  100% {
    opacity: 0;
    transform: scale(1.22);
  }
}

/* ========================================
   DECORATIVE BLURRED IMAGES
======================================== */

.exp-industries__blur {
  position: absolute;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.62;
}

.exp-industries__blur--top-right {
  top: 4%;
  right: -5%;
  width: clamp(260px, 21vw, 370px);
  aspect-ratio: 0.8;
  border-radius: 34px;
}

.exp-industries__blur--bottom-left {
  bottom: 1%;
  left: -9%;
  width: clamp(300px, 25vw, 440px);
  aspect-ratio: 0.8;
  border-radius: 34px;
}

.exp-industries__blur .exp-industries__parallax {
  width: 100%;
  height: 100%;
}

.exp-industries__blur img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.76;
  filter: blur(18px);
  transform: scale(1.12);
}

/*
 * If the uploaded WebP is already blurred,
 * filter: blur(18px) can be removed.
 */


/* ========================================
   CENTRAL CONTENT
======================================== */

.exp-industries__content {
  position: absolute;
  top: 48.2%;
  left: 50%;
  z-index: 5;
  width: min(calc(100% - 48px), 660px);
  text-align: center;
  transform: translate(-50%, -50%);
}

.exp-industries__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-white-rgb), 0.86);
  font-family: var(--exp-font-primary);
  font-size: 12px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.exp-industries__eyebrow-dot {
  display: block;
  flex: 0 0 auto;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--exp-color-gold);
}

.exp-industries__title {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  color: var(--exp-color-white);
  font-family: var(--exp-font-primary);
  font-size: clamp(36px, 2.5vw, 48px);
  font-weight: var(--exp-font-weight-regular);
  line-height: 1.05;
  letter-spacing: -0.04em;
  text-align: center;
  text-wrap: balance;
}

.exp-industries__title-line {
  display: block;
}

.exp-industries__title-line--editorial {
  font-family: var(--exp-font-editorial);
  font-size: clamp(40px, 2.75vw, 54px);
  font-weight: var(--exp-font-weight-regular);
  font-style: var(--exp-font-style-italic);
  line-height: 1.03;
  letter-spacing: -0.035em;
}

.exp-industries__description {
  width: min(100%, 540px);
  margin: 36px auto 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-white-rgb), 0.72);
  font-family: var(--exp-font-primary);
  font-size: 15px;
  font-weight: var(--exp-font-weight-light);
  line-height: 1.35;
  letter-spacing: -0.015em;
  text-align: center;
  text-wrap: balance;
}


/* ========================================
   INDUSTRY CARDS
======================================== */

.exp-industries__cards {
  position: absolute;
  inset: 0;
  z-index: 3;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  pointer-events: none;
}

.exp-industries__item {
  position: absolute;
  width: clamp(250px, 21.1vw, 352px);
  aspect-ratio: 0.935;
  margin: 0;
  padding: 0;
  pointer-events: auto;
}

/* Positions calculated from the desktop layout */

.exp-industries__item--construction {
  top: 10.5%;
  left: 6.25%;
}

.exp-industries__item--family {
  top: -7.5%;
  left: 50%;
  transform: translateX(-50%);
}

.exp-industries__item--manufacturing {
  top: 18.4%;
  right: 6.25%;
}

.exp-industries__item--industrial {
  top: 52.7%;
  left: 10.4%;
}

.exp-industries__item--trades {
  top: 57%;
  right: -4.8%;
}

.exp-industries__item--transportation {
  bottom: 4.2%;
  left: 50%;
  transform: translateX(-50%);
}

.exp-industries__parallax {
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}

.exp-industries.is-motion-active
  [data-exp-parallax] {
  will-change: transform;
}

.exp-industries__card {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: clamp(20px, 1.5vw, 26px);
  background-color: rgba(var(--exp-color-white-rgb), 0.08);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.12);
  backface-visibility: hidden;
  transition:
    border-color 350ms ease,
    box-shadow 350ms ease,
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-industries__card::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(var(--exp-color-navy-rgb), 0.04) 35%,
      rgba(var(--exp-color-navy-rgb), 0.3) 68%,
      rgba(var(--exp-color-navy-rgb), 0.8) 100%
    );
  content: "";
  pointer-events: none;
}

.exp-industries__card img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.015);
  transition:
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 400ms ease;
}

.exp-industries__card-title {
  position: absolute;
  right: 28px;
  bottom: 28px;
  left: 34px;
  z-index: 2;
  margin: 0;
  color: var(--exp-color-white);
  font-family: var(--exp-font-editorial);
  font-size: clamp(23px, 1.8vw, 30px);
  font-weight: var(--exp-font-weight-regular);
  font-style: var(--exp-font-style-italic);
  line-height: 1.05;
  letter-spacing: -0.025em;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.28);
}

.exp-industries__card-title span {
  display: block;
}

@media (hover: hover) {
  .exp-industries__card:hover {
    border-color: rgba(var(--exp-color-gold-rgb), 0.32);
    box-shadow: 0 30px 72px rgba(0, 0, 0, 0.18);
    transform: translateY(-3px);
  }

  .exp-industries__card:hover img {
    transform: scale(1.045);
  }
}


/* ========================================
   REVEAL ANIMATIONS
======================================== */

.exp-industries.is-reveal-ready
  [data-exp-reveal-item] {
  opacity: 0;
  translate: 0 18px;
  transition-property:
    opacity,
    translate;
  transition-duration:
    750ms,
    750ms;
  transition-timing-function:
    cubic-bezier(0.22, 1, 0.36, 1),
    cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay:
    var(--exp-industries-delay, 0ms),
    var(--exp-industries-delay, 0ms);
}

.exp-industries.is-reveal-ready.is-visible
  [data-exp-reveal-item] {
  opacity: 1;
  translate: 0 0;
}

.exp-industries__eyebrow {
  --exp-industries-delay: 80ms;
}

.exp-industries__title {
  --exp-industries-delay: 150ms;
}

.exp-industries__description {
  --exp-industries-delay: 230ms;
}

.exp-industries__item--family {
  --exp-industries-delay: 60ms;
}

.exp-industries__item--construction {
  --exp-industries-delay: 130ms;
}

.exp-industries__item--manufacturing {
  --exp-industries-delay: 190ms;
}

.exp-industries__item--industrial {
  --exp-industries-delay: 250ms;
}

.exp-industries__item--trades {
  --exp-industries-delay: 310ms;
}

.exp-industries__item--transportation {
  --exp-industries-delay: 370ms;
}


/* ========================================
   SMALL DESKTOP / TABLET
======================================== */

@media (max-width: 1180px) {
  .exp-industries {
    min-height: clamp(1080px, 105vw, 1240px);
  }

  .exp-industries__waves {
    width: 135vw;
  }

  .exp-industries__content {
    width: min(calc(100% - 80px), 560px);
  }

  .exp-industries__title {
    font-size: clamp(34px, 3.5vw, 42px);
  }

  .exp-industries__title-line--editorial {
    font-size: clamp(38px, 4vw, 48px);
  }

  .exp-industries__description {
    width: min(100%, 480px);
  }

  .exp-industries__item {
    width: clamp(220px, 24vw, 280px);
  }

  .exp-industries__item--construction {
    top: 12%;
    left: 3%;
  }

  .exp-industries__item--family {
    top: -5%;
  }

  .exp-industries__item--manufacturing {
    top: 15%;
    right: 2%;
  }

  .exp-industries__item--industrial {
    top: 60%;
    left: 4%;
  }

  .exp-industries__item--trades {
    top: 61%;
    right: -5%;
  }

  .exp-industries__item--transportation {
    bottom: 1.5%;
  }

  .exp-industries__blur {
    opacity: 0.4;
  }
}


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

@media (max-width: 767px) {
  .exp-industries {
    min-height: 0;
    padding: 108px 20px 88px;
    overflow: hidden;
  }

  .exp-industries__waves {
    top: 280px;
    width: 920px;
    opacity: 0.68;
  }

  .exp-industries__waves-static circle {
    stroke-width: 1.25;
  }

  .exp-industries__blur {
    display: none;
  }

  .exp-industries__content {
    position: relative;
    top: auto;
    left: auto;
    width: min(100%, 580px);
    margin: 0 auto;
    transform: none;
  }

  .exp-industries__eyebrow {
    font-size: 10px;
    line-height: 1.3;
  }

  .exp-industries__title {
    margin-top: 16px !important;
    font-size: clamp(32px, 8.8vw, 40px);
    line-height: 1.05;
  }

  .exp-industries__title-line--editorial {
    margin-top: 3px;
    font-size: clamp(35px, 9.8vw, 44px);
    line-height: 1.02;
  }

  .exp-industries__description {
    margin-top: 28px !important;
    font-size: 15px;
    line-height: 1.45;
  }

  .exp-industries__cards {
    position: relative;
    inset: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 14px;
    margin-top: 72px !important;
    pointer-events: auto;
  }

  .exp-industries__item {
    position: relative;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100%;
    aspect-ratio: 0.82;
    transform: none !important;
  }

  .exp-industries__item:nth-child(even) {
    margin-top: 42px;
  }

  .exp-industries__card {
    border-radius: 18px;
  }

  .exp-industries__card-title {
    right: 16px;
    bottom: 17px;
    left: 17px;
    font-size: clamp(17px, 5vw, 22px);
    line-height: 1.03;
  }
}


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

@media (max-width: 360px) {
  .exp-industries {
    padding-right: 16px;
    padding-left: 16px;
  }

  .exp-industries__cards {
    grid-template-columns: 1fr;
    width: min(100%, 300px);
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .exp-industries__item {
    aspect-ratio: 0.88;
  }

  .exp-industries__item:nth-child(even) {
    margin-top: 0;
  }

  .exp-industries__card-title {
    font-size: 22px;
  }
}


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

@media (prefers-reduced-motion: reduce) {
  .exp-industries__wave-pulse {
    animation: none;
    opacity: 0;
  }

  .exp-industries [data-exp-parallax] {
    transform: none !important;
    will-change: auto !important;
  }

  .exp-industries.is-reveal-ready
    [data-exp-reveal-item] {
    opacity: 1;
    translate: none;
    transition: none;
  }

  .exp-industries__card,
  .exp-industries__card img {
    transition-duration: 0.01ms !important;
  }
}

/* ========================================
   DIVI — STARTING POINTS SECTION
======================================== */

.exp-starting-points-shell.et_pb_section {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background-color: var(--exp-color-gray-light) !important;
}

.exp-starting-points-shell > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-starting-points-shell .et_pb_column,
.exp-starting-points-shell .et_pb_code,
.exp-starting-points-shell .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}


/* ========================================
   SECTION STRUCTURE
======================================== */

.exp-starting-points {
  width: 100%;
  padding:
    clamp(92px, 6.5vw, 126px)
    clamp(24px, 6.25vw, 120px)
    clamp(110px, 8vw, 156px);
  overflow: hidden;
  background-color: var(--exp-color-gray-light);
  color: var(--exp-color-navy);
  box-sizing: border-box;
}

.exp-starting-points,
.exp-starting-points * {
  box-sizing: border-box;
}

.exp-starting-points__container {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
}


/* ========================================
   SECTION HEADER
======================================== */

.exp-starting-points__header {
  width: min(100%, 760px);
  margin: 0 auto;
  text-align: center;
}

.exp-starting-points__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 14px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.exp-starting-points__eyebrow-dot {
  display: block;
  flex: 0 0 auto;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: var(--exp-color-gold);
}

.exp-starting-points__title {
  margin: 24px 0 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: clamp(38px, 2.5vw, 48px);
  font-weight: var(--exp-font-weight-regular);
  line-height: 1.04;
  letter-spacing: -0.04em;
  text-align: center;
  text-wrap: balance;
}

.exp-starting-points__title-line {
  display: block;
}

.exp-starting-points__title-line--editorial {
  margin-top: 3px;
  font-family: var(--exp-font-editorial);
  font-size: clamp(42px, 2.75vw, 53px);
  font-weight: var(--exp-font-weight-regular);
  font-style: var(--exp-font-style-italic);
  line-height: 1.02;
  letter-spacing: -0.035em;
}


/* ========================================
   CARD GRID
======================================== */

.exp-starting-points__viewport {
  width: 100%;
  margin-top: clamp(82px, 6vw, 108px);
}

.exp-starting-points__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.exp-starting-points__item {
  min-width: 0;
  height: clamp(520px, 30.3vw, 582px);
  margin: 0;
  padding: 0;
}

.exp-starting-points__card {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  contain: paint;
  border-radius: 28px;
  background-color: var(--exp-color-navy);
  box-shadow: 0 18px 44px rgba(var(--exp-color-navy-rgb), 0.06);
  backface-visibility: hidden;
  transition:
    border-color 350ms ease,
    box-shadow 350ms ease,
    transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* ========================================
   CARD IMAGE
======================================== */

.exp-starting-points__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.exp-starting-points__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  backface-visibility: hidden;
  transform: scale(1.01);
  transition:
    filter 420ms ease,
    transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* ========================================
   CARD OVERLAY
======================================== */

.exp-starting-points__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(var(--exp-color-navy-rgb), 0.03) 12%,
      rgba(var(--exp-color-navy-rgb), 0.12) 35%,
      rgba(var(--exp-color-navy-rgb), 0.52) 63%,
      rgba(var(--exp-color-navy-rgb), 0.94) 100%
    );
  transition: background 420ms ease;
}


/* ========================================
   CARD CONTENT
======================================== */

.exp-starting-points__content {
  position: absolute;
  right: 34px;
  bottom: 52px;
  left: 34px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--exp-color-white);
  text-align: center;
}

.exp-starting-points__card-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-white);
  font-family: var(--exp-font-editorial);
  font-size: clamp(24px, 1.55vw, 30px);
  font-weight: var(--exp-font-weight-regular);
  font-style: var(--exp-font-style-italic);
  line-height: 1.08;
  letter-spacing: -0.028em;
  text-align: center;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.24);
}

.exp-starting-points__card-title sup {
  position: relative;
  top: -0.2em;
  margin-left: 3px;
  font-family: var(--exp-font-primary);
  font-size: 0.42em;
  font-style: normal;
  line-height: 0;
  vertical-align: super;
}

.exp-starting-points__description {
  width: min(100%, 340px);
  margin: 22px auto 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-white-rgb), 0.9);
  font-family: var(--exp-font-primary);
  font-size: 14px;
  font-weight: var(--exp-font-weight-light);
  line-height: 1.35;
  letter-spacing: -0.012em;
  text-align: center;
  text-wrap: balance;
}

.exp-starting-points__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 176px;
  min-height: 54px;
  margin-top: 28px;
  padding: 14px 25px;
  border: 1px solid rgba(var(--exp-color-white-rgb), 0.12);
  border-radius: 999px;
  background-color: rgba(var(--exp-color-white-rgb), 0.23);
  color: var(--exp-color-white);
  font-family: var(--exp-font-primary);
  font-size: 12px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-starting-points__button:hover,
.exp-starting-points__button:focus-visible {
  border-color: var(--exp-color-gold);
  background-color: var(--exp-color-gold);
  color: var(--exp-color-navy);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}

.exp-starting-points__button:focus-visible {
  outline: 2px solid var(--exp-color-white);
  outline-offset: 4px;
}


/* ========================================
   DESKTOP HOVER AND FOCUS
======================================== */

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .exp-starting-points__card:hover,
  .exp-starting-points__card:focus-within {
    border-color: rgba(var(--exp-color-gold-rgb), 0.38);
    box-shadow: 0 28px 64px rgba(var(--exp-color-navy-rgb), 0.12);
    transform: translateY(-3px);
  }

  .exp-starting-points__card:hover
    .exp-starting-points__media img,
  .exp-starting-points__card:focus-within
    .exp-starting-points__media img {
    transform: scale(1.03);
  }
}

/*
 * Blur only the sibling images.
 * Text, overlays and buttons always remain sharp.
 */
@supports selector(.exp-starting-points__track:has(.exp-starting-points__item:hover)) {
  @media (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .exp-starting-points__track:has(
      .exp-starting-points__item:hover
    )
    .exp-starting-points__item:not(:hover)
    .exp-starting-points__media img {
      filter:
        blur(8px)
        brightness(0.72)
        saturate(0.8);
      transform: scale(1.06);
    }

    .exp-starting-points__track:has(
      .exp-starting-points__item:focus-within
    )
    .exp-starting-points__item:not(:focus-within)
    .exp-starting-points__media img {
      filter:
        blur(8px)
        brightness(0.72)
        saturate(0.8);
      transform: scale(1.06);
    }

    .exp-starting-points__track:has(
      .exp-starting-points__item:hover
    )
    .exp-starting-points__media img,
    .exp-starting-points__track:has(
      .exp-starting-points__item:focus-within
    )
    .exp-starting-points__media img {
      will-change: filter, transform;
    }
  }
}


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

.exp-starting-points__pagination {
  display: none;
  align-items: center;
  justify-content: center;
  margin-top: 25px;
}

.exp-starting-points__selector {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.exp-starting-points__selector::before {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background-color: rgba(var(--exp-color-navy-rgb), 0.3);
  content: "";
  transition:
    width 300ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 300ms ease;
}

.exp-starting-points__selector.is-active::before,
.exp-starting-points__selector[aria-current="true"]::before {
  width: 24px;
  background-color: var(--exp-color-gold);
}

.exp-starting-points__selector:focus-visible {
  outline: 2px solid var(--exp-color-navy);
  outline-offset: 2px;
  border-radius: 999px;
}


/* ========================================
   SECTION FOOTER
======================================== */

.exp-starting-points__footer {
  width: 100%;
  margin-top: clamp(58px, 4vw, 66px);
}

.exp-starting-points__divider {
  width: 100%;
  height: 1px;
  background-color: rgba(var(--exp-color-blue-gray-rgb), 0.32);
}

.exp-starting-points__note {
  margin: 39px auto 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-navy-rgb), 0.45);
  font-family: var(--exp-font-primary);
  font-size: 12px;
  font-weight: var(--exp-font-weight-regular);
  line-height: 1.4;
  letter-spacing: 0.015em;
  text-align: center;
  text-transform: uppercase;
}


/* ========================================
   REVEAL ANIMATIONS
======================================== */

.exp-starting-points.is-reveal-ready
  [data-exp-reveal-item] {
  opacity: 0;
  translate: 0 16px;
  transition-property:
    opacity,
    translate;
  transition-duration:
    720ms,
    720ms;
  transition-timing-function:
    cubic-bezier(0.22, 1, 0.36, 1),
    cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay:
    var(--exp-starting-delay, 0ms),
    var(--exp-starting-delay, 0ms);
}

.exp-starting-points.is-reveal-ready.is-visible
  [data-exp-reveal-item] {
  opacity: 1;
  translate: 0 0;
}

.exp-starting-points__eyebrow {
  --exp-starting-delay: 60ms;
}

.exp-starting-points__title {
  --exp-starting-delay: 130ms;
}

.exp-starting-points__item:nth-child(1) {
  --exp-starting-delay: 200ms;
}

.exp-starting-points__item:nth-child(2) {
  --exp-starting-delay: 270ms;
}

.exp-starting-points__item:nth-child(3) {
  --exp-starting-delay: 340ms;
}

.exp-starting-points__item:nth-child(4) {
  --exp-starting-delay: 410ms;
}

.exp-starting-points__divider {
  --exp-starting-delay: 480ms;
}

.exp-starting-points__note {
  --exp-starting-delay: 540ms;
}


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

@media (max-width: 1199px) and (min-width: 768px) {
  .exp-starting-points {
    padding-right: clamp(32px, 5vw, 64px);
    padding-left: clamp(32px, 5vw, 64px);
  }

  .exp-starting-points__viewport {
    margin-top: 76px;
  }

  .exp-starting-points__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .exp-starting-points__item {
    height: clamp(500px, 58vw, 620px);
  }

  .exp-starting-points__content {
    right: 32px;
    bottom: 44px;
    left: 32px;
  }

  .exp-starting-points__card-title {
    font-size: clamp(25px, 3vw, 31px);
  }
}


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

@media (max-width: 767px) {
  .exp-starting-points {
    padding:
      78px
      0
      84px;
  }

  .exp-starting-points__header {
    width: 100%;
    padding: 0 20px;
  }

  .exp-starting-points__eyebrow {
    gap: 7px;
    font-size: 10px;
  }

  .exp-starting-points__eyebrow-dot {
    width: 4px;
    height: 4px;
  }

  .exp-starting-points__title {
    margin-top: 17px !important;
    font-size: clamp(32px, 8.7vw, 39px);
    line-height: 1.05;
  }

  .exp-starting-points__title-line--editorial {
    margin-top: 4px;
    font-size: clamp(36px, 9.8vw, 44px);
  }

  .exp-starting-points__viewport {
    margin-top: 62px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: 20px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }

  .exp-starting-points__viewport::-webkit-scrollbar {
    display: none;
  }

  .exp-starting-points__track {
    display: flex;
    width: max-content;
    gap: 14px;
    padding: 0 20px !important;
  }

  .exp-starting-points__item {
    flex: 0 0 min(84vw, 360px);
    width: min(84vw, 360px);
    height: clamp(500px, 128vw, 570px);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .exp-starting-points__card {
    border-radius: 22px;
  }

  .exp-starting-points__content {
    right: 23px;
    bottom: 28px;
    left: 23px;
  }

  .exp-starting-points__card-title {
    font-size: clamp(25px, 7vw, 29px);
  }

  .exp-starting-points__description {
    margin-top: 18px !important;
    font-size: 14px;
    line-height: 1.4;
  }

  .exp-starting-points__button {
    min-width: 166px;
    min-height: 48px;
    margin-top: 24px;
    font-size: 12px;
  }

  .exp-starting-points__pagination {
    display: flex;
  }

  .exp-starting-points__footer {
    margin-top: 55px;
    padding: 0 20px;
  }

  .exp-starting-points__note {
    margin-top: 28px !important;
    font-size: 10px;
    line-height: 1.5;
  }
}


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

@media (prefers-reduced-motion: reduce) {
  .exp-starting-points__viewport {
    scroll-behavior: auto;
  }

  .exp-starting-points.is-reveal-ready
    [data-exp-reveal-item] {
    opacity: 1;
    translate: none;
    transition: none;
  }

  .exp-starting-points__card,
  .exp-starting-points__media img,
  .exp-starting-points__button,
  .exp-starting-points__selector::before {
    transition-duration: 0.01ms !important;
  }

  .exp-starting-points__media img {
    filter: none !important;
    transform: none !important;
    will-change: auto !important;
  }

  .exp-starting-points__card:hover,
  .exp-starting-points__card:focus-within {
    transform: none;
  }
}

/* ========================================
   DIVI — SERVICES SECTION
======================================== */

.exp-services-shell.et_pb_section {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background-color: var(--exp-color-white) !important;
}

.exp-services-shell > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-services-shell .et_pb_column,
.exp-services-shell .et_pb_code,
.exp-services-shell .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}


/* ========================================
   SECTION STRUCTURE
======================================== */

.exp-services {
  width: 100%;
  padding:
    clamp(90px, 6.5vw, 126px)
    clamp(24px, 6.25vw, 120px)
    clamp(90px, 7vw, 132px);
  overflow: hidden;
  background-color: var(--exp-color-white);
  color: var(--exp-color-navy);
  box-sizing: border-box;
}

.exp-services,
.exp-services * {
  box-sizing: border-box;
}

.exp-services__container {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
}


/* ========================================
   SECTION INTRODUCTION
======================================== */

.exp-services__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 1fr);
  align-items: start;
  gap: clamp(70px, 9vw, 170px);
}

.exp-services__intro-heading,
.exp-services__intro-copy {
  min-width: 0;
}

.exp-services__eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 12px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.exp-services__eyebrow-dot {
  display: block;
  flex: 0 0 auto;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--exp-color-gold);
}

.exp-services__title {
  width: min(100%, 660px);
  margin: 20px 0 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: clamp(38px, 2.5vw, 48px);
  font-weight: var(--exp-font-weight-regular);
  line-height: 1.03;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.exp-services__title-line {
  display: block;
}

.exp-services__title-line--editorial {
  margin-top: 3px;
  font-family: var(--exp-font-editorial);
  font-size: clamp(42px, 2.75vw, 53px);
  font-weight: var(--exp-font-weight-regular);
  font-style: var(--exp-font-style-italic);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.exp-services__intro-copy {
  width: min(100%, 550px);
  margin-left: auto;
}

.exp-services__lead {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 17px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.35;
  letter-spacing: -0.015em;
}

.exp-services__text {
  margin: 25px 0 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-navy-rgb), 0.8);
  font-family: var(--exp-font-primary);
  font-size: 16px;
  font-weight: var(--exp-font-weight-light);
  line-height: 1.4;
  letter-spacing: -0.012em;
}

.exp-services__intro-divider {
  width: 100%;
  height: 1px;
  margin-top: clamp(62px, 5vw, 78px);
  background-color: rgba(var(--exp-color-blue-gray-rgb), 0.36);
}


/* ========================================
   ACCORDION
======================================== */

.exp-services__accordion {
  width: 100%;
  padding-top: 22px;
}

.exp-services__category {
  width: 100%;
  border-bottom: 1px solid rgba(var(--exp-color-blue-gray-rgb), 0.4);
}

.exp-services__category-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 48px;
  min-height: 145px;
  padding: 38px 0 34px;
  cursor: pointer;
}

.exp-services__category-heading {
  min-width: 0;
}

.exp-services__category-label {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-gold);
  font-family: var(--exp-font-primary);
  font-size: 11px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: 0.015em;
  text-transform: uppercase;
}

.exp-services__category-title {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: clamp(24px, 1.65vw, 30px);
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.15;
  letter-spacing: -0.03em;
  transition: color 300ms ease;
}


/* ========================================
   CATEGORY ACTIONS
======================================== */

.exp-services__category-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 13px;
}

.exp-services__category-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 27px;
  overflow: hidden;
  border: 1px solid var(--exp-color-navy);
  border-radius: 999px;
  background-color: transparent;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 11px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(10px);
  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    opacity 350ms ease,
    visibility 350ms ease,
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-services__category.is-open
  .exp-services__category-link {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

.exp-services__category-link:hover,
.exp-services__category-link:focus-visible {
  border-color: var(--exp-color-navy);
  background-color: var(--exp-color-navy);
  color: var(--exp-color-white);
}

.exp-services__category-link:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: 4px;
}


/* ========================================
   CATEGORY TOGGLE
======================================== */

.exp-services__category-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--exp-color-navy);
  border-radius: 50%;
  background-color: var(--exp-color-navy);
  color: var(--exp-color-white);
  cursor: pointer;
  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    box-shadow 300ms ease,
    transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-services__category-toggle svg {
  display: block;
  width: 18px;
  height: 18px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-services__category.is-open
  .exp-services__category-toggle svg {
  transform: rotate(180deg);
}

.exp-services__category-toggle:hover,
.exp-services__category-toggle:focus-visible {
  border-color: var(--exp-color-gold);
  background-color: var(--exp-color-gold);
  color: var(--exp-color-navy);
  transform: scale(1.04);
  box-shadow: 0 10px 24px rgba(var(--exp-color-navy-rgb), 0.12);
}

.exp-services__category-toggle:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: 4px;
}


/* ========================================
   ACCORDION PANEL
======================================== */

.exp-services__panel {
  display: grid;
  grid-template-rows: 0fr;
  min-width: 0;
  transition:
    grid-template-rows 520ms
    cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-services__category.is-open
  .exp-services__panel {
  grid-template-rows: 1fr;
}

.exp-services__panel-inner {
  min-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px);
  transition:
    opacity 350ms ease,
    visibility 350ms ease,
    transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-services__category.is-open
  .exp-services__panel-inner {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}


/* ========================================
   SERVICES GRID
======================================== */

.exp-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 8px 0 60px;
}

.exp-services__service {
  min-width: 0;
  margin: 0;
  padding: 0 clamp(38px, 4.2vw, 76px);
}

.exp-services__service:first-child {
  padding-left: 0;
}

.exp-services__service:last-child {
  padding-right: 0;
}

.exp-services__service + .exp-services__service {
  border-left: 1px solid rgba(var(--exp-color-blue-gray-rgb), 0.42);
}

.exp-services__service-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: clamp(20px, 1.3vw, 24px);
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.exp-services__service-title sup {
  position: relative;
  top: -0.2em;
  margin-left: 2px;
  font-size: 0.45em;
  line-height: 0;
  vertical-align: super;
}

.exp-services__service-description {
  width: min(100%, 390px);
  margin: 27px 0 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-navy-rgb), 0.8);
  font-family: var(--exp-font-primary);
  font-size: 15px;
  font-weight: var(--exp-font-weight-light);
  line-height: 1.4;
  letter-spacing: -0.012em;
}


/* ========================================
   HEADER HOVER
======================================== */

@media (hover: hover) and (pointer: fine) {
  .exp-services__category-header:hover
    .exp-services__category-title {
    color: rgba(var(--exp-color-navy-rgb), 0.72);
  }
}


/* ========================================
   FINAL CTA
======================================== */

.exp-services__closing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 72px;
  width: 100%;
  padding-top: clamp(68px, 5.5vw, 88px);
}

.exp-services__closing-copy {
  min-width: 0;
}

.exp-services__closing-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: clamp(32px, 2.15vw, 41px);
  font-weight: var(--exp-font-weight-medium);
  line-height: 1.06;
  letter-spacing: -0.04em;
}

.exp-services__closing-title span {
  display: block;
}

.exp-services__closing-description {
  width: min(100%, 600px);
  margin: 31px 0 0 !important;
  padding: 0 !important;
  color: rgba(var(--exp-color-navy-rgb), 0.76);
  font-family: var(--exp-font-primary);
  font-size: 15px;
  font-weight: var(--exp-font-weight-light);
  line-height: 1.4;
  letter-spacing: -0.012em;
}

.exp-services__closing-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: 238px;
  min-height: 52px;
  padding: 14px 27px;
  border: 1px solid var(--exp-color-gold);
  border-radius: 999px;
  background-color: var(--exp-color-gold);
  color: var(--exp-color-navy);
  font-family: var(--exp-font-primary);
  font-size: 12px;
  font-weight: var(--exp-font-weight-medium);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    filter 300ms ease,
    box-shadow 300ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-services__closing-button:hover,
.exp-services__closing-button:focus-visible {
  color: var(--exp-color-navy);
  filter: brightness(1.06);
  transform: translateY(-2px);
  box-shadow: 0 13px 30px rgba(var(--exp-color-navy-rgb), 0.13);
}

.exp-services__closing-button:focus-visible {
  outline: 2px solid var(--exp-color-navy);
  outline-offset: 4px;
}


/* ========================================
   SECTION REVEAL
======================================== */

.exp-services.is-reveal-ready
  [data-exp-reveal-item] {
  opacity: 0;
  translate: 0 15px;
  transition-property:
    opacity,
    translate;
  transition-duration:
    700ms,
    700ms;
  transition-timing-function:
    cubic-bezier(0.22, 1, 0.36, 1),
    cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay:
    var(--exp-services-delay, 0ms),
    var(--exp-services-delay, 0ms);
}

.exp-services.is-reveal-ready.is-visible
  [data-exp-reveal-item] {
  opacity: 1;
  translate: 0 0;
}

.exp-services__intro-heading {
  --exp-services-delay: 50ms;
}

.exp-services__intro-copy {
  --exp-services-delay: 120ms;
}

.exp-services__intro-divider {
  --exp-services-delay: 180ms;
}

.exp-services__category:nth-child(1) {
  --exp-services-delay: 220ms;
}

.exp-services__category:nth-child(2) {
  --exp-services-delay: 270ms;
}

.exp-services__category:nth-child(3) {
  --exp-services-delay: 320ms;
}

.exp-services__category:nth-child(4) {
  --exp-services-delay: 370ms;
}

.exp-services__category:nth-child(5) {
  --exp-services-delay: 420ms;
}

.exp-services__category:nth-child(6) {
  --exp-services-delay: 470ms;
}

.exp-services__closing {
  --exp-services-delay: 520ms;
}


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

@media (max-width: 1100px) {
  .exp-services {
    padding-right: clamp(32px, 5vw, 64px);
    padding-left: clamp(32px, 5vw, 64px);
  }

  .exp-services__intro {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: 58px;
  }

  .exp-services__category-header {
    gap: 30px;
  }

  .exp-services__category-link {
    padding-right: 20px;
    padding-left: 20px;
    font-size: 10px;
  }

  .exp-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 34px;
  }

  .exp-services__service {
    padding-right: 36px;
    padding-left: 36px;
  }

  .exp-services__service:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .exp-services__service:nth-child(even) {
    padding-right: 0;
    border-left: 1px solid rgba(var(--exp-color-blue-gray-rgb), 0.42);
  }

  .exp-services__service:nth-child(n + 3) {
    padding-top: 34px;
    border-top: 1px solid rgba(var(--exp-color-blue-gray-rgb), 0.3);
  }

  .exp-services__service:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    padding-right: 0;
    border-left: 0;
  }
}


/* ========================================
   STACKED INTRO
======================================== */

@media (max-width: 900px) {
  .exp-services__intro {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .exp-services__intro-copy {
    width: min(100%, 620px);
    margin: 43px 0 0;
  }

  .exp-services__category-header {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .exp-services__category-actions {
    gap: 10px;
  }

  .exp-services__category-link {
    max-width: 250px;
    white-space: normal;
  }

  .exp-services__closing {
    align-items: flex-end;
    gap: 50px;
  }
}


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

@media (max-width: 767px) {
  .exp-services {
    padding: 72px 20px 82px;
  }

  .exp-services__eyebrow {
    font-size: 10px;
  }

  .exp-services__title {
    margin-top: 16px !important;
    font-size: clamp(33px, 8.8vw, 40px);
    line-height: 1.04;
  }

  .exp-services__title-line--editorial {
    margin-top: 4px;
    font-size: clamp(36px, 9.6vw, 44px);
  }

  .exp-services__intro-copy {
    margin-top: 34px;
  }

  .exp-services__lead {
    font-size: 16px;
  }

  .exp-services__text {
    margin-top: 19px !important;
    font-size: 15px;
    line-height: 1.45;
  }

  .exp-services__intro-divider {
    margin-top: 50px;
  }

  .exp-services__accordion {
    padding-top: 5px;
  }

  .exp-services__category-header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 18px;
    min-height: 125px;
    padding: 29px 0;
  }

  .exp-services__category-label {
    font-size: 9px;
  }

  .exp-services__category-title {
    margin-top: 10px !important;
    font-size: clamp(22px, 6.3vw, 27px);
    line-height: 1.12;
  }

  /*
   * display: contents lets the CTA occupy a complete
   * row without compressing the category title.
   */
  .exp-services__category-actions {
    display: contents;
  }

  .exp-services__category-toggle {
    grid-row: 1;
    grid-column: 2;
    width: 48px;
    height: 48px;
  }

  .exp-services__category-link {
    display: none;
    grid-row: 2;
    grid-column: 1 / -1;
    justify-self: start;
    width: min(100%, 300px);
    min-height: 46px;
    margin-top: 3px;
    padding: 12px 20px;
    white-space: normal;
  }

  .exp-services__category.is-open
    .exp-services__category-link {
    display: inline-flex;
    animation: exp-services-mobile-link 450ms
      cubic-bezier(0.22, 1, 0.36, 1)
      both;
  }

  @keyframes exp-services-mobile-link {
    from {
      opacity: 0;
      transform: translateY(-7px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .exp-services__grid {
    grid-template-columns: 1fr;
    padding: 8px 0 36px;
  }

  .exp-services__service,
  .exp-services__service:first-child,
  .exp-services__service:last-child,
  .exp-services__service:nth-child(odd),
  .exp-services__service:nth-child(even),
  .exp-services__service:last-child:nth-child(odd) {
    grid-column: auto;
    padding: 25px 0;
    border-top: 1px solid rgba(var(--exp-color-blue-gray-rgb), 0.3);
    border-left: 0;
  }

  .exp-services__service:first-child {
    padding-top: 8px;
    border-top: 0;
  }

  .exp-services__service-title {
    font-size: 20px;
  }

  .exp-services__service-description {
    margin-top: 15px !important;
    font-size: 14px;
    line-height: 1.45;
  }

  .exp-services__closing {
    flex-direction: column;
    align-items: flex-start;
    gap: 34px;
    padding-top: 62px;
  }

  .exp-services__closing-title {
    font-size: clamp(31px, 8.3vw, 38px);
  }

  .exp-services__closing-description {
    margin-top: 23px !important;
    font-size: 14px;
    line-height: 1.45;
  }

  .exp-services__closing-button {
    width: min(100%, 340px);
    min-height: 50px;
  }
}


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

@media (prefers-reduced-motion: reduce) {
  .exp-services__panel,
  .exp-services__panel-inner,
  .exp-services__category-link,
  .exp-services__category-toggle,
  .exp-services__category-toggle svg,
  .exp-services__closing-button {
    transition: none !important;
    animation: none !important;
  }

  .exp-services.is-reveal-ready
    [data-exp-reveal-item] {
    opacity: 1;
    translate: none;
    transition: none;
  }
}

/* =========================================================
   ADVOCATE / TESTIMONIALS SECTION
   ========================================================= */

/* Divi reset */
.et_pb_section.exp-advocate-shell,
.exp-advocate-shell {
  padding: 0 !important;
  background: transparent !important;
}

.exp-advocate-shell > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-advocate-shell .et_pb_column,
.exp-advocate-shell .et_pb_code,
.exp-advocate-shell .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit;
}

/* Base */
.exp-advocate,
.exp-advocate *,
.exp-advocate *::before,
.exp-advocate *::after {
  box-sizing: border-box;
}

.exp-advocate {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 7vw, 8rem) 0;
  color: var(--exp-color-navy, #04024d);
  background: var(--exp-color-blue-gray, #a5bac2);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
}

.exp-advocate img {
  display: block;
  max-width: 100%;
}

.exp-advocate figure,
.exp-advocate blockquote,
.exp-advocate p {
  margin: 0;
}

.exp-advocate button {
  padding: 0;
  border: 0;
  color: inherit;
  background: none;
  font: inherit;
}

/* =========================================================
   CONTAINER
   1680px de contenido en viewport de 1920px
   ========================================================= */

.exp-advocate__container {
  --exp-advocate-container-max: 105rem;
  --exp-advocate-container-spacing: clamp(3rem, 12.5vw, 15rem);

  position: relative;
  z-index: 1;
  width: min(
    calc(100% - var(--exp-advocate-container-spacing)),
    var(--exp-advocate-container-max)
  );
  margin-inline: auto;
}

.exp-advocate__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
  align-items: center;
  gap: clamp(3.5rem, 5vw, 6rem);
}

/* =========================================================
   MAIN IMAGE
   ========================================================= */

.exp-advocate__media {
  position: relative;
  min-width: 0;
  aspect-ratio: 830 / 878;
  overflow: hidden;
  border-radius: clamp(1.25rem, 2vw, 1.875rem);
  background: rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.08);
  isolation: isolate;
}

.exp-advocate__image {
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  filter: blur(8px);
  transform: scale(1.025);
  transition:
    opacity 650ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 650ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 900ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 650ms;
  pointer-events: none;
}

.exp-advocate__image.is-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
  filter: blur(0);
  transform: scale(1);
  transition:
    opacity 650ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 650ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 900ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s;
}

.exp-advocate__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.exp-advocate.is-changing .exp-advocate__image {
  will-change: opacity, filter, transform;
}

/* =========================================================
   CONTENT
   ========================================================= */

.exp-advocate__content {
  min-width: 0;
}

.exp-advocate__header {
  max-width: 47rem;
}

.exp-advocate__eyebrow {
  margin-bottom: clamp(1.25rem, 2vw, 1.75rem) !important;
  color: var(--exp-color-navy, #04024d);
  font-size: 0.875rem;
  font-weight: var(--exp-font-weight-medium, 500);
  line-height: 1.2;
  letter-spacing: 0.015em;
  text-transform: uppercase;
}

.exp-advocate__title {
  margin: 0;
  color: var(--exp-color-navy, #04024d);
  font-size: clamp(2.25rem, 3.15vw, 3.125rem);
  font-weight: var(--exp-font-weight-light, 300);
  line-height: 1.04;
  letter-spacing: -0.035em;
}

.exp-advocate__title span {
  display: block;
}

.exp-advocate__title em {
  font-family: var(
    --exp-font-editorial,
    "Playfair Display",
    Georgia,
    serif
  );
  font-size: 1.03em;
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: inherit;
  letter-spacing: -0.02em;
}

.exp-advocate__intro {
  display: grid;
  gap: 1.25rem;
  max-width: 48rem;
  margin-top: clamp(2rem, 3vw, 2.75rem);
  font-size: clamp(1rem, 1vw, 1.125rem);
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.42;
}

.exp-advocate__connect-title {
  margin-top: 1.75rem !important;
  font-size: 1.0625rem;
  font-weight: var(--exp-font-weight-medium, 500);
  line-height: 1.35;
}

/* =========================================================
   CONNECTION ITEMS
   ========================================================= */

.exp-advocate__connections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.375rem, 2.25vw, 1.875rem)
    clamp(2rem, 3.8vw, 4rem);
  margin: clamp(2rem, 3vw, 2.625rem) 0 0;
  padding: 0;
  list-style: none;
}

.exp-advocate__connection {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: 1.125rem;
  min-width: 0;
  color: var(--exp-color-navy, #04024d);
  font-size: clamp(0.9375rem, 1vw, 1.0625rem);
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.3;
}

.exp-advocate__icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.625rem;
  color: var(--exp-color-navy, #04024d);
  background: var(--exp-color-gold, #d0a161);
  transition:
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 300ms ease;
}

.exp-advocate__icon svg {
  width: 1.375rem;
  height: 1.375rem;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (hover: hover) and (pointer: fine) {
  .exp-advocate__connection:hover .exp-advocate__icon {
    background: rgba(var(--exp-color-gold-rgb, 208, 161, 97), 0.84);
    transform: translateY(-0.15rem);
  }
}

/* =========================================================
   TESTIMONIALS
   ========================================================= */

.exp-advocate__testimonial-area {
  position: relative;
  margin-top: clamp(2.5rem, 4vw, 3.5rem);
  padding-top: clamp(2rem, 3vw, 3rem);
  border-top: 1px solid
    rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.18);
}

.exp-advocate__testimonials {
  display: grid;
}

.exp-advocate__testimonial {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: end;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.75rem);
  transition:
    opacity 480ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 480ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 480ms;
  pointer-events: none;
}

.exp-advocate__testimonial.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition:
    opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s;
  pointer-events: auto;
}

.exp-advocate.is-changing .exp-advocate__testimonial {
  will-change: opacity, transform;
}

.exp-advocate__quote {
  max-width: 39rem;
  color: var(--exp-color-navy, #04024d);
}

.exp-advocate__quote p {
  font-size: clamp(1.125rem, 1.35vw, 1.375rem);
  font-weight: var(--exp-font-weight-medium, 500);
  line-height: 1.28;
  letter-spacing: -0.015em;
}

.exp-advocate__author {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2rem;
  margin-top: 1.75rem;
}

.exp-advocate__author-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  padding-bottom: 0.2rem;
}

.exp-advocate__author-meta cite {
  color: var(--exp-color-navy, #04024d);
  font-size: 0.875rem;
  font-style: normal;
  font-weight: var(--exp-font-weight-medium, 500);
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.exp-advocate__author-meta span {
  color: rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.82);
  font-size: 0.875rem;
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.25;
}

.exp-advocate__avatar {
  width: 5rem;
  height: 6.375rem;
  object-fit: cover;
  object-position: center;
  border-radius: 40px;
  background: rgba(var(--exp-color-white-rgb, 255, 255, 255), 0.35);
}

/* =========================================================
   TESTIMONIAL CONTROLS
   ========================================================= */

.exp-advocate__controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.375rem;
}

.exp-advocate__selectors {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.exp-advocate__selector {
  position: relative;
  display: grid;
  width: 1.75rem;
  height: 2rem;
  place-items: center;
  cursor: pointer;
}

.exp-advocate__selector::before {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 999px;
  background: rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.35);
  content: "";
  transition:
    width 300ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 300ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-advocate__selector.is-active::before,
.exp-advocate__selector[aria-current="true"]::before {
  width: 1.5rem;
  background: var(--exp-color-gold, #d0a161);
}

.exp-advocate__pause {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid
    rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.3) !important;
  border-radius: 50%;
  cursor: pointer;
  transition:
    color 250ms ease,
    border-color 250ms ease,
    background-color 250ms ease,
    transform 250ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-advocate__pause svg {
  grid-area: 1 / 1;
  width: 0.875rem;
  height: 0.875rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition:
    opacity 200ms ease,
    transform 250ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-advocate__play-icon {
  opacity: 0;
  transform: scale(0.7);
}

.exp-advocate__pause[aria-pressed="true"] .exp-advocate__pause-icon {
  opacity: 0;
  transform: scale(0.7);
}

.exp-advocate__pause[aria-pressed="true"] .exp-advocate__play-icon {
  opacity: 1;
  transform: scale(1);
}

@media (hover: hover) and (pointer: fine) {
  .exp-advocate__selector:hover::before {
    background: var(--exp-color-gold, #d0a161);
    transform: scale(1.12);
  }

  .exp-advocate__pause:hover {
    color: var(--exp-color-white, #ffffff);
    border-color: var(--exp-color-navy, #04024d) !important;
    background: var(--exp-color-navy, #04024d);
    transform: translateY(-0.125rem);
  }
}

.exp-advocate__selector:focus-visible,
.exp-advocate__pause:focus-visible {
  outline: 2px solid var(--exp-color-navy, #04024d);
  outline-offset: 0.2rem;
}

/* =========================================================
   SMALL DESKTOP
   ========================================================= */

@media (max-width: 78rem) {
  .exp-advocate__layout {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2.5rem, 4vw, 4rem);
  }

  .exp-advocate__title {
    font-size: clamp(2.125rem, 3.5vw, 2.75rem);
  }

  .exp-advocate__connections {
    column-gap: 2rem;
  }

  .exp-advocate__connection {
    grid-template-columns: 2.625rem minmax(0, 1fr);
    gap: 1rem;
  }

  .exp-advocate__icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

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

@media (max-width: 64rem) {
  .exp-advocate {
    padding: clamp(4.5rem, 9vw, 6rem) 0;
  }

  .exp-advocate__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.5rem;
  }

  .exp-advocate__media {
    aspect-ratio: 16 / 10;
  }

  .exp-advocate__image img {
    object-position: center 32%;
  }

  .exp-advocate__header,
  .exp-advocate__quote,
  .exp-advocate__intro,
  .exp-advocate__connections,
  .exp-advocate__testimonial-area {
    max-width: 48rem;
  }

  .exp-advocate__title {
    max-width: 48rem;
    font-size: clamp(2.5rem, 6vw, 3.5rem);
  }
}

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

@media (max-width: 40rem) {
  .exp-advocate {
    padding: 4.5rem 0;
  }

  .exp-advocate__layout {
    gap: 2.75rem;
  }

  .exp-advocate__media {
    aspect-ratio: 4 / 5;
    border-radius: 1.25rem;
  }

  .exp-advocate__image img {
    object-position: center;
  }

  .exp-advocate__eyebrow {
    margin-bottom: 1rem !important;
    font-size: 0.75rem;
  }

  .exp-advocate__title {
    font-size: clamp(2.125rem, 10vw, 2.8rem);
    line-height: 1.02;
  }

  .exp-advocate__title span {
    display: inline;
  }

  .exp-advocate__title span:first-child {
    display: block;
    margin-bottom: 0.15em;
  }

  .exp-advocate__intro {
    gap: 1rem;
    margin-top: 1.75rem;
    font-size: 1rem;
    line-height: 1.45;
  }

  .exp-advocate__connect-title {
    margin-top: 1.5rem !important;
  }

  .exp-advocate__connections {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1.75rem;
  }

  .exp-advocate__connection {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.875rem;
    font-size: 0.9375rem;
  }

  .exp-advocate__icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.55rem;
  }

  .exp-advocate__icon svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  .exp-advocate__testimonial-area {
    margin-top: 2.5rem;
    padding-top: 2rem;
  }

  .exp-advocate__quote p {
    font-size: 1.125rem;
    line-height: 1.32;
  }

  .exp-advocate__author {
    grid-template-columns: minmax(0, 1fr) 4.125rem;
    gap: 1.25rem;
    margin-top: 1.5rem;
  }

  .exp-advocate__avatar {
    width: 4.125rem;
    height: 5.125rem;
    border-radius: 40px;
  }

  .exp-advocate__controls {
    margin-top: 1.25rem;
  }
}

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

@media (max-width: 23rem) {
  .exp-advocate__container {
    --exp-advocate-container-spacing: 2rem;
  }

  .exp-advocate__title {
    font-size: 2rem;
  }

  .exp-advocate__author {
    grid-template-columns: minmax(0, 1fr) 3.75rem;
    gap: 1rem;
  }

  .exp-advocate__avatar {
    width: 3.75rem;
    height: 4.75rem;
  }
}

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

@media (prefers-reduced-motion: reduce) {
  .exp-advocate__image,
  .exp-advocate__image.is-active,
  .exp-advocate__testimonial,
  .exp-advocate__testimonial.is-active,
  .exp-advocate__icon,
  .exp-advocate__selector::before,
  .exp-advocate__pause,
  .exp-advocate__pause svg {
    transition-duration: 0.01ms !important;
    animation: none !important;
  }

  .exp-advocate__image,
  .exp-advocate__image.is-active {
    filter: none !important;
    transform: none !important;
  }

  .exp-advocate__testimonial,
  .exp-advocate__testimonial.is-active {
    transform: none !important;
  }
}

/* =========================================================
   CONTACT PROCESS SECTION
   ========================================================= */

/* Divi reset */
.et_pb_section.exp-contact-process-shell,
.exp-contact-process-shell {
  padding: 0 !important;
  background: transparent !important;
}

.exp-contact-process-shell > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-contact-process-shell .et_pb_column,
.exp-contact-process-shell .et_pb_code,
.exp-contact-process-shell .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit;
}

/* Section base */
.exp-contact-process,
.exp-contact-process *,
.exp-contact-process *::before,
.exp-contact-process *::after {
  box-sizing: border-box;
}

.exp-contact-process {
  position: relative;
  overflow: hidden;
  padding: clamp(6.5rem, 9vw, 10rem) 0;
  color: var(--exp-color-navy, #04024d);
  background: var(--exp-color-white, #ffffff);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
}

.exp-contact-process h2,
.exp-contact-process p,
.exp-contact-process figure {
  margin: 0;
  padding: 0;
}

.exp-contact-process img {
  display: block;
  max-width: 100%;
}

.exp-contact-process button {
  margin: 0;
  font: inherit;
}

/* =========================================================
   CONTAINER
   Mismo ancho y gutters que la sección anterior
   ========================================================= */

.exp-contact-process__container {
  --exp-contact-container-max: 105rem;
  --exp-contact-container-spacing: clamp(3rem, 12.5vw, 15rem);

  position: relative;
  z-index: 1;
  width: min(
    calc(100% - var(--exp-contact-container-spacing)),
    var(--exp-contact-container-max)
  );
  margin-inline: auto;
}

/* =========================================================
   HEADER
   ========================================================= */

.exp-contact-process__header {
  width: min(100%, 46rem);
  margin-inline: auto;
  text-align: center;
}

.exp-contact-process__title {
  color: var(--exp-color-navy, #04024d);
  font-size: clamp(2.125rem, 3vw, 3rem);
  font-weight: var(--exp-font-weight-light, 300);
  line-height: 1.04;
  letter-spacing: -0.035em;
}

.exp-contact-process__title span,
.exp-contact-process__title em {
  display: block;
}

.exp-contact-process__title em {
  font-family: var(
    --exp-font-editorial,
    "Playfair Display",
    Georgia,
    serif
  );
  font-size: 1.03em;
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.exp-contact-process__intro {
  display: grid;
  gap: 1rem;
  width: min(100%, 43rem);
  margin: clamp(2rem, 3vw, 2.75rem) auto 0;
  color: rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.88);
  font-size: clamp(0.9375rem, 1vw, 1.0625rem);
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.4;
}

/* =========================================================
   CARDS WRAPPER
   ========================================================= */

.exp-contact-process__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.875rem, 1.3vw, 1.25rem);
  width: min(100%, 77.5rem);
  margin: clamp(4.5rem, 7vw, 7rem) auto 0;
}

/* =========================================================
   CARD
   ========================================================= */

.exp-contact-process__card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: clamp(25rem, 30vw, 29rem);
  overflow: hidden;
  padding: 0;
  border: 1px solid
    rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.04);
  border-radius: clamp(1.25rem, 1.8vw, 1.625rem);
  color: var(--exp-color-navy, #04024d);
  background: var(--exp-color-gray-light, #edf1f3);
  text-align: left;
  appearance: none;
  cursor: pointer;
  isolation: isolate;
  transform: translateZ(0);
  transition:
    color 400ms ease,
    background-color 400ms ease,
    border-color 400ms ease,
    box-shadow 450ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Imagen de fondo */
.exp-contact-process__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  opacity: 0;
  visibility: hidden;
  filter: blur(4px);
  transform: scale(1.035);
  transition:
    opacity 550ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 550ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 850ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 550ms;
  pointer-events: none;
}

.exp-contact-process__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Overlay para legibilidad */
.exp-contact-process__overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  opacity: 0;
  background:
    linear-gradient(
      180deg,
      rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.08) 0%,
      rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.16) 38%,
      rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.82) 100%
    );
  transition: opacity 500ms ease;
  pointer-events: none;
}

/* Contenido interno */
.exp-contact-process__card-inner {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  min-height: inherit;
  flex-direction: column;
  padding: clamp(1.5rem, 2.3vw, 2rem);
}

/* Icon */
.exp-contact-process__icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: var(--exp-color-navy, #04024d);
  transition:
    color 350ms ease,
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-contact-process__icon svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Card copy */
.exp-contact-process__card-copy {
  display: block;
  margin-top: auto;
}

.exp-contact-process__step-number {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.exp-contact-process__card-title {
  display: block;
  color: inherit;
  font-size: 0.75rem;
  font-weight: var(--exp-font-weight-medium, 500);
  line-height: 1.25;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.exp-contact-process__card-text {
  display: block;
  max-width: 19rem;
  margin-top: 0.875rem;
  color: inherit;
  font-size: clamp(0.9375rem, 1vw, 1.0625rem);
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.38;
  opacity: 0.9;
}

/* =========================================================
   ACTIVE CARD
   ========================================================= */

.exp-contact-process__card.is-active,
.exp-contact-process__card[aria-pressed="true"] {
  color: var(--exp-color-white, #ffffff);
  border-color: rgba(var(--exp-color-white-rgb, 255, 255, 255), 0.12);
  box-shadow:
    0 1.5rem 3.5rem
    rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.15);
  transform: translateY(-0.25rem);
}

.exp-contact-process__card.is-active
  .exp-contact-process__media,
.exp-contact-process__card[aria-pressed="true"]
  .exp-contact-process__media {
  opacity: 1;
  visibility: visible;
  filter: blur(0);
  transform: scale(1);
  transition:
    opacity 550ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 550ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 850ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s;
}

.exp-contact-process__card.is-active
  .exp-contact-process__overlay,
.exp-contact-process__card[aria-pressed="true"]
  .exp-contact-process__overlay {
  opacity: 1;
}

.exp-contact-process__card.is-active
  .exp-contact-process__icon,
.exp-contact-process__card[aria-pressed="true"]
  .exp-contact-process__icon {
  color: var(--exp-color-white, #ffffff);
  transform: translateY(-0.125rem);
}

/*
 * Esta clase será aplicada temporalmente desde JS.
 * will-change solo permanece activo durante la transición.
 */
.exp-contact-process.is-changing
  .exp-contact-process__media {
  will-change: opacity, filter, transform;
}

.exp-contact-process.is-changing
  .exp-contact-process__card {
  will-change: transform;
}

/* =========================================================
   HOVER AND FOCUS
   ========================================================= */

@media (hover: hover) and (pointer: fine) {
  .exp-contact-process__card:not(.is-active):not(
      [aria-pressed="true"]
    ):hover {
    background: rgba(
      var(--exp-color-blue-gray-rgb, 165, 186, 194),
      0.26
    );
    border-color: rgba(
      var(--exp-color-navy-rgb, 4, 2, 77),
      0.09
    );
    box-shadow:
      0 1rem 2.5rem
      rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.07);
    transform: translateY(-0.2rem);
  }

  .exp-contact-process__card:not(.is-active):not(
      [aria-pressed="true"]
    ):hover
    .exp-contact-process__icon {
    transform: translateY(-0.15rem);
  }
}

.exp-contact-process__card:focus-visible {
  outline: 2px solid var(--exp-color-gold, #d0a161);
  outline-offset: 0.25rem;
}

/* =========================================================
   SELECTORS
   ========================================================= */

.exp-contact-process__selectors {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 1.5rem;
}

.exp-contact-process__selector {
  position: relative;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  appearance: none;
  cursor: pointer;
}

.exp-contact-process__selector::before {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 999px;
  background: rgba(
    var(--exp-color-navy-rgb, 4, 2, 77),
    0.28
  );
  content: "";
  transition:
    width 300ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 300ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-contact-process__selector.is-active::before,
.exp-contact-process__selector[aria-current="true"]::before {
  width: 1.5rem;
  background: var(--exp-color-gold, #d0a161);
}

.exp-contact-process__selector:focus-visible {
  outline: 2px solid var(--exp-color-navy, #04024d);
  outline-offset: 0.1rem;
  border-radius: 999px;
}

@media (hover: hover) and (pointer: fine) {
  .exp-contact-process__selector:hover::before {
    background: var(--exp-color-gold, #d0a161);
    transform: scale(1.12);
  }
}

/* =========================================================
   TABLET / HORIZONTAL CAROUSEL
   ========================================================= */

@media (max-width: 64rem) {
  .exp-contact-process {
    padding: clamp(5rem, 10vw, 7rem) 0;
  }

  .exp-contact-process__header {
    width: min(100%, 43rem);
  }

  .exp-contact-process__cards {
    display: flex;
    width: 100%;
    gap: 1rem;
    margin-top: clamp(3.75rem, 7vw, 5rem);
    padding: 0.25rem 0 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .exp-contact-process__cards::-webkit-scrollbar {
    display: none;
  }

  .exp-contact-process__card {
    flex: 0 0 min(72vw, 25rem);
    min-height: 28rem;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .exp-contact-process__selectors {
    display: flex;
  }
}

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

@media (max-width: 40rem) {
  .exp-contact-process {
    padding: 4.75rem 0;
  }

  .exp-contact-process__title {
    font-size: clamp(2.125rem, 10vw, 2.75rem);
  }

  .exp-contact-process__title span {
    max-width: 20rem;
    margin-inline: auto;
  }

  .exp-contact-process__title em {
    margin-top: 0.1em;
  }

  .exp-contact-process__intro {
    gap: 0.875rem;
    margin-top: 1.75rem;
    font-size: 0.9375rem;
    line-height: 1.42;
  }

  .exp-contact-process__cards {
    gap: 0.875rem;
    margin-top: 3.5rem;
  }

  .exp-contact-process__card {
    flex-basis: 86%;
    min-height: 25rem;
    border-radius: 1.25rem;
  }

  .exp-contact-process__card-inner {
    padding: 1.5rem;
  }

  .exp-contact-process__icon {
    width: 2.25rem;
    height: 2.25rem;
  }

  .exp-contact-process__card-text {
    max-width: 17rem;
    font-size: 0.9375rem;
  }

  .exp-contact-process__selectors {
    margin-top: 1rem;
  }
}

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

@media (max-width: 23rem) {
  .exp-contact-process__container {
    --exp-contact-container-spacing: 2rem;
  }

  .exp-contact-process__title {
    font-size: 2rem;
  }

  .exp-contact-process__card {
    flex-basis: 92%;
    min-height: 24rem;
  }
}

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

@media (prefers-reduced-motion: reduce) {
  .exp-contact-process__cards {
    scroll-behavior: auto;
  }

  .exp-contact-process__card,
  .exp-contact-process__media,
  .exp-contact-process__overlay,
  .exp-contact-process__icon,
  .exp-contact-process__selector::before {
    transition-duration: 0.01ms !important;
    animation: none !important;
  }

  .exp-contact-process__card,
  .exp-contact-process__media,
  .exp-contact-process__icon {
    transform: none !important;
  }

  .exp-contact-process__media,
  .exp-contact-process__card.is-active
    .exp-contact-process__media,
  .exp-contact-process__card[aria-pressed="true"]
    .exp-contact-process__media {
    filter: none !important;
  }
}

/* =========================================================
   WHY EXPONENT SECTION
   ========================================================= */

/* Divi reset */
.et_pb_section.exp-why-exponent-shell,
.exp-why-exponent-shell {
  padding: 0 !important;
  background: transparent !important;
}

.exp-why-exponent-shell > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-why-exponent-shell .et_pb_column,
.exp-why-exponent-shell .et_pb_code,
.exp-why-exponent-shell .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit;
}

/* Section base */
.exp-why-exponent,
.exp-why-exponent *,
.exp-why-exponent *::before,
.exp-why-exponent *::after {
  box-sizing: border-box;
}

.exp-why-exponent {
  position: relative;
  overflow: hidden;
  padding:
    clamp(7.5rem, 9vw, 11rem)
    0
    clamp(8rem, 10vw, 11.5rem);
  color: var(--exp-color-navy, #04024d);
  background: var(--exp-color-gray-light, #edf1f3);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
}

.exp-why-exponent h2,
.exp-why-exponent h3,
.exp-why-exponent p {
  margin: 0;
  padding: 0;
}

/* =========================================================
   CONTAINER
   Mismo ancho y gutters que la sección anterior
   ========================================================= */

.exp-why-exponent__container {
  --exp-why-container-max: 105rem;
  --exp-why-container-spacing: clamp(3rem, 12.5vw, 15rem);

  position: relative;
  z-index: 1;
  width: min(
    calc(100% - var(--exp-why-container-spacing)),
    var(--exp-why-container-max)
  );
  margin-inline: auto;
}

/* =========================================================
   HEADER
   ========================================================= */

.exp-why-exponent__header {
  width: min(100%, 45rem);
}

.exp-why-exponent__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--exp-color-navy, #04024d);
  font-size: clamp(0.75rem, 0.8vw, 0.875rem);
  font-weight: var(--exp-font-weight-medium, 500);
  line-height: 1.2;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

/* Único punto presente en el diseño */
.exp-why-exponent__eyebrow-dot {
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--exp-color-gold, #d0a161);
}

.exp-why-exponent__title {
  margin-top: clamp(1.5rem, 2vw, 2rem) !important;
  color: var(--exp-color-navy, #04024d);
  font-size: clamp(2.5rem, 2.8vw, 3.25rem);
  font-weight: var(--exp-font-weight-light, 300);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.exp-why-exponent__title span,
.exp-why-exponent__title em {
  display: block;
}

.exp-why-exponent__title em {
  font-family: var(
    --exp-font-editorial,
    "Playfair Display",
    Georgia,
    serif
  );
  font-size: 1.04em;
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.05;
  letter-spacing: -0.025em;
}

/* =========================================================
   HORIZONTAL DIVIDER
   ========================================================= */

.exp-why-exponent__divider {
  width: 100%;
  height: 1px;
  margin-top: clamp(7rem, 8vw, 9rem);
  background: rgba(
    var(--exp-color-navy-rgb, 4, 2, 77),
    0.1
  );
  transform-origin: left center;
}

/* =========================================================
   REASONS GRID
   ========================================================= */

.exp-why-exponent__reasons {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
}

.exp-why-exponent__reasons > li {
  margin: 0;
  list-style: none !important;
  list-style-type: none !important;
}

.exp-why-exponent__reasons > li::marker {
  content: "";
  font-size: 0;
}

/* Evita cualquier pseudo-elemento agregado por Divi */
.exp-why-exponent__reason::before {
  display: none;
  content: none;
}

.exp-why-exponent__reason::after {
  display: none !important;
  content: none !important;
}

.exp-why-exponent__reason {
  position: relative;
  min-width: 0;
  min-height: 17rem;
  padding:
    clamp(3rem, 3.2vw, 3.75rem)
    clamp(2rem, 3.3vw, 4rem)
    2rem;
  background: transparent;
  transition:
    background-color 350ms ease,
    color 350ms ease;
}

/* Primera columna alineada con el contenedor */
.exp-why-exponent__reason:first-child {
  padding-left: 0;
}

/* Última columna alineada con el contenedor */
.exp-why-exponent__reason:last-child {
  padding-right: 0;
}

/* Separadores verticales entre columnas */
.exp-why-exponent__reason:not(:first-child)::before {
  position: absolute;
  top: 1.5rem;
  bottom: 0;
  left: 0;
  display: block;
  width: 1px;
  background: rgba(
    var(--exp-color-navy-rgb, 4, 2, 77),
    0.1
  );
  content: "";
  transform-origin: top center;
}

/* =========================================================
   REASON TYPOGRAPHY
   ========================================================= */

.exp-why-exponent__reason-title {
  max-width: 15rem;
  color: var(--exp-color-navy, #04024d);
  font-size: clamp(1.35rem, 1.5vw, 1.75rem);
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.08;
  letter-spacing: -0.025em;
  transition: transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-why-exponent__reason-text {
  max-width: 15.5rem;
  margin-top: clamp(2rem, 2.5vw, 2.75rem) !important;
  color: rgba(
    var(--exp-color-navy-rgb, 4, 2, 77),
    0.84
  );
  font-size: clamp(0.9375rem, 1vw, 1.125rem);
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.35;
}

/* =========================================================
   DESKTOP HOVER
   Sin elementos gráficos adicionales
   ========================================================= */

@media (hover: hover) and (pointer: fine) {
  .exp-why-exponent__reason:hover {
    background: rgba(
      var(--exp-color-white-rgb, 255, 255, 255),
      0.3
    );
  }

  .exp-why-exponent__reason:hover
    .exp-why-exponent__reason-title {
    transform: translateY(-0.125rem);
  }
}

/* =========================================================
   REVEAL ANIMATIONS
   Usa la clase .is-visible de initScrollReveal()
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {
  .exp-why-exponent:not(.is-visible)
    .exp-why-exponent__header {
    opacity: 0;
    transform: translateY(1rem);
  }

  .exp-why-exponent:not(.is-visible)
    .exp-why-exponent__divider {
    transform: scaleX(0);
  }

  .exp-why-exponent:not(.is-visible)
    .exp-why-exponent__reason {
    opacity: 0;
    transform: translateY(1rem);
  }

  .exp-why-exponent:not(.is-visible)
    .exp-why-exponent__reason::before {
    transform: scaleY(0);
  }

  .exp-why-exponent__header {
    opacity: 1;
    transform: translateY(0);
    transition:
      opacity 600ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .exp-why-exponent__divider {
    transform: scaleX(1);
    transition:
      transform 800ms cubic-bezier(0.22, 1, 0.36, 1)
      120ms;
  }

  .exp-why-exponent__reason {
    opacity: 1;
    transform: translateY(0);
    transition:
      opacity 550ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 550ms cubic-bezier(0.22, 1, 0.36, 1),
      background-color 350ms ease;
  }

  .exp-why-exponent__reason::before {
    transform: scaleY(1);
    transition:
      transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .exp-why-exponent__reason:nth-child(1) {
    transition-delay: 220ms;
  }

  .exp-why-exponent__reason:nth-child(2) {
    transition-delay: 300ms;
  }

  .exp-why-exponent__reason:nth-child(3) {
    transition-delay: 380ms;
  }

  .exp-why-exponent__reason:nth-child(4) {
    transition-delay: 460ms;
  }

  .exp-why-exponent__reason:nth-child(5) {
    transition-delay: 540ms;
  }

  .exp-why-exponent__reason:nth-child(2)::before {
    transition-delay: 280ms;
  }

  .exp-why-exponent__reason:nth-child(3)::before {
    transition-delay: 360ms;
  }

  .exp-why-exponent__reason:nth-child(4)::before {
    transition-delay: 440ms;
  }

  .exp-why-exponent__reason:nth-child(5)::before {
    transition-delay: 520ms;
  }
}

/* =========================================================
   SMALL DESKTOP
   3 elementos arriba + 2 elementos abajo
   ========================================================= */

@media (max-width: 80rem) {
  .exp-why-exponent__reasons {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .exp-why-exponent__reason {
    grid-column: span 2;
    min-height: 15rem;
    padding: 3rem 2.5rem;
  }

  .exp-why-exponent__reason:first-child {
    padding-left: 0;
  }

  .exp-why-exponent__reason:nth-child(3) {
    padding-right: 0;
  }

  .exp-why-exponent__reason:nth-child(4),
  .exp-why-exponent__reason:nth-child(5) {
    grid-column: span 3;
    border-top: 1px solid
      rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.1);
  }

  .exp-why-exponent__reason:nth-child(4) {
    padding-left: 0;
  }

  .exp-why-exponent__reason:nth-child(4)::before {
    display: none;
  }

  .exp-why-exponent__reason:nth-child(5) {
    padding-right: 0;
  }

  .exp-why-exponent__reason-text {
    max-width: 18rem;
  }
}

/* =========================================================
   TABLET
   2 columnas
   ========================================================= */

@media (max-width: 56rem) {
  .exp-why-exponent {
    padding:
      clamp(6rem, 11vw, 8rem)
      0
      clamp(6rem, 11vw, 8rem);
  }

  .exp-why-exponent__divider {
    margin-top: clamp(5rem, 9vw, 6.5rem);
  }

  .exp-why-exponent__reasons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .exp-why-exponent__reason {
    grid-column: auto;
    min-height: 14rem;
    padding: 2.75rem 2.25rem;
  }

  .exp-why-exponent__reason:first-child {
    padding-left: 0;
  }

  .exp-why-exponent__reason:nth-child(2) {
    padding-right: 0;
  }

  .exp-why-exponent__reason:nth-child(3) {
    padding-left: 0;
  }

  .exp-why-exponent__reason:nth-child(3),
  .exp-why-exponent__reason:nth-child(4),
  .exp-why-exponent__reason:nth-child(5) {
    border-top: 1px solid
      rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.1);
  }

  .exp-why-exponent__reason:nth-child(3)::before,
  .exp-why-exponent__reason:nth-child(5)::before {
    display: none;
  }

  .exp-why-exponent__reason:nth-child(4)::before {
    display: block;
  }

  .exp-why-exponent__reason:nth-child(4) {
    padding-right: 0;
  }

  .exp-why-exponent__reason:nth-child(5) {
    grid-column: 1 / -1;
    padding-right: 0;
    padding-left: 0;
  }

  .exp-why-exponent__reason:nth-child(5)
    .exp-why-exponent__reason-text {
    max-width: 23rem;
  }
}

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

@media (max-width: 40rem) {
  .exp-why-exponent {
    padding: 5.5rem 0;
  }

  .exp-why-exponent__eyebrow {
    align-items: flex-start;
    font-size: 0.75rem;
    line-height: 1.3;
  }

  .exp-why-exponent__eyebrow-dot {
    margin-top: 0.3rem;
  }

  .exp-why-exponent__title {
    margin-top: 1.375rem !important;
    font-size: clamp(2.25rem, 11vw, 2.875rem);
  }

  .exp-why-exponent__divider {
    margin-top: 4.5rem;
  }

  .exp-why-exponent__reasons {
    display: block;
  }

  .exp-why-exponent__reason {
    min-height: 0;
    padding: 2.25rem 0;
    border-top: 0;
  }

  .exp-why-exponent__reason:not(:first-child) {
    border-top: 1px solid
      rgba(var(--exp-color-navy-rgb, 4, 2, 77), 0.1);
  }

  .exp-why-exponent__reason::before {
    display: none !important;
    content: none !important;
  }

  .exp-why-exponent__reason-title {
    max-width: 20rem;
    font-size: 1.5rem;
  }

  .exp-why-exponent__reason-text,
  .exp-why-exponent__reason:nth-child(5)
    .exp-why-exponent__reason-text {
    max-width: 22rem;
    margin-top: 1.5rem !important;
    font-size: 1rem;
  }
}

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

@media (max-width: 23rem) {
  .exp-why-exponent__container {
    --exp-why-container-spacing: 2rem;
  }

  .exp-why-exponent__title {
    font-size: 2.125rem;
  }
}

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

@media (prefers-reduced-motion: reduce) {
  .exp-why-exponent__header,
  .exp-why-exponent__divider,
  .exp-why-exponent__reason,
  .exp-why-exponent__reason::before,
  .exp-why-exponent__reason-title {
    opacity: 1 !important;
    transform: none !important;
    transition-duration: 0.01ms !important;
    animation: none !important;
  }
}

/* =========================================================
   EXPONENT — TEAM SECTION
   Outer Divi section class: exp-team-shell
   ========================================================= */


/* ---------------------------------------------------------
   Divi resets
   --------------------------------------------------------- */

.exp-team-shell.et_pb_section {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: var(--exp-color-navy, #04024d);
}

.exp-team-shell > .et_pb_row,
.exp-team-shell .et_pb_row,
.exp-team-shell .et_pb_column,
.exp-team-shell .et_pb_code,
.exp-team-shell .et_pb_code_inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}


/* ---------------------------------------------------------
   Base
   --------------------------------------------------------- */

.exp-team,
.exp-team *,
.exp-team *::before,
.exp-team *::after {
  box-sizing: border-box;
}

.exp-team {
  --exp-team-container-max: 105rem;
  --exp-team-container-spacing: clamp(3rem, 12.5vw, 15rem);

  /*
   * Coincide con el margen lateral del contenedor principal.
   * Cuando la pantalla supera los 105rem, mantiene el contenido
   * centrado respecto al viewport.
   */
  --exp-team-page-gutter: max(
    clamp(1.5rem, 6.25vw, 7.5rem),
    calc((100vw - var(--exp-team-container-max)) / 2)
  );

  position: relative;
  width: 100%;
  overflow: hidden;
  padding:
    clamp(6rem, 8.5vw, 10rem)
    0
    clamp(8rem, 12vw, 15rem);
  color: var(--exp-color-white, #ffffff);
  background-color: var(--exp-color-navy, #04024d);
}

.exp-team__container {
  width: min(
    calc(100% - var(--exp-team-container-spacing)),
    var(--exp-team-container-max)
  );
  margin-inline: auto;
}


/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.exp-team__header {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(27rem, 0.72fr);
  align-items: start;
  gap: clamp(4rem, 9vw, 11rem);
}

.exp-team__heading,
.exp-team__summary {
  min-width: 0;
}

.exp-team__heading {
  max-width: 46rem;
}

.exp-team__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin: 0 0 clamp(1.25rem, 1.8vw, 1.75rem);
  color: rgba(var(--exp-color-white-rgb, 255, 255, 255), 0.82);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
  font-size: clamp(0.75rem, 0.8vw, 0.875rem);
  font-weight: var(--exp-font-weight-medium, 500);
  line-height: 1.2;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.exp-team__eyebrow-dot {
  display: block;
  flex: 0 0 auto;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background-color: var(--exp-color-gold, #d0a161);
}

.exp-team__title {
  max-width: 45rem;
  margin: 0;
  color: var(--exp-color-white, #ffffff);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
  font-size: clamp(2.35rem, 3.1vw, 4rem);
  font-weight: var(--exp-font-weight-light, 300);
  line-height: 1.04;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.exp-team__title em,
.exp-team__title i,
.exp-team__title-emphasis {
  display: block;
  color: var(--exp-color-white, #ffffff);
  font-family: var(
    --exp-font-editorial,
    "Playfair Display",
    Georgia,
    serif
  );
  font-weight: var(--exp-font-weight-regular, 400);
  line-height: 1.03;
  letter-spacing: -0.025em;
}

.exp-team__summary {
  padding-top: clamp(2.5rem, 4vw, 4rem);
}

.exp-team__description {
  max-width: 39rem;
  margin: 0;
  color: rgba(var(--exp-color-white-rgb, 255, 255, 255), 0.72);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  font-weight: var(--exp-font-weight-light, 300);
  line-height: 1.45;
}


/* ---------------------------------------------------------
   Carousel navigation
   --------------------------------------------------------- */

.exp-team__navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625rem;
  margin-top: clamp(2.75rem, 4vw, 4.5rem);
}

.exp-team__counter {
  display: none;
  align-items: center;
  margin-right: auto;
  color: rgba(var(--exp-color-white-rgb, 255, 255, 255), 0.65);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
  font-size: 0.8125rem;
  font-weight: var(--exp-font-weight-medium, 500);
  line-height: 1;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
}

.exp-team__navigation button,
.exp-team__previous,
.exp-team__next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: clamp(3.25rem, 3.8vw, 3.75rem);
  height: clamp(3.25rem, 3.8vw, 3.75rem);
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  color: var(--exp-color-white, #ffffff);
  background-color: rgba(
    var(--exp-color-white-rgb, 255, 255, 255),
    0.11
  );
  cursor: pointer;
  appearance: none;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    border-color 220ms ease,
    opacity 220ms ease,
    transform 220ms ease;
}

.exp-team__navigation button:last-child,
.exp-team__next {
  background-color: rgba(
    var(--exp-color-white-rgb, 255, 255, 255),
    0.22
  );
}

.exp-team__navigation button svg {
  display: block;
  width: 1.35rem;
  height: 1.35rem;
  pointer-events: none;
}

.exp-team__navigation button:focus-visible {
  outline: 2px solid var(--exp-color-gold, #d0a161);
  outline-offset: 4px;
}

.exp-team__navigation button:disabled {
  opacity: 0.3;
  cursor: default;
}


/* ---------------------------------------------------------
   Slider
   --------------------------------------------------------- */

.exp-team__slider-shell {
  width: calc(100% - var(--exp-team-page-gutter));
  margin-top: clamp(6rem, 8vw, 9rem);
  margin-left: var(--exp-team-page-gutter);
}

.exp-team__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline-start: 0;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.exp-team__viewport::-webkit-scrollbar {
  display: none;
}

.exp-team__viewport:focus {
  outline: none;
}

.exp-team__viewport:focus-visible {
  outline: 2px solid rgba(
    var(--exp-color-gold-rgb, 208, 161, 97),
    0.9
  );
  outline-offset: 0.5rem;
  border-radius: 0.25rem;
}

.exp-team__track {
  display: flex;
  align-items: stretch;
  width: max-content;
  gap: clamp(0.875rem, 1.2vw, 1.25rem);
  padding: 0 var(--exp-team-page-gutter) 0 0;
}


/* ---------------------------------------------------------
   Team cards
   --------------------------------------------------------- */

.exp-team__card {
  position: relative;
  flex: 0 0 clamp(20rem, 23.75vw, 28.5rem);
  aspect-ratio: 5 / 6;
  min-width: 0;
  overflow: hidden;
  border-radius: clamp(1rem, 1.3vw, 1.4rem);
  background-color: var(--exp-color-blue-gray, #a5bac2);
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  isolation: isolate;
  contain: layout paint style;
  transition:
    transform 500ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-team__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background-color: rgba(
    var(--exp-color-blue-gray-rgb, 165, 186, 194),
    0.35
  );
}

.exp-team__image::after {
  position: absolute;
  inset: auto 0 0;
  height: 48%;
  z-index: 1;
  content: "";
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(4, 2, 77, 0) 0%,
    rgba(4, 2, 30, 0.08) 40%,
    rgba(2, 5, 15, 0.32) 100%
  );
}

.exp-team__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  object-fit: cover;
  object-position: center top;
  user-select: none;
  pointer-events: none;
  transform: scale(1.001);
  transition:
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 500ms ease;
}

.exp-team__profile {
  position: absolute;
  right: clamp(1rem, 1.3vw, 1.25rem);
  bottom: clamp(1rem, 1.3vw, 1.25rem);
  left: clamp(1rem, 1.3vw, 1.25rem);
  z-index: 2;
  min-height: clamp(6.75rem, 7.2vw, 7.75rem);
  padding: clamp(1.25rem, 1.6vw, 1.75rem);
  overflow: hidden;
  border-radius: clamp(0.875rem, 1.1vw, 1.125rem);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.12);
  transition:
    transform 500ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 400ms ease,
    border-color 400ms ease;
  backdrop-filter: blur(10px);
}

.exp-team__name {
  margin: 0;
  color: var(--exp-color-white, #ffffff);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
  font-size: clamp(1.45rem, 1.65vw, 2rem);
  font-weight: var(--exp-font-weight-light, 300);
  line-height: 1.12;
  letter-spacing: -0.025em;
  transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-team__role {
  margin: 0.45rem 0 0;
  color: rgba(var(--exp-color-white-rgb, 255, 255, 255), 0.75);
  font-family: var(
    --exp-font-primary,
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif
  );
  font-size: clamp(0.9375rem, 1.05vw, 1.125rem);
  font-weight: var(--exp-font-weight-light, 300);
  line-height: 1.3;
}


/* ---------------------------------------------------------
   Hover — only on devices that actually support hover
   --------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {
  .exp-team__navigation button:not(:disabled):hover {
    border-color: rgba(
      var(--exp-color-white-rgb, 255, 255, 255),
      0.18
    );
    background-color: rgba(
      var(--exp-color-white-rgb, 255, 255, 255),
      0.28
    );
    transform: translateY(-2px);
  }

  .exp-team__card:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 1.75rem 3.5rem rgba(0, 0, 0, 0.18);
  }

  .exp-team__card:hover .exp-team__image img {
    transform: scale(1.025);
  }

  .exp-team__card:hover .exp-team__profile {
    border-color: rgba(
      var(--exp-color-white-rgb, 255, 255, 255),
      0.15
    );
    transform: translateY(-0.15rem);
  }

  .exp-team__card:hover .exp-team__name {
    transform: translateY(-0.1rem);
  }
}


/* ---------------------------------------------------------
   Progressive reveal
   These styles activate only after JavaScript adds
   the class "is-enhanced".
   --------------------------------------------------------- */

.exp-team.is-enhanced .exp-team__heading,
.exp-team.is-enhanced .exp-team__summary {
  opacity: 0;
  transform: translateY(1.5rem);
  transition:
    opacity 700ms ease,
    transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.exp-team.is-enhanced .exp-team__summary {
  transition-delay: 100ms;
}

.exp-team.is-enhanced.is-visible .exp-team__heading,
.exp-team.is-enhanced.is-visible .exp-team__summary {
  opacity: 1;
  transform: translateY(0);
}

.exp-team.is-enhanced .exp-team__card {
  opacity: 0;
  transform: translateY(1.75rem);
}

.exp-team.is-enhanced .exp-team__card.is-card-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 650ms ease,
    transform 750ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 500ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* ---------------------------------------------------------
   Accessibility
   --------------------------------------------------------- */

.exp-team__sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* ---------------------------------------------------------
   Medium desktop / tablet landscape
   --------------------------------------------------------- */

@media (max-width: 75rem) {
  .exp-team__header {
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 0.82fr);
    gap: clamp(3rem, 6vw, 5rem);
  }

  .exp-team__card {
    flex-basis: clamp(19rem, 33vw, 24rem);
  }
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 64rem) {
  .exp-team {
    padding:
      clamp(5.5rem, 10vw, 7rem)
      0
      clamp(7rem, 12vw, 10rem);
  }

  .exp-team__header {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2.5rem, 5vw, 4rem);
  }

  .exp-team__heading {
    max-width: 42rem;
  }

  .exp-team__summary {
    max-width: 42rem;
    padding-top: 0;
  }

  .exp-team__description {
    max-width: 42rem;
  }

  .exp-team__navigation {
    justify-content: space-between;
    margin-top: 2.5rem;
  }

  .exp-team__counter {
    display: inline-flex;
  }

  .exp-team__slider-shell {
    margin-top: clamp(4.5rem, 8vw, 6rem);
  }

  .exp-team__card {
    flex-basis: min(42vw, 24rem);
  }
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 47.99rem) {
  .exp-team {
    --exp-team-container-spacing: 3rem;
    --exp-team-page-gutter: 1.5rem;

    padding: 5rem 0 6.5rem;
  }

  .exp-team__eyebrow {
    margin-bottom: 1rem;
    font-size: 0.75rem;
  }

  .exp-team__title {
    max-width: 31rem;
    font-size: clamp(2.25rem, 10vw, 3.25rem);
    line-height: 1.02;
  }

  .exp-team__title em,
  .exp-team__title i,
  .exp-team__title-emphasis {
    margin-top: 0.1em;
  }

  .exp-team__description {
    font-size: 1rem;
    line-height: 1.5;
  }

  .exp-team__navigation {
    margin-top: 2rem;
  }

  .exp-team__navigation button,
  .exp-team__previous,
  .exp-team__next {
    width: 3rem;
    height: 3rem;
  }

  .exp-team__navigation button svg {
    width: 1.15rem;
    height: 1.15rem;
  }

  .exp-team__slider-shell {
    margin-top: 4rem;
  }

  .exp-team__track {
    gap: 0.875rem;
  }

  .exp-team__card {
    flex-basis: min(86vw, 22rem);
    border-radius: 1.125rem;
  }

  .exp-team__profile {
    right: 0.875rem;
    bottom: 0.875rem;
    left: 0.875rem;
    min-height: 6.25rem;
    padding: 1.25rem;
    border-radius: 0.875rem;
  }

  .exp-team__name {
    font-size: clamp(1.4rem, 6.5vw, 1.75rem);
  }

  .exp-team__role {
    margin-top: 0.35rem;
    font-size: 0.9375rem;
  }
}


/* ---------------------------------------------------------
   Small mobile
   --------------------------------------------------------- */

@media (max-width: 24rem) {
  .exp-team {
    --exp-team-container-spacing: 2.5rem;
    --exp-team-page-gutter: 1.25rem;
  }

  .exp-team__card {
    flex-basis: 86vw;
  }
}


/* ---------------------------------------------------------
   Reduced motion
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .exp-team__viewport {
    scroll-behavior: auto !important;
  }

  .exp-team__navigation button,
  .exp-team__card,
  .exp-team__image img,
  .exp-team__profile,
  .exp-team__name,
  .exp-team__heading,
  .exp-team__summary {
    transition: none !important;
  }

  .exp-team.is-enhanced .exp-team__heading,
  .exp-team.is-enhanced .exp-team__summary,
  .exp-team.is-enhanced .exp-team__card {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  .exp-team.is-enhanced
  .exp-team__card.is-card-visible:hover {
    transform: translateY(-0.25rem);
  }
}

.exp-team__viewport {
  min-width: 0;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

.exp-team__track {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  min-width: 100%;
}

.exp-team__card {
  flex-shrink: 0 !important;
}

/* =========================================================
   EXPONENT — BUSINESS OWNER INSIGHTS
   Divi 5 Blog Module Carousel
   ========================================================= */

/* ---------------------------------------------------------
   Section
   --------------------------------------------------------- */

.exp-insights-shell.et_pb_section {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background-color: var(--exp-color-white);

  padding:
    var(--exp-section-padding-block)
    0
    clamp(2rem, 3vw, 3rem) !important;
}

.exp-insights-shell,
.exp-insights-shell *,
.exp-insights-shell *::before,
.exp-insights-shell *::after {
  box-sizing: border-box;
}


/* ---------------------------------------------------------
   Divi rows and columns
   --------------------------------------------------------- */

.exp-insights-shell .exp-insights-header-row,
.exp-insights-shell .exp-insights-blog-row {
  width: min(
    calc(100% - var(--exp-container-spacing)),
    var(--exp-container-max-width)
  ) !important;

  max-width: var(--exp-container-max-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 !important;
}

.exp-insights-shell .exp-insights-header-row .et_pb_column,
.exp-insights-shell .exp-insights-blog-row .et_pb_column {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-insights-shell .exp-insights-header-row .et_pb_code,
.exp-insights-shell .exp-insights-header-row .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}


/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.exp-insights__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: clamp(3rem, 8vw, 8rem);
  width: 100%;
}

.exp-insights__heading {
  min-width: 0;
}

.exp-insights__title {
  max-width: 40rem;
}


/* ---------------------------------------------------------
   Header actions
   --------------------------------------------------------- */

.exp-insights__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding-top: clamp(2.5rem, 3.5vw, 3.5rem);
}

.exp-insights__all-articles {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 2.75rem;
  padding: 0 clamp(1.4rem, 1.8vw, 2rem);

  border: 1px solid transparent;
  border-radius: var(--exp-radius-pill);

  color: var(--exp-color-navy);
  background-color: rgba(var(--exp-color-navy-rgb), 0.07);

  text-decoration: none;
  white-space: nowrap;

  transition:
    color var(--exp-transition-fast) ease,
    background-color var(--exp-transition-fast) ease,
    border-color var(--exp-transition-fast) ease,
    transform var(--exp-transition-normal) var(--exp-ease-premium);
}

.exp-insights__all-articles:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: 4px;
}


/* ---------------------------------------------------------
   Carousel navigation
   --------------------------------------------------------- */

.exp-insights__navigation {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.exp-insights__counter {
  display: none;
  align-items: center;

  margin: 0 0.5rem 0 0;
  padding: 0;

  color: rgba(var(--exp-color-navy-rgb), 0.6);

  font-family: var(--exp-font-primary);
  font-size: var(--exp-meta-font-size);
  font-weight: var(--exp-meta-font-weight);
  line-height: var(--exp-meta-line-height);
  letter-spacing: var(--exp-meta-letter-spacing);
  font-variant-numeric: tabular-nums;
}

.exp-insights__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;

  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;

  border: 1px solid rgba(var(--exp-color-navy-rgb), 0.1);
  border-radius: 50%;

  color: var(--exp-color-navy);
  background-color: rgba(var(--exp-color-navy-rgb), 0.06);

  cursor: pointer;
  appearance: none;

  transition:
    color var(--exp-transition-fast) ease,
    background-color var(--exp-transition-fast) ease,
    border-color var(--exp-transition-fast) ease,
    opacity var(--exp-transition-fast) ease,
    transform var(--exp-transition-normal) var(--exp-ease-premium);
}

.exp-insights__arrow svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  pointer-events: none;
}

.exp-insights__arrow:disabled {
  opacity: 0.28;
  cursor: default;
}

.exp-insights__arrow:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: 3px;
}


/* ---------------------------------------------------------
   Blog row
   --------------------------------------------------------- */

.exp-insights-shell .exp-insights-blog-row {
  margin-top: var(--exp-section-header-bottom-gap) !important;
  padding-bottom: clamp(5rem, 8vw, 8rem) !important;
}


/* ---------------------------------------------------------
   Blog module — carousel viewport
   --------------------------------------------------------- */

.exp-insights-blog.et_pb_module {
  --exp-insights-gap: 1rem;

  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch;
  gap: var(--exp-insights-gap);

  width: 100%;
  min-width: 0;

  margin: 0 !important;
  padding: 0.25rem 0 0.5rem !important;

  overflow-x: auto !important;
  overflow-y: hidden !important;

  scroll-snap-type: x mandatory;
  scroll-padding-inline-start: 0;
  overscroll-behavior-inline: contain;

  touch-action: pan-x pan-y;
  scrollbar-width: none;

  background: transparent !important;
  -webkit-overflow-scrolling: touch;
}

.exp-insights-blog.et_pb_module::-webkit-scrollbar {
  display: none;
}


/* ---------------------------------------------------------
   Divi wrappers

   Divi 5 agrega:
   .et_pb_ajax_pagination_container
   > .et_pb_blog_posts.et_block_module
   > article.et_pb_post

   Ambos wrappers deben eliminarse visualmente para que los
   articles participen directamente en el flex del carrusel.
   --------------------------------------------------------- */

.exp-insights-blog .et_pb_ajax_pagination_container,
.exp-insights-blog .et_pb_blog_posts,
.exp-insights-blog .et_pb_salvattore_content,
.exp-insights-blog .column {
  display: contents !important;
}


/* ---------------------------------------------------------
   Hide unused Divi elements
   --------------------------------------------------------- */

.exp-insights-blog .pagination,
.exp-insights-blog .wp-pagenavi,
.exp-insights-blog .et_pb_post .post-content,
.exp-insights-blog .et_pb_post .post-content-inner,
.exp-insights-blog .et_pb_post .more-link,
.exp-insights-blog .et_overlay {
  display: none !important;
}


/* ---------------------------------------------------------
   Article cards — desktop: 3 visible
   --------------------------------------------------------- */

.exp-insights-blog .et_pb_post {
  position: relative;

  display: block !important;
  flex: 0 0 calc(33.333333% - 0.666667rem) !important;

  width: calc(33.333333% - 0.666667rem) !important;
  max-width: none !important;
  min-width: 0;

  float: none !important;
  clear: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  scroll-snap-align: start;
  scroll-snap-stop: always;
}


/* ---------------------------------------------------------
   Featured image
   Supports both Divi 4 and Divi 5 markup
   --------------------------------------------------------- */

.exp-insights-blog .et_pb_post .et_pb_image_container,
.exp-insights-blog .et_pb_post > .entry-featured-image-url {
  position: relative;

  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden;
  border-radius: var(--exp-radius-medium);

  background-color: var(--exp-color-gray-light);
  isolation: isolate;
}

.exp-insights-blog .et_pb_image_container .entry-featured-image-url {
  position: relative;

  display: block !important;
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden;
}

.exp-insights-blog .entry-featured-image-url::after {
  position: absolute;
  inset: 0;
  z-index: 1;

  content: "";
  pointer-events: none;

  background: linear-gradient(
    180deg,
    rgba(var(--exp-color-navy-rgb), 0.07) 0%,
    rgba(var(--exp-color-navy-rgb), 0) 42%,
    rgba(var(--exp-color-navy-rgb), 0.06) 100%
  );

  opacity: 0.5;

  transition:
    opacity var(--exp-transition-normal) ease;
}

.exp-insights-blog .entry-featured-image-url img,
.exp-insights-blog .et_pb_image_container img {
  display: block;

  width: 100% !important;
  height: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover;
  object-position: center;
  user-select: none;
  pointer-events: none;

  transform: scale(1.001);

  transition:
    transform var(--exp-transition-slow) var(--exp-ease-premium);
}


/* ---------------------------------------------------------
   Category label
   --------------------------------------------------------- */

.exp-insights-blog .et_pb_post .post-meta {
  position: absolute;
  top: clamp(0.75rem, 1vw, 1rem);
  left: clamp(0.75rem, 1vw, 1rem);
  z-index: 4;

  display: inline-flex !important;
  align-items: center;

  width: fit-content;
  max-width: calc(100% - 2rem);
  min-height: 1.75rem;

  margin: 0 !important;
  padding: 0.4rem 0.7rem !important;

  overflow: hidden;

  border: 1px solid rgba(var(--exp-color-white-rgb), 0.16);
  border-radius: var(--exp-radius-pill);

  color: var(--exp-color-white) !important;
  background-color: rgba(32, 32, 32, 0.38);

  font-family: var(--exp-font-primary) !important;
  font-size: var(--exp-meta-font-size) !important;
  font-style: var(--exp-font-style-regular) !important;
  font-weight: var(--exp-meta-font-weight) !important;
  line-height: var(--exp-meta-line-height) !important;
  letter-spacing: var(--exp-meta-letter-spacing) !important;

  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;

  transition:
    background-color var(--exp-transition-fast) ease,
    transform var(--exp-transition-normal) var(--exp-ease-premium);
}

.exp-insights-blog .et_pb_post .post-meta a {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
}


/* ---------------------------------------------------------
   Article title
   --------------------------------------------------------- */

.exp-insights-blog .et_pb_post .entry-title {
  max-width: 94%;

  margin: clamp(1.25rem, 1.6vw, 1.75rem) 0 0 !important;
  padding: 0 !important;

  color: var(--exp-color-navy) !important;

  font-family: var(--exp-font-primary) !important;
  font-size: var(--exp-card-title-font-size) !important;
  font-style: var(--exp-font-style-regular) !important;
  font-weight: var(--exp-card-title-font-weight) !important;
  line-height: var(--exp-card-title-line-height) !important;
  letter-spacing: var(--exp-card-title-letter-spacing) !important;

  text-wrap: pretty;

  transition:
    color var(--exp-transition-fast) ease,
    transform var(--exp-transition-normal) var(--exp-ease-premium);
}

.exp-insights-blog .et_pb_post .entry-title a {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
}


/* ---------------------------------------------------------
   Focus states
   --------------------------------------------------------- */

.exp-insights-blog.et_pb_module:focus {
  outline: none;
}

.exp-insights-blog.et_pb_module:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: 0.5rem;
  border-radius: var(--exp-radius-small);
}

.exp-insights-blog .entry-featured-image-url:focus-visible,
.exp-insights-blog .entry-title a:focus-visible,
.exp-insights-blog .post-meta a:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: 3px;
}


/* ---------------------------------------------------------
   Hover effects
   --------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {
  .exp-insights__all-articles:hover {
    color: var(--exp-color-white);
    background-color: var(--exp-color-navy);
    transform: translateY(-2px);
  }

  .exp-insights__arrow:not(:disabled):hover {
    color: var(--exp-color-white);
    border-color: var(--exp-color-navy);
    background-color: var(--exp-color-navy);
    transform: translateY(-2px);
  }

  .exp-insights-blog .et_pb_post:hover .entry-featured-image-url img {
    transform: scale(1.025);
  }

  .exp-insights-blog .et_pb_post:hover .entry-featured-image-url::after {
    opacity: 0.75;
  }

  .exp-insights-blog .et_pb_post:hover .post-meta {
    background-color: rgba(var(--exp-color-navy-rgb), 0.75);
    transform: translateY(-1px);
  }

  .exp-insights-blog .et_pb_post:hover .entry-title {
    color: rgba(var(--exp-color-navy-rgb), 0.72) !important;
    transform: translateX(2px);
  }
}


/* ---------------------------------------------------------
   Entrance animations
   --------------------------------------------------------- */

.exp-insights-shell.is-enhanced .exp-insights__heading,
.exp-insights-shell.is-enhanced .exp-insights__actions {
  opacity: 0;
  transform: translateY(1.25rem);

  transition:
    opacity var(--exp-transition-slow) ease,
    transform var(--exp-transition-slow) var(--exp-ease-premium);
}

.exp-insights-shell.is-enhanced .exp-insights__actions {
  transition-delay: 80ms;
}

.exp-insights-shell.is-enhanced.is-visible .exp-insights__heading,
.exp-insights-shell.is-enhanced.is-visible .exp-insights__actions {
  opacity: 1;
  transform: translateY(0);
}

.exp-insights-shell.is-enhanced .exp-insights-blog .et_pb_post {
  opacity: 0;
  transform: translateY(1.5rem);
}

.exp-insights-shell.is-enhanced
  .exp-insights-blog
  .et_pb_post.is-card-visible {
  opacity: 1;
  transform: translateY(0);

  transition:
    opacity var(--exp-transition-slow) ease,
    transform var(--exp-transition-slow) var(--exp-ease-premium);
}


/* =========================================================
   TABLET
   2 cards visible
   ========================================================= */

@media (max-width: 64rem) {
  .exp-insights__header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2.5rem;
  }

  .exp-insights__actions {
    align-self: end;
    padding-top: 2rem;
  }

  .exp-insights-blog .et_pb_post {
    flex-basis: calc(50% - 0.5rem) !important;
    width: calc(50% - 0.5rem) !important;
  }

  .exp-insights-shell .exp-insights-blog-row {
    padding-bottom: clamp(4.5rem, 7vw, 6rem) !important;
  }
}


/* =========================================================
   MOBILE
   1 card with next-card preview
   ========================================================= */

@media (max-width: 47.99rem) {
  .exp-insights-shell.et_pb_section {
    padding:
      var(--exp-section-padding-block)
      0
      2rem !important;
  }

  .exp-insights__header {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .exp-insights__title {
    max-width: 32rem;
  }

  .exp-insights__actions {
    justify-content: space-between;
    width: 100%;
    padding-top: 0;
  }

  .exp-insights__all-articles {
    min-height: 2.625rem;
    padding-inline: 1.375rem;
  }

  .exp-insights__navigation {
    margin-left: auto;
  }

  .exp-insights__counter {
    display: inline-flex;
  }

  .exp-insights__arrow {
    width: 2.625rem;
    height: 2.625rem;
  }

  .exp-insights-blog.et_pb_module {
    --exp-insights-gap: 0.875rem;

    width: calc(100% + var(--exp-container-gutter));
    max-width: none;

    padding-right: var(--exp-container-gutter) !important;
  }

  .exp-insights-blog .et_pb_post {
    flex-basis: min(82vw, 22rem) !important;
    width: min(82vw, 22rem) !important;
  }

  .exp-insights-blog .et_pb_post .et_pb_image_container,
  .exp-insights-blog .et_pb_post > .entry-featured-image-url {
    border-radius: 1rem;
  }

  .exp-insights-blog .et_pb_post .entry-title {
    max-width: 96%;
    margin-top: 1.125rem !important;
  }

  .exp-insights-shell .exp-insights-blog-row {
    padding-bottom: 4.5rem !important;
  }
}


/* ---------------------------------------------------------
   Small mobile
   --------------------------------------------------------- */

@media (max-width: 24rem) {
  .exp-insights__counter {
    display: none;
  }

  .exp-insights-blog .et_pb_post {
    flex-basis: 84vw !important;
    width: 84vw !important;
  }
}


/* ---------------------------------------------------------
   Reduced motion
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .exp-insights-blog.et_pb_module {
    scroll-behavior: auto !important;
  }

  .exp-insights__all-articles,
  .exp-insights__arrow,
  .exp-insights__heading,
  .exp-insights__actions,
  .exp-insights-blog .et_pb_post,
  .exp-insights-blog .entry-featured-image-url::after,
  .exp-insights-blog .entry-featured-image-url img,
  .exp-insights-blog .post-meta,
  .exp-insights-blog .entry-title {
    transition: none !important;
  }

  .exp-insights-shell.is-enhanced .exp-insights__heading,
  .exp-insights-shell.is-enhanced .exp-insights__actions,
  .exp-insights-shell.is-enhanced .exp-insights-blog .et_pb_post {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =========================================================
   EXPONENT — FAQ SECTION
   Custom responsive accordion
   ========================================================= */


/* ---------------------------------------------------------
   Section
   --------------------------------------------------------- */

.exp-faq-shell.et_pb_section {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding:
    var(--exp-section-padding-block)
    0 !important;

  overflow: hidden;

  border: 0 !important;
  background-color: var(--exp-color-white) !important;
}

.exp-faq-shell,
.exp-faq-shell *,
.exp-faq-shell *::before,
.exp-faq-shell *::after {
  box-sizing: border-box;
}


/* ---------------------------------------------------------
   Divi container
   --------------------------------------------------------- */

.exp-faq-shell .exp-faq-row {
  width: min(
    calc(100% - var(--exp-container-spacing)),
    var(--exp-container-max-width)
  ) !important;

  max-width: var(--exp-container-max-width) !important;

  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 !important;

  border: 0 !important;
}

.exp-faq-shell .exp-faq-row::before,
.exp-faq-shell .exp-faq-row::after {
  display: none !important;
}

.exp-faq-shell .exp-faq-row .et_pb_column {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exp-faq-shell .exp-faq-row .et_pb_code,
.exp-faq-shell .exp-faq-row .et_pb_code_inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}


/* ---------------------------------------------------------
   Main layout
   --------------------------------------------------------- */

.exp-faq {
  display: grid;
  grid-template-columns:
    minmax(15rem, 0.82fr)
    minmax(30rem, 1fr);

  align-items: start;
  gap: clamp(4rem, 9vw, 9rem);

  width: 100%;
}


/* ---------------------------------------------------------
   Section header
   --------------------------------------------------------- */

.exp-faq__header {
  min-width: 0;
}

.exp-faq__eyebrow {
  margin-bottom: var(--exp-eyebrow-title-gap);
}

.exp-faq__title {
  max-width: 28rem;
  margin: 0;
}

.exp-faq__title em {
  display: block;

  color: inherit;

  font-family: var(--exp-font-editorial);
  font-style: var(--exp-font-style-italic);
  font-weight: var(--exp-font-weight-regular);
}


/* ---------------------------------------------------------
   Accordion container
   --------------------------------------------------------- */

.exp-faq__accordion {
  display: grid;
  gap: clamp(0.75rem, 1vw, 0.875rem);

  width: 100%;
  min-width: 0;
}


/* ---------------------------------------------------------
   Accordion item
   --------------------------------------------------------- */

.exp-faq__item {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;

  overflow: hidden;

  border: 0;
  border-radius: var(--exp-radius-medium);
  background-color: var(--exp-color-gray-light);

  transition:
    background-color var(--exp-transition-fast) ease,
    box-shadow var(--exp-transition-normal) ease,
    transform var(--exp-transition-normal) var(--exp-ease-premium);
}


/* ---------------------------------------------------------
   Question
   --------------------------------------------------------- */

.exp-faq__question {
  margin: 0 !important;
  padding: 0 !important;

  color: inherit;
  font: inherit;
}


/* ---------------------------------------------------------
   Trigger button
   --------------------------------------------------------- */

.exp-faq__trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1rem, 2vw, 2rem);

  width: 100%;
  min-height: clamp(5.25rem, 6vw, 5.75rem);

  margin: 0;
  padding:
    clamp(1.35rem, 1.8vw, 1.75rem)
    clamp(1.4rem, 2.25vw, 2rem);

  border: 0;
  border-radius: inherit;

  color: var(--exp-color-navy);
  background: transparent;

  font-family: var(--exp-font-primary);
  font-size: var(--exp-card-title-font-size);
  font-style: var(--exp-font-style-regular);
  font-weight: var(--exp-font-weight-regular);
  line-height: var(--exp-card-title-line-height);
  letter-spacing: var(--exp-card-title-letter-spacing);
  text-align: left;

  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;

  transition:
    color var(--exp-transition-fast) ease,
    padding var(--exp-transition-normal) var(--exp-ease-premium);
}

.exp-faq__question-text {
  display: block;
  min-width: 0;
  max-width: 34rem;
  text-wrap: pretty;
}


/* ---------------------------------------------------------
   Plus / minus icon
   --------------------------------------------------------- */

.exp-faq__icon {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;

  width: clamp(2.25rem, 3vw, 2.5rem);
  height: clamp(2.25rem, 3vw, 2.5rem);

  border-radius: 50%;

  color: var(--exp-color-navy);
  background-color: rgba(var(--exp-color-navy-rgb), 0.04);

  transition:
    color var(--exp-transition-fast) ease,
    background-color var(--exp-transition-fast) ease,
    transform var(--exp-transition-normal) var(--exp-ease-premium);
}

.exp-faq__icon-line {
  position: absolute;
  top: 50%;
  left: 50%;

  display: block;

  width: 1rem;
  height: 1px;

  background-color: currentColor;
  transform: translate(-50%, -50%);

  transition:
    opacity var(--exp-transition-fast) ease,
    transform var(--exp-transition-normal) var(--exp-ease-premium);
}

/* Línea vertical del símbolo + */
.exp-faq__icon-line:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg);
}


/* ---------------------------------------------------------
   Answer panel
   --------------------------------------------------------- */

.exp-faq__panel {
  display: grid;
  grid-template-rows: 0fr;

  width: 100%;

  opacity: 0;
  visibility: hidden;

  transition:
    grid-template-rows var(--exp-transition-normal)
      var(--exp-ease-premium),
    opacity var(--exp-transition-fast) ease,
    visibility 0s linear var(--exp-transition-normal);
}

.exp-faq__panel-inner {
  min-height: 0;
  overflow: hidden;
}

.exp-faq__answer {
  max-width: 36rem;

  margin: 0 !important;
  padding:
    0
    clamp(4.75rem, 6vw, 5.5rem)
    clamp(1.5rem, 2vw, 1.875rem)
    clamp(1.4rem, 2.25vw, 2rem) !important;

  color: rgba(var(--exp-color-navy-rgb), 0.72);
  text-wrap: pretty;
}


/* ---------------------------------------------------------
   Open state
   --------------------------------------------------------- */

.exp-faq__item.is-open {
  background-color: rgba(var(--exp-color-gray-light-rgb), 0.86);

  box-shadow:
    0 1rem 2.5rem rgba(var(--exp-color-navy-rgb), 0.055);
}

.exp-faq__item.is-open .exp-faq__trigger {
  padding-bottom: 0.875rem;
}

.exp-faq__item.is-open .exp-faq__icon {
  color: var(--exp-color-white);
  background-color: var(--exp-color-navy);
}

/* La línea vertical desaparece y el + se convierte en − */
.exp-faq__item.is-open
  .exp-faq__icon-line:nth-child(2) {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

.exp-faq__item.is-open .exp-faq__panel {
  grid-template-rows: 1fr;

  opacity: 1;
  visibility: visible;

  transition:
    grid-template-rows var(--exp-transition-normal)
      var(--exp-ease-premium),
    opacity var(--exp-transition-fast) ease,
    visibility 0s linear 0s;
}


/* ---------------------------------------------------------
   Hover states
   --------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {
  .exp-faq__item:not(.is-open):hover {
    background-color: rgba(var(--exp-color-navy-rgb), 0.055);
    transform: translateY(-2px);
  }

  .exp-faq__trigger:hover .exp-faq__icon {
    background-color: rgba(var(--exp-color-navy-rgb), 0.09);
    transform: scale(1.04);
  }

  .exp-faq__item.is-open
    .exp-faq__trigger:hover
    .exp-faq__icon {
    color: var(--exp-color-white);
    background-color: var(--exp-color-navy);
  }
}


/* ---------------------------------------------------------
   Keyboard focus
   --------------------------------------------------------- */

.exp-faq__trigger:focus {
  outline: none;
}

.exp-faq__trigger:focus-visible {
  outline: 2px solid var(--exp-color-gold);
  outline-offset: -4px;
}


/* ---------------------------------------------------------
   Entrance animation
   JS adds .is-enhanced and .is-visible
   --------------------------------------------------------- */

.exp-faq__accordion.is-enhanced .exp-faq__item {
  opacity: 0;
  transform: translateY(1rem);

  transition:
    opacity var(--exp-transition-slow) ease,
    transform var(--exp-transition-slow) var(--exp-ease-premium),
    background-color var(--exp-transition-fast) ease,
    box-shadow var(--exp-transition-normal) ease;
}

.exp-faq__accordion.is-enhanced.is-visible
  .exp-faq__item {
  opacity: 1;
  transform: translateY(0);
}

.exp-faq__accordion.is-enhanced.is-visible
  .exp-faq__item:nth-child(2) {
  transition-delay: 50ms;
}

.exp-faq__accordion.is-enhanced.is-visible
  .exp-faq__item:nth-child(3) {
  transition-delay: 100ms;
}

.exp-faq__accordion.is-enhanced.is-visible
  .exp-faq__item:nth-child(4) {
  transition-delay: 150ms;
}

.exp-faq__accordion.is-enhanced.is-visible
  .exp-faq__item:nth-child(5) {
  transition-delay: 200ms;
}

.exp-faq__accordion.is-enhanced.is-visible
  .exp-faq__item:nth-child(6) {
  transition-delay: 250ms;
}


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

@media (max-width: 64rem) {
  .exp-faq {
    grid-template-columns:
      minmax(13rem, 0.62fr)
      minmax(0, 1fr);

    gap: clamp(3rem, 6vw, 5rem);
  }

  .exp-faq__title {
    max-width: 24rem;
  }

  .exp-faq__trigger {
    min-height: 5.25rem;
  }
}


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

@media (max-width: 47.99rem) {
  .exp-faq-shell.et_pb_section {
    padding:
      clamp(4.5rem, 14vw, 6rem)
      0 !important;
  }

  .exp-faq {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2.75rem, 10vw, 4rem);
  }

  .exp-faq__header,
  .exp-faq__title {
    max-width: 100%;
  }

  .exp-faq__accordion {
    gap: 0.75rem;
  }

  .exp-faq__item {
    border-radius: 1rem;
  }

  .exp-faq__trigger {
    gap: 1rem;

    min-height: 5rem;

    padding:
      1.25rem
      1.125rem;

    font-size: var(--exp-card-title-font-size);
  }

  .exp-faq__question-text {
    max-width: none;
  }

  .exp-faq__icon {
    width: 2.25rem;
    height: 2.25rem;
  }

  .exp-faq__icon-line {
    width: 0.875rem;
  }

  .exp-faq__item.is-open .exp-faq__trigger {
    padding-bottom: 0.75rem;
  }

  .exp-faq__answer {
    max-width: none;

    padding:
      0
      1.125rem
      1.5rem
      1.125rem !important;
  }
}


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

@media (max-width: 24rem) {
  .exp-faq__trigger {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .exp-faq__answer {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
}


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

@media (prefers-reduced-motion: reduce) {
  .exp-faq__item,
  .exp-faq__trigger,
  .exp-faq__icon,
  .exp-faq__icon-line,
  .exp-faq__panel,
  .exp-faq__accordion.is-enhanced .exp-faq__item {
    transition: none !important;
  }

  .exp-faq__accordion.is-enhanced .exp-faq__item {
    opacity: 1 !important;
    transform: none !important;
  }
}