/* Running mascot banner — no background, only characters; scroll-linked in script.js */
.mascot-run{position:relative;overflow:hidden;background:transparent;padding:80px 0 100px;pointer-events:none}
.mascot-run .section-head{pointer-events:auto;max-width:none;padding:0 4.5vw;margin-bottom:64px}
@media(max-width:760px){.mascot-run .section-head{padding:0 20px;margin-bottom:40px}}
.mascot-track{display:flex;width:max-content;will-change:transform}
.mascot-set{display:flex;align-items:flex-end;flex:none}
.mascot-set img{height:clamp(150px,18vw,260px);width:auto;flex:none;margin-right:clamp(32px,4.5vw,70px);filter:drop-shadow(0 16px 14px rgba(0,0,0,.35));animation:mascotBob 3.2s ease-in-out infinite;animation-delay:calc(var(--i)*-.45s);user-select:none;-webkit-user-drag:none}
@keyframes mascotBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.mascot-set img.logo{height:clamp(80px,9vw,130px);align-self:center;filter:none}
.mascot-run.static .mascot-track{width:auto;justify-content:center;flex-wrap:wrap}
.mascot-run.static .mascot-set[aria-hidden]{display:none}
.mascot-run.static .mascot-set{flex-wrap:wrap;justify-content:center;row-gap:24px}
@media(prefers-reduced-motion:reduce){.mascot-set img{animation:none}}
@media(max-width:760px){.mascot-run{padding:56px 0 70px}}
