/* ============================================================
   SEPACK — capa de marca sobre base.css (estructura de la muestra)
   Paleta del logo: turquesa #18E9D9 → celeste #31C0DF → azul #3FABE2 → índigo #5F7AEA
   ============================================================ */
:root{
  --turquesa:#18e9d9; --celeste:#31c0df; --azul:#3fabe2; --indigo:#5f7aea;
  --grad:linear-gradient(120deg,#18e9d9 0%,#31c0df 38%,#3fabe2 62%,#5f7aea 100%);
  --grad-btn:linear-gradient(135deg,#53f0e5 0%,#18e9d9 45%,#31c0df 100%);
  --grad-texto:linear-gradient(100deg,#0fb5c4 0%,#2e8fd8 55%,#5468e0 100%);
  --tinta-btn:#03222a;
}
body{background:#fff;}
::selection{background:rgba(24,233,217,.35);color:#0f1e2e;}

/* ---------- Logo y barra ---------- */
.navbar .brand-logo{height:42px;max-width:none;}
.fb-logo .brand-logo{height:38px;max-width:none;}
.ls .about-card .brand-logo{height:48px;max-width:none;}
.panel .ph .brand-logo{height:40px;max-width:none;}
.navbar::before,.feat::after,.dock::before{background:var(--grad);}
.menu>li.active>a::before{background:var(--grad);}
.navbar{gap:18px;}
.nav-cta{gap:10px;}
.nav-ico{position:relative;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);transition:.2s;}
.nav-ico:hover{border-color:var(--turquesa);color:var(--turquesa);}
.nav-ico svg{width:21px;height:21px;}
.spk-cart-count{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;
  background:var(--grad-btn);color:var(--tinta-btn);font:800 11px/20px var(--body);text-align:center;box-shadow:0 4px 12px rgba(24,233,217,.45);}
.spk-cart-count.is-empty{display:none;}
@media(max-width:1180px){.menu{gap:20px;}.menu>li>a{font-size:13px;}}
@media(max-width:1040px){.nav-cta .btn-lime{display:none;}}
@media(max-width:780px){.nav-ico{width:38px;height:38px;}.navbar .brand-logo{height:36px;}}

/* ---------- Botones ---------- */
.btn-lime,.ls .btn-primary,.panel .submit,.news-form button{background:var(--grad-btn);color:var(--tinta-btn);}
.btn-lime{box-shadow:0 10px 26px -10px rgba(24,233,217,.75);}
.btn-lime:hover,.ls .btn-primary:hover{background:linear-gradient(135deg,#7ff5ec 0%,#31c0df 55%,#3fabe2 100%);color:var(--tinta-btn);}
.ls .serv-card .btn-vermas,.btn-vermas.btn-lime,.btn-vermas.btn-lime:hover,.proj-card .btn-verproy,.proj-card .btn-verproy:hover{color:var(--tinta-btn);}
.btn-sm{padding:10px 16px;font-size:12.5px;}
.btn-wa{background:#25D366;color:#fff;text-transform:uppercase;letter-spacing:.04em;}
.btn-wa:hover{background:#1ebe5a;transform:translateY(-2px);}
.btn-wa svg{width:16px;height:16px;}
.btn-blue{background:var(--blue);color:#fff;text-transform:uppercase;letter-spacing:.04em;}
.spk-centro{text-align:center;margin-top:34px;}
.spk-404{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:60px 0 90px;}

/* Énfasis de los títulos con el degradado del logo */
.ls .sec-title em,.ls .about-card .mv .hl,.promo-txt h2 em{font-style:italic;background:var(--grad-texto);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em;}
.ls .porque .head-c .sec-title em,.ls .contacto h2 em,.panel .pbody h3 em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.ls .about-card .mv .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;}
.ls .sec-eyebrow{color:var(--azul);}

/* ---------- Banner con video y 3 textos que rotan ---------- */
.hero-video{background:#060e1a;}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease;}
.hero-media video.show{opacity:1;}
.hero-video::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,14,26,.62) 0%,rgba(6,14,26,.46) 45%,rgba(6,14,26,.88) 100%),
             radial-gradient(70% 60% at 50% 30%,rgba(24,233,217,.10),transparent 65%);}
.hero::after{z-index:1;background:radial-gradient(70% 60% at 50% 20%,rgba(63,171,226,.22),transparent 60%),linear-gradient(180deg,transparent 45%,rgba(6,14,26,.92));}
.hero .wrap{z-index:3;}
.hero-rot{display:grid;max-width:900px;margin:0 auto;}
.hero-rot .rot{grid-area:1/1;opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none;}
.hero-rot .rot.is-on{opacity:1;transform:none;pointer-events:auto;}
.hero h1,.hero .h1{font-family:var(--disp);font-size:clamp(38px,6.2vw,70px);font-weight:800;line-height:1.06;color:#fff;letter-spacing:-.015em;margin:0 auto;text-shadow:0 6px 30px rgba(0,0,0,.35);}
.hero .rot .lead{margin:20px auto 0;font-size:clamp(17px,2.1vw,21px);color:rgba(255,255,255,.9);max-width:640px;}
.hero .rot .lead span{display:block;}
.hero .rot .lead span+span{color:var(--gold);}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;font:600 12.5px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:var(--turquesa);}
.hero-eyebrow::before,.hero-eyebrow::after{content:"";width:26px;height:2px;background:var(--grad);}
.hero-video .hero-cta{margin-top:34px;}
.rot-dots{display:flex;gap:8px;justify-content:center;margin-top:30px;}
.rot-dots button{width:28px;height:5px;border-radius:5px;border:none;background:rgba(255,255,255,.28);cursor:pointer;padding:0;transition:width .3s,background .3s;}
.rot-dots button.is-on{width:46px;background:var(--grad);}
.play:hover{border-color:var(--turquesa);color:var(--turquesa);}
@media(max-width:780px){.hero h1,.hero .h1{font-size:clamp(34px,10vw,48px);}.hero-video .hero-cta .btn-ghost{display:none;}}

/* ---------- Cabecera de páginas interiores ---------- */
.hero.hero-sm{min-height:auto;padding:150px 0 66px;text-align:left;background:#0a1626;}
.hero.hero-sm::after{background:linear-gradient(180deg,transparent 55%,rgba(6,14,26,.7));}
.hero-sm .hero-bg{position:absolute;inset:0;z-index:0;
  background:radial-gradient(60% 120% at 100% 0%,rgba(95,122,234,.38),transparent 60%),
             radial-gradient(50% 90% at 0% 100%,rgba(24,233,217,.22),transparent 60%),
             linear-gradient(160deg,#060e1a,#0d1b2e 60%,#0a1626);}
.hero-sm .hero-bg::after{content:"";position:absolute;inset:0;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;}
.hero-sm .wrap{text-align:left;}
.hero-sm h1,.hero-sm .hero-titulo{font-family:var(--disp);font-size:clamp(30px,4.4vw,50px);font-weight:800;color:#fff;line-height:1.1;max-width:900px;margin:0;}
.hero-sm .lead{margin:14px 0 0;max-width:720px;color:rgba(255,255,255,.82);font-size:clamp(15px,1.8vw,18px);}
.hero-sm .hero-eyebrow{margin-bottom:12px;}
.hero-sm .hero-eyebrow::after{display:none;}
.hero-ficha{padding-bottom:40px;}
.spk-breadcrumb{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:16px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;}
.spk-breadcrumb a{color:rgba(255,255,255,.85);}
.spk-breadcrumb a:hover{color:var(--turquesa);}
.spk-breadcrumb .sep{color:var(--turquesa);}

/* ---------- Secciones nuevas de la portada ---------- */
.ls .destacados{padding:96px 0;background:#fff;}
.ls .destacados .head-c{text-align:center;max-width:700px;margin:0 auto 40px;}
.ls .destacados .head-c p{font-size:16.5px;color:var(--tinta-soft);margin-top:14px;}
.ls .servicios .serv-card .ph .ico,.ls .vp .ico{background:var(--grad-btn);border-color:rgba(24,233,217,.5);box-shadow:0 6px 16px rgba(24,233,217,.35);}
.ls .serv-card .ph .ico svg,.ls .vp .ico svg{color:var(--tinta-btn);stroke:var(--tinta-btn);}
.ls .serv-card .chip{color:#1f6fa8;background:rgba(63,171,226,.08);border-color:rgba(63,171,226,.25);}
.ls .serv-card .bd .btn-vermas{align-self:flex-start;}

.ls .vp p.vp-ventaja,.ls .vp p.vp-beneficio{font-size:14.6px;color:rgba(255,255,255,.82);}
.ls .vp p span{display:block;font:700 10.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--turquesa);margin-bottom:3px;}
.ls .vp p.vp-beneficio{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);}
.ls .vp p.vp-beneficio span{color:#9fb6ff;}

.ls .promo-premium{padding:96px 0;background:linear-gradient(160deg,#060e1a 0%,#0d1b2e 60%,#0a1626 100%);color:#fff;overflow:hidden;position:relative;}
.ls .promo-premium::before{content:"";position:absolute;inset:0;background:radial-gradient(45% 60% at 85% 20%,rgba(95,122,234,.30),transparent 60%),radial-gradient(40% 50% at 10% 90%,rgba(24,233,217,.16),transparent 60%);pointer-events:none;}
.promo-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
.promo-img{border-radius:var(--r-lg);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.08);aspect-ratio:4/5;}
.promo-img img{width:100%;height:100%;object-fit:cover;}
.promo-txt .sec-eyebrow{color:var(--turquesa);}
.promo-txt h2{font-family:var(--serif);font-weight:700;font-size:40px;line-height:1.15;color:#fff;margin-bottom:16px;}
.promo-txt p{color:rgba(255,255,255,.82);font-size:17px;line-height:1.7;}
.promo-list{list-style:none;margin:22px 0 30px;display:grid;gap:12px;}
.promo-list li{display:flex;gap:10px;align-items:center;font-weight:600;color:#fff;}
.promo-list svg{width:22px;height:22px;flex:0 0 auto;padding:4px;border-radius:50%;background:var(--grad-btn);color:var(--tinta-btn);stroke:var(--tinta-btn);stroke-width:3;}

.ls .proceso{padding:96px 0;background:radial-gradient(80% 60% at 10% 0%,var(--soft) 0%,#fff 55%);}
.proceso-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.proceso-txt{font-size:16.5px;color:var(--tinta-soft);margin:18px 0 26px;line-height:1.75;}
.pasos{list-style:none;display:grid;gap:14px;counter-reset:none;}
.pasos li{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh-1);transition:transform .25s,box-shadow .25s,border-color .25s;}
.pasos li:hover{transform:translateX(6px);border-color:rgba(24,233,217,.6);box-shadow:var(--sh-3);}
.pasos .n{flex:0 0 auto;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font:800 19px/1 var(--disp);color:#fff;background:linear-gradient(145deg,#0d1b2e,#14325a);position:relative;}
.pasos .n::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;border-radius:3px;background:var(--grad);}
.pasos h3{font-family:var(--serif);font-size:19px;margin-bottom:4px;}
.pasos p{color:var(--tinta-soft);font-size:15px;}

.ls .proyectos .gal .it{display:block;}
.ls .gal .it .cap .k{color:var(--turquesa);}
.ls .clientes .cl-logo{background:linear-gradient(145deg,#0d1b2e,#122a4a);border-color:rgba(24,233,217,.25);filter:none;opacity:1;width:190px;}
.ls .clientes .cl-logo span{font:700 15px/1.2 var(--disp);color:#fff;letter-spacing:.01em;}
.ls .clientes .cl-logo:hover{border-color:var(--turquesa);}
.ls .clientes .cl-logo:hover span{color:var(--turquesa);}

.ls .contacto .veil{background:radial-gradient(70% 80% at 50% -20%,rgba(63,171,226,.35) 0%,transparent 55%),linear-gradient(160deg,rgba(6,14,26,.9),rgba(10,22,40,.84) 60%);}
.ls .contacto .m svg{color:var(--turquesa);stroke:var(--turquesa);}

/* ---------- Formularios y avisos ---------- */
.spk-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}
.form-msg,.news-msg{min-height:20px;margin-top:10px;font-size:13.5px;color:var(--turquesa);}
.news-msg{color:#9fe9f2;}
.panel .submit{box-shadow:0 12px 30px rgba(24,233,217,.28);}
.panel .submit:disabled{opacity:.7;cursor:wait;}
.thanks .check{background:rgba(24,233,217,.14);border-color:var(--turquesa);}

/* ---------- Flotantes ---------- */
.ctab{background:var(--grad-btn);color:var(--tinta-btn);}
.ctab.ctab-contact{background:linear-gradient(145deg,#0d1b2e,#14325a);color:#fff;border-color:rgba(24,233,217,.6);}
.ctab.ctab-contact .dot{background:var(--turquesa);box-shadow:0 0 8px rgba(24,233,217,.9);}
.dock a svg{stroke:var(--turquesa);}
.dock a{position:relative;}
.dock .spk-cart-count{top:-2px;right:calc(50% - 22px);}
.pwa-fab-core{display:grid!important;place-items:center;background:linear-gradient(145deg,#0d1b2e,#14325a)!important;border:2px solid rgba(24,233,217,.7);}
.pwa-fab-core img{width:40px;height:40px;}
.vpop-box video{border-color:rgba(24,233,217,.4);}
.vpop-x{background:var(--grad-btn);color:var(--tinta-btn);border-color:rgba(24,233,217,.6);}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .promo-grid,.proceso-grid{grid-template-columns:1fr;gap:36px;}
  .promo-img{aspect-ratio:16/11;}
  .promo-txt h2{font-size:32px;}
}
@media(max-width:900px){
  .ls .destacados,.ls .promo-premium,.ls .proceso{padding:72px 0;}
}
