/* B05 additive motion layer. No external resources. Content is visible by default. */
.sb-motion-scene .visual-stage{isolation:isolate}
.sb-motion-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.sb-motion-scene .visual-node,.sb-motion-scene .visual-hub{z-index:2}
.sb-motion-scene .orbit,.sb-motion-scene .axis{z-index:0;opacity:.3}
.sb-motion-scene .visual-hub{box-shadow:0 0 0 7px #ffffffa6,0 12px 40px #5b36f424;border-color:#b8a6f6}
.sb-motion-scene .visual-node{background:#fffffff2;border-color:#d6cdf5}
.sb-motion-scene .visual-caption{display:none}
.sb-motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin-left:auto;min-height:36px;padding:0 10px;border:1px solid #d6cef0;border-radius:7px;background:#ffffffd9;font:inherit;font-size:10px;line-height:1.2;color:#4c3b83;white-space:nowrap;cursor:pointer}
.sb-motion-toggle::before{content:"Ⅱ";font-size:10px;color:#5b36f4;font-weight:700}
.sb-motion-toggle[aria-pressed=true]::before{content:"▶";font-size:8px}
.sb-motion-toggle:disabled{cursor:default;color:#62647c;background:#f5f4fa}
.sb-motion-toggle:disabled::before{content:"—";color:#62647c}
.sb-motion-toggle:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.sb-motion-scene .visual-heading{min-height:54px}
.sb-motion-controls-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sb-motion-ready .service-card{position:relative;isolation:isolate;overflow:hidden;transition:transform 260ms cubic-bezier(.2,.7,.2,1),border-color 220ms ease,box-shadow 260ms ease}
.sb-motion-ready .service-card>*{position:relative;z-index:1}
.sb-motion-ready .service-card::before{content:"";pointer-events:none;position:absolute;z-index:0;left:-120px;top:-120px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,#7451fa1c,transparent 70%);transform:translate3d(var(--sb-pointer-x,0px),var(--sb-pointer-y,0px),0);opacity:0;transition:opacity 200ms ease}
.sb-motion-ready .service-card::after{content:"";pointer-events:none;position:absolute;z-index:1;inset:0 25% auto;height:2px;background:linear-gradient(90deg,transparent,#5b36f4,#19bef1,transparent);opacity:0;transform:scaleX(.4);transition:transform 260ms ease,opacity 260ms ease}
.sb-motion-ready .service-card:focus-within{border-color:#9b83ed;box-shadow:0 9px 28px #5b36f412}
.sb-motion-ready .service-card:focus-within::after{transform:scaleX(1);opacity:1}
.sb-motion-ready .card-bottom a .icon{transition:transform 220ms ease}
.sb-motion-ready .card-bottom a:hover .icon,.sb-motion-ready .card-bottom a:focus-visible .icon{transform:translateX(3px)}
@media(hover:hover) and (pointer:fine){
  html.sb-motion-ready:not(.sb-motion-paused):not(.sb-motion-reduced) .service-card:hover{transform:translateY(-5px);border-color:#bba9f8;box-shadow:0 16px 40px #5b36f410}
  html.sb-motion-ready:not(.sb-motion-paused):not(.sb-motion-reduced) .service-card:hover::before{opacity:1}
  html.sb-motion-ready:not(.sb-motion-paused):not(.sb-motion-reduced) .service-card:hover::after{opacity:1;transform:scaleX(1)}
}
/* No hiding reveals, no required text is placed on the canvas. */
html.sb-motion-paused .service-card,html.sb-motion-reduced .service-card{transform:none!important}
html.sb-motion-paused .service-card::before,html.sb-motion-reduced .service-card::before{opacity:0!important}
html.sb-motion-paused .service-card::after,html.sb-motion-reduced .service-card::after{transition:none!important;transform:none!important}
html.sb-motion-paused .card-bottom .icon,html.sb-motion-reduced .card-bottom .icon{transform:none!important;transition:none!important}
html.sb-motion-paused{scroll-behavior:auto}
@media(max-width:599px){
  .sb-motion-toggle{min-height:44px;font-size:10px;padding:0 9px}
  .sb-motion-scene .visual-heading{min-height:54px}
  .sb-motion-canvas{opacity:.82}
  /* If motion JS or all JS fails, the existing mobile navigation remains reachable. */
  html:not(.sb-motion-ready) .nav-row{height:auto;min-height:69px;flex-wrap:wrap;padding-top:16px;padding-bottom:12px;gap:12px}
  html:not(.sb-motion-ready) .menu-toggle{display:none}
  html:not(.sb-motion-ready) .main-nav{display:flex!important;position:static;flex-direction:row;flex-wrap:wrap;gap:1px;width:100%;padding:0;border:0;box-shadow:none;font-size:12px}
  html:not(.sb-motion-ready) .main-nav a{padding:7px;min-height:40px}
  html:not(.sb-motion-ready) .main-nav .mobile-product{display:inline-flex;margin:0;padding:7px;border:0;gap:5px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .sb-motion-ready .service-card, .sb-motion-ready .service-card::before, .sb-motion-ready .service-card::after,.sb-motion-ready .card-bottom .icon{animation:none!important;transition:none!important;transform:none!important}
  .sb-motion-ready .service-card::before{opacity:0!important}
}
