/* Reveals, depth, and light follow browsing while keeping native scrolling. */
.reveal{transition:opacity .85s var(--ease) var(--reveal-delay,0ms),transform .85s var(--ease) var(--reveal-delay,0ms);}
.proj-card.reveal:not(.in){opacity:0;transform:translateY(54px) rotate(.6deg);}
.svc-card.reveal:not(.in){opacity:0;transform:translateY(36px);}
.proj-card.reveal.in,.svc-card.reveal.in{opacity:1;transform:none;}
.project-open{perspective:1000px;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .3s ease-out;}
.project-open .proj-media{overflow:visible;}
.project-open img,.proj-card:focus-within .project-open img{transform:translateY(var(--scroll-drift,0px));transition:transform .18s ease-out,filter .4s ease;}
.proj-body{position:relative;}
.proj-body h3{transition:color .3s ease;}
.proj-card:hover h3{color:var(--signal);}
.svc-card{position:relative;isolation:isolate;overflow:visible;}
.svc-card::before{content:"";position:absolute;inset:-12px;z-index:-1;pointer-events:none;border-radius:16px;background:radial-gradient(240px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(162,196,184,.12),transparent 75%);opacity:var(--spot-opacity,0);transition:opacity .35s ease;}
.svc-cta{position:relative;padding-bottom:5px;}
.svc-cta::after{content:"";position:absolute;bottom:0;inset-inline-start:0;width:100%;height:1px;background:var(--copper);transform:scaleX(.15);transform-origin:center;transition:transform .4s var(--ease);}
.svc-card:hover .svc-cta::after,.svc-card:focus-within .svc-cta::after{transform:scaleX(1);}
.scroll-progress{position:fixed;top:0;inset-inline:0;height:2px;z-index:250;pointer-events:none;background:linear-gradient(90deg,var(--copper),var(--signal));transform:scaleX(var(--progress,0));transform-origin:left;}
html[dir="rtl"] .scroll-progress{transform-origin:right;}
@media(prefers-reduced-motion:reduce){
 .reveal,.proj-card.reveal:not(.in),.svc-card.reveal:not(.in){opacity:1!important;transform:none!important;transition:none!important;}
 .project-open,.project-open img,.proj-card:focus-within .project-open img{transform:none!important;transition:none!important;}
 .svc-card::before,.scroll-progress{display:none;}.svc-cta::after{transition:none;}
}
