:root{--bg:#121714;--paper:#f3f0e7;--muted:#b7beb4;--green:#b5ed8d;--orange:#ffb661;--red:#e63945;--rule:#3e4940;--sans:'Hanken Grotesk',sans-serif;--display:var(--font-display);--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;scrollbar-color:var(--green) var(--bg)}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}::selection{background:var(--green);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button,a{touch-action:manipulation}.skip{position:fixed;top:-100px;background:var(--paper);color:var(--bg);padding:16px;z-index:10}.skip:focus{top:8px}.nav{display:flex;align-items:center;justify-content:space-between;padding:25px 4.5%;border-bottom:1px solid var(--rule)}.brand{font-size:26px;font-weight:700;display:flex;align-items:center;gap:10px;letter-spacing:-.03em}.nav-city{color:var(--muted);font-size:14px}.download{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--green);color:var(--bg);font-weight:700;padding:13px 21px;border-radius:3px;transition:background .2s}.download:hover{background:#d1ffb1}.hero{padding:0 4.5%}.hero-type{display:flex;justify-content:space-between;align-items:flex-end;padding:45px 0 35px;gap:40px}h1,h2,p{margin:0}h1{font-family:var(--display);font-size:clamp(80px,9.2vw,144px);font-weight:700;line-height:.88;letter-spacing:-.035em}h1>span{display:block;clip-path:inset(-10% -5% -10% -5%)}.period{color:var(--green)}.hero-copy{padding-bottom:6px;min-width:240px}.hero-copy p{font-size:23px;line-height:1.35}.text-link{display:inline-flex;gap:20px;align-items:center;margin-top:25px;font-size:14px;border-bottom:1px solid var(--rule);padding-bottom:8px}.text-link:hover{color:var(--green)}.city-window{height:clamp(330px,34vw,530px);position:relative;overflow:hidden;background:#777c78}.city-photo{width:100%;height:100%;object-fit:cover;object-position:center 53%;display:block}.image-credit{position:absolute;top:20px;left:22px;padding:7px 10px;background:var(--bg);font-size:12px}.hero-ticket{position:absolute;bottom:24px;right:24px;display:flex;align-items:center;gap:16px;background:var(--paper);color:var(--bg);padding:19px 22px;min-width:390px}.route-dot{width:12px;height:40px;border-radius:8px;background:#c60c30;flex-shrink:0}.hero-ticket>span{font-size:21px;font-weight:700}.hero-ticket small{display:block;font-size:12px;font-weight:500;margin-top:5px}.hero-ticket>div{margin-left:auto;padding-left:20px;text-align:right}.hero-ticket strong{font-size:32px;line-height:1;color:#216c40}.hero-ticket strong span{font-size:14px}.hero-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding:22px 0}.hero-foot a{display:flex;align-items:center;gap:14px}.departure{padding:110px 4.5% 120px}.section-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:70px;margin-bottom:50px}h2{font-family:var(--display);font-size:clamp(44px,5.3vw,80px);font-weight:700;letter-spacing:-.03em;line-height:1.02}.section-intro p{font-size:20px;line-height:1.55;max-width:370px;color:var(--muted);padding-bottom:5px}.experience{display:grid;grid-template-columns: .78fr 1.22fr;min-height:560px}.film{position:relative;overflow:hidden;background:#404a49;min-height:560px}.film video{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 60%;display:block}.film-label{position:absolute;bottom:22px;left:22px;background:var(--bg);padding:9px 12px;font-size:12px}.departure-board{background:var(--paper);color:var(--bg);padding:36px 40px;display:flex;flex-direction:column}.board-heading{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#5a625b}.line-name{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--bg)}.line-name i{width:10px;height:10px;background:#c60c30;border-radius:50%}.destination{font-family:var(--display);font-size:clamp(44px,5vw,76px);font-weight:700;letter-spacing:-.03em;line-height:1;margin-top:36px}.station{font-size:18px;margin-top:8px;color:#586058}.walk{display:flex;align-items:center;gap:9px;padding:24px 0;margin-top:12px;border-bottom:1px solid #c6ccbf}.walk strong{font-size:22px}.walk>span{margin-left:auto;font-size:13px;color:#586058}.walk svg circle{fill:currentColor;stroke:none}.times{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0 26px;gap:18px}.time strong{font-family:var(--display);font-size:clamp(60px,7.5vw,112px);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.time span{font-size:12px;display:block;margin-top:7px}.tight{color:#995200}.comfortable{color:#216c40}.board-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #c6ccbf;padding-top:18px;font-size:12px}.replay{background:none;border:0;display:inline-flex;align-items:center;gap:8px;padding:8px 0;font-size:12px}.replay svg{width:17px}.replay:hover{text-decoration:underline}.board-explainer{margin-top:24px;font-size:13px;line-height:1.5;max-width:390px;color:#586058}.end{margin:0 4.5%;padding:55px 0 80px;border-top:1px solid var(--rule);position:relative}.end>p{font-size:16px;color:var(--muted);margin-bottom:24px}.end h2{font-size:clamp(55px,7vw,100px);margin-bottom:32px}.end>span{display:block;margin-top:18px;color:var(--muted);font-size:12px}footer{padding:30px 4.5% 105px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--rule);color:var(--muted);font-size:12px}footer>a:last-child{display:flex;align-items:center;gap:10px}.motion-controls{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px;align-items:center;background:#f3f0e7;color:#121714;padding:7px 9px 7px 16px;box-shadow:0 8px 30px #0005;border-radius:6px;white-space:nowrap;font-size:12px}.motion-controls>span{padding-right:10px}.motion-controls button{padding:10px;border:1px solid #bdc4b8;background:transparent;border-radius:3px;min-height:38px}.motion-controls button:hover{background:#dde6d5}
@keyframes title-arrive{from{clip-path:inset(100% -5% -10% -5%);transform:translateY(28px)}to{clip-path:inset(-10% -5% -10% -5%);transform:translateY(0)}}
@keyframes photo-arrive{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes dolly{from{transform:scale(1.065) translateX(-.8%)}to{transform:scale(1.015) translateX(.4%)}}
@keyframes ticket-arrive{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes compare{0%,15%{color:#586058;transform:translateY(7px)}70%,100%{transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){body:not(.still) h1>span{animation:title-arrive 1.2s cubic-bezier(.16,1,.3,1) both}body:not(.still) h1>span:nth-child(2){animation-delay:.12s}body:not(.still) .city-window{animation:photo-arrive 1.5s cubic-bezier(.16,1,.3,1) both}body:not(.still) .city-photo{animation:dolly 14s ease-in-out infinite alternate}body:not(.still) .hero-ticket{animation:ticket-arrive 1s .65s cubic-bezier(.16,1,.3,1) both}body:not(.still) .playing .time{animation:compare 2.2s cubic-bezier(.16,1,.3,1) both}body:not(.still) .playing .time:nth-child(2){animation-delay:.3s}body:not(.still) .playing .time:nth-child(3){animation-delay:.6s}}
body.paused *,body.paused *:before,body.paused *:after{animation-play-state:paused!important}body.restarting h1>span,body.restarting .city-window,body.restarting .hero-ticket{animation:none!important}
@media(min-width:1550px){.nav,.hero,.departure,.end,footer{padding-left:max(4.5%,calc((100vw - 1460px)/2));padding-right:max(4.5%,calc((100vw - 1460px)/2))}.end{margin:0}}
@media(max-width:760px){.nav{padding:20px 6%}.brand{font-size:23px}.nav-city{display:none}.download{padding:12px 14px;font-size:13px;gap:15px}.hero{padding:0 6%}.hero-type{display:block;padding:35px 0 24px}h1{font-size:clamp(72px,15.5vw,116px);font-stretch:70%}.hero-copy{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:20px;padding:0}.hero-copy p{font-size:16px}.text-link{margin:0;font-size:12px;gap:8px;max-width:125px}.city-window{height:390px}.city-photo{object-position:53% center}.image-credit{font-size:12px;top:12px;left:12px}.hero-ticket{bottom:12px;left:12px;right:12px;min-width:0;padding:15px 12px;gap:10px}.hero-ticket>span{font-size:17px}.hero-ticket small{font-size:12px}.hero-ticket>div{padding-left:0}.hero-ticket strong{font-size:27px}.route-dot{width:8px;height:33px}.hero-foot{font-size:12px;padding:18px 0}.hero-foot>a{display:none}.departure{padding:70px 6%}.section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.section-intro h2{font-size:46px}.section-intro p{font-size:17px;max-width:330px}.experience{grid-template-columns:1fr;min-height:0}.film{min-height:340px;max-height:340px}.film video{object-position:center 63%}.departure-board{padding:25px 20px}.destination{font-size:56px;margin-top:30px}.times{gap:10px}.time strong{font-size:80px}.time span{font-size:12px}.board-bottom{font-size:12px}.replay{font-size:12px}.board-explainer{font-size:12px}.end{margin:0 6%;padding:35px 0 55px}.end h2{font-size:59px}footer{padding:26px 6% 105px;flex-wrap:wrap;gap:20px}footer>span{order:3;width:100%;font-size:12px}.motion-controls{bottom:10px;font-size:12px;padding:6px 7px;gap:6px}.motion-controls>span{padding:0 4px}.motion-controls button{font-size:12px;padding:9px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.scene-picker{display:flex;gap:18px;justify-content:flex-end;margin:-5px 0 14px}.scene-picker button{font-size:12px;padding:8px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted)}.scene-picker button[aria-pressed=true]{color:var(--paper);border-color:var(--green)}.river-video{display:none;width:100%;height:100%;object-fit:cover;object-position:50% 49%}.river-scene .river-video{display:block}.river-scene .city-photo{display:none}@media(max-width:760px){.scene-picker{justify-content:flex-start;margin:0 0 12px}.scene-picker button{font-size:12px}.river-video{object-position:50% 50%}}

@media(max-width:760px){.hero-ticket{flex-wrap:wrap}.hero-ticket small{font-size:11px}.hero-ticket>span{max-width:148px}.hero-ticket>div{margin-left:auto}.motion-controls>span{display:none}.board-bottom{flex-wrap:wrap}.hero-foot{padding-bottom:25px}}

/* Second motion study: a train-window reveal, then a departure-board sequence. */
body:not(.still) h1>span,body:not(.still) .city-window,body:not(.still) .city-photo,body:not(.still) .hero-ticket,body:not(.still) .playing .time{animation:none}
.hero{overflow:clip}.hero-type h1{perspective:900px}.city-window{--travel:0;transform:scale(calc(1 + var(--travel)*.07));transform-origin:center center}.river-video,.city-photo{transform:scale(calc(1 + var(--travel)*.16)) translateY(calc(var(--travel)*-24px));transform-origin:center 60%}.time{transform-origin:center top}.walk{position:relative}.walk:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#216c40}.download svg,.text-link svg{transition:transform .3s cubic-bezier(.16,1,.3,1)}.download:hover svg{transform:translateX(5px)}.text-link:hover svg{transform:translateY(5px)}
@media(prefers-reduced-motion:reduce){.city-window,.river-video,.city-photo{transform:none!important}}

.trip-section{padding:0 4.5% 110px}.trip-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:42px}.trip-intro p{font-size:20px;color:var(--muted);line-height:1.5;max-width:410px}.trip-replay{display:inline-flex;align-items:center;gap:14px;background:none;border:0;border-bottom:1px solid var(--rule);padding:12px 0;margin-top:20px;font-size:14px}.trip-stage{position:relative;height:720px;isolation:isolate;overflow:hidden;background:#dfe9e7;perspective:1600px}.trip-map{position:absolute;inset:0;transform-origin:center bottom}.trip-geography{width:100%;height:100%;display:block;background:#c3deea}.map-tiles{filter:saturate(.42) contrast(.88) brightness(1.08)}.full-line{opacity:.25}.full-line path{stroke:#bb2538;stroke-width:8;fill:none;stroke-linecap:round;stroke-linejoin:round}.active-line path{stroke:#bb2538;stroke-width:9;fill:none;stroke-linecap:round;stroke-linejoin:round}.trip-card{position:absolute;right:4%;top:105px;width:350px;background:#fff;color:#161c22;border-radius:16px;padding:25px;box-shadow:0 22px 65px #12222c35;transform-origin:center top}.trip-card-title{display:flex;align-items:center;gap:14px}.trip-card-title>svg{margin-left:auto;color:#65717c}.trip-route-mark{width:44px;height:30px;border-radius:5px;background:#bb2538}.trip-card h3{font-size:28px;margin:0}.trip-card-title p{font-size:15px;color:#626b77;margin-top:6px}.trip-card-meta{display:flex;justify-content:space-between;color:#626b77;font-size:13px;margin-top:25px}.trip-stop-list{list-style:none;padding:0 0 0 30px;margin:25px 0 15px;position:relative}.trip-stop-list:before{content:'';position:absolute;left:9px;top:14px;bottom:24px;width:2px;background:#bb2538}.trip-stop-list li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;font-size:18px}.trip-stop-list li:before{content:'';width:13px;height:13px;border-radius:50%;background:#bb2538;position:absolute;left:-26px;top:19px}.trip-stop-list .passed{color:#69737e}.trip-stop-list .passed:before{background:#bfc4ca}.trip-stop-list b{font-size:14px;font-weight:600}.trip-stop-list .next{font-weight:700}.transfer-colors{display:flex;gap:4px}.transfer-colors i{width:12px;height:16px;border-radius:4px;background:#459ccc}.transfer-colors i:nth-child(2){background:#674124}.transfer-colors i:nth-child(3){background:#44994f}.transfer-colors i:nth-child(4){background:#df7035}.transfer-colors i:nth-child(5){background:#502999}.transfer-colors i:nth-child(6){background:#cd7ca4}.trip-example{font-size:12px;color:#69737e;border-top:1px solid #e0e5e7;padding-top:15px}.trip-legend{position:absolute;top:22px;left:22px;display:flex;gap:18px;background:#fff;padding:12px 16px;color:#263039;font-size:12px}.trip-legend span{display:flex;align-items:center;gap:7px}.trip-legend i{display:inline-block;width:20px;height:4px;background:#bb2538}.trip-legend i.dim-key{opacity:.25}.map-attribution{position:absolute;bottom:0;left:0;padding:5px 9px;background:#fff;color:#34454e;font-size:12px}.trip-note{margin-top:16px;color:var(--muted);font-size:13px}.trip-replay:hover{color:var(--green)}
@media(max-width:760px){.trip-section{padding:0 6% 70px}.trip-intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.trip-intro h2{font-size:46px}.trip-intro p{font-size:17px}.trip-stage{height:920px}.trip-card{top:auto;bottom:42px;left:14px;right:14px;width:auto;padding:22px}.trip-legend{top:12px;left:12px;right:12px;justify-content:space-between;padding:10px}.trip-card h3{font-size:25px}.trip-stop-list li{font-size:17px;padding:11px 0}.trip-stop-list li:before{top:16px}.trip-card-meta{margin-top:20px}.trip-stop-list{margin-top:18px}.trip-example{font-size:11px}.trip-card-title p{font-size:14px}}

/* Signal v2.0 conformance: vendored source is signal-tokens/gen/css/cloudpath.css.
   Archivo and poster-scale type remain the existing website's display treatment. */
:root{--bg:var(--background);--paper:var(--foreground);--green:var(--accent);--orange:var(--warning);--red:#C60C30;--rule:var(--border);--sans:var(--font-body);--mono:var(--font-mono)}
html,body{font-variant-numeric:tabular-nums}body{background:var(--background);color:var(--foreground)}
h1{line-height:1.08;display:grid;row-gap:.04em}h1>span{clip-path:inset(-10% -5% -10% -5%)}
.download{border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);padding:var(--space-3) var(--space-6)}.download:hover{background:var(--accent-hover)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);box-shadow:var(--focus-ring)}.hero-ticket{background:var(--c-fog-50);color:var(--c-ink-900);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6)}.hero-ticket strong{color:var(--c-state-success)}
.motion-controls{background:var(--c-fog-50);color:var(--c-ink-900);border-radius:var(--radius-md);box-shadow:var(--elev-2)}.motion-controls button{border-color:var(--c-fog-200);border-radius:var(--radius-sm)}.motion-controls button:hover{background:var(--c-fog-100)}
.app-board{background:var(--c-fog-100);color:var(--c-ink-900);padding:var(--space-8);font-family:var(--font-system);display:block}.app-board>h3{font-size:38px;line-height:1.05;margin:0 0 32px;font-weight:700;letter-spacing:-.028em}.app-section-label{font-size:13px;line-height:1.4;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:var(--c-ink-500);margin:0 0 16px}.nearby-label{margin-top:32px}.app-departure{background:var(--c-fog-50);border:1px solid var(--c-fog-200);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px;overflow:hidden}.row-top,.row-bottom{display:flex;align-items:center;gap:8px}.row-top>strong{font-size:clamp(17px,1.8vw,24px);letter-spacing:-.02em;white-space:nowrap}.app-route{height:20px;width:44px;flex-shrink:0;border-radius:4px;background:var(--route-color);color:#fff;font-size:16px;font-weight:600;line-height:20px;text-align:center}.row-walk{display:flex;align-items:center;gap:3px;margin-left:auto;white-space:nowrap;font-size:14px}.row-walk svg{width:15px;height:17px;stroke-width:1.8}.row-walk svg circle{fill:currentColor;stroke:none}.row-heart{fill:currentColor;stroke:none;margin-right:4px}.row-bottom{margin-top:12px;justify-content:space-between;gap:12px}.row-station{font-size:14px;white-space:nowrap}.row-station b{font-weight:600}.row-station>span{color:var(--c-ink-500)}.row-times{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:18px;font-weight:600;letter-spacing:-.02em}.row-times b{font-size:16px;font-weight:500;color:var(--c-ink-900)}.row-times .catch{color:#00873F}.row-times .gone{color:#C60C30}.row-live{width:16px;height:16px;stroke-width:1.7}.app-board .board-bottom{border-color:var(--c-fog-200);color:var(--c-ink-500);font-size:12px;margin-top:24px}.app-board .replay{color:var(--c-ink-900);font-size:12px;min-height:44px}.trip-card{font-family:var(--font-system);border-radius:var(--radius-lg);box-shadow:0 12px 32px rgba(7,10,15,.13);padding:var(--space-6);color:var(--c-ink-900)}.trip-card-title p,.trip-card-meta,.trip-example,.trip-stop-list .passed{color:var(--c-ink-500)}.trip-route-mark,.trip-stop-list:before,.trip-stop-list li:before,.trip-legend i{background:#C60C30}.full-line path,.active-line path{stroke:#C60C30}.transfer-colors i{background:#00A1DE}.transfer-colors i:nth-child(2){background:#62361B}.transfer-colors i:nth-child(3){background:#009B3A}.transfer-colors i:nth-child(4){background:#F9461C}.transfer-colors i:nth-child(5){background:#522398}.transfer-colors i:nth-child(6){background:#E27EA6}
#apple-map{position:absolute;inset:0}.trip-geography{position:absolute;inset:0;pointer-events:none;background:transparent;z-index:1}.trip-map{background:var(--c-fog-100)}.map-status{position:absolute;bottom:20px;left:20px;max-width:260px;background:white;color:var(--c-ink-500);font-size:13px;padding:12px;z-index:3}.map-status[hidden]{display:none}.trip-card{z-index:2}.trip-legend{z-index:2}
@media(max-width:1100px) and (min-width:761px){.experience{grid-template-columns:.65fr 1.35fr}.app-board{padding:24px}.row-top>strong{font-size:18px}.row-bottom{flex-wrap:wrap}.row-times{margin-left:auto}}
@media(max-width:760px){.app-board{padding:24px 12px}.app-board>h3{font-size:32px}.app-departure{padding:12px 10px}.row-top{gap:6px}.row-top>strong{font-size:16px}.app-route{width:30px;height:16px;font-size:13px;line-height:16px}.row-walk{font-size:11px;gap:1px}.row-walk svg{width:12px;height:14px}.row-heart{margin-right:1px}.row-bottom{gap:5px;flex-wrap:wrap;margin-top:10px}.row-station{font-size:11px}.row-times{font-size:16px;margin-left:auto}.row-times b{font-size:13px}.row-live{width:13px}.hero-ticket{padding:16px 12px}.hero-ticket small{font-size:12px}.trip-card{bottom:50px}.trip-example{font-size:12px}}
.trip-state-picker{display:flex;gap:24px;margin-bottom:20px}.trip-state-picker button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;color:var(--muted);font-size:14px}.trip-state-picker button[aria-pressed=true]{color:var(--foreground);border-color:var(--accent)}.trip-stop-list .boarding{font-weight:700}.trip-stop-list .boarding:before{background:var(--c-state-success)}
/* The spine runs from each dot center to the next; it never precedes the origin. */
.trip-stop-list{--spine-dot-top:19px}.trip-stop-list:before{display:none}.trip-stop-list li:before{top:var(--spine-dot-top);z-index:1}.trip-stop-list li:not(:last-child):after{content:'';position:absolute;left:-20.5px;top:calc(var(--spine-dot-top) + 6.5px);width:2px;height:100%;background:#C60C30}.trip-stop-list li.passed:after{background:var(--c-ink-200)}
@media(max-width:760px){.trip-stop-list{--spine-dot-top:16px}}

/* Preserve layout while each scene waits for its scroll entrance. */
@media(prefers-reduced-motion:no-preference){.reveal-pending{opacity:0!important;pointer-events:none}}

.hero-ticket.app-departure{display:block;font-family:var(--font-system);width:min(600px,calc(100% - 48px));min-width:0;margin:0;padding:16px;color:var(--c-ink-900);background:var(--c-fog-50)}
.hero-ticket.app-departure>div{margin-left:0;padding-left:0;text-align:left}
.hero-ticket.app-departure .row-top>strong{font-size:24px;line-height:1.2;color:var(--c-ink-900)}
.hero-ticket.app-departure .row-bottom{margin-top:12px}
@media(max-width:760px){.hero-ticket.app-departure{left:12px;right:12px;width:auto;padding:12px}.hero-ticket.app-departure .row-top>strong{font-size:20px}.hero-ticket.app-departure .row-bottom{flex-wrap:wrap}.row-top>strong{white-space:normal;min-width:0}}

.catch-study{margin-top:100px}.catch-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:36px}.catch-heading h3{font-family:var(--display);font-size:clamp(36px,4vw,60px);letter-spacing:-.03em;line-height:1.06;margin:0}.catch-heading p{font-size:18px;line-height:1.5;color:var(--muted)}.catch-explode{max-width:850px;margin:auto}.catch-explode>.app-departure{font-family:var(--font-system);color:var(--c-ink-900);padding:20px}.row-times .tight{color:var(--c-state-warning)}.catch-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:48px}.catch-tier{position:relative;border-top:1px solid var(--rule);padding-top:24px}.catch-tier>strong{display:block;font:700 clamp(64px,7vw,100px)/1 var(--display);letter-spacing:-.045em;transform-origin:top left}.catch-tier>strong span{font:500 16px var(--sans);letter-spacing:0}.catch-tier h4{font-size:22px;margin:20px 0 10px}.catch-tier p{color:var(--muted);font-size:16px;line-height:1.5;margin:0}.catch-tier.missed>strong{color:var(--c-state-danger-dark)}.catch-tier.tight>strong{color:var(--c-state-warning-dark)}.catch-tier.comfortable>strong{color:var(--c-state-success-dark)}.catch-foot{max-width:850px;margin:32px auto 0;display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:12px}.catch-replay{border:0;border-bottom:1px solid var(--rule);background:none;min-height:44px;padding:8px 0;color:var(--paper)}
@media(max-width:760px){.catch-study{margin-top:64px}.catch-heading{display:block}.catch-heading p{margin-top:24px;font-size:16px}.catch-explode>.app-departure{padding:12px}.catch-breakdown{gap:14px;padding-top:32px}.catch-tier{padding-top:18px}.catch-tier>strong{font-size:52px}.catch-tier>strong span{font-size:12px}.catch-tier h4{font-size:15px;margin:16px 0 8px}.catch-tier p{font-size:12px}.catch-tier p br{display:none}.catch-foot{align-items:start}.catch-foot>span{max-width:170px;line-height:1.5}}

.row-times .gone{color:var(--c-state-danger)}.row-times .catch{color:var(--c-state-success)}

.catch-tier h4{color:var(--paper)}

.hero-type{align-items:flex-end;gap:24px}.hero-type h1{font-size:clamp(64px,7.6vw,118px);line-height:1.04;row-gap:.04em;flex:1}.hero-copy{min-width:0;flex-shrink:0;padding-bottom:12px}.headline-break{display:none}.scene-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:16px 0}.scene-heading h2{font-family:var(--sans);font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.3}.scene-heading .scene-picker{margin:0}.animated-logo{position:relative;width:48px;height:48px;flex-shrink:0;padding:0;background:none;border:0}.animated-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.nav .brand{gap:12px}
@media(max-width:760px){.hero-type h1{font-size:clamp(52px,9.3vw,70px)}.hero-copy{justify-content:flex-end;margin-top:24px;padding:0}.scene-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-top:24px}.scene-heading h2{font-size:22px}.animated-logo{width:40px;height:40px}}
@media(max-width:480px){.headline-break{display:block}.hero-type h1{font-size:clamp(52px,13.5vw,64px)}}

.hero-type h1{letter-spacing:-.02em;word-spacing:.055em}.headline-accent{font-style:normal;color:var(--accent)}

.catch-tier{transform-origin:top left}

.animated-logo{transform-origin:left center;z-index:1}.nav .brand>a{display:block}
/* Keep app examples close to phone proportions, inset over the film. */
.experience{grid-template-columns:minmax(0,1fr) 420px;align-items:center}
.experience .film{grid-column:1/3;grid-row:1;min-height:760px;max-height:none}
.experience .film video{object-position:32% 55%}
.experience .app-board{grid-column:2;grid-row:1;width:396px;max-width:100%;margin:32px 24px 32px 0;padding:24px 14px;position:relative;z-index:1;border-radius:var(--radius-lg);box-shadow:0 18px 40px rgba(7,10,15,.22)}
.app-board .row-top>strong{font-size:18px;white-space:normal;min-width:0}.app-board .app-route{width:32px}.app-board .row-walk{font-size:12px}.app-board .row-station{font-size:12px}.app-board .row-bottom{flex-wrap:wrap}.app-board .row-times{font-size:17px;margin-left:auto}.app-board .app-departure{padding:12px}
.catch-explode>.app-departure{width:396px;max-width:100%;margin:0 auto;padding:14px}.catch-explode>.app-departure .row-top>strong{font-size:18px}.catch-explode>.app-departure .row-walk{font-size:12px}.catch-explode>.app-departure .row-station{font-size:12px}.catch-explode>.app-departure .row-bottom{flex-wrap:wrap}.catch-explode>.app-departure .row-times{margin-left:auto;font-size:17px}
@media(max-width:760px){.experience{display:flex;flex-direction:column;align-items:center}.experience .film{width:100%;min-height:420px;max-height:420px}.experience .film-label{top:20px;bottom:auto}.experience .app-board{width:396px;max-width:calc(100% - 24px);margin:-76px auto 0;padding:24px 12px}.app-board .row-top>strong{font-size:16px}.app-board .row-walk{font-size:11px}.app-board .row-station{font-size:11px}.app-board .app-departure{padding:12px 10px}}

.catch-explode>.app-departure{overflow:visible;position:relative;z-index:1}.catch-explode .row-times>span{display:inline-block;transform-origin:top left}

.catch-tier>strong .catch-value{font:inherit;letter-spacing:inherit}.catch-unit{display:inline-block}

.product-feature{margin:0 4.5%;padding:100px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;border-bottom:1px solid var(--rule)}.feature-copy h2{font-size:clamp(42px,4.8vw,68px);line-height:1.08}.feature-copy p{font-size:20px;line-height:1.5;color:var(--muted);max-width:430px;margin-top:28px}.feature-copy .feature-plan{font-size:14px;color:var(--accent)}.metra-capture{width:min(300px,100%);margin:0 auto}.metra-capture img{width:100%;height:auto;display:block;border-radius:24px}.product-feature figcaption{font-size:12px;color:var(--muted);margin-top:14px}.activity-captures{display:grid;gap:32px}.activity-captures figure{margin:0}.activity-captures img{width:100%;height:auto;display:block;border-radius:12px}.guide-feature{margin:0 4.5%;padding:80px 0;border-bottom:1px solid var(--rule)}.guide-feature h2{font-size:clamp(36px,4vw,60px)}.guide-feature p{max-width:570px;font-size:20px;line-height:1.5;color:var(--muted);margin-top:24px}
@media(max-width:760px){.product-feature{margin:0 6%;padding:64px 0;grid-template-columns:1fr;gap:36px}.feature-copy p,.guide-feature p{font-size:17px}.metra-capture{width:280px}.activity-captures{max-width:500px}.guide-feature{margin:0 6%;padding:64px 0}}

.plan-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px;max-width:850px}.plan-summary p{font-size:16px;line-height:1.5;color:var(--muted)}.plan-summary strong{display:block;color:var(--paper);margin-bottom:8px}.plan-summary .text-link{grid-column:1/-1;justify-self:start;margin-top:0}.details-intro{padding:70px 4.5% 32px}.details-intro h1{font-size:clamp(48px,6vw,84px);letter-spacing:-.025em;line-height:1.1}.details-intro nav{display:flex;gap:24px;flex-wrap:wrap;margin-top:36px;color:var(--accent)}.details-page .nav .text-link{margin:0}.details-page .feature-copy ul,.detail-text ul{padding-left:20px;color:var(--muted);font-size:17px;line-height:1.7}.widget-capture{max-width:220px}.detail-text{margin:0 4.5%;padding:80px 0;border-bottom:1px solid var(--rule)}.detail-text h2{font-size:clamp(36px,4.5vw,60px)}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin:36px 0}.detail-columns h3{font-size:24px;line-height:1.25;margin:28px 0 16px}.detail-columns p{font-size:18px;line-height:1.6;color:var(--muted);max-width:520px}.details-page footer{padding-bottom:32px}
@media(max-width:760px){.plan-summary,.detail-columns{grid-template-columns:1fr;gap:24px}.details-intro{padding:48px 6% 20px}.details-intro nav{gap:16px;font-size:14px}.detail-text{margin:0 6%;padding:60px 0}.details-page .nav .text-link{font-size:12px}.details-page .product-feature h2{font-size:38px}}

