/* projects.html — "Featured case studies" carousel.
   .projects-cases already exists in style.css as a plain flex row; this file
   turns it into a scroll-snap carousel with arrow controls, without touching style.css. */

.projects-cases-carousel { position: relative; width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 120px; box-sizing: border-box; }

.projects-cases {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 4px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.projects-cases::-webkit-scrollbar { display: none; }
.projects-cases .projects-case { flex: 0 0 384px; scroll-snap-align: start; }

.projects-cases-arrow {
  position: absolute;
  top: 130px;
  transform: translateY(-50%);
  z-index: 2;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 8px 20px rgba(41,31,20,0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--text-primary);
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.projects-cases-arrow:hover { background: var(--brand-copper-tint); }
.projects-cases-arrow:disabled { opacity: 0.35; cursor: default; }
.projects-cases-arrow:disabled:hover { background: var(--bg-surface); }
.projects-cases-arrow--prev { left: 8px; }
.projects-cases-arrow--next { right: 8px; }

@media (max-width: 767px) {
  .projects-cases-carousel { padding: 0 4px; }
  .projects-cases-arrow { display: none; }
  .projects-cases .projects-case { flex-basis: 82vw; max-width: 342px; }
}

/* ==========================================================================
   Trust band — redesigned from a cramped left-aligned row into a centered,
   breathing-room stat display, reusing the .stat-module component from
   style.css (already used on index.html) for visual consistency.
   ========================================================================== */
.projects-trust-band { padding: 80px 0; }
.projects-trust-band__inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px; }
.projects-trust-band__rule { width: 36px; height: 3px; border-radius: 2px; background: var(--accent-flame); }
.projects-trust-band__copy { font-family: var(--font-display); font-weight: 600; font-size: 28px; line-height: 36px; color: var(--text-primary); max-width: 640px; }
.projects-trust-band__stats { display: flex; align-items: center; gap: 40px; }
.projects-trust-band__stats .stat-module { align-items: center; text-align: center; }
.projects-trust-band__stats .stat-module__label { width: auto; max-width: 160px; }
.projects-trust-band__stat-sep { width: 1px; height: 48px; background: var(--border-strong); }

@media (max-width: 767px) {
  .projects-trust-band { padding: 56px 24px; }
  .projects-trust-band__copy { font-size: 22px; line-height: 30px; }
  .projects-trust-band__stats { gap: 24px; }
}
