/* Local Streamliner prototype. Decorative surfaces never intercept the page. */
.sc-rail-invitation{display:flex;align-items:center;justify-content:center;gap:14px 22px;flex-wrap:wrap;padding:17px 24px;background:linear-gradient(90deg,#08101a,#102330,#08101a);border-block:1px solid #8fd8e21c;color:#a2b6c4;font:13px/1.65 Lato,Arial,sans-serif}
.sc-rail-invitation>span:first-child{font-size:21px;color:#9adddf;text-shadow:0 0 17px #93efff77}
.sc-rail-invitation a{color:#d1d9c6;text-decoration:none;border-bottom:1px solid #bcac784d;padding:4px 0;white-space:nowrap}
.sc-rail-invitation a:hover{color:#baf5ff;border-color:#baf5ff}
@media(max-width:640px){.sc-rail-invitation{gap:5px 13px;padding:14px 20px;font-size:12px}.sc-rail-invitation a{margin-left:28px}}
.sc-passage-stage {
    --sc-passage-width: 840px;
    --sc-passage-height: 280px;
    --sc-passage-y: 58vh;
    --sc-passage-x: -1200px;
    --sc-passage-veil: 0;
    --sc-passage-phase: 0;
    --sc-passage-phase-mark: 50%;
    --sc-passage-phase-alpha: 1;
    --sc-passage-entry: 0;
    --sc-passage-exit: 0;
    position: fixed;
    inset: 0;
    z-index: 760;
    overflow: hidden;
    overflow: clip;
    contain: layout style paint;
    pointer-events: none;
    isolation: isolate;
}

.sc-passage-stage[hidden] { display: none; }

.sc-passage-link {
    position: absolute;
    left: 0;
    top: var(--sc-passage-y);
    width: var(--sc-passage-width);
    height: var(--sc-passage-height);
    transform: translate3d(var(--sc-passage-x), -50%, 0);
    opacity: var(--sc-passage-veil);
    pointer-events: auto;
    text-decoration: none;
    border-radius: 46% 44% 24% 18%;
    -webkit-tap-highlight-color: rgba(116, 229, 243, 0.15);
    touch-action: manipulation;
    will-change: transform;
    transition: top 300ms ease;
}

.sc-passage-art,
.sc-passage-echo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
}

.sc-passage-body {
    position: absolute;
    inset: 0;
    z-index: 2;
    filter: saturate(1.13) drop-shadow(0 0 2px #e3fcffdd) drop-shadow(0 0 10px #8ee9ffbb) drop-shadow(0 0 25px #9678ea77) drop-shadow(0 6px 9px #030a1347);
    pointer-events: none;
    overflow: visible;
}

.sc-passage-art {
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(var(--sc-passage-phase-mark) - 9%), rgba(0, 0, 0, var(--sc-passage-phase-alpha)) var(--sc-passage-phase-mark), #000 calc(var(--sc-passage-phase-mark) + 9%), #000 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 calc(var(--sc-passage-phase-mark) - 9%), rgba(0, 0, 0, var(--sc-passage-phase-alpha)) var(--sc-passage-phase-mark), #000 calc(var(--sc-passage-phase-mark) + 9%), #000 100%);
}

.sc-passage-echo {
    opacity: calc(0.025 + var(--sc-passage-phase) * 0.13);
    filter: blur(1px) saturate(0.3) drop-shadow(0 0 4px rgba(125, 233, 255, 0.4));
}

.sc-passage-echo--1 { transform: translate3d(-18px, 1px, 0); }
.sc-passage-echo--2 {
    transform: translate3d(-37px, 2px, 0);
    opacity: calc(var(--sc-passage-phase) * 0.075);
    filter: blur(2px) saturate(0);
}

/* Silver, cyan and violet filaments connect the metal to the hero's magic. */
.sc-passage-aura,.sc-passage-energy-edge{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;user-select:none;fill:none}
.sc-passage-aura{z-index:1;mix-blend-mode:screen;opacity:calc(.9 + var(--sc-passage-phase) * .1);filter:drop-shadow(0 0 5px #99eaffaa)}
.sc-passage-corona{stroke-width:25;filter:blur(12px);opacity:.8}
.sc-passage-flames{opacity:.54;filter:drop-shadow(0 0 5px #95cdff99)}
.sc-passage-ribbons{stroke-linecap:round;stroke-linejoin:round}
.sc-passage-ribbon{stroke-width:5;stroke-dasharray:76 24;animation:scPassageFlow 3.6s linear infinite}
.sc-passage-ribbon--high{stroke-width:3.5;stroke-dasharray:58 42;animation-duration:4.8s;animation-direction:reverse;opacity:.9}
.sc-passage-ribbon--thin{stroke-width:1.3;stroke-dasharray:36 64;animation-duration:3s;opacity:.8}
.sc-passage-motes{fill:#e7faff;stroke:none;filter:drop-shadow(0 0 4px #9c9aff)}
.sc-passage-motes path{animation:scPassageMote 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.sc-passage-motes path:nth-child(2n){animation-delay:-1.1s}
.sc-passage-motes path:nth-child(3n){animation-delay:-2.3s}
.sc-passage-energy-edge{z-index:3;stroke:#d4f8ff;stroke-width:1.7;stroke-linecap:round;stroke-dasharray:24 76;opacity:.68;filter:drop-shadow(0 0 4px #80dfff);animation:scPassageFlow 4.4s linear infinite}
.sc-passage-stage[data-state="paused"] :is(.sc-passage-ribbon,.sc-passage-motes path,.sc-passage-energy-edge){animation-play-state:paused}
@keyframes scPassageFlow{to{stroke-dashoffset:-100}}
@keyframes scPassageMote{0%,100%{opacity:.35;transform:scale(.72)}50%{opacity:.9;transform:scale(1)}}

.sc-passage-rails {
    position: absolute;
    left: calc(var(--sc-passage-x) - 100px);
    top: calc(var(--sc-passage-y) + var(--sc-passage-height) * 0.3);
    width: calc(var(--sc-passage-width) + 170px);
    height: 1px;
    opacity: calc(var(--sc-passage-veil) * 0.72);
    background: linear-gradient(90deg, transparent, rgba(123, 237, 248, 0.08) 8%, rgba(153, 244, 255, 0.6) 62%, rgba(161, 243, 251, 0.13) 94%, transparent);
    box-shadow: 0 0 9px rgba(81, 215, 242, 0.22);
}

.sc-passage-rails::after {
    content: "";
    position: absolute;
    inset: 9px 4% auto 0;
    height: 1px;
    background: inherit;
    opacity: 0.37;
}

.sc-passage-seam {
    position: absolute;
    top: var(--sc-passage-y);
    width: 18px;
    height: calc(var(--sc-passage-height) * 1.17);
    transform: translateY(-50%);
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(221, 255, 255, 0.72), rgba(102, 224, 248, 0.27) 24%, rgba(72, 200, 231, 0.04) 52%, transparent 72%);
    filter: blur(0.6px);
}

.sc-passage-seam--entry { left: -7px; opacity: var(--sc-passage-entry); }
.sc-passage-seam--exit { right: -7px; opacity: var(--sc-passage-exit); }

.sc-passage-invitation {
    position: absolute;
    z-index: 4;
    left: 54%;
    bottom: -27px;
    transform: translateX(-50%) translateY(3px);
    padding: 7px 13px;
    border: 1px solid rgba(160, 235, 244, 0.28);
    border-radius: 999px;
    color: #e4f7fa;
    background: rgba(8, 23, 35, 0.92);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
    font: 500 12px/1.3 Lato, system-ui, sans-serif;
    letter-spacing: 0.045em;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 160ms ease, transform 160ms ease;
    pointer-events: none;
}

.sc-passage-link:hover .sc-passage-invitation,
.sc-passage-link:focus-visible .sc-passage-invitation {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.sc-passage-link:focus-visible {
    outline: none;
}

.sc-passage-link:focus-visible .sc-passage-invitation {
    opacity: 1;
    outline: 2px solid #bff7ff;
    outline-offset: 3px;
    box-shadow: 0 0 17px rgba(116, 229, 243, 0.32), 0 4px 18px rgba(0, 0, 0, 0.18);
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .sc-passage-link { will-change: auto; transition:none; }
    .sc-passage-invitation { transition: none; }
    .sc-passage-echo, .sc-passage-seam { display: none; }
    .sc-passage-art { -webkit-mask-image: none; mask-image: none; }
    .sc-passage-aura,.sc-passage-energy-edge{display:none}
}
