.hero-inner{position:relative}.hero-bus{display:none}@media (min-width:960px){.hero-bus{display:block;position:absolute;right:var(--gutter);bottom:36px;width:min(34vw,440px);filter:drop-shadow(0 18px 24px rgba(0,0,0,.35));animation:hero-bus-in 1s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}}@keyframes hero-bus-in{0%{transform:translateX(40px);opacity:0}}.bgv{position:absolute;inset:0;overflow:hidden;container-type:size;background:var(--tone,var(--ink-2))}.bgv .story-placeholder,.bgv-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kenburns 18s ease-in-out infinite alternate;transition:opacity .8s ease}@keyframes kenburns{0%{transform:scale(1.04) translateZ(0)}to{transform:scale(1.16) translate3d(-2%,-2%,0)}}.bgv-frame{position:absolute;top:50%;left:50%;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);border:0;transform:translate(-50%,-50%) scale(1.18);opacity:0;pointer-events:none;transition:opacity 1s ease}.bgv-frame.is-vertical{width:max(100cqw,56.25cqh);height:max(100cqh,177.78cqw);transform:translate(-50%,-50%) scale(1.3)}.bgv.is-ready .bgv-frame{opacity:1}.bgv.is-ready .bgv-photo{opacity:0}.stories-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:var(--max);margin:-4px auto 14px;padding-inline:var(--gutter)}@media (min-width:1264px){.stories-toolbar{padding-inline:0}}.stories-arrows{display:none;gap:8px}@media (hover:hover) and (pointer:fine){.stories-arrows{display:flex}}.rail-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:0 6px 16px -10px rgba(15,43,58,.5);cursor:pointer;transition:background .15s ease,transform .15s ease,opacity .15s ease}.rail-arrow:hover:not(:disabled){background:var(--ink);color:#fff;transform:scale(1.05)}.rail-arrow:disabled{opacity:.35;cursor:default}.live-toggle{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:8px 16px 8px 14px;border:0;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:transform .15s ease}.live-toggle:hover{transform:translateY(-1px)}.live-dot{width:9px;height:9px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 0 0 rgba(255,77,77,.6);animation:live-pulse 1.6s ease-out infinite}@keyframes live-pulse{to{box-shadow:0 0 0 10px rgba(255,77,77,0)}}.stories-frame{position:relative}.stories-frame:after,.stories-frame:before{content:"";position:absolute;z-index:2;top:0;bottom:12px;width:56px;pointer-events:none;opacity:0;transition:opacity .2s ease}.stories-frame:before{left:0;background:linear-gradient(to right,var(--paper),transparent)}.stories-frame:after{right:0;background:linear-gradient(to left,var(--paper),transparent)}.stories-frame.has-after:after,.stories-frame.has-before:before{opacity:1}.stories-frame .stories-rail{gap:16px;padding:8px var(--gutter) 20px;cursor:-webkit-grab;cursor:grab;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}@media (min-width:1264px){.stories-frame .stories-rail{padding-inline:max(0px,calc((100vw - var(--max)) / 2 - 8px));scroll-padding-inline:max(0px,calc((100vw - var(--max)) / 2 - 8px))}}.stories-rail.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stories-rail.is-dragging .story-card{pointer-events:none}.stories-progress{max-width:var(--max);height:3px;margin:2px auto 0;margin-inline:max(var(--gutter),calc((100% - var(--max)) / 2));border-radius:3px;background:var(--line);overflow:hidden}.stories-progress span{display:block;height:100%;border-radius:3px;background:var(--ink);transition:width .15s linear}.story-card{position:relative;display:block;width:clamp(250px,74vw,300px);aspect-ratio:9/16;border-radius:28px;overflow:hidden;isolation:isolate;background:var(--tone,var(--ink-2));color:#fff;box-shadow:0 24px 40px -24px rgba(6,20,28,.6),0 2px 6px rgba(6,20,28,.12);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}@media (hover:hover){.stories-rail>li:hover .story-card{transform:translateY(-6px);box-shadow:0 34px 50px -24px rgba(6,20,28,.7),0 2px 6px rgba(6,20,28,.12)}}.story-card:active{transform:scale(.985)}.story-card-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(6,16,22,.55) 0,rgba(6,16,22,0) 22%),linear-gradient(0deg,rgba(6,16,22,.94) 0,rgba(6,16,22,.6) 34%,rgba(6,16,22,0) 62%);pointer-events:none}.story-card-top{position:absolute;z-index:2;top:16px;left:16px;right:16px;display:flex;align-items:center;gap:8px}.story-card-index{font-family:var(--font-display);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;opacity:.85}.story-card-area{min-width:0;padding:5px 11px;border-radius:var(--r-pill);background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-card.is-live .story-card-index:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#ff4d4d;vertical-align:1px;animation:live-pulse 1.6s ease-out infinite}.story-card-body{position:absolute;z-index:2;inset:auto 0 0 0;min-height:0;display:grid;grid-gap:8px;gap:8px;padding:20px;align-content:end}.story-card-name{font-family:var(--font-display);font-size:clamp(1.75rem,7vw,2.125rem);font-weight:700;letter-spacing:-.03em;line-height:1;text-shadow:0 2px 18px rgba(0,0,0,.35)}.story-card-tagline{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-sm);line-height:1.4;opacity:.92}.story-card-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;font-size:var(--fs-xs);font-weight:600}.story-card-facts span{padding:4px 10px;border-radius:var(--r-pill);background:rgba(255,255,255,.14)}.story-card-facts .is-price{background:var(--sun);color:var(--on-sun)}.story-card-facts span:first-child{color:inherit}.story-card-facts .is-price:first-child{color:var(--on-sun)}.story-card-cta{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:var(--fs-sm);font-weight:700;color:var(--sun)}.story-card-cta svg{transition:transform .2s ease}.stories-rail>li:hover .story-card-cta svg{transform:translateX(4px)}.story-card-hit{position:absolute;z-index:3;inset:0;width:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer}.story-card-hit:focus-visible{outline:3px solid var(--sun);outline-offset:-3px}.story-viewer{background:rgba(4,12,17,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.story-sheet{display:block;isolation:isolate}@media (min-width:640px){.story-sheet{height:min(92dvh,900px);border-radius:30px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}}.story-sheet>.bgv{z-index:0}.story-sheet-shade{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,12,17,.6) 0,rgba(4,12,17,0) 18%),linear-gradient(0deg,rgba(4,12,17,.96) 0,rgba(4,12,17,.75) 42%,rgba(4,12,17,.05) 72%);transition:background .4s ease}.story-sheet-shade.is-deep{background:linear-gradient(180deg,rgba(4,12,17,.62),rgba(4,12,17,.5) 30%,rgba(4,12,17,.78))}.story-progress{z-index:4;top:12px;left:14px;right:14px;gap:5px}.story-progress button{flex:1 1;height:14px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}.story-progress button:before{content:"";position:absolute;left:0;right:0;top:5px;height:3px;border-radius:3px;background:rgba(255,255,255,.3)}.story-progress button.is-current:before,.story-progress button.is-done:before{background:#fff}.story-progress button.is-current:before{box-shadow:0 0 10px rgba(255,255,255,.6)}.story-tools{position:absolute;z-index:4;top:32px;right:10px;left:14px;display:flex;justify-content:flex-end;align-items:center;gap:8px}.story-tool{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(0,0,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;cursor:pointer}.story-tool:hover{background:rgba(0,0,0,.5)}.live-toggle--sheet{margin-right:auto;min-height:36px;padding:6px 14px 6px 12px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:var(--fs-xs)}.story-close{display:none}.story-hero{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;overflow-y:auto;padding:96px 22px calc(80px + env(safe-area-inset-bottom));animation:hero-in .5s cubic-bezier(.2,.8,.2,1) both;scrollbar-width:none}.story-hero::-webkit-scrollbar{display:none}@keyframes hero-in{0%{transform:translateY(18px);opacity:0}}.story-kicker{align-self:flex-start;padding:5px 12px;border-radius:var(--r-pill);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em}.story-sheet-name{font-size:clamp(2.75rem,12vw,3.5rem);letter-spacing:-.035em}.story-hero-title,.story-sheet-name{font-weight:700;text-shadow:0 4px 30px rgba(0,0,0,.4)}.story-hero-title{font-family:var(--font-display);font-size:clamp(1.875rem,8vw,2.375rem);letter-spacing:-.03em;line-height:1.05}.story-hero-hook{font-size:var(--fs-lg);font-weight:600;line-height:1.35;color:var(--sun)}.story-hero-text{font-size:var(--fs-sm);line-height:1.6;opacity:.92}.story-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:2px 0}.story-stats>div{padding:10px 10px 9px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.story-stats dt{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.story-stats dd{margin:3px 0 0;font-size:.6875rem;line-height:1.3;opacity:.78}.story-sub{margin-top:4px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sun)}.story-chips{display:flex;gap:10px;margin-inline:-22px;padding:0 22px 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:22px;list-style:none;scrollbar-width:none}.story-chips::-webkit-scrollbar{display:none}.story-chips li{flex:0 0 76%;display:grid;grid-gap:4px;gap:4px;align-content:start;padding:14px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);scroll-snap-align:start}.story-chips strong{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600}.story-chips span{font-size:var(--fs-xs);line-height:1.45;opacity:.88}.story-hero .story-sheet-cta,.story-hero-next{margin-top:4px}.story-section{position:absolute;z-index:2;inset:0;height:auto;padding:96px 22px calc(80px + env(safe-area-inset-bottom));background:none;animation:hero-in .4s cubic-bezier(.2,.8,.2,1) both}.story-section-title{font-size:clamp(1.625rem,7vw,2rem);font-weight:700}.feature-list,.who-list{display:grid;grid-gap:10px;gap:10px;padding:0;list-style:none}.feature-list li,.who-list li{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;padding:14px;border-radius:18px;background:rgba(10,22,30,.42);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:item-in .5s cubic-bezier(.2,.8,.2,1) both}.feature-list li:nth-child(2),.who-list li:nth-child(2){animation-delay:.05s}.feature-list li:nth-child(3),.who-list li:nth-child(3){animation-delay:.1s}.feature-list li:nth-child(4),.who-list li:nth-child(4){animation-delay:.15s}.feature-list li:nth-child(5),.who-list li:nth-child(5){animation-delay:.2s}.feature-list li:nth-child(6),.who-list li:nth-child(6){animation-delay:.25s}@keyframes item-in{0%{transform:translateY(12px);opacity:0}}.feature-list li>span:last-child,.who-list li>span:last-child{display:grid;grid-gap:4px;gap:4px}.feature-list strong,.who-list strong{font-weight:700;line-height:1.25}.feature-list li>span:last-child>span,.who-list li>span:last-child>span{font-size:var(--fs-sm);line-height:1.5;opacity:.86}.who-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--sun);color:var(--on-sun)}.feature-num{min-width:42px;font-family:var(--font-display);font-size:1.375rem;font-weight:700;line-height:1.1;color:var(--sun)}.category-list a,.place-link,.place-map{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}.story-nav,.story-sheet .story-nav,.story-sheet--cover .story-nav{z-index:3;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}@media (min-width:640px){.story-sheet .story-nav,.story-sheet--cover .story-nav{top:50%;bottom:auto;transform:translateY(-50%);position:fixed;width:52px;height:52px}.story-nav--prev{left:calc(50% - (min(92dvh, 900px) * 9 / 32) - 76px)}.story-nav--next{right:calc(50% - (min(92dvh, 900px) * 9 / 32) - 76px)}.story-hero,.story-section{padding-bottom:28px}}@media (prefers-reduced-motion:reduce){.bgv-photo,.feature-list li,.hero-bus,.story-hero,.story-section,.who-list li{animation:none}}.city-hook{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:600;letter-spacing:-.02em;line-height:1.25}.city-region{padding:22px;border-radius:var(--r-panel);background:var(--ink);color:#fff}.city-region-name{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sun)}.guide-grid{display:grid;grid-gap:10px;gap:10px;padding:0;list-style:none}@media (min-width:640px){.guide-grid{grid-template-columns:1fr 1fr}}.guide-grid li{display:grid;grid-gap:4px;gap:4px;align-content:start;padding:14px 16px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.guide-grid span{font-size:var(--fs-sm);line-height:1.5;color:var(--muted)}.city-region .guide-grid li{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.city-region .guide-grid span{color:var(--on-ink-muted)}.city-now{gap:8px;padding:5px 11px;border-radius:var(--r-pill);background:rgba(6,16,22,.42);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:.75rem;font-weight:600;white-space:nowrap}.city-now,.city-now>span{display:inline-flex;align-items:center}.city-now>span{gap:4px}.city-now-weather{font-family:var(--font-display)}.city-now-diff{opacity:.75;font-weight:500}.city-now--card{position:absolute;z-index:2;top:52px;left:16px;max-width:calc(100% - 32px)}.city-now--sheet{align-self:flex-start;font-size:var(--fs-xs);padding:6px 12px}.memo-intro{font-size:var(--fs-sm);line-height:1.55;opacity:.92}.memo-list{display:grid;grid-gap:10px;gap:10px;margin:6px 0 4px;padding:0;list-style:none;counter-reset:memo}.memo-list li{position:relative;display:grid;grid-gap:4px;gap:4px;padding:14px 14px 14px 52px;border-radius:18px;background:rgba(10,22,30,.5);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);counter-increment:memo;animation:item-in .5s cubic-bezier(.2,.8,.2,1) both}.memo-list li:before{content:counter(memo);position:absolute;left:14px;top:14px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sun);color:var(--on-sun);font-family:var(--font-display);font-size:.8125rem;font-weight:700}.memo-list strong{line-height:1.3}.memo-list span{font-size:var(--fs-sm);line-height:1.5;opacity:.88}.memo-link{display:inline-flex;justify-content:center;align-items:center;gap:8px;margin-top:6px}.memo-note{font-size:.75rem;line-height:1.45;text-align:center;opacity:.7}.venue-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.venue-list a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 14px 9px 11px;border-radius:14px;background:rgba(10,22,30,.45);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;font-size:var(--fs-sm);font-weight:500;line-height:1.25;text-decoration:none;transition:background .15s ease}.venue-list a:hover{background:rgba(255,255,255,.18)}.venue-list svg{flex:0 0 auto;color:var(--sun)}.city-memo{padding:22px;border-radius:var(--r-panel);background:var(--sun-soft)}.city-memo .guide-grid li{background:var(--surface)}.city-memo-note{font-size:var(--fs-xs);color:var(--muted)}.venue-list--light a{background:var(--surface);color:var(--text);border-color:var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}.venue-list--light a:hover{background:var(--surface-2)}.venue-list--light svg{color:var(--sky)}.story-hero,.story-section{-webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 78px,#000 104px);mask-image:linear-gradient(180deg,transparent 0,transparent 78px,#000 104px)}.story-card-facts .is-memo{background:rgba(255,255,255,.92);color:var(--ink)}.info-toc{display:flex;flex-wrap:wrap;gap:8px}.info-toc a{padding:8px 14px;border-radius:var(--r-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-sm);font-weight:600;color:inherit;text-decoration:none}.info-toc a:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}.info-section{display:grid;grid-gap:12px;gap:12px;scroll-margin-top:90px}.boarding-list{display:grid;grid-gap:14px;gap:14px;padding:0;list-style:none}.boarding-card{display:grid;grid-gap:10px;gap:10px;padding:18px 20px;border-radius:var(--r-panel);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);scroll-margin-top:90px}.boarding-card:target{box-shadow:inset 0 0 0 2px var(--sun)}.boarding-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.boarding-station{font-size:var(--fs-sm);color:var(--muted)}.boarding-address{font-weight:600}.boarding-address.is-pending{font-weight:400;font-size:var(--fs-sm);color:var(--muted)}.boarding-hint{font-size:var(--fs-sm);line-height:1.5}.boarding-maps{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.boarding-city-link{margin-left:auto;font-size:var(--fs-sm);font-weight:600}.help-box{display:grid;grid-gap:10px;gap:10px;padding:22px;border-radius:var(--r-panel);background:var(--ink);color:#fff}.help-box p{color:var(--on-ink-muted)}.help-box-actions{display:flex;flex-wrap:wrap;gap:10px}.help-box .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}.summary-link{font-size:var(--fs-sm);font-weight:600}.wa-float{position:fixed;z-index:70;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 24px rgba(6,20,28,.28);transition:transform .15s ease}.wa-float:hover{transform:scale(1.06)}@media print{.wa-float{display:none}}.passenger-fare{display:grid;grid-gap:8px;gap:8px;justify-items:start}.passenger-fare,.passenger-note{grid-column:1/-1}.notice--warn{display:grid;grid-gap:6px;gap:6px;background:var(--sun-soft)}.notice--warn p{margin:0}.passenger-remove{margin-left:10px;padding:2px 10px;border:0;border-radius:999px;background:var(--danger-soft);color:var(--danger);font:inherit;font-size:var(--fs-xs);font-weight:600;vertical-align:middle;cursor:pointer}.add-infant{justify-self:start}.summary-passenger-fare{display:block;font-size:var(--fs-xs);color:var(--muted)}.fare-table{width:100%;border-collapse:collapse;border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-sm)}.fare-table td,.fare-table th{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.fare-table th{font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.fare-table tr:last-child td{border-bottom:0}.fare-table td:last-child{font-weight:600}.info-bullets{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:1.2em;line-height:1.5}.info-check{list-style:none;padding-left:0}.info-check li:before{content:"✓ ";font-weight:700;color:var(--ok)}.info-cta{justify-self:start}.faq{display:grid;grid-gap:8px;gap:8px}.faq details{padding:12px 16px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.faq summary{font-weight:600;cursor:pointer}.faq details p{margin:8px 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--muted)}