/* Motion shares the site's lime accent; interactions never gate content. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1);--reading-progress:0}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:#659f14;transform:scaleX(var(--reading-progress));transform-origin:left;z-index:1000;pointer-events:none}
header{transition:box-shadow .3s ease,background-color .3s ease}
.page-scrolled header{box-shadow:0 6px 25px #18240b0c}
a,button,summary,input,textarea,select{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .25s ease,translate .3s var(--motion-ease)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #568800;outline-offset:5px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #568800;outline-offset:2px;box-shadow:0 0 0 5px #c7ff6133}
.motion-card{--pointer-x:50%;--pointer-y:50%;transition:translate .35s var(--motion-ease),box-shadow .35s ease,border-color .25s ease,background-color .25s ease}
.motion-surface{--wash-position:0%;background-image:radial-gradient(ellipse at var(--wash-position) 20%,#c7ff612b,transparent 65%);background-repeat:no-repeat}
.ai-directory-feature.motion-surface{background-image:linear-gradient(115deg,#c7ff61,#defda0,#baf578,#c7ff61);background-size:220% 220%;background-position:var(--wash-position) 50%}
.ai-workflow.motion-surface{background-image:radial-gradient(ellipse at var(--wash-position) 5%,#c7ff611f,transparent 65%)}
.interface-case img,.portfolio-preview,.digital-twin-feature img,.case-figure img{transition:filter .45s ease,scale .6s var(--motion-ease);transform-origin:center}
.interface-case,.portfolio-card{overflow:hidden}
.motion-enter{animation:oomi-arrive .65s var(--motion-ease) both}
@keyframes oomi-arrive{from{opacity:.55;translate:0 18px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .motion-card:hover{translate:0 -4px;box-shadow:0 12px 30px #20330912;border-color:#8ab747}
 .motion-card.pointer-active{background-image:radial-gradient(360px circle at var(--pointer-x) var(--pointer-y),#c7ff6136,transparent 75%)}
 .interface-case:hover img,.portfolio-card:hover .portfolio-preview{scale:1.025;filter:saturate(1.08)}
 .digital-twin-feature figure:hover img,.case-figure:hover img{filter:saturate(1.08);scale:1.012}
 .button:hover,.nav-cta:hover,button:not(:disabled):hover{translate:0 -2px;box-shadow:0 7px 18px #16230520}
 .button:active,button:not(:disabled):active{translate:0 0;box-shadow:none}
 .text-link:hover,.ai-existing a:hover,.footer-contact a:hover{color:#4c760b;translate:3px 0}
 header nav a:hover{color:#4c760b}
 .logo img{transition:rotate .35s var(--motion-ease)}.logo:hover img{rotate:-9deg}
 summary:hover{color:#4c760b;background-color:#c7ff611c}
 .ai-inputs span,.hero-strip span,.eyebrow,.svc-kicker{transition:color .25s ease,translate .3s var(--motion-ease)}
 .ai-inputs span:hover,.hero-strip span:hover{translate:0 -2px;color:#659d13}
 .motion-card .svc-icon{transition:rotate .35s var(--motion-ease)}.motion-card:hover .svc-icon{rotate:-6deg}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .motion-enter{opacity:1;translate:none}.motion-card:hover{translate:none}.reading-progress{display:none}
}
@media print{.reading-progress{display:none}.motion-enter{animation:none;opacity:1;translate:none}}
