:root{
  --bg:#07090d;
  --bg-2:#10151c;
  --card:#121922;
  --ink:#f4f7fb;
  --muted:#a7b4c6;
  --line:rgba(126,190,255,.18);
  --blue:#2f8cff;
  --cyan:#6ae4ff;
  --white:#fff;
  --ink-dark:#121820;
  --radius:22px;
  --nav:140px;
  --shadow:0 22px 50px rgba(0,0,0,.35);
  --font:"Manrope",system-ui,sans-serif;
  --display:"Space Grotesk","Manrope",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  background:#07090d;
  color:var(--ink);
  line-height:1.55;
}
.aurora{
  position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  background:#07090d;
}
.aurora span{
  position:absolute;border-radius:50%;filter:blur(48px);opacity:.9;
  will-change:transform;
}
.aurora span:nth-child(1){
  width:58vw;height:58vw;left:-12%;top:-18%;
  background:radial-gradient(circle,#2f8cff 0%,rgba(47,140,255,0) 68%);
  animation:drift-a 16s ease-in-out infinite;
}
.aurora span:nth-child(2){
  width:46vw;height:46vw;right:-14%;top:8%;
  background:radial-gradient(circle,#6ae4ff 0%,rgba(106,228,255,0) 68%);
  animation:drift-b 20s ease-in-out infinite;
}
.aurora span:nth-child(3){
  width:42vw;height:42vw;left:28%;bottom:-22%;
  background:radial-gradient(circle,#6d5cff 0%,rgba(109,92,255,0) 70%);
  animation:drift-a 24s ease-in-out infinite reverse;
}
.aurora span:nth-child(4){
  width:30vw;height:30vw;right:18%;bottom:6%;
  background:radial-gradient(circle,#1497e6 0%,rgba(20,151,230,0) 70%);
  animation:drift-b 18s ease-in-out infinite reverse;
}
@keyframes drift-a{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(10vw,8vh,0) scale(1.18)}
}
@keyframes drift-b{
  0%,100%{transform:translate3d(0,0,0) scale(1.05)}
  50%{transform:translate3d(-12vw,10vh,0) scale(.88)}
}
@keyframes tech-flow{to{stroke-dashoffset:-220}}
@keyframes tech-spin{to{transform:rotate(360deg)}}
@keyframes tech-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-18px)}
}
@keyframes tech-pulse{
  0%,100%{opacity:.4}
  50%{opacity:1}
}
main,.footer{position:relative;z-index:1}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input{font:inherit}
h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.04em;line-height:1.05;margin:0}
p{margin:0}
.skip{
  position:absolute;left:1rem;top:-4rem;z-index:80;
  background:#fff;color:#111;padding:.6rem .9rem;border-radius:10px;
}
.skip:focus{top:1rem}
.wrap{width:min(1120px,calc(100% - 2rem));margin-inline:auto}
.kicker{
  display:inline-flex;align-items:center;gap:.55rem;
  margin:0 0 .8rem;color:var(--cyan);
  font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.kicker::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--cyan)}
.lead{color:var(--muted);font-size:1.05rem;max-width:40rem}
section[id]{scroll-margin-top:calc(var(--nav) + 12px)}

