/* Three original decorative motor studies. Complete static form is the default.
 * Nested wrappers keep authored motor/observer placement independent of CSS:
 * viewer scale against a fixed motor, matched prepared finish/swatches, and a
 * short object move followed by a settled measurement-guide accent. */
.kvr-cap-art{display:block;width:100%;max-width:240px;height:auto;overflow:visible;stroke:#327387;stroke-width:1.3;pointer-events:none}
.kvr-cap-shadow{fill:#123e50;opacity:.08;stroke:none}
.kvr-cap-ground,.kvr-cap-footprint{stroke:#a5cbd2;stroke-width:.8}
.kvr-cap-footprint{stroke-dasharray:3 4}
.kvr-cap-base{fill:#d2e5e9;stroke:#6399a7}
.kvr-cap-foot{fill:#527f8d;stroke:#245567}
.kvr-cap-foot-top{fill:#b1d3da;stroke:#498a9a}
.kvr-cap-rear{fill:#092c3f;stroke:#497f91}
.kvr-cap-shell{fill:#154c5d;stroke:#70aeba}
.kvr-cap-fins{stroke:#8ac0c8;stroke-width:1.2}
.kvr-cap-front{fill:#a8cfd4;stroke:#2b677c}
.kvr-cap-front-ring{fill:#356d7d;stroke:#91c5ca}
.kvr-cap-hub{fill:#0b3348;stroke:#71acb8}
.kvr-cap-shaft{fill:#c4e0e4;stroke:#2b677c}
.kvr-cap-key{fill:#77b4bf;stroke:#2b677c;stroke-width:.8}
.kvr-cap-terminal-side{fill:#3a7687;stroke:#82b9c2}
.kvr-cap-terminal-front{fill:#123f53;stroke:#82b9c2}
.kvr-cap-terminal-top{fill:#9dc9d1;stroke:#3a7a8c}
.kvr-cap-fine{stroke:#72a5b3;stroke-width:.8}
.kvr-cap-bolt{fill:#173d4c;stroke:#b3d7dc;stroke-width:.7}
.kvr-cap-observer{stroke:#078fa2;stroke-width:1.5;fill:#edf6f6}
.kvr-cap-observer-near,.kvr-cap-scale-near{opacity:1}
.kvr-cap-observer-far,.kvr-cap-scale-far{opacity:.52}
.kvr-cap-observer-scale{transform-origin:0 0;animation:kvr-cap-viewer-size 20s ease-in-out infinite;animation-play-state:paused}
.kvr-cap-scale-near,.kvr-cap-scale-far{stroke:#23a6b3;stroke-width:1.1}
.kvr-cap-sight{stroke:#8dbbc5;stroke-width:.8;stroke-dasharray:2 5}
.kvr-cap-environment{stroke:#9ac3ce;stroke-width:.9}
.kvr-cap-light-ray{stroke:#24a2ad;stroke-width:1.2}
.kvr-cap-prepared-motor .kvr-cap-shell{animation:kvr-cap-material 18s ease-in-out infinite;animation-play-state:paused}
.kvr-cap-swatch{stroke:#4f91a1;stroke-width:.8;animation-duration:18s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused}
.kvr-cap-swatch-a{fill:#154c5d;animation-name:kvr-cap-swatch-a}
.kvr-cap-swatch-b{fill:#80bec7;animation-name:kvr-cap-swatch-b}
.kvr-cap-swatch-c{fill:#47616d;animation-name:kvr-cap-swatch-c}
.kvr-cap-spatial-object{transform-origin:0 0;animation:kvr-cap-position 18s ease-in-out infinite;animation-play-state:paused}
.kvr-cap-guide{stroke:#6399a7;stroke-width:1}
.kvr-cap-spatial-trace{stroke:#17a4b1;stroke-width:1.7;opacity:.28;animation:kvr-cap-inspect 18s ease-in-out infinite;animation-play-state:paused}
.kvr-cap-move,.kvr-cap-measure-point{stroke:#138e9d;stroke-width:1.15}
[data-ip-motion].ip-animation-active .kvr-cap-art :is(.kvr-cap-observer-scale,.kvr-cap-prepared-motor .kvr-cap-shell,.kvr-cap-swatch,.kvr-cap-spatial-object,.kvr-cap-spatial-trace){animation-play-state:running}
.k2-motion-paused .kvr-cap-art *,[hidden] .kvr-cap-art *{animation-play-state:paused!important}
@keyframes kvr-cap-viewer-size{0%,18%,100%{transform:scale(1)}30%,48%{transform:scale(1.3)}60%,78%{transform:scale(.72)}90%{transform:scale(1)}}
@keyframes kvr-cap-material{0%,23%,100%{fill:#154c5d}36%,56%{fill:#80bec7}69%,89%{fill:#47616d}}
@keyframes kvr-cap-swatch-a{0%,23%,100%{stroke:#078fa2;stroke-width:1.8}36%,89%{stroke:#4f91a1;stroke-width:.8}}
@keyframes kvr-cap-swatch-b{0%,23%,69%,100%{stroke:#4f91a1;stroke-width:.8}36%,56%{stroke:#078fa2;stroke-width:1.8}}
@keyframes kvr-cap-swatch-c{0%,56%,100%{stroke:#4f91a1;stroke-width:.8}69%,89%{stroke:#078fa2;stroke-width:1.8}}
@keyframes kvr-cap-position{0%,18%,58%,100%{transform:translate(0,0)}30%,44%{transform:translate(-8px,-4px)}}
@keyframes kvr-cap-inspect{0%,58%,94%,100%{opacity:.28}68%,82%{opacity:1}}
@media(prefers-reduced-motion:reduce){.kvr-cap-art *{animation:none!important}}
