/* v0.1.8 testimonial, hero navigation, marquee and lower-page polish */

/* Let the testimonial carousel use the same editorial voice as the featured proof quote. */
.xa-quotes__track blockquote div,
.xa-quotes__track blockquote p {
  max-width: 1220px;
  color: var(--xa-navy);
  font-family: var(--xa-head) !important;
  font-size: clamp(2.6rem, 4.45vw, 4.8rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

/* Replace stacked rules with clean breathing room between the lower sections. */
.xa-testimonials {
  border-bottom: 0;
}

.xa-blog__grid {
  border-top: 0;
  padding-top: 0;
}

.xa-why:after {
  display: none;
}

/* Keep this CTA independent from the generic dark wipe animation. */
.xa-blog .xa-text-cta {
  isolation: auto;
  overflow: visible;
  padding: 11px 18px;
  border: 2px solid var(--xa-navy);
  background: transparent;
  color: var(--xa-navy);
  transition: color .3s, background-color .3s, border-color .3s, transform .3s, box-shadow .3s;
}

.xa-blog .xa-text-cta:before {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .xa-blog .xa-text-cta:hover {
    border-color: var(--xa-navy);
    background: var(--xa-navy);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(32, 56, 70, .18);
  }
}

/* A true, seamless motion band replaces the static impact-section caption. */
.xa-impact:after {
  content: none;
}

.xa-impact-marquee {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  padding: 17px 0;
  background: rgba(12, 19, 23, .86);
  color: #fff;
}

.xa-impact-marquee__track {
  display: flex;
  width: max-content;
  animation: xa-impact-scroll 25s linear infinite;
  will-change: transform;
}

.xa-impact-marquee__group {
  display: flex;
  flex: none;
  align-items: center;
  gap: clamp(34px, 4vw, 76px);
  padding-right: clamp(34px, 4vw, 76px);
}

.xa-impact-marquee span {
  display: flex;
  flex: none;
  align-items: center;
  gap: clamp(34px, 4vw, 76px);
  font-family: var(--xa-head);
  font-size: clamp(1.25rem, 1.75vw, 1.9rem);
  font-style: italic;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.xa-impact-marquee span:after {
  content: '';
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: var(--xa-red);
}

@keyframes xa-impact-scroll {
  to { transform: translateX(-50%); }
}

@media (hover: hover) and (pointer: fine) {
  .xa-impact-marquee:hover .xa-impact-marquee__track {
    animation-play-state: paused;
  }
}

/* Reversed brand watermark in place of the previous decorative circle. */
.xa-footer__wash {
  right: clamp(-70px, -3vw, -20px);
  top: 50%;
  width: clamp(280px, 29vw, 510px);
  height: clamp(220px, 23vw, 400px);
  border: 0;
  border-radius: 0;
  background: url('../images/logo-reversed.webp') center / contain no-repeat;
  opacity: .085;
  transform: translateY(-50%);
}

@media (max-width: 780px) {
  /* Core remains unchanged; the other two crops gain headroom without changing their shared bottom edge. */
  .xa-slide:nth-of-type(2) .xa-slide__media { top: -82px; }
  .xa-slide:nth-of-type(3) .xa-slide__media { top: -66px; }

  /* Float a larger, testimonial-style control over the final part of the image. */
  .xa-hero__controls {
    bottom: 72px;
    align-items: center;
    gap: 15px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 7px 22px rgba(32, 56, 70, .13);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
  }

  .xa-hero__controls button,
  .xa-hero__controls button:hover,
  .xa-hero__controls button:focus-visible {
    width: 11px;
    height: 11px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--xa-navy);
    box-shadow: none;
    transform: none;
  }

  .xa-hero__controls button.is-active,
  .xa-hero__controls button.is-active:hover,
  .xa-hero__controls button.is-active:focus-visible {
    width: 18px;
    height: 18px;
    border: 4px solid var(--xa-red);
    background: #fff;
  }

  .xa-quotes__track blockquote div,
  .xa-quotes__track blockquote p {
    font-size: clamp(2rem, 9vw, 3rem) !important;
    line-height: 1.14 !important;
  }

  .xa-impact-marquee {
    padding: 14px 0;
  }

  .xa-impact-marquee__track {
    animation-duration: 19s;
  }

  .xa-impact-marquee span {
    font-size: 1.12rem;
  }

  .xa-footer__wash {
    right: -75px;
    top: 60%;
    width: 330px;
    height: 260px;
    opacity: .075;
  }
}

@media (prefers-reduced-motion: reduce) {
  .xa-impact-marquee {
    overflow-x: auto;
  }

  .xa-impact-marquee__track {
    animation: none;
  }

  .xa-impact-marquee__group[aria-hidden='true'] {
    display: none;
  }
}
