.pin__stage{
  min-height:100svh;
  display:grid;
  grid-template-areas:"stage";
  position:relative;
  overflow:hidden;
}
.pin__stage > *{grid-area:stage}

.pin__step,
.pin__rail{
  align-self:start;
  padding-top:calc(var(--vy, 380px) * var(--s));
}
.pin__step{opacity:0;visibility:hidden}

.pin__media{align-self:stretch;justify-self:stretch}
.pin__media img,
.pin__media video{width:100%;height:100%;object-fit:cover}

[data-par],
.pin__fill{will-change:transform}

.pin__rail{--vy:360px}
.pin__rail .seg{position:relative;height:1px;background:var(--t-line);overflow:hidden}
.pin__rail .pin__fill{
  position:absolute;inset:0;
  background:var(--t-head);
  transform:scaleX(0);transform-origin:left center;
}

.vy-head{--vy:430px}
.vy-rail{--vy:360px}
.vy-num {--vy:430px}
.vy-lead{--vy:700px}

.fan{display:grid;grid-template-areas:"fan";justify-items:center}
.fan > *{grid-area:fan}

@media (prefers-reduced-motion:reduce){
  .pin__stage{
    min-height:0;
    display:block;
    overflow:visible;
  }
  .pin__stage > *{grid-area:auto}
  .pin__step,
  .pin__rail{
    padding-top:0;
    margin-block:calc(80px * var(--s));
  }
  .pin__step{opacity:1;visibility:visible}
  .pin__rail .pin__fill{transform:scaleX(1)}
  .pin__media{margin-bottom:calc(80px * var(--s))}
  .fan{display:grid;grid-template-areas:none;gap:calc(20px * var(--s))}
  .fan > *{grid-area:auto}
  .wipe{display:block}
  .wipe > *{grid-area:auto}
  [data-fx][data-fx] .wipe__layer + .wipe__layer{clip-path:none;margin-top:calc(20px * var(--s));opacity:1}
  .wipe__layer{transform:none;filter:none}
  [data-fx="pan"] .wipe__layer img{width:100%;margin-left:0}
  .section[data-overlap]{margin-top:0 !important}
}

@media (max-width:860px){
  .pin__stage{min-height:0;display:block;overflow:visible}
  .pin__stage > *{grid-area:auto}
  .pin__step,.pin__rail{padding-top:0;margin-block:calc(60px * var(--s))}
  .pin__step{opacity:1;visibility:visible}
  .pin__rail .pin__fill{transform:scaleX(1)}
  .fan{display:grid;grid-template-areas:none;gap:calc(20px * var(--s))}
  .fan > *{grid-area:auto}
  .wipe{display:block}
  .wipe > *{grid-area:auto}
  [data-fx][data-fx] .wipe__layer + .wipe__layer{clip-path:none;margin-top:calc(20px * var(--s));opacity:1}
  .wipe__layer{transform:none;filter:none}
  [data-fx="pan"] .wipe__layer img{width:100%;margin-left:0}
  .section[data-minh]{min-height:0}
}

.pin__media{z-index:0}
.pin__stage::after{
  content:"";grid-area:stage;z-index:1;pointer-events:none;
  background:var(--scrim, linear-gradient(180deg,
    rgba(7,11,32,.30) 0%, rgba(7,11,32,.55) 45%, rgba(7,11,32,.86) 100%));
}
.ui-light .pin__stage::after{
  background:var(--scrim, linear-gradient(180deg,
    rgba(255,255,255,.18) 0%, rgba(255,255,255,.48) 45%, rgba(255,255,255,.74) 100%));
}
.pin__step,.pin__rail{position:relative;z-index:2}

.pin__rail .seg{background:rgba(255,255,255,.28)}
.ui-light .pin__rail .seg{background:rgba(35,39,57,.34)}
.pin__rail .pin__fill{background:var(--t-head)}

[data-fx="count"] .num{font-variant-numeric:tabular-nums}

.wipe{grid-area:stage;z-index:0;display:grid;grid-template-areas:"w";overflow:hidden}
.wipe > *{grid-area:w}
.wipe__layer{position:relative;overflow:hidden;background:var(--t-plate);will-change:clip-path}
.wipe__layer img{width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:no-preference) and (min-width:861px){
  html.js:not(.no-motion) .pin__stage .wipe__layer img{position:absolute;inset:0}
}
[data-fx="wipe"] .wipe__layer + .wipe__layer{clip-path:inset(0 0 0 100%)}
[data-fx="pan"] .wipe__layer + .wipe__layer,
[data-fx="stack"] .wipe__layer + .wipe__layer,
[data-fx="zoom"] .wipe__layer + .wipe__layer,
[data-fx="focus"] .wipe__layer + .wipe__layer{opacity:0}
[data-fx="curtain"] .wipe__layer + .wipe__layer{clip-path:inset(100% 0 0 0)}
[data-fx="pan"] .wipe__layer img{width:114%;margin-left:-7%;max-width:none}
[data-fx="zoom"] .wipe__layer,[data-fx="focus"] .wipe__layer,[data-fx="stack"] .wipe__layer{will-change:transform,opacity}

