/* A single ray connects the seven operations; the default scene is fully lit. */
.copilot{position:relative;isolation:isolate;overflow:hidden;padding:var(--space-section) var(--gutter) 0;background:var(--bg);color:var(--text)}
.copilot .type-section,.copilot .type-body{color:var(--text)}
.copilot-stars{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.45;pointer-events:none;user-select:none}
.copilot::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--bg),transparent 24%,transparent 74%,var(--bg));pointer-events:none}
.copilot-scene{--flight-height:220px;--ray-y:110px;position:relative;max-width:1600px;margin:var(--gap-heading-visual) auto 0}
.copilot-flight{position:absolute;top:0;left:calc(50% - 50vw);width:100vw;height:var(--flight-height);pointer-events:none}
.copilot-beam{position:absolute;left:0;right:0;top:var(--ray-y);height:1px;transform-origin:left center;background:linear-gradient(90deg,#ddc798,#fff8e8 50%,#ddc798);opacity:.8}
.copilot-beam::before{content:"";position:absolute;inset:-24px 0;background:radial-gradient(ellipse at center,#ffe8b73d 0%,#e9ba701f 32%,#e9ba700a 58%,transparent 74%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);pointer-events:none}
.copilot-sweep{position:absolute;top:var(--ray-y);left:calc(var(--ray-front,0) * 100%);width:clamp(110px,17vw,270px);height:90px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#fff9e54d 0%,#ffdc9d24 20%,#f3bc6310 42%,transparent 70%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%,#000 76%,transparent);mask-image:linear-gradient(90deg,transparent,#000 24%,#000 76%,transparent);opacity:0}
.copilot-sweep::after{content:"";position:absolute;left:0;right:0;top:calc(50% - 2px);height:4px;background:radial-gradient(ellipse at center,#fff 0%,#fffef4cc 24%,#ffe7bd66 48%,transparent 74%)}
.copilot-steps{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;margin:0;padding:0}
.copilot-step{min-width:0}
.copilot-node{position:relative;display:grid;place-items:center;height:var(--flight-height)}
.copilot-node::before{content:"";position:absolute;left:50%;top:50%;width:155%;max-width:230px;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#f1cd8d1c,transparent 67%);opacity:1;transition:opacity 550ms ease}
.copilot-orbit{position:relative;display:block;width:clamp(74px,9vw,144px);height:auto;overflow:visible}
.copilot-orbit-ring{fill:none;stroke:#fff;stroke-width:1;opacity:.72;filter:drop-shadow(0 0 3px #ffffff59);transition:opacity 550ms ease,filter 550ms ease}
.copilot-orbit-glint{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-dasharray:12 88;stroke-dashoffset:0;opacity:0;filter:drop-shadow(0 0 4px #fff)}
.copilot-dot{fill:#fff;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #ffffff80);transform-box:fill-box;transform-origin:center;transition:opacity 400ms ease,filter 400ms ease}
.copilot-node-number{display:none}
.copilot-label{position:relative;display:block;padding:0 9px;font-size:clamp(14px,1.2vw,19px);line-height:1.45;color:var(--text);text-wrap:balance;text-shadow:0 0 18px #ffffff33}
.copilot-list-number{display:none}
.copilot-copy{max-width:900px;margin:var(--gap-copy-visual) auto 0}
.copilot-copy>p{margin:0}
.copilot-copy .copilot-growth{margin-top:var(--gap-paragraph);font-size:clamp(16px,1.2vw,19px);line-height:1.5;color:var(--text)}
.copilot.is-ready .copilot-beam{transform:scaleX(var(--ray-progress,0))}
.copilot.is-ready .copilot-step:not(.is-lit) .copilot-orbit-ring{opacity:.28;filter:none}
.copilot.is-ready .copilot-step:not(.is-lit) .copilot-dot{opacity:.55;filter:none}
.copilot.is-ready .copilot-step:not(.is-lit) .copilot-node::before{opacity:0}
.copilot.is-ready .copilot-step.is-lit .copilot-orbit-glint{animation:copilot-orbit-glint 650ms linear both}
.copilot.is-ready .copilot-step.is-lit .copilot-dot{animation:copilot-dot-flash 650ms ease-out both}
.copilot.is-running .copilot-sweep{opacity:var(--ray-flare,0)}
@keyframes copilot-orbit-glint{0%{opacity:0;stroke-dashoffset:0}12%{opacity:1}80%{opacity:1}100%{opacity:0;stroke-dashoffset:-100}}
@keyframes copilot-dot-flash{0%{opacity:.55;transform:scale(1)}25%{opacity:1;transform:scale(1.9)}100%{opacity:1;transform:scale(1)}}
@media(max-width:900px) and (min-width:701px){
 .copilot-label{font-size:14px;padding-inline:4px}
}
@media(max-width:700px){
 .copilot-flight{left:0;top:0;width:60px;height:100%}
 .copilot-beam{left:50%;right:auto;top:0;width:1px;height:100%;transform-origin:center top;background:linear-gradient(180deg,#ddc798,#fff8e8 50%,#ddc798)}
 .copilot-beam::before{inset:0 -24px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}
 .copilot-sweep{left:50%;top:calc(var(--ray-front,0) * 100%);width:90px;height:140px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent);mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent)}
 .copilot-sweep::after{left:calc(50% - 2px);right:auto;top:0;width:4px;height:100%}
 .copilot.is-ready .copilot-beam{transform:scaleY(var(--ray-progress,0))}
 .copilot-steps{display:block;padding:0;text-align:left}
 .copilot-step{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:16px;align-items:center;min-height:84px}
 .copilot-node{position:relative;left:auto;top:auto;width:60px;height:84px;transform:none}
 .copilot-orbit{width:60px;max-width:none}
 .copilot-node::before{width:180%}
 .copilot-node-number{display:none}
 .copilot-step+.copilot-step{margin-top:0}
 .copilot-label{display:flex;align-items:baseline;gap:12px;padding:8px 0;font-size:var(--type-body);line-height:1.4;text-wrap:wrap}
 .copilot-list-number{display:none;flex:0 0 24px;font-size:12px;letter-spacing:.06em;color:var(--text)}
 .copilot-copy .copilot-growth{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 .copilot.is-ready .copilot-beam{transform:none}
 .copilot .copilot-sweep{display:none}
 .copilot .copilot-orbit-ring,.copilot .copilot-dot,.copilot .copilot-node::before{transition:none}
 .copilot.is-ready .copilot-step.is-lit .copilot-orbit-glint,.copilot.is-ready .copilot-step.is-lit .copilot-dot{animation:none}
 .copilot.is-ready .copilot-step:not(.is-lit) .copilot-orbit-ring{opacity:.72;filter:drop-shadow(0 0 3px #ffffff59)}
 .copilot.is-ready .copilot-step:not(.is-lit) .copilot-dot{opacity:1;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #ffffff80)}
 .copilot.is-ready .copilot-step:not(.is-lit) .copilot-node::before{opacity:1}
}
