/* Hero-only storytelling motion; layout, copy, and image assets remain unchanged. */
@keyframes heroTextMask{0%{clip-path:inset(0 0 100% 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes heroSoftRise{0%{opacity:0;transform:translateY(28px) scale(.985)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes heroCardSettle{0%{opacity:0;transform:translate3d(24px,16px,0) rotate(2deg)}100%{opacity:1;transform:translate3d(0,0,0) rotate(0)}}
@keyframes heroRevealImage{0%{clip-path:inset(0 0 100% 0);transform:translateY(20px) scale(1.035)}100%{clip-path:inset(0 0 0 0);transform:translateY(0) scale(1)}}
@keyframes contactBeacon{0%,100%{box-shadow:0 0 0 5px #eaf4ef}50%{box-shadow:0 0 0 11px #eaf4ef,0 0 24px #85aa9933}}
@keyframes resumeRowEnter{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}

html.hero-interactions-ready body[data-page="home"] .hr-hero h1.is-visible,
html.hero-interactions-ready body[data-page="work"] .wk-intro h1.is-visible,
html.hero-interactions-ready body[data-page="radar"] .uxdr-hero-copy h1{animation:heroTextMask .85s cubic-bezier(.22,.7,.2,1) both}
html.hero-interactions-ready body[data-page="home"] .hr-screen-main{animation:heroSoftRise .85s cubic-bezier(.22,.7,.2,1) .12s backwards;transform:translate3d(calc(var(--scene-scroll,0)*-18px + var(--hero-x,0)*9px),calc(var(--scene-scroll,0)*22px + var(--hero-y,0)*7px),0) rotate(calc(1deg + var(--hero-x,0)*.55deg))}
html.hero-interactions-ready body[data-page="home"] .hr-screen-secondary{animation:heroSoftRise .78s cubic-bezier(.22,.7,.2,1) .3s backwards;transform:translate3d(calc(var(--scene-scroll,0)*17px - var(--hero-x,0)*8px),calc(var(--scene-scroll,0)*-17px - var(--hero-y,0)*6px),0) rotate(calc(-1.1deg - var(--hero-x,0)*.65deg))}
html.hero-interactions-ready body[data-page="home"] .hr-bridge{animation:heroCardSettle .8s cubic-bezier(.22,.7,.2,1) .42s both;translate:0 calc(var(--scene-scroll,0)*-10px)}
html.hero-interactions-ready body[data-page="work"] .wk-art{perspective:1000px;transition:rotate .22s ease,filter .3s ease;rotate:calc(var(--hero-x,0)*.45deg)}
html.hero-interactions-ready body[data-page="work"] .wk-art-main{transition:transform .14s linear;transform:translate(calc(-50% + var(--hero-x,0)*10px),calc(-50% - var(--scene-scroll,0)*17px + var(--hero-y,0)*8px))}
html.hero-interactions-ready body[data-page="work"] .wk-art-float{transition:transform .14s linear}
html.hero-interactions-ready body[data-page="work"] .wk-art-chat{transform:translate3d(calc(var(--hero-x,0)*-7px),calc(var(--scene-scroll,0)*-11px + var(--hero-y,0)*-6px),0)}
html.hero-interactions-ready body[data-page="work"] .wk-art-rehearsal{transform:translate3d(calc(var(--hero-x,0)*8px),calc(var(--scene-scroll,0)*12px + var(--hero-y,0)*5px),0)}
html.hero-interactions-ready body[data-page="about"] .ab-profile{transition:box-shadow .3s ease,border-color .3s ease;rotate:calc(var(--hero-x,0)*.35deg)}
html.hero-interactions-ready body[data-page="about"] .ab-profile:hover{box-shadow:0 26px 58px #493c2c18;border-color:#bcd5ca}
html.hero-interactions-ready body[data-page="about"] .ab-avatar{transition:transform .35s ease;transform:translate3d(calc(var(--hero-x,0)*5px),calc(var(--hero-y,0)*4px),0) scale(1.02)}
html.hero-interactions-ready body[data-page="about"] .ab-timeline:before{transform:scaleX(var(--timeline-progress,0));transform-origin:left center;transition:transform .12s linear;background:linear-gradient(90deg,#d8a28e,#9cb8ca,#b6a0d2)}
html.hero-interactions-ready body[data-page="resume"] .rs-glance{transition:box-shadow .3s ease,border-color .3s ease;rotate:calc(var(--hero-x,0)*.3deg)}
html.hero-interactions-ready body[data-page="resume"] .rs-glance.is-visible dl>div{animation:resumeRowEnter .46s cubic-bezier(.22,.7,.2,1) both;animation-delay:calc(.16s + var(--row-index,0)*.11s)}
html.hero-interactions-ready body[data-page="resume"] .rs-glance.is-visible dl>div:nth-child(1){--row-index:0}
html.hero-interactions-ready body[data-page="resume"] .rs-glance.is-visible dl>div:nth-child(2){--row-index:1}
html.hero-interactions-ready body[data-page="resume"] .rs-glance.is-visible dl>div:nth-child(3){--row-index:2}
html.hero-interactions-ready body[data-page="resume"] .rs-glance.is-visible dl>div:nth-child(4){--row-index:3}
html.hero-interactions-ready body[data-page="contact"] .ct-open{transition:box-shadow .3s ease,border-color .3s ease;rotate:calc(var(--hero-x,0)*.28deg)}
html.hero-interactions-ready body[data-page="contact"] .ct-open:hover{box-shadow:0 27px 58px #493c2c18;border-color:#bfd8cd}
html.hero-interactions-ready body[data-page="contact"] .ct-status span{animation:contactBeacon 1.2s ease-in-out .5s 2}
html.hero-interactions-ready body[data-page="dream"] .dm-hero-visual img{animation:heroRevealImage 1.05s cubic-bezier(.22,.7,.2,1) .2s backwards;transition:transform .14s linear;transform:translate3d(calc(var(--hero-x,0)*7px),calc(var(--scene-scroll,0)*-18px + var(--hero-y,0)*6px),0) scale(1.015)}
html.hero-interactions-ready body[data-page="radar"] .uxdr-hero-desktop{animation:heroSoftRise .9s cubic-bezier(.22,.7,.2,1) .16s backwards;transition:transform .14s linear;transform:translate3d(calc(var(--scene-scroll,0)*-15px + var(--hero-x,0)*8px),calc(var(--scene-scroll,0)*14px + var(--hero-y,0)*6px),0)}
html.hero-interactions-ready body[data-page="radar"] .uxdr-hero-phone{animation:heroSoftRise .82s cubic-bezier(.22,.7,.2,1) .4s backwards;transition:transform .14s linear;transform:translate3d(calc(var(--scene-scroll,0)*17px - var(--hero-x,0)*9px),calc(var(--scene-scroll,0)*-18px - var(--hero-y,0)*7px),0)}
html.hero-interactions-ready body[data-page="radar"] .uxdr-hero-art{background:radial-gradient(ellipse at calc(48% + var(--hero-x,0)*10%) calc(44% + var(--hero-y,0)*10%),#fff8ef00 0,#e7ddd000 58%,transparent 72%)}

@media(max-width:760px){
 html.hero-interactions-ready body[data-page="home"] .hr-screen-main{transform:translate3d(0,calc(var(--scene-scroll,0)*10px),0) rotate(1deg)}
 html.hero-interactions-ready body[data-page="home"] .hr-screen-secondary{transform:translate3d(0,calc(var(--scene-scroll,0)*-8px),0) rotate(-1.1deg)}
 html.hero-interactions-ready body[data-page="home"] .hr-bridge{translate:0 calc(var(--scene-scroll,0)*-5px)}
 html.hero-interactions-ready body[data-page="work"] .wk-art{rotate:0deg}
 html.hero-interactions-ready body[data-page="about"] .ab-profile,html.hero-interactions-ready body[data-page="resume"] .rs-glance,html.hero-interactions-ready body[data-page="contact"] .ct-open{rotate:0deg}
 html.hero-interactions-ready body[data-page="dream"] .dm-hero-visual img{transform:translateY(calc(var(--scene-scroll,0)*-8px)) scale(1.01)}
 html.hero-interactions-ready body[data-page="radar"] .uxdr-hero-desktop{transform:translateY(calc(var(--scene-scroll,0)*8px))}
 html.hero-interactions-ready body[data-page="radar"] .uxdr-hero-phone{transform:translateY(calc(var(--scene-scroll,0)*-10px))}
 html.hero-interactions-ready body[data-page="about"] .ab-timeline:before{transform:scaleY(var(--timeline-progress,0));transform-origin:top center}
}
@media(prefers-reduced-motion:reduce){
 html.hero-interactions-ready body[data-page] .hr-screen-main,html.hero-interactions-ready body[data-page] .hr-screen-secondary,html.hero-interactions-ready body[data-page] .hr-bridge,html.hero-interactions-ready body[data-page] .wk-art,html.hero-interactions-ready body[data-page] .ab-profile,html.hero-interactions-ready body[data-page] .ab-avatar,html.hero-interactions-ready body[data-page] .rs-glance,html.hero-interactions-ready body[data-page] .ct-open,html.hero-interactions-ready body[data-page] .ct-status span,html.hero-interactions-ready body[data-page] .dm-hero-visual img,html.hero-interactions-ready body[data-page] .uxdr-hero-desktop,html.hero-interactions-ready body[data-page] .uxdr-hero-phone{animation:none!important;transition:none!important;transform:none!important;translate:none!important;rotate:none!important}
 html.hero-interactions-ready body[data-page] .ab-timeline:before{transition:none!important;transform:none!important}
}