.metra-scene{position:relative;height:650px;overflow:hidden}.metra-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%;transform-origin:35% 42%}.metra-departure{position:absolute;bottom:24px;left:20px;right:20px;max-width:396px;margin:0 auto;color:var(--c-ink-900);font-family:var(--font-system);padding:14px}.metra-departure .row-top{gap:7px;flex-wrap:wrap}.metra-departure .app-route{width:32px;font-size:13px}.metra-departure .row-top>strong{font-size:17px}.metra-clock{margin-left:auto;font-size:14px;color:var(--c-state-success);font-weight:600}.metra-departure .row-bottom{flex-wrap:wrap}.metra-departure .row-station{font-size:12px}.metra-departure .row-times{font-size:15px;margin-left:auto}.metra-walk{font-size:12px;margin-top:10px;display:flex;justify-content:space-between}.metra-walk>span{color:var(--c-ink-500)}
@media(max-width:760px){.metra-scene{width:100%;height:560px;max-width:460px;margin:auto}.metra-departure{left:12px;right:12px;bottom:18px}.metra-departure .row-top>strong{font-size:16px}}

.metra-departure{padding:14px}.metra-main{display:flex;align-items:center;gap:8px}.metra-main>.app-route{width:48px;height:20px;line-height:20px;font-size:12px}.metra-main>strong{font-size:17px;line-height:1.2;letter-spacing:-.025em;min-width:0}.metra-main .metra-clock{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:14px}.metra-clock .row-live{color:var(--c-ink-900);width:13px;height:13px}.metra-secondary,.metra-origin{display:flex;justify-content:space-between;gap:12px;margin-top:6px;font-size:12px;line-height:1.3}.metra-secondary{color:var(--c-ink-500)}.metra-origin>strong{font-weight:600}.metra-origin>span{display:flex;gap:12px;align-items:center;color:var(--c-ink-500);white-space:nowrap}.metra-origin svg{width:14px;height:16px}.metra-origin svg circle{fill:currentColor;stroke:none}
@media(max-width:480px){.metra-main{gap:6px}.metra-main>.app-route{width:36px}.metra-main>strong{font-size:15px}.metra-main .metra-clock{font-size:12px;gap:2px}}
.catch-tier>strong{display:flex;align-items:baseline;gap:12px}.catch-tier>strong .catch-value{display:inline-block;font-family:var(--font-system);font-weight:600;letter-spacing:-.02em}.catch-tier>strong .catch-unit{flex-shrink:0}
@media(max-width:480px){.catch-tier>strong{gap:8px}}

