/* Motion follows the same restrained visual language as the page. */
.hero { position:relative; isolation:isolate; }
.hero::before { content:''; position:absolute; z-index:-1; pointer-events:none; top:120px; left:50%; width:min(1150px,120vw); height:610px; transform:translateX(-50%); background:radial-gradient(ellipse at 50% 64%,rgba(152,183,244,.085),transparent 66%); }
.hero-content { transform:translate3d(0,var(--hero-shift,0px),0); }
.hero h1.word-heading { animation:none; }
.hero-line { display:block; }
.word-mask { display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.16em; margin-bottom:-.16em; }
.hero-word { display:inline-block; animation:word-arrive 1.05s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(90ms + var(--word-index,0)*65ms); transform-origin:50% 100%; }
@keyframes word-arrive { from { transform:translate3d(0,105%,0) rotateX(-18deg); filter:blur(7px); opacity:0; } to { transform:none; filter:blur(0); opacity:1; } }
.nav-shell { position:relative; }
.nav-shell::after { content:''; position:absolute; pointer-events:none; bottom:0; left:16px; right:16px; height:1px; background:linear-gradient(90deg,transparent,#4f83df 15%,#769fea 85%,transparent); transform-origin:left; transform:scaleX(var(--reading-progress,0)); opacity:0; transition:opacity .3s; }
.scrolled .nav-shell::after { opacity:.55; }
.desktop-nav>a { position:relative; padding-block:12px; }
.desktop-nav>a::after { content:''; position:absolute; left:0; right:0; bottom:7px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .3s var(--ease); }
.desktop-nav>a:hover::after,.desktop-nav>a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.button-dark { position:relative; overflow:hidden; isolation:isolate; }
.button-dark::before { content:''; position:absolute; z-index:-1; pointer-events:none; inset:-1px; background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.13) 45%,transparent 65%); transform:translateX(-120%); transition:transform .7s var(--ease); }
.button-dark:hover::before,.button-dark:focus-visible::before { transform:translateX(120%); }
.button-dark:hover { transform:translateY(-2px); }
.button-dark:active { transform:translateY(0) scale(.97); }
.showcase-card::after { content:''; position:absolute; pointer-events:none; z-index:3; inset:0; border-radius:inherit; background:radial-gradient(260px circle at var(--light-x,50%) var(--light-y,35%),rgba(255,255,255,.55),transparent 75%); mix-blend-mode:soft-light; opacity:0; transition:opacity .4s; }
.showcase-card.is-active.is-hovered::after { opacity:.72; }
.showcase-card>.perspective-visual,.showcase-card>.clarity-visual,.showcase-card>.flow-visual { transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0); }
.showcase-card .card-top,.showcase-card h2 { transition:opacity .7s var(--ease); }
.service-card { position:relative; isolation:isolate; transform-style:preserve-3d; }
.service-card::before { content:''; position:absolute; z-index:-1; inset:0; border-radius:inherit; background:radial-gradient(350px circle at var(--light-x,50%) var(--light-y,0%),rgba(212,226,252,.65),transparent 74%); opacity:0; transition:opacity .4s; pointer-events:none; }
.service-card.is-hovered::before { opacity:1; }
.motion-ready .service-card.is-visible { transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px)); transition:opacity .75s var(--ease),box-shadow .4s,border-color .4s; }
.service-card.is-hovered { border-color:rgba(101,139,209,.22); box-shadow:0 20px 40px -20px #283f6b26; }
.motion-ready .section-heading .heading-line { display:block; overflow:hidden; padding-bottom:.11em; margin-bottom:-.11em; }
.motion-ready .section-heading .heading-line>span { display:block; transform:translateY(112%); transition:transform .95s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--line-index,0)*95ms); }
.motion-ready .section-heading.is-visible .heading-line>span { transform:none; }
.motion-ready .service-card .service-heading,.motion-ready .service-card h3,.motion-ready .service-card p,.motion-ready .service-card>a { opacity:0; transform:translateY(13px); transition:opacity .65s var(--ease),transform .65s var(--ease); }
.motion-ready .service-card.is-visible .service-heading,.motion-ready .service-card.is-visible h3,.motion-ready .service-card.is-visible p,.motion-ready .service-card.is-visible>a { opacity:1; transform:none; }
.service-card.is-visible h3 { transition-delay:65ms; }
.service-card.is-visible p { transition-delay:115ms; }
.service-card.is-visible>a { transition-delay:165ms; }
.process-panel { position:relative; overflow:hidden; }
.process-panel::after { content:''; pointer-events:none; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(transparent,#83a7ed,transparent); transform:translateY(var(--step-line-shift,-30%)); transition:transform .8s var(--ease); opacity:.65; }
.process-steps button[aria-selected=true] { box-shadow:0 3px 10px #09090b04; }
.process-steps button .step-number { transition:color .3s; }
.process-steps button[aria-selected=true] .step-number { color:#7194d3; }
.contact-atmosphere { transform:translate3d(0,var(--contact-shift,0px),0) scale(1.12); }
.flow-connector::after { top:-100%; animation:flow-pulse-transform 3.2s ease-in-out infinite; }
@keyframes flow-pulse-transform { from { transform:translateY(0); } to { transform:translateY(290%); } }
.showcase-card:not(.is-active) *::before,.showcase-card:not(.is-active) *::after,.showcase.is-visual-paused *::before,.showcase.is-visual-paused *::after { animation-play-state:paused!important; }
.customer-section { position:relative; padding:54px 0 22px; border-block:1px solid var(--line); }
.customer-heading { text-align:center; padding:0 24px 31px; }
.customer-heading .eyebrow { font-size:12px; color:#95959e; font-weight:400; margin-bottom:10px; }
.customer-heading h2 { font-size:20px; font-weight:450; letter-spacing:-.025em; }
.customer-marquee { position:relative; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.customer-track { display:flex; width:max-content; }
.customer-list { list-style:none; display:flex; flex-shrink:0; padding:0; margin:0; }
.customer-list li { width:236px; height:110px; padding:24px 26px; display:flex; align-items:center; justify-content:center; border-block:1px solid var(--line); border-right:1px solid var(--line); }
.customer-list img { max-width:100%; max-height:49px; width:auto; height:auto; object-fit:contain; filter:grayscale(1); opacity:.75; mix-blend-mode:multiply; transition:filter .3s,opacity .3s,transform .4s var(--ease); }
.customer-list li:hover img { filter:grayscale(1); opacity:1; transform:translateY(-2px); }
.customer-marquee.is-animated .customer-track { animation:client-drift var(--marquee-duration,32s) linear infinite; }
.customer-marquee:hover .customer-track,.customer-marquee:focus-within .customer-track,.customer-marquee.is-paused .customer-track { animation-play-state:paused; }
.customer-marquee.is-static { mask-image:none; }
.customer-marquee.is-static .customer-track { width:100%; justify-content:center; }
.customer-marquee.is-static .customer-list { width:100%; justify-content:center; flex-wrap:wrap; }
.customer-marquee.is-static .customer-list li { flex:1; min-width:160px; max-width:310px; }
.customer-pause { display:flex; align-items:center; gap:8px; margin:18px auto 0; padding:8px 10px; color:#90909a; background:transparent; font-size:12px; }
.customer-pause .pause-glyph { width:7px; height:8px; }
.customer-pause[aria-pressed=true] .pause-glyph { width:0;height:0;border:0;border-left:6px solid currentColor;border-block:4px solid transparent; }
.customer-section+.principles-strip { border-top:0; }
@keyframes client-drift { to { transform:translateX(calc(-1*var(--marquee-distance))); } }
@media(max-width:767px) {
  .hero::before { top:80px;height:460px; }
  .customer-section { padding-top:38px; }
  .customer-heading { padding-bottom:24px; }
  .customer-heading h2 { font-size:18px; }
  .customer-list li { width:155px;height:88px;padding:23px 25px; }
  .customer-list img { max-height:39px; }
  .process-panel::after { top:0;left:0;right:0;bottom:auto;width:100%;height:2px;background:linear-gradient(90deg,transparent,#83a7ed,transparent);transform:translateX(var(--step-line-shift,-30%)); }
}
@media(prefers-reduced-motion:reduce) {
  .hero-content,.contact-atmosphere { transform:none; }
  .hero-word,.motion-ready .section-heading .heading-line>span { transform:none!important;filter:none!important;opacity:1!important; }
  .motion-ready .service-card.is-visible { transform:none; }
  .motion-ready .service-card .service-heading,.motion-ready .service-card h3,.motion-ready .service-card p,.motion-ready .service-card>a { opacity:1;transform:none; }
  .customer-marquee { overflow-x:auto;mask-image:none; }
  .customer-marquee .customer-list[aria-hidden=true] { display:none; }
  .customer-pause { display:none; }
  .button-dark:hover { transform:none; }
}

.customer-list img.white-mark,.customer-list li:hover img.white-mark { filter:brightness(0); }
