/* Motor unico da rotatoria. Usado por Home e Techouse. */
.rotator{
  --rotator-duration:30s;
  --rotator-gap:24px;
  position:relative;
  min-width:0;
  overflow:hidden;
}
.rotator__viewport{
  min-width:0;
  overflow:hidden;
  width:100%;
}
.rotator__track{
  display:flex;
  width:max-content;
  gap:0;
  animation:rotator-scroll var(--rotator-duration) linear infinite;
  animation-play-state:running;
  will-change:transform;
}
.rotator[data-rotator-paused="true"] .rotator__track{
  animation-play-state:paused;
}
@keyframes rotator-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.rotator__cycle{
  display:flex;
  align-items:center;
  gap:var(--rotator-gap);
  padding-inline-end:var(--rotator-gap);
  list-style:none;
  margin:0;
  flex:0 0 auto;
}
.rotator__item{display:flex;flex:0 0 auto}
.rotator__card{color:inherit;text-decoration:none}

/* Aparencia preservada da rotatoria da Home. */
.rotator--home{
  --rotator-gap:10px;
  padding:0 0 clamp(20px,3.4vw,28px);
}
.rotator--home .rotator__viewport{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}
.rotator--home .rotator__item{width:clamp(116px,30vw,190px)}
.rotator--home .rotator__card{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:16px 16px 18px;
  border:1px solid var(--on-dark-line);
  border-radius:12px;
  background:rgba(255,255,255,.045);
  color:var(--on-dark);
  transition:border-color .16s ease,background .16s ease;
}
.rotator--home .rotator__card:hover{
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.08);
}
.rotator--home .rotator__logo,
.rotator--home .rotator__badge{
  width:clamp(46px,12vw,58px);
  height:clamp(46px,12vw,58px);
  border-radius:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:5px;
  font-family:"Archivo",sans-serif;
  font-weight:700;
  font-size:1.25rem;
  color:var(--green);
}
.rotator--home .rotator__logo{object-fit:contain}
.rotator--home .rotator__content{display:contents}
.rotator--home .rotator__label{
  font-weight:600;
  font-size:.97rem;
  line-height:1.2;
  color:#fff;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.rotator--home .rotator__description{
  font-size:.79rem;
  line-height:1.25;
  color:var(--on-dark-2);
}
.rotator--home .rotator__item--vacancy .rotator__card{
  border-style:dashed;
  border-color:rgba(23,168,98,.55);
  background:transparent;
}
.rotator--home .rotator__item--vacancy .rotator__badge{
  background:transparent;
  border:1px dashed rgba(23,168,98,.7);
  color:var(--live);
}
.rotator--home .rotator__item--vacancy .rotator__description{color:var(--live)}
.rotator--home .rotator__item--network .rotator__card{
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.065);
}
.rotator--home .rotator__item--network .rotator__badge{
  background:var(--green);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}
@media (min-width:820px){
  .rotator--home{--rotator-gap:14px}
}

/* Aparencia preservada da rotatoria fixa da Techouse. */
.rotator--techouse{
  --rotator-gap:12px;
  background:#edf5e7;
  padding:0;
}
.rotator--techouse .rotator__viewport{padding:6px}
.rotator--techouse .rotator__card{
  min-width:178px;
  display:flex;
  align-items:center;
  gap:.75rem;
  white-space:nowrap;
  border-radius:.75rem;
  border:1px solid #c4dba9;
  background:#f1f8e6;
  padding:.5rem .75rem;
  color:#0d472c;
  transition:transform .25s ease,background .25s ease;
}
.rotator--techouse .rotator__card:hover{transform:translateY(-2px)}
.rotator--techouse .rotator__item--current .rotator__card{background:#fff}
.rotator--techouse .rotator__badge{
  width:2.25rem;
  height:2.25rem;
  flex-shrink:0;
  display:grid;
  place-items:center;
  border-radius:.75rem;
  background:#105734;
  color:#ffd51f;
  font-weight:800;
}
.rotator--techouse .rotator__logo{
  width:48px;
  height:40px;
  flex-shrink:0;
  object-fit:contain;
}
.rotator--techouse .rotator__content{display:grid;line-height:1.25}
.rotator--techouse .rotator__label{font-size:15px}
.rotator--techouse .rotator__description{
  margin-top:3px;
  font-size:13px;
  color:#486153;
}

@media (max-width:640px){
  .rotator__track{
    animation-duration:var(--rotator-duration-mobile,var(--rotator-duration));
  }
}

@media (prefers-reduced-motion:reduce){
  .rotator__viewport{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    -webkit-mask-image:none;
            mask-image:none;
  }
  .rotator__track{
    animation:none;
    width:auto;
  }
  .rotator[data-rotator-paused] .rotator__track{animation:none}
  .rotator__cycle--copy{display:none}
  .rotator__cycle{scroll-snap-align:start}
  .rotator__card{transition:none !important}
}