.row-walk .walk-glyph,.metra-origin .walk-glyph{width:12px;height:18px;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.walk-glyph circle{fill:currentColor;stroke:none}.row-walk{gap:4px}
.hero-ticket.app-departure{top:20px;bottom:auto;width:min(396px,calc(100% - 40px));left:auto;right:20px}.hero-ticket.app-departure .row-top>strong{font-size:20px}.hero-ticket.app-departure .row-bottom{flex-wrap:wrap}.hero-ticket .row-station{font-size:12px}.hero-ticket .row-times{font-size:16px}.city-window .image-credit{top:auto;bottom:16px;left:16px}
@media(max-width:760px){.hero-ticket.app-departure{top:12px;left:auto;right:12px;width:min(396px,calc(100% - 24px))}}

.catch-tier>strong .catch-value{transform-origin:top left}

.catch-breakdown{position:relative;z-index:2}
.catch-tier>strong .catch-unit{font-size:clamp(20px,2.6vw,28px);line-height:1}

.coverage .coverage-list{list-style:none;padding:0;margin:0}.coverage-list li{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);color:var(--paper);font-size:16px}.coverage-list .pill{width:30px;height:12px;border-radius:3px;background:var(--pill-bg);flex-shrink:0}.coverage-list .network__id{display:flex;flex-direction:column;gap:3px}.coverage-list small{font-size:13px;color:var(--muted)}.coverage-list .badge{font:500 12px var(--font-mono);width:48px;flex-shrink:0;color:var(--accent)}

