/* Nextica motion layer — visual depth without changing business logic */
@keyframes nxFadeUp{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
@keyframes nxFadeIn{from{opacity:0}to{opacity:1}}
@keyframes nxFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
@keyframes nxPulse{0%,100%{box-shadow:0 0 0 0 rgba(36,104,238,.18)}50%{box-shadow:0 0 0 10px rgba(36,104,238,0)}}
@keyframes nxShimmer{from{transform:translateX(-140%) skewX(-18deg)}to{transform:translateX(260%) skewX(-18deg)}}
@keyframes nxBarRise{from{transform:scaleY(.15);opacity:.35}to{transform:scaleY(1);opacity:1}}
@keyframes nxRouteIn{from{opacity:.2;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}
@keyframes nxOrbit{from{transform:rotate(0deg) translateX(8px) rotate(0deg)}to{transform:rotate(360deg) translateX(8px) rotate(-360deg)}}

[data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .72s var(--nx-ease),transform .72s var(--nx-ease);transition-delay:var(--nx-delay,0ms)}
[data-reveal].is-visible{opacity:1;transform:none}
[data-reveal="soft"]{transform:none;filter:blur(6px);transition:opacity .7s var(--nx-ease),filter .7s var(--nx-ease)}
[data-reveal="soft"].is-visible{filter:none}

body.route-changing .site-main{opacity:.45;transform:translateY(6px)}
.site-main{transition:opacity .18s ease,transform .18s ease;animation:nxRouteIn .42s var(--nx-ease)}
.site-header{transition:background .28s ease,box-shadow .28s ease,border-color .28s ease}
body.has-scrolled .site-header{background:rgba(255,255,255,.88);box-shadow:0 10px 38px rgba(18,43,78,.08);border-color:rgba(211,224,239,.82)}

.primary-btn,.ghost-btn,.white-btn,.outline-white-btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .22s var(--nx-ease),box-shadow .22s var(--nx-ease),border-color .22s ease,background .22s ease}
.primary-btn::after,.white-btn::after{content:"";position:absolute;inset:-30% auto -30% -45%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);transform:skewX(-18deg);opacity:0;z-index:-1}
.primary-btn:hover::after,.white-btn:hover::after{opacity:1;animation:nxShimmer .75s ease}
.primary-btn:hover,.ghost-btn:hover,.white-btn:hover,.outline-white-btn:hover{transform:translateY(-2px)}
.primary-btn:active,.ghost-btn:active,.white-btn:active,.outline-white-btn:active{transform:translateY(0) scale(.985)}

.nextica-hero{position:relative;overflow:hidden;isolation:isolate}
.nextica-hero::before,.nextica-hero::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:-1}
.nextica-hero::before{width:520px;height:520px;right:-190px;top:-160px;background:radial-gradient(circle,rgba(64,130,255,.16),rgba(64,130,255,0) 69%);transform:translate3d(calc(var(--nx-pointer-x,0)*18px),calc(var(--nx-pointer-y,0)*18px),0);transition:transform .18s linear}
.nextica-hero::after{width:430px;height:430px;left:-190px;bottom:-240px;background:radial-gradient(circle,rgba(75,180,255,.11),rgba(75,180,255,0) 70%);transform:translate3d(calc(var(--nx-pointer-x,0)*-12px),calc(var(--nx-pointer-y,0)*-12px),0);transition:transform .18s linear}
.hero-kicker span{animation:nxPulse 2.8s ease-in-out infinite}
.nextica-hero h1{animation:nxFadeUp .7s var(--nx-ease) both .05s}
.nextica-hero-copy>p{animation:nxFadeUp .7s var(--nx-ease) both .13s}
.nextica-hero .hero-actions{animation:nxFadeUp .7s var(--nx-ease) both .21s}
.hero-footnote{animation:nxFadeUp .7s var(--nx-ease) both .29s}

