/* ART engineering workflow. Scoped to the capability hero. */
.svc-hero-visual.engineering-visual{aspect-ratio:auto;max-width:520px;width:100%;perspective:1100px;--ew-gold:#FEC422;--ew-ink:#141414;--ew-muted:#64645e;font-family:'Manrope',sans-serif}
.engineering-visual .ew-scene{position:relative;width:100%;aspect-ratio:520/480;transform:rotateX(var(--ew-rx,0deg)) rotateY(var(--ew-ry,0deg));transition:transform .5s ease;isolation:isolate}
.engineering-visual .ew-halo{position:absolute;inset:12% -2% 6%;z-index:-1;background:radial-gradient(ellipse,rgba(254,196,34,.13),rgba(254,196,34,0) 68%);pointer-events:none}
.engineering-visual .ew-panel{position:absolute;border:1px solid #deded7;border-radius:12px;box-shadow:0 12px 30px -22px rgba(0,0,0,.35);overflow:hidden;transition:opacity .55s ease,transform .7s cubic-bezier(.22,1,.36,1),border-color .5s ease}
.engineering-visual .ew-brief{top:4%;left:0;width:80%;background:#fff;padding:18px 20px;z-index:1;transform:translateY(0)}
.engineering-visual .ew-panel-heading{display:flex;align-items:center;gap:9px;font-family:'Host Grotesk',sans-serif;font-size:12px;font-weight:500;color:var(--ew-muted)}
.engineering-visual .ew-icon{font-size:19px;line-height:1;color:#141414}
.engineering-visual .ew-brief-dot{margin-left:auto;width:6px;height:6px;background:#c8c8c0;border-radius:50%;transition:background .5s}
.engineering-visual .ew-brief p{font-family:'Host Grotesk',sans-serif;font-size:clamp(15px,1.4vw,19px);font-weight:600;letter-spacing:-.02em;margin:10px 0 9px;color:#141414;line-height:1.25}
.engineering-visual .ew-criteria{display:flex;gap:14px;font-size:10px;color:#64645e}
.engineering-visual .ew-criteria span::before{content:'·';margin-right:5px;color:#B11226}
.engineering-visual .ew-build{top:33%;left:6%;width:88%;z-index:2;background:#191919;border-color:#30302c;color:#e9e9e2;box-shadow:0 22px 38px -24px rgba(0,0,0,.5)}
.engineering-visual .ew-editor-heading{display:flex;align-items:center;gap:9px;padding:14px 17px;border-bottom:1px solid #33332f;font-size:11px;color:#c8c8c0}
.engineering-visual .ew-code-icon{color:var(--ew-gold);font-size:15px;font-weight:600}
.engineering-visual .ew-assisted{margin-left:auto;font-family:'Host Grotesk',sans-serif;font-size:10px;color:#a7a79d}
.engineering-visual .ew-code{padding:16px 16px 13px;font-size:clamp(10px,.91vw,12px);line-height:1.95}
.engineering-visual .ew-code-line{display:flex;gap:16px;opacity:.16;transform:translateX(5px);transition:opacity .4s,transform .4s}
.engineering-visual .ew-line-number{color:#77776e;user-select:none;width:8px;flex:none;text-align:right}
.engineering-visual code{font-family:'JetBrains Mono',monospace;white-space:pre;font-size:inherit;color:#e8e8df;background:none}
.engineering-visual code em{font-style:normal;color:#FEC422}
.engineering-visual .ew-tests{display:flex;justify-content:space-between;gap:6px;padding:13px 16px 16px;border-top:1px solid #33332f;font-size:9px;color:#c7c7bd}
.engineering-visual .ew-test{display:flex;gap:5px;align-items:center}
.engineering-visual .ew-check{font-size:10px;width:14px;height:14px;border:1px solid #59594f;border-radius:50%;color:transparent;display:inline-flex;justify-content:center;align-items:center;transition:background .3s,border-color .3s,color .3s}
.engineering-visual .ew-build-progress{height:2px;width:100%;background:var(--ew-gold);transform:scaleX(0);transform-origin:left;transition:transform 1s ease}
.engineering-visual .ew-release{right:0;top:81%;width:73%;z-index:3;background:#fff;transform:translateY(8px);opacity:.38}
.engineering-visual .ew-reviewer{display:flex;gap:10px;align-items:center;padding:15px 17px}
.engineering-visual .ew-person{width:30px;height:30px;display:grid;place-items:center;border:1px solid #deded7;border-radius:50%;background:#f7f7f3;flex-shrink:0}
.svc-hero-visual.engineering-visual .ew-person svg{width:19px;height:19px;stroke:#44443e;stroke-width:1.4}
.engineering-visual .ew-reviewer strong{display:block;font:600 13px 'Host Grotesk',sans-serif;letter-spacing:-.01em;color:#141414}
.engineering-visual .ew-reviewer small{display:block;margin-top:3px;font-size:10px;color:#64645e}
.engineering-visual .ew-approval{margin-left:auto;font-size:15px;color:#141414;width:24px;height:24px;display:grid;place-items:center;background:#FEC422;border-radius:50%;opacity:0;transform:scale(.6);transition:opacity .4s,transform .4s}
.engineering-visual .ew-release-status{display:flex;align-items:center;gap:8px;padding:12px 17px;background:#FEC422;color:#141414;opacity:0;transform:translateY(100%);transition:opacity .5s,transform .5s}
.engineering-visual .ew-release-status strong{font:600 12px 'Host Grotesk',sans-serif}
.engineering-visual .ew-release-status>span:last-child{margin-left:auto}
.engineering-visual .ew-release-dot{width:5px;height:5px;border-radius:50%;background:currentColor}
.svc-hero-visual.engineering-visual .ew-connections{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible;fill:none;stroke:#deded7;stroke-width:1.5}
.engineering-visual .ew-trace{stroke:#FEC422;stroke-dasharray:20 250;stroke-dashoffset:270;animation:ew-travel 4s linear infinite}
@keyframes ew-travel{to{stroke-dashoffset:0}}
.engineering-visual .ew-caption{display:flex;align-items:center;gap:12px;padding-top:42px;font-size:11px;line-height:1.6;color:#64645e}
.engineering-visual .ew-caption-text{max-width:360px}
.engineering-visual .ew-pause{margin-left:auto;background:transparent;border:1px solid #deded7;border-radius:50%;width:30px;height:30px;flex-shrink:0;color:#64645e;cursor:pointer;font-size:12px;display:grid;place-items:center}
.engineering-visual .ew-pause:focus-visible{outline:2px solid #B11226;outline-offset:3px}
.engineering-visual .ew-pause:hover{color:#141414;border-color:#777}
.engineering-visual [data-step="0"] .ew-brief{border-color:#bdbdb0;transform:translateY(4px)}
.engineering-visual [data-step]:not([data-step="0"]) .ew-code-line{opacity:1;transform:none}
.engineering-visual [data-step]:not([data-step="0"]) .ew-code-line:nth-child(2){transition-delay:.18s}
.engineering-visual [data-step]:not([data-step="0"]) .ew-code-line:nth-child(3){transition-delay:.36s}
.engineering-visual [data-step]:not([data-step="0"]) .ew-code-line:nth-child(4){transition-delay:.54s}
.engineering-visual [data-step]:not([data-step="0"]) .ew-code-line:nth-child(5){transition-delay:.72s}
.engineering-visual [data-step]:not([data-step="0"]) .ew-brief-dot{background:#B11226}
.engineering-visual [data-step="1"] .ew-build-progress{transform:scaleX(.3)}
.engineering-visual [data-step="2"] .ew-build-progress{transform:scaleX(.7)}
.engineering-visual [data-step="3"] .ew-build-progress,.engineering-visual [data-step="4"] .ew-build-progress{transform:scaleX(1)}
.engineering-visual [data-step="2"] .ew-check,.engineering-visual [data-step="3"] .ew-check,.engineering-visual [data-step="4"] .ew-check{background:#FEC422;border-color:#FEC422;color:#141414}
.engineering-visual [data-step="2"] .ew-test:nth-child(2) .ew-check{transition-delay:.45s}
.engineering-visual [data-step="2"] .ew-test:nth-child(3) .ew-check{transition-delay:.9s}
.engineering-visual [data-step="3"] .ew-release,.engineering-visual [data-step="4"] .ew-release{opacity:1;transform:none}
.engineering-visual [data-step="4"] .ew-approval{opacity:1;transform:scale(1)}
.engineering-visual [data-step="4"] .ew-release-status{opacity:1;transform:none}
.engineering-visual.ew-stopped .ew-trace{animation-play-state:paused}
@media(max-width:1024px){.svc-hero-visual.engineering-visual{max-width:480px}.engineering-visual .ew-code{font-size:11px}.engineering-visual .ew-brief p{font-size:18px}}
@media(max-width:540px){.engineering-visual .ew-scene{transform:none!important;aspect-ratio:340/430}.engineering-visual .ew-brief{width:94%;padding:15px}.engineering-visual .ew-brief p{font-size:17px}.engineering-visual .ew-build{left:0;width:100%;top:34%}.engineering-visual .ew-release{width:88%;top:81%}.engineering-visual .ew-editor-heading{padding:12px}.engineering-visual .ew-code{padding:13px 10px;font-size:9px}.engineering-visual .ew-code-line{gap:9px}.engineering-visual .ew-tests{padding:12px 9px;font-size:8px;gap:4px}.engineering-visual .ew-test{gap:3px}.engineering-visual .ew-assisted{font-size:9px}.engineering-visual .ew-caption{padding-top:40px;font-size:10px}.engineering-visual .ew-criteria{font-size:9px;gap:8px}}
@media(prefers-reduced-motion:reduce){.engineering-visual *{animation:none!important;transition:none!important}.engineering-visual .ew-scene{transform:none!important}.engineering-visual .ew-pause{display:none}}
