/* 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}
}
