/* 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--stack .rl{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rail--stack .rl li{padding:10px 13px;border:1px solid var(--line, rgba(128,128,128,.35));border-left:3px solid var(--line-2, var(--line, rgba(128,128,128,.45)));border-radius:0 12px 12px 0;background:var(--paper-2, var(--ink-2, rgba(128,128,128,.07)));animation:stackOn 7.2s ease-in-out infinite}
.rail--stack .rl li:nth-child(2){animation-delay:1.8s}
.rail--stack .rl li:nth-child(3){animation-delay:3.6s}
.rail--stack .rl li:nth-child(4){animation-delay:5.4s}
.rail--stack .rl span{display:block;color:var(--muted, currentColor);font-size:.71rem;letter-spacing:.06em;text-transform:uppercase}
.rail--stack .rl b{display:block;color:var(--navy, var(--text, currentColor));font-size:.84rem;line-height:1.3;margin-top:2px}
@keyframes stackOn{0%,6%{border-left-color:var(--line-2, var(--line, rgba(128,128,128,.45)))}14%,30%{border-left-color:var(--aqua, var(--azure, var(--violet-2, currentColor)))}40%,100%{border-left-color:var(--line-2, var(--line, rgba(128,128,128,.45)))}}