.routes{grid-area:stage;z-index:2;pointer-events:none}
.routes svg{width:100%;height:100%;display:block}
.routes path{fill:none;stroke:var(--t-head);stroke-width:1.25;stroke-linecap:round;opacity:.9}
.routes__origin circle{fill:none;stroke:var(--t-head);stroke-width:1.25}
.routes__origin .dot{fill:var(--t-head);stroke:none}
.routes__end{fill:var(--t-bg);stroke:var(--t-head);stroke-width:1.25}
.routes__label{fill:var(--t-head);font-size:11px;letter-spacing:.44px;text-transform:uppercase;font-weight:500}
.routes__time{fill:var(--t-head);font-size:20px;letter-spacing:-.2px;font-weight:500}

[data-fx="kenburns"] .pin__media{transform-origin:50% 55%}

@media (prefers-reduced-motion:reduce){
  .pin__stage::after{display:none}
  .wipe{display:grid;grid-template-areas:none;gap:calc(20px * var(--s))}
  .wipe > *{grid-area:auto}
  [data-fx][data-fx] .wipe__layer + .wipe__layer{clip-path:none}
  .routes{display:none}
}
@media (max-width:860px){
  .pin__stage::after{display:none}
  .wipe{display:grid;grid-template-areas:none;gap:calc(20px * var(--s))}
  .wipe > *{grid-area:auto}
  [data-fx][data-fx] .wipe__layer + .wipe__layer{clip-path:none}
  .routes{display:none}
}

:where(html:not(.js)) .pin__stage:not(.hero__view){min-height:0;display:block;overflow:visible}
:where(html:not(.js)) .pin__stage:not(.hero__view) > *{grid-area:auto}
:where(html:not(.js)) .pin__stage:not(.hero__view)::after{display:none}
:where(html:not(.js)) .pin__step,:where(html:not(.js)) .pin__rail{padding-top:0;margin-block:calc(60px * var(--s))}
:where(html:not(.js)) .pin__step{opacity:1;visibility:visible}
:where(html:not(.js)) .pin__rail .pin__fill{transform:scaleX(1)}
:where(html:not(.js)) .fan{display:grid;grid-template-areas:none;gap:calc(20px * var(--s))}
:where(html:not(.js)) .fan > *{grid-area:auto}
:where(html:not(.js)) .wipe{display:grid;grid-template-areas:none;gap:calc(20px * var(--s))}
:where(html:not(.js)) .wipe > *{grid-area:auto}
:where(html:not(.js)) [data-fx][data-fx] .wipe__layer + .wipe__layer{clip-path:none;margin-top:calc(20px * var(--s));opacity:1}
:where(html:not(.js)) .wipe__layer{transform:none;filter:none}
:where(html:not(.js)) [data-fx="pan"] .wipe__layer img{width:100%;margin-left:0}
:where(html:not(.js)) .routes{display:none}

.stat413{width:min(100%, calc(413px * var(--s)))}
.stat413__row{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(20px * var(--s))}
.stat413__row .num{text-align:left}
.stat413__unit{margin-top:calc(60px * var(--s));white-space:nowrap;text-align:right}
.stat413__desc{margin-top:calc(155px * var(--s))}
.rail-413{max-width:calc(413px * var(--s))}
@media (max-width:860px){
  .stat413{width:100%}
  .stat413__row{flex-direction:column;gap:calc(8px * var(--s))}
  .stat413__unit{margin-top:0;text-align:left}
  .stat413__desc{margin-top:calc(24px * var(--s))}
}

.routes__run{fill:var(--t-head);stroke:none;opacity:0}
.routes__ping{fill:none;stroke:var(--t-head);stroke-width:1;opacity:0}

@media (prefers-reduced-motion:reduce){
  [data-fx][data-fx] .wipe__layer + .wipe__layer{clip-path:none;opacity:1}
  .wipe__layer{transform:none;filter:none}
  [data-fx="pan"] .wipe__layer img{width:100%;margin-left:0}
}
@media (max-width:860px){
  [data-fx][data-fx] .wipe__layer + .wipe__layer{clip-path:none;opacity:1}
  .wipe__layer{transform:none;filter:none}
  [data-fx="pan"] .wipe__layer img{width:100%;margin-left:0}
}
