/* Connected Safety Signal. Source of truth for motion in draft AND production.
 * Entrances use individual translate/scale; hover owns transform.
 * No hidden resting state: HTML remains readable without JavaScript.
 */
:root{--sf-motion-distance:20px;--sf-motion-duration:580ms;--sf-motion-fast:260ms;--sf-motion-emphasis:700ms;--sf-motion-ease:cubic-bezier(.22,1,.36,1);--sf-motion-inline:1}
[dir=rtl]{--sf-motion-inline:-1}
/* Targeted Clients: finite logo choreography; no continuous decorative loop. */
.sf-module-clients .sf-client-mark{position:relative;overflow:hidden;isolation:isolate;transition:transform 260ms ease,border-color 260ms ease,box-shadow 260ms ease}
.sf-module-clients .sf-client-mark::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(22,133,209,.12) 50%,transparent 75%);opacity:0}
@media(prefers-reduced-motion:no-preference){
 .sf-motion-ready .sf-module-clients .sf-client-mark.is-visible{animation:sf-client-arrive 620ms var(--sf-motion-ease) var(--sf-stagger,0ms) backwards}
 .sf-motion-ready .sf-module-clients .sf-client-mark.is-visible::after{animation:sf-client-sweep 1100ms ease var(--sf-stagger,0ms) both}
 .sf-module-clients .sf-client-mark img{transition:transform 400ms var(--sf-motion-ease)}
}
@keyframes sf-client-arrive{from{opacity:.5;translate:0 18px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes sf-client-sweep{0%{opacity:0;translate:calc(-100% * var(--sf-motion-inline)) 0}30%{opacity:1}100%{opacity:0;translate:calc(100% * var(--sf-motion-inline)) 0}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .sf-module-clients .sf-client-mark:hover{transform:translateY(-4px);border-color:#87bbdf;box-shadow:0 12px 26px rgba(5,39,70,.1)}
 .sf-module-clients .sf-client-mark:hover img{transform:scale(1.03)}
}
@media(max-width:680px){.sf-motion-ready .sf-module-clients .sf-client-mark.is-visible{animation-duration:500ms}}
@media(prefers-reduced-motion:reduce){.sf-module-clients .sf-client-mark,.sf-module-clients .sf-client-mark::after{animation:none!important;transition:none;translate:none;scale:none}}

.sf-reveal,.sf-reveal.is-visible{opacity:1;translate:none}
.sf-motion-ready .sf-enter{animation:sf-content-enter var(--sf-motion-duration) var(--sf-motion-ease) var(--sf-stagger,0ms) backwards}
@keyframes sf-content-enter{from{opacity:.35;translate:0 var(--sf-motion-distance)}to{opacity:1;translate:0 0}}
.sf-section-head::after{transform-origin:center;transition:scale var(--sf-motion-emphasis) var(--sf-motion-ease)}
.sf-motion-ready .sf-section-head.sf-enter::after{animation:sf-accent-enter var(--sf-motion-emphasis) var(--sf-motion-ease) backwards}
@keyframes sf-accent-enter{from{scale:.25 1}to{scale:1 1}}
.sf-card,.sf-home-product-card,.sf-product-detail,.sf-industry-tile,.sf-industry-card,.sf-leadership-card,.sf-home-updates-grid>article{
 transition:transform var(--sf-motion-fast) var(--sf-motion-ease),box-shadow var(--sf-motion-fast) ease,border-color var(--sf-motion-fast) ease}
.sf-button,.sf-text-link,.sf-nav a,.sf-footer a{transition:transform var(--sf-motion-fast) var(--sf-motion-ease),box-shadow var(--sf-motion-fast) ease,border-color var(--sf-motion-fast) ease,background-color var(--sf-motion-fast) ease,color var(--sf-motion-fast) ease}
.sf-text-link{display:inline-block}
.sf-client-rail{scrollbar-width:none}
.sf-client-rail::-webkit-scrollbar{display:none}
.sf-client-motion-toggle{display:block;margin:10px 0 0 auto;padding:7px 12px;border:1px solid #a9cbe4;border-radius:8px;background:#f5faff;color:#07548b;font:inherit;font-size:.8rem;cursor:pointer}
.sf-client-motion-toggle[hidden]{display:none}
.sf-client-motion-toggle:focus-visible{outline:3px solid #1685d1;outline-offset:3px}
.sf-card:focus-within,.sf-home-product-card:focus-within,.sf-product-detail:focus-within,.sf-industry-tile:focus-within,.sf-industry-card:focus-within,.sf-leadership-card:focus-within{border-color:#1685d1;box-shadow:0 0 0 3px rgba(22,133,209,.16),0 12px 32px rgba(5,39,70,.10)}
.sf-button:focus-visible,.sf-text-link:focus-visible,.sf-nav a:focus-visible,.sf-motion-toggle:focus-visible,.sf-client-rail:focus-visible,.sf-footer a:focus-visible{outline:3px solid #1685d1;outline-offset:5px}
.sf-button:focus-visible{box-shadow:0 8px 26px rgba(8,107,183,.22)}
.sf-home-product-card::before{background:linear-gradient(90deg,#096bb9,#43b6ee,#096bb9);background-size:200% 100%}
.sf-home-product-image::before{animation:none;transition:opacity .5s ease;opacity:.75}
.sf-product-photo img,.sf-home-product-image img,.sf-industry-image img,.sf-industry-card img,.sf-leadership-photo img,.sf-content-card-media img{
 transition:transform var(--sf-motion-emphasis) var(--sf-motion-ease)}
.sf-motion-ready .sf-home-product-card.sf-enter .sf-home-product-image img,
.sf-motion-ready .sf-product-detail.sf-enter .sf-product-photo img{animation:sf-device-enter var(--sf-motion-emphasis) var(--sf-motion-ease) var(--sf-stagger,0ms) backwards}
@keyframes sf-device-enter{from{scale:.975;opacity:.7}to{scale:1;opacity:1}}
.sf-home-product-image,.sf-product-photo{isolation:isolate}
.sf-product-detail-copy h2,.sf-home-product-copy h3{transition:color var(--sf-motion-fast) ease}
.sf-product-detail:focus-within h2,.sf-home-product-card:focus-within h3{color:#086bb6}
@media(hover:hover) and (pointer:fine){
 .sf-card:hover,.sf-home-product-card:hover,.sf-product-detail:hover,.sf-industry-tile:hover,.sf-industry-card:hover,.sf-leadership-card:hover,.sf-home-updates-grid>article:hover{transform:translateY(-4px);border-color:#91bfe0;box-shadow:0 16px 34px rgba(5,39,70,.12)}
 .sf-button:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(8,107,183,.22)}
 .sf-text-link:hover{transform:translateX(calc(3px * var(--sf-motion-inline)))}
 .sf-home-product-card:hover .sf-home-product-image img,.sf-product-detail:hover .sf-product-photo img,.sf-industry-tile:hover .sf-industry-image img,.sf-industry-card:hover img,.sf-leadership-card:hover img,.sf-content-card:hover .sf-content-card-media img{transform:scale(1.03)}
 .sf-home-product-card:hover::before{background-position:100% 0}
 .sf-home-product-card:hover .sf-home-product-image::before{opacity:1}
}
.sf-network{position:relative;isolation:isolate}
.sf-network::before{content:"";position:absolute;inset:-20px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 18%,rgba(36,148,224,.10),transparent 62%);transform:translateY(var(--sf-depth,0px))}
.sf-network-steps li{opacity:1;transform:none}
.sf-network-node{transition:border-color .3s ease,box-shadow .4s ease,background-color .4s ease}
.sf-network-icon{transition:transform .4s var(--sf-motion-ease),color .3s ease}
.sf-network-steps h3{transition:color .3s ease}
.sf-network-steps li.is-passed .sf-network-node{border-color:#88bbdc;background:#eff8ff;box-shadow:0 5px 18px rgba(8,107,183,.08)}
.sf-network-steps li.is-current .sf-network-node{border-color:#087cc4;box-shadow:0 0 0 5px rgba(11,130,209,.09),0 10px 28px rgba(7,104,184,.16)}
.sf-network-steps li.is-current .sf-network-icon{transform:scale(1.035);color:#0265ab}
.sf-network-steps li.is-current h3{color:#0568ad}
.sf-network-steps li:not(:last-child)::after{top:42px;inset-inline-start:calc(50% + 46px);width:calc(100% - 70px);height:2px;border-radius:2px;margin:0;box-shadow:0 0 8px rgba(11,130,209,.18);background:#1685d1;animation:none;transform:scaleX(var(--sf-edge-progress,1));transform-origin:left center}
[dir=rtl] .sf-network-steps li:not(:last-child)::after{transform-origin:right center}
.sf-motion-toggle[hidden]{display:none}
.sf-motion-toggle{transition:background-color .2s ease,border-color .2s ease}
.sf-motion-toggle:hover,.sf-motion-toggle[aria-pressed=true]{background:#eaf4fd;border-color:#1685d1}
/* Secondary processes share the signal language, without moving their text. */
.sf-steps{gap:12px}
.sf-step{border-radius:10px;transition:border-color .3s ease,box-shadow .3s ease}
.sf-step::before{content:"";position:absolute;inset-inline:14px;top:0;height:3px;border-radius:4px;background:#1685d1;transform:scaleX(var(--sf-edge-progress,1));transform-origin:left center}
[dir=rtl] .sf-step::before{transform-origin:right center}
.sf-step:not(:last-child)::after{content:none}
.sf-step.is-current{border-color:#1685d1;box-shadow:0 5px 22px rgba(11,111,211,.12)}
.sf-step.is-passed{border-color:#98c5e5}
.sf-section-timeline .sf-steps{max-width:850px;margin-inline:auto;grid-template-columns:1fr;gap:18px;padding-inline-start:30px}
.sf-section-timeline .sf-step{text-align:start;padding:24px}
.sf-section-timeline .sf-step::before{inset-inline-start:-22px;inset-inline-end:auto;top:0;width:3px;height:calc(100% + 18px);transform:scaleY(var(--sf-edge-progress,1));transform-origin:center top}
.sf-section-timeline .sf-step:last-child::before{height:100%}
.sf-section-timeline .sf-step::after{content:"";position:absolute;inset-inline-start:-27px;inset-inline-end:auto;top:26px;bottom:auto;width:13px;height:13px;transform:none;background:#c0ddf0;border:3px solid #f7fbff;border-radius:50%;box-shadow:0 0 0 1px #98c5e5}
.sf-section-timeline .sf-step.is-current::after,.sf-section-timeline .sf-step.is-passed::after{background:#087cc4}
.sf-header{transition:box-shadow .25s ease}
.sf-header.sf-header-scrolled{box-shadow:0 5px 24px rgba(4,35,65,.10)}
/* Existing ambient accents become a single, finite illumination. Core hero stays immediate. */
.sf-home-feature-panel .sf-home-feature,.sf-home-feature-panel .sf-home-feature::after,.sf-home-feature-panel .sf-feature-icon{animation-duration:3200ms;animation-iteration-count:1;animation-delay:0ms}
.sf-header .sf-nav a.is-active::before,.sf-header .sf-nav a[aria-current="page"]::before{animation-duration:2600ms;animation-iteration-count:1}
.sf-hero-motion-toggle{position:absolute;z-index:4;inset-inline-end:24px;bottom:18px;padding:8px 13px;border:1px solid rgba(255,255,255,.6);border-radius:8px;background:rgba(3,25,48,.85);color:#fff;font:inherit;font-size:.8rem;cursor:pointer}
.sf-hero-motion-toggle[hidden]{display:none}
.sf-hero-motion-toggle:focus-visible{outline:3px solid #70ccff;outline-offset:4px}
@media(max-width:900px){.sf-hero-motion-toggle{inset-inline-end:16px;bottom:12px}}
@media(max-width:1240px) and (prefers-reduced-motion:no-preference){.sf-nav.is-open{animation:sf-menu-enter 220ms var(--sf-motion-ease) backwards}}
@keyframes sf-menu-enter{from{opacity:.5;translate:0 -6px}to{opacity:1;translate:0 0}}
.sf-footer a:hover,.sf-footer a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.sf-table tbody tr{transition:background-color .2s ease}
.sf-table tbody tr:hover,.sf-table tbody tr:focus-within{background:#eef7fd}
.sf-leadership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sf-leadership-card{position:relative;overflow:hidden;padding:clamp(26px,3vw,40px);border:1px solid #d8e6f1;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#f5faff 100%);box-shadow:0 12px 34px rgba(5,39,70,.07)}
.sf-leadership-card::before{content:"";position:absolute;inset-inline-start:0;top:0;width:4px;height:100%;background:linear-gradient(#0781cf,#0d9a82)}
.sf-leadership-profile{display:flex;align-items:center;gap:20px;margin-bottom:22px}.sf-leadership-photo{width:112px;aspect-ratio:4/5;flex:0 0 auto;overflow:hidden;border-radius:16px;border:3px solid #fff;box-shadow:0 10px 28px rgba(5,39,70,.16);background:#eaf3f9}.sf-leadership-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.sf-leadership-heading{min-width:0}.sf-leadership-heading h3{margin:12px 0 5px;color:#072b52;font-size:clamp(1.45rem,2.5vw,2rem)}
.sf-leadership-role{margin:0;color:#1270b8;font-weight:750}
.sf-leadership-card blockquote{margin:24px 0;padding:18px 20px;border-inline-start:3px solid #1685d1;background:rgba(226,242,253,.65);color:#123f61;font-size:1.04rem;font-weight:680;line-height:1.7}
.sf-leadership-copy{color:#4d6478;line-height:1.78}
.sf-leadership-copy p{margin:0 0 15px}
.sf-leadership-close{display:block;margin-top:22px;color:#083d66;line-height:1.55}
.sf-leadership-motto{display:block;margin-top:8px;color:#08745f;font-size:.88rem;font-weight:750;letter-spacing:.025em}
[dir=rtl] .sf-leadership-card{text-align:right}

@media(max-width:900px){
 :root{--sf-motion-distance:14px;--sf-motion-duration:500ms;--sf-motion-emphasis:560ms}
 .sf-leadership-grid{grid-template-columns:1fr}
 .sf-network::before{transform:none}
 .sf-network-steps li:not(:last-child)::before,.sf-network-steps li:not(:last-child)::after{top:75px;inset-inline-start:34px;width:2px;height:calc(100% - 51px)}
 .sf-network-steps li:not(:last-child)::after,[dir=rtl] .sf-network-steps li:not(:last-child)::after{transform:scaleY(var(--sf-edge-progress,1));transform-origin:center top}
 .sf-network-steps li.is-current .sf-network-icon{transform:none}
}
@media(max-width:680px){
 .sf-leadership-card{padding:24px}.sf-leadership-profile{gap:15px;align-items:flex-start}.sf-leadership-photo{width:88px;border-radius:13px}.sf-leadership-heading h3{font-size:1.3rem}
 .sf-card:hover,.sf-product-detail:hover,.sf-home-product-card:hover,.sf-industry-tile:hover,.sf-industry-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .sf-reveal,.sf-motion-ready .sf-enter{animation:none!important;opacity:1;translate:none;scale:none}
 .sf-card,.sf-product-detail,.sf-home-product-card,.sf-industry-tile,.sf-industry-card,.sf-button,.sf-text-link,.sf-leadership-card,.sf-home-updates-grid>article,.sf-network-icon{transform:none!important;transition:none!important}
 .sf-product-photo img,.sf-home-product-image img,.sf-industry-image img,.sf-industry-card img,.sf-leadership-photo img,.sf-content-card-media img{transform:none!important;scale:none;animation:none!important;transition:none!important}
 .sf-network::before{transform:none}
 .sf-network-steps li:not(:last-child)::after,.sf-step::before{transform:none!important}
 .sf-motion-toggle{display:none}
}
