/* Kinetic light and depth built around the CodeNexus emblem. */
.hero-visual{--pointer-x:0px;--pointer-y:0px;--signal-color:#83e4df}
.hero-logo{animation:logo-float 9s ease-in-out infinite;translate:var(--pointer-x) var(--pointer-y);transition:translate .7s cubic-bezier(.2,.7,.2,1)}
.tag-top{animation:tag-drift 11s ease-in-out infinite}
.tag-bottom{animation:tag-drift 13s ease-in-out infinite reverse;animation-delay:-4s}
.hero-visual:after{content:"";position:absolute;inset:13% 12%;border:1px solid #7cd7d509;pointer-events:none;background:linear-gradient(#83c3bf22,#83c3bf22) left top/15px 1px no-repeat,linear-gradient(#83c3bf22,#83c3bf22) left top/1px 15px no-repeat,linear-gradient(#83c3bf22,#83c3bf22) right bottom/15px 1px no-repeat,linear-gradient(#83c3bf22,#83c3bf22) right bottom/1px 15px no-repeat}
.glass{position:relative}
.service-card:after{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,transparent,#96e4df88,transparent);opacity:0;transform:scaleX(.35);transition:opacity .35s,transform .6s;pointer-events:none}
.service-card:hover:after,.service-card:focus-within:after{opacity:1;transform:scaleX(1)}
.service-card:hover .service-icon,.service-card:focus-within .service-icon{box-shadow:0 0 20px #66d5d011;border-color:#90dad64a;transition:box-shadow .4s,border-color .4s}
.card-link .arrow-icon,.button .arrow-icon,.email-link .arrow-icon{transition:transform .25s}
.card-link:hover .arrow-icon,.button:hover .arrow-icon,.email-link:hover .arrow-icon{transform:translate(2px,-2px)}
.workflow-step:before{content:"";position:absolute;left:18px;top:66px;width:2px;height:12px;background:linear-gradient(transparent,#83dad9,transparent);opacity:0;animation:workflow-signal 9s ease-in-out infinite;pointer-events:none}
.workflow-step:nth-child(3):before{animation-delay:1.6s}
.workflow-step:nth-child(4):before{display:none}
.process-grid article{position:relative}
.process-number{transition:border-color .3s}
.process-grid article:hover .process-number{border-color:#9cddda}
/* Only text moves. The frosted glass stays on a stable compositing layer. */
.reveal-pending{opacity:0;transform:translateY(22px)}
.reveal-pending.is-revealed{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.motion-paused .reveal-pending{opacity:1;transform:none}
.motion-control{display:inline-flex;align-items:center;gap:9px;font-size:10px;color:#9eb9c3}
.motion-control:before{content:"";width:4px;height:4px;border-radius:50%;background:#85d6d0}
.motion-control button{background:none;border:0;color:inherit;font:inherit;padding:7px 0;min-height:30px}
.motion-control button:hover{color:#b4ebe5}
.motion-control button:disabled{cursor:default;color:#8e9ea8}
.motion-paused .motion-control:before{background:#7a8e98}

.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}
.motion-paused{scroll-behavior:auto}
.tab-inactive *,.tab-inactive *:before,.tab-inactive *:after,.orbit-offscreen *{animation-play-state:paused!important}
@keyframes tag-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes workflow-signal{0%,16%,100%{opacity:0;transform:translateY(-5px)}5%,10%{opacity:.65;transform:translateY(5px)}}
@media(max-width:640px){.hero-visual:after{inset:10% 8%}.motion-control{margin-left:auto;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-logo,.logo-field{translate:none;transform:none}}
/* Crawlers and visitors without JavaScript receive the same content and links. */
html:not(.js) .menu-toggle{display:none}
html:not(.js) .motion-control{display:none}
html:not(.js) .privacy-trigger{display:none}
html:not(.js) .privacy-fallback{display:inline}
.privacy-fallback{display:none}
@media(max-width:640px){html:not(.js) .site-header{position:relative}html:not(.js) .header-inner{height:auto;min-height:72px;flex-wrap:wrap;padding-block:14px;gap:12px}html:not(.js) #main-nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;justify-content:space-between;width:100%;padding:0;border:0;gap:0;font-size:11px;background:none}html:not(.js) #main-nav>a{padding:8px 5px}html:not(.js) .nav-contact{margin-top:0;border:0}}

.hero-bottom .motion-control{margin-left:auto;margin-right:20px;letter-spacing:0}.hero-bottom .motion-control button{font-size:10px}html:not(.js) *,html:not(.js) *:before,html:not(.js) *:after{animation:none!important}@media(max-width:640px){.hero-bottom>span:first-child{max-width:145px;font-size:6px}.hero-bottom .motion-control{margin-right:12px}.hero-bottom .motion-control button{font-size:9px}}

.logo-aura{position:absolute;inset:7%;border-radius:50%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 32% 60%,#00c1e82b,transparent 60%),radial-gradient(ellipse at 77% 22%,#e6bd6924,transparent 57%);filter:blur(24px);animation:aura-breathe 8s ease-in-out infinite}
.energy-halo{position:absolute;width:79%;aspect-ratio:1;left:50%;top:50%;translate:-50% -50%;border-radius:50%;z-index:1;pointer-events:none;background:conic-gradient(from 30deg,transparent 0deg,#3bd2ea00 32deg,#30c2e5b0 60deg,#9af8ed 78deg,transparent 102deg,transparent 178deg,#f2b95300 204deg,#f1ca70bd 230deg,#fff2b8 247deg,transparent 270deg,transparent 360deg);mask-image:radial-gradient(closest-side,transparent calc(100% - 9px),#000 calc(100% - 7px),#000 calc(100% - 3px),transparent 100%);animation:halo-turn 18s linear infinite;opacity:.85}
.energy-tilt{position:absolute;inset:1%;z-index:3;pointer-events:none;transform:perspective(700px) rotateX(61deg) rotateZ(-30deg);opacity:.7}
.halo-secondary{width:100%;background:conic-gradient(transparent 0deg,#70e8e100 45deg,#7aeadc70 70deg,#dcffff 80deg,transparent 96deg,transparent 218deg,#e3ca764a 245deg,#fff0aa 255deg,transparent 268deg);mask-image:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px),transparent 100%);animation-duration:12s;animation-direction:reverse}
.logo-field{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;mix-blend-mode:screen;transform:translate(var(--pointer-x),var(--pointer-y));transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.hero-visual:after{display:none}.orbit-one{border-color:#97dcd617}.orbit-two{border-color:#82d8da10}.orbit-three{display:none}.orbit-star{display:none}
.hero-logo{animation:logo-suspend 8s ease-in-out infinite;filter:drop-shadow(0 12px 24px #1d9fac17)}
.floating-tag{background:rgba(16,32,43,.82)}
.about>.section-label{margin-bottom:28px}
@keyframes halo-turn{from{rotate:0deg}to{rotate:360deg}}
@keyframes aura-breathe{0%,100%{opacity:.55;scale:.94}50%{opacity:1;scale:1.07}}
@keyframes logo-suspend{0%,100%{transform:translateY(2px) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@media(max-width:640px){.energy-halo{width:82%}.halo-secondary{width:100%}.logo-aura{filter:blur(16px)}.energy-tilt{inset:3%}.reveal-pending{transform:translateY(20px)}.reveal-pending.is-revealed{transition-duration:.65s}.about>.section-label{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.energy-halo{opacity:.5}}

@media(hover:none),(pointer:coarse){.service-card:hover{transform:none}}
