/* bublick AI nexus · 2026-09-12 · v2
   Decorative scene; motion follows scroll, with no perpetual animation. */
:root {
  --nexus-blue:136,171,255;
  --nexus-ice:190,216,255;
  --nexus-node-bg:15,25,45;
  --nexus-node-text:#b6c8e8;
  --nexus-shadow:1,7,19;
  --nexus-title-end:#91aff8;
  --nexus-link-ink:#bfd0f8;
  --nexus-scene-height:758px;
  --nexus-sensor-top:352px;
}
:root[data-theme="light"] {
  --nexus-blue:64,103,211;
  --nexus-ice:76,121,216;
  --nexus-node-bg:235,241,249;
  --nexus-node-text:#405f91;
  --nexus-shadow:71,88,119;
  --nexus-title-end:#3f62bd;
  --nexus-link-ink:#3153a1;
}
.ai-nexus {
  position:relative;
  min-height:var(--nexus-scene-height);
  width:100%;
  isolation:isolate;
  scroll-margin-top:150px;
}
.ai-nexus-sensor {
  position:absolute;
  top:var(--nexus-sensor-top);
  left:50%;
  width:270px;
  height:2px;
  transform:translateX(-50%);
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(var(--nexus-blue),.26) 26%,rgba(var(--nexus-blue),.40) 50%,rgba(var(--nexus-blue),.26) 74%,transparent);
}
.ai-nexus-sensor-light {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(var(--nexus-blue),.85) 26%,rgba(var(--nexus-ice),1) 50%,rgba(var(--nexus-blue),.85) 74%,transparent);
  box-shadow:0 0 14px rgba(var(--nexus-blue),.48);
  opacity:.8;
  transform-origin:50% 50%;
}
.ai-nexus-sensor::before,
.ai-nexus-sensor::after {
  content:"";
  position:absolute;
  width:3px;
  height:3px;
  top:-.5px;
  border-radius:50%;
  background:rgba(var(--nexus-blue),.45);
}
.ai-nexus-sensor::before { left:20px; }
.ai-nexus-sensor::after { right:20px; }
.ai-nexus-sensor-light::after {
  content:"";
  position:absolute;
  left:50%;
  top:-2px;
  width:6px;
  height:6px;
  margin-left:-3px;
  border-radius:50%;
  background:rgb(var(--nexus-ice));
  box-shadow:0 0 12px rgba(var(--nexus-blue),.85);
}
.ai-nexus-shadow {
  position:absolute;
  left:50%;
  top:calc(var(--nexus-sensor-top) - 15px);
  width:174px;
  height:26px;
  margin-left:-87px;
  background:radial-gradient(ellipse,rgba(var(--nexus-shadow),.50),rgba(var(--nexus-shadow),.13) 39%,transparent 70%);
  pointer-events:none;
}
.ai-nexus-aura {
  position:absolute;
  top:calc(var(--nexus-sensor-top) - 255px);
  left:50%;
  width:min(850px,100%);
  height:510px;
  transform:translateX(-50%);
  pointer-events:none;
  background:
    radial-gradient(ellipse at 47% 44%,rgba(var(--nexus-ice),.08),transparent 55%),
    radial-gradient(ellipse,rgba(var(--nexus-blue),.12),rgba(var(--nexus-blue),.02) 48%,transparent 71%);
}
.ai-nexus-orbits {
  position:absolute;
  left:50%;
  top:calc(var(--nexus-sensor-top) - 264px);
  width:450px;
  height:306px;
  max-width:calc(100% - 36px);
  transform:translateX(-50%);
  pointer-events:none;
  fill:none;
  stroke:rgba(var(--nexus-blue),.16);
  stroke-width:.8;
}
.ai-nexus-orbits .ai-nexus-orbit-bright { stroke:rgba(var(--nexus-ice),.28); }
.ai-nexus-orbits .ai-nexus-orbit-ticks { stroke:rgba(var(--nexus-blue),.24);stroke-width:1.8; }
.ai-nexus-orbits .ai-nexus-orbit-dot { stroke:none;fill:rgba(var(--nexus-ice),.6); }
.ai-nexus-impact {
  position:absolute;
  left:50%;
  top:var(--nexus-sensor-top);
  width:190px;
  height:48px;
  margin:-23px 0 0 -95px;
  border:1px solid rgba(var(--nexus-blue),.62);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
}
.ai-nexus-copy {
  position:relative;
  z-index:2;
  width:min(680px,calc(100% - 350px));
  margin:0 auto;
  padding-top:calc(var(--nexus-sensor-top) + 54px);
  padding-bottom:52px;
  text-align:center;
}
.ai-nexus-copy-inner { position:relative; }
.ai-nexus-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--nexus-link-ink);
  font-size:13px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:.11em;
}
.ai-nexus-kicker::before {
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 12px rgba(var(--nexus-blue),.42);
}
.ai-nexus-copy h2 {
  margin:14px 0 0;
  color:var(--text);
  font-size:clamp(36px,3.55vw,51px);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1.12;
  text-wrap:balance;
}
.ai-nexus-copy h2 span {
  display:block;
  color:var(--nexus-title-end);
}
.ai-nexus-copy p {
  max-width:500px;
  margin:18px auto 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
  text-wrap:balance;
}
.ai-nexus-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin-top:23px;
  padding:10px 18px;
  border:1px solid rgba(var(--nexus-blue),.24);
  border-radius:999px;
  background:rgba(var(--nexus-blue),.04);
  color:var(--nexus-link-ink);
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.ai-nexus-link svg { width:17px;height:17px;flex:none;transition:transform .18s ease; }
.ai-nexus-link:hover { color:var(--text);border-color:rgba(var(--nexus-blue),.48);background:rgba(var(--nexus-blue),.09); }
.ai-nexus-link:hover svg { transform:translate(1px,-1px); }
.ai-nexus-link:focus-visible { outline:2px solid var(--nexus-link-ink);outline-offset:5px; }
.ai-nexus-rest-donut {
  position:absolute;
  top:calc(var(--nexus-sensor-top) - 271.25px);
  left:50%;
  width:350px;
  height:350px;
  margin-left:-175px;
  pointer-events:none;
  opacity:.93;
}
.ai-nexus-rest-donut img { display:block;width:100%;height:100%;object-fit:contain; }
/* Progressive enhancement owns the old fixed image, including its alpha padding. */
:root:not([data-ai-nexus-mode="desktop"]) .bg-donut-layer { display:none; }
:root[data-ai-nexus-mode="desktop"] .ai-nexus-rest-donut { display:none; }
.bg-donut-layer .ai-nexus-flight {
  position:absolute;
  top:0;
  left:50%;
  width:350px;
  height:350px;
  pointer-events:none;
}
.ai-nexus-stretch { width:100%;height:100%;transform-origin:50% 77.5%; }
.ai-nexus-spin { width:100%;height:100%;transform-origin:50% 50%; }
.bg-donut-layer .ai-nexus-flight .bg-donut {
  position:static;
  width:100%;height:100%;
  min-width:0;min-height:0;max-width:none;max-height:none;
  opacity:1;
  transform:none;
  will-change:auto;
  filter:none;
}
.ai-nexus-background {
  position:absolute;
  left:0;
  width:100%;
  height:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  contain:layout style paint;
}
.ai-nexus-network { display:block;width:100%;height:100%;overflow:hidden; }
.ai-nexus-network .nexus-wire {
  fill:none;
  stroke:rgb(var(--nexus-blue));
  stroke-width:1.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ai-nexus-network .nexus-wire-halo {
  fill:none;
  stroke:rgb(var(--nexus-blue));
  stroke-width:4;
  stroke-linecap:round;
}
.ai-nexus-network .nexus-packet { fill:rgb(var(--nexus-ice)); }
.nexus-node-bg {
  fill:rgba(var(--nexus-node-bg),.95);
  stroke:rgba(var(--nexus-blue),.29);
  stroke-width:1;
}
.nexus-node-rim { fill:none;stroke:rgba(var(--nexus-ice),.2);stroke-width:.7;stroke-linecap:round; }
.nexus-node-pin { fill:rgba(var(--nexus-ice),.7); }
.nexus-node-ping { fill:none;stroke:rgb(var(--nexus-blue));stroke-width:1; }
.nexus-node-icon {
  fill:none;
  stroke:rgb(var(--nexus-ice));
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nexus-node-label {
  fill:var(--nexus-node-text);
  font-family:Inter,Arial,system-ui,sans-serif;
  font-size:12px;
  font-weight:400;
  text-anchor:middle;
}
.ai-nexus[data-nexus-ready] .ai-nexus-copy,
.ai-nexus[data-nexus-ready] .ai-nexus-sensor-light,
.ai-nexus[data-nexus-ready] .ai-nexus-shadow,
.ai-nexus[data-nexus-ready] .ai-nexus-orbits,
.ai-nexus[data-nexus-ready] .ai-nexus-aura { transition:none; }
.ai-nexus[data-nexus-copy-hidden] .ai-nexus-copy { pointer-events:none; }
.ai-nexus[data-nexus-copy-hidden] .ai-nexus-copy:focus-within { opacity:1!important;transform:none!important;pointer-events:auto; }
@media(min-width:901px) and (max-width:1150px) {
  :root { --nexus-scene-height:752px; }
}
@media(max-width:900px),(pointer:coarse) {
  :root { --nexus-scene-height:555px;--nexus-sensor-top:241px; }
  .ai-nexus { scroll-margin-top:126px; }
  .ai-nexus-rest-donut { width:252px;height:252px;margin-left:-126px;top:calc(var(--nexus-sensor-top) - 195.3px); }
  .ai-nexus-sensor { width:202px; }
  .ai-nexus-shadow { width:132px;margin-left:-66px;height:20px;top:calc(var(--nexus-sensor-top) - 11px); }
  .ai-nexus-aura { top:35px;height:330px; }
  .ai-nexus-orbits { width:304px;height:207px;top:calc(var(--nexus-sensor-top) - 180px); }
  .ai-nexus-copy { width:min(620px,calc(100% - 36px));padding-top:calc(var(--nexus-sensor-top) + 38px);padding-bottom:35px; }
  .ai-nexus-copy h2 { font-size:clamp(29px,5.3vw,39px);line-height:1.16;letter-spacing:-.04em; }
  .ai-nexus-copy p { max-width:460px;font-size:14px;line-height:1.65;margin-top:14px; }
  .ai-nexus-kicker { font-size:12px; }
  .ai-nexus-link { margin-top:19px;font-size:14px;padding:10px 16px; }
}
@media(max-width:390px) {
  :root { --nexus-scene-height:580px; }
  .ai-nexus-copy h2 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
  .ai-nexus *, .ai-nexus-background * { animation:none!important;transition:none!important; }
  .ai-nexus-impact { display:none; }
}
:root[data-ai-nexus-mode="still"] .ai-nexus-impact { display:none; }
@media print {
  .bg-donut-layer,.ai-nexus-background,.ai-nexus-aura,.ai-nexus-orbits,.ai-nexus-sensor,.ai-nexus-shadow,.ai-nexus-impact,.ai-nexus-rest-donut { display:none!important; }
  .ai-nexus { min-height:0;break-inside:avoid; }
  .ai-nexus-copy { opacity:1!important;transform:none!important;padding:24px 0!important; }
}
