/* Homepage speed section — Big 4 timeline + bridge-style quote */

.speed-section {
  --cs2-navy: var(--azul-midnight-ink);
  --cs2-mist: var(--azul-mist-blue);
  --cs2-cyan: var(--azul-electric-cyan);
  --cs2-signal: var(--azul-signal-blue);
  background: var(--azul-midnight-ink);
  color: #fff;
  padding: clamp(72px, 10vw, 120px) 0;
}

.speed-section__inner {
  width: min(1120px, calc(100% - (var(--gutter) * 2)));
  margin: 0 auto;
}

.speed-section__headline {
  margin: 0 0 0.65em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #fff;
}

.speed-section__lead {
  margin: 0 0 clamp(40px, 6vw, 64px);
  max-width: 46rem;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.55;
  color: rgba(247, 250, 252, 0.82);
}

.speed-section .cs2-timeline {
  padding: 0;
  background: transparent;
}

.speed-section .cs2-timeline__inner {
  width: 100%;
  max-width: none;
}

.speed-section .cs2-timeline__head {
  display: none;
}

.speed-section .cs2-timeline__bar {
  margin-top: clamp(36px, 5vw, 52px);
}

.speed-section .cs2-btn--cyan {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85em 1.35em;
  border-radius: 999px;
  background: var(--azul-electric-cyan);
  color: var(--azul-midnight-ink);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.speed-section .cs2-btn--cyan:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.speed-quote {
  margin-top: clamp(48px, 7vw, 72px);
  padding-top: clamp(36px, 5vw, 48px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.speed-quote .bridge-quote {
  padding-left: 0;
  max-width: 52rem;
}

@media (max-width: 900px) {
  .speed-quote .bridge-quote {
    margin: 0;
    max-width: none;
  }

  .speed-quote .bridge-quote__caption {
    text-align: left;
    padding-left: 0;
    padding-right: 0;
  }

  .speed-quote .bridge-quote__caption blockquote p {
    text-align: left;
  }
}

@media (max-width: 720px) {
  .speed-section .cs2-timeline__track {
    grid-template-columns: 1fr 1fr;
    gap: 28px 18px;
  }

  .speed-section .cs2-stop::before {
    display: none;
  }
}

@media (max-width: 480px) {
  .speed-section .cs2-timeline__track {
    grid-template-columns: 1fr;
  }
}
