.nd-home .nd-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px}
.nd-home .nd-hero__visual{width:100%;aspect-ratio:auto;min-width:0}
.nd-control-scene{width:100%;position:relative}
.nd-control-loop{display:block;width:100%;height:auto;overflow:visible}
.nd-loop-track{stroke:#2a6384;stroke-width:2}
.nd-loop-track--return{stroke:#234b74}
.nd-loop-command,.nd-loop-feedback{stroke:#80ddff;stroke-width:3;stroke-dasharray:12 100;stroke-dashoffset:12;opacity:0;filter:drop-shadow(0 0 4px #298ece)}
.nd-loop-feedback{stroke:#4babe6}
.nd-loop-response{transform-origin:520px 263px;transform:rotate(-52deg);opacity:0;filter:drop-shadow(0 0 6px #80ddff)}
.nd-control-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 0 0;margin:0;color:#b9d8eb;border-top:1px solid #23405b;font-size:14px;line-height:1.5}
.nd-control-caption span{color:#8ca9bf;font-size:12px}
.nd-loop-active .nd-loop-command{animation:nd-command-cycle 9s linear infinite}
.nd-loop-active .nd-loop-response{animation:nd-response-cycle 9s ease-in-out infinite}
.nd-loop-active .nd-loop-feedback{animation:nd-feedback-cycle 9s linear infinite}
.nd-motion-paused .nd-control-loop *{animation-play-state:paused!important}
@keyframes nd-command-cycle{0%{opacity:0;stroke-dashoffset:12}4%{opacity:1;stroke-dashoffset:12}27%{opacity:1;stroke-dashoffset:-100}29%,100%{opacity:0;stroke-dashoffset:-100}}
@keyframes nd-response-cycle{0%,27%{opacity:0;transform:rotate(-52deg)}30%{opacity:1;transform:rotate(-52deg)}48%,61%{opacity:1;transform:rotate(0deg)}65%,100%{opacity:0;transform:rotate(0deg)}}
@keyframes nd-feedback-cycle{0%,55%{opacity:0;stroke-dashoffset:12}58%{opacity:1;stroke-dashoffset:12}82%{opacity:1;stroke-dashoffset:-100}85%,100%{opacity:0;stroke-dashoffset:-100}}
@media(max-width:900px){.nd-home .nd-hero__grid{grid-template-columns:1fr}.nd-home .nd-hero__visual{width:min(100%,660px);margin-top:16px}}
@media(max-width:480px){.nd-control-caption{font-size:13px}.nd-loop-labels{font-size:23px}}
@media(prefers-reduced-motion:reduce){.nd-control-loop *{animation:none!important}.nd-loop-command,.nd-loop-feedback,.nd-loop-response{opacity:0!important}}
