/* Sadir motion — original implementation inspired by editorial studio references. */
.reveal,.reveal.in{opacity:1;transform:none;transition:none}
.hero-copy{position:relative;transform:translate3d(0,var(--hero-shift,0px),0);opacity:var(--hero-opacity,1)}
.curtain{animation:none;transform:translate3d(0,var(--curtain-shift,0px),0) scale(1.035)}
.hero h1{transform-origin:80% 70%}
header nav a,.contact-links a,.round-link{position:relative}
header nav a::after,.contact-links a::after,.round-link::after{content:'';position:absolute;bottom:0;right:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.22,1,.36,1)}
header nav a:hover::after,header nav a:focus-visible::after,.contact-links a:hover::after,.contact-links a:focus-visible::after,.round-link:hover::after,.round-link:focus-visible::after{transform:scaleX(1)}
.project .picture{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s cubic-bezier(.22,1,.36,1),box-shadow .65s}
.project:hover .picture{box-shadow:0 20px 42px -24px #183b2b55}
.project .picture img{transition:transform 1s cubic-bezier(.22,1,.36,1)}
.project:hover .picture img{transform:scale(1.035)}
.watch{position:relative;display:inline-block;transition:opacity .3s}
.project:focus-visible,.social-entry:focus-visible{outline:2px solid #526b49;outline-offset:8px}
dialog[open]{animation:sadir-dialog-in .42s cubic-bezier(.22,1,.36,1)}
dialog[open]::backdrop{animation:sadir-backdrop-in .3s ease-out}
@keyframes sadir-dialog-in{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sadir-backdrop-in{from{opacity:0}to{opacity:1}}
@media(pointer:coarse){.project .picture{transform:none!important}.project:hover .picture img{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.curtain{transform:none!important;opacity:1!important}.curtain,dialog[open],dialog[open]::backdrop{animation:none!important}.project .picture,.project .picture img,header nav a::after,.contact-links a::after,.round-link::after{transition:none!important;transform:none!important}}
