/* Gen1service service-image slider: isolated responsive styles */
.gen1-slider, .gen1-slider * { box-sizing: border-box; }
.gen1-slider {
  --g1-slider-gap: 20px;
  position: relative;
  width: min(100% - 32px, 1400px);
  margin: 22px auto 28px;
  padding: 12px 0 24px;
  background: transparent;
}
.gen1-slider .slider-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 14px;
  isolation: isolate;
}
.gen1-slider .slider-wrapper {
  display: flex;
  align-items: stretch;
  gap: var(--g1-slider-gap);
  width: 100%;
  transform: translate3d(0,0,0);
  transition: transform .48s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.gen1-slider .slide-card {
  position: relative;
  flex: 0 0 calc((100% - (2 * var(--g1-slider-gap))) / 3);
  min-width: 0;
  aspect-ratio: 16 / 8.2;
  overflow: hidden;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  background: #eef5f8;
  box-shadow: 0 8px 24px rgba(22,58,88,.10);
  transition: box-shadow .25s ease, border-color .25s ease;
}
.gen1-slider .slide-card:hover {
  border-color: #9fc6dc;
  box-shadow: 0 13px 28px rgba(22,58,88,.16);
}
.gen1-slider .slide-card a { display:block; width:100%; height:100%; }
.gen1-slider .slide-card img {
  display:block;
  width:100%; height:100%;
  object-fit: cover;
  object-position: center;
  background: #edf4f8;
}
.gen1-slider .nav-arrow {
  position:absolute; top:50%; z-index:5;
  display:grid; place-items:center;
  width:42px; height:42px;
  padding:0;
  border:1px solid rgba(207,225,236,.95);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#173c66;
  font-size:20px; line-height:1;
  box-shadow:0 5px 16px rgba(20,50,78,.15);
  cursor:pointer;
  transform:translateY(-50%);
  transition:background .2s ease, color .2s ease, opacity .2s ease;
}
.gen1-slider .nav-arrow:hover { background:#236a9f; color:#fff; }
.gen1-slider .nav-arrow:focus-visible, .gen1-slider .dot:focus-visible { outline:3px solid #2c969b; outline-offset:3px; }
.gen1-slider .prev { left:12px; }
.gen1-slider .next { right:12px; }
.gen1-slider .dots-container { display:flex; justify-content:center; align-items:center; gap:8px; min-height:14px; margin-top:18px; }
.gen1-slider .dot { display:block; width:8px; height:8px; padding:0; border:0; border-radius:50px; background:#c4d2dc; cursor:pointer; transition:width .25s ease, background .25s ease; }
.gen1-slider .dot.active { width:24px; background:#ff6427; }
@media (max-width:1024px) {
  .gen1-slider { --g1-slider-gap:16px; width:calc(100% - 28px); }
  .gen1-slider .slide-card { flex-basis:calc((100% - var(--g1-slider-gap)) / 2); }
}
@media (max-width:600px) {
  .gen1-slider { --g1-slider-gap:12px; width:calc(100% - 20px); margin:14px auto 20px; padding:4px 0 18px; }
  .gen1-slider .slider-container { border-radius:10px; }
  /* Mobile: keep the whole banner visible instead of cropping its edges. */
  .gen1-slider .slide-card { flex-basis:100%; aspect-ratio: 16 / 9; border-radius:10px; background:#eaf2f7; }
  .gen1-slider .slide-card a { display:flex; align-items:center; justify-content:center; }
  .gen1-slider .slide-card img { width:100%; height:100%; object-fit:contain; object-position:center; }
  .gen1-slider .nav-arrow { width:34px; height:34px; font-size:17px; }
  .gen1-slider .prev { left:8px; }
  .gen1-slider .next { right:8px; }
  .gen1-slider .dots-container { gap:6px; margin-top:13px; }
  .gen1-slider .dot { width:6px; height:6px; }
  .gen1-slider .dot.active { width:18px; }
}
@media (prefers-reduced-motion: reduce) {
  .gen1-slider .slider-wrapper, .gen1-slider .slide-card, .gen1-slider .nav-arrow, .gen1-slider .dot { transition:none !important; }
}
