/* Blob: shared visual, logo dots, launcher and navigation handoff. */
.blink-orbie {
  position:relative; display:inline-block; width:80px; height:80px; flex-shrink:0;
  background:none; border-radius:0; box-shadow:none; animation:none;
  overflow:visible; isolation:auto; mix-blend-mode:multiply;
}
.blink-orbie::before {
  content:''; position:absolute; inset:-28%; pointer-events:none;
  background:linear-gradient(125deg,#2b5cd7 0%,#2b5cd7 42%,#6862dc 65%,#39cadb 84%,#d98acb 100%),var(--blob-art,linear-gradient(135deg,#2b5cd7,#6862dc,#39cadb)) center / 260% auto no-repeat;
  background-blend-mode:color; mix-blend-mode:normal;
  mask-image:radial-gradient(ellipse,#000 30%,#000d 45%,transparent 70%);
  filter:saturate(1.45) contrast(1.15);
}
@keyframes blob-form {
  0% { border-radius:44% 56% 51% 49% / 43% 46% 54% 57%; transform:scale(.98,1.02) rotate(-7deg); }
  33% { border-radius:59% 41% 45% 55% / 52% 58% 42% 48%; transform:scale(1.035,.97) rotate(3deg); }
  67% { border-radius:48% 52% 60% 40% / 59% 41% 59% 41%; transform:scale(.97,1.035) rotate(8deg); }
  100% { border-radius:53% 47% 43% 57% / 45% 60% 40% 55%; transform:scale(1.02,.98) rotate(-3deg); }
}
/* Wordmark dots use a solid brand colour. Their outer box never moves. */
.orbie-wordmark { display:inline-flex; align-items:baseline; gap:4px; }
.orbie-wordmark > img { width:102px; height:35px; }
.orbie-wordmark > .blink-orbie { width:12px; height:12px; }
#navLogoDotLayer.blink-orbie { position:fixed; display:block; z-index:451; pointer-events:none; }
.footer-logo { position:relative; }
.footer-logo > .blink-orbie { position:absolute; width:13.6px; height:13.6px; right:0; bottom:0; }
html :is(.orbie-wordmark,.footer-logo) > .blink-orbie,
html #navLogoDotLayer.blink-orbie { mix-blend-mode:normal; }
html :is(.orbie-wordmark,.footer-logo) > .blink-orbie::before,
html #navLogoDotLayer.blink-orbie::before {
  inset:0; background:#2b5cd7; border-radius:50%; filter:none; mask-image:none;
  animation:blob-form 6s ease-in-out infinite alternate;
}

@media(prefers-reduced-motion:reduce) {
  html :is(.orbie-wordmark,.footer-logo) > .blink-orbie::before,
  html #navLogoDotLayer.blink-orbie::before { animation:none; }
}