.nextica-os-preview{transform-style:preserve-3d;will-change:transform;transition:transform .32s var(--nx-ease),box-shadow .32s var(--nx-ease);box-shadow:var(--nx-shadow-lg)}
.nextica-os-preview.is-tilting{transition:transform .06s linear}
.preview-logo{animation:nxFloat 4.2s ease-in-out infinite}
.preview-shell>aside i{transition:transform .22s var(--nx-ease),background .22s ease,color .22s ease}
.preview-shell>aside i:hover{transform:translateX(3px) scale(1.06)}
.preview-metrics>div{transition:transform .25s var(--nx-ease),box-shadow .25s ease,border-color .25s ease}
.preview-metrics>div:hover{transform:translateY(-3px);border-color:#ccdcf1;box-shadow:0 16px 35px rgba(39,78,126,.09)}
.chart-bars i{transform-origin:bottom;animation:nxBarRise .7s var(--nx-ease-spring) both}
.chart-bars i:nth-child(2){animation-delay:.06s}.chart-bars i:nth-child(3){animation-delay:.12s}.chart-bars i:nth-child(4){animation-delay:.18s}.chart-bars i:nth-child(5){animation-delay:.24s}.chart-bars i:nth-child(6){animation-delay:.30s}.chart-bars i:nth-child(7){animation-delay:.36s}.chart-bars i:nth-child(8){animation-delay:.42s}

.suite-card,.nextica-product-card,.service-band>a,.security-grid>span,.operating-points>div,.architecture-layer,.architecture-node{will-change:transform;transition:transform .28s var(--nx-ease),box-shadow .28s var(--nx-ease),border-color .28s ease,background .28s ease}
.suite-card:hover,.nextica-product-card:hover,.service-band>a:hover{transform:translateY(-7px)}
.suite-card:hover .suite-card>div i{transform:rotate(-3deg) scale(1.04)}

.nextica-architecture{position:relative;padding-top:92px!important;padding-bottom:95px!important}
.architecture-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:74px;align-items:center;border:1px solid var(--nx-line);background:linear-gradient(145deg,#fff,#f6f9fd);border-radius:32px;padding:58px 62px;box-shadow:var(--nx-shadow-sm);overflow:hidden;position:relative}
.architecture-shell::after{content:"";position:absolute;right:-180px;top:-170px;width:470px;height:470px;border-radius:50%;background:radial-gradient(circle,rgba(55,126,255,.11),transparent 68%);pointer-events:none}
.architecture-copy>span{font-size:10px;letter-spacing:.15em;font-weight:850;color:var(--nx-blue)}
.architecture-copy h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.045em;line-height:1.05;margin:14px 0 17px}
.architecture-copy p{font-size:15px;line-height:1.78;color:var(--nx-muted);max-width:560px}
.architecture-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.architecture-pill-row span{font-size:9px;font-weight:800;color:#536781;background:#f4f7fb;border:1px solid var(--nx-line);border-radius:999px;padding:8px 10px}
.architecture-map{position:relative;display:grid;gap:10px;min-height:420px;align-content:center}
.architecture-layer{position:relative;display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:16px;padding:17px 18px;border-radius:17px;border:1px solid #dce7f2;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(27,59,101,.055);z-index:1}
.architecture-layer::before{content:"";position:absolute;left:40px;top:-11px;width:1px;height:10px;background:#cfdbeb}.architecture-layer:first-child::before{display:none}
.architecture-layer>span{font-size:9px;letter-spacing:.11em;color:#8b9aab;font-weight:850}.architecture-layer div{display:flex;flex-direction:column}.architecture-layer b{font-size:13px}.architecture-layer small{font-size:9px;color:#7e8da0;margin-top:4px;line-height:1.4}.architecture-layer i{font-style:normal;width:34px;height:34px;border-radius:11px;background:#edf4ff;color:var(--nx-blue);display:grid;place-items:center;font-size:11px;font-weight:850}
.architecture-layer:hover{transform:translateX(-5px);border-color:#bfd4f0;box-shadow:0 20px 42px rgba(29,69,120,.1)}
.architecture-layer:nth-child(2){margin-left:28px}.architecture-layer:nth-child(3){margin-left:56px}.architecture-layer:nth-child(4){margin-left:84px}
.architecture-caption{display:flex;justify-content:flex-end;gap:7px;margin-top:9px;color:#8a98aa;font-size:9px}.architecture-caption i{width:7px;height:7px;border-radius:50%;background:#2d72ee;animation:nxPulse 2.5s infinite}

.op-row{transition:transform .22s var(--nx-ease),background .22s ease,padding .22s ease}
.op-row:hover{background:#f7faff;transform:translateX(3px);padding-left:13px;padding-right:7px}
.security-grid>span:hover{transform:translateY(-4px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.process-line article{transition:background .22s ease,transform .22s var(--nx-ease)}
.process-line article:hover{background:#f8fbff;transform:translateY(-3px)}

.nextica-cta{position:relative;overflow:hidden;isolation:isolate}
.nextica-cta::after{content:"";position:absolute;width:420px;height:420px;right:-180px;top:-230px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 70%);animation:nxFloat 6s ease-in-out infinite;z-index:-1}
.floating-whatsapp{transition:transform .22s var(--nx-ease),box-shadow .22s ease}.floating-whatsapp:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 45px rgba(23,185,103,.33)}

@media(max-width:1180px){.architecture-shell{grid-template-columns:1fr;padding:50px 44px}.architecture-map{min-height:auto}.architecture-layer:nth-child(n){margin-left:0}}
@media(max-width:760px){[data-reveal]{transform:translate3d(0,16px,0)}.architecture-shell{padding:38px 20px;border-radius:24px;gap:36px}.architecture-layer{grid-template-columns:62px 1fr auto;padding:14px}.architecture-layer>span{font-size:8px}.architecture-map{gap:8px}.nextica-os-preview{transform:none!important}.nextica-hero::before,.nextica-hero::after{transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}[data-reveal]{opacity:1!important;transform:none!important;filter:none!important}.nextica-os-preview{transform:none!important}}
