/* Two identical groups move by exactly one group: no empty tail at the seam. */
.section-ribbon {--ribbon-bg:#ff7638;--ribbon-ink:#382519;overflow:hidden;width:100%;padding:19px 0;background:var(--ribbon-bg);color:var(--ribbon-ink);border-block:1px solid #ad4a181c;user-select:none}
.section-ribbon.ribbon-cream {--ribbon-bg:#ffe1c9;--ribbon-ink:#8a3c1d}
.section-ribbon.ribbon-dark {--ribbon-bg:#302822;--ribbon-ink:#ffcfa8;border-color:#302822}
.ribbon-track,.ribbon-group,.ribbon-unit {display:flex;align-items:center;flex-shrink:0;width:max-content}
.ribbon-track {animation:ribbon-loop var(--ribbon-duration,60s) linear infinite;animation-play-state:paused}
.ribbon-group {gap:0}
.ribbon-unit {gap:38px;padding-right:38px;white-space:nowrap;font-family:Onest,Arial,sans-serif;font-size:clamp(18px,1.3vw,24px);font-weight:500;line-height:1.2;letter-spacing:-.025em}
.ribbon-unit b {font-size:31px;line-height:1;font-weight:400}
.section-ribbon.is-visible .ribbon-track {animation-play-state:running}
.section-ribbon.is-reversed .ribbon-track {animation-direction:reverse}
.section-ribbon:hover .ribbon-track,.ribbons-paused .ribbon-track {animation-play-state:paused}
.reduce-motion .ribbon-track {animation:none!important;transform:none!important}
@keyframes ribbon-loop {to{transform:translateX(-50%)}}
@media(max-width:680px){.section-ribbon{padding-block:15px}.ribbon-unit{font-size:17px;gap:24px;padding-right:24px}.ribbon-unit b{font-size:25px}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none!important;transform:none!important}}
