/* Quiet motion: lightweight transforms, no scroll hijacking. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:2px;background:#295ce5;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.product-stage{perspective:1400px}.workspace{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s var(--motion-ease);will-change:auto}
.button{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,transform .5s var(--motion-ease),box-shadow .5s var(--motion-ease)}
.button:after{content:'';position:absolute;inset:-70% -35%;background:linear-gradient(110deg,transparent 35%,#ffffff30 49%,transparent 63%);transform:translateX(-110%);pointer-events:none;z-index:-1;transition:transform .8s var(--motion-ease)}
.button:hover:after,.button:focus-visible:after{transform:translateX(110%)}.button:hover{box-shadow:0 10px 25px #295ce526}
.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--motion-ease)}.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}
.case-card{transition:transform .6s var(--motion-ease),box-shadow .6s var(--motion-ease),border-color .4s}.case-card:hover{transform:translateY(-6px);border-color:#b7cafa;box-shadow:0 20px 40px #3d5c8e12}.case-read>span:last-child,.contact-number b{display:inline-block;transition:transform .45s var(--motion-ease)}.case-read:hover>span:last-child,.case-read:focus-visible>span:last-child,.contact-number>a:hover b{transform:translate(3px,-3px)}
.module-tabs button,.solution-tabs button{transition:background .35s,color .35s,box-shadow .35s}.partner-name{transition:color .35s}.partner-name:hover{color:#295ce5}
.contact:before{animation:yezo-orbit 16s ease-in-out infinite alternate;animation-play-state:paused}.contact.motion-in-view:before{animation-play-state:running}
@keyframes yezo-orbit{to{transform:translate(-24px,20px) scale(1.04)}}
@media(hover:hover) and (pointer:fine){.product-stage.motion-in-view .stage-glow{animation:yezo-breathe 9s ease-in-out infinite}.workspace.motion-rest{transition:transform 1s var(--motion-ease)}}
@keyframes yezo-breathe{50%{transform:scale(1.07);opacity:.65}}
@media(prefers-reduced-motion:reduce){.workspace{transform:none!important}.reading-progress{display:none}.contact:before,.stage-glow{animation:none!important}html{scroll-behavior:auto}}
