/* A pinned, scroll-driven story window. The page itself keeps native scrolling. */
.route66{padding:0 0 36px;overflow:visible}
.route66>.shell{position:relative}
.route66-window{position:sticky;top:94px;z-index:2;height:calc(100svh - 94px);min-height:580px;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:clamp(18px,3vh,38px) 0;background:#102c3c}
.route66 .route66-intro{padding-bottom:clamp(16px,2.3vh,28px)}
.route66 .eyebrow{margin-bottom:14px}
.route66 h2{font-size:clamp(38px,4.8vw,70px);line-height:1.02}
.route66-intro-index{bottom:18px}
.route66-journey{height:auto;min-height:0}
.route66-map{left:calc(50% - 80px);width:160px;height:100%}
.route66-stages{height:100%;display:grid;grid-template-rows:repeat(4,minmax(0,1fr))}
.route66-stage{height:auto;min-height:0;align-items:center}
.route66-copy{max-width:470px;padding-top:8px;padding-bottom:8px}
.route66-stage:nth-child(odd) .route66-copy{padding-right:20px}
.route66-stage:nth-child(even) .route66-copy{padding-left:20px}
.route66-stage-top{gap:16px;margin-bottom:8px}
.route66-number{font-size:clamp(36px,3.7vw,52px)}
.route66 h3{font-size:clamp(22px,2.05vw,32px);margin-bottom:8px}
.route66-description{font-size:clamp(12px,.9vw,14px);line-height:1.4}
.route66-detail{margin-top:8px;font-size:11px}
.route66-runway{height:210vh;pointer-events:none}
.route66-bottom{margin-top:26px;padding-top:22px}

/* Completed work gets a quiet but unmistakable completion treatment. */
.route66-stage.is-cooled .route66-copy{box-shadow:inset 2px 0 0 #61c8e6;transition:box-shadow .5s ease,transform .5s ease}
.route66-stage.is-cooled .route66-number{color:#a0e9f8;text-shadow:0 0 17px #55c9ed55}
.route66-stage.is-cooled .route66-label{color:#82d7ef}
.route66-stage.is-cooled .route66-label:after{content:'✓';display:inline-grid;place-items:center;width:17px;height:17px;margin-left:8px;border:1px solid #7ddbf099;border-radius:50%;color:#c8f5ff;font-size:10px;line-height:1;letter-spacing:0;vertical-align:middle;background:#48b7e321}
.route66-stage.is-cooled h3{color:#effbfc;text-shadow:0 0 18px #58c7e52b}
.route66-stage.is-cooled .route66-description{color:#e0f0f4}
.route66-stage.is-cooled .route66-detail{color:#b7e1ed}
.route66-stage.is-cooled .route66-detail:before{background:#62cbee;box-shadow:0 0 8px #43b8eaaa}

/* Softer, asymmetrical flame layers keep the original scale while avoiding an icon-like outline. */
.route66-flame-outer{stroke:none;filter:drop-shadow(0 0 7px #ff6a37bb) drop-shadow(0 0 15px #ef4d3470);transform-box:fill-box;transform-origin:center bottom}
.route66-flame-lick{fill:#ff9838;opacity:.82;filter:drop-shadow(0 0 4px #ffac4e88);transform-box:fill-box;transform-origin:center bottom}
.route66-flame-tongue{fill:#ffc55f;opacity:.78;filter:drop-shadow(0 0 3px #ffc86977);transform-box:fill-box;transform-origin:center bottom}
.route66-flame-core{fill:#fff2b8;opacity:.88;filter:drop-shadow(0 0 5px #ffd36caa);transform-box:fill-box;transform-origin:center bottom}
.route66-flame-ember{fill:#ffc46a;opacity:0;filter:drop-shadow(0 0 3px #ff8b3caa)}
.route66-flame.is-burning .route66-flame-outer{animation:route66-real-fire .94s ease-in-out infinite alternate}
.route66-flame.is-burning .route66-flame-lick{animation:route66-fire-lick .7s ease-in-out infinite alternate}
.route66-flame.is-burning .route66-flame-tongue{animation:route66-fire-tongue .82s ease-in-out infinite alternate}
.route66-flame.is-burning .route66-flame-core{animation:route66-fire-core .56s ease-in-out infinite alternate}
@keyframes route66-real-fire{0%{transform:scale(1,1.04) rotate(-1deg);opacity:.88}52%{transform:scale(1.08,1.14) rotate(1.2deg);opacity:1}100%{transform:scale(.98,1.08) rotate(-.5deg);opacity:.93}}
@keyframes route66-fire-lick{from{transform:scale(.96,1.02) rotate(2deg);opacity:.7}to{transform:scale(1.08,1.12) rotate(-2deg);opacity:.9}}
@keyframes route66-fire-tongue{from{transform:scale(.9,1.06) translateY(1px);opacity:.58}to{transform:scale(1.08,1.16) translateY(-1px);opacity:.88}}
@keyframes route66-fire-core{from{transform:scale(.96,1.02);opacity:.72}to{transform:scale(1.08,1.1);opacity:.94}}

/* A calm, continuous hose silhouette; no exposed coil or repeated rib marks. */
.route66-hose{stroke:#0a2431;stroke-width:6;filter:drop-shadow(0 1px 2px #06172266)}
.route66-hose-core{stroke:#286d88;stroke-width:3;opacity:.68}
.route66-hose-flow{stroke:#a3dff0;stroke-width:.9;stroke-dasharray:1.5 9;opacity:.44;animation:route66-water-flow 1s linear infinite}
.route66-hose-couplings{stroke:#86bdcc;stroke-width:1.2;opacity:.48;filter:none}
.route66-water-nozzle{fill:#183746;stroke:#9abfc9;stroke-width:.9;filter:drop-shadow(0 1px 2px #071d2a88)}
.route66-nozzle-handle{fill:#173543;stroke:#8db5c0;stroke-width:.8}
.route66-nozzle-trigger{stroke:#a8ccd5;stroke-width:.8}
.route66-nozzle-outlet{fill:#d8f7fb;stroke:#55b9d7;stroke-width:.7;filter:drop-shadow(0 0 3px #61c5df)}
.route66-spray{stroke:#d4f8ff;stroke-width:1.25;opacity:.78;filter:drop-shadow(0 0 3px #61caff99)}
.route66-droplets circle{fill:#dff9fc;stroke:#6cbccd;stroke-width:.5;filter:drop-shadow(0 0 2px #52c9ff88)}
.route66-suppression-aura{fill:#7fdcff;fill-opacity:.08;stroke:#a7deea;stroke-width:.9;filter:drop-shadow(0 0 5px #51c7ff77)}

@media(max-height:900px) and (min-width:801px){
  .route66-window{min-height:0;padding:4px 0}
  .route66 .route66-intro{padding-bottom:8px}
  .route66 .eyebrow{margin-bottom:6px;font-size:9px}
  .route66 h2{font-size:clamp(32px,3.4vw,48px)}
  .route66-intro-index{bottom:10px}
  .route66-stage-top{gap:11px;margin-bottom:2px}
  .route66-number{font-size:32px}
  .route66 .route66-label{font-size:8px}
  .route66 h3{font-size:clamp(18px,1.5vw,21px);margin-bottom:3px}
  .route66-description{font-size:10.5px;line-height:1.22}
  .route66-detail{margin-top:3px;font-size:9px;line-height:1.25}
  .route66-copy{padding-top:4px;padding-bottom:4px}
}

@media(max-height:640px) and (min-width:801px){
  .route66{padding:64px 0 42px}
  .route66-window{position:relative;top:auto;height:auto;display:block;overflow:visible;padding:0;background:transparent}
  .route66-journey{height:auto}
  .route66-stages{height:auto;display:block}
  .route66-stage{min-height:220px}
  .route66-runway{height:0}
}

@media(max-width:800px){
  .route66{padding:72px 0 46px}
  .route66-window{position:relative;top:auto;height:auto;min-height:0;display:block;overflow:visible;padding:0;background:transparent}
  .route66 .route66-intro{padding-bottom:48px}
  .route66-journey{height:auto}
  .route66-stages{height:auto;display:block}
  .route66-stage{height:auto;min-height:235px}
  .route66-stage-top{margin-bottom:12px}
  .route66 h3{font-size:27px;margin-bottom:10px}
  .route66-description{font-size:15px;line-height:1.55}
  .route66-detail{margin-top:14px;font-size:11px}
  .route66-runway{height:0}
  .route66-bottom{margin-top:20px;padding-top:18px}
}

@media(max-width:420px){.route66-stage{min-height:255px}}
@media(prefers-reduced-motion:reduce){
  .route66-window{position:relative;top:auto;height:auto;min-height:0;display:block;overflow:visible;padding:0;background:transparent}
  .route66-journey{height:auto}
  .route66-stages{height:auto;display:block}
  .route66-stage{height:auto;min-height:235px}
  .route66-runway{height:0}
  .route66-flame.is-burning .route66-flame-outer,.route66-flame.is-burning .route66-flame-lick,.route66-flame.is-burning .route66-flame-tongue,.route66-flame.is-burning .route66-flame-core,.route66-flame.is-burning .route66-flame-ember,.route66-hose-flow{animation:none}
  .route66-stage .route66-copy,.route66-stage .route66-number,.route66-stage .route66-label,.route66-stage h3,.route66-stage .route66-description,.route66-stage .route66-detail{transition:none}
}
/* Refined flame silhouette and compact, path-aligned water lance. */
.route66-flame-ember{transform-box:fill-box;transform-origin:center center}
.route66-flame.is-burning .route66-flame-ember{animation:route66-ember-rise 1.05s ease-out infinite}
.route66-flame.is-burning .route66-flame-ember:nth-of-type(6){animation-delay:.45s}
@keyframes route66-ember-rise{0%{opacity:0;transform:translateY(2px) scale(.55)}24%{opacity:.9}100%{opacity:0;transform:translateY(-10px) scale(.25)}}
.route66-water-nozzle{fill:#17475a;stroke:#94d6e6;stroke-width:.8;stroke-linejoin:round;filter:drop-shadow(0 0 3px #49b8d455)}
.route66-nozzle-highlight{fill:none;stroke:#d3f6fb;stroke-width:.75;stroke-linecap:round;opacity:.58}
.route66-nozzle-outlet{fill:#e5fbff;stroke:#58c3df;stroke-width:.7;filter:drop-shadow(0 0 3px #61c5df)}
.route66-spray{stroke:#c9f5ff;stroke-width:1.25;stroke-linecap:round;opacity:.86;filter:drop-shadow(0 0 3px #61caff99)}
.route66-droplets circle{fill:#e7fbff;stroke:#75cce0;stroke-width:.45;filter:drop-shadow(0 0 2px #52c9ff88)}
.route66-suppression-aura{fill:#7fdcff;fill-opacity:.06;stroke:#a7deea;stroke-width:.75;filter:drop-shadow(0 0 4px #51c7ff66)}
.route66-nodes circle.is-burning{fill:#ff6848;fill-opacity:.78;stroke:#ffd9a3;stroke-width:1.2;filter:drop-shadow(0 0 4px #ff603f99);transform-box:fill-box;transform-origin:center;transform:scale(.72);animation:none}
/* Give completed stages a clean gutter, and keep the closing note centered. */
.route66-stage:nth-child(odd).is-cooled .route66-copy{padding-left:16px}
.route66-bottom p{flex:1;text-align:center}
.route66-bottom a{flex:0 0 auto}
.route66-suppression-aura{fill:none;fill-opacity:0;stroke:#9ee7f5;stroke-width:.8;opacity:.72;transform-box:fill-box;transform-origin:center;animation:route66-water-ripple 1.15s ease-out infinite}
.route66-water-nozzle,.route66-nozzle-highlight{display:none}
.route66-nozzle-outlet{fill:#dffbff;stroke:#55c6e3;stroke-width:.8;filter:drop-shadow(0 0 4px #58caff)}
.route66-spray{stroke:#c9f4ff;stroke-width:1.15;stroke-linecap:round;opacity:.9;filter:drop-shadow(0 0 4px #61caffaa)}
.route66-droplets circle{fill:#e7fbff;stroke:#72cee4;stroke-width:.45;filter:drop-shadow(0 0 3px #52c9ff99);animation:route66-water-drop .72s ease-in-out infinite alternate}
.route66-droplets circle:nth-child(2){animation-delay:.18s}
.route66-droplets circle:nth-child(3){animation-delay:.34s}
@keyframes route66-water-ripple{0%{transform:scale(.68);opacity:.7}100%{transform:scale(1.55);opacity:0}}
@keyframes route66-water-drop{from{opacity:.55;transform:translateY(1px) scale(.8)}to{opacity:1;transform:translateY(-1px) scale(1.08)}}
@media(max-width:800px){.route66-bottom p{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.route66-suppression-aura,.route66-droplets circle{animation:none}}
.route66-spray{fill:url(#route66-water-palette);fill-opacity:.25;stroke:#78d8ef;stroke-width:.5;stroke-linejoin:round;filter:drop-shadow(0 0 4px #54caff66)}
.route66-spray-core{fill:none;stroke:#dffaff;stroke-width:.75;stroke-linecap:round;opacity:.82;filter:drop-shadow(0 0 2px #d7fcff99)}
/* A slower suppression beat, a broader water pulse, and soft stage changes. */
.route66-runway{height:400vh}
.route66-stage:nth-child(odd) .route66-copy{padding-left:16px}
.route66-stage .route66-copy{box-shadow:inset 2px 0 0 transparent;transition:box-shadow .95s cubic-bezier(.2,.65,.3,1),transform .95s cubic-bezier(.2,.65,.3,1)}
.route66-stage.is-cooled .route66-copy{box-shadow:inset 2px 0 0 #61c8e6;transition:box-shadow .95s cubic-bezier(.2,.65,.3,1),transform .95s cubic-bezier(.2,.65,.3,1)}
.route66-stage .route66-number,.route66-stage .route66-label,.route66-stage h3,.route66-stage .route66-description,.route66-stage .route66-detail{transition:color .9s cubic-bezier(.2,.65,.3,1),text-shadow .9s cubic-bezier(.2,.65,.3,1)}
.route66-stage.is-cooled .route66-label:after{animation:route66-check-arrive .7s cubic-bezier(.2,.7,.3,1) both}
.route66-suppression-aura{stroke-width:1;opacity:.82;animation:route66-water-ripple 1.75s ease-out infinite}
.route66-spray{fill-opacity:.3;stroke-width:.65}
@keyframes route66-water-ripple{0%{transform:scale(.48);opacity:.86}100%{transform:scale(3.1);opacity:0}}
@keyframes route66-check-arrive{0%{opacity:0;transform:scale(.68)}72%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@media(max-width:800px){.route66-runway{height:0}.route66-stage .route66-copy,.route66-stage:nth-child(odd) .route66-copy,.route66-stage:nth-child(even) .route66-copy{padding-left:16px}}
@media(prefers-reduced-motion:reduce){.route66-stage.is-cooled .route66-label:after{animation:none}}

/* Let the fire ebb away under the water and keep the final handover in view. */
.route66-flame{opacity:0;transition:opacity .35s ease-out}
.route66-flame.is-burning{opacity:1}
@media(prefers-reduced-motion:reduce){.route66-flame{transition:none}}
/* Center the process copy without changing the alternating route layout. */
.route66-stage .route66-copy{text-align:center}
.route66-stage-top{justify-content:center}
.route66-detail{text-align:center}
/* Center only the selected process heading and restore the stage copy alignment. */
.route66 .route66-intro{text-align:center}
.route66 .route66-intro h2{max-width:900px;margin-left:auto;margin-right:auto}
.route66-stage .route66-copy{text-align:left}
.route66-stage-top{justify-content:flex-start}