/* The next waypoint burns; a forward water jet reaches it and cools the route. */
.route66-water-mist,.route66-water-stream,.route66-water-dash{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.route66-heat{stroke-width:3;opacity:1}
.route66-heat-glow{stroke-width:10;opacity:.48;filter:blur(5px);animation-duration:1.9s}
.route66-progress{stroke:#278fda;stroke-width:3.2;opacity:1;filter:drop-shadow(0 0 4px #279de377)}
.route66-water-mist{stroke:#329fe7;stroke-width:12;opacity:.25;filter:blur(5px)}
.route66-water-stream{stroke:#58c4ff;stroke-width:3.6;opacity:1;filter:drop-shadow(0 0 7px #37aef0cc)}
.route66-water-dash{stroke:#efffff;stroke-width:1.5;stroke-dasharray:2 5;opacity:1;animation:route66-water-flow .42s linear infinite;filter:drop-shadow(0 0 4px #d5f7ff)}
.route66-flame{opacity:0;transition:opacity .3s ease}
.route66-flame.is-burning{opacity:1}
.route66-flame-outer,.route66-flame-core{transform-box:fill-box;transform-origin:center bottom;transition:opacity .32s ease,transform .42s cubic-bezier(.2,.7,.2,1)}
.route66-flame-outer{opacity:0;transform:scale(.28,.4) translateY(8px);fill:url(#route66-flame-palette);stroke:#ffe0a5;stroke-width:.7;filter:drop-shadow(0 0 9px #ff624dcc)}
.route66-flame-core{opacity:0;transform:scale(.3,.45) translateY(6px);fill:#fff8ca;filter:drop-shadow(0 0 6px #ffd66ccc)}
.route66-flame.is-burning .route66-flame-outer{opacity:1;animation:route66-flame-flicker .82s ease-in-out infinite alternate}
.route66-flame.is-burning .route66-flame-core{opacity:1;animation:route66-flame-core .56s ease-in-out infinite alternate}
.route66-flames{pointer-events:none}
.route66-flame{opacity:0;transition:opacity .25s ease}
.route66-flame.is-burning{opacity:1}
.route66-flame-outer{fill:url(#route66-flame-palette);stroke:#ffc184;stroke-width:.55;filter:drop-shadow(0 0 5px #ff6844bb);transform-box:fill-box;transform-origin:center bottom}
.route66-flame.is-burning .route66-flame-outer{animation:route66-flame-flicker 1.05s ease-in-out infinite alternate}
.route66-flame-core{fill:#fff0be;opacity:.95;filter:drop-shadow(0 0 3px #ffc078cc)}
.route66-water-nozzle{fill:#102c3c;stroke:#b8f3f3;stroke-width:1.25;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #83dce5aa)}
.route66-spray{fill:none;stroke:#dbffff;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;opacity:.9;filter:drop-shadow(0 0 3px #85e7eabb)}
.route66-droplets{fill:#f2ffff;stroke:#8bdee6;stroke-width:.65;filter:drop-shadow(0 0 3px #81dce6aa)}
.route66-suppression-aura{fill:#bdf9f4;fill-opacity:.12;stroke:#dcffff;stroke-width:1.15;filter:drop-shadow(0 0 6px #8edee6bb);transform-box:fill-box;transform-origin:center;animation:route66-suppress 1.9s ease-out infinite}
.route66-cursor{fill:#efffff;stroke:#7fe0e8;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #75d9e5)}
.route66-nodes circle.is-current{fill:#329fe7;stroke:#d9f8ff;filter:drop-shadow(0 0 6px #48bdf2cc)}
.route66-nodes circle.is-passed{fill:#278fda;stroke:#bfeeff;filter:drop-shadow(0 0 5px #279de399)}
.route66-nodes circle.is-burning{fill:#ff603f;stroke:#ffe1a5;filter:drop-shadow(0 0 8px #ff654dcc)}
@keyframes route66-water-flow{to{stroke-dashoffset:-18}}
@keyframes route66-flame-flicker{0%{transform:scale(.9,1.13) rotate(-2deg);opacity:.88}48%{transform:scale(1.08,.96) rotate(1.5deg);opacity:1}100%{transform:scale(.98,1.12) rotate(-1deg);opacity:.94}}
@keyframes route66-flame-core{from{transform:scale(.88,.94);opacity:.83}to{transform:scale(1.06,1.12);opacity:1}}
@media(max-width:800px){.route66-water-mist{stroke-width:8}.route66-water-stream{stroke-width:3}.route66-flame-outer{filter:drop-shadow(0 0 7px #ff624dcc)}}
@media(prefers-reduced-motion:reduce){.route66-water-dash,.route66-flame.is-burning .route66-flame-outer,.route66-flame.is-burning .route66-flame-core,.route66-suppression-aura{animation:none}.route66-flame,.route66-flame-outer,.route66-flame-core{transition:none}.route66-suppression-aura{transform:none;opacity:.6}.route66-water-dash{stroke-dasharray:none;opacity:.8}}

/* A smoother, more legible suppression sequence. */
.route66{padding-bottom:clamp(50px,5vw,78px)}
.route66-bottom{margin-top:22px;padding-top:21px}
.route66-bottom a{padding-bottom:7px}
.route66-stage .route66-number,.route66-stage .route66-label,.route66-stage h3,.route66-stage .route66-description,.route66-stage .route66-detail{transition:color .55s ease,text-shadow .55s ease}
.route66-stage.is-cooled .route66-number{color:#80dcf5;text-shadow:0 0 18px #48bbec55}
.route66-stage.is-cooled .route66-label{color:#74cce6}
.route66-stage.is-cooled .route66-label:after{content:'✓';display:inline-grid;place-items:center;width:16px;height:16px;margin-left:8px;border:1px solid #68c9e988;border-radius:50%;color:#9eeaff;font-size:10px;line-height:1;letter-spacing:0;vertical-align:middle;background:#39aee31a}
.route66-stage.is-cooled h3{color:#def5fa;text-shadow:0 0 22px #53bde51f}
.route66-stage.is-cooled .route66-description{color:#d5eaf0}
.route66-stage.is-cooled .route66-detail{color:#a8d6e5}
.route66-stage.is-cooled .route66-detail:before{background:#55c8f4;box-shadow:0 0 8px #43b8eaaa}
.route66-stage.is-cooled .route66-copy{box-shadow:inset 2px 0 0 #62c4e64a}

/* Layered, uneven flame tongues read more like fire than a glowing marker. */
.route66-flame{transition:opacity .36s ease}
.route66-flame-outer{fill:url(#route66-flame-palette);stroke:#ffd69a;stroke-width:.7;filter:drop-shadow(0 0 8px #ff633ddd) drop-shadow(0 0 17px #ff8b3b77);transform-box:fill-box;transform-origin:center bottom}
.route66-flame-lick{fill:#ff9c3f;opacity:.84;filter:drop-shadow(0 0 5px #ffb44cbb);transform-box:fill-box;transform-origin:center bottom}
.route66-flame-core{fill:#fff5c6;opacity:.97;filter:drop-shadow(0 0 7px #ffe794dd);transform-box:fill-box;transform-origin:center bottom}
.route66-flame-ember{fill:#ffc45c;opacity:0;filter:drop-shadow(0 0 4px #ff8b3ccc);transform-box:fill-box;transform-origin:center}
.route66-flame.is-burning .route66-flame-outer{animation:route66-flame-flicker .82s ease-in-out infinite alternate}
.route66-flame.is-burning .route66-flame-lick{animation:route66-flame-lick .73s ease-in-out infinite alternate}
.route66-flame.is-burning .route66-flame-core{animation:route66-flame-core .55s ease-in-out infinite alternate}
.route66-flame.is-burning .route66-flame-ember{animation:route66-ember-rise 1.25s ease-out infinite}
@keyframes route66-flame-flicker{0%{transform:scale(1.12,1.2) rotate(-3deg);opacity:.9}55%{transform:scale(1.29,1.08) rotate(2deg);opacity:1}100%{transform:scale(1.17,1.31) rotate(-1.5deg);opacity:.95}}
@keyframes route66-flame-lick{0%{transform:scale(.92,1.05) rotate(3deg);opacity:.65}100%{transform:scale(1.12,1.2) rotate(-4deg);opacity:.96}}
@keyframes route66-flame-core{from{transform:scale(1.04,1.08);opacity:.78}to{transform:scale(1.27,1.31);opacity:1}}
@keyframes route66-ember-rise{0%{transform:translateY(0) scale(.65);opacity:0}28%{opacity:.9}100%{transform:translateY(-15px) scale(1.08);opacity:0}}

/* The moving point is a hose-fed spray lance with a visible trailing hose. */
.route66-extinguisher{overflow:visible;pointer-events:none}
.route66-hose,.route66-hose-core,.route66-hose-flow,.route66-hose-ribs{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.route66-hose{stroke:#081d2a;stroke-width:9.5;filter:drop-shadow(0 2px 3px #061722aa)}
.route66-hose-core{stroke:#278db9;stroke-width:5.4;opacity:1}
.route66-hose-flow{stroke:#c6f4ff;stroke-width:1.55;stroke-dasharray:2 7;opacity:.95;animation:route66-water-flow .52s linear infinite}
.route66-hose-ribs{stroke:#d3edf4;stroke-width:1.3;opacity:.85}
.route66-hose-couplings{fill:none;stroke:#e4f5f8;stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #76d7f4aa)}
.route66-water-nozzle{fill:#183b4d;stroke:#ddf7fa;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 4px #071d2a99)}
.route66-nozzle-handle{fill:#123144;stroke:#b9e4ed;stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.route66-nozzle-trigger{fill:none;stroke:#d4f4f7;stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke}
.route66-nozzle-outlet{fill:#dffaff;stroke:#56c8f2;stroke-width:.8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #61d4ff)}
.route66-spray{stroke:#e4fbff;stroke-width:1.5;opacity:.98;filter:drop-shadow(0 0 5px #61caff)}
.route66-droplets circle{fill:#e9fbff;stroke:#63d4ff;stroke-width:.6;filter:drop-shadow(0 0 4px #52c9ff)}
.route66-suppression-aura{fill:#7fdcff;fill-opacity:.12;stroke:#b8f1ff;stroke-width:1.1;filter:drop-shadow(0 0 8px #51c7ffaa)}
@media(max-width:800px){.route66{padding-bottom:46px}.route66-bottom{margin-top:18px;padding-top:18px}.route66-hose{stroke-width:8}.route66-hose-core{stroke-width:4.6}.route66-hose-ribs{stroke-width:1.05}}
@media(prefers-reduced-motion:reduce){.route66-flame.is-burning .route66-flame-outer,.route66-flame.is-burning .route66-flame-lick,.route66-flame.is-burning .route66-flame-core,.route66-flame.is-burning .route66-flame-ember,.route66-hose-flow{animation:none}.route66-stage .route66-number,.route66-stage .route66-label,.route66-stage h3,.route66-stage .route66-description,.route66-stage .route66-detail{transition:none}.route66-flame.is-burning .route66-flame-ember{opacity:.65}}

/* Clearer fire ahead and a saturated blue suppression trail behind the nozzle. */
.route66-heat{stroke-width:3;opacity:1}
.route66-heat-glow{stroke-width:13;opacity:.62;filter:blur(5px);animation:route66-ember 1.7s ease-in-out infinite}
.route66-progress{stroke:#36aef4;stroke-width:4.2;opacity:1;filter:drop-shadow(0 0 5px #31baffbb)}
.route66-water-mist{stroke:#2faeff;stroke-width:17;opacity:.34;filter:blur(6px)}
.route66-water-stream{stroke:#44bdff;stroke-width:4.4;opacity:1;filter:drop-shadow(0 0 8px #39b5ffdd)}
.route66-water-dash{stroke:#f2fcff;stroke-width:1.8;stroke-dasharray:2 6;opacity:1;animation:route66-water-flow .38s linear infinite;filter:drop-shadow(0 0 5px #b9ebff)}
.route66-flame{opacity:0;transition:opacity .2s ease}
.route66-flame.is-burning{opacity:1}
.route66-flame-outer{fill:url(#route66-flame-palette);stroke:#ffe3a8;stroke-width:.85;filter:drop-shadow(0 0 7px #ff5b3ddd) drop-shadow(0 0 14px #ff7c3877);transform-box:fill-box;transform-origin:center bottom}
.route66-flame-core{fill:#fff8cf;opacity:.98;filter:drop-shadow(0 0 7px #ffe591ee);transform-box:fill-box;transform-origin:center bottom}
.route66-flame.is-burning .route66-flame-outer{animation:route66-flame-flicker .72s ease-in-out infinite alternate}
.route66-flame.is-burning .route66-flame-core{animation:route66-flame-core .48s ease-in-out infinite alternate}
.route66-nodes circle.is-current{fill:#3db8fb;stroke:#e3f8ff;filter:drop-shadow(0 0 7px #35b5ffdd)}
.route66-nodes circle.is-passed{fill:#2697dc;stroke:#c9f1ff;filter:drop-shadow(0 0 6px #319ee6aa)}
.route66-nodes circle.is-burning{fill:#ff573f;stroke:#ffe4ae;filter:drop-shadow(0 0 8px #ff624fee);animation:route66-node-ember 1.25s ease-in-out infinite alternate}
@keyframes route66-flame-flicker{0%{transform:scale(1.12,1.26) rotate(-3deg);opacity:.88}50%{transform:scale(1.3,1.08) rotate(2deg);opacity:1}100%{transform:scale(1.18,1.32) rotate(-1.5deg);opacity:.95}}
@keyframes route66-flame-core{from{transform:scale(1.08,1.12);opacity:.82}to{transform:scale(1.28,1.32);opacity:1}}
@keyframes route66-node-ember{from{filter:drop-shadow(0 0 5px #ff624fbb)}to{filter:drop-shadow(0 0 10px #ff624fff)}}
@media(max-width:800px){.route66-water-mist{stroke-width:12}.route66-water-stream{stroke-width:3.7}.route66-flame-outer{filter:drop-shadow(0 0 6px #ff5b3ddd) drop-shadow(0 0 10px #ff7c3877)}}
@media(prefers-reduced-motion:reduce){.route66-heat-glow,.route66-water-dash,.route66-flame.is-burning .route66-flame-outer,.route66-flame.is-burning .route66-flame-core,.route66-nodes circle.is-burning,.route66-suppression-aura{animation:none}.route66-flame,.route66-flame-outer,.route66-flame-core{transition:none}.route66-water-dash{stroke-dasharray:none;opacity:.9}.route66-nodes circle.is-burning{filter:drop-shadow(0 0 8px #ff624fee)}}
