/* Slow counter-rotation produces interference bands without flashing. */
.orb,.studio-illusion{position:absolute;right:3%;top:5%;width:clamp(240px,34vw,520px);aspect-ratio:1;height:auto;border-radius:50%;overflow:hidden;pointer-events:none;isolation:isolate;background:radial-gradient(circle at 40% 35%,#29342b,#111715 72%);border:1px solid #d8b27338;box-shadow:inset -24px -20px 70px #0008,0 0 70px #bd935d12;animation:none;opacity:.8;transform:none}
.orb::before,.orb::after,.studio-illusion::before,.studio-illusion::after{content:"";position:absolute;inset:-12%;border-radius:50%;background:repeating-conic-gradient(from 12deg,transparent 0deg 4deg,#d7b477aa 4deg 5.2deg,transparent 5.2deg 9deg);mask-image:radial-gradient(circle,transparent 7%,#000 18%,#000 55%,transparent 72%);-webkit-mask-image:radial-gradient(circle,transparent 7%,#000 18%,#000 55%,transparent 72%);animation:studio-moire-turn 80s linear infinite;transform-origin:49% 51%;border:0}
.orb::after,.studio-illusion::after{inset:-8%;background:repeating-conic-gradient(from 0deg,transparent 0deg 4.8deg,#e9d3a36b 4.8deg 6deg,transparent 6deg 9deg);animation-direction:reverse;animation-duration:110s;transform-origin:51% 49%}
.public-intro:has(.studio-illusion){position:relative;overflow:hidden;min-height:490px;padding-right:43%}
.public-intro:has(.studio-illusion)>:not(.studio-illusion){position:relative;z-index:1}
@keyframes studio-moire-turn{to{transform:rotate(360deg)}}
@media(max-width:760px){.orb,.studio-illusion{width:270px;right:-110px;top:15px;opacity:.25}.public-intro:has(.studio-illusion){padding-right:0;min-height:0}}
@media(prefers-reduced-motion:reduce){.orb::before,.orb::after,.studio-illusion::before,.studio-illusion::after{animation:none!important}}
