[data-reveal]{transition:opacity 600ms ease,transform 600ms cubic-bezier(.2,.7,.2,1)}
.js [data-reveal]{opacity:0;transform:translateY(1.25rem);transition-delay:var(--reveal-delay,0ms)}
.js [data-reveal].is-visible{opacity:1;transform:none}

@keyframes dap-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-.7rem)}}
@keyframes dap-drift{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(5deg) scale(1.025)}}
@keyframes dap-cta-orbit{0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}50%{transform:translate3d(-1.25rem,1rem,0) rotate(8deg) scale(1.035)}}
@keyframes dap-cta-pulse{0%,100%{opacity:.48;transform:translate3d(0,0,0) scale(1)}50%{opacity:.74;transform:translate3d(.9rem,-.8rem,0) scale(1.06)}}

.site-body :is(.home-final-cta,.about-cta,.process-cta,.services-cta,.service-detail__cta,.case-studies-cta,.site-footer__cta){isolation:isolate}
.site-body :is(.home-final-cta,.about-cta,.process-cta,.services-cta,.service-detail__cta,.case-studies-cta,.site-footer__cta)>.container{position:relative;z-index:1}
.site-body :is(.services-cta,.service-detail__cta,.case-studies-cta)::before{position:absolute;z-index:0;content:"";width:32rem;height:32rem;right:-10rem;bottom:-21rem;border:1px solid rgba(255,255,255,.36);border-radius:50%;box-shadow:0 0 0 3rem rgba(255,255,255,.09),0 0 0 7rem rgba(255,255,255,.045);pointer-events:none}
.site-body :is(.services-cta,.service-detail__cta,.case-studies-cta)::after{position:absolute;z-index:0;content:"";width:14rem;height:14rem;left:-7rem;top:-8rem;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%);pointer-events:none}

@media(prefers-reduced-motion:no-preference){
  .site-body .site-nav__links a{position:relative}
  .site-body .site-nav__links a::after{position:absolute;bottom:-.45rem;left:0;width:100%;height:2px;content:"";border-radius:999px;background:var(--dap-gradient-brand);transform:scaleX(0);transform-origin:right;transition:transform var(--transition-base)}
  .site-body .site-nav__links a:hover::after,.site-body .site-nav__links a.active::after{transform:scaleX(1);transform-origin:left}
  .site-body .button:active{transform:translateY(0) scale(.97);box-shadow:none}
  .site-body .text-link i{display:inline-block;transition:transform var(--transition-fast)}
  .site-body .text-link:hover i{transform:translateX(.25rem)}
  .home-page .hero-art,.about-page .about-fiber{animation:dap-float 7s ease-in-out infinite}
  .site-body :is(.home-final-cta,.about-cta,.process-cta,.services-cta,.service-detail__cta,.case-studies-cta,.site-footer__cta)::before{animation:dap-cta-orbit 14s ease-in-out infinite}
  .site-body :is(.home-final-cta,.services-cta,.service-detail__cta,.case-studies-cta)::after{animation:dap-cta-pulse 11s ease-in-out infinite}
  .site-body :is(.service-card,.work-card,.testimonial-grid figure,.services-list__item,.about-service-list a,.case-study-teaser){will-change:transform}
}

@media(prefers-reduced-motion:reduce){
  [data-reveal],.js [data-reveal]{opacity:1;transform:none;transition:none!important}
  .site-body *,.site-body *::before,.site-body *::after{animation:none!important;scroll-behavior:auto!important}
}
