/* DGx Creators motion layer: refined, light, and accessible */
:root{--motion-ease:cubic-bezier(.22,.68,0,1.02)}
#dgx-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#f7f7f5;opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s ease}
#dgx-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.dgx-loader-inner{display:flex;flex-direction:column;align-items:center;gap:17px}
.dgx-loader-mark{width:56px;height:56px;border:1px solid #151515;display:grid;place-items:center;font-family:Manrope,sans-serif;font-size:1rem;font-weight:800;letter-spacing:-.08em;animation:dgx-mark-in .7s var(--motion-ease) both}
.dgx-loader-line{width:112px;height:2px;background:#deded9;overflow:hidden}
.dgx-loader-line:after{content:"";display:block;width:42%;height:100%;background:#151515;animation:dgx-loading 1.05s ease-in-out infinite}
.dgx-loader-label{font:600 .65rem 'DM Sans',sans-serif;letter-spacing:.19em;text-transform:uppercase;color:#656565}
@keyframes dgx-loading{0%{transform:translateX(-110%)}100%{transform:translateX(270%)}}
@keyframes dgx-mark-in{from{opacity:0;transform:translateY(7px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.js-motion [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .72s var(--motion-ease),transform .72s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.js-motion [data-reveal].is-visible{opacity:1;transform:translateY(0)}
.js-motion [data-reveal="left"]{transform:translateX(-22px)}
.js-motion [data-reveal="left"].is-visible{transform:translateX(0)}
.js-motion [data-reveal="right"]{transform:translateX(22px)}
.js-motion [data-reveal="right"].is-visible{transform:translateX(0)}
.hero-art{animation:dgx-art-arrive .9s .12s var(--motion-ease) both}
.hero-art .art-symbol{animation:dgx-symbol-float 7s 1s ease-in-out infinite}
/* Gentle staggered entrances for the real-photo visual refresh */
.hero-art-premium{animation:dgx-art-arrive .95s .1s var(--motion-ease) both}
.trust-item,.stat-item,.service-card,.industry{transition:transform .4s var(--motion-ease),box-shadow .4s ease,opacity .4s ease}
@media(hover:hover){.service-card:hover{transform:translateY(-6px)}.trust-item:hover,.industry:hover{transform:translateY(-3px)}}
.service-card,.industry,.trust-item,.stat-item{transition:transform .35s var(--motion-ease),box-shadow .35s ease,background-color .25s ease}
.service-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(21,21,21,.07)}
.service-visual:before,.service-visual:after{transition:transform .55s var(--motion-ease)}
.service-card:hover .service-visual:before{transform:rotate(-7deg) scale(1.05)}
.service-card:hover .service-visual:after{transform:rotate(52deg) scale(1.06)}
.btn{position:relative;overflow:hidden;transition:transform .25s var(--motion-ease),background .25s,color .25s,border-color .25s}
.btn:hover{transform:translateY(-2px)}
.btn .arrow{display:none!important}
.btn:hover .arrow{transform:translate(3px,-2px)}
.nav-links>a:not(.btn){position:relative}
.nav-links>a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s ease}
.nav-links>a:not(.btn):hover:after{right:0}
.brand-mark{transition:background .25s ease,color .25s ease,transform .35s var(--motion-ease)}
.brand:hover .brand-mark{background:var(--ink);color:#fff;transform:rotate(-5deg)}
.hero-note:before{transform-origin:left;animation:dgx-line-grow .7s .5s ease both}
@keyframes dgx-art-arrive{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dgx-symbol-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes dgx-line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:680px){.service-card:hover{transform:translateY(-2px)}}
/* Refined motion pass: reveal sections, gentle image drift and polished hover feedback. */
@keyframes dgx-image-drift{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes dgx-soft-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
.hero-art{will-change:transform;animation:dgx-art-arrive .9s .12s var(--motion-ease) both,dgx-soft-float 8s 1.2s ease-in-out infinite}
.service-visual{overflow:hidden;position:relative}
.service-visual:before,.service-visual:after{will-change:transform}
.service-grid .service-card{transition:transform .35s var(--motion-ease),box-shadow .35s ease,border-color .25s ease}
.service-grid .service-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(20,27,20,.1)}
.industry,.trust-item,.stat-item{transition:transform .35s var(--motion-ease),box-shadow .35s ease}
.industry:hover,.trust-item:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,27,20,.08)}
.btn{transition:transform .25s var(--motion-ease),background .25s,color .25s,border-color .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,27,20,.1)}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none!important}#dgx-loader{display:none!important}.js-motion [data-reveal],.js-motion [data-reveal="left"],.js-motion [data-reveal="right"]{opacity:1;transform:none;transition:none}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}