.cv-home-experience { overflow:clip; }
.cv-reading-progress { position:fixed; inset:0 auto auto 0; width:100%; height:3px; z-index:100; pointer-events:none; transform-origin:left; transform:scaleX(var(--home-progress,0)); background:linear-gradient(90deg,#6046ff,#06dfec,#bf62ff); }
.cv-home-experience .cv-home-hero { position:relative; isolation:isolate; }
.cv-home-experience .cv-home-hero::after { content:""; position:absolute; z-index:-1; pointer-events:none; width:48vw; height:48vw; max-width:700px; max-height:700px; right:-15%; top:-30%; border-radius:50%; background:radial-gradient(circle,#8c78fa20,transparent 67%); }
.cv-home-experience [data-motion-card] { --tilt-x:0deg; --tilt-y:0deg; }
@media (prefers-reduced-motion:no-preference) {
 .cv-home-experience [data-motion-card] .feature-art { transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition:transform .3s ease-out; }
 .cv-home-experience .cv-btn { transition:transform .25s,box-shadow .25s,background-color .25s; }
 .cv-home-experience .cv-btn:hover { transform:translateY(-3px); box-shadow:0 12px 26px #5140c52a; }
 .cv-home-experience .cv-btn:active { transform:translateY(0) scale(.98); }
 .cv-home-experience .cv-gradient-text { background-size:200% auto; background-position:calc(var(--home-progress,0) * 100%) center; }
 .cv-home-experience [data-motion-depth] { translate:0 var(--depth-y,0px); }
}
@media (prefers-reduced-motion:reduce) { .cv-reading-progress { display:none; }.cv-home-experience [data-motion-depth] { translate:none!important; }.cv-home-experience [data-motion-card] .feature-art { transform:none!important; } }

/* A single entrance owner avoids parent/child fades and CSS/WAAPI transform races. */
.cv-js .cv-home-experience .cv-reveal,
.cv-js .cv-home-experience .cv-reveal.is-in,
.cv-js .cv-home-experience .cv-reveal.is-done {
    opacity:1; transform:none; transition:none; will-change:auto;
}
