.transit-finder{--tf-ink:var(--color-ocean-900);--tf-muted:var(--color-ocean-600);--tf-line:var(--color-ocean-200);--tf-surface:#fff;--tf-soft:var(--color-sand-50);--tf-selected:var(--color-foam-50);--tf-radius:.75rem;--tf-map-height:18rem;--tf-space-1:.25rem;--tf-space-2:.5rem;--tf-space-3:.75rem;--tf-space-4:1rem;--tf-space-5:1.5rem;--tf-space-6:2rem;color:var(--tf-ink);background:var(--tf-surface);border:1px solid var(--color-ocean-800);box-shadow:var(--shadow-card);font-family:var(--font-body);text-align:left;isolation:isolate;border-radius:1rem;scroll-margin-top:8rem;font-size:1rem;line-height:1.5}.transit-finder [hidden],.transit-finder [data-hidden]{display:none!important}.transit-finder :is(button,input,select,a,summary):focus-visible{outline:3px solid var(--color-ocean-500);outline-offset:3px}.transit-finder :is(button,input,select){font:inherit}.transit-finder button{cursor:pointer}.transit-finder :is(button,input,select):disabled{cursor:not-allowed;opacity:.6}.transit-finder a{text-underline-offset:.2em}.transit-finder .tf-header{justify-content:space-between;align-items:center;gap:var(--tf-space-4);color:#fff;background:var(--color-ocean-800);border-radius:calc(1rem - 1px) calc(1rem - 1px) 0 0;padding:1.5rem;display:flex}.transit-finder .tf-eyebrow{color:var(--color-foam-200);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.875rem;font-weight:500}.transit-finder .tf-title{color:#fff;font-family:var(--font-display);text-wrap:balance;margin:0;font-size:clamp(1.75rem,4vw,2.375rem);font-weight:500;line-height:1.15}.transit-finder .tf-intro{max-width:38rem;color:var(--color-ocean-100);margin:.625rem 0 0;font-size:1rem;line-height:1.6}.transit-finder .tf-header-icon{width:clamp(4.5rem,11vw,8rem);height:auto;color:var(--color-paper-50);flex:none}.transit-finder .tf-layout{min-width:0;display:grid}.transit-finder .tf-confidence{background:var(--color-ocean-200);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.transit-finder .tf-confidence li{background:var(--color-paper-50);gap:.125rem;min-width:0;padding:.875rem 1rem;display:grid}.transit-finder .tf-confidence strong{color:var(--color-ocean-800);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.transit-finder .tf-confidence span{color:var(--tf-muted);font-size:.75rem;line-height:1.35}.transit-finder .tf-controls{align-content:start;gap:var(--tf-space-5);min-width:0;padding:var(--tf-space-5);display:grid}.transit-finder [data-journey-form]{gap:var(--tf-space-5);min-width:0;display:grid}.transit-finder .tf-field{min-width:0;margin:0}.transit-finder .tf-label{align-items:center;gap:var(--tf-space-2);margin-bottom:var(--tf-space-2);color:var(--tf-ink);font-size:1rem;font-weight:600;line-height:1.4;display:flex}.transit-finder .tf-step{background:var(--color-coral-50);width:1.5rem;height:1.5rem;color:var(--color-ocean-900);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:inline-flex}.transit-finder .tf-input-wrap{min-width:0;position:relative}.transit-finder .tf-input{border:1px solid var(--tf-line);border-radius:var(--tf-radius);width:100%;min-width:0;min-height:3rem;color:var(--tf-ink);font-family:var(--font-body);color-scheme:light;background:#fff;margin:0;padding:.75rem;font-size:1rem;line-height:1.5;display:block}.transit-finder .tf-input::placeholder{color:var(--color-ocean-400);opacity:1}.transit-finder .tf-input:hover{border-color:var(--color-ocean-400)}.transit-finder .tf-input:focus{border-color:var(--color-ocean-600)}.transit-finder .tf-help{color:var(--tf-muted);margin:.5rem 0 0;font-size:.875rem;line-height:1.5}.transit-finder .tf-help:empty{display:none}.transit-finder .tf-places{gap:var(--tf-space-2);margin-top:var(--tf-space-3);flex-wrap:wrap;display:flex}.transit-finder .tf-place{border:1px solid var(--color-sand-200);border-radius:var(--tf-radius);background:var(--tf-soft);min-height:3rem;color:var(--tf-muted);text-align:left;justify-content:center;align-items:center;gap:.375rem;padding:.625rem .75rem;font-size:.875rem;font-weight:500;line-height:1.35;text-decoration:none;display:inline-flex}.transit-finder .tf-place:hover{border-color:var(--color-ocean-400);background:var(--color-ocean-50)}.transit-finder .tf-place[aria-pressed=true]{border-color:var(--color-ocean-700);background:var(--tf-selected);color:var(--tf-ink)}.transit-finder .tf-place svg{flex:none;width:1rem;height:1rem}.transit-finder .tf-results{overscroll-behavior:contain;max-height:19rem;margin:var(--tf-space-2) 0 0;padding:var(--tf-space-1);border:1px solid var(--tf-line);border-radius:var(--tf-radius);scrollbar-gutter:stable;background:#fff;gap:0;list-style:none;display:grid;overflow-y:auto}.transit-finder :is(button.tf-place-result,.tf-place-result button){width:100%;min-height:3rem;padding:var(--tf-space-3);color:var(--tf-ink);text-align:left;background:0 0;border:0;border-radius:.5rem;gap:.125rem;display:grid}.transit-finder :is(button.tf-place-result,.tf-place-result button):hover{background:var(--tf-selected)}.transit-finder .tf-place-result strong{font-size:1rem;font-weight:600;line-height:1.4}.transit-finder .tf-place-result small{color:var(--tf-muted);font-size:.875rem;line-height:1.45}.transit-finder .tf-selected{align-items:center;gap:var(--tf-space-2);margin-top:var(--tf-space-2);border-left:3px solid var(--color-foam-500);background:var(--tf-selected);color:var(--tf-muted);border-radius:0 .5rem .5rem 0;flex-wrap:wrap;padding:.625rem .75rem;font-size:.875rem;display:flex}.transit-finder .tf-location{justify-content:center;align-items:center;gap:var(--tf-space-2);width:100%;min-height:3rem;margin-top:var(--tf-space-2);border:1px solid var(--tf-line);border-radius:var(--tf-radius);color:var(--color-ocean-700);background:#fff;padding:.625rem .75rem;font-size:.875rem;font-weight:600;display:flex}.transit-finder .tf-location:hover{background:var(--color-ocean-50)}.transit-finder .tf-location svg{flex:none;width:1.125rem;height:1.125rem}.transit-finder .tf-options{gap:var(--tf-space-3);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);display:grid}.transit-finder .tf-options .tf-label{font-size:.875rem}.transit-finder :is(.tf-date,.tf-time,label.tf-field){gap:var(--tf-space-2);min-width:0;color:var(--tf-muted);font-size:.875rem;font-weight:500;display:grid}.transit-finder details.tf-secondary>summary{min-height:3rem;padding-block:var(--tf-space-3);color:var(--color-ocean-700);cursor:pointer;font-size:.875rem;font-weight:600}.transit-finder details.tf-secondary[open]>summary{margin-bottom:var(--tf-space-2)}.transit-finder details.tf-secondary>.tf-field{margin-top:var(--tf-space-4)}.transit-finder .tf-submit{justify-content:center;align-items:center;gap:var(--tf-space-3);width:100%;min-height:3.25rem;padding:var(--tf-space-3) var(--tf-space-4);border:1px solid var(--color-ocean-800);border-radius:var(--tf-radius);background:var(--color-ocean-800);color:#fff;font-size:1rem;font-weight:600;line-height:1.5;display:flex}.transit-finder .tf-submit:hover:not(:disabled){background:var(--color-ocean-600)}.transit-finder .tf-submit svg{flex:none;width:1.25rem;height:1.25rem}.transit-finder .tf-status{color:var(--tf-muted);margin:0;font-size:.875rem;line-height:1.6}.transit-finder .tf-status:empty{display:none}.transit-finder .tf-status[data-state=error]{padding:var(--tf-space-3);border-left:3px solid var(--color-coral-500);background:var(--color-coral-50);color:var(--tf-ink)}.transit-finder .tf-answer{min-width:0;padding-top:var(--tf-space-5);border-top:1px solid var(--color-sand-200);scroll-margin-top:8rem}.transit-finder .tf-answer:focus-visible{outline:3px solid var(--color-ocean-500);outline-offset:6px}.transit-finder .tf-answer-heading{color:var(--tf-muted);margin:0;font-size:1rem;font-weight:600;line-height:1.5}.transit-finder .tf-answer-time{margin:var(--tf-space-2) 0;color:var(--tf-ink);font-family:var(--font-body);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,4vw,2.125rem);font-weight:600;line-height:1.15}.transit-finder .tf-answer-meta{color:var(--tf-muted);margin:0;font-size:.875rem;line-height:1.6}.transit-finder .tf-itinerary{margin:var(--tf-space-5) 0;padding:0;list-style:none;display:grid}.transit-finder .tf-leg{column-gap:var(--tf-space-3);min-width:0;padding:0 0 var(--tf-space-5);grid-template-columns:1.75rem minmax(0,1fr);display:grid;position:relative}.transit-finder .tf-leg:last-child{padding-bottom:0}.transit-finder .tf-leg:not(:last-child):before{background:var(--color-ocean-200);content:"";width:2px;position:absolute;top:1.75rem;bottom:0;left:.8125rem}.transit-finder .tf-leg-number{border:1px solid var(--color-ocean-700);width:1.75rem;height:1.75rem;color:var(--color-ocean-700);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;line-height:1;display:flex}.transit-finder .tf-leg-body{min-width:0;padding-top:.125rem}.transit-finder .tf-leg-title{margin:0;font-size:1rem;font-weight:600;line-height:1.5}.transit-finder .tf-leg-detail{color:var(--tf-muted);margin:.25rem 0 0;font-size:.875rem;line-height:1.6}.transit-finder .tf-answer-actions{gap:var(--tf-space-2);margin-top:var(--tf-space-4);flex-wrap:wrap;display:flex}.transit-finder .tf-coach{margin:var(--tf-space-5) 0;padding:var(--tf-space-4);border:1px solid var(--color-ocean-200);border-radius:var(--tf-radius);background:var(--color-ocean-50)}.transit-finder .tf-coach-heading{margin-bottom:var(--tf-space-3);justify-content:space-between;align-items:start;gap:1rem;display:flex}.transit-finder .tf-coach-kicker{color:var(--color-coral-600);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .125rem;font-size:.6875rem;font-weight:700}.transit-finder .tf-coach h3{color:var(--tf-ink);margin:0;font-size:1rem;line-height:1.4}.transit-finder .tf-coach-progress{color:var(--tf-muted);background:#fff;border-radius:999px;flex:none;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.transit-finder .tf-coach[data-ready] .tf-coach-progress{background:var(--color-foam-500);color:#fff}.transit-finder .tf-coach-steps{gap:var(--tf-space-2);margin:0;padding:0;list-style:none;display:grid}.transit-finder .tf-coach-step{border:1px solid var(--color-ocean-200);width:100%;min-height:3.5rem;color:var(--tf-ink);text-align:left;background:#fff;border-radius:.625rem;grid-template-columns:2rem minmax(0,1fr);gap:.75rem;padding:.75rem;display:grid}.transit-finder .tf-coach-step:hover{border-color:var(--color-ocean-500)}.transit-finder .tf-coach-step[aria-pressed=true]{border-color:var(--color-foam-500);background:var(--color-foam-50)}.transit-finder .tf-coach-check{border:1px solid var(--color-ocean-400);width:2rem;height:2rem;color:var(--color-ocean-700);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.transit-finder .tf-coach-step[aria-pressed=true] .tf-coach-check{border-color:var(--color-foam-600);background:var(--color-foam-500);color:#fff}.transit-finder .tf-coach-step>span:last-child{gap:.125rem;display:grid}.transit-finder .tf-coach-step strong{font-size:.875rem;line-height:1.4}.transit-finder .tf-coach-step small{color:var(--tf-muted);font-size:.75rem;line-height:1.5}.transit-finder .tf-coach-alert{margin:var(--tf-space-3) 0 0;border-left:3px solid var(--color-coral-500);background:var(--color-coral-50);color:var(--tf-ink);padding:.75rem;font-size:.75rem;line-height:1.5}.transit-finder :is(a.tf-secondary,button.tf-secondary,.tf-answer-actions a,.tf-answer-actions button){justify-content:center;align-items:center;gap:var(--tf-space-2);border:1px solid var(--tf-line);border-radius:var(--tf-radius);min-height:3rem;color:var(--color-ocean-700);text-align:center;background:#fff;padding:.625rem .875rem;font-size:.875rem;font-weight:600;line-height:1.45;text-decoration:none;display:inline-flex}.transit-finder :is(a.tf-secondary,button.tf-secondary,.tf-answer-actions a,.tf-answer-actions button):hover{border-color:var(--color-ocean-500);background:var(--color-ocean-50)}.transit-finder .tf-alternatives{margin-top:var(--tf-space-5);padding-top:var(--tf-space-4);border-top:1px solid var(--color-sand-200)}.transit-finder .tf-alternatives summary{min-height:3rem;color:var(--color-ocean-700);cursor:pointer;padding-block:.75rem;font-size:.875rem;font-weight:600}.transit-finder .tf-route-shortcut{padding-top:var(--tf-space-4);border-top:1px solid var(--color-sand-200);color:var(--tf-muted);margin:0;font-size:.875rem;line-height:1.6}.transit-finder .tf-route-shortcut :is(a,button,summary){min-height:3rem}.transit-finder .tf-route-shortcut a{color:var(--color-ocean-700);align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.transit-finder .tf-map-column{gap:var(--tf-space-4);min-width:0;padding:var(--tf-space-5);border-top:1px solid var(--color-sand-200);background:var(--tf-soft);border-radius:0 0 calc(1rem - 1px) calc(1rem - 1px);flex-direction:column;display:flex}.transit-finder .tf-map-heading{justify-content:space-between;align-items:center;gap:var(--tf-space-2);color:var(--tf-ink);flex-wrap:wrap;margin:0;font-size:1rem;font-weight:600;line-height:1.5;display:flex}.transit-finder .tf-map-heading>span:first-child{align-items:center;gap:var(--tf-space-2);display:inline-flex}.transit-finder .tf-map-heading svg{width:1.125rem;height:1.125rem}.transit-finder .tf-map-tag{border:1px solid var(--color-ocean-200);color:var(--tf-muted);border-radius:.375rem;padding:.25rem .625rem;font-size:.875rem;font-weight:400}.transit-finder .tf-map-key{color:var(--tf-muted);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.875rem;line-height:1.5;display:flex}.transit-finder .tf-map-key>span{align-items:center;gap:.375rem;display:inline-flex}.transit-finder .tf-map-key button{align-items:center;gap:var(--tf-space-2);min-height:3rem;color:var(--tf-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:.5rem;padding:.5rem .625rem;font-size:.875rem;display:inline-flex}.transit-finder .tf-map-key button>span{color:var(--color-ocean-400);font-variant-numeric:tabular-nums;font-size:.875rem}.transit-finder .tf-map-key button:hover{border-color:var(--tf-line);background:#fff}.transit-finder .tf-map-key button[aria-pressed=true]{border-color:var(--color-ocean-600);background:var(--tf-selected)}.transit-finder .tf-map-note{color:var(--tf-muted);margin:0;font-size:.875rem;line-height:1.6}.transit-finder .tf-map-editorial{align-items:start;gap:var(--tf-space-4);padding:var(--tf-space-5);border:1px solid var(--color-sand-200);border-radius:var(--tf-radius);background:var(--color-paper-50);margin-top:auto;display:flex}.transit-finder .tf-editorial-icon{width:3rem;height:3rem;color:var(--color-ocean-700);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.transit-finder .tf-editorial-icon svg{width:1.75rem;height:1.75rem}.transit-finder .tf-map-editorial h2{color:var(--tf-ink);font-family:var(--font-display);margin:0 0 .375rem;font-size:1.375rem;font-weight:500;line-height:1.35}.transit-finder .tf-map-editorial p{color:var(--tf-muted);margin:0;font-size:.875rem;line-height:1.6}.transit-finder .tf-map-editorial button{align-items:center;gap:var(--tf-space-2);min-height:3rem;padding-block:var(--tf-space-2);color:var(--color-ocean-700);text-align:left;text-underline-offset:.2em;background:0 0;border:0;margin-top:.25rem;font-size:.875rem;font-weight:600;text-decoration:underline;display:inline-flex}.transit-finder .tf-map-footer{flex-wrap:wrap;justify-content:space-between;gap:0 1rem;display:flex}.transit-finder .tf-map-footer a{min-height:3rem;color:var(--tf-muted);align-items:center;font-size:.875rem;text-decoration:underline;display:inline-flex}.transit-finder :is(.tf-line-casing,.tf-line-ink){fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.transit-finder .tf-line-casing{stroke:#fff;stroke-width:8px;opacity:.95}.transit-finder .tf-line-ink{stroke:var(--line-color,var(--color-ocean-700));stroke-width:4px}.transit-finder .tf-place-marker{cursor:pointer;outline:none}.transit-finder .tf-place-marker>circle{fill:var(--color-coral-500);stroke:var(--color-ocean-800);stroke-width:1.5px;vector-effect:non-scaling-stroke}.transit-finder .tf-place-marker>.tf-marker-hit{fill:#fff;fill-opacity:.9;stroke:#fff;stroke-width:2px}.transit-finder .tf-place-marker:is(:hover,:focus-visible)>.tf-marker-hit{stroke:var(--color-ocean-800);stroke-width:3px}.transit-finder .tf-trip-marker circle{fill:var(--marker-color,var(--color-ocean-800));stroke:#fff;stroke-width:3px;vector-effect:non-scaling-stroke}.transit-finder .tf-trip-marker text{fill:#fff;font-family:var(--font-body);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:9px;font-weight:600}.transit-finder .tf-empty{padding:var(--tf-space-4);border:1px solid var(--color-sand-200);border-radius:var(--tf-radius);background:var(--color-paper-50);color:var(--tf-muted);margin:0;font-size:.875rem;line-height:1.65}.transit-finder .tf-empty strong{color:var(--tf-ink);margin-bottom:.25rem;font-size:1rem;display:block}.transit-finder .tf-schedule-note{color:var(--tf-muted);margin:0;font-size:.875rem;line-height:1.6}.transit-finder [data-island-map]{min-width:0;margin:0}.transit-finder [data-island-map] .map-layout{margin-top:0}.transit-finder .tf-map-column [data-island-map] .map-window.is-overview{height:var(--tf-map-height);min-height:var(--tf-map-height);border:1px solid var(--tf-line);border-radius:var(--tf-radius)}.transit-finder .tf-map-column [data-island-map] .map-window.is-overview .island-map-canvas{height:var(--tf-map-height);min-height:var(--tf-map-height)}.transit-finder [data-island-map] .map-caption{margin-top:.75rem;padding-top:.75rem}@media (width<=23rem){.transit-finder .tf-header{padding:1.25rem 1rem}.transit-finder .tf-header-icon{width:3.5rem}.transit-finder :is(.tf-controls,.tf-map-column){padding:var(--tf-space-4)}.transit-finder .tf-options{grid-template-columns:minmax(0,1fr)}.transit-finder .tf-map-editorial{gap:var(--tf-space-3);padding:var(--tf-space-4)}.transit-finder .tf-editorial-icon{width:2.5rem;height:2.5rem}}@media (width<=39.99rem){.transit-finder .tf-confidence{grid-template-columns:repeat(2,minmax(0,1fr))}.transit-finder .tf-coach-heading{display:grid}}@media (width>=40rem){.transit-finder{--tf-map-height:24rem}.transit-finder .tf-header{padding:1.75rem 2rem}.transit-finder :is(.tf-controls,.tf-map-column){padding:var(--tf-space-6)}}@media (width>=64rem){.transit-finder{--tf-map-height:32rem}.transit-finder .tf-layout{grid-template-columns:minmax(25rem,29rem) minmax(0,1fr);align-items:stretch}.transit-finder .tf-controls{padding:var(--tf-space-5)}.transit-finder .tf-map-column{padding:var(--tf-space-5);border-top:0;border-left:1px solid var(--color-sand-200);border-radius:0 0 calc(1rem - 1px)}}@media (prefers-reduced-motion:no-preference){.transit-finder :is(.tf-place,.tf-location,.tf-submit,.tf-secondary){transition:background-color .15s,border-color .15s}}@media (forced-colors:active){.transit-finder .tf-step{border:1px solid buttontext}.transit-finder .tf-leg:not(:last-child):before{background:canvastext}.transit-finder .tf-place[aria-pressed=true]{outline:2px solid highlight}}.transit-finder .tf-place-marker text{fill:var(--color-ocean-900);font:600 6px var(--font-body);pointer-events:none}.transit-finder .tf-places{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.transit-finder .tf-place{justify-content:flex-start;padding-inline:.625rem}.transit-finder .tf-route-badge{align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.transit-finder .tf-route-badge:before{content:"";background:var(--line-color);border-radius:1rem;width:1.25rem;height:.25rem}@media (width<=39.99rem){.transit-finder .tf-header{padding:1.25rem;position:relative}.transit-finder .tf-eyebrow{letter-spacing:.06em;padding-right:3rem;font-size:.75rem}.transit-finder .tf-title{text-wrap:normal;max-width:15rem;font-size:1.85rem}.transit-finder .tf-intro{font-size:.875rem}.transit-finder .tf-header-icon{width:3rem;position:absolute;top:1rem;right:1rem}}.transit-finder[data-destination-selected] .tf-places{display:none}.transit-finder .tf-answer-time{display:block}@media (width>=64rem){.transit-finder .tf-layout{background:var(--tf-soft);border-radius:0 0 1rem 1rem;align-items:start}.transit-finder .tf-controls{background:#fff;border-radius:0 0 0 1rem}.transit-finder .tf-map-column{position:sticky;top:7.5rem}}
