.customer-showcase {
  padding: 76px 0 64px;
  background: #fff;
  color: #202530;
  text-align: left;
}
.customer-showcase-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 32px;
}
.customer-showcase .customer-showcase-eyebrow {
  margin: 0 0 14px;
  color: #a91832;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.customer-showcase h2 {
  margin: 0 0 16px;
  font-size: 34px;
  line-height: 1.25;
  letter-spacing: -0.7px;
  text-transform: none;
}
.customer-showcase .customer-showcase-intro {
  max-width: 680px;
  margin: 0;
  color: #596273;
  font-size: 17px;
  line-height: 1.6;
}
.customer-showcase-controls { display: flex; flex-shrink: 0; gap: 10px; }
.customer-showcase [hidden] { display: none; }
.customer-showcase-controls button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid #d9dfe8;
  border-radius: 50%;
  background: #fff;
  color: #202530;
  transition: background 150ms ease, border-color 150ms ease;
}
.customer-showcase-controls button:hover:not(:disabled) { background: #f8edf0; border-color: #a91832; color: #a91832; }
.customer-showcase-controls button:disabled { color: #aeb6c4; background: #f8f9fb; cursor: default; }
.customer-showcase-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px;
  margin: 0;
  padding: 4px 0 20px;
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: #c9ced8 #f4f5f8;
  -webkit-overflow-scrolling: touch;
}
.customer-showcase-track::-webkit-scrollbar { height: 5px; }
.customer-showcase-track::-webkit-scrollbar-track { background: #f4f5f8; border-radius: 4px; }
.customer-showcase-track::-webkit-scrollbar-thumb { background: #c9ced8; border-radius: 4px; }
.customer-showcase-slide { min-width: 0; scroll-snap-align: start; }
.customer-showcase-card {
  display: block;
  height: 100%;
  overflow: hidden;
  border: 1px solid #e1e6ed;
  border-radius: 14px;
  background: #fff;
  color: #202530;
  box-shadow: 0 4px 12px rgba(28, 39, 66, 0.04);
  text-decoration: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.customer-showcase-card:hover,
.customer-showcase-card:focus { border-color: #c0c8d5; color: #202530; box-shadow: 0 6px 16px rgba(28, 39, 66, 0.1); text-decoration: none; }
.customer-showcase-browser {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  border-bottom: 1px solid #e7eaf0;
  background: #f8f9fb;
  color: #687386;
  font-size: 10px;
  letter-spacing: 0.2px;
}
.customer-showcase-browser-dots { position: absolute; left: 12px; display: flex; gap: 4px; }
.customer-showcase-browser-dots i { width: 5px; height: 5px; border-radius: 50%; background: #ccd2dd; }
.customer-showcase-preview { overflow: hidden; background: #f0f2f6; }
.customer-showcase-preview img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 3; object-fit: cover; object-position: top; }
.customer-showcase-caption { padding: 24px; border-top: 1px solid #edf0f4; }
.customer-showcase-category { display: block; margin-bottom: 9px; color: #677184; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.customer-showcase h3 { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0; font-size: 22px; letter-spacing: -0.4px; line-height: 1.35; text-transform: none; }
.customer-showcase h3 span { color: #a91832; font-family: Arial, sans-serif; font-size: 23px; font-weight: 400; }
.customer-showcase-footer { display: flex; align-items: center; gap: 24px; margin-top: 24px; }
.customer-showcase .customer-showcase-status { min-width: 128px; margin: 0; color: #677184; font-size: 13px; }
.customer-showcase-progress { flex: 1; max-width: 160px; height: 3px; overflow: hidden; background: #e9ecf1; border-radius: 3px; }
.customer-showcase-progress span { display: block; width: 0; height: 100%; background: #a91832; transition: width 200ms ease; }
.customer-showcase-footer a { margin-left: auto; color: #a91832; font-size: 14px; font-weight: 700; }
.customer-showcase a:focus,
.customer-showcase button:focus,
.customer-showcase-track:focus { outline: 2px solid #305db0; outline-offset: 2px; }
.customer-showcase-card:focus { outline-offset: -3px; }
@media (max-width: 991px) {
  .customer-showcase-track { grid-auto-columns: calc((100% - 24px) / 2); }
}
@media (max-width: 767px) {
  .customer-showcase { padding: 52px 0 46px; }
  .customer-showcase-heading { flex-wrap: wrap; gap: 22px; margin-bottom: 24px; }
  .customer-showcase h2 { font-size: 27px; }
  .customer-showcase .customer-showcase-intro { font-size: 16px; }
  .customer-showcase-track { grid-auto-columns: 88%; gap: 16px; }
  .customer-showcase-caption { padding: 20px; }
  .customer-showcase h3 { font-size: 21px; }
  .customer-showcase-footer { flex-wrap: wrap; gap: 18px; margin-top: 20px; }
  .customer-showcase-progress { max-width: none; }
  .customer-showcase-footer a { width: 100%; margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .customer-showcase *, .customer-showcase *::before, .customer-showcase *::after { transition: none; }
}
