/* Keep lettering and navigation crisp independently of the character artwork. */
.hero-live{aspect-ratio:auto;background:linear-gradient(115deg,#079cff,#008eff);color:#fff}
.hero-stage{position:relative;aspect-ratio:1672/941;overflow:hidden}
.hero-topline{position:absolute;z-index:3;top:2.1%;left:2.7%;right:2.7%;display:flex;align-items:center;gap:2.7vw;font-size:clamp(12px,2.3vw,38px);font-weight:850;line-height:1.2;letter-spacing:-.04em}
.hero-topline i{height:1px;background:#fff;opacity:.85;flex:1}
.hero-topline .star{width:3.1vw;height:3.1vw;min-width:15px;min-height:15px;animation:none}
.hero-orbit{width:4.3vw;min-width:22px;fill:none;stroke:#fff;stroke-width:2.5}
.hero-orbit circle{fill:#fff}
.hero-ghost,.hero-wordmark,.hero-domain{position:absolute;font-family:Arial,Helvetica,sans-serif;font-weight:900;line-height:1;letter-spacing:-.055em;white-space:nowrap}
.hero-ghost{left:-1%;top:3%;font-size:29vw;opacity:.13}
.hero-wordmark{left:2.2%;top:24%;font-size:21vw}
.hero-domain{right:2.1%;top:51.5%;font-size:5vw}
.hero-tagline{position:absolute;left:5.5%;top:59%;font-size:3.6vw;font-weight:650;line-height:1.24;letter-spacing:.01em;color:#fff;max-width:none}
.hero-underline{position:absolute;left:11.5%;top:75%;width:22%;height:5%;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}
.hero-label{position:absolute;right:3.6%;top:16%;z-index:3;transform:rotate(-12deg);background:#fff;color:#008df4;border-radius:5px;padding:.2em .65em;font-size:2.4vw;font-weight:850;line-height:1.4;box-shadow:0 2px 0 #007bd433}
.hero-live .hero-mascot{position:absolute;right:.5%;bottom:0;width:51%;height:94%;max-width:none;object-fit:contain;object-position:center bottom}
/* A small orbital invitation echoes the hero artwork without enclosing the action in a card. */
.entry-invite{position:absolute;left:5.1%;bottom:3%;z-index:2;color:#fff}
.entry-invite .star-entry{position:static;display:inline-flex;align-items:center;gap:17px;min-height:84px;padding:4px 12px 4px 0;color:#fff;background:none}
.entry-orbit{display:block;width:80px;height:80px;flex:none;overflow:visible}
.entry-orbit-guide{fill:none;stroke:#fff;stroke-width:.8;opacity:.28}
.entry-orbit-track{transform-origin:44px 44px;animation:entry-orbit 16s linear infinite}
.entry-orbit-track ellipse{fill:none;stroke:#fff;stroke-width:1.15;opacity:.75}
.entry-orbit-track circle{fill:#fff}
.entry-orbit-core{fill:#fff;filter:drop-shadow(0 3px 6px #006ddc22);transition:transform .25s ease;transform-origin:44px 44px}
.entry-orbit-arrow{fill:none;stroke:#0875ef;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:entry-point 2.4s ease-in-out infinite}
.entry-copy{display:flex;flex-direction:column;gap:7px}
.entry-caption{font-size:clamp(20px,1.75vw,28px);font-weight:600;letter-spacing:.045em;line-height:1.35}
.entry-invite .star-entry small{font-size:11px;letter-spacing:.14em;opacity:.8;line-height:1.5}
.entry-invite .star-entry:hover .entry-orbit-core{transform:scale(1.08)}
.entry-invite .star-entry:hover .entry-caption{text-shadow:0 0 16px #ffffff44}
.entry-invite .star-entry:focus-visible{outline:2px solid #fff;outline-offset:7px;border-radius:5px}
@keyframes entry-orbit{to{transform:rotate(360deg)}}
@keyframes entry-point{0%,100%{transform:translateY(-1.5px)}50%{transform:translateY(2px)}}
@media(max-width:900px){
 .hero{aspect-ratio:auto}
 .hero-live .hero-mascot{height:94%}
 .entry-invite{position:static;padding:6px 5% 17px}
 .entry-invite .star-entry{min-height:84px;gap:17px;padding:4px 10px 4px 0}
 .entry-orbit{width:74px;height:74px}
 .entry-caption{font-size:21px}
 .entry-copy{gap:6px}
}
@media(prefers-reduced-motion:reduce){.entry-orbit-track,.entry-orbit-arrow{animation:none}.entry-orbit-core{transition:none}}
