.nebula-stage{position:relative;isolation:isolate;aspect-ratio:1;min-width:0;width:100%}
.nebula-stage:before{content:'';position:absolute;inset:12%;z-index:0;border-radius:42% 58% 62% 38%;background:radial-gradient(ellipse at 28% 32%,#19b6c53b,transparent 50%),radial-gradient(ellipse at 76% 37%,#9748d62e,transparent 47%),radial-gradient(ellipse at 45% 78%,#d78e4a24,transparent 40%);filter:blur(13px);pointer-events:none}
.nebula-stage[data-nebula-state=ready]:before{opacity:0}
.nebula-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.nebula-home{align-self:center;overflow:visible}
.nebula-home .nebula-canvas{inset:-30%;width:160%;height:160%}
.nebula-home:before{inset:-26% -34%}
@media(min-width:761px){.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr)}}
.nebula-home .hero-monogram{position:absolute;inset:auto;left:50%;top:50%;width:1.6em;height:1.6em;z-index:2;aspect-ratio:1;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:0;font-size:clamp(2.5rem,4.8vw,4.2rem);letter-spacing:-.08em;transform:translate(-50%,-50%);pointer-events:none}
.nebula-home .hero-monogram span{transform:none}
.nebula-home .hero-monogram span:nth-child(4){position:relative;top:-.2em}
.has-motion .nebula-home .hero-monogram span{animation:logo-float 7.6s ease-in-out infinite}
.has-motion .nebula-home .hero-monogram span:nth-child(2){animation-duration:6.8s}
.has-motion .nebula-home .hero-monogram span:nth-child(3){animation-duration:8.4s}
.has-motion .nebula-home .hero-monogram span:nth-child(4){animation-duration:7.1s}
@keyframes logo-float{0%,100%{transform:translate(-.6px,.8px)}50%{transform:translate(1.3px,-1.6px)}}
.nebula-transfers{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.nebula-words{position:absolute;inset:0;pointer-events:none;z-index:3}
.nebula-word{position:absolute;left:var(--word-x);top:var(--word-y);transform:translate(-50%,-50%);font-size:clamp(.7rem,1.05vw,.875rem);letter-spacing:.04em;color:#dae6e9;line-height:1.3;text-shadow:0 1px 4px #080a09,0 0 9px #080a09;white-space:nowrap;will-change:transform;pointer-events:none}
.nebula-word:nth-child(2),.nebula-word:nth-child(5){color:var(--green)}
.role-dial.nebula-stage{border-radius:0}
.role-dial.nebula-stage .nebula-canvas{inset:-25%;width:150%;height:150%}
.role-dial.nebula-stage:before{inset:-7%;background:radial-gradient(ellipse at 28% 32%,#d940a63b,transparent 50%),radial-gradient(ellipse at 76% 37%,#465ccb2e,transparent 47%),radial-gradient(ellipse at 45% 78%,#cf854824,transparent 40%)}
.role-dial.nebula-stage:focus-visible{outline:1px solid #00f12c66;outline-offset:4px}
.role-dial.nebula-stage .role-dial-center{inset:30% 15%;z-index:2}
.role-dial.nebula-stage .role-dial-caption{display:none}
.role-dial.nebula-stage .role-dial-index{font-size:.65rem;color:var(--muted);letter-spacing:.10em;line-height:1.5;font-weight:400}
.role-dial.nebula-stage .role-dial-name{font-size:clamp(1.1rem,2vw,1.65rem);color:var(--green);font-weight:700;line-height:1.4;max-width:20ch;margin-top:12px;letter-spacing:-.05em}
.role-dial.nebula-stage .role-dial-total{margin-top:15px}
.role-controls button{border-color:transparent}
.role-controls button:hover{border-color:var(--line);background:transparent}
@media(max-width:760px){.nebula-home{max-width:390px;margin:0 auto 28px}.nebula-home .hero-monogram{font-size:clamp(2rem,10vw,2.75rem)}.nebula-word{font-size:.75rem}.role-dial.nebula-stage .role-dial-name{font-size:clamp(1rem,5vw,1.5rem)}}
@media(prefers-reduced-motion:reduce){.nebula-word{will-change:auto}.nebula-home .hero-monogram span{animation:none!important;transform:none}}
@media print{.nebula-home,.nebula-canvas{display:none}.role-dial.nebula-stage{display:none}}
