/* Movement stays inside the image panel, without changing the page width. */
.dm-scene{overflow:hidden}
.dm-scene-photo{transform-origin:65% 45%;transition:transform 850ms cubic-bezier(.2,.65,.25,1),filter 600ms ease}
.dm-scene-copy h1,.dm-scene-copy h2,.dm-scene-logo{transition:transform 450ms ease}
.dm-btn{position:relative;isolation:isolate;overflow:hidden;transition:transform 220ms ease,box-shadow 220ms ease,filter 220ms ease}
.dm-btn::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#ffffff45 48%,transparent 70%);transform:translateX(-130%)}
.dm-btn>span[aria-hidden="true"]{display:inline-block;transition:transform 220ms ease}
@keyframes dm-button-shine{from{transform:translateX(-130%)}to{transform:translateX(130%)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .dm-scene:hover .dm-scene-photo{transform:scale(1.018);filter:saturate(1.06) brightness(1.04)}
 .dm-scene:hover .dm-scene-copy h1,.dm-scene:hover .dm-scene-copy h2,.dm-scene:hover .dm-scene-logo{transform:translateY(-4px)}
 .dm-btn:hover{transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 12px 28px #0005,0 0 20px color-mix(in srgb,var(--brand-primary,#d71920) 30%,transparent)}
 .dm-btn:hover::after{animation:dm-button-shine 650ms ease-out both}
 .dm-btn:hover>span[aria-hidden="true"]{transform:translateX(4px)}
}
@media(prefers-reduced-motion:no-preference){
 .dm-btn:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px #0005}
 .dm-btn:focus-visible::after{animation:dm-button-shine 650ms ease-out both}
 .dm-btn:active{transform:translateY(1px) scale(.98);transition-duration:90ms}
}
@media(prefers-reduced-motion:reduce){
 .dm-scene-photo,.dm-scene-copy h1,.dm-scene-copy h2,.dm-scene-logo,.dm-btn,.dm-btn>span[aria-hidden="true"]{transition:none!important;transform:none!important}
 .dm-btn::after{display:none;animation:none!important}
}
