/* Motion is progressive enhancement: the full page remains usable without JS. */
header{transition:box-shadow .3s,background .3s}
body.has-scrolled header{box-shadow:0 8px 30px #071c3712;background:#fffffff5}
.hero-visual>img{animation:none;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.16)}
.visual-label{translate:0 var(--label-y,0px)}
.company-photo{background-position:100% calc(34% + var(--company-y,0px))}
.motion-enter{opacity:1}
.motion-enabled .motion-enter{opacity:0;transform:translateY(28px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.motion-enabled .motion-enter.is-revealed{opacity:1;transform:none}
.motion-enabled .motion-enter:focus-within{opacity:1;transform:none}
.button,.product-button,.filter-list button,.showcase-tab,.dialog-close{transition:transform .2s,box-shadow .2s,background .2s,border-color .2s}
.button:active,.product-button:active,.filter-list button:active,.showcase-tab:active,.dialog-close:active{transform:scale(.97)}
.button svg,.text-link svg,.product-button svg{transition:transform .25s}
.button:hover svg,.button:focus-visible svg,.text-link:hover svg,.product-button:hover svg{transform:translate(3px,-2px)}
input,select,textarea{transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:#0786a0;box-shadow:0 0 0 4px #008ba010}
.steps li{position:relative;transition:background .4s,border-color .4s,box-shadow .4s}
.steps li.step-current{border-color:#46d7e580;background:#ffffff06;box-shadow:inset 3px 0 #46d7e5}
.steps .number{transition:color .3s,transform .3s}
.steps li.step-current .number{color:white;transform:scale(1.15)}
.journey-progress{height:3px;background:#29415b;max-width:300px;margin-top:30px;border-radius:3px;overflow:hidden}
.journey-progress:before{content:'';display:block;height:100%;background:#46d7e5;transform:scaleX(var(--journey-progress,0));transform-origin:left}
dialog[open]{animation:dialog-arrive .22s ease-out}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(min-width:901px) and (min-height:650px){
 .approach-grid{align-items:start}
 .approach-copy.sticky-fits{position:sticky;top:140px}
 .approach .steps{padding-bottom:9vh}
 .approach .steps li{min-height:42vh;padding:48px 24px;align-content:center}
 .approach .steps li:first-child{padding-top:48px}
 .company-grid{align-items:start}
 .company-photo.sticky-fits{position:sticky;top:130px}
 .company-copy{padding-block:42px}
 .software-section .catalog-toolbar.sticky-fits{position:sticky;top:89px;z-index:15;padding:16px 20px;background:#f6f8fcf5;backdrop-filter:blur(14px);border:1px solid #d9e4ed;border-radius:10px;box-shadow:0 8px 22px #071c3708}
 .product-card{scroll-margin-top:190px}
}
@media(hover:hover) and (pointer:fine){
 .product-card{position:relative}
 .product-card:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:radial-gradient(350px circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff30,transparent 70%);opacity:0;transition:opacity .25s}
 .product-card:hover:before{opacity:1}
}
@media(max-width:900px){
 .hero-visual>img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.09)}
 .steps li{padding-inline:16px}
 .journey-progress{display:none}
}
@media(prefers-reduced-motion:reduce){
 .hero-visual>img{transform:none!important}.visual-label{translate:none!important}
 .company-photo{background-position:100% 34%!important}
 .motion-enabled .motion-enter{opacity:1!important;transform:none!important}
 .product-card{rotate:none!important;transform:none!important}
 .approach-copy.sticky-fits,.company-photo.sticky-fits{position:static}
 dialog[open]{animation:none}
}
@media print{.motion-enter{opacity:1!important;transform:none!important}.journey-progress{display:none}}
