/* Hero rail - shared skeleton. The variant block below is unique to this site. */
.hero__shot{position:relative}
.hero__rail{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.hero__rail-h{margin:0 0 12px;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--aqua)}
@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--time .tl{list-style:none;margin:0;padding:0 0 0 26px;position:relative;display:grid;gap:14px}
.rail--time .tl::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line)}
.rail--time .tl::after{content:"";position:absolute;left:7px;top:6px;width:2px;height:100%;background:var(--grad);transform-origin:top;animation:tlFill 7.5s linear infinite}
.rail--time .tl li{position:relative}
.rail--time .tl li::before{content:"";position:absolute;left:-26px;top:4px;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--line-2);animation:tlDot 7.5s ease-in-out infinite}
.rail--time .tl li:nth-child(2)::before{animation-delay:2.5s}
.rail--time .tl li:nth-child(3)::before{animation-delay:5s}
.rail--time .tl b{display:block;color:var(--navy);font-size:.82rem}
.rail--time .tl span{display:block;color:var(--muted);font-size:.745rem;line-height:1.42}
@keyframes tlFill{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
@keyframes tlDot{0%,6%{border-color:var(--line-2);background:#fff}14%,30%{border-color:var(--teal);background:var(--teal);box-shadow:0 0 0 4px rgba(245,130,42,.16)}40%,100%{border-color:var(--line-2);background:#fff}}
