/* Motion restoration. Load after site-refresh-20261020.css. */

/* Content stays visible until the observer explicitly marks it as waiting. */
.moon-site.motion-restored .motion-reveal,
.moon-site.motion-restored .reveal {
  opacity:1!important;
  translate:0 0!important;
  scale:1!important;
  transition:
    opacity .8s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),
    translate .8s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),
    scale .8s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),
    transform .2s ease,border-color .26s ease,box-shadow .3s ease;
}
.moon-site.motion-restored .motion-reveal.motion-waiting,
.moon-site.motion-restored .reveal.motion-waiting {
  opacity:.2!important;
  translate:0 32px!important;
  scale:.985!important;
}
.moon-site.motion-restored .motion-reveal.motion-entered,
.moon-site.motion-restored .reveal.motion-entered {
  opacity:1!important;
  translate:0 0!important;
  scale:1!important;
}

/* Reuse the original light-field-drift and its pointer parallax variables. */
.moon-site.motion-restored .refresh-products::before {display:block;}
.moon-site.motion-restored .refresh-products>.section-intro,
.moon-site.motion-restored .refresh-product-grid {position:relative;z-index:1;}
.moon-site.motion-restored .refresh-product-card {
  --tilt-x:0deg;
  --tilt-y:0deg;
  position:relative;
  isolation:isolate;
  background:linear-gradient(145deg,#fff,#f2f7ff 65%,#fff);
  background-size:180% 180%;
  animation:glass-surface 9s ease-in-out infinite alternate;
  transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
}
.moon-site.motion-restored .refresh-product-card:nth-child(3n+2) {animation-delay:-3s;}
.moon-site.motion-restored .refresh-product-card:nth-child(3n+3) {animation-delay:-6s;}
.moon-site.motion-restored .refresh-product-card::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:.25;
  background:radial-gradient(380px circle at var(--surface-x,50%) var(--surface-y,50%),#89b9ff30,transparent 65%);
  transition:opacity .3s ease;
}
.moon-site.motion-restored .refresh-product-copy {position:relative;z-index:2;}
.moon-site.motion-restored .refresh-product-art img {
  transition:transform .7s cubic-bezier(.16,1,.3,1);
}
@media(hover:hover) and (pointer:fine) {
  .moon-site.motion-restored .refresh-product-card:hover {
    transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
    border-color:#8fb5ed;
    box-shadow:0 22px 46px #204d8724;
  }
  .moon-site.motion-restored .refresh-product-card:hover::before {opacity:1;}
  .moon-site.motion-restored .refresh-product-card:hover .refresh-product-art img {transform:scale(1.05);}
  .moon-site.motion-restored .home-article-grid>button:hover img {transform:scale(1.035);}
}

/* One expanded industry card; touch layouts keep the complete existing grid. */
@media(min-width:1101px) and (hover:hover) and (pointer:fine) {
  .moon-site.motion-restored .refresh-solution-grid {display:flex;gap:20px;}
  .moon-site.motion-restored .refresh-solution-card {
    position:relative;
    flex:1 1 0;
    min-width:0;
    height:420px;
    transform:none;
    background:#eaf1f8;
    transition:
      flex-grow .76s cubic-bezier(.22,1,.36,1),
      opacity .8s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),
      translate .8s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),
      scale .8s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),
      border-color .3s ease,box-shadow .4s ease;
  }
  .moon-site.motion-restored .refresh-solution-card.is-expanded {
    flex-grow:1.9;
    border-color:#a9c7ef;
    box-shadow:0 18px 38px #204c7e1c;
  }
  .moon-site.motion-restored .refresh-solution-card>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    transform:scale(1.01);
    transition:transform .9s cubic-bezier(.22,1,.36,1);
  }
  .moon-site.motion-restored .refresh-solution-card.is-expanded>img {transform:scale(1.065);}
  .moon-site.motion-restored .refresh-solution-card>div {
    position:absolute;
    z-index:1;
    left:12px;
    right:12px;
    bottom:12px;
    height:100px;
    padding:18px;
    overflow:hidden;
    border:1px solid #ffffffd9;
    border-radius:14px;
    background:#fffffff0;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    box-shadow:0 8px 24px #223a5914;
    transition:height .76s cubic-bezier(.22,1,.36,1),background .4s ease;
  }
  .moon-site.motion-restored .refresh-solution-card.is-expanded>div {height:210px;background:#fffffff5;}
  .moon-site.motion-restored .refresh-solution-card h3 {
    margin:0 0 10px;
    font-size:20px!important;
    line-height:1.45!important;
    color:#142238;
    white-space:normal;
    overflow:visible;
    overflow-wrap:break-word;
  }
  .moon-site.motion-restored .refresh-solution-card p,
  .moon-site.motion-restored .refresh-solution-card .refresh-card-link {
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:opacity .22s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility .22s;
  }
  .moon-site.motion-restored .refresh-solution-card p {font-size:14px;line-height:1.8;color:#4b5b70;}
  .moon-site.motion-restored .refresh-solution-card .refresh-card-link {
    min-height:44px;
    align-items:center;
    margin-top:14px;
  }
  .moon-site.motion-restored .refresh-solution-card.is-expanded p,
  .moon-site.motion-restored .refresh-solution-card.is-expanded .refresh-card-link {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    transition-delay:.18s;
  }
}

.moon-site.motion-restored .refresh-client-grid>div {animation:client-float 7s ease-in-out infinite;}
.moon-site.motion-restored .refresh-client-grid>div:nth-child(2n) {animation-delay:-3.5s;}
.moon-site.motion-restored .refresh-local-service {position:relative;isolation:isolate;overflow:hidden;}
.moon-site.motion-restored .refresh-local-service::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-15%;
  pointer-events:none;
  background:radial-gradient(ellipse at 82% 40%,#b6d9ff45,transparent 45%),radial-gradient(ellipse at 18% 72%,#d8ebff33,transparent 40%);
  animation:refresh-service-light 12s ease-in-out infinite alternate;
}
@keyframes refresh-service-light {
  from {transform:translate3d(-1.5%,1%,0);}
  to {transform:translate3d(1.5%,-1%,0);}
}
.moon-site.motion-restored .contact .contact-globe {display:block;pointer-events:none;}
.moon-site.motion-restored .hero-flow {display:block;opacity:.4;pointer-events:none;}
.moon-site.motion-restored .hero-video-control {display:grid;}
.moon-site.motion-restored .scroll-cue {display:flex;}

@media(max-width:860px) {
  .moon-site.motion-restored .moon-hero {padding-bottom:84px;}
  .moon-site.motion-restored .hero-video-control {
    top:auto;
    left:auto;
    right:18px;
    bottom:20px;
    width:44px;
    height:44px;
  }
  .moon-site.motion-restored .scroll-cue {right:auto;left:22px;bottom:20px;gap:8px;}
  .moon-site.motion-restored .scroll-cue i {height:24px;}
  .moon-site.motion-restored .contact .contact-globe {width:900px;max-width:none;bottom:-470px;}
}
@media(hover:none), (pointer:coarse) {
  .moon-site.motion-restored .refresh-product-card,
  .moon-site.motion-restored .refresh-product-card:hover {transform:none;}
  .moon-site.motion-restored .refresh-product-card .refresh-product-art img {transform:none;}
}

/* The independent Lingee page can share this light visual motion if it loads this file. */
.lingee-site .hero-art img {animation:refresh-hero-art-float 7s ease-in-out infinite;}
@keyframes refresh-hero-art-float {50% {transform:translateY(-6px);}}

@media(prefers-reduced-motion:reduce) {
  .moon-site.motion-restored .motion-reveal,
  .moon-site.motion-restored .reveal,
  .moon-site.motion-restored .motion-reveal.motion-waiting,
  .moon-site.motion-restored .reveal.motion-waiting,
  .moon-site.motion-restored .motion-reveal.motion-entered,
  .moon-site.motion-restored .reveal.motion-entered {
    opacity:1!important;
    translate:0 0!important;
    scale:1!important;
    transition:none!important;
  }
  .moon-site.motion-restored .refresh-product-card,
  .moon-site.motion-restored .refresh-product-card:hover,
  .moon-site.motion-restored .refresh-product-art img,
  .moon-site.motion-restored .refresh-product-card:hover .refresh-product-art img,
  .moon-site.motion-restored .refresh-solution-card,
  .moon-site.motion-restored .refresh-solution-card>img,
  .moon-site.motion-restored .refresh-solution-card.is-expanded>img,
  .moon-site.motion-restored .home-article-grid>button:hover img,
  .moon-site.motion-restored .case-feature,
  .moon-site.motion-restored .refresh-client-grid>div,
  .lingee-site .hero-art img {
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
  .moon-site.motion-restored .refresh-products::before,
  .moon-site.motion-restored .refresh-local-service::before,
  .moon-site.motion-restored .contact .contact-globe,
  .moon-site.motion-restored .contact .contact-globe i,
  .moon-site.motion-restored .contact .contact-inner,
  .moon-site.motion-restored .scroll-cue i::after {
    animation:none!important;
  }
  .moon-site.motion-restored .refresh-products::before,
  .moon-site.motion-restored .refresh-local-service::before {transform:none!important;}
  .moon-site.motion-restored .refresh-product-card::before,
  .moon-site.motion-restored .refresh-solution-card>div,
  .moon-site.motion-restored .refresh-solution-card p,
  .moon-site.motion-restored .refresh-solution-card .refresh-card-link {transition:none!important;}
}
