/* CP9: never hide informational content or replace structural transforms. */
:root {--b2b-motion-css:1}
.motion-count-final {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.motion-count-value {white-space:nowrap}
.editorial-card-media {overflow:hidden}
.client-logos.is-motion-tiled > .client-logos-original {clip-path:inset(50%)}
.motion-logo-tile {position:absolute;left:calc(var(--column) * 100% / 3);top:calc(var(--row) * 25%);width:calc(100% / 3);height:25%;overflow:hidden;pointer-events:none}
.motion-logo-tile .motion-logo-vector {position:absolute;left:calc(var(--column) * -100%);top:calc(var(--row) * -100%);width:300%;height:400%;max-width:none}
/* Only offscreen, explicitly armed enhancements wait for their cue. This avoids a
   full-opacity flash immediately before the fade. Static/no-JS/reduced/print paths
   never match; cancellation removes the armed state and restores the full content. */
@media screen and (prefers-reduced-motion:no-preference) {
  html[data-motion="ready"] [data-motion-state="armed"][data-motion="hero"],
  html[data-motion="ready"] [data-motion-state="armed"][data-motion="heroTitle"] > * {opacity:0}
  html[data-motion="ready"] [data-motion-state="armed"]:is([data-motion="text"],[data-motion="image"],[data-motion="card"]) {opacity:0}
  html[data-motion="ready"] [data-motion-state="armed"][data-motion="team"] {opacity:0}
  html[data-motion="ready"] [data-motion-state="armed"][data-motion="solution"] > :is(h3,p),
  html[data-motion="ready"] [data-motion-state="armed"][data-motion="contact"] {opacity:0}
  html[data-motion="ready"] [data-motion-state="armed"][data-motion="logo"] > :is(.motion-logo-tile,.client-weber),
  html[data-motion="ready"] [data-motion-state="armed"][data-motion="closing"] {opacity:0}
  html[data-motion="ready"] [data-motion-state="armed"][data-motion="typing"] {clip-path:inset(-4px 100% -4px -4px)}
}
@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine) {
  .text-link .arrow-icon, .contact-value .arrow-icon, .career-address .arrow-icon {transition:translate 180ms cubic-bezier(.2,.7,.2,1)}
  .text-link:is(:hover,:focus-visible) .arrow-icon,
  .contact-email:is(:hover,:focus-visible) .arrow-icon,
  .contact-career:is(:hover,:focus-visible) .arrow-icon {translate:2px -2px}
  .post-media:focus-visible img {transform:scale(1.025)}
  .editorial-read:focus-visible .editorial-arrow,.editorial-button:focus-visible .editorial-arrow {transform:translate(2px,-2px)}
}
.site-nav a:focus-visible::after {transform:scaleX(1);transform-origin:left}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {transition-duration:.01ms!important}
  .post-media:is(:hover,:focus-visible) img {transform:none}
  .editorial-read:is(:hover,:focus-visible) .editorial-arrow,.editorial-button:is(:hover,:focus-visible) .editorial-arrow {transform:none}
  [data-motion] {translate:none!important;scale:none!important}
}
@media print {
  [data-motion] {translate:none!important;scale:none!important}
  .motion-count-value {display:none}
  .motion-count-final {position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip-path:none!important}
}
