:root{--motion-fast:200ms;--motion-normal:300ms;--motion-reveal:560ms;--motion-ease:cubic-bezier(.22,1,.36,1)}

/* Unified interactive feedback */
a,button,input,select,textarea,summary{transition-duration:var(--motion-fast);transition-timing-function:var(--motion-ease)}
button,a[href],summary{cursor:pointer}
.btn,.header-cta,.nav-cta,.submit,.form-submit,.cookie-actions button{transition:color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)!important}
.btn:hover,.header-cta:hover,.nav-cta:hover,.submit:hover,.form-submit:hover,.cookie-actions button:hover{transform:translateY(-1px)!important;box-shadow:0 5px 14px rgba(23,74,104,.12)!important}
.btn:active,.header-cta:active,.nav-cta:active,.submit:active,.form-submit:active,.cookie-actions button:active{transform:translateY(0)!important;box-shadow:none!important}
.btn:disabled,.submit:disabled,.form-submit:disabled,.cookie-actions button:disabled{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:none!important}
.btn span,.nav-cta span,.text-link span,.final-cta a span{display:inline-block;transition:transform var(--motion-fast) var(--motion-ease)}
.btn:hover span,.nav-cta:hover span,.text-link:hover span,.final-cta a:hover span{transform:translateX(5px)}

/* Header and navigation */
header,.site-header{height:80px!important;background:rgba(255,255,255,.97)!important;border-bottom:1px solid rgba(16,24,40,.06)!important;box-shadow:none!important;backdrop-filter:blur(12px);transition:background-color var(--motion-normal) var(--motion-ease),border-color var(--motion-normal) var(--motion-ease),box-shadow var(--motion-normal) var(--motion-ease),backdrop-filter var(--motion-normal) var(--motion-ease)!important}
header.is-scrolled,.site-header.is-scrolled{background:rgba(255,255,255,.94)!important;border-bottom-color:#e5e7eb!important;box-shadow:0 1px 0 rgba(16,24,40,.04)!important;backdrop-filter:blur(12px)}
nav a{transition:color var(--motion-fast) var(--motion-ease)}
nav a:after{transition:transform var(--motion-fast) var(--motion-ease),right var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease)!important}
.site-breadcrumb{position:relative;z-index:10;background:#fff;border-bottom:1px solid #e5e7eb}.site-breadcrumb .container{min-height:48px;display:flex;align-items:center;gap:10px;overflow:hidden;white-space:nowrap}.site-breadcrumb a,.site-breadcrumb span{font-size:12px;line-height:1;color:#667085}.site-breadcrumb a{transition:color var(--motion-fast) var(--motion-ease)}.site-breadcrumb a:hover{color:#174a68}.site-breadcrumb span[aria-hidden="true"]{color:#d0d5dd}.site-breadcrumb span[aria-current="page"]{color:#344054;font-weight:600;overflow:hidden;text-overflow:ellipsis}.site-breadcrumb a:after{display:none!important}

/* Cards use one restrained lift language */
.card,.step,.stat,.product-card,.offer-grid article,.workflow article,.procurement-grid article,.industry-board a,.process-phase,.faq-list details{transition:transform var(--motion-normal) var(--motion-ease),border-color var(--motion-normal) var(--motion-ease),box-shadow var(--motion-normal) var(--motion-ease)!important}
@media(hover:hover) and (pointer:fine){.card:hover,.step:hover,.stat:hover,.product-card:hover,.offer-grid article:hover,.workflow article:hover,.procurement-grid article:hover,.industry-board a:hover,.process-phase:hover,.faq-list details:hover{transform:translateY(-4px)!important;border-color:rgba(23,74,104,.48)!important;box-shadow:0 12px 28px rgba(16,24,40,.07)!important}}

/* Zoom only imagery contained by interactive cards */
.product-card figure,.product-card .product-image,.industry-board a,.process-phase figure,.module-image{overflow:hidden}
.product-card img,.industry-board img,.process-phase figure img,.module-image img{transition:transform 450ms var(--motion-ease)!important}
@media(hover:hover) and (pointer:fine){.product-card:hover img,.industry-board a:hover img,.process-phase:hover figure img,.module-image:hover img{transform:scale(1.03)!important}}

/* Forms and FAQ */
.field input,.field select,.field textarea,input,select,textarea{transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease)}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{outline:0;border-color:#174a68!important;box-shadow:0 0 0 3px rgba(23,74,104,.09)!important}
.faq-list summary:after{transition:transform var(--motion-normal) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}
.faq-list details[open] summary:after{transform:rotate(180deg)}
.faq-list details p{animation:faq-in var(--motion-normal) var(--motion-ease) both}
@keyframes faq-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

/* Consistent, one-time viewport reveal. Content remains in document flow. */
.ui-reveal{opacity:0;transform:translateY(20px);transition:opacity var(--motion-reveal) var(--motion-ease),transform var(--motion-reveal) var(--motion-ease)}
.ui-reveal.ui-visible{opacity:1;transform:translateY(0)}
.ui-reveal[data-ui-delay="1"]{transition-delay:80ms}.ui-reveal[data-ui-delay="2"]{transition-delay:160ms}.ui-reveal[data-ui-delay="3"]{transition-delay:240ms}

.logo-track:hover{animation-play-state:paused}

@media(max-width:820px){.ui-reveal{transform:translateY(16px);transition-duration:420ms}.ui-reveal[data-ui-delay]{transition-delay:0ms}.btn,.header-cta,.nav-cta,.submit,.form-submit,button{min-height:44px}.logo-track:hover{animation-play-state:running}}
@media(max-width:900px){header,.site-header{height:72px!important}}
@media(max-width:600px){.site-breadcrumb .container{min-height:44px;gap:8px;padding-left:16px!important;padding-right:16px!important}.site-breadcrumb a,.site-breadcrumb span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0ms!important}.ui-reveal{opacity:1!important;transform:none!important}.product-card img,.patent-card img,.industry-board img,.process-phase figure img,.module-image img{transform:none!important}.logo-track{animation:none!important}}
