:root{
  --bg:#06101c;
  --bg-2:#071524;
  --panel:#0b1c30;
  --panel-2:#0d223a;
  --blue:#1685ff;
  --blue-2:#0b65f5;
  --cyan:#38bdf8;
  --text:#f8fafc;
  --muted:#94a3b8;
  --line:rgba(56,189,248,.20);
  --white:#fff;
  --shadow:0 24px 80px rgba(0,0,0,.42);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.shell{width:min(1450px,calc(100% - 80px));margin-inline:auto}
body::selection{background:var(--blue);color:#fff}.ambient{position:fixed;z-index:-1;border-radius:999px;filter:blur(110px);pointer-events:none}.ambient-a{width:620px;height:620px;right:-180px;top:100px;background:rgba(22,133,255,.11)}.ambient-b{width:480px;height:480px;left:-220px;top:820px;background:rgba(56,189,248,.06)}
.site-header{height:96px;position:sticky;top:0;z-index:1000;background:rgba(4,12,21,.91);backdrop-filter:blur(18px);border-bottom:1px solid rgba(148,163,184,.12)}.header-inner{height:100%;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}.brand-code{font-size:33px;font-weight:800;letter-spacing:-.12em;color:var(--blue);text-shadow:0 0 18px rgba(22,133,255,.34)}.brand-copy strong{display:block;font-size:24px;line-height:1}.brand-copy small{display:block;margin-top:5px;font-size:8.5px;font-weight:700;letter-spacing:.08em;color:#cbd5e1}.nav{margin-left:auto;display:flex;align-items:center;gap:38px}.nav a{position:relative;height:96px;display:flex;align-items:center;font-size:14px;font-weight:600;color:#f1f5f9;transition:.25s}.nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:19px;height:2px;background:var(--blue);transition:.25s}.nav a:hover,.nav a.active{color:#5ab5ff}.nav a:hover::after,.nav a.active::after{left:0;right:0}.header-cta{height:48px;padding:0 25px;display:inline-flex;align-items:center;gap:9px;border-radius:7px;background:linear-gradient(135deg,#137df8,#2998ff);box-shadow:0 10px 28px rgba(22,133,255,.25);font-size:14px;font-weight:700}.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:29px;height:2px;margin:6px;background:#fff;transition:.25s}
.section-dark{background:radial-gradient(circle at 72% 22%,rgba(16,117,255,.12),transparent 32%),linear-gradient(180deg,#06101c 0%,#071423 100%)}.hero{min-height:700px;padding:62px 0 34px}.hero-grid{display:grid;grid-template-columns:minmax(470px,.83fr) minmax(620px,1.17fr);gap:42px;align-items:center}.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(56,189,248,.34);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#e0f2fe;background:rgba(4,14,25,.42)}.pill i{color:var(--cyan)}.hero-copy h1{max-width:680px;margin:26px 0 0;font-size:clamp(50px,4.6vw,74px);line-height:1.02;letter-spacing:-.045em}.hero-copy h1 em{font-style:normal;color:var(--blue)}.hero-copy>p{max-width:650px;margin:28px 0 0;color:#d1d9e6;font-size:18px;line-height:1.72}.hero-actions{display:flex;gap:16px;margin-top:32px}.btn{min-height:52px;padding:0 24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:700;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#0968eb,#1c98ff);box-shadow:0 12px 30px rgba(14,111,239,.26)}.btn-outline{border:1px solid rgba(148,163,184,.4);background:rgba(4,11,19,.45)}.btn-outline:hover{border-color:rgba(56,189,248,.65);box-shadow:0 12px 32px rgba(0,0,0,.25)}.btn.compact{min-height:46px;padding-inline:18px}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:54px;max-width:690px}.hero-stats>div{display:grid;grid-template-columns:28px auto;column-gap:8px;align-items:start}.hero-stats i{grid-row:1/3;font-size:24px;color:var(--blue)}.hero-stats strong{font-size:18px}.hero-stats span{margin-top:3px;font-size:11px;line-height:1.35;color:var(--muted)}
.hero-visual{position:relative;height:560px;isolation:isolate}.tech-grid{position:absolute;inset:0;background:linear-gradient(rgba(22,133,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,133,255,.06) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at 54% 55%,#000 0 45%,transparent 73%);transform:perspective(500px) rotateX(58deg) translateY(110px);opacity:.7}.laptop{position:absolute;left:4%;top:34px;width:78%;filter:drop-shadow(0 34px 36px rgba(0,0,0,.45));transform:perspective(1200px) rotateY(-4deg)}.laptop-screen{height:376px;position:relative;border:10px solid #151a21;border-radius:20px 20px 12px 12px;background:#04101e;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.screen-nav{height:45px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#cbd5e1}.screen-nav b{font-size:15px;color:#fff}.screen-body{position:absolute;left:38px;top:86px;z-index:3}.screen-body small{color:var(--blue);font-size:10px}.screen-body h3{margin:9px 0;font-size:27px;line-height:1.05}.screen-body p{width:280px;color:#94a3b8;font-size:10px;line-height:1.5}.screen-body button,.hero-phone button{border:0;border-radius:5px;background:var(--blue);color:#fff;padding:9px 12px;font-size:9px;font-weight:700}.screen-orb{position:absolute;right:57px;top:92px;width:180px;height:180px;border:1px solid rgba(22,133,255,.5);transform:rotate(45deg);box-shadow:0 0 50px rgba(22,133,255,.2),inset 0 0 38px rgba(56,189,248,.08)}.screen-orb::before,.screen-orb::after{content:"";position:absolute;inset:28px;border:1px solid rgba(56,189,248,.38)}.screen-orb::after{inset:58px;background:rgba(22,133,255,.22);box-shadow:0 0 30px rgba(22,133,255,.45)}.screen-services{position:absolute;left:30px;right:30px;bottom:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.screen-services span{padding-top:12px;border-top:1px solid rgba(56,189,248,.14);font-size:8px;color:#cbd5e1;text-align:center}.laptop-base{height:28px;margin:-1px -8% 0;background:linear-gradient(#646b76,#15191e 42%,#252b33);clip-path:polygon(6% 0,94% 0,100% 65%,92% 100%,8% 100%,0 65%);border-radius:0 0 30px 30px}.hero-phone{position:absolute;right:1%;top:115px;width:183px;height:375px;padding:8px;border-radius:30px;background:linear-gradient(135deg,#7b8390,#090b0f 28%,#333b45 70%,#111419);box-shadow:0 30px 60px rgba(0,0,0,.6),0 0 38px rgba(22,133,255,.18);transform:rotate(4deg)}.hero-phone-notch{position:absolute;z-index:2;top:10px;left:50%;width:75px;height:20px;transform:translateX(-50%);border-radius:0 0 12px 12px;background:#020306}.hero-phone-screen{height:100%;padding:44px 18px 20px;border-radius:23px;background:radial-gradient(circle at 85% 15%,rgba(22,133,255,.2),transparent 35%),#04101e;overflow:hidden}.mini-brand{font-weight:800;font-size:13px}.hero-phone-screen small{display:block;margin-top:30px;color:var(--blue);font-size:9px}.hero-phone-screen h3{margin:8px 0;font-size:26px;line-height:.98}.hero-phone-screen p{color:#94a3b8;font-size:9px;line-height:1.45}.hero-phone-screen button{margin-top:8px}.scroll-label{position:absolute;bottom:25px;left:0;right:0;text-align:center;color:#94a3b8;font-size:9px}.hero-visual::after{content:"";position:absolute;left:13%;right:4%;bottom:28px;height:20px;background:radial-gradient(ellipse,rgba(20,131,255,.7),transparent 67%);filter:blur(10px)}
.services-strip{background:#f8fafc;padding:0 0 44px}.services-panel{transform:translateY(-20px);min-height:164px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:#0f172a;border-radius:18px;box-shadow:0 25px 80px rgba(2,12,25,.22);overflow:hidden}.services-panel article{padding:34px 32px;display:flex;gap:19px;align-items:flex-start;border-right:1px solid #e2e8f0;transition:.3s}.services-panel article:last-child{border-right:0}.services-panel article:hover{transform:translateY(-5px);background:#f4f9ff}.services-panel i{font-size:40px;color:var(--blue)}.services-panel h3{margin:0;font-size:16px}.services-panel p{margin:9px 0 0;color:#475569;font-size:12px;line-height:1.65}
.portfolio-section{padding:58px 0 72px}.portfolio-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:30px;align-items:center}.portfolio-copy h2{margin:16px 0 0;font-size:48px;line-height:1.02}.portfolio-copy h2 em{font-style:normal;color:var(--blue)}.portfolio-copy p{margin:28px 0;color:#cbd5e1;line-height:1.75;font-size:15px}.portfolio-showcase{position:relative;min-height:510px;overflow:visible;isolation:isolate}.showcase-aura{position:absolute;left:50%;top:50%;width:78%;height:70%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(18,128,255,.21),transparent 70%);filter:blur(15px)}.showcase-floor{position:absolute;left:50%;bottom:47px;width:76%;height:72px;transform:translateX(-50%) perspective(400px) rotateX(70deg);border:2px solid rgba(22,133,255,.75);border-radius:50%;box-shadow:0 0 30px rgba(22,133,255,.6),inset 0 0 20px rgba(56,189,248,.10);background:radial-gradient(ellipse,rgba(22,133,255,.14),transparent 66%)}.phones-stage{position:absolute;inset:0 64px 49px;overflow:hidden;perspective:1500px;transform-style:preserve-3d;cursor:ew-resize;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}.phones-track{position:absolute;left:0;top:50%;display:flex;align-items:center;width:max-content;gap:0;will-change:transform;transform-style:preserve-3d}.phone-card{position:relative;flex:0 0 205px;width:205px;margin-left:-28px;opacity:var(--depth-opacity,.72);z-index:var(--depth-z,1);filter:brightness(var(--depth-brightness,.88)) blur(var(--depth-blur,0));transform:translateY(calc(-50% + var(--depth-y,0px))) translateZ(var(--depth-zpx,0px)) rotateY(var(--depth-rotate,0deg)) scale(var(--depth-scale,.82));transform-origin:center bottom;transition:opacity .18s linear,filter .18s linear;will-change:transform,opacity,filter;cursor:pointer}.phone-card:first-child{margin-left:0}.phone-frame{height:410px;position:relative;padding:8px;border-radius:36px;background:linear-gradient(145deg,#7f8995 0%,#11151b 14%,#05070a 55%,#828b98 100%);box-shadow:0 28px 48px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.24);overflow:hidden;animation:phoneFloat 4.8s ease-in-out infinite;animation-delay:var(--float-delay,0s)}@keyframes phoneFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}.phone-card:nth-child(2n) .phone-frame{animation-duration:5.35s}.phone-card:nth-child(3n) .phone-frame{animation-duration:4.35s}.phone-card.is-center .phone-frame{box-shadow:0 0 0 2px rgba(22,133,255,.9),0 0 32px rgba(22,133,255,.65),0 42px 68px rgba(0,0,0,.70)}.phone-card.is-near .phone-frame{box-shadow:0 0 0 1px rgba(56,189,248,.28),0 0 20px rgba(22,133,255,.24),0 32px 52px rgba(0,0,0,.62)}.phone-notch{position:absolute;z-index:10;top:12px;left:50%;width:82px;height:19px;transform:translateX(-50%);border-radius:0 0 12px 12px;background:#030507}.phone-frame iframe{width:100%;height:100%;border:0;border-radius:29px;background:#08111e;display:block;pointer-events:none;transform:scale(.82);transform-origin:top left;width:122%;height:122%}.phone-glass{position:absolute;inset:8px;border-radius:29px;background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 24%,transparent 70%,rgba(255,255,255,.025));pointer-events:none;z-index:9}.phone-meta{display:none}.carousel-arrow{position:absolute;top:50%;z-index:30;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(22,133,255,.72);background:rgba(4,15,26,.85);color:#7cc9ff;font-size:20px;cursor:pointer;box-shadow:0 0 22px rgba(22,133,255,.16);transition:.25s}.carousel-arrow:hover{transform:scale(1.08);background:rgba(22,133,255,.15)}.carousel-prev{left:0}.carousel-next{right:0}.carousel-dots{position:absolute;left:50%;bottom:11px;z-index:30;transform:translateX(-50%);display:flex;gap:8px}.carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#64748b;cursor:pointer}.carousel-dots button.active{background:var(--blue);box-shadow:0 0 12px rgba(22,133,255,.8);transform:scale(1.2)}
.process-section{background:#f8fafc;color:#0f172a;padding:74px 0}.process-grid{display:grid;grid-template-columns:260px 1fr;gap:42px}.pill.light{color:#0f65cb;background:#eff6ff;border-color:#93c5fd}.process-intro h2{margin:15px 0;font-size:40px;line-height:1.07}.process-intro h2 em{font-style:normal;color:var(--blue)}.process-intro p{color:#64748b;line-height:1.65}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}.process-steps article{position:relative;text-align:center;padding:0 16px}.process-steps article:not(:last-child)::after{content:"";position:absolute;top:28px;left:72%;width:58%;border-top:1px dashed #475569}.step-icon{width:58px;height:58px;margin:auto;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0b65f5,#2496ff);color:#fff;font-size:23px;box-shadow:0 10px 24px rgba(22,133,255,.23)}.process-steps small{display:block;margin-top:10px;color:#94a3b8}.process-steps h3{font-size:14px}.process-steps p{color:#475569;font-size:12px;line-height:1.6}
.testimonials{padding:62px 0 48px}.testimonials-grid{display:grid;grid-template-columns:250px 1fr;gap:32px;align-items:center}.testimonials-title>span{font-size:11px;color:#cbd5e1}.testimonials-title h2{margin:9px 0;font-size:31px}.testimonials-title h2 em{font-style:normal;color:var(--blue)}.testimonials-carousel{position:relative;padding:0 54px 31px}.testimonial-viewport{overflow:hidden}.testimonial-track{display:flex;gap:18px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.testimonial-track article{flex:0 0 calc((100% - 36px)/3);min-height:195px;padding:27px 26px;border:1px solid rgba(56,189,248,.24);border-radius:11px;background:linear-gradient(180deg,rgba(13,34,58,.9),rgba(7,21,37,.9));box-shadow:inset 0 0 30px rgba(22,133,255,.04)}.testimonial-track article>i{color:var(--blue);font-size:29px}.testimonial-track p{font-size:13px;line-height:1.65;color:#d7dee9}.stars{color:#43a5ff;letter-spacing:.08em;margin:11px 0}.testimonial-track strong{font-size:12px;color:#e2e8f0}.testimonial-arrow{position:absolute;top:42%;width:42px;height:42px;border-radius:50%;border:1px solid rgba(56,189,248,.25);background:rgba(3,12,21,.72);color:#fff;cursor:pointer;z-index:2}.testimonial-arrow.prev{left:0}.testimonial-arrow.next{right:0}.testimonial-dots{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;gap:7px}.testimonial-dots button{width:8px;height:8px;border:0;border-radius:50%;background:#475569;padding:0}.testimonial-dots button.active{background:var(--blue)}
.contact-banner{padding:0 0 28px;background:#06101c}.contact-banner-inner{min-height:95px;border:1px solid rgba(22,133,255,.4);border-radius:14px;background:linear-gradient(90deg,#0c3159,#071b31 50%,#0c3159);display:grid;grid-template-columns:80px 1fr auto;align-items:center;padding:0 28px;box-shadow:inset 0 0 30px rgba(22,133,255,.05)}.contact-bubble{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#0b66f6;color:#fff;font-size:27px;box-shadow:0 0 26px rgba(22,133,255,.5)}.contact-banner h2{margin:0;font-size:20px}.contact-banner p{margin:5px 0 0;color:#cbd5e1}.contact-btn{min-width:290px}
.footer{padding:42px 0 18px;background:#06111f;border-top:1px solid rgba(148,163,184,.11)}.footer-grid{display:grid;grid-template-columns:1.35fr .7fr .8fr 1fr .9fr;gap:38px}.footer-brand p,.footer-talk p{color:#94a3b8;font-size:12px;line-height:1.65}.socials{display:flex;gap:10px;margin-top:20px}.socials a{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.25);border-radius:50%;transition:.25s}.socials a:hover{border-color:var(--blue);color:#71c5ff;transform:translateY(-2px)}.footer h3{margin:0 0 14px;font-size:13px}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:9px}.footer-links a,.footer-links span,.footer-contact p{margin:0;color:#aab7c8;font-size:12px}.footer-contact i{margin-right:8px;color:#c9d8e8}.footer-bottom{margin-top:32px;padding-top:15px;border-top:1px solid rgba(148,163,184,.1);text-align:center;color:#64748b;font-size:11px}.whatsapp-float{position:fixed;right:25px;bottom:24px;z-index:1200;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;font-size:31px;border:4px solid #fff;box-shadow:0 14px 35px rgba(0,0,0,.35),0 0 26px rgba(37,211,102,.24);transition:.25s}.whatsapp-float:hover{transform:translateY(-4px) scale(1.04)}
.reveal{animation:fadeUp .75s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1260px){.shell{width:min(100% - 48px,1180px)}.nav{gap:22px}.hero-grid{grid-template-columns:1fr 1fr}.hero-copy h1{font-size:52px}.hero-visual{height:500px}.laptop{width:86%;left:0}.hero-phone{right:-2%;width:160px;height:340px}.services-panel article{padding:28px 20px}.portfolio-grid{grid-template-columns:230px 1fr}.phones-stage .phone-card{flex-basis:190px;width:190px;margin-left:-24px}.phone-frame{height:385px}.testimonial-track article{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:960px){.site-header{height:82px}.header-inner{gap:18px}.menu-toggle{display:block}.header-cta{display:none}.nav{position:absolute;top:82px;left:20px;right:20px;margin:0;padding:14px;display:flex;flex-direction:column;align-items:stretch;gap:0;border:1px solid rgba(56,189,248,.18);border-radius:12px;background:#071422;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s}.nav.open{opacity:1;visibility:visible;transform:none}.nav a{height:46px;padding:0 12px}.nav a::after{display:none}.hero{padding-top:38px}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:780px}.hero-visual{height:480px;margin-top:10px}.laptop{width:76%;left:8%}.hero-phone{right:8%}.services-panel{grid-template-columns:1fr 1fr}.services-panel article:nth-child(2){border-right:0}.services-panel article:nth-child(-n+2){border-bottom:1px solid #e2e8f0}.portfolio-grid{grid-template-columns:1fr}.portfolio-copy{max-width:520px}.portfolio-showcase{min-height:480px}.process-grid{grid-template-columns:1fr}.testimonials-grid{grid-template-columns:1fr}.testimonials-title{display:flex;align-items:end;gap:12px}.contact-banner-inner{grid-template-columns:60px 1fr}.contact-btn{grid-column:1/-1;margin:0 0 20px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-talk{grid-column:2/4}.footer-contact{grid-column:1}.footer-brand{grid-column:1/2}}
@media(max-width:680px){.shell{width:calc(100% - 30px)}.site-header{height:74px}.brand-code{font-size:28px}.brand-copy strong{font-size:20px}.brand-copy small{font-size:7px}.nav{top:74px}.hero{min-height:auto;padding:30px 0 20px}.hero-copy h1{font-size:41px}.hero-copy>p{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.hero-stats{grid-template-columns:1fr 1fr;gap:22px;margin-top:36px}.hero-visual{height:360px}.laptop{width:94%;left:0;top:15px}.laptop-screen{height:280px}.screen-body{left:24px;top:70px}.screen-body h3{font-size:21px}.screen-body p{width:210px}.screen-orb{right:34px;top:74px;width:120px;height:120px}.screen-services{display:none}.hero-phone{width:120px;height:245px;right:1%;top:85px}.hero-phone-screen{padding:36px 12px 14px}.hero-phone-screen h3{font-size:17px}.hero-phone-screen p{display:none}.services-strip{padding-bottom:22px}.services-panel{grid-template-columns:1fr;transform:none;margin-top:0;border-radius:13px}.services-panel article{border-right:0;border-bottom:1px solid #e2e8f0!important}.services-panel article:last-child{border-bottom:0!important}.portfolio-section{padding:46px 0}.portfolio-copy h2{font-size:40px}.portfolio-showcase{min-height:420px}.phones-stage{inset:0 34px 45px;cursor:grab}.phones-stage .phone-card{flex-basis:170px;width:170px;margin-left:-16px}.phone-frame{height:350px}.carousel-arrow{width:42px;height:42px}.showcase-floor{width:90%}.process-section{padding:52px 0}.process-steps{grid-template-columns:1fr 1fr;row-gap:30px}.process-steps article::after{display:none}.testimonial-track article{flex-basis:100%}.testimonials-carousel{padding-inline:45px}.contact-banner-inner{grid-template-columns:48px 1fr;padding:20px}.contact-bubble{width:44px;height:44px;font-size:21px}.contact-banner h2{font-size:17px}.contact-banner p{font-size:12px}.contact-btn{min-width:0;width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand,.footer-contact,.footer-talk{grid-column:auto}.footer-talk{grid-column:1/-1}.whatsapp-float{width:56px;height:56px;right:14px;bottom:14px;font-size:27px}}
@media(max-width:430px){.hero-copy h1{font-size:36px}.hero-visual{height:320px}.laptop-screen{height:245px}.screen-body h3{font-size:18px}.screen-orb{display:none}.hero-phone{width:106px;height:220px;top:75px}.portfolio-showcase{min-height:390px}.phones-stage .phone-card{flex-basis:154px;width:154px;margin-left:-12px}.phone-frame{height:325px}.process-steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-talk{grid-column:auto}.testimonials-title{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ==========================================================
   DISU SOFT — LOGO + DUAL INTERFACE SWITCH
   ========================================================== */
.brand-image{display:inline-flex;align-items:center;flex:0 0 auto;min-width:218px}
.brand-image img{width:218px;height:74px;object-fit:contain;object-position:left center;filter:drop-shadow(0 7px 18px rgba(0,122,255,.16));transition:filter .55s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.footer-logo{min-width:0}.footer-logo img{width:206px;height:72px}
.theme-switch{position:relative;display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 13px;border-radius:11px;border:1px solid rgba(56,189,248,.34);background:linear-gradient(180deg,rgba(10,30,51,.88),rgba(4,13,24,.88));color:#dff3ff;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 10px 32px rgba(0,0,0,.22);transition:all .35s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.theme-switch::before{content:"";position:absolute;inset:-1px;transform:translateX(-115%);background:linear-gradient(110deg,transparent,rgba(56,189,248,.16),transparent);transition:transform .7s ease}
.theme-switch:hover::before{transform:translateX(115%)}
.theme-switch:hover{border-color:rgba(56,189,248,.72);transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,133,255,.14)}
.switch-led{width:9px;height:9px;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 4px rgba(56,189,248,.09),0 0 16px #38bdf8;animation:switchPulse 1.8s ease-in-out infinite}
.switch-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.switch-copy small{font-size:7px;letter-spacing:.16em;color:#7891aa}.switch-copy strong{margin-top:4px;font-size:10px;letter-spacing:.13em;color:#eaf6ff}.theme-switch i{font-size:16px;color:#38bdf8}
@keyframes switchPulse{50%{opacity:.55;box-shadow:0 0 0 7px rgba(56,189,248,0),0 0 22px #38bdf8}}

/* Transición robótica entre las dos interfaces */
.theme-transition{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(1,5,11,.88);backdrop-filter:blur(9px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease;overflow:hidden}
.theme-transition.active{opacity:1;visibility:visible}
.transition-grid{position:absolute;inset:-10%;background:linear-gradient(rgba(56,189,248,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.12) 1px,transparent 1px);background-size:42px 42px;transform:perspective(700px) rotateX(62deg) scale(1.45);transform-origin:center bottom;animation:gridBoot .8s linear infinite}
.transition-grid::after{content:"";position:absolute;left:0;right:0;top:10%;height:3px;background:#38bdf8;box-shadow:0 0 24px #38bdf8,0 0 70px rgba(56,189,248,.9);animation:scanTheme .78s linear infinite}
.transition-core{position:relative;display:grid;justify-items:center;gap:11px;color:#fff;letter-spacing:.12em;text-align:center}
.transition-core span{width:68px;height:68px;border-radius:18px;border:2px solid #38bdf8;box-shadow:0 0 34px rgba(56,189,248,.5),inset 0 0 22px rgba(56,189,248,.16);transform:rotate(45deg);animation:coreSpin .7s ease-in-out infinite alternate}
.transition-core span::before{content:"</>";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-size:18px;transform:rotate(-45deg);color:#38bdf8}
.transition-core b{font-size:12px}.transition-core small{font-size:9px;color:#8aa2ba}
@keyframes gridBoot{to{background-position:0 42px,42px 0}}
@keyframes scanTheme{from{top:-5%}to{top:105%}}
@keyframes coreSpin{to{transform:rotate(135deg) scale(1.08)}}
body.theme-changing main,body.theme-changing .site-header,body.theme-changing .footer{animation:interfaceGlitch .58s steps(2,end)}
@keyframes interfaceGlitch{0%{filter:none;transform:none}22%{filter:hue-rotate(25deg) contrast(1.25);transform:translateX(2px)}45%{filter:brightness(1.45);transform:translateX(-3px) skewX(.35deg)}70%{filter:saturate(1.35);transform:translateX(1px)}100%{filter:none;transform:none}}

/* FIX DEL CARRUSEL: reserva aire real para la parte superior del teléfono central */
.portfolio-showcase{min-height:565px}
.phones-stage{inset:-38px 64px 49px;padding-top:40px;overflow:hidden}
.phones-track{top:52%}
.phone-card{transform-origin:center center}
.phone-card.is-center .phone-frame{animation:none;transform:translateY(-3px)}

/* ==========================================================
   INTERFAZ NEXUS — SEGUNDO DISEÑO
   Negro premium + violeta + dorado, más geométrico/robótico
   ========================================================== */
body.theme-nexus{
  --bg:#05070c;
  --bg-2:#080b12;
  --panel:#0d0d13;
  --panel-2:#12121a;
  --blue:#8b5cf6;
  --blue-2:#6d28d9;
  --cyan:#e7b64a;
  --text:#fafafa;
  --muted:#a1a1aa;
  --line:rgba(231,182,74,.24);
  background:
    radial-gradient(circle at 78% 11%,rgba(124,58,237,.16),transparent 25%),
    radial-gradient(circle at 17% 54%,rgba(231,182,74,.055),transparent 24%),
    #05070c;
}
body.theme-nexus .ambient-a{background:rgba(124,58,237,.12)}
body.theme-nexus .ambient-b{background:rgba(231,182,74,.05)}
body.theme-nexus .site-header{background:rgba(4,5,9,.93);border-bottom-color:rgba(231,182,74,.13)}
body.theme-nexus .brand-image img{filter:drop-shadow(0 7px 20px rgba(124,58,237,.22))}
body.theme-nexus .nav a::after{background:linear-gradient(90deg,#7c3aed,#e7b64a)}
body.theme-nexus .nav a:hover,body.theme-nexus .nav a.active{color:#d6bcfa}
body.theme-nexus .header-cta{background:linear-gradient(135deg,#6d28d9,#9333ea);box-shadow:0 10px 34px rgba(124,58,237,.28);border:1px solid rgba(231,182,74,.28)}
body.theme-nexus .theme-switch{border-color:rgba(231,182,74,.48);background:linear-gradient(180deg,rgba(25,18,12,.9),rgba(7,7,11,.95));color:#fff4d1}
body.theme-nexus .theme-switch .switch-led{background:#e7b64a;box-shadow:0 0 0 4px rgba(231,182,74,.1),0 0 18px #e7b64a}
body.theme-nexus .theme-switch i,body.theme-nexus .switch-copy strong{color:#f6c95e}
body.theme-nexus .section-dark{background:
  linear-gradient(120deg,transparent 0 56%,rgba(124,58,237,.055) 56.2% 56.5%,transparent 56.7%),
  radial-gradient(circle at 76% 25%,rgba(124,58,237,.18),transparent 29%),
  radial-gradient(circle at 61% 43%,rgba(231,182,74,.055),transparent 22%),
  linear-gradient(180deg,#05070c,#080b12)}
body.theme-nexus .pill{border-color:rgba(167,139,250,.38);color:#eee7ff;background:rgba(14,8,27,.5)}
body.theme-nexus .pill i{color:#e7b64a}
body.theme-nexus .hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.035em}
body.theme-nexus .hero-copy h1 em{color:#a855f7;text-shadow:0 0 24px rgba(168,85,247,.14)}
body.theme-nexus .btn-primary{color:#130e03;background:linear-gradient(135deg,#f5d477,#d79c28);box-shadow:0 14px 34px rgba(216,159,42,.22)}
body.theme-nexus .btn-outline{border-color:rgba(231,182,74,.35);background:rgba(12,9,14,.72)}
body.theme-nexus .btn-outline:hover{border-color:#a855f7;box-shadow:0 0 26px rgba(168,85,247,.16)}
body.theme-nexus .hero-stats i{color:#e7b64a}
body.theme-nexus .tech-grid{background:linear-gradient(rgba(168,85,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(231,182,74,.045) 1px,transparent 1px);background-size:31px 31px}
body.theme-nexus .laptop-screen,body.theme-nexus .hero-phone-screen{background:radial-gradient(circle at 78% 18%,rgba(124,58,237,.26),transparent 30%),#06060b}
body.theme-nexus .screen-body small,body.theme-nexus .hero-phone-screen small{color:#c084fc}
body.theme-nexus .screen-body button,body.theme-nexus .hero-phone button{background:#7c3aed}
body.theme-nexus .screen-orb{border-color:rgba(168,85,247,.65);box-shadow:0 0 55px rgba(124,58,237,.28),inset 0 0 38px rgba(231,182,74,.05)}
body.theme-nexus .screen-orb::after{background:rgba(124,58,237,.28);box-shadow:0 0 34px rgba(168,85,247,.55)}
body.theme-nexus .hero-visual::after{background:radial-gradient(ellipse,rgba(124,58,237,.7),rgba(231,182,74,.16),transparent 68%)}

/* Las secciones claras se transforman de forma, no solo de color */
body.theme-nexus .services-strip{background:#05070c;padding-top:22px}
body.theme-nexus .services-panel{transform:none;min-height:154px;background:linear-gradient(180deg,#101017,#08090e);color:#fafafa;border:1px solid rgba(231,182,74,.25);border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.42),inset 0 0 46px rgba(124,58,237,.035);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
body.theme-nexus .services-panel article{border-right-color:rgba(231,182,74,.16);position:relative}
body.theme-nexus .services-panel article::before{content:"";position:absolute;left:30px;top:23px;width:22px;height:2px;background:#e7b64a;box-shadow:0 0 12px rgba(231,182,74,.6)}
body.theme-nexus .services-panel article:hover{background:linear-gradient(145deg,rgba(124,58,237,.11),rgba(231,182,74,.035));transform:translateY(-6px)}
body.theme-nexus .services-panel i{color:#e7b64a;margin-top:10px}
body.theme-nexus .services-panel p{color:#a1a1aa}
body.theme-nexus .portfolio-copy h2 em{color:#a855f7}
body.theme-nexus .showcase-aura{background:radial-gradient(ellipse,rgba(124,58,237,.28),rgba(231,182,74,.05),transparent 69%)}
body.theme-nexus .showcase-floor{border-color:rgba(231,182,74,.64);box-shadow:0 0 24px rgba(231,182,74,.3),0 0 52px rgba(124,58,237,.22),inset 0 0 22px rgba(168,85,247,.12)}
body.theme-nexus .phone-card.is-center .phone-frame{box-shadow:0 0 0 2px rgba(231,182,74,.85),0 0 20px rgba(231,182,74,.26),0 0 42px rgba(124,58,237,.34),0 42px 68px rgba(0,0,0,.72)}
body.theme-nexus .carousel-arrow{border-color:rgba(231,182,74,.7);color:#f6c95e;background:rgba(7,7,12,.9)}
body.theme-nexus .carousel-arrow:hover{background:rgba(231,182,74,.09);box-shadow:0 0 24px rgba(231,182,74,.18)}
body.theme-nexus .carousel-dots button.active{background:#e7b64a;box-shadow:0 0 13px rgba(231,182,74,.8)}

body.theme-nexus .process-section{background:
  linear-gradient(90deg,rgba(231,182,74,.025) 1px,transparent 1px),
  linear-gradient(rgba(124,58,237,.03) 1px,transparent 1px),#080a10;background-size:54px 54px;color:#fafafa;border-top:1px solid rgba(231,182,74,.11);border-bottom:1px solid rgba(124,58,237,.14)}
body.theme-nexus .pill.light{color:#e9d5ff;background:rgba(124,58,237,.08);border-color:rgba(168,85,247,.35)}
body.theme-nexus .process-intro h2{font-family:Georgia,"Times New Roman",serif}
body.theme-nexus .process-intro h2 em{color:#e7b64a}
body.theme-nexus .process-intro p,body.theme-nexus .process-steps p{color:#a1a1aa}
body.theme-nexus .step-icon{border-radius:13px;transform:rotate(45deg);background:linear-gradient(145deg,#15101e,#0b0b10);border:1px solid rgba(231,182,74,.5);color:#e7b64a;box-shadow:0 0 24px rgba(124,58,237,.16)}
body.theme-nexus .step-icon i{transform:rotate(-45deg)}
body.theme-nexus .process-steps article:not(:last-child)::after{border-color:rgba(231,182,74,.42)}
body.theme-nexus .testimonials-title h2 em{color:#e7b64a}
body.theme-nexus .testimonial-track article{border-color:rgba(231,182,74,.25);border-radius:4px;background:linear-gradient(155deg,rgba(18,14,18,.96),rgba(8,8,12,.96));box-shadow:inset 0 0 32px rgba(124,58,237,.045)}
body.theme-nexus .testimonial-track article>i{color:#a855f7}
body.theme-nexus .stars{color:#e7b64a}
body.theme-nexus .testimonial-dots button.active{background:#e7b64a}
body.theme-nexus .contact-banner{background:#05070c}
body.theme-nexus .contact-banner-inner{border-color:rgba(231,182,74,.4);border-radius:5px;background:linear-gradient(100deg,#100b12,#090910 53%,#151009);box-shadow:inset 0 0 36px rgba(124,58,237,.06),0 0 28px rgba(231,182,74,.04);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
body.theme-nexus .contact-bubble{background:radial-gradient(circle,#8b5cf6,#5b21b6);box-shadow:0 0 27px rgba(168,85,247,.45)}
body.theme-nexus .footer{background:#05070b;border-top-color:rgba(231,182,74,.16)}
body.theme-nexus .socials a:hover{border-color:#e7b64a;color:#f6c95e}

/* transición overlay en modo nexus */
body.theme-nexus .transition-grid{background:linear-gradient(rgba(231,182,74,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.11) 1px,transparent 1px);background-size:42px 42px}
body.theme-nexus .transition-grid::after{background:#e7b64a;box-shadow:0 0 24px #e7b64a,0 0 70px rgba(168,85,247,.8)}
body.theme-nexus .transition-core span{border-color:#e7b64a;box-shadow:0 0 34px rgba(231,182,74,.35),inset 0 0 22px rgba(168,85,247,.15)}
body.theme-nexus .transition-core span::before{color:#e7b64a}

@media(max-width:1260px){
  .brand-image{min-width:190px}.brand-image img{width:190px;height:68px}
  .theme-switch{padding-inline:10px}.switch-copy{display:none}
  .portfolio-showcase{min-height:540px}.phones-stage{inset:-30px 56px 49px}
}
@media(max-width:960px){
  .brand-image{min-width:174px}.brand-image img{width:174px;height:60px}
  .theme-switch{margin-left:0;width:45px;justify-content:center;padding:0}.theme-switch .switch-led,.theme-switch .switch-copy{display:none}.theme-switch i{font-size:19px}
  .menu-toggle{order:4}.theme-switch{order:3}.nav{z-index:90}
  .portfolio-showcase{min-height:520px}.phones-stage{inset:-26px 52px 49px}
  body.theme-nexus .services-strip{padding-top:0}
}
@media(max-width:680px){
  .header-inner{gap:9px}.brand-image{min-width:155px}.brand-image img{width:155px;height:57px}
  .theme-switch{width:41px;height:41px}
  .portfolio-showcase{min-height:455px}.phones-stage{inset:-18px 31px 42px;padding-top:31px}.phones-track{top:51%}
  body.theme-nexus .services-panel{clip-path:none;border-radius:8px}
}
@media(max-width:430px){
  .brand-image{min-width:138px}.brand-image img{width:138px;height:53px}
  .portfolio-showcase{min-height:430px}.phones-stage{inset:-16px 27px 40px;padding-top:28px}
}

/* ==========================================================
   V6 — HERO SLIDER + PORTAFOLIO FULL WIDTH
   ========================================================== */
.hero{position:relative;overflow:hidden}
.hero-shell{position:relative;min-height:100%}
.hero-grid{transition:opacity .38s ease,transform .48s cubic-bezier(.2,.8,.2,1),filter .38s ease}
.hero-grid.is-switching{opacity:.18;transform:translateX(var(--hero-shift,22px)) scale(.992);filter:blur(3px)}
.hero-copy,.hero-visual{transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .45s ease}
.hero-nav{position:absolute;top:49%;z-index:25;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(56,189,248,.48);background:rgba(4,15,27,.72);backdrop-filter:blur(12px);color:#8bd7ff;font-size:22px;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.02),0 14px 40px rgba(0,0,0,.32),0 0 26px rgba(22,133,255,.12);transition:.28s}
.hero-nav:hover{transform:translateY(-2px) scale(1.06);border-color:rgba(56,189,248,.92);background:rgba(10,42,72,.78);box-shadow:0 0 30px rgba(22,133,255,.24)}
.hero-nav-prev{left:max(14px,calc((100vw - 1540px)/2))}.hero-nav-next{right:max(14px,calc((100vw - 1540px)/2))}
.hero-dots{position:absolute;z-index:30;left:50%;bottom:17px;transform:translateX(-50%);display:flex;gap:9px}
.hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#64748b;cursor:pointer;transition:.28s}
.hero-dots button.active{width:28px;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 16px rgba(22,133,255,.72)}
.hero[data-slide="1"] .screen-orb{border-radius:22px;transform:rotate(12deg);box-shadow:0 0 60px rgba(56,189,248,.28),inset 0 0 48px rgba(22,133,255,.08)}
.hero[data-slide="2"] .screen-orb{border-radius:50%;transform:rotate(0deg);box-shadow:0 0 66px rgba(22,133,255,.34),inset 0 0 44px rgba(56,189,248,.12)}

.portfolio-section{padding:62px 0 74px}
.portfolio-grid{display:block}
.portfolio-heading{max-width:820px;margin:0 auto 8px;text-align:center}
.portfolio-heading .pill{justify-content:center}
.portfolio-heading h2{margin:15px 0 0;font-size:clamp(38px,4vw,58px);line-height:1.02;letter-spacing:-.035em}
.portfolio-heading h2 em{font-style:normal;color:var(--blue)}
.portfolio-heading p{max-width:680px;margin:14px auto 0;color:#cbd5e1;font-size:14px;line-height:1.65}
.portfolio-showcase{min-height:555px;width:100%;margin-top:8px}
.phones-stage{inset:-44px 56px 48px;padding-top:54px}
.showcase-floor{width:87%}
.carousel-prev{left:-4px}.carousel-next{right:-4px}

/* Nexus: hero y portfolio conservan la misma estructura con identidad propia */
body.theme-nexus .hero-nav{border-color:rgba(231,182,74,.48);color:#f4c85b;background:rgba(9,7,12,.78);box-shadow:0 0 25px rgba(168,85,247,.13)}
body.theme-nexus .hero-nav:hover{border-color:#e7b64a;box-shadow:0 0 28px rgba(231,182,74,.22),0 0 42px rgba(168,85,247,.12)}
body.theme-nexus .hero-dots button.active{background:linear-gradient(90deg,#e7b64a,#a855f7);box-shadow:0 0 17px rgba(231,182,74,.5)}
body.theme-nexus .portfolio-heading h2 em{color:#a855f7;text-shadow:0 0 18px rgba(168,85,247,.16)}
body.theme-nexus .portfolio-heading p{color:#b8b3c2}

@media(max-width:1260px){
  .hero-nav-prev{left:10px}.hero-nav-next{right:10px}
  .portfolio-showcase{min-height:535px}.phones-stage{inset:-36px 50px 46px;padding-top:48px}
}
@media(max-width:960px){
  .hero-nav{width:46px;height:46px;top:60%}.hero-nav-prev{left:8px}.hero-nav-next{right:8px}
  .hero-dots{bottom:9px}
  .portfolio-heading{margin-bottom:0}.portfolio-showcase{min-height:510px}.phones-stage{inset:-30px 44px 44px;padding-top:45px}
}
@media(max-width:680px){
  .hero-nav{display:none}
  .hero-dots{bottom:4px}
  .portfolio-section{padding-top:48px}
  .portfolio-heading h2{font-size:38px}.portfolio-heading p{font-size:13px;padding-inline:8px}
  .portfolio-showcase{min-height:465px;margin-top:2px}.phones-stage{inset:-22px 20px 40px;padding-top:42px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%)}
  .carousel-prev{left:-4px}.carousel-next{right:-4px}
}
@media(max-width:430px){
  .portfolio-heading h2{font-size:34px}.portfolio-showcase{min-height:438px}.phones-stage{inset:-18px 14px 37px;padding-top:38px}
}

/* ==========================================================
   DISU SOFT — HERO VISUALES REALES + TESTIMONIOS PREMIUM
   ========================================================== */
.hero-art{height:520px;display:flex;align-items:center;justify-content:center;overflow:visible;isolation:isolate}
.hero-art::after{content:"";position:absolute;left:8%;right:3%;bottom:28px;height:28px;background:radial-gradient(ellipse,rgba(22,133,255,.78),transparent 68%);filter:blur(15px);z-index:-1}
.hero-art-glow{position:absolute;inset:12% 2% 8% 5%;background:radial-gradient(circle at 58% 48%,rgba(37,99,235,.22),transparent 42%),radial-gradient(circle at 72% 62%,rgba(56,189,248,.12),transparent 36%);filter:blur(8px);z-index:-1}
.hero-art img{width:100%;max-width:900px;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 34px 50px rgba(0,0,0,.55));transition:opacity .26s ease,transform .48s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.hero-grid.is-switching .hero-art img{opacity:.06;transform:translateX(var(--hero-shift,20px)) scale(.97);filter:blur(7px)}
body.theme-nexus .hero-art::after{background:radial-gradient(ellipse,rgba(124,58,237,.72),rgba(231,182,74,.16),transparent 70%)}
body.theme-nexus .hero-art-glow{background:radial-gradient(circle at 58% 48%,rgba(124,58,237,.28),transparent 43%),radial-gradient(circle at 72% 62%,rgba(231,182,74,.10),transparent 34%)}

.testimonials{padding:92px 0 82px;position:relative;overflow:hidden}
.testimonials::before{content:"";position:absolute;width:700px;height:320px;border-radius:50%;left:50%;top:40%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(37,99,235,.15),transparent 68%);filter:blur(24px);pointer-events:none}
.testimonials-head{text-align:center;max-width:760px;margin:0 auto 44px}
.testimonials-head h2{font-size:clamp(34px,4vw,56px);margin:14px 0 12px;letter-spacing:-.04em}
.testimonials-head h2 em{font-style:normal;color:var(--blue)}
.testimonials-head>p{color:#a8b5c7;line-height:1.75;font-size:16px;max-width:680px;margin:auto}
.testimonials-premium{padding:0 62px 34px}
.testimonials-premium .testimonial-viewport{overflow:hidden;padding:22px 0 30px}
.testimonials-premium .testimonial-track{gap:28px;align-items:center}
.testimonials-premium .testimonial-track article{position:relative;flex:0 0 calc((100% - 56px)/3);min-height:260px;padding:36px 32px 30px;border:1px solid rgba(56,189,248,.16);border-radius:26px 8px 26px 8px;background:linear-gradient(145deg,rgba(13,35,61,.92),rgba(5,16,29,.86));box-shadow:0 24px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.testimonials-premium .testimonial-track article:nth-child(even){transform:translateY(18px)}
.testimonials-premium .testimonial-track article:hover{transform:translateY(-8px);border-color:rgba(56,189,248,.5);box-shadow:0 30px 80px rgba(0,0,0,.38),0 0 30px rgba(37,99,235,.08)}
.testimonials-premium .testimonial-track article:nth-child(even):hover{transform:translateY(8px)}
.quote-orb{position:absolute;right:24px;top:-20px;width:54px;height:54px;border-radius:18px 6px 18px 6px;display:grid;place-items:center;background:linear-gradient(135deg,#0f69ff,#35c6ff);box-shadow:0 12px 32px rgba(37,99,235,.32);transform:rotate(7deg)}
.quote-orb i{font-size:24px;color:#fff;transform:rotate(-7deg)}
.testimonials-premium .stars{margin:0 0 18px;color:#45a9ff;font-size:14px;letter-spacing:.18em}
.testimonials-premium .testimonial-track p{font-size:15px;line-height:1.8;color:#e3ebf6;margin:0 0 28px}
.testimonial-person{display:flex;align-items:center;gap:12px;margin-top:auto}
.testimonial-person>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#173b67,#0e79cc);border:2px solid rgba(255,255,255,.18)}
.testimonial-person strong{display:block;color:#fff;font-size:14px}.testimonial-person small{display:block;color:#8393aa;margin-top:4px;font-size:11px}
.testimonials-premium .testimonial-arrow{top:50%;width:48px;height:48px;border-color:rgba(56,189,248,.3);background:rgba(5,18,33,.86);backdrop-filter:blur(14px)}
.testimonials-premium .testimonial-arrow:hover{border-color:#38bdf8;box-shadow:0 0 28px rgba(56,189,248,.16)}
body.theme-nexus .testimonials::before{background:radial-gradient(circle,rgba(124,58,237,.15),rgba(231,182,74,.045),transparent 68%)}
body.theme-nexus .testimonials-head h2 em{color:#e7b64a}
body.theme-nexus .testimonials-premium .testimonial-track article{border-color:rgba(231,182,74,.18);border-radius:8px 28px 8px 28px;background:linear-gradient(145deg,rgba(18,12,23,.95),rgba(7,7,12,.92))}
body.theme-nexus .quote-orb{background:linear-gradient(135deg,#7c3aed,#e7b64a)}
body.theme-nexus .testimonials-premium .stars{color:#e7b64a}
body.theme-nexus .testimonial-person>span{background:linear-gradient(135deg,#5b21b6,#b78126)}

@media(max-width:1260px){.hero-art{height:470px}.testimonials-premium .testimonial-track article{flex-basis:calc((100% - 28px)/2)}}
@media(max-width:960px){.hero-art{height:430px;margin-top:8px}.hero-art img{max-width:820px}.testimonials{padding:72px 0}.testimonials-premium{padding-inline:52px}}
@media(max-width:680px){.hero-art{height:310px;margin-top:8px}.hero-art img{width:112%;max-width:none}.testimonials{padding:58px 0}.testimonials-head{margin-bottom:24px;text-align:left}.testimonials-head h2{font-size:36px}.testimonials-premium{padding-inline:38px}.testimonials-premium .testimonial-track article{flex-basis:100%;min-height:250px;border-radius:22px 7px 22px 7px;padding:32px 26px}.testimonials-premium .testimonial-track article:nth-child(even){transform:none}.testimonials-premium .testimonial-track article:hover,.testimonials-premium .testimonial-track article:nth-child(even):hover{transform:none}.testimonials-premium .testimonial-arrow{width:40px;height:40px}}
@media(max-width:430px){.hero-art{height:265px}.hero-art img{width:124%}.testimonials-premium{padding-inline:30px}.testimonials-head h2{font-size:32px}}

/* ==========================================================
   HERO VISUAL — IMÁGENES INTEGRADAS, GRANDES Y SIN "CAPTURA"
   Mantiene intactas las demás secciones.
   ========================================================== */
.hero-art{
  position:relative;
  height:570px;
  min-width:0;
  overflow:hidden;
  border-radius:32px;
  isolation:isolate;
  background:#06101c;
  box-shadow:0 34px 90px rgba(0,0,0,.28);
}
.hero-art::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(6,16,28,.92) 0%,rgba(6,16,28,.36) 10%,transparent 27%),
    linear-gradient(180deg,rgba(6,16,28,.12),transparent 22%,transparent 77%,rgba(6,16,28,.24));
}
.hero-art::after{
  content:"";
  position:absolute;
  left:12%;right:7%;bottom:15px;height:24px;
  z-index:3;
  background:radial-gradient(ellipse,rgba(22,133,255,.72),transparent 68%);
  filter:blur(13px);
  pointer-events:none;
}
.hero-art-glow{
  position:absolute;inset:8%;z-index:0;
  background:radial-gradient(circle at 60% 50%,rgba(22,133,255,.2),transparent 55%);
  filter:blur(26px);pointer-events:none;
}
.hero-art img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  display:block;
  filter:saturate(1.05) contrast(1.03) drop-shadow(0 28px 44px rgba(0,0,0,.38));
  transform:scale(1.035);
  transition:opacity .28s ease,transform .5s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}
.hero-grid.is-switching .hero-art img{opacity:.08;transform:translateX(var(--hero-shift,20px)) scale(1.07);filter:blur(5px)}
body.theme-nexus .hero-art{background:#09070d;box-shadow:0 34px 90px rgba(0,0,0,.34),0 0 0 1px rgba(231,182,74,.08)}
body.theme-nexus .hero-art::before{background:linear-gradient(90deg,rgba(9,7,13,.94) 0%,rgba(9,7,13,.34) 10%,transparent 27%),linear-gradient(180deg,rgba(9,7,13,.16),transparent 22%,transparent 77%,rgba(9,7,13,.28))}
body.theme-nexus .hero-art::after{background:radial-gradient(ellipse,rgba(124,58,237,.72),rgba(231,182,74,.18),transparent 70%)}

.hero-stats .stat-counter{font-variant-numeric:tabular-nums;min-width:48px;display:inline-block}

@media(max-width:1260px){.hero-art{height:500px;border-radius:26px}}
@media(max-width:960px){.hero-art{height:420px;margin-top:14px;border-radius:24px}.hero-art img{object-position:center center}}
@media(max-width:680px){
  .hero-art{height:300px;margin-top:18px;border-radius:20px}
  .hero-art::before{background:linear-gradient(180deg,rgba(6,16,28,.16),transparent 28%,transparent 76%,rgba(6,16,28,.3))}
  .hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02)}
}
@media(max-width:430px){.hero-art{height:250px;border-radius:18px}}

/* HERO QUALITY PASS — 2026-08-26 */
.hero-art img{
  image-rendering:auto;
  transform:none;
  filter:saturate(1.04) contrast(1.025) drop-shadow(0 28px 44px rgba(0,0,0,.32));
}
@media (min-width:961px){
  .hero-art img{object-fit:cover;object-position:center center;}
}
@media (max-width:960px){
  .hero-art img{object-fit:cover;object-position:62% center;}
}
@media (max-width:680px){
  .hero-art img{transform:none;object-position:68% center;}
}

/* ==========================================================
   HERO FINAL — VISUALES HQ / ENCUADRE CORREGIDO
   Solo modifica el hero. El resto del sitio permanece intacto.
   ========================================================== */
@media (min-width: 961px){
  .hero{padding-top:54px;overflow:hidden}
  .hero-grid{
    grid-template-columns:minmax(500px,.9fr) minmax(610px,1.1fr);
    gap:34px;
    align-items:center;
  }
  .hero-copy{position:relative;z-index:5}
  .hero-visual.hero-art{
    height:575px;
    border-radius:30px;
    overflow:hidden;
    background:linear-gradient(145deg,#071426,#030b14);
    box-shadow:0 32px 85px rgba(0,0,0,.36),inset 0 0 0 1px rgba(56,189,248,.055);
  }
  .hero-art::before{
    background:linear-gradient(90deg,rgba(6,16,28,.68) 0%,rgba(6,16,28,.15) 9%,transparent 22%),linear-gradient(180deg,rgba(6,16,28,.08),transparent 25%,transparent 80%,rgba(6,16,28,.18));
  }
  .hero-art img{
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    padding:0;
    transform:none;
    image-rendering:auto;
    backface-visibility:hidden;
    filter:saturate(1.05) contrast(1.035) drop-shadow(0 24px 38px rgba(0,0,0,.30));
  }
  /* Slide 1: recorte pensado para que notebook y teléfono queden centrados. */
  .hero[data-slide="0"] .hero-art img{
    object-fit:cover;
    object-position:50% 50%;
  }
  /* Slide 2/3 son SVG vectoriales: se muestran completos y siempre nítidos. */
  .hero[data-slide="1"] .hero-art img,
  .hero[data-slide="2"] .hero-art img{
    object-fit:contain;
    object-position:center;
    width:96%;
    height:96%;
    left:2%;
    top:2%;
  }
  .hero[data-slide="1"] .hero-art{
    background:radial-gradient(circle at 58% 45%,#102546 0%,#071426 56%,#040b14 100%);
  }
  .hero[data-slide="2"] .hero-art{
    background:radial-gradient(circle at 58% 48%,#073244 0%,#061923 56%,#030a10 100%);
  }
}

@media (max-width: 1260px) and (min-width: 961px){
  .hero-grid{grid-template-columns:minmax(430px,.88fr) minmax(530px,1.12fr);gap:26px}
  .hero-visual.hero-art{height:510px}
}

@media (max-width: 960px){
  .hero-visual.hero-art{
    height:440px;
    margin-top:18px;
    border-radius:24px;
    overflow:hidden;
  }
  .hero[data-slide="0"] .hero-art img{
    width:100%;height:100%;object-fit:cover;object-position:52% center;
  }
  .hero[data-slide="1"] .hero-art img,
  .hero[data-slide="2"] .hero-art img{
    width:100%;height:100%;left:0;top:0;object-fit:contain;object-position:center;
  }
}

@media (max-width: 680px){
  .hero-visual.hero-art{height:330px;border-radius:20px}
  .hero[data-slide="0"] .hero-art img{object-position:58% center}
  .hero[data-slide="1"] .hero-art img,
  .hero[data-slide="2"] .hero-art img{object-fit:contain}
}

@media (max-width: 430px){
  .hero-visual.hero-art{height:285px;border-radius:18px}
}

/* ==========================================================
   HERO FULL-BLEED FINAL — imagen de cada slide como fondo total
   Solo afecta el hero. Mantiene intacto el resto de la página.
   ========================================================== */
.hero{
  position:relative;
  padding:0 !important;
  min-height:720px;
  overflow:hidden;
  background:#050d17;
}
.hero .hero-shell{
  position:relative;
  min-height:720px;
  overflow:hidden;
  isolation:isolate;
}
.hero .hero-grid{
  position:relative;
  z-index:4;
  min-height:720px;
  width:min(100% - 56px, 1420px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(460px, 650px) 1fr;
  align-items:center;
  gap:36px;
  padding:52px 0 38px;
}
.hero .hero-copy{
  position:relative;
  z-index:6;
  max-width:650px;
  text-shadow:0 2px 22px rgba(0,0,0,.22);
}

/* El visual deja de ser una tarjeta: ahora cubre TODO el hero. */
.hero .hero-visual.hero-art{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#050d17 !important;
  box-shadow:none !important;
  pointer-events:none;
}
.hero .hero-art-glow{display:none !important}
.hero .hero-art::after{display:none !important}

/* Degradado para integrar imagen + texto y eliminar cualquier borde visible. */
.hero .hero-art::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      #050d17 0%,
      rgba(5,13,23,.98) 24%,
      rgba(5,13,23,.90) 34%,
      rgba(5,13,23,.52) 48%,
      rgba(5,13,23,.16) 64%,
      rgba(5,13,23,.02) 82%),
    linear-gradient(180deg,
      rgba(5,13,23,.30) 0%,
      transparent 18%,
      transparent 78%,
      rgba(5,13,23,.42) 100%);
}

.hero .hero-art img{
  position:absolute !important;
  inset:0 !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  padding:0 !important;
  object-fit:cover !important;
  display:block;
  transform:none !important;
  filter:saturate(1.06) contrast(1.035) brightness(.96) !important;
  image-rendering:auto;
  backface-visibility:hidden;
}

/* Encuadre independiente por slide. */
.hero[data-slide="0"] .hero-art img{object-position:66% 50% !important}
.hero[data-slide="1"] .hero-art img{object-position:72% 50% !important}
.hero[data-slide="2"] .hero-art img{object-position:72% 50% !important}

/* Nexus mantiene la misma integración, con matiz violeta/dorado. */
body.theme-nexus .hero{background:#08070b}
body.theme-nexus .hero .hero-art::before{
  background:
    linear-gradient(90deg,
      #08070b 0%,
      rgba(8,7,11,.98) 24%,
      rgba(8,7,11,.91) 34%,
      rgba(8,7,11,.56) 48%,
      rgba(8,7,11,.18) 64%,
      rgba(8,7,11,.03) 82%),
    linear-gradient(180deg,
      rgba(8,7,11,.34) 0%,
      transparent 18%,
      transparent 78%,
      rgba(8,7,11,.48) 100%),
    radial-gradient(circle at 75% 45%,rgba(124,58,237,.14),transparent 42%);
}
body.theme-nexus .hero .hero-art img{
  filter:saturate(1.04) contrast(1.045) brightness(.88) hue-rotate(5deg) !important;
}

/* Flechas y dots siempre sobre la imagen. */
.hero .hero-nav,.hero .hero-dots{z-index:8}

@media(max-width:1260px){
  .hero,.hero .hero-shell{min-height:690px}
  .hero .hero-grid{
    min-height:690px;
    width:min(100% - 44px,1180px);
    grid-template-columns:minmax(430px,590px) 1fr;
    padding-top:44px;
  }
  .hero[data-slide="0"] .hero-art img{object-position:68% center !important}
  .hero[data-slide="1"] .hero-art img,
  .hero[data-slide="2"] .hero-art img{object-position:74% center !important}
}

@media(max-width:960px){
  .hero,.hero .hero-shell{min-height:auto}
  .hero .hero-grid{
    min-height:760px;
    width:min(100% - 38px,760px);
    grid-template-columns:1fr;
    align-items:end;
    padding:72px 0 48px;
  }
  .hero .hero-copy{max-width:680px}
  .hero .hero-visual.hero-art{
    height:100% !important;
    border-radius:0 !important;
  }
  .hero .hero-art::before{
    background:
      linear-gradient(180deg,
        rgba(5,13,23,.28) 0%,
        rgba(5,13,23,.46) 30%,
        rgba(5,13,23,.88) 58%,
        #050d17 100%),
      linear-gradient(90deg,rgba(5,13,23,.36),rgba(5,13,23,.08));
  }
  .hero[data-slide="0"] .hero-art img{object-position:67% 32% !important}
  .hero[data-slide="1"] .hero-art img,
  .hero[data-slide="2"] .hero-art img{object-position:70% 28% !important}
  body.theme-nexus .hero .hero-art::before{
    background:
      linear-gradient(180deg,
        rgba(8,7,11,.30) 0%,
        rgba(8,7,11,.50) 31%,
        rgba(8,7,11,.90) 60%,
        #08070b 100%),
      radial-gradient(circle at 70% 28%,rgba(124,58,237,.14),transparent 45%);
  }
}

@media(max-width:680px){
  .hero .hero-grid{
    min-height:760px;
    width:calc(100% - 30px);
    padding:58px 0 38px;
  }
  .hero .hero-art img{filter:saturate(1.04) contrast(1.03) brightness(.82) !important}
  .hero[data-slide="0"] .hero-art img{object-position:69% 20% !important}
  .hero[data-slide="1"] .hero-art img,
  .hero[data-slide="2"] .hero-art img{object-position:72% 18% !important}
}

@media(max-width:430px){
  .hero .hero-grid{min-height:730px;padding-top:48px}
}


/* =====================================================
   HERO PARTICLES — CANVAS REAL, SOBRE TODO EL HERO
   Imagen < canvas < contenido. No altera otras secciones.
===================================================== */
.hero .hero-particles{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:3;
  pointer-events:none;
  display:block;
  opacity:.92;
}

/* La capa de imagen permanece debajo de las partículas. */
.hero .hero-visual.hero-art{z-index:0 !important}
.hero .hero-copy{z-index:6 !important}
.hero .hero-nav,.hero .hero-dots{z-index:9 !important}

@media(max-width:680px){
  .hero .hero-particles{opacity:.72}
}

@media(prefers-reduced-motion:reduce){
  .hero .hero-particles{opacity:.5}
}


/* =====================================================
   RED DE PARTÍCULAS GLOBAL — BLUE / NEXUS
   Solo en zonas oscuras. Fondo < partículas < contenido.
===================================================== */
.particle-zone{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.section-particles{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  pointer-events:none;
  z-index:1;
  opacity:.72;
}
.particle-zone > .shell{
  position:relative;
  z-index:2;
}
.portfolio-section .section-particles{opacity:.78}
.testimonials .section-particles{opacity:.68}
.contact-banner .section-particles{opacity:.55}
.footer .section-particles{opacity:.42}

/* Hero: por encima de la imagen/degradado y debajo del contenido. */
.hero .hero-particles{
  z-index:3 !important;
  opacity:.9;
}
.hero .hero-copy{z-index:6 !important}
.hero .hero-nav,.hero .hero-dots{z-index:9 !important}

body.theme-nexus .section-particles{opacity:.76}
body.theme-nexus .footer .section-particles{opacity:.48}

@media(max-width:680px){
  .section-particles{opacity:.52}
  .hero .hero-particles{opacity:.66}
  .footer .section-particles{opacity:.32}
}

@media(prefers-reduced-motion:reduce){
  .section-particles{opacity:.34}
}

/* =====================================================
   HERO IMMERSIVE TECH — HUD + PARALLAX + SCAN
   Solo afecta el hero. Respeta BLUE / NEXUS.
===================================================== */
.hero-tech-layer{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden;perspective:1200px}
.hero-hud{position:absolute;inset:0;transform:translate3d(var(--hud-x,0),var(--hud-y,0),0);transition:transform .18s ease-out}
.hero-hud-chip{position:absolute;display:flex;align-items:center;gap:9px;min-height:34px;padding:8px 12px;border:1px solid rgba(77,184,255,.28);border-radius:9px;background:linear-gradient(135deg,rgba(5,20,35,.68),rgba(7,32,55,.34));backdrop-filter:blur(9px);box-shadow:0 8px 30px rgba(0,0,0,.18),inset 0 0 20px rgba(31,143,255,.035);color:#dff4ff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateY(8px) scale(.96);animation:hudEnter .55s cubic-bezier(.2,.8,.2,1) forwards,hudFloat 5s ease-in-out infinite 1s}
.hero-hud-chip i{font-size:13px;color:#49c5ff;text-shadow:0 0 14px rgba(73,197,255,.72)}
.hero-hud-chip::before{content:"";width:5px;height:5px;border-radius:50%;background:#43d6ff;box-shadow:0 0 10px #43d6ff;animation:hudPulse 1.8s ease-in-out infinite}
.hero-hud-chip:nth-child(1){right:8%;top:20%;animation-delay:.12s,1s}
.hero-hud-chip:nth-child(2){right:25%;top:35%;animation-delay:.24s,1.3s}
.hero-hud-chip:nth-child(3){right:6%;top:51%;animation-delay:.36s,1.7s}
.hero-hud-chip:nth-child(4){right:20%;top:67%;animation-delay:.48s,2.1s}
.hero-hud-chip:nth-child(5){right:5%;top:78%;animation-delay:.60s,2.5s}
.hero-reticle{position:absolute;right:19%;top:42%;width:190px;height:190px;border:1px solid rgba(62,181,255,.12);border-radius:50%;opacity:.52;transform:translate3d(var(--ret-x,0),var(--ret-y,0),0);transition:transform .22s ease-out}
.hero-reticle::before,.hero-reticle::after{content:"";position:absolute;border-radius:50%;inset:22px;border:1px dashed rgba(62,181,255,.14);animation:reticleSpin 16s linear infinite}
.hero-reticle::after{inset:55px;border-style:solid;border-color:rgba(62,181,255,.2);animation-direction:reverse;animation-duration:10s}
.hero-scan{position:absolute;z-index:7;left:0;right:0;top:-3px;height:2px;opacity:0;background:linear-gradient(90deg,transparent 0%,rgba(80,194,255,.18) 20%,rgba(105,210,255,.95) 50%,rgba(80,194,255,.18) 80%,transparent 100%);box-shadow:0 0 18px rgba(62,181,255,.55);pointer-events:none}
.hero.is-scanning .hero-scan{animation:heroScan .72s cubic-bezier(.3,.65,.2,1)}
.hero-data-sweep{position:absolute;z-index:6;inset:0;opacity:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(65,188,255,.04) 9px 10px);transform:translateX(-100%)}
.hero.is-scanning .hero-data-sweep{animation:dataSweep .72s ease-out}
.hero-cursor-glow{position:absolute;z-index:4;width:360px;height:360px;border-radius:50%;left:var(--mx,70%);top:var(--my,45%);transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(48,169,255,.11),rgba(28,114,255,.035) 34%,transparent 68%);filter:blur(4px);pointer-events:none;transition:opacity .3s;opacity:.75}
.hero .hero-copy{transform:translate3d(var(--copy-x,0),var(--copy-y,0),0);transition:transform .18s ease-out}
.hero .hero-art img{transform:translate3d(var(--art-x,0),var(--art-y,0),0) scale(1.018) !important;transition:transform .2s ease-out,filter .35s ease,opacity .3s ease !important}
.hero-grid.is-switching .hero-art img{opacity:.18 !important;filter:blur(3px) saturate(1.1) !important}
body.theme-nexus .hero-hud-chip{border-color:rgba(192,132,252,.26);background:linear-gradient(135deg,rgba(15,8,24,.72),rgba(50,21,73,.32));color:#f5eaff;box-shadow:0 8px 30px rgba(0,0,0,.2),inset 0 0 20px rgba(168,85,247,.045)}
body.theme-nexus .hero-hud-chip i{color:#e7b64a;text-shadow:0 0 14px rgba(231,182,74,.52)}
body.theme-nexus .hero-hud-chip::before{background:#c084fc;box-shadow:0 0 10px #c084fc}
body.theme-nexus .hero-reticle{border-color:rgba(231,182,74,.13)}
body.theme-nexus .hero-reticle::before{border-color:rgba(192,132,252,.16)}
body.theme-nexus .hero-reticle::after{border-color:rgba(231,182,74,.2)}
body.theme-nexus .hero-scan{background:linear-gradient(90deg,transparent,rgba(168,85,247,.2),rgba(231,182,74,.92),rgba(168,85,247,.2),transparent);box-shadow:0 0 18px rgba(168,85,247,.45)}
body.theme-nexus .hero-data-sweep{background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(192,132,252,.04) 9px 10px)}
body.theme-nexus .hero-cursor-glow{background:radial-gradient(circle,rgba(168,85,247,.12),rgba(231,182,74,.025) 35%,transparent 68%)}
@keyframes hudEnter{to{opacity:.88;transform:translateY(0) scale(1)}}
@keyframes hudFloat{0%,100%{margin-top:0}50%{margin-top:-7px}}
@keyframes hudPulse{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.25)}}
@keyframes reticleSpin{to{transform:rotate(360deg)}}
@keyframes heroScan{0%{top:0;opacity:0}12%{opacity:.95}85%{opacity:.7}100%{top:100%;opacity:0}}
@keyframes dataSweep{0%{opacity:0;transform:translateX(-35%)}20%{opacity:.75}100%{opacity:0;transform:translateX(35%)}}
@media(max-width:1100px){.hero-hud-chip:nth-child(2),.hero-hud-chip:nth-child(4){display:none}.hero-hud-chip:nth-child(1){right:5%;top:18%}.hero-hud-chip:nth-child(3){right:5%;top:42%}.hero-hud-chip:nth-child(5){right:5%;top:65%}.hero-reticle{right:10%;width:150px;height:150px}}
@media(max-width:760px){.hero-tech-layer{display:none}.hero-cursor-glow{display:none}.hero .hero-copy,.hero .hero-art img{transform:none !important}}
@media(prefers-reduced-motion:reduce){.hero-tech-layer,.hero-cursor-glow{display:none}.hero .hero-copy,.hero .hero-art img{transform:none !important}}

/* =====================================================
   HERO — AJUSTE FINAL HQ SLIDES 2 Y 3
   Mantiene el resto del sitio intacto.
===================================================== */
.hero[data-slide="1"] .hero-art img{
  object-position:62% 50% !important;
  filter:saturate(1.08) contrast(1.045) brightness(.94) !important;
}
.hero[data-slide="2"] .hero-art img{
  object-position:64% 50% !important;
  filter:saturate(1.08) contrast(1.05) brightness(.93) !important;
}
body.theme-nexus .hero[data-slide="1"] .hero-art img{
  filter:saturate(1.04) contrast(1.05) brightness(.86) hue-rotate(14deg) !important;
}
body.theme-nexus .hero[data-slide="2"] .hero-art img{
  filter:saturate(1.10) contrast(1.06) brightness(.90) !important;
}
@media(max-width:960px){
  .hero[data-slide="1"] .hero-art img{object-position:67% 28% !important}
  .hero[data-slide="2"] .hero-art img{object-position:69% 27% !important}
}
@media(max-width:680px){
  .hero[data-slide="1"] .hero-art img{object-position:70% 18% !important}
  .hero[data-slide="2"] .hero-art img{object-position:72% 18% !important}
}

/* ==========================================================
   PROCESO PREMIUM — BLUE / NEXUS
   Solo reemplaza visualmente la sección #proceso.
   ========================================================== */
.process-premium{
  position:relative;
  overflow:hidden;
  padding:92px 0 78px;
  color:#f8fafc;
  background:
    radial-gradient(circle at 18% 20%,rgba(22,133,255,.12),transparent 34%),
    radial-gradient(circle at 82% 58%,rgba(56,189,248,.08),transparent 34%),
    linear-gradient(180deg,#06101c 0%,#071421 55%,#06101c 100%);
  border-top:1px solid rgba(56,189,248,.11);
  border-bottom:1px solid rgba(56,189,248,.10);
  isolation:isolate;
}
.process-premium::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgba(56,189,248,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(56,189,248,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(180deg,transparent,#000 16%,#000 84%,transparent);
}
.process-energy{
  position:absolute;
  z-index:-1;
  left:8%;right:8%;top:245px;height:340px;
  background:
    radial-gradient(ellipse at 25% 50%,rgba(22,133,255,.18),transparent 30%),
    radial-gradient(ellipse at 72% 50%,rgba(56,189,248,.10),transparent 32%);
  filter:blur(22px);
  pointer-events:none;
}
.process-premium-inner{position:relative}
.process-premium-head{max-width:820px;margin:0 auto 52px;text-align:center}
.process-pill{color:#dff5ff;background:rgba(5,18,32,.58);border-color:rgba(56,189,248,.34)}
.process-premium-head h2{margin:15px 0 13px;font-size:clamp(40px,4.5vw,64px);line-height:1;letter-spacing:-.045em}
.process-premium-head h2 em{font-style:normal;color:#32a8ff;text-shadow:0 0 26px rgba(22,133,255,.20)}
.process-premium-head>p{max-width:740px;margin:0 auto;color:#aebed1;font-size:16px;line-height:1.75}
.process-premium-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:38px;align-items:center}
.process-benefits{display:grid;gap:17px}
.process-benefits article{display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:start;padding:15px 12px;border-left:1px solid rgba(56,189,248,.12);transition:transform .3s ease,border-color .3s ease,background .3s ease}
.process-benefits article:hover{transform:translateX(5px);border-color:rgba(56,189,248,.46);background:linear-gradient(90deg,rgba(22,133,255,.07),transparent)}
.process-benefits article>span{width:46px;height:46px;border:1px solid rgba(56,189,248,.35);border-radius:15px;display:grid;place-items:center;color:#40b7ff;background:rgba(7,24,42,.65);box-shadow:inset 0 0 18px rgba(22,133,255,.06)}
.process-benefits article>span i{font-size:21px}
.process-benefits h3{margin:2px 0 5px;font-size:13px;color:#67c8ff}
.process-benefits p{margin:0;color:#8799af;font-size:11px;line-height:1.55}
.process-timeline-wrap{position:relative;min-width:0;padding:0 6px}
.process-line{position:absolute;left:8%;right:8%;top:87px;height:2px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.5) 10%,rgba(22,133,255,.75) 50%,rgba(56,189,248,.5) 90%,transparent);box-shadow:0 0 15px rgba(22,133,255,.25)}
.process-line span{position:absolute;left:0;top:-2px;width:18%;height:6px;border-radius:20px;background:linear-gradient(90deg,transparent,#38bdf8,transparent);filter:blur(.2px);animation:processFlow 4.2s linear infinite}
@keyframes processFlow{0%{left:-10%;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:92%;opacity:0}}
.process-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;position:relative}
.process-card{position:relative;text-align:center;padding:0 7px;color:#f8fafc;transition:transform .35s ease}
.process-card:hover{transform:translateY(-8px)}
.process-card>small{display:block;margin:0 0 10px;color:#4dbdff;font-size:20px;font-weight:800;letter-spacing:.04em;text-shadow:0 0 18px rgba(56,189,248,.25)}
.process-orb{position:relative;width:86px;height:86px;margin:0 auto 20px;border:1px solid rgba(56,189,248,.70);border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle,#0d2846 0%,#071524 68%);box-shadow:0 0 0 8px rgba(22,133,255,.035),0 0 30px rgba(22,133,255,.24),inset 0 0 28px rgba(56,189,248,.07);z-index:2;transition:.35s ease}
.process-orb::before,.process-orb::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.process-orb::before{inset:-7px;border:1px solid rgba(56,189,248,.18);border-left-color:#38bdf8;border-right-color:#1685ff;animation:processSpin 7s linear infinite}
.process-orb::after{width:8px;height:8px;top:-5px;background:#38bdf8;box-shadow:0 0 12px #38bdf8}
@keyframes processSpin{to{transform:rotate(360deg)}}
.process-card:hover .process-orb{border-color:#7dd3fc;box-shadow:0 0 0 8px rgba(22,133,255,.05),0 0 42px rgba(22,133,255,.38),inset 0 0 34px rgba(56,189,248,.11)}
.process-orb i{font-size:31px}
.process-card h3{margin:0 0 9px;font-size:14px;text-transform:uppercase;letter-spacing:.02em}
.process-card>p{min-height:64px;margin:0 auto 14px;color:#9aacc0;font-size:11px;line-height:1.55;max-width:185px}
.process-card ul{list-style:none;padding:0;margin:0;display:grid;gap:7px;text-align:left}
.process-card li{position:relative;padding:7px 9px 7px 29px;border:1px solid rgba(56,189,248,.15);border-radius:999px;color:#aebed1;background:rgba(5,18,32,.48);font-size:9.5px;line-height:1.25;white-space:normal}
.process-card li::before{content:"✓";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:13px;height:13px;border-radius:50%;display:grid;place-items:center;color:#62c8ff;background:rgba(22,133,255,.12);font-size:8px;font-weight:800}
.process-cta{max-width:760px;margin:54px auto 0;padding:14px 18px;display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;border:1px solid rgba(56,189,248,.32);border-radius:17px;background:linear-gradient(100deg,rgba(8,27,48,.96),rgba(7,18,34,.92));box-shadow:0 20px 60px rgba(0,0,0,.23),0 0 30px rgba(22,133,255,.07)}
.process-cta-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#075fdc,#28a5ff);box-shadow:0 0 26px rgba(22,133,255,.28)}
.process-cta-icon i{font-size:21px}
.process-cta strong{display:block;font-size:14px}.process-cta small{display:block;margin-top:4px;color:#8fa1b6;font-size:10.5px}
.process-cta a{min-height:42px;padding:0 18px;border-radius:10px;display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,#0869eb,#269cff);color:#fff;font-size:12px;font-weight:800;transition:.25s;box-shadow:0 10px 25px rgba(22,133,255,.18)}
.process-cta a:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(22,133,255,.28)}

/* NEXUS: misma estructura, identidad violeta + dorado */
body.theme-nexus .process-premium{
  color:#fafafa;
  background:
    radial-gradient(circle at 18% 20%,rgba(124,58,237,.13),transparent 34%),
    radial-gradient(circle at 82% 58%,rgba(231,182,74,.055),transparent 34%),
    linear-gradient(180deg,#07070c 0%,#0a0810 55%,#06070b 100%);
  border-color:rgba(231,182,74,.12);
}
body.theme-nexus .process-premium::before{background-image:linear-gradient(rgba(168,85,247,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(231,182,74,.025) 1px,transparent 1px)}
body.theme-nexus .process-energy{background:radial-gradient(ellipse at 25% 50%,rgba(124,58,237,.18),transparent 31%),radial-gradient(ellipse at 72% 50%,rgba(231,182,74,.07),transparent 33%)}
body.theme-nexus .process-pill{color:#eadcff;background:rgba(15,9,22,.58);border-color:rgba(168,85,247,.38)}
body.theme-nexus .process-premium-head h2{font-family:Georgia,"Times New Roman",serif;font-weight:700}
body.theme-nexus .process-premium-head h2 em{color:#e7b64a;text-shadow:0 0 25px rgba(231,182,74,.13)}
body.theme-nexus .process-premium-head>p{color:#aaa5b3}
body.theme-nexus .process-benefits article{border-left-color:rgba(231,182,74,.13)}
body.theme-nexus .process-benefits article:hover{border-color:rgba(231,182,74,.45);background:linear-gradient(90deg,rgba(124,58,237,.07),transparent)}
body.theme-nexus .process-benefits article>span{border-color:rgba(168,85,247,.38);color:#c084fc;background:rgba(18,10,25,.72);box-shadow:inset 0 0 18px rgba(124,58,237,.08)}
body.theme-nexus .process-benefits h3{color:#e7b64a}body.theme-nexus .process-benefits p{color:#918c99}
body.theme-nexus .process-line{background:linear-gradient(90deg,transparent,rgba(168,85,247,.55) 10%,rgba(231,182,74,.55) 50%,rgba(168,85,247,.55) 90%,transparent);box-shadow:0 0 18px rgba(124,58,237,.20)}
body.theme-nexus .process-line span{background:linear-gradient(90deg,transparent,#a855f7,#e7b64a,transparent)}
body.theme-nexus .process-card>small{color:#c084fc;text-shadow:0 0 18px rgba(168,85,247,.25)}
body.theme-nexus .process-orb{border-color:rgba(168,85,247,.72);background:radial-gradient(circle,#21112e 0%,#0d0912 68%);box-shadow:0 0 0 8px rgba(124,58,237,.035),0 0 30px rgba(124,58,237,.27),inset 0 0 28px rgba(231,182,74,.035)}
body.theme-nexus .process-orb::before{border-color:rgba(168,85,247,.20);border-left-color:#a855f7;border-right-color:#e7b64a}body.theme-nexus .process-orb::after{background:#e7b64a;box-shadow:0 0 12px #e7b64a}
body.theme-nexus .process-card:hover .process-orb{border-color:#d8b4fe;box-shadow:0 0 0 8px rgba(124,58,237,.05),0 0 42px rgba(168,85,247,.34),0 0 22px rgba(231,182,74,.08),inset 0 0 34px rgba(168,85,247,.10)}
body.theme-nexus .process-card>p{color:#aaa5b3}
body.theme-nexus .process-card li{border-color:rgba(168,85,247,.17);color:#aaa5b3;background:rgba(14,9,19,.58)}
body.theme-nexus .process-card li::before{color:#e7b64a;background:rgba(231,182,74,.08)}
body.theme-nexus .process-cta{border-color:rgba(231,182,74,.30);border-radius:8px;background:linear-gradient(100deg,rgba(19,11,26,.96),rgba(9,8,13,.94));box-shadow:0 20px 60px rgba(0,0,0,.30),0 0 34px rgba(124,58,237,.07)}
body.theme-nexus .process-cta-icon{border-radius:8px;background:linear-gradient(135deg,#5b21b6,#a855f7);box-shadow:0 0 24px rgba(168,85,247,.28)}
body.theme-nexus .process-cta small{color:#8f8996}body.theme-nexus .process-cta a{border-radius:6px;background:linear-gradient(135deg,#7c3aed,#a855f7 58%,#d8a638);box-shadow:0 10px 28px rgba(124,58,237,.20)}

@media(max-width:1260px){
  .process-premium-layout{grid-template-columns:220px minmax(0,1fr);gap:25px}.process-orb{width:78px;height:78px}.process-line{top:83px}.process-card>p{min-height:78px}.process-card li{font-size:8.8px;padding-left:26px}.process-card li::before{left:8px}
}
@media(max-width:1050px){
  .process-premium{padding:78px 0 68px}.process-premium-layout{grid-template-columns:1fr}.process-benefits{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:25px}.process-benefits article{grid-template-columns:38px 1fr;padding:10px 8px}.process-benefits article>span{width:36px;height:36px;border-radius:11px}.process-benefits article>span i{font-size:17px}.process-timeline-wrap{overflow-x:auto;padding:8px 4px 18px;scrollbar-width:thin}.process-timeline{min-width:930px}.process-line{left:55px;right:55px}.process-cta{margin-top:38px}
}
@media(max-width:680px){
  .process-premium{padding:60px 0 54px}.process-premium-head{text-align:left;margin-bottom:34px}.process-premium-head h2{font-size:42px}.process-premium-head>p{font-size:14px}.process-benefits{grid-template-columns:1fr 1fr}.process-benefits article:hover{transform:none}.process-timeline-wrap{margin-inline:-15px;padding-inline:15px}.process-timeline{min-width:840px;gap:6px}.process-orb{width:70px;height:70px}.process-line{top:78px}.process-orb i{font-size:26px}.process-card>small{font-size:17px}.process-card h3{font-size:12px}.process-card>p{font-size:10px}.process-card li{font-size:8px}.process-cta{grid-template-columns:42px 1fr;padding:13px}.process-cta-icon{width:40px;height:40px}.process-cta a{grid-column:1/-1;width:100%;justify-content:center}.process-cta strong{font-size:13px}
}
@media(max-width:430px){.process-benefits{grid-template-columns:1fr}.process-premium-head h2{font-size:37px}.process-timeline{min-width:790px}}

/* ==========================================================
   HERO 2026 — DISPOSITIVOS FLOTANTES + TITULAR 3D
   Mantiene el contenido, slider, partículas y temas BLUE/NEXUS.
   ========================================================== */
.hero-art.hero-device-art{
  background:transparent;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
  min-height:560px;
  perspective:1200px;
}
.hero-art.hero-device-art::before{
  background:radial-gradient(circle at 55% 48%,rgba(35,132,255,.13),transparent 54%);
  z-index:0;
}
.hero-art.hero-device-art::after{left:14%;right:4%;bottom:42px;height:32px;opacity:.9}
.hero-device-stage{
  position:relative;
  width:min(100%,760px);
  height:540px;
  z-index:3;
  transform:translate3d(var(--art-x,0px),var(--art-y,0px),0);
  transition:transform .22s ease-out;
  transform-style:preserve-3d;
}
.hero-laptop{
  position:absolute;
  width:82%;
  left:2%;
  top:8%;
  filter:drop-shadow(0 42px 46px rgba(0,0,0,.55));
  animation:disuFloatLaptop 5.8s ease-in-out infinite;
  transform-style:preserve-3d;
}
.hero-laptop-screen{
  position:relative;
  aspect-ratio:16/10;
  border:10px solid #111827;
  border-bottom-width:15px;
  border-radius:20px 20px 10px 10px;
  overflow:hidden;
  background:linear-gradient(145deg,#061325,#071b35 52%,#081025);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 0 50px rgba(37,99,235,.22);
}
.hero-laptop-screen::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 45%,rgba(56,189,248,.18),transparent 36%),linear-gradient(120deg,transparent 48%,rgba(56,189,248,.05) 49%,transparent 50%);pointer-events:none}
.hero-laptop-base{height:22px;margin:-2px -7% 0;background:linear-gradient(180deg,#9aa5b5,#3d4654 38%,#161c25);clip-path:polygon(7% 0,93% 0,100% 75%,60% 100%,40% 100%,0 75%);border-radius:0 0 28px 28px;box-shadow:0 14px 22px rgba(0,0,0,.4)}
.hero-screen-ui{position:absolute;inset:0;padding:7% 7%;display:grid;grid-template-columns:.72fr 1.28fr;gap:5%;font-family:Inter,system-ui,sans-serif;color:#fff}
.hero-screen-copy{display:flex;flex-direction:column;justify-content:center;gap:10px}.hero-screen-copy small{font-size:9px;letter-spacing:.18em;color:#65d8ff}.hero-screen-copy strong{font-size:clamp(18px,2vw,31px);line-height:1.05}.hero-screen-copy em{font-style:normal;color:#45a8ff}.hero-screen-copy span{font-size:9px;color:#91a3bc;line-height:1.5}.hero-screen-copy b{width:max-content;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#2563eb,#38bdf8);font-size:8px}
.hero-dashboard{align-self:center;border:1px solid rgba(89,187,255,.18);border-radius:16px;padding:12px;background:rgba(4,13,27,.76);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.hero-dashboard-top{height:8px;width:42%;border-radius:8px;background:linear-gradient(90deg,#38bdf8,#7c3aed);margin-bottom:12px}.hero-dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.hero-dashboard-grid i{display:block;height:52px;border:1px solid rgba(96,165,250,.12);border-radius:9px;background:linear-gradient(145deg,rgba(37,99,235,.22),rgba(124,58,237,.08));position:relative;overflow:hidden}.hero-dashboard-grid i::after{content:"";position:absolute;left:8px;right:8px;bottom:10px;height:16px;border-bottom:2px solid #38bdf8;transform:skewY(-12deg);opacity:.7}
.hero-phone{position:absolute;width:25%;right:1%;top:30%;z-index:5;filter:drop-shadow(0 34px 34px rgba(0,0,0,.58));animation:disuFloatPhone 4.9s ease-in-out infinite;transform-style:preserve-3d}
.hero-phone-shell{aspect-ratio:9/18.5;padding:7px;border-radius:28px;background:linear-gradient(145deg,#4c5668,#0c111a 34%,#8993a3 58%,#111827);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 35px rgba(124,58,237,.18)}
.hero-phone-screen{height:100%;border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(160deg,#07111f,#0a1530 60%,#120b2d);padding:22% 10% 12%;color:#fff;font-family:Inter,system-ui,sans-serif}.hero-phone-screen::before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:34%;height:8px;border-radius:10px;background:#05070c}.hero-phone-logo{font-size:9px;font-weight:900;letter-spacing:.16em;color:#60d6ff}.hero-phone-title{font-size:clamp(12px,1.35vw,20px);line-height:1.08;margin-top:26%;font-weight:800}.hero-phone-title em{font-style:normal;color:#a855f7}.hero-phone-line{height:5px;border-radius:6px;background:rgba(148,163,184,.25);margin-top:10px}.hero-phone-line.short{width:68%}.hero-phone-button{display:inline-block;margin-top:18px;padding:7px 10px;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#2563eb);font-size:7px}.hero-phone-chart{height:25%;margin-top:20%;border:1px solid rgba(96,165,250,.15);border-radius:10px;background:linear-gradient(145deg,rgba(37,99,235,.16),rgba(124,58,237,.12));position:relative;overflow:hidden}.hero-phone-chart::after{content:"";position:absolute;left:10%;right:10%;top:55%;height:20%;border-top:2px solid #a855f7;transform:skewY(-14deg);box-shadow:0 -10px 0 -9px #38bdf8}
.hero-device-orbit{position:absolute;inset:8% 0 2% 0;border:1px solid rgba(56,189,248,.15);border-radius:50%;transform:rotate(-12deg);filter:drop-shadow(0 0 14px rgba(56,189,248,.2));z-index:-1}.hero-device-orbit::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#5ddcff;box-shadow:0 0 20px #38bdf8;left:12%;top:20%}
body.theme-nexus .hero-art.hero-device-art::before{background:radial-gradient(circle at 58% 48%,rgba(124,58,237,.18),transparent 55%)}
body.theme-nexus .hero-laptop-screen{box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 0 55px rgba(124,58,237,.25)}
body.theme-nexus .hero-screen-copy em,body.theme-nexus .hero-phone-title em{color:#e7b64a}body.theme-nexus .hero-screen-copy b{background:linear-gradient(135deg,#7c3aed,#e7b64a)}body.theme-nexus .hero-device-orbit{border-color:rgba(231,182,74,.16)}body.theme-nexus .hero-device-orbit::after{background:#e7b64a;box-shadow:0 0 20px #e7b64a}
@keyframes disuFloatLaptop{0%,100%{transform:translate3d(0,0,0) rotateY(-2deg) rotateX(1deg)}50%{transform:translate3d(0,-10px,0) rotateY(1deg) rotateX(0deg)}}
@keyframes disuFloatPhone{0%,100%{transform:translate3d(0,0,30px) rotateZ(2deg)}50%{transform:translate3d(0,-14px,30px) rotateZ(-1deg)}}

/* HERO — líneas del título preparadas para reveal digital (sin giro 3D). */
.hero-title-line{display:block;position:relative;min-height:1.03em}
.hero-title-line .hero-title-face{display:block}
.hero-title-line.is-flip-out .hero-title-face,
.hero-title-line.is-flip-in .hero-title-face{animation:none!important;transform:none!important;filter:none!important}

@media(max-width:960px){.hero-art.hero-device-art{min-height:430px;height:430px}.hero-device-stage{height:410px;width:min(92%,650px);margin:auto}.hero-laptop{width:80%;left:4%;top:8%}.hero-phone{width:24%;right:3%;top:30%}}
@media(max-width:680px){.hero-art.hero-device-art{min-height:310px;height:310px;margin-top:14px}.hero-device-stage{height:300px;width:96%}.hero-laptop{width:82%;left:0;top:7%}.hero-phone{width:25%;right:0;top:31%}.hero-screen-copy small,.hero-screen-copy span{display:none}.hero-screen-copy strong{font-size:14px}.hero-dashboard-grid i{height:32px}.hero-dashboard{padding:8px}.hero-laptop-screen{border-width:7px;border-bottom-width:10px;border-radius:13px}.hero-phone-shell{border-radius:19px;padding:5px}.hero-phone-screen{border-radius:15px}.hero-device-orbit{inset:10% 0 4%}.hero-title-line{min-height:1em}}
@media(prefers-reduced-motion:reduce){.hero-laptop,.hero-phone{animation:none}.hero-device-stage{transition:none}.hero-title-line .hero-title-face{animation:none!important}}

/* ==========================================================
   HERO FINAL — UNA SOLA ESCENA / DISPOSITIVOS A LA DERECHA
   La imagen antigua y los controles del slider ya no existen.
   ========================================================== */
.hero .hero-grid{
  grid-template-columns:minmax(0, .94fr) minmax(560px, 1.06fr);
  gap:clamp(26px,3vw,58px);
  align-items:center;
}
.hero .hero-copy{z-index:6;max-width:760px}
.hero .hero-visual.hero-device-art{
  min-height:570px;
  height:570px;
  margin-left:auto;
  width:100%;
  overflow:visible;
  pointer-events:none;
}
.hero .hero-device-stage{
  width:min(760px,100%);
  height:550px;
  margin-left:auto;
  transform:translate3d(var(--art-x,0px),var(--art-y,0px),0);
}
.hero .hero-laptop{width:86%;left:5%;top:7%}
.hero .hero-phone{width:25%;right:-1%;top:31%}
.hero .hero-device-orbit{inset:7% -3% 0 2%;opacity:.9}
.hero .hero-nav,.hero .hero-dots{display:none!important}
/* El canvas cubre el fondo completo; los dispositivos no llevan rectángulo ni imagen de fondo. */
.hero .hero-particles{z-index:1!important;opacity:1!important}
.hero .hero-tech-layer,.hero .hero-data-sweep,.hero .hero-scan{z-index:2}
.hero .hero-grid{position:relative;z-index:4}

/* Más definición visual del notebook y teléfono, sin rasterizar: todo sigue siendo CSS/vectorial. */
.hero-laptop-screen{border-color:#0b1019;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(71,174,255,.16),0 0 62px rgba(37,99,235,.25)}
.hero-laptop-base{box-shadow:0 18px 28px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.28)}
.hero-phone-shell{box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 0 0 1px rgba(103,196,255,.16),0 0 42px rgba(124,58,237,.2)}

@media(max-width:1180px){
  .hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(470px,.9fr);gap:20px}
  .hero .hero-visual.hero-device-art{height:500px;min-height:500px}
  .hero .hero-device-stage{height:490px}
}
@media(max-width:960px){
  .hero .hero-grid{grid-template-columns:1fr}
  .hero .hero-copy{max-width:780px}
  .hero .hero-visual.hero-device-art{width:min(100%,720px);height:430px;min-height:430px;margin:8px auto 0}
  .hero .hero-device-stage{height:420px;width:min(94%,680px);margin:auto}
  .hero .hero-laptop{width:82%;left:4%}
  .hero .hero-phone{width:24%;right:3%}
}
@media(max-width:680px){
  .hero .hero-visual.hero-device-art{height:310px;min-height:310px}
  .hero .hero-device-stage{height:300px;width:98%}
  .hero .hero-laptop{width:83%;left:0}
  .hero .hero-phone{width:25%;right:0;top:31%}
}

/* ==========================================================
   HERO FINAL — NOTEBOOK + CELULAR PREMIUM 100% CSS
   Fondo transparente: las partículas del canvas siguen visibles.
   Solo sobreescribe el arte del hero; no altera el resto del sitio.
   ========================================================== */
.hero .hero-grid{
  grid-template-columns:minmax(0, .94fr) minmax(560px, 1.06fr);
  align-items:center;
  gap:clamp(18px,2.2vw,42px);
}
.hero .hero-copy{position:relative;z-index:8;max-width:760px}
.hero .hero-device-art{
  position:relative;
  z-index:3;
  min-height:600px;
  height:600px;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  overflow:visible !important;
  isolation:isolate;
}
.hero .hero-device-art::before,
.hero .hero-device-art::after,
.hero .hero-art-glow{display:none !important}

.hero-showcase{
  --scene-x:0px;
  --scene-y:0px;
  position:absolute;
  top:50%;
  right:-48px;
  width:min(780px, 55vw);
  height:590px;
  transform:translate3d(var(--scene-x),calc(-50% + var(--scene-y)),0);
  transform-style:preserve-3d;
  perspective:1500px;
  pointer-events:none;
  filter:saturate(1.06);
}
.showcase-aura{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.showcase-aura-one{width:520px;height:360px;right:22px;top:112px;background:radial-gradient(circle,rgba(15,142,255,.23) 0%,rgba(67,56,202,.13) 36%,transparent 70%);filter:blur(22px)}
.showcase-aura-two{width:330px;height:330px;right:95px;top:190px;background:radial-gradient(circle,rgba(168,85,247,.18),transparent 68%);filter:blur(30px)}
.showcase-orbit{position:absolute;border-radius:50%;border:1px solid rgba(79,183,255,.24);z-index:1;box-shadow:0 0 24px rgba(37,99,235,.16),inset 0 0 24px rgba(124,58,237,.06)}
.showcase-orbit-one{width:670px;height:290px;right:-6px;top:190px;transform:rotate(-12deg)}
.showcase-orbit-two{width:565px;height:235px;right:20px;top:222px;transform:rotate(15deg);border-color:rgba(168,85,247,.22)}
body.theme-nexus .showcase-orbit-one{border-color:rgba(231,182,74,.24)}
body.theme-nexus .showcase-aura-one{background:radial-gradient(circle,rgba(124,58,237,.28),rgba(55,48,163,.12) 38%,transparent 70%)}

/* Laptop: volumen, aluminio, pantalla y reflejos. */
.pro-laptop{
  position:absolute;
  left:3%;
  top:92px;
  width:73%;
  z-index:4;
  transform-style:preserve-3d;
  transform:rotateZ(-2.3deg) rotateY(-4deg);
  animation:heroLaptopFloat 6.2s cubic-bezier(.45,.05,.55,.95) infinite;
  filter:drop-shadow(0 34px 34px rgba(0,0,0,.50)) drop-shadow(0 0 24px rgba(50,112,255,.16));
}
.pro-laptop-lid{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  padding:10px 10px 14px;
  border-radius:23px 23px 11px 11px;
  background:linear-gradient(145deg,#aeb8c7 0%,#30394a 4%,#111827 12%,#050812 88%,#657184 96%,#d7dde5 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),inset 0 -10px 24px rgba(0,0,0,.36),0 0 0 1px rgba(65,105,225,.26),0 0 34px rgba(42,117,255,.22);
}
.pro-laptop-camera{position:absolute;top:5px;left:50%;width:5px;height:5px;border-radius:50%;background:#02040a;box-shadow:0 0 0 1px #293349,0 0 6px rgba(70,150,255,.35);transform:translateX(-50%);z-index:5}
.pro-laptop-screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:14px 14px 7px 7px;background:radial-gradient(circle at 74% 34%,rgba(61,94,255,.2),transparent 34%),linear-gradient(145deg,#030916,#07162d 56%,#090b1d);box-shadow:inset 0 0 0 1px rgba(130,174,255,.12)}
.screen-browserbar{height:7%;min-height:24px;display:flex;align-items:center;gap:5px;padding:0 10px;border-bottom:1px solid rgba(131,165,221,.10);background:rgba(2,7,17,.84)}
.screen-browserbar>span{width:5px;height:5px;border-radius:50%;background:#334155}.screen-browserbar>span:first-child{background:#fb7185}.screen-browserbar>span:nth-child(2){background:#fbbf24}.screen-browserbar>span:nth-child(3){background:#34d399}
.screen-address{height:12px;min-width:42%;margin-left:7px;padding:1px 9px;border-radius:8px;background:rgba(255,255,255,.035);font:500 5px/10px Inter,sans-serif;color:#52627b;letter-spacing:.03em}
.screen-app{height:93%;display:grid;grid-template-columns:14% 1fr}
.screen-sidebar{padding:13px 8px;display:flex;flex-direction:column;align-items:center;gap:11px;border-right:1px solid rgba(108,154,229,.09);background:linear-gradient(180deg,rgba(6,18,38,.9),rgba(2,8,19,.7))}
.screen-sidebar img{width:78%;height:auto;margin-bottom:8px;filter:drop-shadow(0 0 8px rgba(45,147,255,.23))}.screen-sidebar i{display:block;width:56%;aspect-ratio:1;border-radius:5px;background:rgba(82,118,173,.13);box-shadow:inset 0 0 0 1px rgba(118,163,232,.07)}.screen-sidebar i.active{background:linear-gradient(135deg,rgba(37,99,235,.55),rgba(168,85,247,.28));box-shadow:0 0 12px rgba(59,130,246,.24)}
.screen-workspace{padding:5.6% 5.2% 4.5%}.screen-worktop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4%}.screen-worktop small{font:700 5px/1 Inter,sans-serif;letter-spacing:.16em;color:#70d8ff}.screen-worktop b{font:800 clamp(12px,1.15vw,20px)/1.02 Inter,sans-serif;color:#f8fbff;text-align:right}.screen-worktop em{font-style:normal;background:linear-gradient(90deg,#7c3aed,#32c9ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.screen-panels{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1.2fr .8fr;gap:8px;height:72%}.screen-panel{position:relative;overflow:hidden;border:1px solid rgba(100,155,235,.12);border-radius:9px;background:linear-gradient(145deg,rgba(8,24,50,.88),rgba(7,10,26,.86));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.screen-code{grid-row:1/3;padding:12px 10px}.screen-code span{display:block;height:4px;margin:0 0 8px;border-radius:5px;background:linear-gradient(90deg,#39bdf8 0 23%,#7c3aed 23% 49%,rgba(148,163,184,.16) 49% 82%,transparent 82%)}.screen-code span:nth-child(2){width:82%}.screen-code span:nth-child(3){width:68%}.screen-code span:nth-child(4){width:91%}.screen-code span:nth-child(5){width:57%}.screen-code span:nth-child(6){width:76%}
.screen-chart{padding:10px}.screen-chart strong{font:700 5px/1 Inter,sans-serif;color:#70839f;letter-spacing:.12em}.chart-bars{position:absolute;left:10px;right:10px;bottom:9px;height:60%;display:flex;align-items:flex-end;gap:4px}.chart-bars i{flex:1;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#38bdf8,#2563eb 55%,#6d28d9);box-shadow:0 0 8px rgba(56,189,248,.15)}.chart-bars i:nth-child(1){height:34%}.chart-bars i:nth-child(2){height:52%}.chart-bars i:nth-child(3){height:44%}.chart-bars i:nth-child(4){height:70%}.chart-bars i:nth-child(5){height:61%}.chart-bars i:nth-child(6){height:88%}
.screen-kpi{padding:9px 10px}.screen-kpi small,.screen-kpi span{display:block;font:500 5px/1.2 Inter,sans-serif;color:#687a96}.screen-kpi b{display:block;margin:4px 0 3px;font:800 13px/1 Inter,sans-serif;color:#f8fbff}
.screen-sheen{position:absolute;inset:-30% auto -30% -30%;width:34%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:screenSheen 7s ease-in-out infinite;pointer-events:none}
.pro-laptop-hinge{position:relative;z-index:4;width:72%;height:9px;margin:-4px auto 0;border-radius:0 0 9px 9px;background:linear-gradient(180deg,#0b0f17,#8792a2 58%,#222b39);box-shadow:0 3px 5px rgba(0,0,0,.35)}
.pro-laptop-deck{position:relative;width:116%;height:128px;margin:-1px 0 0 -8%;clip-path:polygon(7.5% 0,92.5% 0,100% 83%,94% 100%,6% 100%,0 83%);border-radius:0 0 34px 34px;background:linear-gradient(150deg,#d0d6df 0%,#8b95a3 11%,#3d4655 30%,#171e29 74%,#5a6574 96%);box-shadow:inset 0 1px 0 rgba(255,255,255,.46),inset 0 -14px 16px rgba(0,0,0,.30),0 18px 25px rgba(0,0,0,.25);transform-origin:top center;transform:perspective(680px) rotateX(65deg) translateY(-2px)}
.pro-keyboard{position:absolute;left:14%;right:14%;top:16%;height:55%;border-radius:7px;background:repeating-linear-gradient(90deg,transparent 0 8%,rgba(4,8,14,.92) 8.4% 15.5%,transparent 16%),repeating-linear-gradient(0deg,transparent 0 21%,rgba(3,7,13,.92) 22% 41%,transparent 42%);opacity:.95;filter:drop-shadow(0 1px 0 rgba(255,255,255,.04))}
.pro-trackpad{position:absolute;left:38%;right:38%;bottom:7%;height:22%;border:1px solid rgba(7,13,22,.4);border-radius:5px;background:rgba(154,164,178,.14);box-shadow:inset 0 1px rgba(255,255,255,.16)}
.pro-deck-shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.16) 42%,transparent 59%);mix-blend-mode:screen;opacity:.42}
.pro-laptop-edge{width:96%;height:7px;margin:-42px auto 0;border-radius:0 0 50% 50%;background:linear-gradient(180deg,#8a96a8,#1e2633 75%);box-shadow:0 11px 22px rgba(0,0,0,.34)}

/* Smartphone premium: aluminio oscuro, cristal, isla y reflejos. */
.pro-phone{position:absolute;right:0;top:205px;width:24.5%;z-index:7;transform-style:preserve-3d;animation:heroPhoneFloat 5.4s cubic-bezier(.45,.05,.55,.95) .3s infinite;filter:drop-shadow(0 34px 28px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(126,74,255,.24))}
.pro-phone-frame{position:relative;aspect-ratio:9/19.25;padding:6px;border-radius:32px;background:linear-gradient(125deg,#e4e8ef 0%,#626c7c 7%,#101722 17%,#04070d 48%,#778291 83%,#eef2f6 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),inset 0 0 0 2px rgba(10,15,24,.7),0 0 0 1px rgba(100,118,255,.24)}
.pro-phone-screen{position:relative;height:100%;overflow:hidden;border-radius:26px;padding:17% 9% 9%;background:radial-gradient(circle at 58% 26%,rgba(65,82,255,.28),transparent 26%),linear-gradient(155deg,#020711,#06152b 52%,#100c28);box-shadow:inset 0 0 0 1px rgba(146,176,255,.08)}
.pro-phone-screen::after{content:"";position:absolute;inset:-35% auto -35% -32%;width:45%;transform:rotate(17deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.065),transparent);animation:screenSheen 8s ease-in-out 1.2s infinite}
.pro-phone-island{position:absolute;top:12px;left:50%;z-index:5;width:38%;height:16px;transform:translateX(-50%);border-radius:12px;background:#02040a;box-shadow:inset 0 0 0 1px #161c27}.pro-phone-island i{position:absolute;right:8px;top:5px;width:5px;height:5px;border-radius:50%;background:#08162b;box-shadow:inset 0 0 0 1px #1e3a5f}
.pro-phone-buttons{position:absolute;z-index:1;width:3px;border-radius:3px;background:#6c7584}.pro-phone-buttons-left{left:-2px;top:25%;height:18%;box-shadow:0 25px 0 #6c7584}.pro-phone-buttons-right{right:-2px;top:31%;height:24%}
.phone-status{position:absolute;top:5.5%;left:9%;right:9%;display:flex;justify-content:space-between;align-items:center;font:700 5px/1 Inter,sans-serif;color:#cbd5e1}.phone-status div{display:flex;gap:2px}.phone-status i{display:block;width:5px;height:3px;border-radius:1px;background:#cbd5e1}.phone-status i:last-child{width:7px}
.phone-brand{height:18px;margin-bottom:10px}.phone-brand img{width:58px;max-height:18px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 8px rgba(42,145,255,.2))}.pro-phone-screen>small{display:block;font:800 5px/1 Inter,sans-serif;letter-spacing:.14em;color:#67d8ff}.pro-phone-screen>strong{display:block;margin-top:14%;font:800 clamp(10px,1.15vw,17px)/1.03 Inter,sans-serif;color:#f8fbff}.pro-phone-screen>strong em{font-style:normal;background:linear-gradient(90deg,#a855f7,#38bdf8);-webkit-background-clip:text;background-clip:text;color:transparent}.pro-phone-screen>p{margin:8px 0 0;font:500 5px/1.35 Inter,sans-serif;color:#7f90aa}.phone-cta{display:inline-flex;gap:5px;align-items:center;margin-top:12px;padding:6px 8px;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#2563eb);font:700 5px/1 Inter,sans-serif;color:#fff;box-shadow:0 8px 18px rgba(90,60,220,.24)}
.phone-mini-dashboard{position:absolute;left:9%;right:9%;bottom:9%;height:29%;padding:7px;border:1px solid rgba(102,153,235,.12);border-radius:10px;background:linear-gradient(145deg,rgba(10,27,55,.9),rgba(10,9,31,.88))}.phone-mini-dashboard>span{display:inline-block;width:20%;height:5px;margin-right:3px;border-radius:3px;background:linear-gradient(90deg,#2563eb,#7c3aed)}.phone-wave{position:absolute;left:8px;right:8px;bottom:10px;height:48%;background:linear-gradient(180deg,rgba(56,189,248,.13),transparent);clip-path:polygon(0 70%,10% 54%,22% 66%,33% 30%,45% 48%,57% 16%,70% 42%,83% 23%,100% 45%,100% 100%,0 100%);border-bottom:1px solid rgba(56,189,248,.3)}

.showcase-node{position:absolute;width:7px;height:7px;border-radius:50%;z-index:2;background:#52c8ff;box-shadow:0 0 8px #52c8ff,0 0 20px rgba(82,200,255,.8)}.node-a{right:21%;top:15%}.node-b{right:4%;top:51%;background:#a855f7;box-shadow:0 0 8px #a855f7,0 0 20px rgba(168,85,247,.8)}.node-c{left:14%;bottom:18%;width:5px;height:5px}

@keyframes heroLaptopFloat{0%,100%{transform:translate3d(0,0,30px) rotateZ(-2.3deg) rotateY(-4deg) rotateX(1deg)}50%{transform:translate3d(0,-13px,44px) rotateZ(-1.3deg) rotateY(-2deg) rotateX(0deg)}}
@keyframes heroPhoneFloat{0%,100%{transform:translate3d(0,0,72px) rotateZ(4deg) rotateY(-4deg)}50%{transform:translate3d(0,-17px,86px) rotateZ(2.2deg) rotateY(-1deg)}}
@keyframes screenSheen{0%,58%,100%{left:-42%;opacity:0}68%{opacity:1}82%{left:120%;opacity:0}}

body.theme-nexus .screen-worktop em,body.theme-nexus .pro-phone-screen>strong em{background:linear-gradient(90deg,#a855f7,#e7b64a);-webkit-background-clip:text;background-clip:text;color:transparent}
body.theme-nexus .showcase-node{background:#e7b64a;box-shadow:0 0 8px #e7b64a,0 0 22px rgba(231,182,74,.7)}

/* Texto siempre queda delante; arte se aleja del copy. */
.hero-title-line{position:relative;z-index:9}

@media(max-width:1360px){
  .hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(500px,.95fr)}
  .hero-showcase{right:-28px;width:min(700px,53vw);height:550px}
  .hero .hero-device-art{height:555px;min-height:555px}
}
@media(max-width:1120px){
  .hero .hero-grid{grid-template-columns:1fr 1fr;gap:8px}
  .hero-showcase{right:-36px;width:610px;transform:translate3d(var(--scene-x),calc(-50% + var(--scene-y)),0) scale(.88);transform-origin:right center}
  .hero .hero-device-art{height:500px;min-height:500px}
}
@media(max-width:960px){
  .hero .hero-grid{grid-template-columns:1fr}
  .hero .hero-copy{max-width:780px}
  .hero .hero-device-art{height:490px;min-height:490px;margin-top:8px}
  .hero-showcase{left:50%;right:auto;top:50%;width:min(760px,94vw);height:540px;transform:translate3d(calc(-50% + var(--scene-x)),calc(-50% + var(--scene-y)),0) scale(.88);transform-origin:center center}
}
@media(max-width:680px){
  .hero .hero-device-art{height:355px;min-height:355px;margin-top:6px}
  .hero-showcase{width:610px;height:480px;transform:translate3d(calc(-50% + var(--scene-x)),calc(-50% + var(--scene-y)),0) scale(.64)}
  .pro-laptop{left:6%;width:74%;top:108px}.pro-phone{right:2%;top:215px;width:23%}
  .showcase-orbit-one{width:570px}.showcase-orbit-two{width:470px}
}
@media(max-width:430px){
  .hero .hero-device-art{height:300px;min-height:300px}
  .hero-showcase{width:560px;height:450px;transform:translate3d(calc(-50% + var(--scene-x)),calc(-50% + var(--scene-y)),0) scale(.55)}
}
@media(prefers-reduced-motion:reduce){.pro-laptop,.pro-phone,.screen-sheen,.pro-phone-screen::after{animation:none !important}.hero-showcase{transition:none !important}}

/* ==========================================================
   HERO DEVICE POSITION FIX — 2026-08-28
   Corrige reglas antiguas full-bleed que dejaban el arte absoluto.
   El notebook/celular quedan como una capa TRANSPARENTE a la derecha,
   por encima del canvas pero sin tapar las partículas alrededor.
   ========================================================== */
@media (min-width: 961px){
  .hero .hero-grid{
    grid-template-columns:minmax(520px, .96fr) minmax(590px, 1.04fr) !important;
    gap:clamp(14px,1.8vw,30px) !important;
  }

  .hero .hero-visual.hero-art.hero-device-art{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    height:600px !important;
    min-height:600px !important;
    margin:0 !important;
    overflow:visible !important;
    z-index:4 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  .hero .hero-showcase{
    top:46% !important;
    right:-36px !important;
    width:min(760px,52vw) !important;
    height:575px !important;
    transform:translate3d(var(--scene-x),calc(-50% + var(--scene-y)),0) !important;
    transform-origin:center center !important;
    background:transparent !important;
  }

  .hero .pro-laptop{
    left:2% !important;
    top:54px !important;
    width:74% !important;
  }

  .hero .pro-phone{
    right:0 !important;
    top:164px !important;
    width:24.5% !important;
  }

  .hero .showcase-aura-one{top:68px !important;opacity:.72}
  .hero .showcase-aura-two{top:145px !important;opacity:.64}
  .hero .showcase-orbit-one{top:146px !important}
  .hero .showcase-orbit-two{top:184px !important}
}

/* Nada opaco detrás del arte: el canvas global debe verse entre y alrededor de los dispositivos. */
.hero .hero-device-art,
.hero .hero-device-stage,
.hero .hero-showcase{
  background-color:transparent !important;
  background-image:none !important;
}
.hero .hero-device-art::before,
.hero .hero-device-art::after{display:none !important}
.hero .hero-particles{z-index:2 !important;opacity:1 !important}
.hero .hero-grid{z-index:4 !important}
.hero .hero-copy{z-index:7 !important}
.hero .hero-device-art{z-index:5 !important}

@media (max-width: 1360px) and (min-width: 1121px){
  .hero .hero-showcase{right:-22px !important;width:min(700px,51vw) !important;top:45% !important}
  .hero .hero-visual.hero-art.hero-device-art{height:565px !important;min-height:565px !important}
  .hero .pro-laptop{top:48px !important}
  .hero .pro-phone{top:157px !important}
}

@media (max-width: 1120px) and (min-width: 961px){
  .hero .hero-grid{grid-template-columns:minmax(450px,1fr) minmax(470px,.92fr) !important}
  .hero .hero-showcase{right:-44px !important;width:620px !important;height:520px !important;top:44% !important;transform:translate3d(var(--scene-x),calc(-50% + var(--scene-y)),0) scale(.9) !important;transform-origin:right center !important}
  .hero .hero-visual.hero-art.hero-device-art{height:520px !important;min-height:520px !important}
  .hero .pro-laptop{top:46px !important}
  .hero .pro-phone{top:151px !important}
}

@media (max-width: 960px){
  .hero .hero-visual.hero-art.hero-device-art{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:455px !important;
    min-height:455px !important;
    margin:0 auto !important;
    overflow:visible !important;
    background:transparent !important;
    z-index:5 !important;
  }
  .hero .hero-showcase{
    left:50% !important;
    right:auto !important;
    top:44% !important;
    width:min(720px,94vw) !important;
    height:500px !important;
    transform:translate3d(calc(-50% + var(--scene-x)),calc(-50% + var(--scene-y)),0) scale(.86) !important;
    transform-origin:center center !important;
  }
  .hero .pro-laptop{top:48px !important}
  .hero .pro-phone{top:158px !important}
}

@media (max-width: 680px){
  .hero .hero-visual.hero-art.hero-device-art{height:330px !important;min-height:330px !important}
  .hero .hero-showcase{top:43% !important;width:590px !important;height:450px !important;transform:translate3d(calc(-50% + var(--scene-x)),calc(-50% + var(--scene-y)),0) scale(.62) !important}
  .hero .pro-laptop{left:5% !important;top:58px !important;width:74% !important}
  .hero .pro-phone{right:2% !important;top:164px !important;width:23% !important}
}

@media (max-width: 430px){
  .hero .hero-visual.hero-art.hero-device-art{height:285px !important;min-height:285px !important}
  .hero .hero-showcase{width:550px !important;height:430px !important;top:42% !important;transform:translate3d(calc(-50% + var(--scene-x)),calc(-50% + var(--scene-y)),0) scale(.54) !important}
}


/* =========================================================
   HERO — NOTEBOOK PNG PREMIUM 2026
   Cambia la imagen desde index.html: assets/img/hero/pc-premium-2026.png
   ========================================================= */
.hero .hero-laptop-png{
  position:absolute;
  z-index:6;
  top:28px;
  left:-1%;
  width:82%;
  height:auto;
  display:block;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  transform-origin:50% 55%;
  filter:drop-shadow(0 32px 32px rgba(0,0,0,.46)) drop-shadow(0 0 26px rgba(49,112,255,.18));
  animation:heroLaptopPngFloat 6.8s ease-in-out infinite;
}
@keyframes heroLaptopPngFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-.35deg)}
  50%{transform:translate3d(0,-10px,0) rotate(.25deg)}
}
@media (max-width:1180px){
  .hero .hero-laptop-png{top:48px;left:1%;width:80%}
}
@media (max-width:960px){
  .hero .hero-laptop-png{top:24px;left:4%;width:78%}
}
@media (max-width:680px){
  .hero .hero-laptop-png{top:18px;left:0;width:82%}
}
@media (prefers-reduced-motion:reduce){
  .hero .hero-laptop-png{animation:none}
}

/* =========================================================
   HERO — AJUSTE FINAL NOTEBOOK / 28-08-2026
   Evita que la punta derecha se corte y centra el mockup.
   Para ajustar manualmente en PC cambia SOLO width / left / top aquí.
   ========================================================= */
@media (min-width: 1361px){
  .hero .hero-showcase{
    right: 10px !important;
    width: min(760px, 50vw) !important;
    overflow: visible !important;
  }

  .hero .hero-laptop-png{
    width: 70% !important;   /* antes 82%: notebook un poco más pequeño */
    left: 5% !important;     /* lo centra mejor dentro del área derecha */
    top: 42px !important;    /* conserva buena altura en el hero */
  }
}

@media (max-width: 1360px) and (min-width: 1121px){
  .hero .hero-showcase{
    right: 4px !important;
    width: min(700px, 50vw) !important;
    overflow: visible !important;
  }

  .hero .hero-laptop-png{
    width: 70% !important;
    left: 5% !important;
    top: 46px !important;
  }
}

/* =========================================================
   HERO — AJUSTE DEFINITIVO DISPOSITIVOS SIN CORTES / 29-08-2026
   El PNG contiene notebook + celular. Se mantiene COMPLETO dentro
   de la columna derecha y se reduce ligeramente para dejar aire.
   ========================================================= */
@media (min-width: 961px){
  .hero .hero-visual.hero-art.hero-device-art{
    overflow: visible !important;
  }

  .hero .hero-device-stage.hero-showcase{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    transform:translate3d(var(--scene-x),var(--scene-y),0) !important;
    transform-origin:center center !important;
    overflow:visible !important;
  }

  .hero .hero-laptop-png{
    width:86% !important;
    max-width:680px !important;
    height:auto !important;
    left:6% !important;
    right:auto !important;
    top:34px !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

@media (min-width: 1361px){
  .hero .hero-laptop-png{
    width:84% !important;
    max-width:660px !important;
    left:5% !important;
    top:30px !important;
  }
}

@media (max-width: 1360px) and (min-width: 1121px){
  .hero .hero-laptop-png{
    width:82% !important;
    max-width:620px !important;
    left:6% !important;
    top:32px !important;
  }
}

@media (max-width: 1120px) and (min-width: 961px){
  .hero .hero-laptop-png{
    width:80% !important;
    max-width:580px !important;
    left:8% !important;
    top:28px !important;
  }
}

@media (max-width: 960px){
  .hero .hero-device-stage.hero-showcase{
    left:0 !important;
    right:0 !important;
    top:0 !important;
    width:100% !important;
    height:100% !important;
    transform:translate3d(var(--scene-x),var(--scene-y),0) !important;
    overflow:visible !important;
  }

  .hero .hero-laptop-png{
    width:92% !important;
    max-width:700px !important;
    left:4% !important;
    top:16px !important;
  }
}

@media (max-width: 680px){
  .hero .hero-laptop-png{
    width:94% !important;
    left:3% !important;
    top:10px !important;
  }
}


/* =========================================================
   HERO — FIX REAL VERIFICADO / DISPOSITIVOS COMPLETOS
   IMPORTANTE: hero-art fue retirado del contenedor del PNG para
   evitar la regla heredada .hero-art img { width/height:100% }.
   ========================================================= */
.hero .hero-visual.hero-device-art{
  overflow:visible !important;
}
.hero .hero-device-stage.hero-showcase{
  overflow:visible !important;
}
@media (min-width: 1361px){
  .hero .hero-laptop-png{
    width:76% !important;
    max-width:620px !important;
    height:auto !important;
    left:8% !important;
    right:auto !important;
    top:42px !important;
    object-fit:contain !important;
    transform-origin:center center !important;
  }
}
@media (max-width:1360px) and (min-width:1121px){
  .hero .hero-laptop-png{
    width:74% !important;
    max-width:590px !important;
    height:auto !important;
    left:9% !important;
    right:auto !important;
    top:42px !important;
    object-fit:contain !important;
  }
}
@media (max-width:1120px) and (min-width:961px){
  .hero .hero-laptop-png{
    width:72% !important;
    max-width:560px !important;
    height:auto !important;
    left:10% !important;
    top:34px !important;
  }
}
@media (max-width:960px){
  .hero .hero-laptop-png{
    width:82% !important;
    max-width:650px !important;
    height:auto !important;
    left:9% !important;
    top:18px !important;
  }
}
@media (max-width:680px){
  .hero .hero-laptop-png{
    width:88% !important;
    left:6% !important;
    top:12px !important;
  }
}

/* HERO — TAMAÑO FINAL VALIDADO VISUALMENTE */
@media (min-width:1361px){
  .hero .hero-laptop-png{width:88% !important;max-width:680px !important;left:4% !important;top:34px !important}
}
@media (max-width:1360px) and (min-width:1121px){
  .hero .hero-laptop-png{width:86% !important;max-width:640px !important;left:5% !important;top:36px !important}
}
@media (max-width:1120px) and (min-width:961px){
  .hero .hero-laptop-png{width:84% !important;max-width:600px !important;left:7% !important;top:32px !important}
}

/* =========================================================
   HERO — AJUSTE RESPONSIVE FINAL MULTIPANTALLA / 29-08-2026
   Mantiene el ajuste aprobado en escritorio y reorganiza
   el hero en móvil: texto -> botones -> dispositivos -> stats.
   ========================================================= */

/* ESCRITORIO GRANDE — valores aportados/aprobados por el usuario */
@media (min-width:1361px){
  .hero .hero-laptop-png{
    width:120% !important;
    max-width:900px !important;
    left:-20% !important;
    top:20px !important;
  }
}

/* NOTEBOOK / ESCRITORIO MEDIO — mismos valores aprobados */
@media (max-width:1360px) and (min-width:1121px){
  .hero .hero-laptop-png{
    width:120% !important;
    max-width:900px !important;
    left:-20% !important;
    top:20px !important;
  }
}

/* TABLET HORIZONTAL */
@media (max-width:1120px) and (min-width:961px){
  .hero .hero-laptop-png{
    width:84% !important;
    max-width:600px !important;
    left:7% !important;
    top:32px !important;
  }
}

/* TABLET / MÓVIL: una sola columna y arte integrado al contenido */
@media (max-width:960px){
  .hero{
    min-height:auto !important;
    padding:34px 0 34px !important;
    overflow:hidden !important;
  }

  .hero .hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    align-items:start !important;
  }

  /* Hace que los hijos del copy puedan ordenarse junto al visual */
  .hero .hero-copy{
    display:contents !important;
  }

  .hero #heroPill{order:1;justify-self:start}
  .hero #hero-title{order:2}
  .hero #heroText{order:3}
  .hero .hero-actions{order:4}
  .hero .hero-visual{order:5}
  .hero .hero-stats{order:6}

  .hero .hero-visual.hero-device-art{
    position:relative !important;
    width:100% !important;
    height:clamp(300px,48vw,430px) !important;
    min-height:0 !important;
    margin:18px 0 4px !important;
    overflow:visible !important;
  }

  .hero .hero-device-stage.hero-showcase{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:visible !important;
    transform:none !important;
  }

  .hero .hero-laptop-png{
    position:absolute !important;
    width:min(94%,760px) !important;
    max-width:none !important;
    height:auto !important;
    left:50% !important;
    right:auto !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    object-fit:contain !important;
    transform-origin:center center !important;
  }

  .hero .hero-stats{
    width:100% !important;
    max-width:none !important;
    margin:18px 0 0 !important;
  }
}

/* CELULARES */
@media (max-width:680px){
  .hero{
    padding:24px 0 30px !important;
  }

  .hero #heroPill{
    margin-bottom:0 !important;
  }

  .hero #hero-title{
    margin-top:20px !important;
    font-size:clamp(38px,11.2vw,48px) !important;
    line-height:1.01 !important;
  }

  .hero #heroText{
    margin-top:20px !important;
    font-size:15px !important;
    line-height:1.62 !important;
  }

  .hero .hero-actions{
    margin-top:24px !important;
    gap:12px !important;
  }

  .hero .hero-visual.hero-device-art{
    height:clamp(255px,74vw,330px) !important;
    margin:12px 0 2px !important;
  }

  .hero .hero-laptop-png{
    width:106% !important;
    max-width:none !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
  }

  .hero .hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 14px !important;
    margin-top:12px !important;
    padding-top:18px !important;
    border-top:1px solid rgba(148,163,184,.12);
  }

  .hero .hero-stats>div{
    grid-template-columns:26px minmax(0,1fr) !important;
    column-gap:8px !important;
  }

  .hero .hero-stats strong{font-size:18px !important}
  .hero .hero-stats span{font-size:11px !important}
}

/* CELULARES COMPACTOS */
@media (max-width:430px){
  .hero #hero-title{
    font-size:clamp(35px,10.7vw,42px) !important;
  }

  .hero .hero-visual.hero-device-art{
    height:clamp(235px,72vw,285px) !important;
  }

  .hero .hero-laptop-png{
    width:108% !important;
  }
}

/* ==========================================================
   PROCESO — PULSO DE CUADRÍCULA AL ENTRAR EN LA SECCIÓN
   Ajuste del usuario: pulso breve de 1s, tenue y sin tapar el texto.
   ========================================================== */
.process-premium::before{
  z-index:-3;
}
.process-premium::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.03;
  background-image:
    linear-gradient(rgba(56,189,248,.34) 1px,transparent 1px),
    linear-gradient(90deg,rgba(56,189,248,.34) 1px,transparent 1px);
  background-size:54px 54px;
  background-position:0 0;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 13%,#000 87%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 13%,#000 87%,transparent);
  will-change:opacity;
}
.process-premium.grid-pulse-active::after{
  animation:processGridPulse 1s cubic-bezier(.42,0,.28,1) both;
}
@keyframes processGridPulse {
  0% { opacity:.03; }
  55% { opacity:.35; }
  65% { opacity:.12; }
  72%,
  100% { opacity:.03; }
}
body.theme-nexus .process-premium::after{
  background-image:
    linear-gradient(rgba(168,85,247,.32) 1px,transparent 1px),
    linear-gradient(90deg,rgba(231,182,74,.25) 1px,transparent 1px);
}
body.theme-nexus .process-premium.grid-pulse-active::after{
  animation:processGridPulseNexus 1s cubic-bezier(.42,0,.28,1) both;
}
@keyframes processGridPulseNexus {
  0% { opacity:.03; }
  55% { opacity:.35; }
  65% { opacity:.12; }
  72%,
  100% { opacity:.03; }
}
@media(prefers-reduced-motion:reduce){
  .process-premium.grid-pulse-active::after{animation:none;opacity:.03}
}

/* ==========================================================
   NEXUS — DIVISOR DE ENERGÍA ENTRE HERO Y SERVICIOS
   Sin punto: un destello corto recorre la propia línea.
   ========================================================== */
body.theme-nexus .services-strip{
  position:relative;
  isolation:isolate;
  border-top:0;
}

body.theme-nexus .services-strip::before{
  content:"";
  position:absolute;
  top:0;
  left:clamp(18px,3vw,52px);
  right:clamp(18px,3vw,52px);
  height:1px;
  z-index:8;
  pointer-events:none;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(168,85,247,.12) 12%,
    rgba(168,85,247,.24) 35%,
    rgba(231,182,74,.20) 50%,
    rgba(168,85,247,.24) 65%,
    rgba(168,85,247,.12) 88%,
    transparent 100%);
  box-shadow:0 0 6px rgba(168,85,247,.08);
}

body.theme-nexus .services-strip::after{
  content:"";
  position:absolute;
  top:-1px;
  left:clamp(18px,3vw,52px);
  width:90px;
  height:2px;
  z-index:9;
  pointer-events:none;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(168,85,247,.08) 20%,
    rgba(168,85,247,.55) 55%,
    rgba(231,182,74,.72) 78%,
    transparent 100%);
  filter:blur(.15px);
  box-shadow:
    0 0 5px rgba(168,85,247,.18),
    0 0 9px rgba(231,182,74,.10);
  opacity:0;
  animation:nexusEnergyLine 5.5s cubic-bezier(.45,.02,.55,.98) infinite;
}

@keyframes nexusEnergyLine{
  0%{left:clamp(18px,3vw,52px);opacity:0}
  8%{opacity:.35}
  18%{opacity:.75}
  82%{opacity:.75}
  94%{opacity:.30}
  100%{left:calc(100% - clamp(18px,3vw,52px) - 90px);opacity:0}
}

@media(max-width:680px){
  body.theme-nexus .services-strip::before{left:15px;right:15px}
  body.theme-nexus .services-strip::after{left:15px;width:65px;animation-duration:4.8s}
  @keyframes nexusEnergyLine{
    0%{left:15px;opacity:0}
    8%{opacity:.30}
    18%{opacity:.65}
    82%{opacity:.65}
    94%{opacity:.25}
    100%{left:calc(100% - 80px);opacity:0}
  }
}

@media(prefers-reduced-motion:reduce){
  body.theme-nexus .services-strip::after{animation:none;display:none}
}

/* ==========================================================
   HERO — DIGITAL REVEAL 2050
   Cambio de mensajes sin giros ni desplazamientos grandes.
   La energía se mueve; el texto permanece estable.
   ========================================================== */
.hero-message-title{
  position:relative;
  min-height:3.12em;
  --hero-accent:#1685ff;
  --hero-accent-soft:#38bdf8;
}

.hero-message-text{
  position:relative;
  min-height:3.45em;
  will-change:opacity,filter;
}

/* Salida: solo baja la presencia del mensaje. */
.hero-message-title.is-message-out,
.hero-message-text.is-message-out{
  animation:heroDigitalOut .38s cubic-bezier(.4,0,.2,1) both;
}

/* Entrada: aparece enfocándose, sin rotar ni viajar por la pantalla. */
.hero-message-title.is-message-in,
.hero-message-text.is-message-in{
  animation:heroDigitalIn .62s cubic-bezier(.22,.78,.24,1) both;
}

@keyframes heroDigitalOut{
  from{opacity:1;filter:blur(0)}
  to{opacity:0;filter:blur(1.5px)}
}

@keyframes heroDigitalIn{
  0%{opacity:0;filter:blur(2px) brightness(.9)}
  45%{opacity:.72;filter:blur(.6px) brightness(1.08)}
  100%{opacity:1;filter:blur(0) brightness(1)}
}

/* Línea de escaneo: el movimiento está en la luz, no en el texto. */
.hero-message-title::after{
  content:"";
  position:absolute;
  z-index:8;
  left:0;
  top:-4%;
  width:2px;
  height:108%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(180deg,transparent 0%,var(--hero-accent-soft) 18%,#fff 48%,var(--hero-accent) 72%,transparent 100%);
  box-shadow:0 0 8px var(--hero-accent),0 0 22px color-mix(in srgb,var(--hero-accent) 42%,transparent);
}

.hero-message-title.is-message-in::after{
  animation:heroDigitalScan .86s cubic-bezier(.22,.72,.18,1) both;
}

@keyframes heroDigitalScan{
  0%{left:0;opacity:0}
  10%{opacity:.78}
  78%{opacity:.72}
  100%{left:100%;opacity:0}
}

/* El texto destacado cambia de forma sutil, siempre dentro de la identidad del tema. */
.hero[data-message="0"] .hero-message-title{--hero-accent:#1685ff;--hero-accent-soft:#38bdf8}
.hero[data-message="1"] .hero-message-title{--hero-accent:#0b65f5;--hero-accent-soft:#2f8fff}
.hero[data-message="2"] .hero-message-title{--hero-accent:#2998ff;--hero-accent-soft:#5ab5ff}

.hero[data-message="0"] .hero-message-title em{color:#1685ff;text-shadow:0 0 22px rgba(22,133,255,.16)}
.hero[data-message="1"] .hero-message-title em{color:#0b65f5;text-shadow:0 0 22px rgba(11,101,245,.17)}
.hero[data-message="2"] .hero-message-title em{color:#2998ff;text-shadow:0 0 22px rgba(41,152,255,.16)}

/* NEXUS: morado intenso como color dominante, sin cambiar de identidad entre mensajes. */
body.theme-nexus .hero[data-message="0"] .hero-message-title{--hero-accent:#a855f7;--hero-accent-soft:#8b5cf6}
body.theme-nexus .hero[data-message="1"] .hero-message-title{--hero-accent:#8b5cf6;--hero-accent-soft:#7c3aed}
body.theme-nexus .hero[data-message="2"] .hero-message-title{--hero-accent:#7c3aed;--hero-accent-soft:#a855f7}

body.theme-nexus .hero[data-message="0"] .hero-message-title em{color:#a855f7;text-shadow:0 0 24px rgba(168,85,247,.19)}
body.theme-nexus .hero[data-message="1"] .hero-message-title em{color:#8b5cf6;text-shadow:0 0 24px rgba(139,92,246,.20)}
body.theme-nexus .hero[data-message="2"] .hero-message-title em{color:#7c3aed;text-shadow:0 0 24px rgba(124,58,237,.21)}

.hero-message-dots{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  min-height:12px;
}
.hero-message-dots button{
  width:7px;height:7px;padding:0;border:0;border-radius:999px;
  background:rgba(148,163,184,.34);box-shadow:none;cursor:pointer;
  transition:width .35s cubic-bezier(.2,.8,.2,1),background .35s ease,box-shadow .35s ease,transform .25s ease;
}
.hero-message-dots button:hover{transform:scale(1.18)}
.hero-message-dots button.active{
  width:29px;background:linear-gradient(90deg,#1685ff,#38bdf8);
  box-shadow:0 0 14px rgba(22,133,255,.34);
}
body.theme-nexus .hero-message-dots button.active{
  background:linear-gradient(90deg,#a855f7,#e7b64a);
  box-shadow:0 0 14px rgba(168,85,247,.30);
}

@media(max-width:960px){
  .hero .hero-message-dots{order:4;margin-top:16px}
  .hero .hero-actions{order:5}
  .hero .hero-visual{order:6}
  .hero .hero-stats{order:7}
  .hero-message-title{min-height:3.10em}
}
@media(max-width:680px){
  .hero-message-title{min-height:3.95em}
  .hero-message-text{min-height:4.9em}
  .hero .hero-message-dots{margin-top:14px}
  .hero-message-title::after{height:104%;top:-2%}
}
@media(max-width:430px){
  .hero-message-title{min-height:4.18em}
  .hero-message-text{min-height:5.3em}
}
@media(prefers-reduced-motion:reduce){
  .hero-message-title.is-message-out,
  .hero-message-title.is-message-in,
  .hero-message-text.is-message-out,
  .hero-message-text.is-message-in{animation:none!important}
  .hero-message-title::after{display:none!important}
  .hero-message-dots button{transition:none}
}


/* ==========================================================
   DISU SOFT — LOGO REAL PIECES ASSEMBLY 2050 / ENERGY V3
   16 fragmentos REALES del PNG llegan desde 4 direcciones:
   izquierda, arriba, derecha y abajo. Cierre con barrido fuerte.
   ========================================================== */
.brand-assembly{
  --logo-energy-main:#1685ff;
  --logo-energy-core:#dff7ff;
  --logo-energy-accent:#46d8ff;
  position:relative;
  isolation:isolate;
  overflow:visible;
}
.brand-assembly>img{position:relative;z-index:4}
.brand-assembly.logo-real-assembling>img{opacity:0}

.logo-piece-stage{
  position:fixed;
  inset:0;
  z-index:10020;
  pointer-events:none;
  overflow:hidden;
  contain:layout paint style;
}
.logo-real-piece{
  position:fixed;
  display:block;
  background-repeat:no-repeat;
  opacity:0;
  will-change:transform,opacity;
  transform:translate3d(var(--from-x),var(--from-y),0) rotate(var(--rot)) scale(.78);
  animation:logoRealPieceFly var(--dur) var(--delay) cubic-bezier(.16,.82,.18,1) forwards;
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--logo-piece-glow,#1685ff) 38%,transparent));
}
.logo-real-piece::after{display:none!important;content:none!important}
@keyframes logoRealPieceFly{
  0%{
    opacity:0;
    transform:translate3d(var(--from-x),var(--from-y),0) rotate(var(--rot)) scale(.78);
  }
  9%{opacity:1}
  76%{opacity:1}
  100%{
    opacity:1;
    transform:translate3d(0,0,0) rotate(0) scale(1);
  }
}

/* Sin placa/onda de fondo: el logo queda totalmente transparente alrededor. */
.brand-assembly::before{display:none!important;content:none!important}

/* Línea de energía potente que se REVELA de izquierda a derecha. */
.brand-assembly::after{
  content:"";
  position:absolute;
  z-index:8;
  pointer-events:none;
  left:-24%;
  top:50%;
  width:148%;
  height:3px;
  opacity:0;
  transform:translateY(-50%);
  transform-origin:left center;
  clip-path:inset(0 100% 0 0);
  background:linear-gradient(90deg,
    transparent 0%,
    var(--logo-energy-main) 12%,
    var(--logo-energy-core) 46%,
    #fff 51%,
    var(--logo-energy-accent) 58%,
    var(--logo-energy-main) 82%,
    transparent 100%);
  box-shadow:
    0 0 4px var(--logo-energy-core),
    0 0 10px var(--logo-energy-main),
    0 0 22px color-mix(in srgb,var(--logo-energy-main) 70%,transparent),
    0 0 38px color-mix(in srgb,var(--logo-energy-main) 35%,transparent);
}

.brand-assembly.logo-real-lock>img{
  opacity:1;
  animation:logoRealFinalPulse .78s cubic-bezier(.2,.75,.2,1) both;
}
.brand-assembly.logo-real-lock::after{
  animation:logoRealEnergySweep .82s cubic-bezier(.22,.72,.18,1) both;
}

@keyframes logoRealEnergySweep{
  0%{opacity:0;clip-path:inset(0 100% 0 0)}
  10%{opacity:.95}
  62%{opacity:1;clip-path:inset(0 0 0 0)}
  78%{opacity:.88;clip-path:inset(0 0 0 0)}
  100%{opacity:0;clip-path:inset(0 0 0 0)}
}
@keyframes logoRealFinalPulse{
  0%{filter:brightness(1)}
  28%{filter:brightness(1.75) drop-shadow(0 0 7px color-mix(in srgb,var(--logo-energy-main) 72%,transparent))}
  64%{filter:brightness(1.22) drop-shadow(0 0 3px color-mix(in srgb,var(--logo-energy-main) 38%,transparent))}
  100%{filter:brightness(1)}
}

body.theme-nexus .brand-assembly{
  --logo-energy-main:#8b5cf6;
  --logo-energy-core:#f2e9ff;
  --logo-energy-accent:#e7b64a;
}
body.theme-nexus .logo-real-piece{
  --logo-piece-glow:#8b5cf6;
}

@media(max-width:680px){
  .logo-real-piece{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--logo-piece-glow,#1685ff) 30%,transparent))}
  .brand-assembly::after{height:2px;box-shadow:0 0 4px var(--logo-energy-core),0 0 10px var(--logo-energy-main),0 0 18px color-mix(in srgb,var(--logo-energy-main) 45%,transparent)}
}
@media(prefers-reduced-motion:reduce){
  .logo-piece-stage{display:none!important}
  .brand-assembly>img{opacity:1!important;animation:none!important;filter:none!important}
  .brand-assembly::before,.brand-assembly::after{display:none!important}
}

/* ==========================================================
   DISU AI — HERO WELCOME 2050
   Intro ligera: robot holográfico -> saludo -> mini holograma.
   ========================================================== */
.hero-device-stage{position:relative}
.disu-ai-intro{position:absolute;inset:0;z-index:20;pointer-events:none;display:grid;place-items:center;opacity:0;animation:aiIntroLife 4.7s ease both}
.disu-ai-beam{position:absolute;left:50%;top:7%;width:190px;height:78%;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(22,133,255,.08),rgba(93,220,255,.18),rgba(22,133,255,.08),transparent);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);filter:blur(1px);animation:aiBeam 4.1s ease both}
.disu-ai-robot{position:relative;width:150px;height:330px;filter:drop-shadow(0 0 18px rgba(22,133,255,.38));transform-origin:50% 100%;animation:aiMaterialize 4.25s cubic-bezier(.2,.8,.2,1) both}
.disu-ai-head{position:absolute;left:43px;top:16px;width:64px;height:58px;border:2px solid rgba(160,225,255,.9);border-radius:25px 25px 19px 19px;background:linear-gradient(145deg,rgba(225,246,255,.96),rgba(79,120,150,.55));box-shadow:inset 0 -12px 22px rgba(3,14,32,.55),0 0 16px rgba(93,220,255,.35)}
.disu-ai-face{position:absolute;left:9px;right:9px;top:14px;height:24px;border-radius:11px;background:#071426;border:1px solid rgba(93,220,255,.35)}
.disu-ai-eye{position:absolute;top:9px;width:8px;height:3px;border-radius:5px;background:#69e5ff;box-shadow:0 0 8px #38bdf8}.disu-ai-eye.a{left:11px}.disu-ai-eye.b{right:11px}
.disu-ai-neck{position:absolute;left:65px;top:70px;width:20px;height:18px;border:1px solid #72cfff;background:#173149}
.disu-ai-torso{position:absolute;left:35px;top:84px;width:80px;height:106px;border:2px solid rgba(165,225,255,.86);border-radius:25px 25px 30px 30px;background:linear-gradient(145deg,#d7f2ff 0%,#7ea7c0 26%,#18344c 62%,#091729 100%);box-shadow:inset 0 0 28px rgba(0,0,0,.35)}
.disu-ai-core{position:absolute;left:29px;top:31px;width:22px;height:22px;border:1px solid #9bf1ff;border-radius:50%;background:#0b2540;box-shadow:0 0 8px #38bdf8,0 0 22px rgba(56,189,248,.75);animation:aiCore 1s ease-in-out infinite alternate}
.disu-ai-arm{position:absolute;top:91px;width:27px;height:118px;transform-origin:50% 15px}.disu-ai-arm::before,.disu-ai-arm::after{content:"";position:absolute;left:4px;width:19px;border:2px solid rgba(166,226,255,.82);background:linear-gradient(#b8dcec,#284b63);border-radius:12px}.disu-ai-arm::before{top:0;height:52px}.disu-ai-arm::after{top:55px;height:54px}.disu-ai-arm.left{left:12px;transform:rotate(7deg)}.disu-ai-arm.right{right:8px;animation:aiWave 1.25s ease-in-out 1.55s 2 alternate}
.disu-ai-hand{position:absolute;left:3px;top:107px;width:22px;height:24px;border:2px solid #9fdfff;border-radius:10px;background:#315b73}
.disu-ai-hips{position:absolute;left:48px;top:184px;width:54px;height:35px;border:2px solid #8ddcff;border-radius:11px;background:#16344b}
.disu-ai-leg{position:absolute;top:214px;width:29px;height:106px}.disu-ai-leg::before,.disu-ai-leg::after{content:"";position:absolute;left:3px;width:23px;border:2px solid rgba(166,226,255,.8);background:linear-gradient(#9bc5d8,#25465d);border-radius:11px}.disu-ai-leg::before{height:50px}.disu-ai-leg::after{top:52px;height:50px}.disu-ai-leg.left{left:43px;transform:rotate(2deg)}.disu-ai-leg.right{right:43px;transform:rotate(-2deg)}
.disu-ai-ring{position:absolute;left:50%;bottom:4%;width:220px;height:42px;border:1px solid rgba(93,220,255,.45);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 18px rgba(56,189,248,.25),inset 0 0 18px rgba(56,189,248,.14);animation:aiRing 1.4s ease-in-out infinite alternate}
.disu-ai-hud{position:absolute;right:4%;top:22%;padding:8px 12px;border:1px solid rgba(93,220,255,.32);border-radius:9px;background:rgba(4,17,35,.42);backdrop-filter:blur(5px);font:700 9px/1.2 ui-monospace,monospace;letter-spacing:.14em;color:#87eaff;opacity:0;animation:aiHud 4.2s ease both}.disu-ai-hud::before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%;background:#61e8ff;box-shadow:0 0 8px #38bdf8}
.hero-device-stage.ai-welcome .hero-laptop-png{animation:aiDeviceReveal 5.15s cubic-bezier(.2,.8,.2,1) both}
.hero-device-stage.ai-welcome .showcase-aura,.hero-device-stage.ai-welcome .showcase-orbit,.hero-device-stage.ai-welcome .showcase-node{animation-delay:3.5s}
.disu-ai-mini{position:absolute;z-index:8;right:19%;top:20%;width:42px;height:76px;opacity:0;filter:drop-shadow(0 0 9px rgba(93,220,255,.7));animation:aiMini 5.4s ease both}.disu-ai-mini::before{content:"";position:absolute;left:11px;top:0;width:20px;height:19px;border:1px solid #8beaff;border-radius:8px;background:rgba(22,133,255,.3);box-shadow:0 0 8px #38bdf8}.disu-ai-mini::after{content:"";position:absolute;left:7px;top:22px;width:28px;height:40px;border:1px solid #8beaff;border-radius:9px 9px 13px 13px;background:linear-gradient(rgba(93,220,255,.22),rgba(22,133,255,.08));box-shadow:0 0 10px rgba(56,189,248,.5)}
body.theme-nexus .disu-ai-robot{filter:drop-shadow(0 0 18px rgba(139,92,246,.42))}body.theme-nexus .disu-ai-beam{background:linear-gradient(90deg,transparent,rgba(124,58,237,.07),rgba(168,85,247,.18),rgba(231,182,74,.08),transparent)}body.theme-nexus .disu-ai-core,body.theme-nexus .disu-ai-eye{box-shadow:0 0 8px #a855f7,0 0 20px rgba(139,92,246,.72);background:#c4a7ff}body.theme-nexus .disu-ai-ring{border-color:rgba(168,85,247,.5);box-shadow:0 0 18px rgba(139,92,246,.28),inset 0 0 18px rgba(139,92,246,.14)}body.theme-nexus .disu-ai-hud{border-color:rgba(168,85,247,.38);color:#c9b5ff}body.theme-nexus .disu-ai-mini{filter:drop-shadow(0 0 9px rgba(168,85,247,.75))}
@keyframes aiIntroLife{0%,5%{opacity:0}12%,72%{opacity:1}88%,100%{opacity:0}}
@keyframes aiMaterialize{0%{opacity:0;transform:translateY(22px) scale(.92);clip-path:inset(100% 0 0)}16%{opacity:.85}42%{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0 0 0)}74%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1.08)}100%{opacity:0;transform:translateY(-8px) scale(.72);filter:brightness(1.8) blur(1px)}}
@keyframes aiBeam{0%,6%{opacity:0;transform:translateX(-50%) scaleY(.1)}18%,68%{opacity:.8;transform:translateX(-50%) scaleY(1)}86%,100%{opacity:0;transform:translateX(-50%) scaleY(.25)}}
@keyframes aiWave{0%{transform:rotate(0)}55%{transform:rotate(-58deg) translate(-7px,-3px)}100%{transform:rotate(-35deg) translate(-4px,-2px)}}
@keyframes aiCore{to{filter:brightness(1.45)}}@keyframes aiRing{to{transform:translateX(-50%) scale(1.08);opacity:.6}}
@keyframes aiHud{0%,30%{opacity:0;transform:translateX(8px)}42%,72%{opacity:1;transform:none}86%,100%{opacity:0;transform:translateX(5px)}}
@keyframes aiDeviceReveal{0%,62%{opacity:0;filter:blur(8px) brightness(1.3);transform:translateY(12px) scale(.97)}75%{opacity:.55;filter:blur(2px) brightness(1.18)}100%{opacity:1;filter:none;transform:none}}
@keyframes aiMini{0%,72%{opacity:0;transform:translateY(10px) scale(.6)}84%{opacity:.9;transform:translateY(0) scale(1.08)}100%{opacity:.55;transform:translateY(0) scale(1)}}
@media(max-width:680px){.disu-ai-robot{width:110px;height:250px;transform:scale(.76);transform-origin:50% 100%}.disu-ai-hud{right:1%;top:15%;font-size:7px}.disu-ai-ring{width:150px}.disu-ai-mini{right:18%;top:19%;transform:scale(.72)}}
@media(prefers-reduced-motion:reduce){.disu-ai-intro,.disu-ai-mini{display:none!important}.hero-device-stage.ai-welcome .hero-laptop-png{animation:none!important}}

/* ==========================================================
   DISU AI — ANDROID 2050 PREMIUM (reemplaza robot geométrico)
   Imagen integrada + materialización holográfica + saludo sutil.
   ========================================================== */
.disu-ai-intro .disu-ai-robot{display:none!important}
.disu-ai-android-wrap{
  position:relative;width:min(62%,430px);height:94%;display:grid;place-items:end center;
  transform-origin:50% 88%;opacity:0;animation:android2050Life 4.7s cubic-bezier(.2,.78,.2,1) both;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.38));
}
.disu-ai-android{
  display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;
  transform-origin:50% 82%;will-change:transform,opacity,filter,clip-path;
  animation:android2050Materialize 4.35s cubic-bezier(.18,.82,.18,1) both;
  mix-blend-mode:screen;
}
.disu-ai-android-wrap::before{
  content:"";position:absolute;z-index:4;left:8%;right:8%;top:18%;height:1px;opacity:0;
  background:linear-gradient(90deg,transparent,#7beaff 18%,#fff 50%,#4fc7ff 82%,transparent);
  box-shadow:0 0 8px #38bdf8,0 0 22px rgba(22,133,255,.72);
  animation:androidScanLine 1.2s cubic-bezier(.2,.8,.2,1) .45s both;
}
.disu-ai-android-wrap::after{
  content:"";position:absolute;z-index:-1;left:5%;right:5%;bottom:3%;height:13%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(64,205,255,.38),rgba(22,133,255,.13) 38%,transparent 72%);
  filter:blur(8px);opacity:0;animation:androidGroundGlow 4.4s ease both;
}
.disu-ai-scan{position:absolute;z-index:3;inset:8% 9% 4%;pointer-events:none;opacity:0;
  background:repeating-linear-gradient(180deg,transparent 0 7px,rgba(101,224,255,.09) 8px,transparent 9px);
  mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent);
  animation:androidScanTexture 4.15s ease both;
}
.disu-ai-energy{position:absolute;z-index:5;width:4px;height:4px;border-radius:50%;background:#dffaff;box-shadow:0 0 7px #4fd8ff,0 0 15px #1685ff;opacity:0}
.disu-ai-energy.e1{left:16%;top:34%;animation:androidSpark 1.5s ease .65s both}.disu-ai-energy.e2{right:18%;top:52%;animation:androidSpark 1.25s ease 1.05s both}.disu-ai-energy.e3{left:48%;top:17%;animation:androidSpark 1.4s ease 1.38s both}
@keyframes android2050Life{0%,4%{opacity:0}11%,73%{opacity:1}88%,100%{opacity:0}}
@keyframes android2050Materialize{
  0%{opacity:0;clip-path:inset(100% 0 0);transform:translateY(20px) scale(.95);filter:brightness(1.65) saturate(1.3)}
  18%{opacity:.88}42%{opacity:1;clip-path:inset(0 0 0);transform:translateY(0) scale(1);filter:brightness(1.08) saturate(1.05)}
  54%{transform:translateY(-3px) rotate(-.7deg) scale(1.012)}
  63%{transform:translateY(0) rotate(.5deg) scale(1)}
  73%{opacity:1;filter:brightness(1.05)}
  100%{opacity:0;clip-path:inset(0 0 88%);transform:translateY(-10px) scale(.91);filter:brightness(1.8) saturate(1.5)}
}
@keyframes androidScanLine{0%{top:88%;opacity:0}12%{opacity:1}85%{opacity:.9}100%{top:16%;opacity:0}}
@keyframes androidGroundGlow{0%,8%{opacity:0;transform:scale(.55)}30%,70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.72)}}
@keyframes androidScanTexture{0%,10%{opacity:0}25%,70%{opacity:.62}86%,100%{opacity:0}}
@keyframes androidSpark{0%,100%{opacity:0;transform:translate(0,0) scale(.5)}28%{opacity:1}62%{opacity:.8;transform:translate(18px,-22px) scale(1.4)}}
body.theme-nexus .disu-ai-android{filter:hue-rotate(34deg) saturate(1.12)}
body.theme-nexus .disu-ai-android-wrap::before{background:linear-gradient(90deg,transparent,#c8a5ff 18%,#fff 50%,#e7b64a 82%,transparent);box-shadow:0 0 8px #a855f7,0 0 22px rgba(139,92,246,.72)}
body.theme-nexus .disu-ai-android-wrap::after{background:radial-gradient(ellipse,rgba(168,85,247,.35),rgba(231,182,74,.10) 40%,transparent 72%)}
@media(max-width:680px){.disu-ai-android-wrap{width:min(70%,285px);height:92%}.disu-ai-scan{inset:8% 5% 4%}.disu-ai-hud{top:11%}}
@media(prefers-reduced-motion:reduce){.disu-ai-android-wrap{display:none!important}}

/* ==========================================================
   DISU AI — ARTICULATED SVG ANDROID 2050
   Robot vectorial real, sin fotografía. Partes articuladas.
   ========================================================== */
.disu-ai-intro{
  --ai:#1685ff;
  --ai-hot:#69e5ff;
  --ai-core:#dffcff;
}
.disu-ai-svg-wrap{
  position:relative;
  width:min(67%,390px);
  height:96%;
  z-index:3;
  display:grid;
  place-items:end center;
  opacity:0;
  transform-origin:50% 88%;
  animation:aiSvgLife 5.25s cubic-bezier(.2,.78,.2,1) both;
  will-change:transform,opacity,filter;
}
.disu-ai-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.34)) drop-shadow(0 0 10px color-mix(in srgb,var(--ai) 22%,transparent));
  transform-origin:50% 84%;
  animation:aiSvgMaterialize 4.75s cubic-bezier(.18,.82,.18,1) both;
}
.disu-ai-svg .ai-body,
.disu-ai-svg .ai-head,
.disu-ai-svg .ai-arm,
.disu-ai-svg .ai-upper-right,
.disu-ai-svg .ai-forearm-right,
.disu-ai-svg .ai-hand-right{
  transform-box:fill-box;
}
.disu-ai-svg .ai-head{
  transform-origin:50% 85%;
  animation:aiHeadLook 2.2s ease-in-out 1.1s both;
}
.disu-ai-svg .ai-arm-right{
  transform-origin:15% 12%;
  animation:aiShoulderWave 1.7s cubic-bezier(.35,.05,.2,1) 1.75s both;
}
.disu-ai-svg .ai-upper-right{
  transform-origin:20% 10%;
}
.disu-ai-svg .ai-forearm-right{
  transform-origin:25% 8%;
  animation:aiForearmWave 1.7s cubic-bezier(.35,.05,.2,1) 1.75s both;
}
.disu-ai-svg .ai-hand-right{
  transform-origin:28% 68%;
  animation:aiHandWave .34s ease-in-out 2.18s 4 alternate;
}
.disu-ai-svg .ai-torso-main{
  transform-box:fill-box;
  transform-origin:50% 70%;
  animation:aiTorsoBreath 2.2s ease-in-out 1.0s infinite alternate;
}
.disu-ai-svg .ai-core{
  transform-box:fill-box;
  transform-origin:center;
  animation:aiCore2050 .9s ease-in-out infinite alternate;
}
.disu-ai-svg .ai-eyes{
  animation:aiEyes2050 1.15s ease-in-out infinite alternate;
}
.disu-ai-svg .ai-shadow{
  transform-box:fill-box;
  transform-origin:center;
  animation:aiShadowPulse 1.25s ease-in-out infinite alternate;
}
.disu-ai-scanline{
  position:absolute;
  z-index:6;
  left:12%;right:12%;top:84%;height:1px;
  opacity:0;
  background:linear-gradient(90deg,transparent,var(--ai-hot) 18%,#fff 50%,var(--ai-hot) 82%,transparent);
  box-shadow:0 0 7px var(--ai-hot),0 0 18px var(--ai);
  animation:aiSvgScan 1.18s cubic-bezier(.2,.8,.2,1) .35s both;
}
.disu-ai-svg-wrap::before{
  content:"";
  position:absolute;
  inset:7% 7% 5%;
  z-index:5;
  pointer-events:none;
  opacity:0;
  background:repeating-linear-gradient(180deg,transparent 0 8px,color-mix(in srgb,var(--ai-hot) 10%,transparent) 9px,transparent 10px);
  mask-image:linear-gradient(transparent,#000 14%,#000 84%,transparent);
  animation:aiSvgScanTexture 4.35s ease both;
}
.disu-ai-svg-wrap::after{
  content:"";
  position:absolute;
  left:14%;right:14%;bottom:2%;height:11%;z-index:-1;
  border-radius:50%;
  background:radial-gradient(ellipse,color-mix(in srgb,var(--ai-hot) 33%,transparent),color-mix(in srgb,var(--ai) 11%,transparent) 42%,transparent 73%);
  filter:blur(7px);
  opacity:0;
  animation:aiSvgGround 4.8s ease both;
}
.disu-ai-hud{
  min-width:170px;
  display:grid;
  gap:4px;
  padding:10px 13px;
}
.disu-ai-hud strong{font-size:9px;letter-spacing:.16em;color:#eafdff}
.disu-ai-hud span{font-size:7px;letter-spacing:.13em;color:var(--ai-hot);opacity:.82}
.disu-ai-mini{
  width:46px;height:76px;
  color:#6be7ff;
  filter:drop-shadow(0 0 7px color-mix(in srgb,var(--ai-hot) 72%,transparent));
}
.disu-ai-mini::before,.disu-ai-mini::after{content:none!important;display:none!important}
.disu-ai-mini svg{display:block;width:100%;height:100%;overflow:visible}

@keyframes aiSvgLife{
  0%,3%{opacity:0;transform:translateY(18px) scale(.94);filter:brightness(1.35)}
  10%{opacity:.94}
  18%,72%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}
  82%{opacity:.82;transform:translateY(-2px) scale(.98);filter:brightness(1.35)}
  100%{opacity:0;transform:translateY(-10px) scale(.78);filter:brightness(1.9)}
}
@keyframes aiSvgMaterialize{
  0%{opacity:0;clip-path:inset(100% 0 0);transform:translateY(22px) scale(.96)}
  14%{opacity:.8}
  31%{opacity:1;clip-path:inset(0 0 0);transform:translateY(0) scale(1)}
  73%{opacity:1;clip-path:inset(0 0 0);transform:translateY(0) scale(1)}
  100%{opacity:0;clip-path:inset(0 0 92%);transform:translateY(-8px) scale(.88)}
}
@keyframes aiSvgScan{0%{top:89%;opacity:0}12%{opacity:1}82%{opacity:.95}100%{top:11%;opacity:0}}
@keyframes aiSvgScanTexture{0%,8%{opacity:0}22%,72%{opacity:.62}88%,100%{opacity:0}}
@keyframes aiSvgGround{0%,6%{opacity:0;transform:scale(.55)}25%,72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.65)}}
@keyframes aiHeadLook{0%{transform:rotate(0)}32%{transform:rotate(-3deg) translateX(-1px)}66%{transform:rotate(2deg)}100%{transform:rotate(0)}}
@keyframes aiShoulderWave{0%,12%{transform:rotate(0)}35%{transform:rotate(-36deg) translate(-8px,-5px)}58%{transform:rotate(-42deg) translate(-9px,-7px)}82%{transform:rotate(-34deg) translate(-7px,-5px)}100%{transform:rotate(0)}}
@keyframes aiForearmWave{0%,12%{transform:rotate(0)}35%{transform:rotate(-66deg) translate(-11px,-9px)}58%{transform:rotate(-79deg) translate(-14px,-11px)}82%{transform:rotate(-66deg) translate(-10px,-8px)}100%{transform:rotate(0)}}
@keyframes aiHandWave{from{transform:rotate(-8deg)}to{transform:rotate(14deg)}}
@keyframes aiTorsoBreath{from{transform:translateY(0) scale(1)}to{transform:translateY(-1px) scale(1.006)}}
@keyframes aiCore2050{from{transform:scale(.92);opacity:.82}to{transform:scale(1.12);opacity:1}}
@keyframes aiEyes2050{from{opacity:.72}to{opacity:1}}
@keyframes aiShadowPulse{from{transform:scaleX(.8);opacity:.45}to{transform:scaleX(1.08);opacity:.9}}

body.theme-nexus .disu-ai-intro{--ai:#8b5cf6;--ai-hot:#c084fc;--ai-core:#f4e8ff}
body.theme-nexus .disu-ai-svg{filter:drop-shadow(0 18px 22px rgba(0,0,0,.34)) drop-shadow(0 0 11px rgba(139,92,246,.28)) hue-rotate(31deg) saturate(1.08)}
body.theme-nexus .disu-ai-mini{color:#c084fc;filter:drop-shadow(0 0 8px rgba(168,85,247,.72))}

@media(max-width:960px){
  .disu-ai-svg-wrap{width:min(58%,330px);height:92%}
  .disu-ai-hud{right:2%;top:14%;min-width:150px}
}
@media(max-width:680px){
  .disu-ai-svg-wrap{width:min(70%,245px);height:94%}
  .disu-ai-hud{right:0;top:8%;min-width:125px;padding:7px 9px}
  .disu-ai-hud strong{font-size:7px}.disu-ai-hud span{font-size:6px}
  .disu-ai-mini{width:34px;height:58px;right:18%;top:19%}
}
@media(prefers-reduced-motion:reduce){
  .disu-ai-svg-wrap{display:none!important}
}

/* ==========================================================
   DISU SOFT — THREE.JS PROCEDURAL ANDROID 2050
   Robot 3D real-time: no fotografía, no sprite, no SVG como actor principal.
   ========================================================== */
.hero-device-stage{overflow:visible}
.disu-ai-3d{
  position:absolute;
  z-index:12;
  inset:-4% -5% 0 -2%;
  opacity:1;
  pointer-events:none;
  isolation:isolate;
}
.disu-ai-3d[hidden]{display:none!important}
.disu-ai-3d-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  opacity:0;
  transform:translateZ(0);
  filter:drop-shadow(0 28px 35px rgba(0,0,0,.42));
  transition:opacity .35s ease;
}
.disu-ai-3d.robot3d-live .disu-ai-3d-canvas{opacity:1}

/* Fallback: el SVG anterior solo aparece si WebGL/Three.js no carga. */
.disu-ai-3d + .disu-ai-intro{display:none!important}
.disu-ai-3d.robot3d-unavailable + .disu-ai-intro{display:flex!important}

/* El notebook espera a que termine realmente el robot. */
.hero-device-stage.ai-welcome:not(.robot3d-finished) .hero-laptop-png{
  opacity:0!important;
  visibility:hidden;
  animation:none!important;
  transform:translateY(14px) scale(.975)!important;
}
.hero-device-stage.robot3d-finished .hero-laptop-png{
  visibility:visible;
  animation:robot3dDeviceArrival .95s cubic-bezier(.18,.82,.18,1) both!important;
}
@keyframes robot3dDeviceArrival{
  0%{opacity:0;filter:blur(7px) brightness(1.45);transform:translateY(16px) scale(.97)}
  58%{opacity:.82;filter:blur(1px) brightness(1.13);transform:translateY(-2px) scale(1.008)}
  100%{opacity:1;filter:none;transform:none}
}

/* Barrido de materialización que atraviesa el modelo 3D. */
.disu-ai-3d-scan{
  position:absolute;
  z-index:13;
  left:17%;
  right:12%;
  top:86%;
  height:2px;
  opacity:0;
  background:linear-gradient(90deg,transparent 0%,rgba(99,222,255,.30) 12%,#bff7ff 42%,#fff 50%,#52d8ff 66%,transparent 100%);
  box-shadow:0 0 9px #38bdf8,0 0 28px rgba(22,133,255,.82),0 0 54px rgba(22,133,255,.34);
  transform:skewX(-11deg);
}
.disu-ai-3d.robot3d-materialized .disu-ai-3d-scan{
  animation:robot3dScan 1.25s cubic-bezier(.25,.75,.2,1) both;
}
@keyframes robot3dScan{
  0%{top:86%;opacity:0}
  10%{opacity:1}
  70%{opacity:.94}
  100%{top:11%;opacity:0}
}

.disu-ai-3d-hud{
  position:absolute;
  z-index:14;
  right:2%;
  top:14%;
  width:190px;
  padding:13px 15px 12px;
  border:1px solid rgba(91,221,255,.32);
  border-radius:11px;
  background:linear-gradient(135deg,rgba(5,18,36,.70),rgba(2,8,20,.38));
  backdrop-filter:blur(9px);
  box-shadow:inset 0 0 22px rgba(22,133,255,.07),0 0 22px rgba(22,133,255,.08);
  color:#dff9ff;
  opacity:0;
  transform:translateX(12px) perspective(500px) rotateY(-8deg);
}
.disu-ai-3d-hud::before,.disu-ai-3d-hud::after{
  content:"";position:absolute;width:18px;height:18px;border-color:rgba(104,226,255,.75);border-style:solid
}
.disu-ai-3d-hud::before{left:-1px;top:-1px;border-width:1px 0 0 1px;border-radius:10px 0 0 0}
.disu-ai-3d-hud::after{right:-1px;bottom:-1px;border-width:0 1px 1px 0;border-radius:0 0 10px 0}
.disu-ai-3d-hud .ai-hud-kicker{display:block;font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;color:#6ee8ff}
.disu-ai-3d-hud strong{display:flex;align-items:center;gap:8px;margin-top:7px;font:800 17px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;color:#eafcff}
.disu-ai-3d-hud strong i{width:8px;height:8px;border-radius:50%;background:#4fffd0;box-shadow:0 0 7px #4fffd0,0 0 18px rgba(79,255,208,.6)}
.disu-ai-3d-hud small{display:block;margin-top:8px;padding-top:7px;border-top:1px solid rgba(91,221,255,.13);font:700 8px/1 ui-monospace,monospace;letter-spacing:.14em;color:#7ba7c0}
.disu-ai-3d.robot3d-online .disu-ai-3d-hud{animation:robot3dHudIn .55s cubic-bezier(.2,.8,.2,1) both}
.disu-ai-3d.robot3d-dissolving .disu-ai-3d-hud{animation:robot3dHudOut .4s ease both}
@keyframes robot3dHudIn{to{opacity:1;transform:translateX(0) perspective(500px) rotateY(-4deg)}}
@keyframes robot3dHudOut{from{opacity:1}to{opacity:0;transform:translateX(7px) scale(.97)}}

.disu-ai-3d-status{
  position:absolute;
  z-index:14;
  left:16%;
  bottom:12%;
  display:grid;
  grid-template-columns:7px auto;
  gap:2px 8px;
  align-items:center;
  padding:9px 12px;
  border-left:1px solid rgba(99,221,255,.55);
  background:linear-gradient(90deg,rgba(3,17,35,.52),transparent);
  opacity:0;
  transform:translateY(8px);
}
.disu-ai-3d-status span{grid-row:1/3;width:5px;height:28px;border-radius:3px;background:linear-gradient(#99f3ff,#1685ff);box-shadow:0 0 10px rgba(56,189,248,.7)}
.disu-ai-3d-status b,.disu-ai-3d-status em{font:700 8px/1 ui-monospace,monospace;letter-spacing:.16em;font-style:normal}
.disu-ai-3d-status b{color:#c5f6ff}.disu-ai-3d-status em{color:#4fffd0}
.disu-ai-3d.robot3d-wave .disu-ai-3d-status{animation:robot3dStatus .55s ease both}
@keyframes robot3dStatus{to{opacity:.92;transform:none}}

/* El mini holograma queda como recuerdo visual después del androide. */
.hero-device-stage.robot3d-finished .disu-ai-mini{
  opacity:.62!important;
  animation:robot3dMini .85s .32s cubic-bezier(.2,.8,.2,1) both!important;
}
@keyframes robot3dMini{0%{opacity:0;transform:translateY(12px) scale(.55)}70%{opacity:.8;transform:translateY(-2px) scale(1.07)}100%{opacity:.62;transform:none}}

body.theme-nexus .disu-ai-3d-scan{
  background:linear-gradient(90deg,transparent,rgba(168,85,247,.30),#d6b7ff 42%,#fff 50%,#e7b64a 67%,transparent);
  box-shadow:0 0 9px #a855f7,0 0 28px rgba(139,92,246,.74),0 0 54px rgba(231,182,74,.16)
}
body.theme-nexus .disu-ai-3d-hud{border-color:rgba(168,85,247,.36);box-shadow:inset 0 0 22px rgba(139,92,246,.08),0 0 22px rgba(139,92,246,.09)}
body.theme-nexus .disu-ai-3d-hud .ai-hud-kicker{color:#c9adff}
body.theme-nexus .disu-ai-3d-status{border-left-color:rgba(168,85,247,.62)}
body.theme-nexus .disu-ai-3d-status span{background:linear-gradient(#d5b9ff,#8b5cf6);box-shadow:0 0 10px rgba(139,92,246,.7)}

@media(max-width:1120px){
  .disu-ai-3d{inset:-2% -2% 0 -4%}
  .disu-ai-3d-hud{right:1%;top:10%;width:164px}
}
@media(max-width:960px){
  .disu-ai-3d{inset:-8% -4% -1% -4%}
  .disu-ai-3d-hud{right:4%;top:10%;width:165px}
  .disu-ai-3d-status{left:12%;bottom:8%}
}
@media(max-width:680px){
  .disu-ai-3d{inset:-10% -14% -2% -14%}
  .disu-ai-3d-hud{right:11%;top:8%;width:135px;padding:9px 10px}
  .disu-ai-3d-hud strong{font-size:12px}.disu-ai-3d-hud small{font-size:6px}.disu-ai-3d-hud .ai-hud-kicker{font-size:7px}
  .disu-ai-3d-status{left:14%;bottom:5%;transform:scale(.82);transform-origin:left bottom}
}
@media(max-width:430px){
  .disu-ai-3d{inset:-12% -18% -2% -18%}
  .disu-ai-3d-hud{right:12%;width:122px}
  .disu-ai-3d-status{display:none}
}
@media(prefers-reduced-motion:reduce){
  .disu-ai-3d{display:none!important}
  .hero-device-stage .hero-laptop-png{opacity:1!important;visibility:visible!important;animation:none!important}
}

/* ==========================================================
   DISU SOFT — HERO VISUAL SYNC 2050
   El texto y el notebook cambian como una sola escena.
   ========================================================== */
.hero-laptop-visuals{position:absolute;inset:0;z-index:12;pointer-events:none}
.hero-laptop-visuals .hero-laptop-slide{
  opacity:0;
  visibility:hidden;
  transition:opacity .72s cubic-bezier(.22,.75,.2,1),filter .72s ease,transform .72s cubic-bezier(.22,.75,.2,1);
  filter:brightness(.78) saturate(.82);
}
.hero[data-message="0"] .hero-laptop-slide[data-hero-visual-slide="0"],
.hero[data-message="1"] .hero-laptop-slide[data-hero-visual-slide="1"],
.hero[data-message="2"] .hero-laptop-slide[data-hero-visual-slide="2"]{
  opacity:1;visibility:visible;filter:brightness(1) saturate(1);z-index:3;
}
.hero[data-message="1"] .hero-laptop-slide[data-hero-visual-slide="1"],
.hero[data-message="2"] .hero-laptop-slide[data-hero-visual-slide="2"]{
  animation:heroVisualDigitalIn .82s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes heroVisualDigitalIn{
  0%{opacity:0;clip-path:inset(47% 0 47% 0);filter:brightness(1.45) saturate(.65)}
  46%{opacity:.82;clip-path:inset(17% 0 18% 0);filter:brightness(1.18) saturate(.9)}
  100%{opacity:1;clip-path:inset(0);filter:brightness(1) saturate(1)}
}
.hero-screen-energy{
  position:absolute;z-index:7;top:14%;bottom:20%;left:14%;width:5px;opacity:0;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.95),rgba(56,189,248,.95),transparent);
  box-shadow:0 0 12px rgba(56,189,248,.75),0 0 28px rgba(22,133,255,.35);
  transform:skewX(-8deg);
}
.hero-device-stage.visual-switching .hero-screen-energy{animation:heroScreenEnergySweep .72s cubic-bezier(.25,.72,.2,1) both}
@keyframes heroScreenEnergySweep{
  0%{left:15%;opacity:0} 14%{opacity:.9} 78%{opacity:.72} 100%{left:79%;opacity:0}
}
body.theme-nexus .hero-screen-energy{
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.96),rgba(168,85,247,.96),rgba(231,182,74,.62),transparent);
  box-shadow:0 0 12px rgba(168,85,247,.7),0 0 28px rgba(124,58,237,.34);
}
@media(prefers-reduced-motion:reduce){
  .hero-laptop-visuals .hero-laptop-slide{transition:none!important;animation:none!important}
  .hero-screen-energy{display:none!important}
}

/* ==========================================================
   DISU SOFT — EXPERIENCE UPGRADE 2050
   Servicios · Proceso · Ecosistema · CTA
   ========================================================== */
.service-tech-card{position:relative;overflow:hidden;isolation:isolate;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,background .35s}
.service-tech-card::after{content:"";position:absolute;inset:auto -15% -70% 25%;height:120px;background:radial-gradient(circle,rgba(22,133,255,.18),transparent 68%);opacity:0;transition:.4s;z-index:-1}
.service-tech-card:hover{transform:translateY(-7px);border-color:rgba(22,133,255,.42)!important;background:linear-gradient(145deg,#eef8ff,#dcefff)!important}
.service-tech-card:hover::after{opacity:1;transform:translateY(-20px)}
.service-signal{display:block;margin-top:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);opacity:.7}
.service-mini-viz{position:absolute;right:14px;top:14px;width:42px;height:24px;opacity:.18;transition:.35s}
.service-mini-viz b{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 10px var(--blue)}
.service-mini-viz b:nth-child(1){left:0;top:14px}.service-mini-viz b:nth-child(2){left:18px;top:3px}.service-mini-viz b:nth-child(3){right:0;top:13px}
.service-mini-viz::before,.service-mini-viz::after{content:"";position:absolute;height:1px;background:linear-gradient(90deg,var(--blue),transparent);transform-origin:left center}
.service-mini-viz::before{width:22px;left:4px;top:15px;transform:rotate(-31deg)}.service-mini-viz::after{width:22px;left:22px;top:6px;transform:rotate(27deg)}
.service-tech-card:hover .service-mini-viz{opacity:.9;transform:scale(1.08)}
body.theme-nexus .service-tech-card:hover{border-color:rgba(168,85,247,.46)!important;background:linear-gradient(145deg,rgba(27,13,48,.94),rgba(9,8,25,.94))!important}
body.theme-nexus .service-tech-card::after{background:radial-gradient(circle,rgba(168,85,247,.22),transparent 68%)}


.process-line span{transition:height .2s linear!important}.process-card{transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}.process-card.process-active{transform:translateY(-7px);border-color:rgba(22,133,255,.45)!important;box-shadow:0 20px 50px rgba(0,88,210,.14)}.process-card.process-active .process-orb{box-shadow:0 0 0 7px rgba(22,133,255,.08),0 0 30px rgba(22,133,255,.32)}body.theme-nexus .process-card.process-active{border-color:rgba(168,85,247,.46)!important;box-shadow:0 20px 50px rgba(99,40,180,.15)}

.tech-ecosystem{position:relative;overflow:hidden;padding:110px 0;background:radial-gradient(circle at 70% 48%,rgba(22,133,255,.10),transparent 34%),linear-gradient(180deg,#050b16,#07101f 48%,#050b16);isolation:isolate}.tech-ecosystem-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px}.tech-heading{text-align:left!important;margin:0!important}.tech-heading p{max-width:560px}.tech-orbit{position:relative;width:min(600px,100%);aspect-ratio:600/440;margin:auto}.tech-orbit::before,.tech-orbit::after{content:"";position:absolute;border:1px solid rgba(63,169,255,.13);border-radius:50%;inset:8% 14%;transform:rotate(-8deg)}.tech-orbit::after{inset:18% 5%;transform:rotate(13deg)}.tech-core{position:absolute;left:50%;top:50%;translate:-50% -50%;width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(79,185,255,.42);background:radial-gradient(circle,rgba(20,106,202,.3),rgba(5,15,30,.95) 68%);box-shadow:0 0 55px rgba(22,133,255,.18),inset 0 0 30px rgba(22,133,255,.12);z-index:3}.tech-core i{font-size:30px;color:var(--blue);filter:drop-shadow(0 0 12px rgba(22,133,255,.5))}.tech-core strong{font-size:18px;letter-spacing:.16em}.tech-core small{font-size:8px;color:#7692ae;letter-spacing:.14em}.tech-node{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;border:1px solid rgba(77,178,255,.22);background:rgba(7,20,38,.82);backdrop-filter:blur(10px);box-shadow:0 10px 35px rgba(0,0,0,.18);font-size:11px;color:#cfe8ff;animation:techNodeFloat 4.8s ease-in-out infinite}.tech-node i{font-size:17px;color:var(--blue)}.tech-node.n1{left:2%;top:14%}.tech-node.n2{left:43%;top:0;animation-delay:-1s}.tech-node.n3{right:0;top:17%;animation-delay:-2s}.tech-node.n4{right:1%;bottom:15%;animation-delay:-3s}.tech-node.n5{left:43%;bottom:0;animation-delay:-1.6s}.tech-node.n6{left:0;bottom:16%;animation-delay:-2.5s}.tech-links{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.tech-links path{fill:none;stroke:rgba(54,167,255,.28);stroke-width:1.2;stroke-dasharray:7 9;animation:techDash 8s linear infinite}.tech-orbit.tech-live .tech-links path{stroke:rgba(74,184,255,.62)}@keyframes techDash{to{stroke-dashoffset:-160}}@keyframes techNodeFloat{50%{transform:translateY(-7px)}}body.theme-nexus .tech-ecosystem{background:radial-gradient(circle at 70% 48%,rgba(139,92,246,.13),transparent 34%),linear-gradient(180deg,#080611,#0e091b 48%,#080611)}body.theme-nexus .tech-core{border-color:rgba(168,85,247,.42);background:radial-gradient(circle,rgba(105,48,180,.28),rgba(10,7,22,.95) 68%);box-shadow:0 0 55px rgba(139,92,246,.2),inset 0 0 30px rgba(139,92,246,.12)}body.theme-nexus .tech-node{border-color:rgba(168,85,247,.25);background:rgba(18,10,34,.82)}body.theme-nexus .tech-links path{stroke:rgba(168,85,247,.34)}

.contact-banner{position:relative;overflow:hidden;isolation:isolate}.contact-banner-inner{position:relative;z-index:2}.cta-future-copy span{display:block;font-size:9px;letter-spacing:.18em;font-weight:800;color:var(--blue);margin-bottom:4px}.cta-future-copy h2 em{font-style:normal;color:var(--blue)}.cta-reactive-net{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.55}.cta-reactive-net::before,.cta-reactive-net::after{content:"";position:absolute;left:55%;top:50%;width:360px;height:1px;background:linear-gradient(90deg,transparent,rgba(22,133,255,.35),transparent);transform:rotate(-9deg)}.cta-reactive-net::after{transform:rotate(11deg)}.cta-reactive-net i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 14px var(--blue);transition:transform .18s ease}.cta-reactive-net i:nth-child(1){left:58%;top:28%}.cta-reactive-net i:nth-child(2){left:69%;top:62%}.cta-reactive-net i:nth-child(3){left:78%;top:25%}.cta-reactive-net i:nth-child(4){left:86%;top:66%}.cta-reactive-net i:nth-child(5){left:93%;top:38%}

.about-timeline-section{position:relative;padding:105px 0;background:linear-gradient(180deg,#06101e,#081426);overflow:hidden}.about-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:45px}.about-timeline::before{content:"";position:absolute;left:8%;right:8%;top:34px;height:1px;background:linear-gradient(90deg,transparent,var(--blue),rgba(22,133,255,.18),var(--blue),transparent);opacity:.4}.about-timeline article{position:relative;padding:22px 18px 20px;border:1px solid rgba(76,171,245,.14);border-radius:18px;background:linear-gradient(160deg,rgba(11,29,52,.85),rgba(5,14,28,.72));transition:.4s}.about-timeline article:hover{transform:translateY(-6px);border-color:rgba(22,133,255,.4)}.about-timeline article>span{position:absolute;right:15px;top:10px;font-size:28px;font-weight:900;color:rgba(82,174,255,.09)}.about-timeline article>i{position:relative;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--blue);background:#071426;border:1px solid rgba(22,133,255,.36);box-shadow:0 0 24px rgba(22,133,255,.13);margin-bottom:28px}.about-timeline small{color:var(--blue);font-size:9px;letter-spacing:.15em}.about-timeline h3{font-size:16px;margin:5px 0 8px}.about-timeline p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}body.theme-nexus .about-timeline-section{background:linear-gradient(180deg,#090713,#110a20)}body.theme-nexus .about-timeline article{border-color:rgba(168,85,247,.16);background:linear-gradient(160deg,rgba(29,15,49,.85),rgba(10,7,22,.75))}

/* transitions between sections */
.fx-section-enter{opacity:0;transform:translateY(24px) scale(.992);filter:blur(4px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1),filter .75s ease}.fx-section-enter.fx-in{opacity:1;transform:none;filter:none}


@media(max-width:960px){.tech-ecosystem-grid{grid-template-columns:1fr;gap:42px}.tech-heading{text-align:center!important}.tech-heading p{margin-inline:auto}.about-timeline{grid-template-columns:repeat(2,1fr)}.about-timeline::before{display:none}}
@media(max-width:620px){.tech-ecosystem{padding:78px 0}.tech-orbit{transform:scale(.92);margin:-12px auto}.tech-node{font-size:9px;padding:7px 9px}.tech-core{width:120px;height:120px}.about-timeline{grid-template-columns:1fr}.service-signal{font-size:8px}.cta-reactive-net{opacity:.28}}
@media(prefers-reduced-motion:reduce){.tech-node,.tech-links path{animation:none!important}.fx-section-enter{opacity:1!important;transform:none!important;filter:none!important}}
