/* One illustration family, with interaction kept in accessible HTML. */
.priority-visual.technical-art{background:#f1f6fa;display:flex;align-items:center;justify-content:center;overflow:hidden}
.priority-visual.technical-art img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center;padding:8px;mix-blend-mode:multiply;transition:transform .4s ease}
.priority-card:hover .technical-art img,.priority-card:focus-visible .technical-art img{transform:translateY(-4px) scale(1.025)}
.industry-four>a>.industry-art{height:auto;aspect-ratio:1.15;background:#f1f6fa;overflow:hidden;border-radius:3px}
.industry-art img{display:block;width:100%;height:100%;object-fit:contain!important;mix-blend-mode:multiply;transition:transform .45s ease}
.industry-four>a:hover .industry-art img,.industry-four>a:focus-visible .industry-art img{transform:translateY(-4px) scale(1.035)}
.fleet-studio{padding:84px 0 72px;background:#0b263d;color:#d4e1ea}
.fleet-studio .premium-heading{margin-bottom:38px}.fleet-studio h2{color:#fff;font-size:48px;line-height:1.12;letter-spacing:-1.6px}
.fleet-studio .eyebrow{color:#9ed4fa;font-size:12px}.fleet-studio .premium-heading>p{color:#d4e1ea;font-size:16px;line-height:1.8}
.fleet-selector{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:24px}
.fleet-selector button{display:flex;align-items:center;justify-content:flex-start;gap:11px;background:#13334c;border:1px solid #ffffff24;border-radius:4px;padding:17px 13px;color:#dbe9f3;font:inherit;font-size:14px;line-height:1.4;min-height:78px;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.fleet-selector button svg{width:25px;height:25px;flex:0 0 25px;color:#99cdef}
.fleet-selector button[aria-pressed=true]{color:#fff;background:#1d70b8;border-color:#529bd5}.fleet-selector button[aria-pressed=true] svg{color:#fff}
.fleet-selector button:hover{border-color:#9ed4fa}.fleet-studio button:focus-visible{outline:3px solid #9ed4fa;outline-offset:4px}
.fleet-workspace{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(290px,1fr);gap:24px;align-items:start}
.fleet-vehicle{min-width:0;position:sticky;top:112px}
.fleet-scene{position:relative;aspect-ratio:1.5;background:#f1f6fa;border-radius:5px;isolation:isolate}
.fleet-scene-caption{position:absolute;z-index:2;left:25px;top:23px;display:grid;gap:4px;pointer-events:none}
.fleet-scene-caption .eyebrow{color:#54758e;font-size:12px;margin:0}.fleet-scene-caption strong{color:#0b263d;font-size:16px;font-weight:500}
.cutaway-bus{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px;mix-blend-mode:multiply}
.fleet-traces{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.fleet-traces g{opacity:0;transition:opacity .25s ease}.fleet-traces g.is-active{opacity:1}
.fleet-traces path{stroke:#1d70b8;stroke-width:1.4;stroke-dasharray:1 6;stroke-linecap:round;fill:none;opacity:.6;vector-effect:non-scaling-stroke}
.equipment-ring{fill:#1d70b824;stroke:#1d70b8;stroke-width:1.5;vector-effect:non-scaling-stroke}.equipment-dot{fill:#1d70b8}
.fleet-pin{position:absolute;z-index:3;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%);width:43px;height:43px;border:1px solid #96b3c8;border-radius:50%;background:#fff;color:#1d70b8;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 14px #0b263d22;transition:background .2s,color .2s,box-shadow .2s}
.fleet-pin>svg{width:23px;height:23px}.fleet-pin[aria-pressed=true]{background:#1d70b8;color:#fff;border-color:#1d70b8;box-shadow:0 0 0 6px #1d70b821,0 4px 12px #0b263d30}
.pin-label{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:3px;background:#0b263d;padding:8px 12px;color:#fff;font-size:12px;line-height:1.3;opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none}
.fleet-pin:hover,.fleet-pin:focus-visible{z-index:4}.fleet-pin:hover .pin-label,.fleet-pin:focus-visible .pin-label{opacity:1;visibility:visible}
.fleet-caption{font-size:12px;line-height:1.6;color:#b8ccdc;margin:14px 0 0}
.fleet-detail{min-width:0;border-radius:5px;overflow:hidden;background:#fff;color:#4a6070}
.fleet-panel[hidden]{display:none!important}.fleet-equipment{width:100%;height:210px;object-fit:contain;display:block;background:#f1f6fa;padding:6px}
.fleet-equipment.real-equipment{padding:19px;object-fit:contain}.fleet-panel:last-child .fleet-equipment{object-fit:cover;padding:0;object-position:center 55%}
.fleet-panel-copy{padding:26px 27px 28px}.fleet-panel .eyebrow{color:#1d70b8;margin:0 0 13px;letter-spacing:1px}
.fleet-panel h3{font-size:28px;line-height:1.16;letter-spacing:-.65px;color:#0b263d;margin:0 0 17px}
.fleet-panel-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;margin:0 0 20px}.fleet-panel ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px;font-size:14px;line-height:1.5}
.fleet-panel li{display:flex;gap:10px}.fleet-panel li:before{content:'✓';color:#1d70b8;font-weight:600}
.fleet-panel .fleet-location{padding-top:17px;border-top:1px solid #dce5ec;font-size:14px!important;line-height:1.6!important}
.fleet-location strong{display:block;color:#0b263d;font-weight:600;margin-bottom:5px}.fleet-product-link{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#1d70b8;font-weight:600;font-size:14px;line-height:1.5;min-height:44px}
.fleet-product-link span{font-size:21px}.fleet-studio noscript a{color:#fff;text-decoration:underline}
@media(max-width:1120px){.fleet-selector{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-selector button{min-height:62px}.fleet-workspace{grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:19px}.fleet-panel-copy{padding:23px}.fleet-scene-caption{left:18px;top:17px}.fleet-scene-caption strong{font-size:14px}}
@media(max-width:980px){.fleet-studio{padding:65px 0 52px}.fleet-workspace{grid-template-columns:1fr}.fleet-vehicle{position:relative;top:auto}.fleet-panel:not([hidden]){display:grid;grid-template-columns:40% 60%;align-items:start}.fleet-equipment{height:auto;aspect-ratio:1;max-height:390px}.fleet-panel:last-child .fleet-equipment{height:100%;min-height:300px;aspect-ratio:auto}.fleet-panel-copy{padding:27px}.fleet-caption{margin-bottom:1px}}
@media(max-width:640px){.priority-visual.technical-art{height:255px}.priority-visual.technical-art img{width:100%;height:100%;padding:13px}.industry-four>a>.industry-art{aspect-ratio:1.45;height:auto}.industry-art img{padding:2px 25px}.fleet-studio{padding:51px 0 44px}.fleet-studio .premium-heading{margin-bottom:25px}.fleet-studio h2{font-size:35px;letter-spacing:-1px}.fleet-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:17px}.fleet-selector button{font-size:14px;padding:12px 10px;min-height:65px;gap:9px}.fleet-selector button svg{width:22px;height:22px;flex-basis:22px}.fleet-scene{margin:0 -10px}.fleet-scene-caption{top:12px;left:12px;gap:2px}.fleet-scene-caption .eyebrow{font-size:10px;letter-spacing:1px}.fleet-scene-caption strong{font-size:12px;max-width:150px}.fleet-pin{width:34px;height:34px}.fleet-pin>svg{width:19px;height:19px}.pin-label{display:none}.fleet-caption{font-size:12px}.fleet-panel:not([hidden]){display:block}.fleet-equipment{height:190px;aspect-ratio:auto;max-height:none;padding:8px}.fleet-equipment.real-equipment{padding:15px}.fleet-panel:last-child .fleet-equipment{height:190px;min-height:0}.fleet-panel-copy{padding:25px}.fleet-panel h3{font-size:28px}.fleet-panel-copy>p:not(.eyebrow){font-size:16px}}
@media(prefers-reduced-motion:reduce){.priority-visual.technical-art img,.industry-art img,.fleet-selector button,.fleet-traces g,.fleet-pin,.pin-label{transition:none!important}.priority-card:hover .technical-art img,.priority-card:focus-visible .technical-art img,.industry-four>a:hover .industry-art img,.industry-four>a:focus-visible .industry-art img{transform:none!important}}

.fleet-visual{background:#f1f6fa;border-radius:5px;overflow:hidden}
.fleet-scene-caption{position:static;padding:19px 23px 6px}
.fleet-scene{border-radius:0}
.fleet-caption-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.fleet-caption-row .fleet-caption{margin:0}
.fleet-motion{flex:0 0 auto;min-height:44px;padding:8px 0 8px 12px;border:0;background:transparent;color:#b8ccdc;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.fleet-motion:hover{color:#fff}
/* Animate only the selected system. The bus and equipment keep their exact positions. */
.fleet-pin:after{content:'';position:absolute;inset:-1px;border:1px solid #1d70b8;border-radius:50%;pointer-events:none;opacity:0}
.fleet-pin[aria-pressed=true]:after{animation:fleet-hotspot-breathe 4s ease-out infinite;animation-play-state:paused}
.fleet-traces .is-active path{animation:fleet-connection-flow 6s linear infinite;animation-play-state:paused}
.fleet-traces .is-active .equipment-ring{animation:fleet-equipment-breathe 4s ease-in-out infinite;animation-play-state:paused}
.fleet-motion-running .fleet-pin[aria-pressed=true]:after,.fleet-motion-running .fleet-traces .is-active path,.fleet-motion-running .fleet-traces .is-active .equipment-ring{animation-play-state:running}
@keyframes fleet-hotspot-breathe{0%,15%{transform:scale(1);opacity:0}25%{opacity:.4}75%,100%{transform:scale(1.45);opacity:0}}
@keyframes fleet-connection-flow{to{stroke-dashoffset:-28}}
@keyframes fleet-equipment-breathe{0%,100%{opacity:.55}50%{opacity:.9}}
@media(max-width:640px){.fleet-caption-row{align-items:flex-start;gap:8px}.fleet-caption-row .fleet-caption{padding-top:8px}.fleet-motion{font-size:12px}}
@media(prefers-reduced-motion:reduce){.fleet-pin:after,.fleet-traces path,.fleet-traces .equipment-ring{animation:none!important}.fleet-pin:after,.fleet-motion{display:none!important}}
@media(max-width:640px){.fleet-scene{margin:0}.fleet-scene-caption{padding:14px 14px 3px}.fleet-scene-caption .eyebrow{font-size:12px}.fleet-scene-caption strong{font-size:14px;max-width:none}.fleet-pin{width:34px;height:34px}}

/* Studio scene: equipment remains fixed; only functional signals move. */
.fleet-studio{background:#071b2c}
.fleet-studio>.wrap{max-width:1440px}
.fleet-workspace{grid-template-columns:minmax(0,2.4fr) minmax(285px,1fr)}
.fleet-visual,.fleet-scene{background:#071b2c}
.fleet-visual{border:1px solid #759db02b;border-radius:10px}
.cutaway-bus{mix-blend-mode:normal}
.fleet-scene-caption{padding:20px 24px 8px}
.fleet-scene-caption .eyebrow{color:#8eafc6}
.fleet-scene-caption strong{color:#fff}
.fleet-traces .system-link{stroke:#86d8fa;stroke-width:1.2;opacity:.65;stroke-dasharray:2 6}
.fleet-traces .equipment-ring{fill:#79d6ff12;stroke:#8bdcff;stroke-width:1;opacity:.8}
.fleet-traces .equipment-dot{fill:#b0ecff}
.fleet-traces .is-active .signal-packet{stroke:#d2f4ff;stroke-width:2.4;stroke-dasharray:2 98;opacity:0;animation:studio-signal 5s linear infinite;animation-delay:var(--signal-delay);animation-play-state:paused}
.fleet-traces .is-active .camera-coverage{fill:url(fleet-illustrations.css);stroke:none;opacity:.5;animation:studio-coverage 6s ease-in-out infinite;animation-delay:var(--signal-delay);animation-play-state:paused}
.fleet-traces .is-active .wifi-wave{fill:none;stroke:#8fdfff;stroke-width:1;opacity:0;animation:studio-wifi 4.5s ease-out infinite;animation-delay:var(--signal-delay);animation-play-state:paused}
.fleet-motion-running .fleet-traces .is-active .signal-packet,.fleet-motion-running .fleet-traces .is-active .camera-coverage,.fleet-motion-running .fleet-traces .is-active .wifi-wave{animation-play-state:running}
.fleet-pin{background:#0c293ee8;color:#a9e5ff;border-color:#80c6eb78;box-shadow:0 4px 20px #0003}
.fleet-pin[aria-pressed=true]{background:#147abd;border-color:#a4e1ff;box-shadow:0 0 0 5px #43b8ff18,0 0 25px #2c9bd633}
.fleet-pin:after{border-color:#8cdfff}
.fleet-detail{border-radius:9px}
.fleet-caption{max-width:540px}
@keyframes studio-signal{0%{stroke-dashoffset:100;opacity:0}10%,85%{opacity:.9}100%{stroke-dashoffset:0;opacity:0}}
@keyframes studio-coverage{0%,100%{opacity:.24}50%{opacity:.7}}
@keyframes studio-wifi{0%{transform:scale(.5);opacity:0}15%{opacity:.55}100%{transform:scale(5);opacity:0}}
@media(max-width:980px){.fleet-workspace{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fleet-traces .signal-packet,.fleet-traces .is-active .wifi-wave{display:none}.fleet-traces .is-active .camera-coverage{animation:none!important;opacity:.35}}
