.operations-gallery {
  overflow: hidden;
  padding-block: 68px 76px;
  background: linear-gradient(180deg, #fff 0%, #f2f7fc 100%);
  border-block: 1px solid var(--line);
}
.operations-carousel-heading { max-width: 800px; text-align: center; }
.operations-carousel-heading .eyebrow { color: #bc1626; }
.operations-carousel-heading h2 { color: #0b1f3a; }
.operations-carousel-heading h2 span { color: #bc1626; }
.operations-gallery-subtitle { max-width: 660px; margin: 0 auto; color: #52647a; font-size: 18px; }
.operations-carousel { --carousel-gap: 22px; --carousel-slides-visible: 3; margin-top: 28px; }
.operations-carousel-window { position: relative; overflow: hidden; padding: 20px 4px 18px; touch-action: pan-y; }
.operations-carousel-track { display: flex; align-items: stretch; gap: var(--carousel-gap); will-change: transform; transition: transform 680ms cubic-bezier(.22, .7, .2, 1); }
.operations-carousel-slide {
  flex: 0 0 calc((100% - 44px) / 3);
  min-width: 0;
  margin: 0;
  padding: 10px;
  border: 1px solid rgba(11, 31, 58, .1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(11, 31, 58, .1);
  opacity: .78;
  transform: scale(.97);
  transition: opacity 360ms ease, transform 420ms ease, box-shadow 360ms ease;
}
.operations-carousel-slide[data-active="true"] { opacity: 1; transform: scale(1); box-shadow: 0 16px 38px rgba(11, 31, 58, .16); }
.operations-carousel-slide img {
  display: block;
  width: 100%;
  height: 360px;
  border-radius: 8px;
  background: #eaf1f8;
  object-fit: contain;
}
.operations-carousel-slide figcaption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.operations-carousel-arrow, .operations-carousel-playback, .operations-carousel-dot {
  display: inline-grid;
  place-items: center;
  flex: none;
  border: 1px solid rgba(11, 31, 58, .14);
  color: #bc1626;
  background: #fff;
  cursor: pointer;
}
.operations-carousel-arrow {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  box-shadow: 0 5px 18px rgba(11, 31, 58, .2);
  font-size: 20px;
}
.operations-carousel-arrow:hover, .operations-carousel-playback:hover { color: #fff; background: #0b1f3a; }
.operations-carousel-arrow:focus-visible, .operations-carousel-playback:focus-visible, .operations-carousel-dot:focus-visible { outline: 3px solid #146ca0; outline-offset: 3px; }
.operations-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin: 14px auto 0; }
.operations-carousel-playback { width: 44px; height: 44px; border-radius: 50%; font-size: 20px; }
.operations-carousel-dots { display: flex; align-items: center; justify-content: center; gap: 9px; }
.operations-carousel-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 99px; background: #a9b6c5; transition: width 220ms ease, background-color 220ms ease; }
.operations-carousel-dot[aria-current="true"] { width: 28px; background: #bc1626; }
.operations-carousel-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 960px) {
  .operations-carousel { --carousel-gap: 18px; --carousel-slides-visible: 2; }
  .operations-carousel-slide { flex-basis: calc((100% - 18px) / 2); }
  .operations-carousel-slide img { height: 340px; }
}
@media (max-width: 600px) {
  .operations-gallery { padding-block: 48px 54px; }
  .operations-carousel-heading h2 { font-size: 30px; }
  .operations-gallery-subtitle { font-size: 17px; }
  .operations-carousel { --carousel-gap: 14px; --carousel-slides-visible: 1; margin-top: 20px; }
  .operations-carousel-slide { flex-basis: 100%; padding: 8px; }
  .operations-carousel-slide img { height: 390px; }
  .operations-carousel-arrow { width: 42px; height: 42px; }
  .operations-carousel-controls { gap: 18px; margin-top: 12px; }
  .operations-carousel-playback { width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .operations-carousel-track, .operations-carousel-slide, .operations-carousel-dot { transition: none; }
}
