/* AifaLabs motion language: rose ink, layered paper, gentle magnetic pull. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-ink:#a34765}
.motion-title{perspective:700px}
.motion-word{display:inline-block;transform-origin:50% 100%;transition:translate .85s var(--motion-ease),opacity .7s ease;transition-delay:calc(var(--word-index,0)*22ms)}
.motion-active .motion-title:not(.motion-arrived) .motion-word{translate:0 .22em;opacity:.55}
.motion-game-title{transition:translate .8s var(--motion-ease),opacity .8s ease}
.motion-active .motion-game-title:not(.motion-arrived){translate:0 9px;opacity:.7}
.motion-annotation{position:relative;text-decoration:none;isolation:isolate}
h2.motion-annotation{width:fit-content;max-width:100%}
.motion-annotation>svg{position:absolute;left:-2%;bottom:-.15em;width:104%;height:.22em;overflow:visible;pointer-events:none;color:var(--motion-ink);z-index:-1}
.motion-annotation path{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--motion-ease)}
.motion-active .motion-annotation:not(.motion-arrived) path{stroke-dashoffset:1}
.motion-quiet .motion-annotation>svg{height:5px;bottom:-6px;width:64px;left:0;color:#8b687b}
.motion-layer-scene{position:relative;isolation:isolate}
.motion-layer-orbit{position:absolute;inset:8%;border:1px solid #a8667b45;border-radius:50%;pointer-events:none;z-index:-1;rotate:-22deg}
.motion-layer-orbit::after{content:'';position:absolute;right:5%;top:18%;width:11px;height:20px;border-radius:90% 10% 85% 15%;background:linear-gradient(125deg,#cfb4dd,#e5bb70);box-shadow:0 3px 10px #ac7f9140}
.motion-layer-orbit.motion-orbit-back{inset:18% -5%;rotate:28deg;border-color:#bd9c5740}
.motion-active .motion-layer{translate:0 var(--layer-y,0px);will-change:translate}
.motion-magnet{position:relative;isolation:isolate}
.motion-active .motion-magnet{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .35s var(--motion-ease),box-shadow .35s ease,background .3s ease}
.motion-magnet::after{content:'';position:absolute;inset:-5px;border:1px solid #b9708b;border-radius:inherit;opacity:0;scale:.96;transition:opacity .3s,scale .4s var(--motion-ease);pointer-events:none}
.motion-active .motion-magnet.motion-hover::after,.motion-magnet:focus-visible::after{opacity:.6;scale:1}
.motion-stack{position:relative}
.motion-stack>.card{border-radius:22px}
@media(min-width:900px) and (min-height:680px){
  .motion-active .motion-stack:not(.motion-stack-focus){display:flex;flex-direction:column;gap:38px;align-items:stretch;padding-bottom:38px}
  .motion-active .motion-stack:not(.motion-stack-focus)>.card{position:sticky;top:calc(110px + var(--stack-index)*13px);z-index:calc(2 + var(--stack-index));width:100%;min-height:330px;max-width:none;box-shadow:0 2px 0 #d2bbb9,0 22px 60px -28px #66415e70;background:linear-gradient(125deg,#fffaf2 5%,#f2e7ef);transform-origin:50% 0;transform:scale(var(--stack-scale,1));transition:none;opacity:1;overflow:visible}
  .motion-active .motion-stack:not(.motion-stack-focus)>.card:nth-child(3n+2){background:linear-gradient(125deg,#fbfaf0,#e4eee2)}
  .motion-active .motion-stack:not(.motion-stack-focus)>.card:nth-child(3n){background:linear-gradient(125deg,#fff6eb,#f3dee6)}
  .motion-active .service-grid.motion-stack>.card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 36px;padding:34px 42px}
  .motion-active .service-grid.motion-stack>.card>.tag,.motion-active .service-grid.motion-stack>.card>h2{grid-column:1/-1;justify-self:start}
  .motion-active .service-grid.motion-stack>.card>h2{font-size:clamp(32px,3.4vw,49px);margin:5px 0 14px}
  .motion-active .service-grid.motion-stack>.card>.actions{align-self:end}
  .motion-active.showcase-page .motion-stack>.card{padding:40px 48px;display:grid;grid-template-columns:100px minmax(0,1fr);align-content:center;gap:16px 28px}
  .motion-active.showcase-page .motion-stack>.card h3{font-size:42px}.motion-active.showcase-page .motion-stack>.card p{grid-column:2;font-size:17px;max-width:70ch}
}
.motion-stack.motion-stack-focus>.card{position:relative!important;transform:none!important;top:auto!important}
@media(hover:none),(pointer:coarse){.motion-active .motion-magnet{translate:none!important}.motion-magnet::after{display:none}}
@media(prefers-reduced-motion:reduce){
  .motion-word,.motion-game-title,.motion-annotation path,.motion-magnet{transition:none!important;animation:none!important;translate:none!important;opacity:1!important}
  .motion-annotation path{stroke-dashoffset:0!important}.motion-layer{translate:none!important;will-change:auto!important}
  .motion-stack>.card{position:relative!important;top:auto!important;transform:none!important}
}
@media print{.motion-layer-orbit,.motion-magnet::after{display:none}.motion-word,.motion-game-title{opacity:1!important;translate:none!important}.motion-stack>.card{position:static!important;transform:none!important}.motion-annotation path{stroke-dashoffset:0!important}}
