/* AIConnect orbit hero component v1 · namespace .aic-orbit · lime #8ED53F · red #C60E32 · navy #061D2E · inherits your site font */
.aic-orbit{--aic-lime:#8ED53F;--aic-red:#C60E32;--aic-navy:#061D2E;--aic-ring:rgba(255,255,255,.88);--aic-ring-inner:#1d4663;--aic-text:#eaf2fb;--aic-muted:#8aa3b8;
--size:min(460px,86vw);--a0:45deg;position:relative;width:var(--size);aspect-ratio:1;container-type:inline-size;color:var(--aic-text);font-family:inherit}
.aic-orbit *{box-sizing:border-box}
/* layer 1 · rings + travelling dots (moves with the pointer) */
.aic-orbit__stage{position:absolute;inset:0;transform:translate3d(calc(var(--px,0) * 8px),calc(var(--py,0) * 8px),0);transition:transform .25s ease-out}
.aic-orbit__rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.aic-orbit__ring{fill:none}
.aic-orbit__ring--outer{stroke:var(--aic-ring);stroke-width:1.2}
.aic-orbit__ring--inner{stroke:var(--aic-ring-inner);stroke-width:1.2}
.aic-orbit--open .aic-orbit__ring--outer{stroke-dasharray:145 35 145 35;transform-origin:center;transform-box:fill-box;transform:rotate(137.5deg)}  /* brand "open orbit" gaps at -60° and 120° */
.aic-orbit__spin{position:absolute;inset:0;transform:rotate(var(--a0));animation:aic-spin var(--dur,28s) linear infinite}
.aic-orbit__spin--inner{inset:9.2%;--a0:200deg;--dur:44s;animation-direction:reverse}
@keyframes aic-spin{from{transform:rotate(var(--a0))}to{transform:rotate(calc(var(--a0) + 360deg))}}
.aic-orbit__trail{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 76%,rgba(142,213,63,.75) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px))}
.aic-orbit__dot{position:absolute;left:50%;top:0;width:2.1cqw;height:2.1cqw;min-width:8px;min-height:8px;margin:-1.05cqw 0 0 -1.05cqw;border-radius:50%;background:var(--aic-lime);box-shadow:0 0 12px 3px rgba(142,213,63,.55)}
.aic-orbit__dot::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid var(--aic-lime);animation:aic-ping 3.2s ease-out infinite}
.aic-orbit__dot--red{background:var(--aic-red);box-shadow:0 0 12px 3px rgba(198,14,50,.55);width:1.6cqw;height:1.6cqw;min-width:6px;min-height:6px;margin:-.8cqw 0 0 -.8cqw}
.aic-orbit__dot--red::after{border-color:var(--aic-red);animation-delay:-1.6s}
@keyframes aic-ping{0%{transform:scale(1);opacity:.8}80%,100%{transform:scale(4.2);opacity:0}}
/* layer 2 · content (moves slightly the other way) */
.aic-orbit__core{position:absolute;inset:0;display:flex;flex-direction:column;padding:19% 11% 17% 17.6%;transform:translate3d(calc(var(--px,0) * -4px),calc(var(--py,0) * -4px),0);transition:transform .25s ease-out}
.aic-orbit__eyebrow{margin:0;font-size:2.9cqw;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--aic-lime)}
.aic-orbit__title{margin:7% 0 0;font-size:7.9cqw;line-height:1.12;font-weight:400;color:#fff}
.aic-orbit__rule{display:block;width:14%;height:1px;margin-top:7%;background:rgba(255,255,255,.7);transform-origin:left}
.aic-orbit__chips{list-style:none;margin:auto 0 0;padding:0;display:flex;gap:2.2cqw}
.aic-orbit__chips li{padding:2.2cqw 3.3cqw;border:1px solid var(--aic-ring-inner);border-radius:1.8cqw;font-size:2.8cqw;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#b9cde0;background:rgba(6,29,46,.5);transition:border-color .2s,color .2s,box-shadow .2s}
.aic-orbit__chips li:hover{border-color:var(--aic-lime);color:var(--aic-lime);box-shadow:0 0 18px rgba(142,213,63,.25)}
.aic-orbit__card{position:absolute;left:-5%;bottom:-2.5%;width:54%;padding:3.2cqw 3.8cqw;border:1px solid var(--aic-ring-inner);border-radius:3cqw;background:var(--aic-navy);box-shadow:0 14px 40px rgba(0,0,0,.45)}
.aic-orbit__card small{display:block;font-size:2.8cqw;color:var(--aic-muted)}
.aic-orbit__card strong{display:block;margin-top:.5cqw;font-size:3cqw;color:#fff;white-space:nowrap}
/* ambient motion (uses the separate `translate` property so it never fights the reveal transforms) */
.aic-orbit__card{animation:aic-float 7s ease-in-out infinite}
.aic-orbit__chips li{animation:aic-float 6s ease-in-out calc(var(--i, 0) * -1.3s) infinite}
@keyframes aic-float{0%,100%{translate:0 0}50%{translate:0 -4px}}
/* entrance (only hidden when JS is running: html.aic-js) */
.aic-js .aic-orbit__rings,.aic-js .aic-orbit__spin{opacity:0;transform:scale(.94);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.aic-js .aic-orbit__spin{transform:rotate(var(--a0)) scale(.94)}
.aic-js .aic-orbit [data-reveal],.aic-js .aic-w{opacity:0;transform:translateY(14px)}
.aic-js .aic-orbit__rule[data-reveal]{transform:scaleX(0)}
.aic-js .aic-orbit__card[data-reveal]{transform:translateX(-18px)}
.aic-orbit.is-in .aic-orbit__rings{opacity:1;transform:none}
.aic-orbit.is-in .aic-orbit__spin{opacity:1}
.aic-orbit.is-in [data-reveal],.aic-orbit.is-in .aic-w{opacity:1;transform:none;transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * 90ms + var(--d, 0ms))}
.aic-orbit.is-in .aic-w{transition-delay:calc(var(--i, 0) * 60ms + 300ms)}
.aic-w{display:inline-block}
.aic-orbit.is-paused *,.aic-orbit.is-paused *::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.aic-orbit *,.aic-orbit *::after{animation:none!important;transition:none!important}.aic-js .aic-orbit__rings,.aic-js .aic-orbit__spin,.aic-js .aic-orbit [data-reveal],.aic-js .aic-w{opacity:1!important;transform:none!important}.aic-orbit__spin{transform:rotate(var(--a0))!important}}
