/* Hero rail - shared skeleton. Theme-safe on both token systems. */
.hero__shot{position:relative}
.hero__rail{margin-top:22px;padding-top:18px;border-top:1px solid var(--line, rgba(128,128,128,.35))}
.hero__rail-h{margin:0 0 12px;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--aqua, var(--azure, var(--violet-2, currentColor)))}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero__shot img{animation:heroFloat 6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.hero__shot img,.hero__rail *{animation:none!important}.hero__rail *{opacity:1!important;transform:none!important}}

.rail--bars .rl{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.rail--bars .rl li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:baseline}
.rail--bars .rl span{color:var(--navy, var(--text, currentColor));font-size:.79rem}
.rail--bars .rl b{color:var(--aqua, var(--azure, var(--violet-2, currentColor)));font-weight:800;font-size:.79rem}
.rail--bars .rl i{grid-column:1/-1;height:7px;border-radius:99px;background:var(--paper-2, var(--ink-2, rgba(128,128,128,.07)));position:relative;overflow:hidden;border:1px solid var(--line, rgba(128,128,128,.35))}
.rail--bars .rl i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:99px;background:var(--aqua, var(--azure, var(--violet-2, currentColor)));transform-origin:left;animation:barGrow 1.1s cubic-bezier(.22,.9,.3,1) both}
.rail--bars .rl li:nth-child(2) i::after{animation-delay:.16s}
.rail--bars .rl li:nth-child(3) i::after{animation-delay:.32s}
@keyframes barGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