.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;height:auto;min-height:0;
  display:flex;align-items:stretch;justify-content:stretch;
  background:transparent;border:0;box-shadow:none;
}
.nav::after{content:none}
.nav.scrolled .nav-inner{box-shadow:0 16px 40px rgba(20,50,110,.16)}
.nav-inner{
  position:relative;display:flex;align-items:center;gap:.6rem;
  width:100%;
  min-height:0;
  padding:.42rem 1.35rem;
  background:#fff;border-radius:0;
  box-shadow:0 8px 22px rgba(15,40,80,.12);
}
.nav-edge{display:none}
.brand{display:flex;align-items:center;flex:0 0 auto;position:relative;z-index:1;padding-right:.2rem}
.brand img{height:68px;width:auto;background:none;mix-blend-mode:multiply;display:block}
.nav-ico{
  width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;
  border-radius:14px;border:1px solid rgba(12,24,48,.16);
  color:#122033!important;background:transparent!important;padding:0!important;
}
.nav-ico:hover{border-color:var(--blue)!important;background:rgba(47,140,255,.08)!important}
.menu{display:flex;align-items:center;justify-content:space-evenly;gap:.35rem;flex:1;min-width:0;position:relative;z-index:1}
.menu-drop{flex:0 0 auto;display:flex;justify-content:center;min-width:0}
.menu > .menu-link{flex:0 0 auto}
.menu-link{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.16rem;
  text-decoration:none;color:#111827;font-weight:600;font-size:.84rem;
  width:auto;padding:.15rem .35rem .28rem;border-radius:12px;position:relative;line-height:1.05;background:transparent;
}
.menu-link i,.menu-link .ico-dron,.menu-link .ico-box{color:#111827;font-size:1.28rem;width:1.4rem;height:1.4rem;display:block}
.menu-link .ico-box,.menu-link .ico-dron{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.menu-link .ico-dron{width:1.65rem;height:1.65rem}
.menu-link span{display:inline-flex;align-items:center;gap:.18rem;white-space:nowrap}
.menu-link .bi-chevron-down{font-size:.58rem;width:auto;height:auto;color:#111827}
.menu-link:hover{color:#1d4ed8;background:transparent}
.menu-link:hover i,.menu-link:hover .ico-dron,.menu-link:hover .ico-box,.menu-link:hover .bi-chevron-down{color:#1d4ed8}
.menu-link.active{color:#1d4ed8;background:transparent}
.menu-link.active i,.menu-link.active .ico-dron,.menu-link.active .ico-box,.menu-link.active .bi-chevron-down{color:#1d4ed8}
.menu-link.active::after{
  content:"";position:absolute;left:18%;right:18%;bottom:-1px;height:3px;border-radius:3px;background:#1d4ed8;
}
.menu-drop{position:relative;flex:0 0 auto;display:flex;justify-content:center}
.menu-drop::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
.menu-sub{
  display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);
  min-width:190px;padding:.35rem;background:#fff;border-radius:14px;
  box-shadow:0 14px 34px rgba(15,40,80,.16);z-index:6;
}
.menu-drop:hover .menu-sub,.menu-drop:focus-within .menu-sub{display:grid}
.menu-sub a{
  display:flex;align-items:center;padding:.55rem .7rem;border-radius:10px;
  text-decoration:none;color:#243044;font-weight:700;font-size:.84rem;
}
.menu-sub a:hover{background:#e8f1ff;color:#1d4ed8}
.nav-in{
  display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;position:relative;z-index:4;
  margin:0 .1rem 0 .35rem;min-height:52px;
  border:0!important;color:#fff!important;text-decoration:none;
  border-radius:999px!important;padding:.78rem 1.35rem!important;
  background:#1d4ed8!important;
  box-shadow:0 8px 18px rgba(29,78,216,.28);font-weight:700;font-size:1rem;
}
.nav-in i{color:#fff!important;font-size:1rem}
.nav-in:hover{filter:brightness(1.06);color:#fff!important}
.nav-in-menu{display:none}
.nav-call{
  border:1.5px solid #1f7bff!important;background:#eef5ff!important;color:#0b4ea2!important;
  border-radius:12px;padding:.55rem .85rem!important;
}
.nav-call i{color:#1f7bff!important}
.nav-call:hover{background:#1f7bff!important;color:#fff!important}
.nav-call:hover i{color:#fff!important}
.menu a.btn-go,.menu a.btn-go:hover{
  color:#04210f;background:#25d366;
  box-shadow:0 8px 18px rgba(37,211,102,.35);
}
.menu a.btn-go i{color:#04210f}
.nav-toggle{
  display:none;width:46px;height:46px;border-radius:12px;
  border:1px solid rgba(12,24,48,.14);background:#fff;color:#122033;cursor:pointer;
}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  display:block;width:18px;height:2px;background:#122033;position:relative;margin:0 auto;
}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:52px;padding:.85rem 1.25rem;border-radius:14px;
  text-decoration:none;font-weight:800;border:0;cursor:pointer;
  transition:transform .18s ease,filter .18s ease,border-color .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-go{
  color:#041018;
  background:linear-gradient(135deg,var(--blue),#49b7ff 55%,var(--cyan));
  box-shadow:0 12px 28px rgba(47,140,255,.32);
}
.btn-go:hover{filter:brightness(1.06)}
.btn-line{
  color:#fff;background:transparent;
  border:1px solid rgba(255,255,255,.28);
}
.btn-line:hover{border-color:var(--cyan);background:rgba(106,228,255,.08)}
.btn-dark{color:#fff;background:#121820;width:100%}
.btn-dark:hover{background:#1c2836}
.btn-block{width:100%}

.hero{
  padding:81px 0 1.6rem;position:relative;overflow:hidden;
  background:transparent;
}
.tech{position:absolute;inset:0;z-index:0;pointer-events:none}
.tech-svg{width:100%;height:100%;display:block}
.tech-flow{
  fill:none;stroke:#38bdf8;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:12 16;animation:tech-flow 6s linear infinite;
}
.tech-flow-slow{stroke:#4ade80;stroke-width:2;animation-duration:9s}
.tech-node{fill:#7dd3fc;animation:tech-pulse 2.2s ease-in-out infinite}
.tech-spin{
  fill:none;stroke:#60a5fa;stroke-width:2;
  transform-box:fill-box;transform-origin:center;
  animation:tech-spin 16s linear infinite;
}
.tech-ring{stroke:#22d3ee;stroke-width:2}
.tech-float{animation:tech-float 7s ease-in-out infinite}
.tech-delay{animation-delay:-3s}
.hero .wrap{position:relative;z-index:1;width:100%;max-width:none}
.hero-stage{position:relative;width:min(100%,1024px);margin-left:0;margin-right:auto;border-radius:0;overflow:hidden;background:#071018}
.hero-slide{display:block;width:100%;max-width:none;height:auto;transition:opacity .7s ease}
.hero-slide-side{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;opacity:0}
.hero-slide-dron{object-position:center center}
.hero-slide-3d,.hero-slide-sistemas{object-position:center center}
.hero-slide.is-on{opacity:1}
.hero-slide:first-child:not(.is-on){opacity:0}
.hero-stage::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,rgba(4,10,20,.78) 0%,rgba(4,10,20,.55) 16%,rgba(4,10,20,.12) 34%,transparent 48%);
  transition:opacity .7s ease;
}
.hero-stage[data-slide="2"]::before,
.hero-stage[data-slide="3"]::before{opacity:1}
.hero-stage[data-slide="1"]::before{
  opacity:1;
  background:linear-gradient(270deg,rgba(4,10,20,.9) 0%,rgba(4,10,20,.72) 28%,rgba(4,10,20,.2) 52%,transparent 68%);
}
.hero-copy{
  position:absolute;left:0;top:0;bottom:0;z-index:2;
  width:min(46%,430px);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  text-align:left;padding:1.15rem 1rem 1.15rem clamp(1.2rem,4vw,3.2rem);
  opacity:0;visibility:hidden;transition:opacity .55s ease;
}
.hero-copy.is-on{opacity:1;visibility:visible}
.hero-copy-dron,.hero-copy-lado{left:auto;right:0;width:min(40%,360px);padding:1.15rem clamp(1.1rem,2.4vw,2rem) 1.15rem 0;text-align:left;align-items:flex-start}
.hero-copy-dron > *,.hero-copy-lado > *{width:100%;min-width:0}
.hero-copy-3d{text-align:left;align-items:flex-start;padding-left:clamp(1rem,2.2vw,1.8rem)}
.hero-copy-principal{width:min(470px,44%);gap:.28rem;padding:.55rem clamp(1rem,3vw,2.2rem) .55rem .2rem}
.hero-copy-principal h1{font-size:clamp(1.28rem,1.65vw,1.72rem);max-width:16ch;line-height:1.02}
.hero-copy-principal h1 span{display:block;color:#8fd0ff;font-weight:500}
.hero-intro{margin:0;max-width:42ch;color:#e8f2fb;font-size:1.05rem;line-height:1.4;font-weight:500}
.hero-servicios{display:grid;grid-template-columns:1fr;gap:.42rem;margin:.55rem 0 .2rem;padding:0;width:100%;list-style:none}
.hero-servicios li{display:flex;align-items:center;gap:.55rem;min-width:0;color:#f7fbff;font-size:1rem;font-weight:650;line-height:1.3;letter-spacing:.01em}
.hero-servicios svg{width:1.28rem;height:1.28rem;flex:none;fill:none;stroke:#9fd0ff;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.hero-cierre{margin:0;padding-top:.45rem;border-top:1px solid rgba(159,208,255,.32);color:#f4f8fc;font-size:1.05rem;font-weight:600;line-height:1.4;max-width:42ch}
.hero-copy-principal .hero-cierre span{display:block;margin-top:.12rem}
.hero-cierre span{color:#8fd0ff}
.hero h1,.hero-title{
  font-size:clamp(1.75rem,2.35vw,2.4rem);font-weight:600;line-height:1.08;
  letter-spacing:-.03em;max-width:14ch;margin:0;color:#fff;
  text-shadow:0 2px 16px rgba(0,0,0,.35);
  font-family:var(--display);
}
.hero h1 em,.hero-title em{font-style:normal;color:#8fd0ff}
.hero .hero-copy-principal h1{font-size:clamp(1.85rem,2.3vw,2.45rem);max-width:none;line-height:1.05;font-weight:600}
.hero .hero-copy-principal h1 span{display:block;color:#8fd0ff;font-weight:500}
.hero .kicker{color:#d7ecff;font-size:.68rem;letter-spacing:.14em;margin-bottom:.35rem}
.hero .kicker::before{display:none}
.hero .kicker i{font-size:.8rem;color:#7ecbff}
.subline{margin:.35rem 0 0;color:#fff;font-weight:700;font-size:.88rem;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.hero .lead{margin-top:.4rem;font-size:1.05rem;font-weight:500;line-height:1.45;max-width:42ch;color:#e8f2fb;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero-copy-dron > *,
.hero-copy-3d > *,
.hero-copy-web > *{min-width:0}
.hero-copy-dron .hero-title,
.hero-copy-3d .hero-title,
.hero-copy-web .hero-title{max-width:none}
.hero-copy-web .hero-title em{display:block}
.hero-copy-dron .hero-title,.hero-copy-web .hero-title{text-wrap:balance}
.hero-copy-dron .hero-intro,.hero-copy-web .hero-intro,.hero-copy-dron .lead,.hero-copy-web .lead{text-wrap:pretty;max-width:34ch}
.hero-copy-dron .hero-intro,
.hero-copy-3d .hero-intro,
.hero-copy-web .hero-intro{margin-top:.35rem}
.hero-copy-dron .lead,
.hero-copy-3d .lead,
.hero-copy-web .lead{max-width:none;margin-top:.28rem;font-weight:500;color:#d7e6f4}
.hero-copy-dron .hero-cierre,
.hero-copy-3d .hero-cierre,
.hero-copy-web .hero-cierre{margin-top:.4rem;max-width:none}
.hero-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.hero-actions .btn{min-height:40px;padding:.45rem .75rem;font-size:.82rem}
.hero-actions .btn-go span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.hero-actions .btn-go small{font-size:.75rem;font-weight:700;opacity:.85}
.photo-chip{
  position:absolute;left:1rem;bottom:1rem;
  display:flex;gap:.45rem;align-items:center;
  padding:.55rem .75rem;border-radius:999px;
  background:rgba(7,9,13,.72);backdrop-filter:blur(10px);
  border:1px solid rgba(106,228,255,.3);
  font-size:.8rem;font-weight:800;letter-spacing:.04em;
}
.photo-chip i{color:#3ddc97}

.section{padding:clamp(4rem,7vw,6.2rem) 0}
.section h2{font-size:clamp(2rem,4vw,3.15rem);max-width:16ch}
.section-head{margin-bottom:1.8rem}
.section-head.center{text-align:center}
.section-head.center .kicker{justify-content:center}
.section-head.center h2{max-width:none;margin-inline:auto;font-size:clamp(1.65rem,2.8vw,2.35rem)}
.section-servicios{padding:1.6rem 0 2.4rem}
.section-servicios .section-head{margin-bottom:.9rem}
.section-servicios h2{font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.15;letter-spacing:-.03em}
.section-servicios .lead{margin-inline:auto;font-size:.95rem}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.services-4{grid-template-columns:repeat(4,1fr)}
.services-4 h3{font-size:1.2rem}
a.service-media{display:block;color:inherit;text-decoration:none}
.service{
  background:linear-gradient(180deg,#141c27,#101720);
  border:1px solid var(--line);border-radius:24px;overflow:hidden;
  display:flex;flex-direction:column;min-width:0;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.service:hover{transform:translateY(-8px);border-color:rgba(106,228,255,.55);box-shadow:0 24px 50px rgba(47,140,255,.16)}
.service-media{position:relative}
.service-media img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center;height:auto}
.service-media img.foto-pagina{object-position:78% center}
.service-media span{
  position:absolute;top:.8rem;left:.8rem;
  background:rgba(7,9,13,.72);color:#fff;border:1px solid rgba(255,255,255,.16);
  border-radius:999px;padding:.28rem .6rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;
}
.service-body{padding:1.15rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.service h3{font-size:1.55rem}
.service p{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:.15rem 0 .2rem}
.tags li{
  padding:.32rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;
  background:rgba(106,228,255,.08);color:#d7eefe;border:1px solid rgba(106,228,255,.16);
}
.service .btn{margin-top:auto}

.band{background:transparent}
.spot{margin:1.2rem 0 0}
.spot img{
  width:100%;height:auto;border-radius:24px;display:block;
  box-shadow:0 24px 50px rgba(0,0,0,.35);
}
.sys{
  display:grid;grid-template-columns:1.02fr .98fr;gap:1.4rem 1.3rem;align-items:center;
  padding:2rem 1.5rem 1.7rem;
  border-radius:28px;overflow:hidden;position:relative;
  background:
    radial-gradient(ellipse 55% 70% at 92% 88%, rgba(36,120,255,.45), transparent 60%),
    radial-gradient(ellipse 40% 50% at 0% 100%, rgba(0,180,255,.18), transparent 55%),
    linear-gradient(145deg,#07111e 0%,#0b1a30 55%,#081018 100%);
  border:1px solid rgba(90,160,255,.22);
  box-shadow:0 30px 70px rgba(0,0,0,.4);
}
.sys-copy{position:relative;z-index:1}
.sys h1,.sys h2{color:#fff;max-width:11ch;font-size:clamp(2.15rem,3.6vw,3.35rem);margin:0}
.sys h1 em,.sys h2 em{font-style:normal;color:#3ec8ff}
.pagina .sys h1{max-width:11ch;margin:0;font-size:clamp(2.15rem,3.6vw,3.35rem)}
.sys-lead{margin:.9rem 0 0;color:#c5d4e6;font-size:1.02rem;max-width:42ch}
.sys-pills{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 1.2rem;margin:1.25rem 0 0;padding:0}
.sys-pills li{display:flex;align-items:center;gap:.55rem;min-width:0}
.sys-pills i{color:#3ec8ff;font-size:1.45rem}
.sys-pills strong{display:block;color:#fff;font-size:.92rem}
.sys-pills span{color:#9eb0c6;font-size:.78rem;font-weight:700}
.sys-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.35rem}
.btn-wa{
  color:#fff;background:#1faa55;
  box-shadow:0 12px 28px rgba(31,170,85,.28);
}
.btn-wa:hover{filter:brightness(1.06);color:#fff}
.sys-cards{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;position:relative;z-index:1}
.sys-card{
  display:flex;align-items:center;gap:.7rem;min-width:0;
  padding:.8rem .75rem;border-radius:16px;text-decoration:none;color:#fff;
  background:linear-gradient(180deg,rgba(16,42,82,.92),rgba(10,24,48,.92));
  border:1px solid rgba(90,160,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.sys-card:hover{border-color:#3ec8ff}
.sys-card > i{
  width:42px;height:42px;flex:0 0 42px;border-radius:12px;
  display:grid;place-items:center;background:#1f7bff;color:#fff;font-size:1.15rem;
}
.sys-card span{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.sys-card strong{font-size:.95rem;letter-spacing:-.02em}
.sys-card small{color:#b7c6da;font-size:.75rem;font-weight:650;line-height:1.3}
.sys-card b{margin-left:auto;color:#8eb6ee;font-size:.85rem;flex:0 0 auto}
.sys-card:last-child{grid-column:1}

.planes{background:linear-gradient(180deg,rgba(7,9,13,.35),rgba(7,9,13,.55))}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;align-items:stretch}
.plan{
  background:#fff;color:var(--ink-dark);border-radius:22px;padding:1.2rem 1.1rem 1.15rem;
  display:flex;flex-direction:column;box-shadow:var(--shadow);border:2px solid transparent;
  transition:transform .22s ease,box-shadow .22s ease;
}
.plan:hover{transform:translateY(-8px);box-shadow:0 26px 50px rgba(47,140,255,.22)}
.plan.featured{
  border-color:var(--blue);
  background:linear-gradient(180deg,#fff,#eef6ff);
  box-shadow:0 24px 50px rgba(47,140,255,.3);
}
.badge{
  align-self:flex-start;margin-bottom:.55rem;
  font-size:.68rem;font-weight:800;letter-spacing:.08em;
  background:#121820;color:#fff;border-radius:999px;padding:.28rem .55rem;
}
.plan.featured .badge{background:var(--blue)}
.plan h3{font-size:1.35rem}
.who{color:#5c6b80;font-size:.9rem;margin:.15rem 0 .35rem}
.amount{font-family:var(--display);font-size:2.8rem;font-weight:700;letter-spacing:-.05em;line-height:1;margin:.2rem 0 .85rem}
.amount span{font-size:1rem;color:var(--blue);letter-spacing:0;font-weight:800}
.plan ul{list-style:none;padding:0;margin:0 0 1.1rem;flex:1}
.plan li{position:relative;padding-left:1.15rem;margin:.42rem 0;font-size:.92rem}
.plan li::before{content:"";position:absolute;left:0;top:.5rem;width:7px;height:7px;border-radius:50%;background:var(--cyan)}

.setup{
  margin-top:1.15rem;display:grid;grid-template-columns:240px 1fr;gap:1.4rem;align-items:center;
  background:linear-gradient(180deg,rgba(18,28,42,.95),rgba(8,12,18,.98));
  border:1px solid rgba(106,228,255,.35);border-radius:24px;padding:1.35rem 1.3rem;
  box-shadow:0 0 0 1px rgba(47,140,255,.08), var(--shadow);
}
.setup-price{font-family:var(--display);font-size:3.4rem;font-weight:700;letter-spacing:-.05em;line-height:.9}
.setup-price small{display:block;margin-top:.35rem;font-family:var(--font);font-size:.95rem;font-weight:700;color:var(--muted);letter-spacing:0}
.once{
  display:inline-flex;margin-top:.8rem;padding:.4rem .7rem;border-radius:999px;
  background:rgba(61,220,151,.12);color:#8cf0c0;font-weight:800;font-size:.82rem;
}
.setup h3{font-size:1.7rem;margin-bottom:.4rem}
.setup .checks{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .9rem;list-style:none;padding:0;margin:.8rem 0 0}
.setup .checks li{display:flex;gap:.45rem;align-items:flex-start;color:#d5e2f2}
.setup .checks i{color:var(--cyan);margin-top:.15rem}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.why-band{padding:1.4rem 0 2.6rem}
.why-panel{
  min-height:340px;padding:clamp(2rem,5vw,3.4rem) clamp(1.2rem,5vw,3.4rem);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  background:
    linear-gradient(90deg,rgba(4,8,16,.9) 0%,rgba(4,8,16,.72) 26%,rgba(4,8,16,.28) 52%,rgba(4,8,16,.12) 100%),
    url("portada.jpg?v=4") center 42%/cover no-repeat;
}
.why-panel h2{
  color:#fff;max-width:none;margin:0;white-space:nowrap;
  font-size:clamp(1.7rem,4.4vw,3.35rem);line-height:1;letter-spacing:-.035em;
  text-shadow:0 8px 28px rgba(0,0,0,.45);
}
.why-panel h2 em{font-style:normal;color:#8fd0ff}
.why-panel h2::after{
  content:"";display:block;width:4.2rem;height:3px;margin-top:.85rem;border-radius:3px;
  background:linear-gradient(90deg,#8fd0ff,#2f8cff);
}
.why-grid{
  width:min(1180px,calc(100% - 2rem));margin:-2.4rem auto 0;position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;
}
.why{
  background:#101826;border:1px solid rgba(143,196,255,.22);border-radius:18px;
  padding:1.05rem 1rem 1.15rem;height:100%;color:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.32);
  transition:transform .2s ease,border-color .2s ease;
}
.why:hover{transform:translateY(-4px);border-color:rgba(143,208,255,.7)}
.why i{
  width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:12px;
  background:rgba(47,140,255,.18);color:#8fd0ff;font-size:1.1rem;
}
.why h3{font-size:1.05rem;margin:.75rem 0 .3rem;color:#fff;line-height:1.2}
.why p{color:#e7eef8;font-size:.92rem;line-height:1.4;margin:0}

.cta{background:transparent;border:0;padding:0}
.cta .wrap{width:100%;max-width:none}
.cta-panel{
  display:flex;align-items:center;justify-content:flex-start;
  width:100%;min-height:340px;border-radius:0;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(4,10,28,.9) 0%,rgba(4,10,28,.72) 34%,rgba(4,10,28,.22) 58%,rgba(4,10,28,.08) 100%),
    #06122a url("idea.jpg?v=1") right center/cover no-repeat;
}
.cta-copy{
  width:min(640px,54%);height:100%;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  text-align:left;padding:2.2rem clamp(1.3rem,5vw,4rem);
}
.cta h2{max-width:none;margin:0;color:#fff;font-size:clamp(2.3rem,4.4vw,3.6rem);line-height:.98;letter-spacing:-.03em}
.cta h2 em{font-style:normal;color:#8fd0ff}
.cta-lead{margin:.55rem 0 0;max-width:34ch;color:#e8f2fb;font-size:1.08rem;line-height:1.4;font-weight:600}
.cta-actions{justify-content:flex-start;margin-top:1.05rem}
.cta-actions .btn{min-height:48px;padding:.6rem 1.05rem;font-size:.95rem}
.contact{padding:clamp(1.2rem,3vw,2.2rem) 0 0}
.pie{
  background:#000;color:#f4f7fb;text-align:center;
  padding:.55rem 1rem .6rem;position:relative;z-index:1;overflow:hidden;
}
.pie-fondo{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.pie-brillo{
  position:absolute;width:28rem;height:28rem;left:-8rem;top:-16rem;border-radius:50%;
  background:radial-gradient(circle,rgba(47,140,255,.28),transparent 68%);
  animation:pie-brillo 8s ease-in-out infinite;
}
.pie-luz{
  position:absolute;top:-10%;bottom:-10%;width:22%;
  background:linear-gradient(90deg,transparent,rgba(143,208,255,.16),transparent);
  animation:pie-luz 11s ease-in-out infinite;
}
.pie-fondo svg{position:absolute;fill:none;stroke:#8fd0ff;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.pie-cubo{width:34px;height:34px;left:1.3rem;top:calc(50% - 17px);opacity:.75;animation:pie-cubo 16s linear infinite}
.pie-dron{width:54px;height:26px;top:calc(50% - 13px);opacity:.5;animation:pie-dron 8s ease-in-out infinite}
.pie-impresora{width:36px;height:30px;right:15rem;top:calc(50% - 15px);opacity:.7;animation:pie-impresora 7s ease-in-out infinite}
.pie p{position:relative;z-index:1;margin:0;line-height:1.25}
.pie-marca{color:#fff;font-size:.92rem;font-weight:700;letter-spacing:.02em}
.pie .pie-lema{margin-top:.16rem;color:#8fd0ff;font-size:.82rem;font-weight:700;letter-spacing:.06em}
.pie .pie-derechos{margin-top:.08rem;color:#c9d2dc;font-size:.76rem}
@keyframes pie-brillo{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(18vw,2rem,0)}}
@keyframes pie-luz{0%{transform:translateX(-140%)}100%{transform:translateX(520%)}}
@keyframes pie-cubo{to{transform:rotate(360deg)}}
@keyframes pie-dron{0%,100%{left:4.6rem;transform:translateY(0)}50%{left:7.4rem;transform:translateY(-4px)}}
@keyframes pie-impresora{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.contact .wrap{width:100%;max-width:none}
.contact-panel{
  position:relative;width:100%;margin-inline:0;
  border-radius:0;overflow:hidden;background:#07101c;
}
.contact-panel img{display:block;width:100%;height:auto}
.contact-panel::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(6,12,32,.5) 0%,rgba(6,12,32,.08) 36%,transparent 50%);
}
.contact-copy{
  position:absolute;z-index:1;top:0;bottom:0;left:clamp(3.2rem,14vw,16rem);width:min(460px,38%);
  display:flex;flex-direction:column;justify-content:center;
  padding:1rem 0;
}
.contact-copy .kicker{color:#9fd8ff;margin-bottom:.35rem}
.contact-copy h2{margin:0;max-width:12ch;color:#fff;font-size:clamp(1.45rem,2.1vw,1.85rem);line-height:1.08}
.contact-place{display:flex;align-items:center;gap:.4rem;margin:.4rem 0 0;color:#d5e4f4;font-weight:700;font-size:.86rem}
.contact-place i{color:#3ec8ff}
.contact-btns{display:grid;gap:.4rem;margin-top:.7rem}
.cbtn{
  display:flex;align-items:center;gap:.65rem;
  min-height:46px;padding:.3rem .6rem .3rem .35rem;
  border-radius:16px;text-decoration:none;color:#fff;
  background:rgba(8,16,36,.42);border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(8px);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.cbtn:hover{transform:translateY(-2px);border-color:#3ec8ff;background:rgba(8,20,44,.62);color:#fff}
.cbtn i{
  width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;
  border-radius:12px;background:rgba(62,200,255,.16);color:#3ec8ff;font-size:1.15rem;
}
.cbtn span{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.cbtn strong{font-size:.95rem}
.cbtn small{color:#c9d8ea;font-size:.76rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbtn b{margin-left:auto;color:#9fd8ff;font-size:.95rem}
.cbtn.wa{border-color:rgba(37,211,102,.45)}
.cbtn.wa i{background:#25d366;color:#04210f}
.cbtn.ig i{background:linear-gradient(135deg,#f9ce34,#ee2a7b 55%,#6228d7);color:#fff}
.modelos-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:1.6rem}
.modelos-head h2{margin:0;color:#fff;font-size:clamp(1.45rem,2.4vw,2rem)}
.modelos-head .lead{margin:.35rem 0 0;max-width:42ch}
.modelos{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:.9rem}
.modelos a{display:block;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.modelos img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:0;border-radius:0}
.footer-links{display:flex;gap:1rem;align-items:center}
.dock{display:none}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}
.contact-list{list-style:none;padding:0;margin:1.1rem 0 0;display:grid;gap:.7rem}
.contact-list li{display:flex;gap:.7rem;align-items:center;color:#d5e2f2;font-weight:700}
.contact-list i{color:var(--cyan);font-size:1.15rem}
.contact-list a{color:#fff;text-decoration:none}
.contact-list a:hover{color:var(--cyan)}
.contact-actions{display:grid;gap:.7rem}
.contact-actions .btn{justify-content:flex-start;padding-inline:1.1rem;background:#121922;border:1px solid var(--line);color:#fff}
.contact-actions .btn:hover{border-color:var(--cyan)}
.contact-actions .btn-go{background:linear-gradient(135deg,var(--blue),#49b7ff 55%,var(--cyan));color:#041018;border:0}

.footer{padding:2.4rem 0 6rem;border-top:1px solid var(--line);color:#9aabc0}
.footer-banner{display:block;width:100%;height:auto;border-radius:18px;border:1px solid rgba(255,255,255,.08)}
.pagina{padding:90px 0 .4rem}
.pagina h1{color:#fff;font-size:clamp(1.8rem,3.2vw,2.7rem);max-width:16ch;margin:0 0 .7rem}
.ficha{display:grid;grid-template-columns:1.05fr .95fr;gap:1.3rem;align-items:center}
.ficha img,.galeria img{width:100%;height:auto;border-radius:22px;border:1px solid rgba(255,255,255,.08)}
.galeria{margin-top:1.2rem}
.temas{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.85rem}
.tema{
  display:grid;grid-template-columns:1.55rem 1fr;column-gap:.6rem;align-items:start;
  background:#121922;border:1px solid var(--line);border-radius:12px;
  padding:.58rem .72rem .62rem;
}
.tema i{grid-row:1 / span 2;color:var(--cyan);font-size:1.02rem;line-height:1;margin-top:.08rem}
.tema h3{font-size:.98rem;margin:0;color:#fff;line-height:1.2;letter-spacing:-.02em}
.tema p{color:var(--muted);font-size:.84rem;line-height:1.35;margin-top:.12rem}
.cta .contact-place{justify-content:flex-start;margin-top:.95rem;font-size:.95rem}
.tema-accion{margin-top:1rem}
.footer a{color:#d5e2f2;text-decoration:none}
.footer a:hover{color:#fff}
.footer-bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);font-size:.88rem}

.wsp{
  position:fixed;right:18px;bottom:16px;z-index:45;
  width:96px;height:112px;display:grid;place-items:end center;
  background:transparent;color:#fff;text-decoration:none;border:0;
}
.wsp-bot{width:96px;height:108px;overflow:visible;position:relative;z-index:1;filter:drop-shadow(0 12px 16px rgba(5,46,22,.42))}
.bot-hop{transform-box:view-box;transform-origin:44px 80px;animation:bot-hop 1.35s ease-in-out infinite}
.bot-body{transform-box:view-box;transform-origin:44px 42px;animation:bot-rock 1.35s ease-in-out infinite}
.bot-ant{transform-box:view-box;transform-origin:44px 16px;animation:bot-ant .7s ease-in-out infinite}
.bot-eye{transform-box:fill-box;transform-origin:center;animation:bot-blink 2.2s ease-in-out infinite}
.bot-mouth{transform-box:fill-box;transform-origin:center;animation:bot-mouth 1.35s ease-in-out infinite}
.bot-arm{transform-box:fill-box;transform-origin:top center}
.bot-arm-l{animation:bot-wave .55s ease-in-out infinite}
.bot-arm-r{animation:bot-wave-r 1.35s ease-in-out infinite}
.bot-ball{transform-box:fill-box;transform-origin:center;animation:bot-ball .7s ease-in-out infinite}
.wsp-bubble{
  position:absolute;right:88px;bottom:48px;z-index:2;white-space:nowrap;
  background:#fff;color:#052e16;font-weight:800;font-size:.92rem;
  padding:.46rem .72rem;border-radius:16px 16px 4px 16px;
  box-shadow:0 10px 22px rgba(0,0,0,.22);
  animation:bot-bubble 1.35s ease-in-out infinite;
}
.wsp-bubble span{display:inline-block;animation:bot-letra 1.35s ease-in-out infinite}
.wsp-bubble span:nth-child(2){animation-delay:.04s}
.wsp-bubble span:nth-child(3){animation-delay:.08s}
.wsp-bubble span:nth-child(4){animation-delay:.12s}
.wsp-bubble span:nth-child(5){animation-delay:.16s}
.wsp-bubble span:nth-child(6){animation-delay:.2s}
.wsp-bubble span:nth-child(7){animation-delay:.24s}
.wsp-bubble span:nth-child(8){animation-delay:.28s}
.wsp-bubble span:nth-child(9){animation-delay:.32s}
.wsp-bubble span:nth-child(10){animation-delay:.36s}
.wsp-bubble span:nth-child(11){animation-delay:.4s}
.wsp:hover .bot-hop{animation-duration:.72s}
.wsp:hover .bot-arm-l{animation-duration:.32s}
.wsp-ring{
  position:absolute;left:16px;right:16px;bottom:2px;height:74px;border-radius:26px;
  border:2px solid rgba(37,211,102,.85);z-index:0;
  animation:bot-ring 1.7s ease-out infinite;
}
.wsp-ring-2{animation-delay:.85s}
.wsp::before{
  content:"";position:absolute;left:16px;right:16px;bottom:2px;height:74px;border-radius:26px;
  background:#25d366;z-index:0;animation:bot-base 1.35s ease-in-out infinite;
}
@keyframes bot-hop{
  0%,100%{transform:translateY(0) scale(1,1)}
  32%{transform:translateY(-18px) scale(1.05,.94)}
  58%{transform:translateY(-4px) scale(.98,1.03)}
  72%{transform:translateY(0) scale(1.08,.9)}
  86%{transform:translateY(-6px) scale(1,1)}
}
@keyframes bot-rock{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes bot-ant{0%,100%{transform:rotate(-16deg)}50%{transform:rotate(18deg)}}
@keyframes bot-blink{0%,40%,47%,100%{transform:scaleY(1)}43%{transform:scaleY(.12)}}
@keyframes bot-mouth{0%,100%{transform:scale(1,1)}32%{transform:scale(1.22,1.85)}72%{transform:scale(.92,.75)}}
@keyframes bot-wave{0%,100%{transform:rotate(12deg)}50%{transform:rotate(-52deg)}}
@keyframes bot-wave-r{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(22deg)}}
@keyframes bot-ball{0%,100%{transform:scale(1)}50%{transform:scale(1.55)}}
@keyframes bot-bubble{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@keyframes bot-letra{0%,55%,100%{transform:translateY(0)}28%{transform:translateY(-6px)}}
@keyframes bot-base{0%,100%{transform:scale(1,1)}72%{transform:scale(1.1,.9)}}
@keyframes bot-ring{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.face-sleep,.face-laugh,.face-cry,.face-happy,.bot-zzz,
.wsp-bubble[data-mood="sleep"],.wsp-bubble[data-mood="laugh"],.wsp-bubble[data-mood="cry"],.wsp-bubble[data-mood="happy"]{display:none}
.tear{transform-box:fill-box;transform-origin:center;animation:bot-tear 1.05s ease-in infinite}
.tear-2{animation-delay:.48s}
.bot-zzz{transform-box:view-box;transform-origin:70px 16px}
.wsp.is-sleep .face-awake,.wsp.is-laugh .face-awake,.wsp.is-cry .face-awake,.wsp.is-happy .face-awake{display:none}
.wsp.is-sleep .face-sleep,.wsp.is-sleep .bot-zzz,.wsp.is-sleep .wsp-bubble[data-mood="sleep"]{display:inline}
.wsp.is-sleep .wsp-bubble[data-mood="awake"]{display:none}
.wsp.is-sleep .bot-hop{animation:bot-breathe 2.6s ease-in-out infinite}
.wsp.is-sleep .bot-body{animation:bot-rest 2.6s ease-in-out infinite}
.wsp.is-sleep .bot-ant{animation:bot-droop 2.6s ease-in-out infinite}
.wsp.is-sleep .bot-arm-l,.wsp.is-sleep .bot-arm-r{animation:bot-hang 2.6s ease-in-out infinite}
.wsp.is-sleep .bot-ball{animation:bot-dim 2.6s ease-in-out infinite}
.wsp.is-sleep .bot-zzz{animation:bot-zzz 1.7s ease-in-out infinite}
.wsp.is-sleep .wsp-ring{opacity:0;animation:none}
.wsp.is-laugh .face-laugh,.wsp.is-laugh .wsp-bubble[data-mood="laugh"]{display:inline}
.wsp.is-laugh .wsp-bubble[data-mood="awake"]{display:none}
.wsp.is-laugh .bot-hop{animation:bot-laugh-hop .42s ease-in-out infinite}
.wsp.is-laugh .bot-body{animation:bot-shake .16s linear infinite}
.wsp.is-laugh .bot-arm-l,.wsp.is-laugh .bot-arm-r{animation:bot-wave .26s ease-in-out infinite}
.wsp.is-cry .face-cry,.wsp.is-cry .wsp-bubble[data-mood="cry"]{display:inline}
.wsp.is-cry .wsp-bubble[data-mood="awake"]{display:none}
.wsp.is-cry .bot-hop{animation:bot-sob 1.05s ease-in-out infinite}
.wsp.is-cry .bot-body{animation:bot-droop-body 1.5s ease-in-out infinite}
.wsp.is-cry .bot-arm-l,.wsp.is-cry .bot-arm-r{animation:bot-hang 1.5s ease-in-out infinite}
.wsp.is-cry .bot-ant{animation:bot-droop 1.5s ease-in-out infinite}
.wsp.is-happy .face-happy,.wsp:hover .face-happy,
.wsp.is-happy .wsp-bubble[data-mood="happy"],.wsp:hover .wsp-bubble[data-mood="happy"]{display:inline}
.wsp.is-happy .face-awake,.wsp:hover .face-awake,
.wsp.is-happy .face-sleep,.wsp:hover .face-sleep,
.wsp.is-happy .face-laugh,.wsp:hover .face-laugh,
.wsp.is-happy .face-cry,.wsp:hover .face-cry,
.wsp.is-happy .bot-zzz,.wsp:hover .bot-zzz,
.wsp.is-happy .wsp-bubble[data-mood="awake"],.wsp:hover .wsp-bubble[data-mood="awake"],
.wsp.is-happy .wsp-bubble[data-mood="sleep"],.wsp:hover .wsp-bubble[data-mood="sleep"],
.wsp.is-happy .wsp-bubble[data-mood="laugh"],.wsp:hover .wsp-bubble[data-mood="laugh"],
.wsp.is-happy .wsp-bubble[data-mood="cry"],.wsp:hover .wsp-bubble[data-mood="cry"]{display:none}
.wsp.is-happy .bot-hop,.wsp:hover .bot-hop{animation:bot-hop .58s ease-in-out infinite}
.wsp.is-happy .bot-body,.wsp:hover .bot-body{animation:bot-rock .58s ease-in-out infinite}
.wsp.is-happy .bot-ant,.wsp:hover .bot-ant{animation:bot-ant .36s ease-in-out infinite}
.wsp.is-happy .bot-arm-l,.wsp:hover .bot-arm-l{animation:bot-wave .28s ease-in-out infinite}
.wsp.is-happy .bot-arm-r,.wsp:hover .bot-arm-r{animation:bot-wave-r .45s ease-in-out infinite}
.wsp.is-happy .bot-ball,.wsp:hover .bot-ball{animation:bot-ball .36s ease-in-out infinite}
.wsp.is-happy .wsp-ring,.wsp:hover .wsp-ring{opacity:1;animation:bot-ring .85s ease-out infinite}
.wsp.is-happy::before,.wsp:hover::before{animation-duration:.58s}
@keyframes bot-breathe{0%,100%{transform:translateY(5px) scale(1,.98)}50%{transform:translateY(9px) scale(1.03,.95)}}
@keyframes bot-rest{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes bot-droop{0%,100%{transform:rotate(10deg)}50%{transform:rotate(-4deg)}}
@keyframes bot-hang{0%,100%{transform:rotate(26deg)}50%{transform:rotate(14deg)}}
@keyframes bot-dim{0%,100%{transform:scale(.75);opacity:.4}50%{transform:scale(1);opacity:.85}}
@keyframes bot-zzz{0%{opacity:0;transform:translate(0,6px)}35%{opacity:1}100%{opacity:0;transform:translate(10px,-14px)}}
@keyframes bot-laugh-hop{0%,100%{transform:translateY(0) scale(1.06,.94)}50%{transform:translateY(-16px) scale(.96,1.08)}}
@keyframes bot-shake{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes bot-sob{0%,100%{transform:translateY(1px)}28%{transform:translateY(7px) scale(1.03,.96)}46%{transform:translateY(0)}}
@keyframes bot-droop-body{0%,100%{transform:rotate(7deg)}50%{transform:rotate(-2deg)}}
@keyframes bot-tear{0%{transform:translateY(0);opacity:0}18%{opacity:1}100%{transform:translateY(16px);opacity:0}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn,.service,.plan,.why,.benefit,.cbtn{transition:none}
  .aurora span,.tech-flow,.tech-spin,.tech-float,.tech-node,.wsp-bot,.wsp::before,.wsp-bubble,.wsp-bubble span,.wsp-ring,.bot-hop,.bot-body,.bot-ant,.bot-eye,.bot-mouth,.bot-arm-l,.bot-arm-r,.bot-ball,.bot-zzz,.tear,.pie-brillo,.pie-luz,.pie-cubo,.pie-dron,.pie-impresora{animation:none}
}
@media (max-width:760px){
  .aurora span{filter:blur(28px)}
}

@media (max-width:1220px){
  :root{--nav:96px}
  .nav{top:0;height:auto;min-height:0}
  .nav-inner{min-height:0;padding:.35rem .85rem}
  .brand img{height:54px}
  .nav-edge{display:none}
  .hero{padding-top:65px}
  .nav-toggle{position:relative;z-index:5}
  .nav-toggle{display:grid;place-items:center;margin-left:auto}
  .nav-in{display:none}
  .menu{
    display:none;position:absolute;top:100%;left:0;right:0;z-index:60;
    flex-direction:column;align-items:stretch;gap:.15rem;
    padding:.45rem;background:#fff;border-radius:0;
    box-shadow:0 16px 40px rgba(15,40,80,.16);
  }
  .menu.open{display:flex}
  .menu{justify-content:flex-start}
  .menu-drop,.menu > .menu-link{flex:none}
  .menu-link{flex-direction:row;justify-content:flex-start;font-size:.95rem;padding:.7rem .75rem;width:auto}
  .menu-link.active::after{display:none}
  .menu-sub{position:static;transform:none;display:grid;min-width:0;box-shadow:none;padding:0 0 .2rem 1.8rem}
  .nav-in-menu{display:inline-flex;justify-content:center;margin:.35rem 0 0}
}
@media (max-width:980px){
  :root{--nav:100px}
  .brand img{height:56px}
  .hero-grid,.sys,.contact-grid,.setup{grid-template-columns:1fr}
  .services,.services-4,.ficha,.temas{grid-template-columns:1fr 1fr}
  .plans{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .why-grid .why:last-child{grid-column:1 / -1}
  .plan.featured{transform:none}
}
@media (max-width:760px){
  :root{--nav:88px}
  .nav-toggle{display:grid;place-items:center}
  .dock{
    display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:.55rem .6rem calc(.55rem + env(safe-area-inset-bottom));
    background:rgba(8,12,18,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px);
  }
  .dock a{
    min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;
    border-radius:14px;text-decoration:none;font-weight:800;font-size:.72rem;line-height:1.05;text-align:center;
    color:#fff;border:0;padding:.4rem .2rem;
  }
  .dock a i{font-size:1.25rem}
  .dock .dock-call{background:#1d4ed8;color:#fff}
  .dock .dock-wa{background:#25d366;color:#04210f}
  .dock .dock-ig{background:linear-gradient(135deg,#f9ce34,#ee2a7b 52%,#6228d7);color:#fff}
  .wsp{display:none}
  body{padding-bottom:86px}
  .footer{padding-bottom:1.2rem}
  .pie{padding:.5rem .75rem 5.4rem}
  .pie-cubo,.pie-dron,.pie-impresora{display:none}
  .brand img{height:48px}
  .plans,.why-grid,.setup .checks,.services,.services-4,.ficha,.temas{grid-template-columns:1fr}
  .modelos{grid-template-columns:1fr 1fr}
  .hero-copy,.hero-copy-dron,.hero-copy-lado{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;height:0;overflow:hidden;opacity:0;visibility:hidden;padding:0}
  .hero-copy.is-on,.hero-copy-dron.is-on,.hero-copy-lado.is-on{height:auto;overflow:visible;opacity:1;visibility:visible;padding:1rem .15rem .2rem;text-align:left;align-items:flex-start}
  .hero-servicios li{justify-content:flex-start}
  .hero-copy-principal.is-on{padding:1rem .15rem .35rem}
  .hero-copy-principal h1{font-size:clamp(1.45rem,6.2vw,1.85rem);max-width:14ch}
  .hero-servicios{gap:.45rem .7rem;margin:.45rem 0 .2rem}
  .hero-servicios li{font-size:.98rem}
  .hero-intro,.hero-cierre,.hero .lead{font-size:1rem;max-width:none}
  .cta-panel{min-height:0;display:block;padding:0;background:linear-gradient(180deg,rgba(4,10,28,.55),rgba(4,10,28,.88)),#06122a url("idea.jpg?v=1") center top/cover no-repeat}
  .cta-copy{width:100%;height:auto;align-items:flex-start;text-align:left;padding:1.4rem 1rem 1.5rem}
  .modelos-head{flex-direction:column;align-items:flex-start}
  .sys{padding:1.2rem 1rem 1.3rem}
  .sys-cards{grid-template-columns:1fr}
  .sys-card:last-child{grid-column:auto}
  .sys-actions .btn{width:100%}
  .why-grid .why:last-child{grid-column:auto}
  .hero-stage::before{display:none}
  .hero h1,.hero-title{max-width:none;font-size:clamp(1.55rem,6vw,2rem)}
  .hero-actions .btn,.contact-actions .btn,.cta-actions .btn{width:100%}
  .contact-panel::before{display:none}
  .contact-copy{position:relative;inset:auto;width:100%;padding:1.1rem 1rem 1.2rem}
  .mosaic-grid img{height:92px}
  .hero{padding-top:59px}
}
@media (min-width:1100px){
  .hero-stage{
    width:100%;margin:0;
    background:#071018 url("portada-inicio.jpg?v=8") right center/cover no-repeat;
  }
  .hero-stage[data-slide="1"]{background-image:url("portada-dron.jpg?v=4");background-position:left center}
  .hero-stage[data-slide="2"]{background-image:url("portada-3d.jpg?v=5");background-position:right center}
  .hero-stage[data-slide="3"]{background-image:url("portada-sistemas.jpg?v=1");background-position:left center}
  .hero-stage::after{
    content:"";position:absolute;inset:-40px;z-index:0;pointer-events:none;
    background:inherit;filter:blur(36px) brightness(.62) saturate(1.05);
  }
  .hero-slide{
    position:relative;z-index:1;width:min(1024px,62%);max-width:1024px;
    -webkit-mask-image:linear-gradient(90deg,#000 84%,transparent 100%);
    mask-image:linear-gradient(90deg,#000 84%,transparent 100%);
  }
  .hero-stage[data-slide="0"] .hero-slide:first-child{
    margin-left:auto;margin-right:0;
    -webkit-mask-image:linear-gradient(270deg,#000 84%,transparent 100%);
    mask-image:linear-gradient(270deg,#000 84%,transparent 100%);
  }
  .hero-slide-side{position:absolute;inset:auto;top:0;bottom:0;left:0;width:min(1024px,62%);max-width:1024px;height:100%}
  .hero-stage[data-slide="2"] .hero-slide-3d{
    left:auto;right:0;
    -webkit-mask-image:linear-gradient(270deg,#000 84%,transparent 100%);
    mask-image:linear-gradient(270deg,#000 84%,transparent 100%);
  }
  .hero-stage[data-slide="1"]::before,
  .hero-stage[data-slide="3"]::before{
    z-index:2;opacity:1;top:0;bottom:0;
    left:calc(min(1024px,62%) - 160px);right:0;
    background:linear-gradient(90deg,rgba(7,16,24,0) 0%,rgba(7,16,24,.45) 18%,rgba(7,16,24,.88) 48%,#071018 100%);
  }
  .hero-stage[data-slide="0"]::before,
  .hero-stage[data-slide="2"]::before{
    z-index:2;opacity:1;top:0;bottom:0;
    left:0;right:calc(min(1024px,62%) - 160px);
    background:linear-gradient(270deg,rgba(7,16,24,0) 0%,rgba(7,16,24,.45) 18%,rgba(7,16,24,.88) 48%,#071018 100%);
  }
  .hero-copy{z-index:3}
  .hero-copy,.hero-copy-3d{width:min(520px,40%)}
  .hero-copy-dron,.hero-copy-lado{width:min(500px,36%);right:clamp(1.1rem,2.4vw,2rem)}
  .hero-copy-principal,.hero-copy-3d{left:0;right:auto;width:min(560px,40%);text-align:left;align-items:flex-start;padding-left:clamp(.9rem,2vw,1.5rem)}
}
@media (min-width:981px){
  .plan.featured{transform:translateY(-14px)}
  .plan.featured:hover{transform:translateY(-20px)}
}
