.phrase-ticker{
  width:100%;
  position:relative;
  z-index:1;
  overflow:hidden;
  background:var(--ticker-background,#fff7e8);
  color:var(--ticker-text,#111);
  font-family:var(--ticker-font,var(--font-subheading,'League Spartan',sans-serif));
}
.phrase-ticker-window{width:100%;overflow:hidden;padding:20px 0}
.phrase-ticker-track{display:flex;width:max-content;min-width:200%;animation-duration:var(--ticker-duration,30s);animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}
.phrase-ticker-rtl .phrase-ticker-track{animation-name:phrase-ticker-scroll-rtl}
.phrase-ticker-ltr .phrase-ticker-track{animation-name:phrase-ticker-scroll-ltr}
.phrase-ticker-group{min-width:100vw;display:flex;flex:none;align-items:center;white-space:nowrap}
.phrase-ticker-item{flex:none;padding:0 clamp(20px,2.2vw,42px);font-size:clamp(15px,1.25vw,20px);font-weight:800;line-height:1;letter-spacing:.035em;text-transform:uppercase}
.phrase-ticker-separator{flex:none;color:var(--ticker-separator,#ffd400);font-size:clamp(19px,1.6vw,27px);font-weight:900;line-height:1}

@keyframes phrase-ticker-scroll-rtl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes phrase-ticker-scroll-ltr{from{transform:translateX(-50%)}to{transform:translateX(0)}}

@media(max-width:767px){
  .phrase-ticker-window{padding:14px 0}
  .phrase-ticker-item{padding-inline:20px;font-size:14px;letter-spacing:.025em}
  .phrase-ticker-separator{font-size:19px}
}

@media(prefers-reduced-motion:reduce){
  .phrase-ticker-track{animation:none!important;transform:none!important;will-change:auto}
  .phrase-ticker-group:nth-child(2){display:none}
}
