/* Hand-drawn Nezha, neural cloud and Mac mini. Progress remains evidence driven. */
.hire-journey { border-color: var(--cortex-line); background: linear-gradient(180deg, #fffdf8, #f8f4eb); }
.hire-journey .hire-track-shell { padding: 0 48px; }
.hire-journey .hire-track-stage { height: 150px; }
.hire-journey .hire-track-line, .hire-journey .hire-track-fill { top: 118px; height: 3px; }
.hire-journey .hire-track-line { background: #e8dece; }
.hire-journey .hire-track-fill { background: linear-gradient(90deg, #e8cca1, #efb249 66%, #e98338); box-shadow: 0 2px 8px #e9a44a20; }
.hire-journey .hire-origin, .hire-journey .hire-destination {
  z-index: 1; display: block; width: 90px; height: auto; padding: 0;
  border: 0; border-radius: 0; background: none; box-shadow: none; color: inherit;
}
.hire-journey .hire-origin { top: 73px; left: 0; transform: translateX(-50%); }
.hire-journey .hire-destination { top: 112px; right: 0; transform: translateX(50%); }
.hire-journey .hire-origin svg, .hire-journey .hire-destination svg { display: block; width: 100%; height: auto; overflow: visible; }
.hire-journey .hire-track-labels { margin-top: 18px; }
.hire-cloud { fill: #fffcf4; stroke: #bfa580; stroke-width: 1.6; stroke-linejoin: round; }
.hire-neural-links { fill: none; stroke: #c6b18e; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
.hire-neural-signal { fill: none; stroke: #db9541; stroke-width: 1.7; stroke-dasharray: 7 95; stroke-linecap: round; opacity: 0; }
.hire-neural-nodes circle { fill: #fffaf0; stroke: #ad8d5e; stroke-width: 1.4; }
.hire-neural-nodes .neural-tip { fill: #d4bd95; stroke: none; }
.hire-neural-core { fill: #d69945; stroke: #fff4d5; stroke-width: 1.4; }
.hire-neural-halo { fill: #eabe6540; transform-box: fill-box; transform-origin: center; }
.mac-shadow { fill: #342c2310; }
.mac-base { fill: #5a5752; }
.mac-front { fill: #dededa; stroke: #999a94; stroke-width: 1.35; stroke-linejoin: round; }
.mac-top { fill: #f0f0ec; stroke: #999a94; stroke-width: 1.35; stroke-linejoin: round; }
.mac-rim { fill: none; stroke: #fffdf8; stroke-width: .8; stroke-linecap: round; }
.mac-emblem { fill: #a5a6a0; }
.mac-port { fill: #777974; }
.mac-audio { fill: #f0f0eb; stroke: #777974; stroke-width: 1.2; }
.mac-led { fill: #fffdf1; transition: fill .4s ease; }
.hire-journey.is-completing .mac-led,
.hire-journey.is-settled .mac-led { fill: #79a875; }
/* Wheels share a baseline with the track. */
.hire-journey .hire-agent { bottom: 27.5px; width: 108px; height: 115.2px; }
.hire-journey .hire-agent svg { overflow: visible; }
.hire-journey .hire-agent-aura { background: radial-gradient(ellipse, #f6cc7555, #f6cc7515 45%, transparent 70%); }
.hire-agent svg * { stroke-linecap: round; stroke-linejoin: round; }
.nz-sash path { fill: none; stroke: #dc5945; stroke-width: 4.4; transform-box: fill-box; transform-origin: right center; }
.nz-sash .nz-sash-2 { stroke: #eb9278; stroke-width: 2.8; }
.nz-flames path { fill: #efb349; opacity: .65; transform-box: fill-box; transform-origin: right center; }
.nz-flames path + path { fill: #f4cf76; }
.nz-wheel { transform-box: fill-box; transform-origin: center; }
.nz-wheel circle:first-child { fill: #fff1ca; stroke: #df9c32; stroke-width: 2.2; }
.nz-wheel .nz-wheel-inner { fill: none; stroke: #efc360; stroke-width: .8; }
.nz-wheel path { fill: none; stroke: #df9c32; stroke-width: 1.35; }
.nz-wheel .nz-hub { fill: #d65c3d; stroke: #fff4d7; stroke-width: 1; }
.nz-spear { fill: none; stroke: #8d7150; stroke-width: 2.1; }
.nz-spear-tip { fill: #edbc59; stroke: #a8723f; stroke-width: 1.2; }
.nz-spear-ridge { fill: none; stroke: #fff0c9; stroke-width: .8; }
.nz-tassel { fill: none; stroke: #d4513f; stroke-width: 2; }
.nz-leg, .nz-arm { fill: none; stroke: #edba94; stroke-width: 5.5; }
.nz-shoe { fill: #c44a36; stroke: #8f3b2e; stroke-width: 1; }
.nz-shorts { fill: #b74132; stroke: #8f3b2e; stroke-width: 1; }
.nz-body { fill: #da5944; stroke: #ad4433; stroke-width: 1.3; }
.nz-collar { fill: none; stroke: #ffdf99; stroke-width: 1.5; }
.nz-belt { fill: none; stroke: #efb94f; stroke-width: 2.2; }
.nz-knot { fill: #f4c563; stroke: #b77c30; stroke-width: 1; }
.hire-journey .hire-agent text { fill: #69401f; font: 750 5.3px var(--cortex-mono, monospace); }
.nz-ring { fill: #fff2cb; stroke: #dba13d; stroke-width: 2; }
.nz-ear { fill: #f9d6b6; stroke: #654d40; stroke-width: 1.3; }
.nz-bun { fill: #302e2b; stroke: #302e2b; stroke-width: 1.2; }
.nz-ribbon { fill: none; stroke: #e36d53; stroke-width: 2.8; }
.nz-face { fill: #ffe2c5; stroke: #493b32; stroke-width: 1.6; }
.nz-hair { fill: #302e2b; }
.nz-hair-shine { fill: none; stroke: #706253; stroke-width: 1.35; opacity: .65; }
.nz-mark { fill: #d95c42; }
.nz-brow { fill: none; stroke: #604c3f; stroke-width: 1.3; }
.nz-eye { fill: #302e2b; }
.nz-eye-light { fill: #fffdf6; }
.nz-eyes { transform-box: fill-box; transform-origin: center; }
.nz-cheek { fill: #ef9e85; opacity: .7; }
.nz-nose { fill: none; stroke: #d7a382; stroke-width: 1.1; }
.nz-mouth { fill: none; stroke: #634637; stroke-width: 1.5; }
.nz-rider { transform-box: fill-box; transform-origin: 50% 100%; transition: transform .45s ease; }
/* Only a new progress value moves the traveller. Decorative loops are gentle. */
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .hire-origin svg { animation: hire-cloud-drift 4s ease-in-out infinite alternate; }
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .hire-neural-signal { opacity: .85; animation: hire-neural-flow 3.8s linear infinite; }
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .hire-neural-halo { animation: hire-neural-breathe 2.8s ease-in-out infinite alternate; }
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .nz-wheel { animation: nz-spin 2.4s linear infinite; }
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .nz-flames path { animation: nz-flicker 1.1s ease-in-out infinite alternate; }
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .nz-sash path { animation: nz-wave 2.2s ease-in-out infinite alternate; }
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .nz-sash .nz-sash-2 { animation-delay: -.8s; }
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .hire-agent svg { animation: nz-bob 1.4s ease-in-out infinite alternate; }
.hire-journey:not(.is-failed):not(.is-settled):not(.is-completing) .nz-eyes { animation: nz-blink 6.4s ease-in-out infinite; }
.hire-journey.is-moving:not(.is-failed):not(.is-settled):not(.is-completing) .nz-wheel { animation-duration: .7s; }
.hire-journey.is-moving .nz-rider { transform: rotate(3deg); }
.hire-journey.is-completing .hire-agent svg { animation: nz-land .65s .65s ease-out both; }
.hire-journey.is-completing .hire-agent-aura { animation: nz-arrival 1.2s .65s ease-out both; }
.hire-journey.is-failed .nz-flames { opacity: 0; }
.hire-journey.is-failed .hire-agent svg { filter: saturate(.5); }
.hire-journey.is-failed .hire-track-fill { background: #d9c9b3; box-shadow: none; }
@keyframes nz-spin { to { transform: rotate(360deg); } }
@keyframes nz-flicker { from { transform: scaleX(.94); opacity: .55; } to { transform: scaleX(1.05); opacity: .8; } }
@keyframes nz-wave { from { transform: skewY(-3deg) scaleX(.97); } to { transform: skewY(3deg); } }
@keyframes nz-bob { to { transform: translateY(-1.5px); } }
@keyframes nz-blink { 0%, 43%, 47%, 100% { transform: scaleY(1); } 45% { transform: scaleY(.12); } }
@keyframes hire-cloud-drift { to { transform: translateY(-2px); } }
@keyframes hire-neural-flow { to { stroke-dashoffset: -102; } }
@keyframes hire-neural-breathe { to { transform: scale(1.3); opacity: .45; } }
@keyframes nz-land { 0% { transform: translateY(-4px); } 55% { transform: translateY(1px); } 100% { transform: translateY(0); } }
@keyframes nz-arrival { 0%, 100% { opacity: 0; transform: scale(.8); } 40% { opacity: .7; transform: scale(1); } }
@media (max-width: 640px) {
  .hire-journey .hire-track-shell { padding: 0 36px; }
  .hire-journey .hire-origin, .hire-journey .hire-destination { width: 76px; }
  .hire-journey .hire-origin { top: 82px; }
  .hire-journey .hire-destination { top: 113px; }
  .hire-journey .hire-agent { width: 96px; height: 102.4px; bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .hire-journey .hire-origin svg,
  .hire-journey .hire-destination svg,
  .hire-journey .hire-agent svg,
  .hire-journey .hire-agent-aura,
  .hire-neural-signal,
  .hire-neural-halo,
  .nz-wheel,
  .nz-flames path,
  .nz-sash path,
  .nz-eyes { animation: none !important; }
  .hire-journey .hire-agent, .hire-journey .hire-track-fill,
  .hire-journey .nz-rider, .hire-journey .mac-led { transition: none !important; }
  .hire-journey .nz-rider { transform: none !important; }
}
