/* Movement inspired by the circulation of energy. */
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#0cc0df;transform-origin:left;z-index:9999;pointer-events:none}
.featured-irve-card,.social-card{transition:transform .35s ease,box-shadow .35s ease}
.button{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
@media(hover:hover){.featured-irve-card:hover,.social-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #061d3020}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0cc0df30}}
@media(prefers-reduced-motion:no-preference){
.motion-reveal{transform:translateY(18px);transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.motion-reveal.motion-visible{transform:translateY(0)}
.hero-text{opacity:1}
.hero-shot{position:relative;overflow:hidden}
.hero-shot::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#0cc0df28 48%,transparent 65%);transform:translateX(-120%);animation:energy-pass 1.8s .5s ease-out both}
.hero-spec span{animation:hero-arrive .8s .2s ease both}.hero-spec span:nth-child(2){animation-delay:.35s}.hero-spec span:nth-child(3){animation-delay:.5s}
.motion-visible .gauge-value{animation:gauge-arrive 1.2s ease-out both}
@keyframes hero-arrive{from{opacity:.6;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes energy-pass{to{transform:translateX(120%)}}
@keyframes gauge-arrive{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
}
@media(prefers-reduced-motion:reduce){.featured-irve-card,.social-card,.button{transition:none!important;transform:none!important}.reading-progress{display:none}}
