.routes-hero{padding:58px 0 52px;background:var(--mc-navy);color:var(--mc-on-dark);position:relative;overflow:hidden}
    .routes-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--mc-gold) 24%,transparent),transparent 38%),linear-gradient(125deg,transparent 42%,color-mix(in srgb,var(--mc-teal) 24%,transparent))}
    .routes-hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:48px;align-items:end}
    .routes-hero h1{font-size:clamp(2.25rem,5vw,4rem);max-width:14ch;margin:10px 0 16px}
    .routes-hero h1 em{color:var(--mc-gold)}
    .routes-hero .lede{font-size:1.14rem;max-width:66ch;color:var(--mc-on-dark)}
    .hero-promise{padding:24px;border:1px solid color-mix(in srgb,var(--mc-on-dark) 25%,transparent);background:color-mix(in srgb,var(--mc-navy-deep) 76%,transparent);border-radius:var(--mc-radius)}
    .hero-promise strong{display:block;color:var(--mc-gold);font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;margin-bottom:8px}
    .hero-promise ul{padding-left:20px;display:grid;gap:6px}
    .route-intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-30px;position:relative;z-index:2}
    .route-intro-grid article{background:var(--mc-cream);border:1px solid var(--mc-line);border-radius:var(--mc-radius);padding:22px;box-shadow:var(--mc-elev-2)}
    .route-intro-grid b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;margin-bottom:5px}
    .route-intro-grid p{color:var(--mc-muted);font-size:.92rem}
    .route-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;margin:24px 0 18px;scrollbar-width:thin}
    .route-tabs button{white-space:nowrap;border:1px solid var(--mc-line);background:var(--mc-cream);color:var(--mc-ink);font:inherit;font-weight:800;padding:10px 16px;border-radius:var(--mc-radius-pill);cursor:pointer}
    .route-tabs button[aria-pressed="true"]{background:var(--mc-navy);border-color:var(--mc-navy);color:var(--mc-on-dark)}
    .route-status{color:var(--mc-muted);font-size:.9rem}
    .tour-player{scroll-margin-top:88px}
    .tour-player-head{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);background:var(--mc-cream);border:1px solid var(--mc-line);border-radius:var(--mc-radius-lg);overflow:hidden;box-shadow:var(--mc-elev-2)}
    .tour-player-image{min-height:100%;position:relative;background:var(--mc-navy-deep)}
    .tour-player-image img{width:100%;height:100%;min-height:380px;object-fit:cover}
    .tour-player-image figcaption,.route-card-media figcaption{position:absolute;left:10px;right:10px;bottom:10px;background:color-mix(in srgb,var(--mc-navy-deep) 90%,transparent);color:var(--mc-on-dark);padding:7px 10px;border-radius:var(--mc-radius-sm);font-size:.72rem;line-height:1.35}
    .tour-player-image figcaption a,.route-card-media figcaption a{text-decoration:underline;text-underline-offset:2px}
    .tour-player-image figcaption span,.route-card-media figcaption span{display:block}
    .tour-player-intro{padding:clamp(28px,5vw,58px)}
    .tour-player-intro h2{font-size:clamp(2rem,4vw,3.3rem);margin:10px 0 14px}
    .tour-player-intro>p{color:var(--mc-muted);font-size:1.03rem}
    .tour-player-intro .route-theme{color:var(--mc-teal);font-weight:800;margin-bottom:12px}
    .route-facts,.route-tags{display:flex;flex-wrap:wrap;gap:8px}
    .route-facts{margin-bottom:16px}
    .route-facts span,.route-tags span{border:1px solid var(--mc-line);background:var(--mc-paper-2);border-radius:var(--mc-radius-pill);padding:5px 10px;font-size:.8rem}
    .tour-primary-actions,.route-card-actions,.stop-actions,.speech-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
    .tour-notice{margin:18px 0;padding:16px 20px;border-left:5px solid var(--mc-gold);background:var(--mc-paper-2);border-radius:0 var(--mc-radius-sm) var(--mc-radius-sm) 0}
    .speech-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;background:var(--mc-navy);color:var(--mc-on-dark);padding:26px;border-radius:var(--mc-radius);margin:18px 0 24px}
    .speech-panel .eyebrow{color:var(--mc-gold)}
    .speech-panel h3{font-size:1.5rem;margin:6px 0}
    .speech-panel p{max-width:70ch;font-size:.9rem}
    .speech-panel .btn-ghost{color:var(--mc-on-dark);border-color:color-mix(in srgb,var(--mc-on-dark) 45%,transparent)}
    .speech-status{grid-column:1/-1;min-height:1.4em;color:var(--mc-gold)}
    .tour-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}
    .route-map-column{position:sticky;top:92px}
    #history-route-map{height:calc(100vh - 180px);min-height:470px;max-height:680px;border:1px solid var(--mc-line);border-radius:var(--mc-radius);box-shadow:var(--mc-elev-1);z-index:1;background:var(--mc-paper-2)}
    .map-note,.map-fallback{font-size:.8rem;color:var(--mc-muted);margin-top:10px}
    .map-fallback{padding:18px;border:1px solid var(--mc-line);border-radius:var(--mc-radius-sm);background:var(--mc-cream)}
    .route-pin-wrap{background:transparent;border:0}
    .route-pin{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--mc-navy);color:var(--mc-gold);border:3px solid var(--mc-gold);font-weight:900;box-shadow:var(--mc-shadow-sm)}
    .itinerary-head{margin-bottom:18px}
    .itinerary-head h2{font-size:2rem;margin:7px 0}
    .itinerary-head p{color:var(--mc-muted)}
    .route-stop{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;background:var(--mc-cream);border:1px solid var(--mc-line);border-radius:var(--mc-radius);padding:22px;margin-bottom:14px;scroll-margin-top:100px}
    .route-stop:focus{outline:3px solid var(--mc-gold);outline-offset:3px}
    .stop-number{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--mc-navy);color:var(--mc-gold);font-weight:900}
    .stop-type{text-transform:uppercase;letter-spacing:.12em;color:var(--mc-teal);font-weight:900;font-size:.68rem}
    .stop-content h3{font-size:1.35rem;margin:4px 0 9px}
    .stop-content>p{color:var(--mc-muted)}
    .stop-actions{margin-top:15px;gap:16px}
    .text-action{border:0;background:none;color:var(--mc-teal);font:inherit;font-weight:800;font-size:.82rem;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
    .route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
    .route-card{background:var(--mc-cream);border:1px solid var(--mc-line);border-radius:var(--mc-radius);overflow:hidden;box-shadow:var(--mc-elev-1);display:flex;flex-direction:column}
    .route-card.is-active{border-color:var(--mc-teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--mc-teal) 20%,transparent)}
    .route-card-media{position:relative;aspect-ratio:16/9;background:var(--mc-navy)}
    .route-card-media img{width:100%;height:100%;object-fit:cover}
    .route-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
    .route-card-body h3{font-size:1.55rem;margin:14px 0 10px}
    .route-card-body>p{color:var(--mc-muted);flex:1}
    .route-card-actions{align-items:center}
    .route-source-note{background:var(--mc-paper-2);border:1px solid var(--mc-line);border-radius:var(--mc-radius);padding:22px;margin-top:28px}
    .route-source-note h3{margin-bottom:7px}
    .route-source-note p{color:var(--mc-muted)}
    .no-js-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .no-js-routes article{background:var(--mc-cream);border:1px solid var(--mc-line);border-radius:var(--mc-radius-sm);padding:18px}
    .no-js-routes h3{margin-bottom:6px}
    .no-js-routes ol{padding-left:22px;color:var(--mc-muted)}
    @media(max-width:900px){
      .routes-hero .wrap,.tour-player-head,.tour-layout{grid-template-columns:1fr}
      .routes-hero h1{max-width:14ch}
      .route-map-column{position:static}
      #history-route-map{height:420px;min-height:0}
      .speech-panel{grid-template-columns:1fr}
      .speech-status{grid-column:auto}
    }
    @media(max-width:680px){
      .routes-hero{padding:42px 0 38px}
      .routes-hero .wrap{gap:28px}
      .hero-promise{display:none}
      .route-intro-grid,.route-grid,.no-js-routes{grid-template-columns:1fr}
      .route-intro-grid{margin-top:22px}
      .tour-player-image img{min-height:240px}
      .tour-player-intro{padding:26px 20px}
      .tour-primary-actions .btn,.route-card-actions .btn,.speech-controls .btn{width:100%;justify-content:center}
      #history-route-map{height:330px}
      .route-stop{grid-template-columns:38px minmax(0,1fr);padding:18px 15px}
      .stop-number{width:32px;height:32px}
    }
    @media(prefers-reduced-motion:reduce){.tour-player{scroll-behavior:auto}}
    @media(forced-colors:active){
      .route-card.is-active,.route-stop:focus{outline:3px solid Highlight}
      .route-pin,.stop-number{background:Canvas;color:CanvasText;border-color:CanvasText}
      .tour-notice{border-color:CanvasText}
    }
    @media print{
      header.nav,.routes-hero,.route-intro-grid,.route-tabs,.speech-panel,.route-map-column,.route-grid,.route-source-note,.history-trip-fab,.history-guide-fab,.a11y-fab,.back-to-top,.site-footer,.tour-primary-actions{display:none!important}
      .section{padding:0}.tour-layout,.tour-player-head{display:block}.tour-player-image{display:none}.tour-player-head{border:0;box-shadow:none}.tour-player-intro{padding:0}.route-stop{break-inside:avoid;box-shadow:none}
    }
