/* Original homepage connection visual, scoped to the AI service page. */
.ai-connections-section{
  --ac-bg:#020814;
  --ac-text:#ecf5ff;
  --ac-muted:#abc1d9;
  --ac-blue:#44ADFE;
  --ac-red:#f9797e;
  --ac-green:#61ddac;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 42%,#0b2446 0%,#051329 40%,#020814 76%);
  color:var(--ac-text);
}
.ai-connections-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,#1c5a9238,transparent 53%),radial-gradient(ellipse at 76% 12%,#1662a31b,transparent 30%);
}
.ai-connections-section::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.47;
  background-image:radial-gradient(circle,#e1f3ffbb .7px,transparent 1px),radial-gradient(circle,#81bbf780 .6px,transparent 1px),radial-gradient(circle,#ffffff90 .5px,transparent 1px);
  background-size:151px 137px,213px 189px,287px 241px;
  background-position:18px 29px,97px 75px,41px 118px;
}
.ai-connections-cosmos{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.ai-connections-nebula{
  position:absolute;
  inset:-12% -18% 0;
  opacity:.72;
  background:radial-gradient(ellipse 32% 22% at 18% 34%,#123d6c55,transparent 75%),radial-gradient(ellipse 34% 25% at 82% 52%,#1b5c8652,transparent 75%),radial-gradient(ellipse 22% 17% at 55% 73%,#2970b023,transparent 80%);
  filter:blur(2rem);
}
.ai-connections-orbit-field{
  position:absolute;
  top:14%;left:50%;
  width:min(88rem,145vw);
  aspect-ratio:2.15;
  border:1px solid #87c8ff1d;
  border-radius:50%;
  box-shadow:0 0 0 5rem #0f4e8307,0 0 0 10rem #80bfff05,inset 0 0 4rem #2989cd12;
  transform:translateX(-50%) rotate(-17deg);
}
.ai-connections-orbit-field::after{
  content:"";
  position:absolute;
  inset:17%;
  border:1px dashed #9bccf515;
  border-radius:50%;
}
.ai-connections-distant-stars{
  position:absolute;
  inset:0;
  opacity:.8;
  background:radial-gradient(circle at 12% 16%,#eaf8ff 0 1.3px,transparent 2.5px),radial-gradient(circle at 87% 11%,#c9e9ff 0 1px,transparent 2.2px),radial-gradient(circle at 73% 28%,#eaf8ff 0 1.5px,transparent 3px),radial-gradient(circle at 21% 58%,#c9e9ff 0 1px,transparent 2.4px),radial-gradient(circle at 91% 68%,#eaf8ff 0 1.4px,transparent 2.8px),radial-gradient(circle at 8% 82%,#c9e9ff 0 1px,transparent 2.3px),radial-gradient(circle at 64% 91%,#eaf8ff 0 1.2px,transparent 2.5px);
  filter:drop-shadow(0 0 .35rem #8bcaff);
}
.ai-connections-distant-stars::after{
  content:"";
  position:absolute;
  top:21%;right:12%;
  width:clamp(5rem,12vw,11rem);
  height:1px;
  background:linear-gradient(90deg,transparent,#9bcfff82,transparent);
  box-shadow:0 0 .8rem #8bcaff78;
  transform:rotate(-30deg);
}
.ai-connections-stage,.ai-connections-after{position:relative;z-index:1}
.ai-connections-section button{font-family:'DM Sans',sans-serif}
.ai-connections-section button:focus-visible,.ai-connections-section a:focus-visible{outline:3px solid var(--ac-blue);outline-offset:4px}
.ai-connections-stage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"top" "core" "left" "right" "bottom";
  gap:1.1rem;
  margin-top:1.4rem;
  padding-block:1rem 0;
}
.ai-connections-stage-top{grid-area:top;position:relative;z-index:2;display:grid;gap:.25rem;text-align:center;color:#a4c1df;font-size:.64rem;font-weight:700;letter-spacing:.13em}
.ai-connections-connections{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.ai-connections-cards{position:relative;z-index:2;display:grid;gap:.8rem}
.ai-connections-cards-left{grid-area:left}.ai-connections-cards-right{grid-area:right}
.ai-connections-card{
  --ac-state:var(--ac-red);
  display:block;
  width:100%;
  min-height:6.8rem;
  padding:1rem 1.05rem;
  border:1px solid #759bbd55;
  border-radius:.72rem;
  background:linear-gradient(130deg,#102741f2,#06172df2);
  color:var(--ac-text);
  text-align:left;
  cursor:pointer;
  transition:border-color .35s,box-shadow .35s,transform .25s;
}
.ai-connections-card:hover{transform:translateY(-2px);border-color:#9ac7ed}
.ai-connections-card.is-active{--ac-state:var(--ac-blue);border-color:#44adfeaa;box-shadow:0 0 1.5rem #44adfe1c}
.ai-connections-card.is-solved{--ac-state:var(--ac-green);border-color:#61ddac77}
.ai-connections-card-meta{display:block;margin-bottom:.55rem;color:#91afd0;font-size:.67rem;font-weight:700;letter-spacing:.14em}
.ai-connections-card strong{display:block;margin-bottom:.6rem;color:#f1f8ff;font-family:Manrope,sans-serif;font-size:.9rem;font-weight:600;line-height:1.3;letter-spacing:-.025em}
.ai-connections-card-status{display:flex;align-items:center;gap:.45rem;color:var(--ac-state);font-size:.72rem;line-height:1.3}
.ai-connections-card-status::before{content:"";width:.32rem;height:.32rem;flex:none;border-radius:50%;background:currentColor}
.ai-connections-core{grid-area:core;z-index:2;justify-self:center;width:min(17rem,72vw);text-align:center}
.ai-connections-core-frame{
  position:relative;
  isolation:isolate;
  width:100%;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:50%;
  background:radial-gradient(circle,#0a2b50 5%,#020a17 70%);
  box-shadow:0 0 5rem #1173c722;
}
.ai-connections-fallback{position:absolute;inset:4%;display:grid;place-items:center}
.ai-connections-fallback img{position:absolute;top:50%;left:50%;width:66%;height:auto;aspect-ratio:1;object-fit:contain;transform:translate(-50%,-53%);filter:drop-shadow(0 0 .85rem #168bea55)}
.ai-connections-orbit{position:absolute;inset:5%;border:1px solid #228ed489;border-radius:50%}
.ai-connections-orbit-one{border:1px solid #64c7ff8c}
.ai-connections-orbit-two{inset:11%;border-style:dashed;animation:aiConnectionsOrbit 55s linear infinite reverse}
.ai-connections-orbit-three{inset:16%;border-color:#44adfe4d}
.ai-connections-core-caption{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:1.6rem;margin:.3rem 0 0;color:#b6d8f5;font-size:.72rem;letter-spacing:.04em}
.ai-connections-core-dot{flex:none;width:.36rem;height:.36rem;border-radius:50%;background:var(--ac-blue);box-shadow:0 0 .7rem var(--ac-blue)}
.ai-connections-connection{fill:none;stroke:#f9797e88;stroke-width:1.25;transition:stroke .7s}
.ai-connections-connection.is-solved{stroke:#61ddacbb}
.ai-connections-connection.is-active{stroke:var(--ac-blue);stroke-width:1.8;stroke-dasharray:6 7;animation:aiConnectionsFlow .9s linear infinite}
.ai-connections-node{fill:var(--ac-red);transition:fill .7s}
.ai-connections-node.is-solved{fill:var(--ac-green)}
.ai-connections-stage-bottom{
  grid-area:bottom;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  padding-top:.9rem;
  border-top:1px solid #b3ceea2b;
  color:#9db9d6;
  font-size:.69rem;
}
.ai-connections-legend,.ai-connections-transport{display:flex;align-items:center;gap:.5rem}
.ai-connections-red-dot,.ai-connections-green-dot{width:.32rem;height:.32rem;border-radius:50%;background:var(--ac-red)}
.ai-connections-green-dot{background:var(--ac-green)}
.ai-connections-transport button{min-height:2.75rem;padding:.4rem .5rem;border:0;border-radius:.25rem;background:transparent;color:#d2e6f9;font-size:.73rem}
.ai-connections-transport button:hover{background:#ffffff16;color:#fff}
.ai-connections-transport button:disabled{opacity:.55;cursor:not-allowed}
.ai-connections-transport [data-ai-connections-count]{white-space:nowrap;margin-right:.25rem}
.ai-connections-after{padding-block:2.4rem 2rem;text-align:center}
.ai-connections-after>span{color:#8daac8;font-size:.65rem;font-weight:700;letter-spacing:.19em}
.ai-connections-after p{margin:.45rem 0 0;color:#bed4e8;font-size:.85rem}
.ai-connections-stage.is-paused .ai-connections-orbit,.ai-connections-stage.is-paused .ai-connections-connection{animation-play-state:paused}
@keyframes aiConnectionsOrbit{to{transform:rotate(360deg)}}
@keyframes aiConnectionsFlow{to{stroke-dashoffset:-26}}
@media (min-width:40rem){
  .ai-connections-fallback img{width:60%;transform:translate(-50%,-50%)}
  .ai-connections-orbit-one{border:2px solid transparent;border-top-color:#64c7ff;border-bottom-color:#269fe9;animation:aiConnectionsOrbit 20s linear infinite}
  .ai-connections-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"top top" "core core" "left right" "bottom bottom"}
  .ai-connections-stage-top{display:flex;justify-content:space-between;text-align:left}
  .ai-connections-core{width:min(19rem,52vw)}
  .ai-connections-cards{gap:1rem}
}
@media (min-width:64rem){
  .ai-connections-stage{grid-template-columns:minmax(12rem,1fr) minmax(18rem,1.35fr) minmax(12rem,1fr);grid-template-areas:"top top top" "left core right" "bottom bottom bottom";align-items:center;gap:1.5rem;padding-top:1.5rem}
  .ai-connections-cards{gap:1.15rem}
  .ai-connections-card{min-height:7rem;padding:1rem 1.15rem}
  .ai-connections-core{width:min(100%,22rem)}
}
@media (prefers-reduced-motion:reduce){
  .ai-connections-section *,.ai-connections-section *::before,.ai-connections-section *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

.ai-connections-after{padding-bottom:0}
.ai-connections-card:disabled{cursor:default}
.ai-connections-card:disabled:hover{transform:none;border-color:#61ddac77}
.ai-connections-stage.is-offscreen .ai-connections-orbit,.ai-connections-stage.is-offscreen .ai-connections-connection{animation-play-state:paused}

.ai-hero.ai-connections-section .ai-hero-grid{min-height:0;padding-block:clamp(3.5rem,6vw,5.5rem) .5rem}
.ai-hero.ai-connections-section .ai-hero-copy{max-width:52rem;margin-inline:auto;text-align:center}
.ai-hero.ai-connections-section .ai-kicker{justify-content:center}
.ai-hero.ai-connections-section h1{max-width:20ch;margin-inline:auto}
.ai-hero.ai-connections-section .ai-hero-lead{margin-inline:auto}
.ai-hero.ai-connections-section .ai-connections-stage{margin-top:clamp(1.5rem,4vw,3rem)}
