/* AIConnect full-page dust + grid background v1 · brand: lime #8ED53F · red #C60E32 · navy #061D2E · deep #031020
   Markup: <div class="aic-page-bg" aria-hidden="true"><i class="aic-page-bg__glow"></i><i class="aic-page-bg__grid"></i><i class="aic-page-bg__dust"></i><i class="aic-page-bg__dust aic-page-bg__dust--far"></i></div> as the first child of <body>. */
:root{--aic-navy:#061D2E;--aic-deep:#031020;--aic-surface:#0a2539;--aic-lime:#8ED53F;--aic-red:#C60E32;--aic-ice:#eaf2fb;--aic-muted:#b9cde0;--aic-line:#16344b}
html.aic-has-bg{background:var(--aic-deep)}
html.aic-has-bg body{background:transparent}
.aic-page-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;--aic-cell:clamp(96px,10vw,160px);--aic-grid:rgba(185,205,224,.15);
background:radial-gradient(120% 90% at 50% 0,#0b2c48 0,var(--aic-navy) 46%,var(--aic-deep) 100%)}
.aic-page-bg i{position:absolute;display:block}
.aic-page-bg__glow{inset:0;background:radial-gradient(60% 50% at 92% 82%,rgba(142,213,63,.09),transparent 70%),radial-gradient(55% 45% at 8% 6%,rgba(43,134,197,.12),transparent 70%)}
.aic-page-bg__grid{inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 35%,#000 20%,transparent 85%);mask-image:radial-gradient(ellipse 80% 70% at 60% 35%,#000 20%,transparent 85%)}
.aic-page-bg__grid::before,.aic-page-bg__grid::after{content:"";position:absolute;inset:0}
.aic-page-bg__grid::before{background:linear-gradient(to right,var(--aic-grid) 1px,transparent 1px) 0 0/var(--aic-cell) 100%;-webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 50%);-webkit-mask-size:100% 12px;mask-image:linear-gradient(to bottom,#000 50%,transparent 50%);mask-size:100% 12px}
.aic-page-bg__grid::after{background:linear-gradient(to bottom,var(--aic-grid) 1px,transparent 1px) 0 0/100% var(--aic-cell);-webkit-mask-image:linear-gradient(to right,#000 50%,transparent 50%);-webkit-mask-size:12px 100%;mask-image:linear-gradient(to right,#000 50%,transparent 50%);mask-size:12px 100%}
.aic-page-bg__dust{inset:-8%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='700' viewBox='0 0 900 700'%3E%3Ccircle cx='291' cy='106' r='1.5' fill='%23b9cde0' fill-opacity='0.28'/%3E%3Ccircle cx='482' cy='256' r='0.9' fill='%23b9cde0' fill-opacity='0.48'/%3E%3Ccircle cx='34' cy='304' r='0.9' fill='%23b9cde0' fill-opacity='0.29'/%3E%3Ccircle cx='382' cy='579' r='0.9' fill='%23b9cde0' fill-opacity='0.35'/%3E%3Ccircle cx='565' cy='663' r='1.4' fill='%23b9cde0' fill-opacity='0.43'/%3E%3Ccircle cx='879' cy='33' r='1.7' fill='%23b9cde0' fill-opacity='0.38'/%3E%3Ccircle cx='130' cy='82' r='1.1' fill='%23b9cde0' fill-opacity='0.62'/%3E%3Ccircle cx='163' cy='407' r='1.4' fill='%23b9cde0' fill-opacity='0.42'/%3E%3Ccircle cx='493' cy='44' r='0.9' fill='%23b9cde0' fill-opacity='0.34'/%3E%3Ccircle cx='612' cy='299' r='1.1' fill='%23b9cde0' fill-opacity='0.51'/%3E%3Ccircle cx='408' cy='210' r='1.6' fill='%23b9cde0' fill-opacity='0.56'/%3E%3Ccircle cx='220' cy='402' r='1.3' fill='%23b9cde0' fill-opacity='0.64'/%3E%3Ccircle cx='657' cy='202' r='1.8' fill='%23b9cde0' fill-opacity='0.30'/%3E%3Ccircle cx='376' cy='530' r='1.0' fill='%23b9cde0' fill-opacity='0.47'/%3E%3Ccircle cx='35' cy='468' r='1.6' fill='%23b9cde0' fill-opacity='0.51'/%3E%3Ccircle cx='788' cy='220' r='1.5' fill='%23b9cde0' fill-opacity='0.52'/%3E%3Ccircle cx='522' cy='319' r='1.6' fill='%23b9cde0' fill-opacity='0.68'/%3E%3Ccircle cx='427' cy='465' r='0.9' fill='%23b9cde0' fill-opacity='0.57'/%3E%3Ccircle cx='582' cy='695' r='1.6' fill='%23b9cde0' fill-opacity='0.38'/%3E%3Ccircle cx='347' cy='468' r='0.8' fill='%23b9cde0' fill-opacity='0.46'/%3E%3Ccircle cx='151' cy='82' r='0.9' fill='%23b9cde0' fill-opacity='0.60'/%3E%3Ccircle cx='116' cy='173' r='1.2' fill='%23b9cde0' fill-opacity='0.64'/%3E%3Ccircle cx='73' cy='314' r='1.3' fill='%23b9cde0' fill-opacity='0.65'/%3E%3Ccircle cx='737' cy='605' r='1.1' fill='%23b9cde0' fill-opacity='0.44'/%3E%3C/svg%3E");background-size:900px 700px;animation:aic-drift 160s ease-in-out infinite alternate;translate:0 calc(var(--aic-scroll,0) * -.04px)}
.aic-page-bg__dust--far{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='900' viewBox='0 0 1400 900'%3E%3Ccircle cx='633' cy='504' r='1.2' fill='%23b9cde0' fill-opacity='0.27'/%3E%3Ccircle cx='711' cy='529' r='0.7' fill='%23b9cde0' fill-opacity='0.28'/%3E%3Ccircle cx='882' cy='714' r='0.7' fill='%23b9cde0' fill-opacity='0.23'/%3E%3Ccircle cx='127' cy='729' r='1.0' fill='%23b9cde0' fill-opacity='0.16'/%3E%3Ccircle cx='1375' cy='868' r='1.0' fill='%23b9cde0' fill-opacity='0.30'/%3E%3Ccircle cx='220' cy='14' r='0.9' fill='%23b9cde0' fill-opacity='0.16'/%3E%3Ccircle cx='266' cy='218' r='0.6' fill='%23b9cde0' fill-opacity='0.27'/%3E%3Ccircle cx='617' cy='758' r='0.9' fill='%23b9cde0' fill-opacity='0.31'/%3E%3Ccircle cx='700' cy='596' r='0.9' fill='%23b9cde0' fill-opacity='0.22'/%3E%3Ccircle cx='1397' cy='896' r='1.1' fill='%23b9cde0' fill-opacity='0.33'/%3E%3Ccircle cx='441' cy='207' r='0.8' fill='%23b9cde0' fill-opacity='0.17'/%3E%3Ccircle cx='1073' cy='360' r='1.1' fill='%23b9cde0' fill-opacity='0.25'/%3E%3Ccircle cx='1341' cy='763' r='0.6' fill='%23b9cde0' fill-opacity='0.20'/%3E%3Ccircle cx='1274' cy='423' r='1.2' fill='%23b9cde0' fill-opacity='0.25'/%3E%3Ccircle cx='102' cy='567' r='1.1' fill='%23b9cde0' fill-opacity='0.22'/%3E%3Ccircle cx='122' cy='299' r='1.2' fill='%23b9cde0' fill-opacity='0.34'/%3E%3Ccircle cx='165' cy='222' r='0.7' fill='%23b9cde0' fill-opacity='0.16'/%3E%3Ccircle cx='1116' cy='160' r='0.9' fill='%23b9cde0' fill-opacity='0.26'/%3E%3Ccircle cx='267' cy='659' r='0.7' fill='%23b9cde0' fill-opacity='0.31'/%3E%3Ccircle cx='163' cy='379' r='0.7' fill='%23b9cde0' fill-opacity='0.22'/%3E%3Ccircle cx='1359' cy='723' r='0.8' fill='%23b9cde0' fill-opacity='0.37'/%3E%3Ccircle cx='295' cy='355' r='1.1' fill='%23b9cde0' fill-opacity='0.31'/%3E%3Ccircle cx='140' cy='890' r='0.7' fill='%23b9cde0' fill-opacity='0.21'/%3E%3Ccircle cx='1082' cy='296' r='0.8' fill='%23b9cde0' fill-opacity='0.17'/%3E%3Ccircle cx='126' cy='524' r='0.7' fill='%23b9cde0' fill-opacity='0.30'/%3E%3Ccircle cx='520' cy='408' r='1.2' fill='%23b9cde0' fill-opacity='0.27'/%3E%3Ccircle cx='804' cy='780' r='0.7' fill='%23b9cde0' fill-opacity='0.19'/%3E%3Ccircle cx='1272' cy='736' r='0.7' fill='%23b9cde0' fill-opacity='0.20'/%3E%3Ccircle cx='1035' cy='846' r='0.7' fill='%23b9cde0' fill-opacity='0.39'/%3E%3Ccircle cx='1235' cy='543' r='0.9' fill='%23b9cde0' fill-opacity='0.18'/%3E%3Ccircle cx='54' cy='866' r='0.7' fill='%23b9cde0' fill-opacity='0.33'/%3E%3Ccircle cx='360' cy='741' r='1.0' fill='%23b9cde0' fill-opacity='0.22'/%3E%3Ccircle cx='246' cy='648' r='0.6' fill='%23b9cde0' fill-opacity='0.21'/%3E%3Ccircle cx='783' cy='767' r='1.0' fill='%23b9cde0' fill-opacity='0.22'/%3E%3C/svg%3E");background-size:1400px 900px;animation-duration:220s;animation-direction:alternate-reverse;opacity:.8;translate:0 calc(var(--aic-scroll,0) * -.02px)}
@keyframes aic-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-3%,-2.5%,0)}}
/* sections that sit on top: use this instead of a solid background so the page background stays visible */
.aic-surface{background:rgba(3,16,32,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@media(max-width:700px){.aic-page-bg__dust--far{display:none}}
@media(prefers-reduced-motion:reduce){.aic-page-bg__dust{animation:none;translate:none}.aic-page-bg__dust--far{animation:none;translate:none}}
