/* Motion direction — blue edition. Layout and copy remain unchanged. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.desktop-nav a:not(.nav-cta){position:relative;text-decoration:none!important}
.desktop-nav a::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--motion-ease)}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after,.desktop-nav a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.site-header .brand-signature{transition:opacity .3s,translate .4s var(--motion-ease)}
.site-header .brand:hover .brand-signature{translate:0 -2px;opacity:.85}
.text-link{transition:color .25s,border-color .25s,translate .35s var(--motion-ease)}
.text-link:hover{translate:3px 0}
.button{transition:transform .35s var(--motion-ease),box-shadow .35s,background .3s,border-color .3s}
.button:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:0 3px 16px #3e70ff26}
.button:focus-visible,.stream-link:focus-visible{box-shadow:0 0 0 5px #67ddff18,0 8px 32px #3e70ff26}
.button::after{transition:left .8s var(--motion-ease)}
.stream-link{transition:transform .35s var(--motion-ease),border-color .3s,background .3s,box-shadow .3s}
.stream-link:hover{box-shadow:0 10px 28px #0003}
.stream-link img{transition:transform .4s var(--motion-ease)}
.stream-link:hover img{transform:scale(1.13) rotate(-5deg)}
.song-card{transition:transform .55s var(--motion-ease)}
.song-cover{isolation:isolate;transition:box-shadow .45s,border-color .4s}
.song-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 30%,#ffffff16 48%,transparent 65%);translate:-110% 0;transition:translate .85s var(--motion-ease);pointer-events:none;z-index:1}
.song-cover:hover::after{translate:110% 0}
.song-cover:hover,.song-cover:focus-visible{border-color:#67ddff66;box-shadow:0 18px 45px #0005}
.cover-label{z-index:2;transition:opacity .3s,transform .45s var(--motion-ease)}
.song-info h3 a{transition:color .25s}.song-info h3 a:hover{color:var(--accent)}
.catalogue-item{transition:transform .45s var(--motion-ease),border-color .35s,box-shadow .35s}
.catalogue-item:hover{box-shadow:0 20px 55px #0003}
.social-list a span[aria-hidden]{transition:transform .35s var(--motion-ease)}
.social-list a:hover span[aria-hidden]{transform:translate(3px,-3px)}
.contact-banner{transition:box-shadow .5s,border-color .4s}
.contact-banner:hover{box-shadow:0 25px 80px #3e70ff15;border-color:#67ddff55}
.field input,.field textarea,.field select{transition:border-color .25s,background .25s,box-shadow .25s}
.field:focus-within label{color:var(--accent)}
.field label{transition:color .25s}
.field input:focus,.field textarea:focus,.field select:focus{background:#080f22;box-shadow:0 0 0 4px #67ddff0a}
.contact-form[aria-busy=true] .button{background-size:200% 100%;animation:sending-light 1.2s ease-in-out infinite alternate}
.mobile-menu[open]{animation:dialog-arrive .4s var(--motion-ease)}
.mobile-menu[open]::backdrop{animation:backdrop-arrive .35s ease-out}
.mobile-menu[open] nav a{animation:menu-link-enter .55s var(--motion-ease) both}
.mobile-menu[open] nav a:nth-child(2){animation-delay:55ms}
.mobile-menu[open] nav a:nth-child(3){animation-delay:110ms}
.mobile-menu[open] nav a:nth-child(4){animation-delay:165ms}
.mobile-menu nav a{transition:color .25s,translate .3s var(--motion-ease)}
.mobile-menu nav a:hover{color:var(--accent);translate:6px 0}
.menu-close{transition:background .25s,border-color .25s,transform .25s}
.menu-close:hover{background:#ffffff0c;border-color:var(--accent)}
.menu-close:active{transform:scale(.95)}
.motion-document-hidden .marquee-track,.motion-document-hidden .hero::before{animation-play-state:paused}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes sending-light{from{background-position:0 50%}to{background-position:100% 50%}}
@media(hover:hover) and (pointer:fine){.story-photo,.live-photo{overflow:hidden;border-radius:30px}.story-photo img,.live-photo img{transition:filter .6s}.story-photo:hover img,.live-photo:hover img{filter:saturate(1) contrast(1.04)}}
@media(hover:none){.song-card:hover{transform:none}.song-cover:hover img{transform:none;filter:none}.song-cover::after{display:none}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .text-link:hover,.site-header .brand:hover .brand-signature,.mobile-menu nav a:hover{translate:none}
 .button:active:not(:disabled),.stream-link:hover img,.social-list a:hover span[aria-hidden]{transform:none}
}
