/* The engine uses one coordinated 7.2-second sequence: receive, work, deliver. */
.prism .agent-engine{border:0;padding:20px 0 23px;background:radial-gradient(ellipse at 50% 48%,#6144a912,transparent 67%);isolation:isolate}
.engine-topline{display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:15px}
.engine-kicker{font-size:9px;letter-spacing:1.9px;color:#9290aa;font-weight:500}
.engine-motion{border:1px solid #39344c;background:#18172588;color:#bbb6d0;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:20px;font:500 10px 'DM Sans',sans-serif;cursor:pointer;transition:color .2s,border-color .2s}
.engine-motion:hover{color:#f2eaff;border-color:#756190}
.engine-motion svg{width:13px!important;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;overflow:hidden}
.engine-motion .play-glyph{display:none}
.engine-paused .engine-motion .pause-glyph{display:none}
.engine-paused .engine-motion .play-glyph{display:block}
.engine-motion:disabled{opacity:.6;cursor:default}
.agent-engine .engine-drawing{margin-top:-12px;overflow:visible}
.engine-label{font:500 16px 'DM Sans',sans-serif;fill:#e5e0f2;letter-spacing:-.3px;filter:url(#engine-label-shadow);paint-order:stroke;stroke:#11121d;stroke-width:5px;stroke-linejoin:round}
.engine-label.agent-label{font-size:19px;letter-spacing:-.5px;fill:#efe6ff}
.engine-transit{stroke-dasharray:6 94;stroke-dashoffset:100;opacity:0;animation:engine-input 7.2s linear infinite}
.engine-transit.transit-out{animation-name:engine-output}
.engine-core-halo{animation:engine-activity 7.2s ease-in-out infinite}
.engine-core-ring{animation:engine-ring 7.2s ease-in-out infinite}
.engine-facets{animation:engine-lift 7.2s ease-in-out infinite;transform-origin:315px 240px}
.engine-delivery{opacity:.3;animation:engine-deliver 7.2s ease-in-out infinite}
.agent-engine figcaption{margin-top:-31px;color:#b7b0cb;font-size:12px;line-height:1.7;letter-spacing:.04px}
.engine-paused *, .engine-paused *::before, .engine-paused *::after{animation-play-state:paused!important}
/* Keep the original travel durations; remove 0.8s from the agent handoff.
   Input arrives at 2.72s, output starts at 3.12s. The core's peak is shorter too. */
@keyframes engine-input{0%,5.5556%{stroke-dashoffset:100;opacity:0}8.8889%{opacity:1}37.7778%{stroke-dashoffset:0;opacity:1}43.3333%,100%{stroke-dashoffset:-6;opacity:0}}
@keyframes engine-output{0%,43.3333%{stroke-dashoffset:100;opacity:0}46.6667%{opacity:1}77.7778%{stroke-dashoffset:0;opacity:1}83.3333%,100%{stroke-dashoffset:-6;opacity:0}}
@keyframes engine-activity{0%,30%,63.3333%,100%{opacity:.06}42.2222%,46.6667%{opacity:.34}}
@keyframes engine-ring{0%,30%,64.4444%,100%{opacity:.45}42.2222%,46.6667%{opacity:1}}
@keyframes engine-lift{0%,26.6667%,72.2222%,100%{transform:translateY(0)}43.3333%,50%{transform:translateY(-5px)}}
@keyframes engine-deliver{0%,65.5556%,100%{opacity:.24}80%,86.6667%{opacity:1}}
@media(min-width:1200px){.hero{gap:40px;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}.agent-engine{margin-left:-5px;margin-right:-10px}}
@media(max-width:850px){.agent-engine{max-width:625px;margin-top:20px}.engine-topline{padding:0 10px}}
@media(max-width:480px){.agent-engine .engine-drawing{width:112%;max-width:none;margin-left:-6%;margin-top:0}.agent-engine figcaption{font-size:11px;margin-top:-13px;max-width:290px;margin-left:auto;margin-right:auto}.engine-topline{padding:0;gap:8px}.engine-kicker{font-size:8px;letter-spacing:1.2px}.engine-motion{font-size:9px;padding:7px 8px}.engine-label{font-size:19px}.engine-label.agent-label{font-size:21px}}
@media(prefers-reduced-motion:reduce){.agent-engine *,.agent-engine *::before,.agent-engine *::after{animation:none!important;transition:none!important}.engine-transit{opacity:0}.engine-core-halo{opacity:.16}.engine-core-ring,.engine-delivery{opacity:.7}}

/* Quiet, consistent labels leave the emphasis on the illuminated mechanism. */
.agent-engine .engine-label,
.agent-engine .engine-label.agent-label{
  font-family:'DM Sans',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:1.9px;
  fill:#bcb6ce;
  stroke:#11121d;
  stroke-width:3px;
  filter:none;
}
.agent-engine .engine-label.agent-label{fill:#d0c4e5}
@media(max-width:480px){
  .agent-engine .engine-label,
  .agent-engine .engine-label.agent-label{font-size:14px;letter-spacing:1.5px}
}

/* The homepage illustration shares the hero space without a separate panel. */
.prism .engine-integrated{padding:0;background:none}
.engine-integrated .engine-drawing{margin-top:0}
