:root{--mx:50vw;--my:40vh}.site-shell{position:relative;isolation:isolate}.cursor-light{position:fixed;z-index:30;left:var(--mx);top:var(--my);width:360px;height:360px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle,#8de0a81b 0,#8de0a806 38%,transparent 70%);mix-blend-mode:screen}.opening-sequence{position:fixed;z-index:1000;inset:0;background:#020b12;color:white;display:grid;place-items:center;overflow:hidden;animation:introExit .9s 2.45s cubic-bezier(.76,0,.24,1) forwards;perspective:1200px}.opening-sequence:before,.opening-sequence:after{content:"";position:absolute;inset:0 50% 0 0;background:#071b2c;animation:curtainLeft .9s 2.35s cubic-bezier(.76,0,.24,1) forwards}.opening-sequence:after{inset:0 0 0 50%;animation-name:curtainRight}.opening-lines{position:absolute;inset:-30%;background:repeating-linear-gradient(90deg,transparent 0 7.5vw,#8de0a80b 7.5vw calc(7.5vw + 1px));transform:rotateX(62deg) translateZ(-200px);animation:gridRush 2.5s ease-in forwards}.opening-cube{width:120px;height:120px;position:relative;transform-style:preserve-3d;z-index:2;animation:cubeReveal 2.25s cubic-bezier(.3,.7,.2,1) forwards}.opening-cube i{position:absolute;inset:0;border:1px solid #8de0a8;background:#071b2ccc;box-shadow:inset 0 0 35px #8de0a820}.opening-cube i:nth-child(1){transform:translateZ(60px)}.opening-cube i:nth-child(2){transform:rotateY(180deg) translateZ(60px)}.opening-cube i:nth-child(3){transform:rotateY(90deg) translateZ(60px)}.opening-cube i:nth-child(4){transform:rotateY(-90deg) translateZ(60px)}.opening-cube i:nth-child(5){transform:rotateX(90deg) translateZ(60px)}.opening-cube i:nth-child(6){transform:rotateX(-90deg) translateZ(60px)}.opening-word{position:absolute;z-index:3;text-align:center;opacity:0;transform:translateY(80px);animation:wordRise .85s 1.35s ease-out forwards}.opening-word span{display:block;font-size:clamp(3.5rem,10vw,8rem);font-weight:900;letter-spacing:.28em;margin-right:-.28em;color:#f5f7f2}.opening-word small{display:block;color:#8de0a8;letter-spacing:.28em;font-size:.58rem;margin-top:1rem}.opening-count{position:absolute;right:4vw;bottom:4vh;z-index:3;width:2rem;height:2rem;overflow:hidden}.opening-count b{display:block;height:2rem;color:#8de0a8;animation:countDown 1.5s steps(3,end) forwards}.route-transition{position:fixed;z-index:900;inset:0;pointer-events:none;display:grid;grid-template-columns:repeat(4,1fr);visibility:hidden}.route-transition i{background:#071b2c;transform:scaleY(0);transform-origin:top}.route-transition.is-moving{visibility:visible}.route-transition.is-moving i{animation:routeShutter .75s cubic-bezier(.76,0,.24,1) forwards}.route-transition i:nth-child(2){animation-delay:.05s}.route-transition i:nth-child(3){animation-delay:.1s}.route-transition i:nth-child(4){animation-delay:.15s}.page-stage{animation:pageDepth .9s cubic-bezier(.22,1,.36,1) both;transform-origin:50% 10%;perspective:1200px}.motion-reveal{opacity:0;transform:translateY(70px) rotateX(5deg) scale(.985);transform-origin:50% 0;transition:opacity .8s var(--reveal-delay) ease,transform 1s var(--reveal-delay) cubic-bezier(.2,.8,.2,1)}.motion-reveal.in-view{opacity:1;transform:none}
.cinema-screen{perspective:1400px;transform-style:preserve-3d}.cinema-screen:before{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,#071b2c16 50%,transparent 50.2%);animation:scanSpace 6s ease-in-out infinite}.film-scene{transform-style:preserve-3d}.scene-one .film-browser{animation:browserFlight 4s ease-in-out infinite}.scene-two .film-phone{animation:phoneFlight 4s ease-in-out infinite}.scene-two .film-cards{transform:translateZ(110px)}.scene-three .film-chart{animation:chartFlight 4s ease-in-out infinite}.scene-four .film-search{animation:searchFlight 4s ease-in-out infinite}.service-grid{perspective:1200px}.service-grid article{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1),background .3s,color .3s,box-shadow .55s}.service-grid article:hover{transform:translateY(-18px) rotateX(4deg) rotateY(-4deg) translateZ(35px);box-shadow:24px 32px 50px #071b2c24}.service-grid article>*{transform:translateZ(20px)}.story-stack article,.values article,.work-grid article,.blog-grid article{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}.story-stack article:hover,.values article:hover,.work-grid article:hover,.blog-grid article:hover{transform:translateY(-12px) scale(1.015);box-shadow:0 30px 60px #020b1220}.growth-strip{background-size:200% 100%;background-image:linear-gradient(90deg,#c7f46b,#8de0a8,#c7f46b);animation:signalFlow 5s linear infinite}.header{transition:background .4s,box-shadow .4s}.header:hover{box-shadow:0 18px 50px #071b2c14}.brandmark{transform-style:preserve-3d;animation:brandTurn 9s ease-in-out infinite}.primary-btn,.header-cta,.light-btn,.form-submit,.direct-actions a{position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}.primary-btn:before,.header-cta:before,.light-btn:before,.form-submit:before,.direct-actions a:before{content:"";position:absolute;inset:-150% auto -150% -45%;width:34%;background:#ffffff65;transform:rotate(18deg);transition:left .55s}.primary-btn:hover:before,.header-cta:hover:before,.light-btn:hover:before,.form-submit:hover:before,.direct-actions a:hover:before{left:115%}.primary-btn:hover,.header-cta:hover,.light-btn:hover,.form-submit:hover,.direct-actions a:hover{transform:translateY(-4px);box-shadow:0 14px 30px #020b1230}.page-hero{position:relative;overflow:hidden;perspective:1100px}.page-hero:after{content:"";position:absolute;width:48vw;height:48vw;border:1px solid #8de0a833;border-radius:50%;right:-18vw;top:-30vw;box-shadow:0 0 0 7vw #8de0a807,0 0 0 14vw #8de0a805;animation:heroOrbit 12s linear infinite}.page-hero>*{position:relative;z-index:1;animation:heroElement .9s cubic-bezier(.22,1,.36,1) both}.page-hero h1{animation-delay:.08s}.page-hero p{animation-delay:.16s}
@keyframes introExit{to{opacity:0;visibility:hidden}}@keyframes curtainLeft{to{transform:translateX(-110%)}}@keyframes curtainRight{to{transform:translateX(110%)}}@keyframes gridRush{from{transform:rotateX(62deg) translateZ(-700px) scale(.4)}to{transform:rotateX(62deg) translateZ(300px) scale(1.8)}}@keyframes cubeReveal{0%{transform:rotateX(-25deg) rotateY(0) scale(.15);opacity:0}50%{opacity:1;transform:rotateX(25deg) rotateY(220deg) scale(1)}100%{transform:rotateX(0) rotateY(540deg) scale(.4);opacity:0}}@keyframes wordRise{to{opacity:1;transform:translateY(0)}}@keyframes countDown{to{transform:translateY(-4rem)}}@keyframes routeShutter{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}@keyframes pageDepth{from{opacity:0;transform:translateZ(-130px) scale(.97)}to{opacity:1;transform:none}}@keyframes browserFlight{0%,100%{transform:rotateY(-12deg) rotateX(5deg) translateZ(30px)}50%{transform:rotateY(10deg) rotateX(-3deg) translateZ(80px)}}@keyframes phoneFlight{0%,100%{transform:rotateY(-18deg) rotateZ(-8deg) translateZ(30px)}50%{transform:rotateY(18deg) rotateZ(5deg) translateZ(100px)}}@keyframes chartFlight{0%,100%{transform:rotateX(7deg) rotateY(10deg) translateZ(20px)}50%{transform:rotateX(-4deg) rotateY(-8deg) translateZ(90px)}}@keyframes searchFlight{0%,100%{transform:rotateY(12deg) translateZ(20px)}50%{transform:rotateY(-12deg) translateZ(85px)}}@keyframes scanSpace{50%{transform:translateX(30%)}}@keyframes signalFlow{to{background-position:200% 0}}@keyframes brandTurn{0%,88%,100%{transform:rotateY(0)}94%{transform:rotateY(180deg)}}@keyframes heroOrbit{to{transform:rotate(360deg)}}@keyframes heroElement{from{opacity:0;transform:translateY(45px) rotateX(8deg)}to{opacity:1;transform:none}}
@media(max-width:760px){.cursor-light{display:none}.opening-word span{letter-spacing:.14em;margin-right:-.14em}.opening-cube{width:82px;height:82px}.opening-cube i:nth-child(1){transform:translateZ(41px)}.opening-cube i:nth-child(2){transform:rotateY(180deg) translateZ(41px)}.opening-cube i:nth-child(3){transform:rotateY(90deg) translateZ(41px)}.opening-cube i:nth-child(4){transform:rotateY(-90deg) translateZ(41px)}.opening-cube i:nth-child(5){transform:rotateX(90deg) translateZ(41px)}.opening-cube i:nth-child(6){transform:rotateX(-90deg) translateZ(41px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.opening-sequence,.route-transition,.cursor-light{display:none!important}.motion-reveal{opacity:1;transform:none}}

/* Decorative motion layers must never block navigation or calls to action. */
.opening-sequence,.opening-sequence *,.route-transition,.cursor-light{pointer-events:none!important}
.opening-logo{position:relative;z-index:3;width:clamp(110px,16vw,210px);height:clamp(110px,16vw,210px);object-fit:contain;animation:logoDance 2.25s cubic-bezier(.3,.7,.2,1) forwards;filter:drop-shadow(0 0 28px #8de0a855)}@keyframes logoDance{0%{opacity:0;transform:scale(.35) rotate(-18deg) translateY(70px)}35%{opacity:1;transform:scale(1.12) rotate(8deg) translateY(-12px)}58%{transform:scale(.94) rotate(-5deg) translateY(5px)}78%{transform:scale(1.03) rotate(2deg)}100%{opacity:0;transform:scale(.7) rotate(12deg) translateY(-75px)}}

/* The longer Noviqa Digital wordmark stays centered during the opening sequence. */
.opening-word span{font-size:clamp(2.2rem,7vw,6rem);letter-spacing:.18em;margin-right:-.18em;white-space:nowrap}
@media(max-width:600px){.opening-word span{font-size:clamp(1.45rem,8vw,2.4rem);letter-spacing:.1em;margin-right:-.1em}}
