.hero>.aigc-ribbon{height:clamp(40px,3.2vw,80px)}
.aigc-ribbon b{font-size:clamp(34px,2.85vw,72px)}
.aigc-ribbon i{font-size:clamp(20px,1.9vw,42px)}
.hero>.hero-foreground{z-index:2;pointer-events:none}
.hero-skill-bubbles{z-index:8}
.skill-bubble{pointer-events:auto;cursor:pointer;isolation:isolate;animation-name:bubble-idle}
.skill-bubble::after{content:"";position:absolute;inset:3%;border-radius:50%;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#17151328;z-index:-2}
.skill-bubble::before{z-index:-1;opacity:.48}
.skill-bubble>span{z-index:1}
.skill-bubble:is(:hover,:focus-visible){animation:bubble-wobble .7s ease-in-out infinite;outline:1px solid #ffd5a9;outline-offset:3px}
@keyframes bubble-idle{0%,100%{transform:translate(0,0) rotate(-.5deg)}35%{transform:translate(2px,-3px) rotate(.8deg)}70%{transform:translate(-2px,2px) rotate(-.7deg)}}
@keyframes bubble-wobble{0%,100%{transform:rotate(-3deg) scale(1.035)}25%{transform:translate(2px,-2px) rotate(2deg) scale(1.055)}75%{transform:translate(-2px,1px) rotate(-2deg) scale(1.035)}}
.arc-cards.orbit-active{display:block;position:absolute;inset:0;overflow:visible;clip-path:inset(-40px -100px 0)}
.orbit-active .arc-card{position:absolute;left:50%;top:0;width:170px;height:220px;margin-left:-85px;transition:filter .3s,box-shadow .3s;transform:translate(var(--orbit-x),var(--orbit-y)) rotate(var(--orbit-angle));will-change:transform}
.orbit-active .arc-card:is(:hover,:focus-visible){transform:translate(var(--orbit-x),var(--orbit-y)) rotate(var(--orbit-angle));filter:brightness(1.15)}
@media(max-width:700px){.hero>.aigc-ribbon{height:34px}.aigc-ribbon b{font-size:28px}.aigc-ribbon i{font-size:18px}.arc-stage:has(.orbit-active){height:540px;min-height:540px}.orbit-active .arc-card{width:76px;height:108px;margin-left:-38px}.orbit-active .arc-card span{display:block;font-size:9px;padding:4px 0;left:2px;right:2px;bottom:5px}.arc-stage:has(.orbit-active) .arc-copy{position:absolute;top:230px;padding:0;width:100%}}
@media(prefers-reduced-motion:reduce){.skill-bubble,.skill-bubble:is(:hover,:focus-visible){animation:none}}

.hero-top{position:relative;z-index:4}.hero-title,.hero-bottom,.hero .skills-strip,.hero .dots{z-index:4}