.alert-capture{margin:0}.alert-capture img{display:block;width:100%;height:auto}.trip-intro .trip-alert-link{font-size:16px}.trip-alert-link .text-link{font-size:16px;margin-top:12px}

.coverage-list .badge{display:inline-flex;align-items:center;justify-content:center;height:24px;width:52px;border-radius:4px;font:600 13px var(--font-system);background:var(--chip-bg);color:var(--chip-fg)}
.coverage-list .b-bnsf{--chip-bg:#29C233;--chip-fg:#000000}
.coverage-list .b-hc{--chip-bg:#550E0C;--chip-fg:#FFFFFF}
.coverage-list .b-mdn{--chip-bg:#CC5500;--chip-fg:#FFFFFF}
.coverage-list .b-mdw{--chip-bg:#F1AD0E;--chip-fg:#000000}
.coverage-list .b-me{--chip-bg:#EB5C00;--chip-fg:#FFFFFF}
.coverage-list .b-ncs{--chip-bg:#9785BC;--chip-fg:#FFFFFF}
.coverage-list .b-ri{--chip-bg:#E02400;--chip-fg:#FFFFFF}
.coverage-list .b-sws{--chip-bg:#0042A8;--chip-fg:#FFFFFF}
.coverage-list .b-upn{--chip-bg:#008000;--chip-fg:#FFFFFF}
.coverage-list .b-upnw{--chip-bg:#FFE600;--chip-fg:#000000}
.coverage-list .b-upw{--chip-bg:#FE8D81;--chip-fg:#000000}
@media(max-width:760px){.trip-stage{height:min(720px,90svh);min-height:640px}.trip-card{left:12px;right:12px;bottom:34px;padding:16px}.trip-card h3{font-size:22px}.trip-card-title{gap:10px}.trip-card-title p{font-size:12px;margin-top:4px}.trip-route-mark{width:34px;height:24px}.trip-card-meta{font-size:12px;margin-top:14px}.trip-stop-list{margin:16px 0 12px;--spine-dot-top:13px}.trip-stop-list li{font-size:15px;padding:8px 0}.trip-stop-list b{font-size:12px}.trip-example{font-size:11px;padding-top:10px}.trip-legend{font-size:11px;padding:8px}}
@media(max-width:760px){.full-line path{stroke-width:5}.active-line path{stroke-width:6}}
.catch-extra{max-width:850px;margin:28px auto 0;padding-top:24px;border-top:1px solid var(--rule)}.catch-extra h4{font-size:18px;font-weight:600;margin:0 0 8px}.catch-extra p{color:var(--muted);font-size:16px;line-height:1.5;max-width:560px;margin:0}.hero-copy{flex-shrink:1;min-width:0}.hero-lede{max-width:470px;white-space:normal;margin-bottom:18px}
@media(max-width:760px){.hero-copy{flex-direction:column;align-items:flex-start;gap:14px}.hero-lede{margin-bottom:0}}

footer{padding-bottom:90px}.motion-controls{left:auto;right:16px;transform:none;box-shadow:none}.motion-controls button{min-height:44px}.text-link{max-width:none}footer{flex-wrap:wrap}
