/* A faixa inteira forma um arco: curva apenas nas duas pontas, sem recortes no meio. */
.welcome-carousel { min-width: 0; overflow: hidden; }
.welcome-strip {
  position: relative;
  display: flex;
  gap: 0;
  width: 100%;
  height: 740px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}
.welcome-strip::-webkit-scrollbar { display: none; }
.welcome-slide {
  flex: 0 0 90%;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.welcome-slide:first-child { border-top-left-radius: 58% 46%; }
.welcome-slide:last-child { border-top-right-radius: 58% 46%; scroll-snap-align: end; }
.welcome-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 55%;
  user-select: none;
  -webkit-user-drag: none;
}
.welcome-strip.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.welcome-strip:focus-visible { outline-offset: -5px; }
.welcome-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 23px; padding-top: 21px; }
.welcome-carousel-dots { display: flex; align-items: center; gap: 9px; }
.welcome-carousel-dots button {
  display: block;
  width: 34px;
  height: 28px;
  border: 0;
  padding: 12px 0;
  background: linear-gradient(var(--olive),var(--olive)) center / 100% 2px no-repeat;
}
.welcome-carousel-dots button.active { background-image: linear-gradient(var(--ember),var(--ember)); }
.welcome-swipe-hint { display: none; font: 11px/1.5 var(--sans); color: var(--text); }
.welcome-carousel-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(min-width:1650px) { .welcome-strip { height: 800px; } }
@media(max-width:1199px) { .welcome-strip { height: 680px; } }
@media(max-width:900px) { .welcome-strip { height: 650px; } }
@media(max-width:600px) {
  .welcome-carousel { margin-left: 18px; }
  .welcome-strip { height: 480px; }
  .welcome-slide { flex-basis: 91%; }
  .welcome-slide:first-child { border-top-left-radius: 58% 43%; }
  .welcome-slide:last-child { border-top-right-radius: 58% 43%; }
  .welcome-carousel-controls { gap: 18px; padding-top: 14px; padding-right: 18px; }
  .welcome-swipe-hint { display: inline; }
}
@media(prefers-reduced-motion:reduce) { .welcome-strip { scroll-behavior: auto; } }
