.p4f-route{border:1px solid var(--p4f-line);border-radius:var(--p4f-radius-lg);background:var(--p4f-blue-tint);margin:0;padding:20px}.p4f-route-svg{width:100%;height:auto;display:block}.p4f-route-lot{fill:var(--p4f-surface);stroke:var(--p4f-line);stroke-width:2px}.p4f-route-stall{stroke:var(--p4f-line-field);stroke-width:2px;opacity:.45}.p4f-route-lane{stroke:var(--p4f-line);stroke-width:10px;stroke-linecap:round}.p4f-route-barrier-post{fill:var(--p4f-ink)}.p4f-route-barrier{stroke:var(--p4f-orange);stroke-width:6px;stroke-linecap:round;stroke-dasharray:8 5}.p4f-route-road-case{fill:none;stroke:var(--p4f-surface);stroke-width:18px;stroke-linecap:round}.p4f-route-road{fill:none;stroke:var(--p4f-blue-strong);stroke-width:6px;stroke-linecap:round}.p4f-route-back{stroke:var(--p4f-blue);stroke-dasharray:2 12}.p4f-route-arrow{fill:none;stroke:var(--p4f-blue-strong);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.p4f-route-bus rect{fill:var(--p4f-orange)}.p4f-route-bus circle{fill:var(--p4f-ink)}.p4f-route-bus-window{fill:var(--p4f-surface)}.p4f-route-pill{fill:var(--p4f-surface);stroke:var(--p4f-line);stroke-width:1.5px}.p4f-route-pill-text{fill:var(--p4f-ink);font:700 15px var(--p4f-font-body);text-anchor:middle}.p4f-route-terminal{fill:var(--p4f-blue-navy)}.p4f-route-terminal-name{fill:var(--p4f-ink-inverse);font:700 22px var(--p4f-font-display);text-anchor:middle;letter-spacing:.08em}.p4f-route-door{fill:var(--p4f-blue)}.p4f-route-pin{fill:var(--p4f-blue-strong);stroke:var(--p4f-surface);stroke-width:4px}.p4f-route-pin-meet{fill:var(--p4f-orange)}.p4f-route-num{fill:var(--p4f-ink-inverse);font:700 22px var(--p4f-font-display);text-anchor:middle}.p4f-route-meet .p4f-route-num{fill:var(--p4f-ink)}.p4f-route-here .p4f-route-pin{stroke:var(--p4f-yellow);stroke-width:7px}@media (prefers-reduced-motion:no-preference){.p4f-route-back{animation:1.6s linear infinite p4f-route-flow}@keyframes p4f-route-flow{to{stroke-dashoffset:-28px}}}.p4f-route-legend ol{counter-reset:p4f-route;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.p4f-route-legend li{counter-increment:p4f-route;font-size:var(--p4f-text-sm);color:var(--p4f-ink-muted);gap:2px;padding-left:44px;display:grid;position:relative}.p4f-route-legend li:before{content:counter(p4f-route);border-radius:var(--p4f-radius-full);background:var(--p4f-blue-strong);width:32px;height:32px;color:var(--p4f-ink-inverse);font:700 16px var(--p4f-font-display);place-items:center;display:grid;position:absolute;top:0;left:0}.p4f-route-legend li:nth-child(3):before{background:var(--p4f-orange);color:var(--p4f-ink)}.p4f-route-legend strong{color:var(--p4f-ink);font-size:var(--p4f-text-md)}.p4f-route-legend em{border-radius:var(--p4f-radius-full);background:var(--p4f-yellow);color:var(--p4f-ink);justify-self:start;margin-top:4px;padding:2px 10px;font-style:normal;font-weight:700}.p4f-route-addr{color:var(--p4f-ink)}.p4f-route-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.p4f-route-nav{flex-wrap:wrap;gap:10px;margin:16px 0 0;display:flex}@media (min-width:768px){.p4f-route{padding:30px}.p4f-route-legend ol{grid-template-columns:repeat(3,1fr);gap:24px}}.p4f-pickup-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.p4f-pickup-step{border:1px solid var(--p4f-line);border-radius:var(--p4f-radius-lg);background:var(--p4f-surface);align-content:start;gap:6px;padding:0 0 20px;display:grid;position:relative;overflow:hidden}.p4f-pickup-img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.p4f-pickup-noimg:before{content:"";aspect-ratio:4/3;background:radial-gradient(circle at 80% 20%, #00a2d12e, transparent 55%), linear-gradient(160deg, var(--p4f-blue-soft), var(--p4f-blue-tint));display:block}.p4f-pickup-num{border:3px solid var(--p4f-surface);border-radius:var(--p4f-radius-full);background:var(--p4f-orange);width:44px;height:44px;color:var(--p4f-ink);font:700 20px var(--p4f-font-display);place-items:center;margin:-22px 0 4px 20px;display:grid;position:relative}.p4f-page .p4f-pickup-title,.p4f-pickup-title{font-size:var(--p4f-text-lg);margin:0;padding-inline:20px;line-height:1.25}.p4f-pickup-text{color:var(--p4f-ink-muted);font-size:var(--p4f-text-sm);margin:0;padding-inline:20px}@media (min-width:768px){.p4f-pickup-list{grid-template-columns:repeat(2,1fr)}}@media (min-width:992px){.p4f-pickup-list{grid-template-columns:repeat(4,1fr);gap:20px}}.p4f-place-photos{margin:0 calc(-1 * var(--p4f-gutter,16px));padding:0 var(--p4f-gutter,16px) 8px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--p4f-gutter,16px);grid-auto-columns:82%;grid-auto-flow:column;gap:12px;list-style:none;display:grid;overflow-x:auto}.p4f-place-photo{scroll-snap-align:start}.p4f-place-photo figure{border-radius:var(--p4f-radius-lg);height:100%;margin:0;position:relative;overflow:hidden}.p4f-place-photo img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%;display:block}.p4f-place-photo figcaption{border-radius:var(--p4f-radius-full);color:var(--p4f-ink-inverse);font-size:var(--p4f-text-sm);background:#14305ed1;padding:4px 12px;font-weight:600;position:absolute;bottom:12px;left:12px}.p4f-place-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.p4f-place-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.p4f-place-chips li{border-radius:var(--p4f-radius-full);background:var(--p4f-blue-soft);color:var(--p4f-blue-navy);font-size:var(--p4f-text-sm);padding:6px 14px;font-weight:600}@media (min-width:992px){.p4f-place-photos{grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;grid-auto-columns:auto;grid-auto-flow:dense;margin:0;padding:0;overflow:visible}.p4f-place-photo:first-child{grid-area:span 2/span 2}.p4f-place-photo img{aspect-ratio:auto}}.p4f-place-zoom{width:100%;height:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative}.p4f-place-zoom:focus-visible{outline:3px solid var(--p4f-blue);outline-offset:-3px;border-radius:var(--p4f-radius-lg)}.p4f-place-zoom-mark{width:32px;height:32px;color:var(--p4f-ink-inverse);pointer-events:none;background:#14305eb8;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.p4f-videos-list{margin:0 calc(-1 * var(--p4f-gutter,16px));padding:0 var(--p4f-gutter,16px) 8px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--p4f-gutter,16px);grid-auto-columns:86%;grid-auto-flow:column;gap:16px;list-style:none;display:grid;overflow-x:auto}.p4f-video{scroll-snap-align:start;align-content:start;gap:14px;display:grid}.p4f-video-frame{aspect-ratio:16/11;border-radius:var(--p4f-radius-lg);background:var(--p4f-blue-navy);position:relative;overflow:hidden}.p4f-video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.p4f-video-facade{display:block;position:absolute;inset:0}.p4f-video-facade img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.p4f-video-play{border-radius:var(--p4f-radius-full);background:var(--p4f-orange);width:68px;height:68px;color:var(--p4f-ink);box-shadow:var(--p4f-shadow-pop);place-items:center;transition:transform .2s;display:grid;position:absolute;bottom:16px;left:16px}.p4f-video-facade:hover img{transform:scale(1.03)}.p4f-video-facade:hover .p4f-video-play,.p4f-video-facade:focus-visible .p4f-video-play{transform:scale(1.08)}.p4f-video-facade:focus-visible{outline:3px solid var(--p4f-focus);outline-offset:-3px;border-radius:var(--p4f-radius-lg)}.p4f-video-quote{margin:0}.p4f-video-quote p{font-size:var(--p4f-text-md);margin:0 0 8px;line-height:1.5}.p4f-video-quote footer{color:var(--p4f-blue-strong);font-weight:700}.p4f-videos-note{color:var(--p4f-ink-muted);font-size:var(--p4f-text-xs);text-align:center;margin:12px 0 0}@media (min-width:992px){.p4f-videos-list{grid-template-columns:1.4fr 1fr;grid-auto-columns:auto;grid-auto-flow:row;margin:0;padding:0;overflow:visible}.p4f-video:first-child{grid-row:span 2}.p4f-video:not(:first-child){grid-template-columns:220px 1fr;align-items:center}.p4f-video:not(:first-child) .p4f-video-play{width:52px;height:52px}.p4f-video:first-child .p4f-video-quote p{font-size:var(--p4f-text-lg)}}@media (prefers-reduced-motion:reduce){.p4f-video-facade img,.p4f-video-play{transition:none}}
