﻿/* Original vector machine scenes: all motion is decorative and can be paused. */
.machine-example { display:grid; grid-template-columns:1.12fr 1fr; gap:48px; align-items:center; padding:30px 0 68px; }
.machine-stage { background:#eef6fa; border:1px solid #b6cddd; border-radius:12px; overflow:hidden; min-width:0; color:#283b4b; }
.machine-art { display:block; width:100%; height:auto; }
.machine-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 18px; border-top:1px solid #ccdfe9; }
.machine-toolbar>span { font-size:9px; letter-spacing:.12em; font-weight:700; }
.motion-toggle { border:1px solid #859dac; border-radius:4px; background:white; color:#283b4b; padding:9px 12px; min-height:42px; cursor:pointer; font:600 12px Arial,sans-serif; }
.motion-toggle:hover { background:#d9edf8; }
.engineering .example-copy h2 { margin:0 0 20px; font-size:clamp(26px,2.8vw,36px); }
.example-copy>p:not(.eyebrow),.example-copy li { color:var(--muted); font-size:15px; }
.example-copy ul { padding-left:20px; }
.example-copy li { margin-bottom:10px; }
.example-copy .example-disclaimer { font-size:12px!important; border-top:1px solid var(--line); padding-top:16px; }
.detail-content .machine-example { grid-template-columns:1fr; gap:30px; padding:26px 0 10px; }
.detail-content .machine-stage { width:100%; max-width:650px; }
.belt-dashes { animation:belt-run 1.2s linear infinite; }
.robot-arm { transform-origin:105px 135px; animation:robot-reach 5s ease-in-out infinite; }
.moving-part { animation:part-travel 6s linear infinite; }
.part-delay { animation-delay:-3s; }
.status-light { animation:status-pulse 2.4s ease-in-out infinite; }
.spindle { animation:spindle-feed 4s ease-in-out infinite; }
.spin-lines { animation:belt-run .5s linear infinite; }
.signal-path { animation:signal-travel 3s linear infinite; }
.signal-line { animation:screen-pulse 3s ease-in-out infinite; }
.floating-chip { animation:chip-float 4s ease-in-out infinite; }
.floating-component { animation:chip-float 4s ease-in-out -2s infinite; }
.machine-paused .machine-art * { animation-play-state:paused!important; }
@keyframes belt-run { to { stroke-dashoffset:-30; } }
@keyframes robot-reach { 0%,100% { transform:rotate(-5deg); } 45%,60% { transform:rotate(12deg); } }
@keyframes part-travel { from { transform:translateX(-110px); } to { transform:translateX(180px); } }
@keyframes status-pulse { 0%,100% { opacity:1; } 50% { opacity:.45; } }
@keyframes spindle-feed { 0%,100% { transform:translate(0,0); } 45%,65% { transform:translate(35px,20px); } }
@keyframes signal-travel { to { stroke-dashoffset:-352; } }
@keyframes screen-pulse { 0%,100% { opacity:1; } 50% { opacity:.5; } }
@keyframes chip-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-17px); } }
@media(max-width:900px) { .machine-example { grid-template-columns:1fr; gap:28px; }.machine-stage { max-width:650px; width:100%; margin:0 auto; } }
@media(max-width:400px) { .machine-toolbar { padding:12px; }.machine-toolbar>span { font-size:8px; max-width:120px; } }
@media(prefers-reduced-motion:reduce) { .machine-art * { animation:none!important; }.motion-toggle { display:none; } }
