*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#E8000A;--red-h:#FF1A22;
  --dk:#0A0A0A;--dk2:#111111;
  --lt:#F5F2EB;--lt2:#EDE9DF;--white:#FFFFFF;
  --tx-dh:#FFFFFF;--tx-db:#C8C4BC;--tx-ds:#9E9890;--tx-dm:#686460;
  --tx-lh:#0F0E0C;--tx-lb:#2A2826;--tx-ls:#484440;--tx-lm:#686460;
  --bd-d:rgba(255,255,255,.08);--bd-l:rgba(0,0,0,.09);--bd-r:rgba(232,0,10,.22);
  --F:'Barlow','Helvetica Neue',Helvetica,Arial,sans-serif;
}
html{scroll-behavior:auto} /* el scroll suave ahora lo maneja Lenis (JS) — scroll-behavior:smooth aquí competía con Lenis y causaba scroll "a pasos" */
body{background:var(--dk);color:var(--tx-dh);font-family:var(--F);overflow-x:hidden;cursor:none}

/* ── CURSOR ── */
#cur{width:9px;height:9px;background:var(--red);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;mix-blend-mode:exclusion}
#cur2{width:40px;height:40px;border:1.5px solid rgba(232,0,10,.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transition:transform .22s cubic-bezier(.16,1,.3,1)}
@media(max-width:768px){#cur,#cur2{display:none}body{cursor:auto}}

/* ── MOUSE-REACTIVE GRADIENT CANVAS ── */
#grad-canvas{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0.55}
#hero-canvas,#cta-canvas,#nosotros-canvas,#met-canvas,#sis-canvas,#arq-canvas,#inf-canvas,#conv-canvas,#est-canvas,#sec-canvas,#cli-canvas,#priv-canvas,#term-canvas,#cta-nosotros-canvas,#cta-met-canvas,#cta-sis-canvas,#cta-arq-canvas,#cta-inf-canvas,#cta-conv-canvas,#cta-est-canvas,#cta-sec-canvas,#cta-cli-canvas,
#ga-canvas,#ma-canvas,#sa-canvas,#ec-canvas,#crm-canvas,#ai-canvas,#cta-ga-canvas,#cta-ma-canvas,#cta-sa-canvas,#cta-ec-canvas,#cta-crm-canvas,#cta-ai-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
/* IMPORTANTE: esta lista es una allowlist por ID (heredada del sitio original).
   Cualquier <canvas id="..."> nuevo en una página nueva DEBE agregarse aquí,
   o el canvas renderiza en flujo normal del documento y JS le pone una altura
   gigante (lee window.innerHeight como fallback) — infla el hero entero y
   empuja el contenido fuera de pantalla. Visto en las 6 páginas de
   sub-servicios de sept-2026 (canvas sin estilo = hero "en blanco"). */

/* ═══ NAV BAR ═══ */
.nav-bar{position:fixed;top:0;left:0;right:0;z-index:900;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:rgba(10,10,10,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav-logo{display:flex;align-items:center;text-decoration:none;z-index:10}

/* Hamburguesa */
.nav-right{display:flex;align-items:center;gap:12px}
.nav-diag-btn{font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:11px 22px;white-space:nowrap;color:var(--red);border:1px solid rgba(232,0,10,.45);background:transparent;text-decoration:none;border-radius:0;transition:border-color .2s,background .2s,color .2s;display:inline-block}
.nav-diag-btn:hover{border-color:var(--red);background:rgba(232,0,10,.08);color:var(--red)}
.nav-hbg{background:none;border:none;cursor:pointer;padding:10px;display:flex;flex-direction:column;gap:5px;z-index:10;position:relative}
@media(max-width:520px){.nav-diag-btn{display:none}}
.hbg-bar{display:block;width:26px;height:2px;background:#fff;border-radius:2px;transition:transform .35s cubic-bezier(.77,0,.175,1),opacity .25s,width .35s}
.nav-hbg.open .hbg-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hbg.open .hbg-bar:nth-child(2){opacity:0;width:0}
.nav-hbg.open .hbg-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Backdrop */
.drawer-backdrop{position:fixed;inset:0;z-index:950;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .4s}
.drawer-backdrop.open{opacity:1;pointer-events:all}

/* Panel lateral */
.drawer-panel{position:fixed;top:0;right:0;bottom:0;z-index:960;width:400px;max-width:100vw;background:#0A0A0A;transform:translateX(100%);transition:transform .45s cubic-bezier(.77,0,.175,1);overflow:hidden;display:flex;flex-direction:column}
.drawer-panel.open{transform:translateX(0)}

/* Dot grid dentro del drawer */
.drawer-dot-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}

/* Inner del drawer */
.drawer-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:28px 40px 40px}

/* Logo en drawer */
.drawer-logo{margin-bottom:56px;padding-top:8px;display:flex;align-items:center;justify-content:space-between}

/* Botón cerrar drawer (X) */
.drawer-close{background:none;border:1px solid rgba(255,255,255,.12);cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:2px;transition:border-color .2s,background .2s}
.drawer-close:hover{border-color:var(--red);background:rgba(232,0,10,.1)}
.drawer-close svg{width:18px;height:18px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;transition:stroke .2s}
.drawer-close:hover svg{stroke:var(--red)}

/* Links */
.drawer-nav{display:flex;flex-direction:column;flex:1}
.drawer-link{display:flex;align-items:center;gap:16px;text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);color:#fff;font-size:26px;font-weight:800;letter-spacing:-0.5px;line-height:1;position:relative;overflow:hidden;transition:color .25s;opacity:0;transform:translateX(24px)}
.drawer-link.anim-in{opacity:1;transform:translateX(0);transition:opacity .4s,transform .4s}
.dl-num{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--red);min-width:24px;margin-top:2px}
.dl-text{flex:1}
.dl-arrow{font-size:18px;color:rgba(255,255,255,.2);transition:color .25s,transform .25s}
.drawer-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--red);transition:width .3s}
.drawer-link:hover{color:var(--red)}
.drawer-link:hover .dl-arrow{color:var(--red);transform:translateX(4px)}
.drawer-link:hover::after{width:100%}

/* Subsistemas */
.drawer-group{display:flex;flex-direction:column}
.drawer-sub{display:flex;flex-direction:column;padding:6px 0 10px 40px;gap:2px}
.drawer-sub-link{font-size:12px;font-weight:600;letter-spacing:.5px;color:rgba(255,255,255,.4);text-decoration:none;padding:5px 0;transition:color .2s;text-transform:uppercase}
.drawer-sub-link:hover{color:var(--red)}

/* CTA y email en el drawer */
.drawer-bottom{padding-top:32px;display:flex;flex-direction:column;gap:16px}
.drawer-cta{display:block;text-align:center;padding:18px 32px;font-size:14px}
.drawer-email{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.3);text-decoration:none;text-align:center;transition:color .2s}
.drawer-email:hover{color:rgba(255,255,255,.7)}

/* Responsive */
@media(max-width:600px){
  .nav-bar{padding:0 24px;height:60px}
  .drawer-panel{width:100vw}
  .drawer-inner{padding:24px 28px 32px}
  .drawer-link{font-size:22px;padding:12px 0}
  .drawer-logo{margin-bottom:40px}
}

/* ── SECTION SYSTEM ── */
section{position:relative;overflow:hidden}
.sec-dark{background:var(--dk)}
.sec-dark2{background:var(--dk2)}
.sec-light{background:var(--lt)}
.sec-light2{background:var(--lt2)}
.sec-photo{background:#000}

/* ── LABELS ── */
.slbl{display:inline-flex;align-items:center;margin-bottom:18px}
.slbl .tag{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;padding:7px 16px;border-radius:2px}
.sd .tag{color:var(--red);background:rgba(232,0,10,.12);border:1px solid rgba(232,0,10,.3)}
.sl .tag{color:var(--red);background:rgba(232,0,10,.09);border:1px solid rgba(232,0,10,.25)}

/* ── SECTION TITLES ── */
.st{font-weight:900;text-transform:none;line-height:.93;letter-spacing:-2px;position:relative;padding-bottom:26px;margin-bottom:18px}
.st::after{content:'';position:absolute;bottom:0;left:0;width:52px;height:3px;background:var(--red)}
.std{font-size:clamp(30px,4vw,56px);color:var(--tx-dh)}
.stl{font-size:clamp(30px,4vw,56px);color:var(--tx-lh)}
.st-c::after{left:50%;transform:translateX(-50%)}
.r{color:var(--red)}

/* ── BODY TEXT ── */
.bd{font-size:17px;font-weight:400;line-height:1.78;color:var(--tx-db)}
.bl{font-size:17px;font-weight:400;line-height:1.78;color:var(--tx-lb)}
.cl{font-size:17px;font-weight:400;line-height:1.75;color:var(--tx-ls)}

/* ── BUTTONS ── */
.btn-r{background:var(--red);color:#fff;padding:18px 48px;font-family:var(--F);font-size:15px;font-weight:800;letter-spacing:.3px;text-transform:none;text-decoration:none;display:inline-block;position:relative;overflow:hidden;transition:transform .2s,box-shadow .3s}
.btn-r::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .5s}
.btn-r:hover::before{left:100%}
.btn-r:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(232,0,10,.45)}
.btn-od{border:1.5px solid rgba(255,255,255,.25);color:var(--tx-db);padding:18px 48px;font-family:var(--F);font-size:14px;font-weight:700;letter-spacing:.3px;text-transform:none;text-decoration:none;display:inline-block;transition:border-color .25s,color .25s,background .25s}
.btn-od:hover{border-color:var(--red);color:#fff;background:rgba(232,0,10,.08)}
/* Outlined para fondos claros */
.btn-ol{border:1.5px solid rgba(10,10,10,.2);color:#0A0A0A;padding:18px 48px;font-family:var(--F);font-size:14px;font-weight:700;letter-spacing:.3px;text-transform:none;text-decoration:none;display:inline-block;background:transparent;transition:background .25s,border-color .25s,color .25s,transform .2s,box-shadow .25s}
.btn-ol:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px);box-shadow:0 12px 36px rgba(232,0,10,.3)}

/* ── ELEMENT REVEALS ── */
.rv{opacity:0;transform:translateY(50px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:translateY(0)}
.rv-l{opacity:0;transform:translateX(-50px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.rv-l.in{opacity:1;transform:translateX(0)}
.rv-r{opacity:0;transform:translateX(50px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.rv-r.in{opacity:1;transform:translateX(0)}

/* ═══ SHARED SECTION PADDING ═══ */
.sec-pad{padding:100px 64px}
.sec-pad-sm{padding:72px 64px}
.sec-inner{max-width:1380px;margin:0 auto}


/* ═══ WORD REVEAL ═══ */
.word-reveal{overflow:hidden}
.word-reveal .wr-word{display:inline-block;opacity:0;transform:translateY(110%);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
.word-reveal.in .wr-word{opacity:1;transform:translateY(0)}

/* ═══ PAGES SYSTEM ═══ (eliminado: pertenecía al routing del SPA original;
   .page{display:none} colisionaba con la clase "page" que WordPress agrega
   por defecto a <body> vía body_class() en todo Page, y ocultaba el sitio
   entero. Ya no aplica: cada página es su propia URL real, no un div
   conmutado por JS.) */

/* ═══ 01 — HERO ═══ */
.s-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 64px}
.hero-img{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1920&q=80') center/cover;transform:scale(1.07);animation:bgz 22s ease-in-out infinite alternate;z-index:0}
@keyframes bgz{0%{transform:scale(1.07) translate(0,0)}100%{transform:scale(1.14) translate(-1.5%,.5%)}}
.hero-ov{position:absolute;inset:0;background:linear-gradient(100deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,.42) 100%);z-index:1}
.hero-red-glow{position:absolute;inset:0;background:radial-gradient(ellipse 50% 85% at 2% 55%,rgba(232,0,10,.16) 0%,transparent 65%);z-index:1;animation:glw 10s ease-in-out infinite alternate}
@keyframes glw{0%{opacity:.5;transform:scale(1)}100%{opacity:1;transform:scale(1.08)}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:64px 64px;animation:gd 28s linear infinite;z-index:1}
@keyframes gd{from{background-position:0 0}to{background-position:88px 88px}}
.orb{position:absolute;border-radius:50%;pointer-events:none;mix-blend-mode:screen;z-index:1}
.orb-a{width:700px;height:700px;background:radial-gradient(circle,rgba(232,0,10,.1) 0%,transparent 70%);top:-200px;right:-100px;animation:of1 18s ease-in-out infinite}
.orb-b{width:400px;height:400px;background:radial-gradient(circle,rgba(232,0,10,.07) 0%,transparent 70%);bottom:100px;left:200px;animation:of2 24s ease-in-out infinite}
@keyframes of1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-50px,70px) scale(1.07)}66%{transform:translate(40px,-40px) scale(.95)}}
@keyframes of2{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,-50px)}}
.hero-inner{position:relative;z-index:10;max-width:1400px;width:100%;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:flex-end;padding:140px 0 120px;margin:0 auto}
.h-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:36px;opacity:0;animation:su .7s ease .05s forwards}
.h-dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.h-eyebrow span{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red)}
.h-title{font-size:clamp(38px,5vw,80px);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-2px;color:#fff;display:flex;flex-direction:column;gap:.08em}
.h-title .op{color:#fff;-webkit-text-stroke:0;text-shadow:0 0 60px rgba(232,0,10,.4),0 2px 0 rgba(0,0,0,.8)}
.hl{display:block;opacity:0;transform:translateY(44px) skewY(2deg);animation:hlIn .82s cubic-bezier(.16,1,.3,1) forwards}
.hl1{animation-delay:.08s}.hl2{animation-delay:.22s}.hl3{animation-delay:.36s}.hl4{animation-delay:.50s}
@keyframes hlIn{to{opacity:1;transform:translateY(0) skewY(0)}}
.h-right{display:flex;flex-direction:column;justify-content:flex-end;opacity:0;animation:su .9s ease .28s forwards}
.h-sub{font-size:22px;font-weight:400;line-height:1.7;color:var(--tx-db);margin-bottom:20px}
.h-sub strong{color:#fff;font-weight:800}
.h-desc{font-size:16px;font-weight:400;line-height:1.9;color:var(--tx-ds);border-left:3px solid var(--red);padding-left:22px;margin-bottom:42px}
/* ── SECTOR PILLS ── */
.sec-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:36px auto 0;max-width:900px}
.sec-pill{padding:10px 22px;border:1px solid var(--bd-d);color:var(--tx-ds);font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;border-radius:2px;transition:border-color .22s,color .22s,background .22s;cursor:default}
.sec-pill:hover{border-color:var(--red);color:var(--tx-dh);background:rgba(232,0,10,.08)}
/* ── COUNT-UP ── */
.counting{transition:opacity .1s}
.h-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-bar{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:22px 64px;margin-left:-64px;margin-right:-64px;border-top:1px solid var(--bd-d);background:rgba(0,0,0,.35);backdrop-filter:blur(16px);opacity:0;animation:su .8s ease .7s forwards}
.hbs{text-align:center;min-width:100px}
.hbn{font-size:28px;font-weight:900;color:#fff;line-height:1}
.hbl{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.38)}
.hbdv{width:1px;height:40px;background:var(--bd-d)}
.hbsc{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.55)}
.scroll-mouse{width:18px;height:28px;border:1.5px solid rgba(255,255,255,.35);border-radius:9px;position:relative;display:flex;justify-content:center;flex-shrink:0}
.scroll-wheel{width:3px;height:6px;background:var(--red);border-radius:3px;position:absolute;top:5px;animation:scrollWheel 1.9s ease-in-out infinite}
@keyframes scrollWheel{0%{transform:translateY(0);opacity:1}55%{transform:translateY(9px);opacity:0}56%{transform:translateY(0);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes su{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}

/* ── MARQUEE ── */
.mq-wrap{background:var(--dk2);border-top:1px solid var(--bd-r);border-bottom:1px solid var(--bd-r);overflow:hidden;padding:18px 0;position:relative;z-index:2}
.mq-inner{display:flex;animation:mq 70s linear infinite;width:max-content}
.mq-it{display:flex;align-items:center;gap:28px;padding:0 28px;font-size:12px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--tx-dm);white-space:nowrap}
.mq-sep{color:var(--red)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Marquee de servicios */
.svc-mq-wrap{background:var(--dk2);border-top:1px solid rgba(232,0,10,.22);border-bottom:1px solid rgba(232,0,10,.22);overflow:hidden;padding:16px 0;position:relative;z-index:2}
.svc-mq-inner{display:flex;animation:mq 90s linear infinite;width:max-content}
.svc-mq-it{display:flex;align-items:center;gap:32px;padding:0 32px;font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.38);white-space:nowrap;transition:color .2s}
.svc-mq-sep{color:var(--red);font-size:10px}

/* ═══ PROBLEMA ═══ */
.prob-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:120px;align-items:start}
.pp-list{display:flex;flex-direction:column}
.pp{display:flex;align-items:flex-start;gap:28px;padding:32px 0;border-bottom:1px solid var(--bd-d);transition:padding-left .3s}
.pp:first-child{border-top:1px solid var(--bd-d)}
.pp:hover{padding-left:10px}
.pp-n{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--red);min-width:32px;padding-top:4px}
.pp h4{font-size:20px;font-weight:800;margin-bottom:10px;color:var(--tx-dh);letter-spacing:-.3px}
.pp p{font-size:17px;color:var(--tx-db);line-height:1.75}
.orb-sec{position:absolute;border-radius:50%;pointer-events:none;mix-blend-mode:screen;z-index:0}
.o1{width:600px;height:600px;background:radial-gradient(circle,rgba(232,0,10,.09) 0%,transparent 70%);top:-100px;right:-100px;animation:of1 20s ease-in-out infinite}
.o2{width:400px;height:400px;background:radial-gradient(circle,rgba(232,0,10,.06) 0%,transparent 70%);bottom:-50px;left:-50px;animation:of2 26s ease-in-out infinite}
.q-card{background:#141414;border:1px solid var(--bd-r);padding:60px 52px;position:relative;overflow:hidden;transition:border-color .4s,box-shadow .4s;z-index:1}
.q-card:hover{border-color:var(--red);box-shadow:0 0 60px rgba(232,0,10,.12)}
.q-card::before{content:'"';font-size:200px;font-weight:900;color:rgba(232,0,10,.06);position:absolute;top:-50px;left:28px;line-height:1}
.q-glow{position:absolute;inset:0;background:linear-gradient(135deg,rgba(232,0,10,.06) 0%,transparent 60%);opacity:0;transition:opacity .5s}
.q-card:hover .q-glow{opacity:1}
.q-p{font-size:22px;font-weight:400;line-height:1.75;color:var(--tx-db);margin-bottom:32px;position:relative;z-index:1}
.q-end{font-size:14px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);position:relative;z-index:1}

/* ═══ QUIÉNES ═══ */
.q-split{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(900px,96vh,1100px)}
.q-ph{position:relative;overflow:hidden}
.q-badge{position:absolute;bottom:52px;left:52px;background:var(--red);color:#fff;padding:14px 22px;font-size:11px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;z-index:10}
.q-stat{position:absolute;background:rgba(10,10,10,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(232,0,10,.22);padding:20px 28px;z-index:10}
.q-stat-val{font-size:40px;font-weight:900;color:#fff;letter-spacing:-2px;line-height:1}
.q-stat-lbl{font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:6px}
.q-stat-a{top:52px;right:52px}
.q-stat-b{top:50%;left:52px;transform:translateY(-50%)}
/* — Video panel — */
.q-vid-panel{background:#050505;display:flex;align-items:center;justify-content:center}
.q-vid-bg-glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 75% at 50% 50%,rgba(232,0,10,.18) 0%,transparent 58%),radial-gradient(ellipse 45% 50% at 15% 90%,rgba(232,0,10,.1) 0%,transparent 55%),radial-gradient(ellipse 35% 40% at 85% 8%,rgba(140,0,6,.08) 0%,transparent 52%)}
.q-vid-deco-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;border-radius:50%;border:1px solid rgba(232,0,10,.1);pointer-events:none;z-index:1}
.q-vid-deco-ring::before{content:'';position:absolute;inset:40px;border-radius:50%;border:1px solid rgba(232,0,10,.06)}
.q-vid-deco-ring::after{content:'';position:absolute;inset:90px;border-radius:50%;border:1px solid rgba(255,255,255,.03)}
.q-vid-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0;width:100%;height:100%;box-sizing:border-box}
/* ── Peek carousel ── */
.q-peek-viewport{position:relative;width:100%;flex:1;min-height:420px;overflow:visible}
.q-peek-viewport::before,.q-peek-viewport::after{content:'';position:absolute;top:0;bottom:0;width:110px;z-index:5;pointer-events:none}
.q-peek-viewport::before{left:0;background:linear-gradient(to right,#050505 20%,transparent 100%)}
.q-peek-viewport::after{right:0;background:linear-gradient(to left,#050505 20%,transparent 100%)}
.q-peek-item,.n-peek-item{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .55s,filter .5s;pointer-events:none}
/* Activo — elevado, dominante */
.q-peek-item.active,.n-peek-item.active{transform:translate(-50%,-50%) scale(1);opacity:1;filter:none;z-index:3;pointer-events:auto}
.q-peek-item.active::before,.n-peek-item.active::before{content:'';position:absolute;inset:-20px;border-radius:34px;box-shadow:0 0 0 1px rgba(232,0,10,.18),0 30px 90px rgba(232,0,10,.22),0 60px 180px rgba(0,0,0,.95);pointer-events:none;z-index:-1}
/* Peeks — recesivos, oscuros */
.q-peek-item.peek-next,.n-peek-item.peek-next{transform:translate(calc(-50% + clamp(155px,16vw,218px)),-50%) scale(.76);opacity:.38;filter:brightness(.38) blur(.5px);z-index:2;pointer-events:auto;cursor:pointer}
.q-peek-item.peek-prev,.n-peek-item.peek-prev{transform:translate(calc(-50% - clamp(155px,16vw,218px)),-50%) scale(.76);opacity:.38;filter:brightness(.38) blur(.5px);z-index:2;pointer-events:auto;cursor:pointer}
.q-peek-item.peek-far,.n-peek-item.peek-far{transform:translate(-50%,-50%) scale(.65);opacity:0;z-index:1}
/* Frame — height-driven, máximo vertical */
.q-vid-frame{height:clamp(420px,calc(90vh - 130px),720px);width:auto;aspect-ratio:9/16;max-width:clamp(230px,22vw,330px);border-radius:20px;overflow:hidden;position:relative;box-shadow:0 50px 140px rgba(0,0,0,.92),0 0 0 1px rgba(232,0,10,.3),0 0 50px rgba(232,0,10,.12),inset 0 0 0 1px rgba(255,255,255,.08);transition:box-shadow .5s,transform .5s}
.q-peek-item.active:hover .q-vid-frame,.n-peek-item.active:hover .q-vid-frame{box-shadow:0 60px 160px rgba(0,0,0,.97),0 0 0 1px rgba(232,0,10,.55),0 0 70px rgba(232,0,10,.22),inset 0 0 0 1px rgba(255,255,255,.12);transform:translateY(-6px)}
.q-vid-frame video{width:100%;height:100%;object-fit:cover;display:block}
/* Nav buttons inside peek-viewport */
.q-vid-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .3s,border-color .3s;padding:0}
.q-vid-nav-btn svg{width:16px;height:16px;stroke:#fff;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.q-vid-nav-btn:hover{background:rgba(232,0,10,.8);border-color:var(--red)}
.q-vid-nav-prev{left:12px}
.q-vid-nav-next{right:12px}
/* Dots */
.q-vid-dots{display:flex;gap:8px;justify-content:center;padding:16px 0 0;flex-shrink:0}
.q-vid-dot,.n-vid-dot{width:28px;height:3px;border-radius:2px;background:rgba(255,255,255,.25);border:none;cursor:pointer;transition:width .35s cubic-bezier(.16,1,.3,1),background .3s;padding:0;flex-shrink:0}
.q-vid-dot.active,.n-vid-dot.active{background:var(--red);width:44px}
/* Counter — flotante sobre el carrusel */
.q-vid-counter{position:absolute;top:16px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 11px;z-index:10;border:1px solid rgba(255,255,255,.12);pointer-events:none;white-space:nowrap}
/* Video lower-third overlay */
.q-vid-lower{position:absolute;bottom:0;left:0;right:0;padding:52px 18px 18px;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.55) 55%,transparent 100%);z-index:5;pointer-events:none}
.q-vid-lower-name{font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff}
.q-vid-lower-role{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:5px}
/* 2x2 commit grid */
/* KPI bar */
.q-kpi-row{display:flex;margin:40px 0 0;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1)}
.q-kpi{flex:1;padding:22px 0;text-align:center;transition:background .3s}
.q-kpi:hover{background:rgba(232,0,10,.04)}
.q-kpi+.q-kpi{border-left:1px solid rgba(0,0,0,.08)}
.q-kpi-val{display:block;font-size:clamp(24px,2.6vw,36px);font-weight:900;letter-spacing:-1.5px;color:var(--dk);line-height:1}
.q-kpi-lbl{display:block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(0,0,0,.36);margin-top:8px}
/* Lista numerada editorial */
.q-award-strip{display:flex;flex-direction:column;gap:20px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(0,0,0,.1)}
.q-award-left{display:flex;align-items:center;gap:20px;border-left:3px solid #C9A84C;padding-left:20px}
.q-award-logo-wrap{flex-shrink:0;padding:12px 16px;border:1px solid rgba(201,168,76,.3);background:rgba(201,168,76,.06);border-radius:6px}
.q-award-logo-wrap img{height:52px;width:auto;display:block}
.q-award-info{display:flex;flex-direction:column;gap:5px;min-width:0}
.q-award-eyebrow{font-size:9px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#C9A84C}
.q-award-name{font-size:15px;font-weight:800;color:var(--dk);line-height:1.3}
.q-award-cat{font-size:12px;color:rgba(10,10,10,.5);line-height:1.5}
.q-award-cta-row{align-self:flex-start;padding:13px 28px;font-size:12px}
.q-vid-grad{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 55%,rgba(0,0,0,.6) 100%);pointer-events:none}
/* Barra de controles del carrusel de video */
.q-vid-controls{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:12px;position:absolute;bottom:68px;left:50%;transform:translateX(-50%);width:auto;z-index:20}
.q-ctrl-btn{width:42px;height:42px;border-radius:21px;background:rgba(10,10,10,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.14);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .22s,background .22s,box-shadow .22s,transform .18s;flex-shrink:0}
.q-ctrl-btn svg{width:16px;height:16px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
.q-ctrl-btn:hover{border-color:var(--red);box-shadow:0 0 16px rgba(232,0,10,.35);transform:scale(1.08)}
/* Big centered play overlay */
.vid-play-big{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:rgba(232,0,10,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9;border:2px solid rgba(255,255,255,.25);transition:opacity .25s,transform .2s;pointer-events:none}
.vid-play-big svg{width:26px;height:26px;fill:#fff;stroke:none;margin-left:4px}
.vid-play-big.hidden{opacity:0}
.q-ctrl-btn.snd-on{background:var(--red);border-color:var(--red);box-shadow:0 0 18px rgba(232,0,10,.45)}
.q-ctrl-btn.snd-on:hover{background:var(--red-h);box-shadow:0 0 24px rgba(232,0,10,.6)}
/* Info strip below the video frame */
.q-vid-info{margin-top:22px;text-align:center;width:min(56%,290px)}
.q-vid-info-name{font-size:13px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.88)}
.q-vid-info-role{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-top:6px}
.q-vid-stats{display:flex;align-items:stretch;margin-top:16px;border:1px solid rgba(255,255,255,.08);border-radius:6px;overflow:hidden}
.q-vid-stat{flex:1;padding:14px 8px;text-align:center}
.q-vs-sep{width:1px;background:rgba(255,255,255,.08);flex-shrink:0}
.q-vs-val{display:block;font-size:19px;font-weight:900;color:#fff;letter-spacing:-1px;line-height:1}
.q-vs-lbl{display:block;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:5px}
/* — Text panel — */
.q-txt{padding:80px 80px 80px 72px;display:flex;flex-direction:column;justify-content:center;background:var(--lt);position:relative;overflow:hidden}
.q-txt::before{content:'';position:absolute;top:-100px;right:-60px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(232,0,10,.07) 0%,transparent 65%);pointer-events:none}
.q-txt::after{content:'';position:absolute;bottom:0;left:72px;right:80px;height:1px;background:linear-gradient(to right,rgba(0,0,0,.12) 0%,transparent 80%);pointer-events:none}
.q-year{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:rgba(232,0,10,.6);margin-bottom:8px}
.q-man{margin-top:36px}
.q-mi{padding:18px 0;border-bottom:1px solid var(--bd-l);font-size:17px;font-weight:700;color:var(--tx-ls);display:flex;align-items:center;gap:14px;transition:color .25s,padding-left .25s}
.q-mi:first-child{border-top:1px solid var(--bd-l)}
.q-mi:hover{color:var(--tx-lh);padding-left:8px}
.q-mi .ar{color:var(--red);font-weight:900;font-size:18px;flex-shrink:0;transition:transform .25s}
.q-mi:hover .ar{transform:translateX(4px)}
/* Social row */
.q-social{display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:28px;border-top:1px solid var(--bd-l)}
.q-social-lbl{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tx-lm);margin-right:4px;flex-shrink:0}
.q-soc-link{width:36px;height:36px;border:1.5px solid var(--bd-l);display:flex;align-items:center;justify-content:center;color:var(--tx-lm);text-decoration:none;transition:border-color .22s,color .22s,background .22s;flex-shrink:0}
.q-soc-link:hover{border-color:var(--red);color:var(--red);background:rgba(232,0,10,.06)}
.q-soc-link svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}

/* ═══ METODOLOGÍA ═══ */
.met-mesh{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 50% at 85% 0%,rgba(232,0,10,.08) 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 15% 100%,rgba(232,0,10,.06) 0%,transparent 60%);animation:mm 16s ease-in-out infinite alternate}
@keyframes mm{0%{opacity:.5;transform:scale(1)}100%{opacity:1;transform:scale(1.07)}}
.met-inner-wrap{position:relative;z-index:1}
.met-badge{display:inline-block;border:1px solid var(--bd-r);padding:9px 22px;margin-top:22px;font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);background:rgba(232,0,10,.06)}
.met-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:56px;border:1px solid rgba(255,255,255,.09)}
.mc{padding:44px 34px;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);transition:background .35s,transform .3s;position:relative;overflow:hidden;cursor:default}
.mc:nth-child(4n){border-right:none}
.mc:nth-child(n+5){border-bottom:none}
.mc::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(232,0,10,.11) 0%,rgba(232,0,10,.04) 50%,transparent 100%);opacity:0;transition:opacity .4s}
.mc:hover::before{opacity:1}
.mc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--red),rgba(232,0,10,.3));transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.mc:hover::after{transform:scaleX(1)}
.mc:hover{transform:translateY(-3px)}
.mc-n{font-size:11px;font-weight:800;letter-spacing:2px;color:rgba(232,0,10,.5);margin-bottom:18px}
.mc h4{font-size:17px;font-weight:800;margin-bottom:12px;color:var(--tx-dh);letter-spacing:-.2px;position:relative;z-index:1}
.mc p{font-size:16px;color:var(--tx-db);line-height:1.75;font-weight:400;position:relative;z-index:1}
.met-q{text-align:center;border:1px solid var(--bd-r);padding:52px;background:rgba(232,0,10,.04);position:relative;overflow:hidden}
.met-q::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 100% at 50% 100%,rgba(232,0,10,.09) 0%,transparent 65%);animation:glw 8s ease-in-out infinite alternate}
.met-q p{font-size:clamp(26px,3vw,44px);font-weight:900;text-transform:uppercase;letter-spacing:-.5px;color:var(--tx-dh);position:relative;z-index:1}
.met-q p span{color:var(--red)}

/* ═══ SISTEMAS ═══ */
/* ═══ SISTEMAS — service cards ═══ */
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.srv-card{background:var(--dk);border:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .4s,box-shadow .4s}
.srv-card:hover{border-color:rgba(232,0,10,.28);box-shadow:0 8px 60px rgba(232,0,10,.07)}
.srv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--red),rgba(232,0,10,.3));transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.16,1,.3,1);z-index:2}
.srv-card:hover::before{transform:scaleX(1)}
.srv-ico-wrap{padding:44px 40px 24px;display:flex;justify-content:center}
.srv-ico{width:156px;height:156px}
.srv-body{padding:4px 40px 48px;display:flex;flex-direction:column;flex:1;position:relative}
.srv-body::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(232,0,10,.06) 0%,transparent 60%);opacity:0;transition:opacity .5s;pointer-events:none}
.srv-card:hover .srv-body::after{opacity:1}
.srv-card .sis-ul{grid-template-columns:1fr}
.srv-card .sis-tag,.srv-card .sis-h3{text-align:center}
/* ── icon hover animations ── */
.srv-bar{transform-box:fill-box;transform-origin:bottom center;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.srv-card:hover .b3{transform:scaleY(1.15)}
.srv-card:hover .b2{transform:scaleY(1.1);transition-delay:.07s}
.srv-card:hover .b1{transform:scaleY(1.06);transition-delay:.14s}
.srv-tdot{transform-box:fill-box;transform-origin:center}
@keyframes srvTdotPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(232,0,10,.4))}50%{transform:scale(1.55);filter:drop-shadow(0 0 9px #E8000A)}}
.srv-card:hover .srv-tdot{animation:srvTdotPulse .9s ease-in-out infinite}
.srv-lyr{transform-box:fill-box;transform-origin:center;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.srv-card:hover .l3{transform:translateY(-5px)}
.srv-card:hover .l2{transform:translateY(-3px);transition-delay:.07s}
.srv-card:hover .l1{transform:translateY(-1px);transition-delay:.14s}
.srv-adot{transform-box:fill-box;transform-origin:center}
@keyframes srvAdotGlow{0%,100%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(232,0,10,.4))}50%{transform:scale(1.45);filter:drop-shadow(0 0 8px #E8000A)}}
.srv-card:hover .srv-adot{animation:srvAdotGlow 1.2s ease-in-out infinite}
.srv-fline{opacity:.5;transition:opacity .25s,stroke-width .25s}
.srv-card:hover .f1{opacity:1;stroke-width:1.5}
.srv-card:hover .f2{opacity:1;stroke-width:1.5;transition-delay:.07s}
.srv-card:hover .f3{opacity:1;stroke-width:1.5;transition-delay:.14s}
.srv-odot{transform-box:fill-box;transform-origin:center}
@keyframes srvOdotPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(232,0,10,.4))}50%{transform:scale(1.6);filter:drop-shadow(0 0 9px #E8000A)}}
.srv-card:hover .srv-odot{animation:srvOdotPulse 1s ease-in-out infinite}
.sis-tag{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:16px}
.sis-h3{font-size:clamp(20px,2.2vw,24px);font-weight:900;letter-spacing:-.3px;color:#fff;line-height:1.25;margin-bottom:16px}
.sis-desc{font-size:15px;font-weight:400;line-height:1.75;color:var(--tx-ds);margin-bottom:24px}
.sis-ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:32px}
.sis-ul li{font-size:13px;line-height:1.55;color:rgba(255,255,255,.45);display:flex;align-items:flex-start;gap:8px}
.sis-ul li::before{content:'→';color:rgba(232,0,10,.5);flex-shrink:0;font-size:11px;margin-top:2px}
.sis-ft{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.sis-ft span{color:var(--red)}
.sis-btn{margin-top:20px;display:inline-block}

/* ═══ CLIENTES / LOGOS ═══ */
.lgrid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03)}
.lgrid2{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.07);border-top:none;background:rgba(255,255,255,.015)}
.lc{padding:22px 20px;border-right:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;transition:background .35s;position:relative;overflow:hidden}
.lc:last-child{border-right:none}
.lc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.lc:hover::after{transform:scaleX(1)}
.lc:hover{background:rgba(232,0,10,.05)}
.lp{font-family:var(--F);font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:-.5px;color:rgba(255,255,255,.17);transition:color .3s}
.lc:hover .lp{color:rgba(255,255,255,.44)}
.lp.it{font-style:italic;font-weight:300;letter-spacing:4px;font-size:17px}
.cli-note{text-align:center;margin-top:28px;font-size:16px;font-weight:400;line-height:1.75;color:var(--tx-ds);max-width:640px;margin-left:auto;margin-right:auto}

/* ═══ FILOSOFÍA ═══ */
.fil-split{display:grid;grid-template-columns:1fr 1fr;min-height:820px}
.fil-ph{position:relative;overflow:hidden}
.fil-ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(25%) brightness(.72);transition:filter 1s}
.fil-ph:hover img{filter:grayscale(0%) brightness(.62)}
.fil-ph::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.1) 0%,rgba(10,10,10,.9) 100%);z-index:1}
.fil-dk{background:var(--dk);padding:100px 80px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.fil-dk::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 100% 80% at 100% 100%,rgba(232,0,10,.1) 0%,transparent 60%);pointer-events:none;animation:glw 12s ease-in-out infinite alternate}
.fil-ghost{font-size:clamp(56px,7vw,120px);font-weight:900;text-transform:uppercase;letter-spacing:-4px;line-height:.85;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);margin-bottom:56px;position:relative;z-index:1;animation:gp 8s ease-in-out infinite alternate}
@keyframes gp{0%{-webkit-text-stroke-color:rgba(255,255,255,.04)}100%{-webkit-text-stroke-color:rgba(232,0,10,.13)}}
.fil-list{display:flex;flex-direction:column;position:relative;z-index:1}
.fil-it{padding:26px 0;border-bottom:1px solid var(--bd-d);display:flex;align-items:flex-start;gap:20px;transition:padding-left .3s,border-color .3s}
.fil-it:first-child{border-top:1px solid var(--bd-d)}
.fil-it:hover{padding-left:10px;border-color:rgba(232,0,10,.25)}
.fil-it .ar{color:var(--red);font-size:22px;font-weight:900;flex-shrink:0;padding-top:3px;transition:transform .3s}
.fil-it:hover .ar{transform:translateX(5px)}
.fil-it p{font-size:clamp(19px,2vw,28px);font-weight:800;text-transform:uppercase;letter-spacing:-.3px;color:var(--tx-dh)}

/* ═══ DIFERENCIADORES (dark, editorial rows) ═══ */
.diff-row{margin-top:56px}
.diff-row-item{display:grid;grid-template-columns:72px 1fr 220px;gap:32px;align-items:center;padding:28px 0;border-bottom:1px solid var(--bd-d);transition:padding-left .3s,background .25s;cursor:default;position:relative}
.diff-row-item:first-child{border-top:1px solid var(--bd-d)}
.diff-row-item::before{content:'';position:absolute;inset:0;background:rgba(232,0,10,.03);opacity:0;transition:opacity .3s}
.diff-row-item:hover{padding-left:12px}
.diff-row-item:hover::before{opacity:1}
.drn{font-size:10px;font-weight:800;letter-spacing:2.5px;color:var(--red);font-style:italic}
.drt{font-size:clamp(16px,1.5vw,20px);font-weight:800;color:var(--tx-dh);line-height:1.35}
.drd{font-size:13px;color:var(--tx-ds);text-align:right;line-height:1.65}
/* ═══ CLIENTES LOGOS ═══ */
.cli-hero-num{display:block;font-size:clamp(72px,11vw,150px);font-weight:900;line-height:.85;letter-spacing:-6px;color:var(--tx-lh)}
.cli-hero-label{display:block;font-size:clamp(13px,1.2vw,18px);font-weight:800;text-transform:uppercase;letter-spacing:3px;color:var(--tx-ls);margin-top:14px}
.cli-overflow{overflow:hidden;position:relative;margin-top:52px}
.cli-overflow::before,.cli-overflow::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}
.cli-overflow::before{left:0;background:linear-gradient(to right,var(--dk2) 0%,transparent 100%)}
.cli-overflow::after{right:0;background:linear-gradient(to left,var(--dk2) 0%,transparent 100%)}
.cli-track{display:flex;gap:12px;width:max-content;padding:5px 0;animation:mq 55s linear infinite}
.cli-track.rev{animation-duration:70s;animation-direction:reverse;margin-top:12px}
.cli-lcard{padding:22px 40px;background:#fff;border:1px solid rgba(0,0,0,.06);min-width:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:border-color .22s,transform .22s,box-shadow .22s;flex-shrink:0}
.cli-lcard:hover{border-color:rgba(232,0,10,.2);transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,.09)}
.cli-lname{font-size:14px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:rgba(0,0,0,.25);transition:color .22s;white-space:nowrap}
.cli-lcard:hover .cli-lname{color:rgba(0,0,0,.7)}
.cli-lsec{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);opacity:.6}
.cli-lcard--dk{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.cli-lcard--dk:hover{border-color:rgba(232,0,10,.35);box-shadow:0 10px 32px rgba(0,0,0,.3)}
.cli-lcard--dk .cli-lname{color:rgba(255,255,255,.25)}
.cli-lcard--dk:hover .cli-lname{color:rgba(255,255,255,.85)}

/* ═══ LOGOS REALES DE CLIENTES — tarjeta oscura de verdad (los logos son PNG blancos,
   necesitan fondo oscuro real para verse; la sección que los contiene es clara) ═══ */
.cli-logo-card{padding:14px 20px;background:var(--dk);border:1px solid rgba(255,255,255,.06);min-width:190px;height:110px;display:flex;align-items:center;justify-content:center;transition:border-color .22s,transform .22s,box-shadow .22s;flex-shrink:0}
.cli-logo-card:hover{border-color:rgba(232,0,10,.35);transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,.25)}
.cli-logo-img{height:82px;width:auto;max-width:170px;object-fit:contain;opacity:.6;transition:opacity .25s;display:block}
.cli-logo-card:hover .cli-logo-img{opacity:1}
/* legacy pos-card (used nowhere on home anymore, kept for other pages) */
.pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.pos-card{border:1px solid var(--bd-l);padding:72px 64px;background:var(--white);position:relative;box-shadow:0 20px 80px rgba(0,0,0,.07);overflow:hidden;transition:box-shadow .4s,border-color .4s}
.pos-card:hover{box-shadow:0 24px 100px rgba(232,0,10,.1);border-color:rgba(232,0,10,.2)}
.pos-card::before{content:'WE ROCK ES';position:absolute;top:-12px;left:32px;background:var(--lt);padding:0 14px;font-size:10px;font-weight:800;letter-spacing:3px;color:var(--red)}
.pos-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--red),rgba(232,0,10,.3))}
.pos-glow{position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 50% 100%,rgba(232,0,10,.05) 0%,transparent 60%);opacity:0;transition:opacity .4s}
.pos-card:hover .pos-glow{opacity:1}
.pos-def{font-size:clamp(24px,2.8vw,38px);font-weight:900;text-transform:uppercase;line-height:1.2;letter-spacing:-.5px;color:var(--tx-lh);position:relative;z-index:1}
.pos-def span{color:var(--red)}

/* ═══ MODELO ═══ */
.mod-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:rgba(255,255,255,.04);margin-bottom:48px}
.mod-c{background:var(--dk2);padding:60px 54px;position:relative;overflow:hidden;transition:background .35s}
.mod-c::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 0% 100%,rgba(232,0,10,.08) 0%,transparent 60%);opacity:0;transition:opacity .4s}
.mod-c:hover::before{opacity:1}
.mod-c::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--red),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.mod-c:hover::after{transform:scaleX(1)}
.mod-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);border:1px solid var(--bd-r);padding:7px 18px;margin-bottom:30px;background:rgba(232,0,10,.05)}
.mod-c h3{font-size:28px;font-weight:900;text-transform:uppercase;margin-bottom:20px;letter-spacing:-1px;color:var(--tx-dh)}
.mod-c p{font-size:17px;color:var(--tx-db);line-height:1.75;font-weight:400}
.mod-c ul{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.mod-c ul li{font-size:17px;color:var(--tx-db);font-weight:400;display:flex;gap:14px;line-height:1.6}
.mod-c ul li::before{content:'→';color:var(--red);flex-shrink:0}
.mod-eg{font-size:13px;color:rgba(232,0,10,.6);font-weight:700}
.combos{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
/* Dirección Estratégica umbrella */
.sis-umbrella{margin-top:56px;border-top:1px solid rgba(255,255,255,.08);padding-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.sis-umb-left{display:flex;flex-direction:column;gap:16px}
.sis-umb-tags{display:flex;gap:10px;flex-wrap:wrap}
.sis-umb-tag{font-family:'Barlow',sans-serif;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:2px;line-height:1}
.sis-umb-tag.t1{background:rgba(232,0,10,.12);color:rgba(232,0,10,.9);border:1px solid rgba(232,0,10,.22)}
.sis-umb-tag.t2{background:rgba(255,255,255,.05);color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.1)}
.sis-umb-h{font-family:'Barlow',sans-serif;font-size:clamp(22px,2.2vw,30px);font-weight:700;color:#fff;line-height:1.2;margin:0}
.sis-umb-h span{color:var(--red)}
.sis-umb-p{font-family:'Barlow',sans-serif;font-size:15px;color:rgba(255,255,255,.6);line-height:1.7;margin:0}
.sis-umb-right{display:flex;flex-direction:column;gap:20px}
.sis-umb-pts{display:flex;flex-direction:column;gap:12px}
.sis-umb-pt{display:flex;gap:12px;align-items:flex-start}
.sis-umb-pt-dot{width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:7px}
.sis-umb-pt-txt{font-family:'Barlow',sans-serif;font-size:14px;color:rgba(255,255,255,.65);line-height:1.6}
.sis-umb-pt-txt strong{color:rgba(255,255,255,.9);font-weight:600}
.sis-umb-cta{display:inline-flex;align-items:center;gap:8px;font-family:'Barlow',sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--red);text-transform:uppercase;cursor:pointer;border:none;background:none;padding:0;transition:gap .3s}
.sis-umb-cta:hover{gap:14px}
.sis-umb-icon{flex-shrink:0;opacity:.55}
@media(max-width:768px){.sis-umbrella{grid-template-columns:1fr;gap:32px}}
.combo{border:1px solid var(--bd-d);padding:30px 34px;transition:border-color .3s,background .3s,transform .3s;position:relative;overflow:hidden}
.combo::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--red);transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.combo:hover::before{transform:scaleY(1)}
.combo:hover{border-color:rgba(232,0,10,.2);background:rgba(232,0,10,.03);transform:translateX(4px)}
.c-lbl{font-size:14px;color:var(--tx-db);margin-bottom:10px}
.c-sol{font-size:16px;font-weight:800;color:var(--red)}

/* ═══ CTA ═══ */
.s-cta{min-height:85vh;display:flex;align-items:center;justify-content:center}
.cta-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1552664730-d307ca884978?w=1920&q=80') center/cover;filter:brightness(.3) grayscale(20%);animation:bgz 28s ease-in-out infinite alternate;z-index:0}
.cta-ov{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 55%,rgba(232,0,10,.22) 0%,rgba(0,0,0,.82) 65%);z-index:1}
.cta-gb{position:absolute;inset:0;background-image:linear-gradient(rgba(232,0,10,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(232,0,10,.04) 1px,transparent 1px);background-size:70px 70px;animation:gd 20s linear infinite;z-index:1}
.cta-ct{position:relative;z-index:10;text-align:center;padding:60px 64px}
.cta-ey{font-size:12px;font-weight:800;letter-spacing:4px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:28px}
.cta-h{font-size:clamp(32px,4.5vw,76px);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-1.5px;max-width:1100px;margin:0 auto 60px;color:#fff}
.cta-h .r{color:var(--red)}
.s-cta-hero{background:var(--dk);position:relative;overflow:hidden}
.cta-pgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:64px 64px;background-attachment:fixed;animation:gd 28s linear infinite;z-index:0}
.cta-orb-a{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(232,0,10,.12) 0%,transparent 70%);top:-200px;right:-100px;animation:of1 18s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen;z-index:0}
.cta-orb-b{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(232,0,10,.08) 0%,transparent 70%);bottom:60px;left:150px;animation:of2 24s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen;z-index:0}
.cta-rglow{position:absolute;inset:0;background:radial-gradient(ellipse 65% 75% at 50% 50%,rgba(232,0,10,.16) 0%,transparent 68%);z-index:0}

/* ═══ REVIEWS ═══ */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rev-card{background:#141414;border:1px solid var(--bd-d);padding:40px;transition:border-color .3s,transform .3s}
.rev-card:hover{border-color:rgba(232,0,10,.25);transform:translateY(-4px)}
.rev-stars{color:#FFB400;font-size:18px;margin-bottom:16px}
.rev-text{font-size:17px;color:var(--tx-db);line-height:1.8;margin-bottom:20px;font-style:italic}
.rev-author{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--red)}
.rev-summary{display:flex;align-items:center;gap:28px;background:#141414;border:1px solid var(--bd-r);padding:36px 52px;margin-top:48px;flex-wrap:wrap}
.social-proof-section .rev-card{background:#fff;border-color:rgba(0,0,0,.08);padding:28px}
.social-proof-section .rev-card:hover{border-color:rgba(232,0,10,.2);transform:translateY(-3px)}
.social-proof-section .rev-text{color:rgba(0,0,0,.65)}
.social-proof-section .rev-author{color:var(--red)}
.social-proof-section .rev-summary{background:var(--lt2);border-color:rgba(0,0,0,.12)}
.social-proof-section .rev-summary p{color:rgba(0,0,0,.55)}
.social-proof-section .rev-summary p strong{color:rgba(0,0,0,.85)}
.rev-avg{font-size:72px;font-weight:900;color:var(--red);line-height:1}
.rev-info p{font-size:17px;color:var(--tx-db);margin-bottom:8px}
.rev-info strong{color:#fff}

/* ═══ SECTORES ═══ */
.sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.sec-card{background:#141414;padding:52px 44px;position:relative;overflow:hidden;transition:background .35s,transform .3s;border-bottom:3px solid transparent;cursor:default}
.sec-card:hover{background:#1a1a1a;border-bottom-color:var(--red);transform:translateY(-4px)}
.sec-card-ico{width:56px;height:56px;margin-bottom:28px;display:block;position:relative}
.sec-card-ico svg{width:56px;height:56px;overflow:visible}
.sec-card-ico svg path,.sec-card-ico svg rect,.sec-card-ico svg circle,.sec-card-ico svg line,.sec-card-ico svg polyline,.sec-card-ico svg polygon{
  stroke:#E8000A;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:200;stroke-dashoffset:200;
  transition:stroke-dashoffset 1.1s cubic-bezier(.16,1,.3,1),stroke .3s;
}
.sec-card:hover .sec-card-ico svg path,
.sec-card:hover .sec-card-ico svg rect,
.sec-card:hover .sec-card-ico svg circle,
.sec-card:hover .sec-card-ico svg line,
.sec-card:hover .sec-card-ico svg polyline,
.sec-card:hover .sec-card-ico svg polygon{stroke:#FF2A32}
.sec-card-ico.drawn svg path,
.sec-card-ico.drawn svg rect,
.sec-card-ico.drawn svg circle,
.sec-card-ico.drawn svg line,
.sec-card-ico.drawn svg polyline,
.sec-card-ico.drawn svg polygon{stroke-dashoffset:0}
/* Stagger each path inside the icon */
.sec-card-ico svg *:nth-child(2){transition-delay:.1s}
.sec-card-ico svg *:nth-child(3){transition-delay:.2s}
.sec-card-ico svg *:nth-child(4){transition-delay:.3s}
.sec-card-ico svg *:nth-child(5){transition-delay:.4s}
.sec-card h3{font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:-.5px;color:var(--tx-dh);margin-bottom:14px}
.sec-card p{font-size:16px;color:var(--tx-ds);line-height:1.75}

/* ═══ CASOS ═══ */
.casos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.caso-card{border:1px solid var(--bd-d);overflow:hidden;transition:border-color .35s,transform .3s}
.caso-card:hover{border-color:rgba(232,0,10,.3);transform:translateY(-6px)}
.caso-img{height:220px;overflow:hidden;position:relative}
.caso-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.8);transition:transform .7s,filter .5s}
.caso-card:hover .caso-img img{transform:scale(1.07);filter:brightness(.6) saturate(1.1)}
.caso-cat{position:absolute;bottom:16px;left:16px;background:var(--red);color:#fff;font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;padding:6px 14px}
.caso-body{padding:36px 32px;background:var(--dk2)}
.caso-body h3{font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:-.3px;color:var(--tx-dh);margin-bottom:12px}
.caso-body p{font-size:15px;color:var(--tx-ds);line-height:1.7;margin-bottom:20px}
.caso-metrics{display:flex;gap:20px;flex-wrap:wrap}
.metric{text-align:center}
.metric-val{font-size:28px;font-weight:900;color:var(--red);display:block;line-height:1}
.metric-lbl{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--tx-dm)}

/* ═══ ALIANZA ═══ */
.alianza-hero{background:var(--dk);padding:180px 64px 120px;text-align:center;position:relative;overflow:hidden}
.alianza-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(232,0,10,.12) 0%,transparent 70%);pointer-events:none;animation:glw 10s ease-in-out infinite alternate}
.alianza-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:64px 0}
.ali-card{background:var(--dk2);border:1px solid var(--bd-d);padding:52px 44px;transition:border-color .3s,background .3s}
.ali-card:hover{border-color:rgba(232,0,10,.3);background:#141414}
.ali-card-n{font-size:44px;font-weight:900;color:rgba(232,0,10,.15);margin-bottom:16px;letter-spacing:-2px}
.ali-card h3{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--tx-dh);margin-bottom:12px}
.ali-card p{font-size:16px;color:var(--tx-ds);line-height:1.75}

/* ═══ BLOG ═══ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.blog-card{overflow:hidden;border:1px solid var(--bd-d);transition:border-color .3s,transform .3s}
.blog-card:hover{border-color:rgba(232,0,10,.3);transform:translateY(-6px)}
.blog-img{height:200px;overflow:hidden}
.blog-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.75);transition:transform .6s,filter .4s}
.blog-card:hover .blog-img img{transform:scale(1.05);filter:brightness(.6)}
.blog-body{padding:32px 28px;background:var(--dk2)}
.blog-cat{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:14px;display:block}
.blog-body h3{font-size:18px;font-weight:800;letter-spacing:-.2px;color:var(--tx-dh);margin-bottom:10px;line-height:1.35}
.blog-body p{font-size:16px;color:var(--tx-ds);line-height:1.75}
.blog-date{font-size:11px;color:var(--tx-dm);margin-top:16px;font-weight:600}

/* ═══ CONTACTO / DIAGNÓSTICO ═══ */
.diag-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.diag-form{background:var(--dk2);padding:64px;border:1px solid var(--bd-d)}
.diag-form label{display:block;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tx-ds);margin-bottom:10px;margin-top:28px}
.diag-form label:first-of-type{margin-top:0}
.diag-form select,.diag-form input,.diag-form textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--bd-d);color:var(--tx-dh);font-family:var(--F);font-size:15px;padding:16px 20px;transition:border-color .25s}
.diag-form select:focus,.diag-form input:focus,.diag-form textarea:focus{outline:none;border-color:var(--red);background:rgba(232,0,10,.04)}
.diag-form select option{background:var(--dk2)}
.diag-form textarea{min-height:120px;resize:vertical}
.diag-info h2{margin-bottom:28px}
.diag-info p{font-size:17px;color:var(--tx-db);line-height:1.82;margin-bottom:24px}
.diag-list{list-style:none;margin-top:36px}
.diag-list li{padding:18px 0;border-bottom:1px solid var(--bd-d);font-size:16px;color:var(--tx-db);display:flex;gap:14px}
.diag-list li::before{content:'✓';color:var(--red);font-weight:900;flex-shrink:0}

/* ═══ NOSOTROS PAGE ═══ */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.nos-team-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.nos-team-h{font-size:clamp(20px,2.2vw,28px);font-weight:800;color:#fff;line-height:1.3}
.nos-team-h .r{color:var(--red)}
.nos-members-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.nos-member{background:var(--dk2);padding:36px 28px;border-top:3px solid transparent;transition:border-color .3s,transform .3s,box-shadow .6s}
.nos-member:hover{border-color:var(--red);transform:translateY(-4px);box-shadow:0 0 40px rgba(232,0,10,.18),0 0 80px rgba(232,0,10,.08)}
.nos-member--david{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;border-top-color:rgba(232,0,10,.15);background:#0f0f0f;position:relative}
.nos-member--david::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);box-shadow:0 0 18px rgba(232,0,10,.75),0 0 48px rgba(232,0,10,.28);transform:scaleX(0);transform-origin:center;animation:bloomFromCenter 8s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}
@keyframes bloomFromCenter{0%{transform:scaleX(0);opacity:0}10%{opacity:1}42%{transform:scaleX(1);opacity:1}68%{transform:scaleX(1);opacity:1}92%{transform:scaleX(1);opacity:0}100%{transform:scaleX(0);opacity:0}}
.nos-member--david .nos-member-body p{max-width:560px;font-size:15px}
.nos-member-ini{font-size:13px;font-weight:900;letter-spacing:2px;color:var(--red);margin-bottom:20px;font-family:var(--F)}
.nos-member-body h4{font-size:17px;font-weight:900;text-transform:uppercase;color:#fff;margin-bottom:6px}
.nos-member-role{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(232,0,10,.8);display:block;margin-bottom:16px}
.nos-member-body p{font-size:14px;color:var(--tx-ds);line-height:1.7}
.tm-card{background:var(--dk2);overflow:hidden;position:relative;transition:transform .3s}
.tm-card:hover{transform:translateY(-4px)}
.tm-img{height:320px;overflow:hidden}
.tm-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%) brightness(.8);transition:transform .7s,filter .5s}
.tm-card:hover .tm-img img{transform:scale(1.05);filter:grayscale(0%) brightness(.75)}
.tm-body{padding:28px 28px}
.tm-body h4{font-size:18px;font-weight:900;text-transform:uppercase;color:var(--tx-dh);margin-bottom:6px}
.tm-body span{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red)}
.valores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:64px}
.val-card{background:#141414;padding:52px 44px;border-left:3px solid var(--red)}
.val-card h3{font-size:20px;font-weight:900;text-transform:uppercase;color:var(--tx-dh);margin-bottom:14px}
.val-card p{font-size:16px;color:var(--tx-ds);line-height:1.75}

/* ═══ CASO DETALLE ═══ */
.cd-hero{position:relative;overflow:hidden;min-height:92vh;display:flex;align-items:flex-end}
.cd-hero-img{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=1920&q=80') center/cover;animation:bgz 22s ease-in-out infinite alternate;z-index:0}
.cd-hero-ov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.70) 60%,rgba(0,0,0,.92) 100%);z-index:1}
.cd-hero-inner{position:relative;z-index:10;max-width:1380px;margin:0 auto;padding:120px 64px 96px;width:100%}
.cd-breadcrumb{font-size:11px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--tx-dm);margin-bottom:32px;display:flex;gap:10px;align-items:center}
.cd-breadcrumb a{color:var(--tx-dm);text-decoration:none;transition:color .2s}
.cd-breadcrumb a:hover{color:var(--red)}
.cd-breadcrumb span{color:var(--red)}
.cd-tag{display:inline-block;background:var(--red);color:#fff;font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;padding:8px 18px;margin-bottom:24px}
.cd-hero-title{font-size:clamp(32px,4.2vw,68px);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-1.5px;color:#fff;margin-bottom:36px}
.cd-metrics-bar{display:flex;gap:0;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.5);backdrop-filter:blur(20px)}
.cdm{padding:32px 44px;border-right:1px solid rgba(255,255,255,.08);flex:1;text-align:center}
.cdm:last-child{border-right:none}
.cdm-val{font-size:42px;font-weight:900;color:var(--red);line-height:1;display:block}
.cdm-lbl{font-size:10px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--tx-dm);margin-top:6px;display:block}

.cd-body{max-width:1380px;margin:0 auto;padding:0 64px;display:grid;grid-template-columns:1fr 380px;gap:80px;align-items:start}
.cd-main{}
.cd-section{margin-bottom:64px}
.cd-section h2{font-size:clamp(26px,3vw,38px);font-weight:900;text-transform:uppercase;letter-spacing:-1px;color:var(--tx-dh);margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--bd-d);position:relative}
.cd-section h2::after{content:'';position:absolute;bottom:-1px;left:0;width:40px;height:3px;background:var(--red)}
.cd-section p{font-size:17px;font-weight:400;line-height:1.88;color:var(--tx-db);margin-bottom:18px}
.cd-section p:last-child{margin-bottom:0}
.cd-phase{display:flex;gap:24px;padding:28px 0;border-bottom:1px solid var(--bd-d)}
.cd-phase:first-child{border-top:1px solid var(--bd-d)}
.cd-phase-n{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--red);min-width:36px;padding-top:4px}
.cd-phase h4{font-size:18px;font-weight:800;color:var(--tx-dh);margin-bottom:8px}
.cd-phase p{font-size:16px;color:var(--tx-db);line-height:1.75;margin:0}
.cd-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:8px}
.cd-res{background:#141414;border:1px solid var(--bd-d);padding:36px 32px;text-align:center;transition:border-color .3s,transform .3s}
.cd-res:hover{border-color:rgba(232,0,10,.3);transform:translateY(-3px)}
.cd-res-val{font-size:48px;font-weight:900;color:var(--red);line-height:1;display:block}
.cd-res-lbl{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tx-dm);margin-top:8px;display:block}
.cd-quote{border-left:3px solid var(--red);padding:28px 36px;background:#141414;margin:32px 0}
.cd-quote p{font-size:20px;font-weight:400;font-style:italic;color:var(--tx-db);line-height:1.75;margin:0 0 14px}
.cd-quote cite{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--red);font-style:normal}

.cd-sidebar{}
.cd-info-card{background:#141414;border:1px solid var(--bd-d);padding:40px 36px;margin-bottom:24px;position:relative;overflow:hidden}
.cd-info-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--red),rgba(232,0,10,.2))}
.cd-info-card h4{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:22px}
.cd-info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--bd-d);gap:16px}
.cd-info-row:last-of-type{border-bottom:none}
.cd-info-row .k{font-size:12px;font-weight:700;color:var(--tx-dm);text-transform:uppercase;letter-spacing:1.5px;flex-shrink:0}
.cd-info-row .v{font-size:13px;font-weight:600;color:var(--tx-db);text-align:right}

/* ═══ RECURSO DETALLE ═══ */
.rd-hero{position:relative;overflow:hidden;min-height:88vh;display:flex;align-items:flex-end;background:var(--dk2)}
.rd-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 10% 80%,rgba(232,0,10,.14) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 90% 20%,rgba(232,0,10,.07) 0%,transparent 60%);z-index:0}
.rd-hero-inner{position:relative;z-index:10;max-width:900px;margin:0 auto;padding:120px 64px 96px;width:100%}
.rd-meta{display:flex;gap:20px;align-items:center;margin-bottom:32px;flex-wrap:wrap}
.rd-cat{background:var(--red);color:#fff;font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;padding:7px 16px}
.rd-date{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--tx-dm)}
.rd-read{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--tx-dm)}
.rd-hero-title{font-size:clamp(28px,3.8vw,58px);font-weight:900;text-transform:uppercase;line-height:.94;letter-spacing:-1px;color:#fff;margin-bottom:28px}
.rd-intro{font-size:20px;font-weight:400;line-height:1.75;color:var(--tx-db);border-left:3px solid var(--red);padding-left:24px}

.rd-body{max-width:900px;margin:0 auto;padding:80px 64px}
.rd-body h2{font-size:clamp(22px,2.8vw,32px);font-weight:900;text-transform:uppercase;letter-spacing:-1px;color:var(--tx-dh);margin:56px 0 20px;padding-bottom:16px;border-bottom:1px solid var(--bd-d);position:relative}
.rd-body h2::after{content:'';position:absolute;bottom:-1px;left:0;width:36px;height:3px;background:var(--red)}
.rd-body h3{font-size:20px;font-weight:800;color:var(--tx-dh);margin:32px 0 14px}
.rd-body p{font-size:17px;font-weight:400;line-height:1.9;color:var(--tx-db);margin-bottom:20px}
.rd-body ul,.rd-body ol{margin:0 0 24px 0;padding-left:0;list-style:none}
.rd-body li{font-size:16px;color:var(--tx-db);line-height:1.8;padding:8px 0;border-bottom:1px solid var(--bd-d);display:flex;gap:14px}
.rd-body li::before{content:'→';color:var(--red);font-weight:900;flex-shrink:0}
.rd-highlight{background:rgba(232,0,10,.07);border:1px solid rgba(232,0,10,.2);padding:36px 44px;margin:40px 0}
.rd-highlight p{font-size:22px;font-weight:800;color:var(--tx-dh);line-height:1.5;margin:0;text-transform:uppercase;letter-spacing:-.3px}
.rd-highlight p span{color:var(--red)}
.rd-divider{width:52px;height:3px;background:var(--red);margin:48px 0}
.rd-author-bar{display:flex;align-items:center;gap:22px;padding:28px 0;border-top:1px solid var(--bd-d);border-bottom:1px solid var(--bd-d);margin-bottom:48px}
.rd-author-av{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--red),#900);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#fff;flex-shrink:0}
.rd-author-info span{display:block;font-size:13px;font-weight:800;color:var(--tx-dh);letter-spacing:-.2px}
.rd-author-info small{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--tx-dm)}

/* ═══ CATEGORY FILTER ═══ */
.cat-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.cat-btn{background:none;border:1px solid var(--bd-d);color:var(--tx-ds);padding:9px 22px;font-family:var(--F);font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.cat-btn:hover{border-color:rgba(232,0,10,.4);color:var(--tx-db)}
.cat-btn.active{border-color:var(--red);color:var(--red);background:rgba(232,0,10,.08)}
.blog-card.hidden{display:none}
.blog-card{transition:opacity .35s,transform .35s}

/* ═══ PROCESS STEPS ═══ */
.proc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:56px}
.proc-step{background:var(--dk2);padding:52px 40px;position:relative;overflow:hidden;transition:background .3s}
.proc-step:hover{background:#161616}
.proc-step::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--red),rgba(232,0,10,.2));transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.proc-step:hover::before{transform:scaleX(1)}
.proc-num{font-size:80px;font-weight:900;color:rgba(232,0,10,.08);line-height:1;margin-bottom:-8px}
.proc-step h4{font-size:18px;font-weight:900;text-transform:uppercase;color:var(--tx-dh);margin-bottom:12px}
.proc-step p{font-size:16px;color:var(--tx-ds);line-height:1.75}

/* ═══ INNER PAGE HERO ═══ */
.inner-hero{padding:160px 64px 88px;min-height:60vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.inner-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 10% 50%,rgba(232,0,10,.1) 0%,transparent 65%);pointer-events:none;animation:glw 12s ease-in-out infinite alternate}
.ih-ghost{position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-size:clamp(80px,10vw,160px);font-weight:900;text-transform:uppercase;letter-spacing:-6px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.04);pointer-events:none;line-height:1;z-index:0}
.ih-inner{position:relative;z-index:10;max-width:900px}
.ih-inner .slbl{margin-bottom:32px}
.ih-inner h1{font-size:clamp(36px,4.2vw,68px);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-1.5px;color:var(--tx-dh);margin-bottom:28px}
.ih-inner p{font-size:20px;font-weight:400;line-height:1.75;color:var(--tx-db);max-width:640px}
/* Inner hero — light variant */
.inner-hero-lt{background:var(--lt)}
.inner-hero-lt::before{background:radial-gradient(ellipse 60% 80% at 10% 50%,rgba(232,0,10,.06) 0%,transparent 65%)}
.inner-hero-lt::after{background:radial-gradient(ellipse 70% 100% at 50% 100%,rgba(232,0,10,.04),transparent 70%)}
.inner-hero-lt .ih-ghost{-webkit-text-stroke:1px rgba(0,0,0,.04)}
.inner-hero-lt .ih-inner h1{color:var(--dk)}
.inner-hero-lt .ih-inner p{color:#4a4744}
.inner-hero-lt .slbl .tag{color:var(--dk);border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.04)}
.inner-hero-lt .ih-sn{color:var(--red)}
.inner-hero-lt .ih-sl{color:rgba(0,0,0,.45)}
.inner-hero-lt .ih-sdv{background:rgba(0,0,0,.1)}
.inner-hero-lt .ih-stats{border-top-color:rgba(0,0,0,.08)}
.inner-hero-lt .hl-group .r{color:var(--red)}

/* ── inner-hero fondo rojo ── */
.inner-hero-red{background:var(--red)}
.inner-hero-red::before{background:radial-gradient(ellipse 60% 80% at 10% 50%,rgba(0,0,0,.18) 0%,transparent 65%)}
.inner-hero-red::after{background:radial-gradient(ellipse 70% 100% at 50% 100%,rgba(0,0,0,.14),transparent 70%)}
.inner-hero-red .ih-ghost{-webkit-text-stroke:1px rgba(255,255,255,.14)}
.inner-hero-red .ih-inner h1{color:#fff}
.inner-hero-red .ih-inner h1 .r{color:#fff}
.inner-hero-red .ih-inner p{color:rgba(255,255,255,.78)}
.inner-hero-red .sd .tag{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.14)}

/* ═══ LEGAL PAGES ═══ */
.legal-wrap{max-width:860px;margin:0 auto;padding:180px 64px 120px}
.legal-wrap h1{font-size:clamp(28px,3.6vw,56px);font-weight:900;text-transform:uppercase;letter-spacing:-1px;color:var(--tx-dh);margin-bottom:12px}
.legal-wrap .legal-date{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:60px;display:block}
.legal-wrap h2{font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:-.5px;color:var(--tx-dh);margin:48px 0 18px;padding-top:48px;border-top:1px solid var(--bd-d)}
.legal-wrap p{font-size:17px;color:var(--tx-db);line-height:1.85;margin-bottom:18px}
.legal-wrap ul{list-style:none;margin:18px 0 24px}
.legal-wrap ul li{font-size:16px;color:var(--tx-db);line-height:1.75;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04);display:flex;gap:14px}
.legal-wrap ul li::before{content:'→';color:var(--red);flex-shrink:0}
.legal-wrap a{color:var(--red);text-decoration:none}
.legal-wrap a:hover{text-decoration:underline}

/* ═══ FOOTER ═══ */
footer{background:#060606;border-top:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}
footer::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(232,0,10,.05) 0%,transparent 65%);pointer-events:none}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding:80px 64px;max-width:1400px;margin:0 auto;position:relative;z-index:1}
.footer-brand p{font-size:16px;color:var(--tx-ds);line-height:1.8;margin-top:24px;max-width:280px}
.footer-brand .f-tagline{font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-top:20px;display:block}
.footer-col h4{font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--tx-dh);margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--bd-d)}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.footer-col ul li a{font-size:15px;color:var(--tx-ds);text-decoration:none;transition:color .2s}
.footer-col ul li a:hover{color:var(--red)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding:28px 64px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;max-width:1400px;margin:0 auto;position:relative;z-index:1}
.footer-bottom p{font-size:14px;color:var(--tx-ds)}
.footer-bottom-links{display:flex;gap:28px}
.footer-bottom-links a{font-size:14px;color:var(--tx-ds);text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:var(--red)}

/* ═══ BREADCRUMB ═══ */
.breadcrumb{position:relative;z-index:5;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd-d);padding:14px 64px;margin-top:0}
.breadcrumb span{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--tx-dm)}
.breadcrumb span a{color:var(--tx-dm);text-decoration:none;transition:color .2s}
.breadcrumb span a:hover{color:var(--red)}
.breadcrumb span .sep{margin:0 10px;color:rgba(255,255,255,.2)}
.breadcrumb span .cur-page{color:var(--red)}

/* ── RESPONSIVE ── */
@media(min-width:1800px){
  .s-hero{padding:0 80px}
  .hero-inner{max-width:1640px;gap:100px}
  .h-title{font-size:clamp(38px,5vw,96px)}
  .hero-bar{padding:22px 80px;margin-left:-80px;margin-right:-80px}
}
@media(min-width:2200px){
  .s-hero{padding:0 120px}
  .hero-inner{max-width:1960px;gap:120px}
  .h-title{font-size:clamp(38px,5vw,112px)}
  .h-sub{font-size:26px}
  .hero-bar{padding:22px 120px;margin-left:-120px;margin-right:-120px}
}
@media(max-width:1400px){
  .sec-pad{padding:72px 48px}
  .sec-pad-sm{padding:52px 48px}
  .hero-inner{padding:100px 0 80px}
}
@media(max-width:1200px){
  .footer-main{grid-template-columns:1fr 1fr;gap:36px}
  .footer-brand{grid-column:1/-1}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .nos-members-grid{grid-template-columns:repeat(2,1fr)}
  .nos-member--david{align-items:flex-start;text-align:left}
  .proc-steps{grid-template-columns:repeat(2,1fr)}
  .rev-grid{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .casos-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1024px){
  .s-hero{padding:0 28px}
  .hero-inner{grid-template-columns:1fr;gap:36px;padding:100px 0 90px}
  .hero-bar{padding:16px 28px;margin-left:-28px;margin-right:-28px}
  .sec-pad,.sec-pad-sm{padding:60px 28px}
  .inner-hero{padding:120px 28px 64px;min-height:52vh}
  .breadcrumb{padding:14px 28px}
  .prob-grid{grid-template-columns:1fr;gap:56px}
  .q-split,.fil-split{grid-template-columns:1fr}
  .q-ph,.fil-ph{height:min(72vh,600px)}
  .q-vid-panel{display:block;position:relative}
  .q-vid-stage{padding:0;position:absolute;inset:0;justify-content:flex-end}
  .q-peek-viewport{flex:none;width:100%;height:100%;overflow:hidden}
  .q-peek-viewport::before,.q-peek-viewport::after{display:none}
  .q-peek-item,.n-peek-item{opacity:0;pointer-events:none;transition:none}
  .q-peek-item.active,.n-peek-item.active{opacity:1;pointer-events:auto;top:0;left:0;transform:none;width:100%;height:100%}
  .q-peek-item.active::before,.n-peek-item.active::before{display:none}
  .q-vid-frame{width:100% !important;height:100% !important;max-width:none !important;border-radius:0;box-shadow:none !important;transform:none !important;aspect-ratio:unset}
  .q-peek-item.active:hover .q-vid-frame{transform:none !important;box-shadow:none !important}
  .q-vid-nav-btn{display:none}
  .q-vid-counter{top:8px}
  .q-vid-info{display:none}
  .q-ctrl-btn{width:44px;height:44px}
  .q-vid-controls{bottom:72px;left:50%;transform:translateX(-50%);width:auto}
  .q-txt{padding:60px 28px}
  .fil-dk{padding:70px 28px}
  .met-grid{grid-template-columns:repeat(2,1fr)}
  .srv-grid{grid-template-columns:1fr}
  .srv-ico-wrap{padding:36px 28px 16px}
  .srv-body{padding:4px 28px 40px}
  .srv-card .sis-ul{grid-template-columns:1fr}
  .lgrid,.lgrid2{grid-template-columns:repeat(3,1fr)}
  .pos-grid{grid-template-columns:1fr;gap:48px}
  .mod-grid,.combos{grid-template-columns:1fr}
  .diag-wrap{grid-template-columns:1fr}
  .alianza-grid{grid-template-columns:1fr}
  .sec-grid{grid-template-columns:1fr}
  .casos-grid,.rev-grid,.blog-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .proc-steps{grid-template-columns:1fr}
  .valores-grid{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr;padding:60px 28px}
  .footer-bottom{padding:24px 28px;flex-direction:column;text-align:center}
  .legal-wrap{padding:140px 28px 80px}
  .diag-form{padding:40px 28px}
  .cta-ct{padding:40px 28px}
  .ih-ghost{display:none}
  .arch-grid{grid-template-columns:1fr}
  .arch-umbrella{padding:24px 28px}
  .alianza-hero{padding:140px 28px 100px}
  .pos-card{padding:52px 40px}
  .mod-c{padding:48px 36px}
  .ali-card{padding:40px 32px}
  .sec-card{padding:40px 32px}
  .proc-step{padding:44px 32px}
  .rev-card{padding:32px 28px}
  .blog-body{padding:28px 24px}
  .caso-body{padding:28px 24px}
  .mod-c h3{font-size:24px}
  .svc-bottom{grid-template-columns:1fr;gap:16px}
  .cmp-grid{grid-template-columns:1fr;gap:2px}
  .res-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .team-grid{grid-template-columns:1fr}
  .nos-team-wrap{grid-template-columns:1fr;gap:40px}
  .nos-members-grid{grid-template-columns:1fr}
  .met-grid{grid-template-columns:1fr}
  .res-cards{grid-template-columns:1fr}
}
@media(max-width:1024px){
  .cd-body{grid-template-columns:1fr;gap:48px}
  .cd-hero-inner,.rd-hero-inner,.rd-body{padding-left:28px;padding-right:28px}
  .cd-metrics-bar{flex-wrap:wrap}
  .cdm{min-width:50%;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}
  .cd-result-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .cd-result-grid{grid-template-columns:1fr}
  .rd-body{padding-left:20px;padding-right:20px}
}
@media(max-width:1024px){
  .diff-row-item{grid-template-columns:52px 1fr;gap:18px}
  .drd{display:none}
  .cli-overflow::before,.cli-overflow::after{width:50px}
}
@media(max-width:600px){
  .diff-row-item{grid-template-columns:40px 1fr;gap:12px}
  .cli-hero-num{letter-spacing:-3px}
}

/* ═══ WHATSAPP FLOAT ═══ */
.wa-float{position:fixed;bottom:32px;right:32px;z-index:900;display:flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:14px 22px 14px 18px;border-radius:50px;font-family:var(--F);font-size:13px;font-weight:800;letter-spacing:.5px;text-decoration:none;box-shadow:0 8px 32px rgba(37,211,102,.45);transition:transform .25s,box-shadow .3s;animation:wapulse 3s ease-in-out 5s infinite}
.wa-float:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 44px rgba(37,211,102,.6);color:#fff}
.wa-float svg{width:22px;height:22px;flex-shrink:0}
@keyframes wapulse{0%,100%{box-shadow:0 8px 32px rgba(37,211,102,.45)}50%{box-shadow:0 8px 44px rgba(37,211,102,.7),0 0 0 8px rgba(37,211,102,.12)}}
@media(max-width:600px){.wa-float span{display:none}.wa-float{padding:14px;border-radius:50%;bottom:20px;right:20px}}

/* ═══ STICKY CAPTURE BAR ═══ */
.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:800;background:var(--red);padding:14px 64px;display:flex;justify-content:center;align-items:center;gap:24px;transform:translateY(100%);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.sticky-bar.show{transform:translateY(0)}
.sticky-bar p{font-size:14px;font-weight:700;color:#fff;letter-spacing:.2px}
.sticky-bar a.sb-cta{background:#fff;color:var(--red);padding:10px 28px;font-family:var(--F);font-size:12px;font-weight:900;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .2s}
.sticky-bar a.sb-cta:hover{background:rgba(255,255,255,.88)}
.sb-close{background:none;border:none;color:rgba(255,255,255,.65);font-size:22px;cursor:pointer;padding:0 0 0 16px;line-height:1;flex-shrink:0;transition:color .2s}
.sb-close:hover{color:#fff}
@media(max-width:768px){.sticky-bar{padding:12px 20px;flex-wrap:wrap;gap:10px}.sticky-bar p{font-size:12px;text-align:center;width:100%}}

/* ── RESPONSIVE 768px — rango tablet-móvil ── */
@media(max-width:768px){
  /* — Sector bento: 2 columnas — */
  .sector-bento{grid-template-columns:repeat(2,1fr);gap:6px;grid-auto-rows:210px}
  .sb-tile.sb-w2{grid-column:span 1}
  .sb-tile{padding:28px 22px 24px;min-height:180px}
  /* — Phases row — */
  .phases-row{grid-template-columns:1fr;gap:2px}
  .phase-block{padding:40px 24px}
  /* — Métricas editorial — */
  .metrics-ed-grid,.metrics-ed-bottom{grid-template-columns:1fr}
  .med-item,.med-item-sm{border-right:none;border-bottom:1px solid rgba(255,255,255,.07)}
  .med-item:last-child,.med-item-sm:last-child{border-bottom:none}
  /* — Arch grid — */
  .arch-grid{grid-template-columns:1fr}
  /* — Casos/rev/blog grids — */
  .casos-grid{grid-template-columns:1fr}
  /* — Exp split — */
  .exp-split{grid-template-columns:1fr;padding:0 0 40px}
  .exp-claim{padding-right:0;border-right:none;padding-bottom:0}
  .exp-globe-wrap{padding-left:0;margin-top:32px}
  /* — Ind stats — */
  .ind-stats{grid-template-columns:repeat(2,1fr);gap:20px;padding-top:28px;margin-top:32px}
  .ind-stat-item{padding:0;border-right:none;border-bottom:1px solid var(--bd-d);padding-bottom:18px}
  .ind-stat-item:nth-child(3),.ind-stat-item:last-child{border-bottom:none;padding-bottom:0}
  /* — Diff row — */
  .diff-row-item{grid-template-columns:52px 1fr;gap:18px}
  .drd{display:none}
  /* — Nosotros val-card — */
  .valores-grid{grid-template-columns:1fr}
  /* — Search grid — */
  .search-grid{grid-template-columns:1fr 1fr}
  /* — svc-bottom — */
  .svc-bottom{grid-template-columns:1fr;gap:14px}
  /* — cmp-grid — */
  .cmp-grid{grid-template-columns:1fr;gap:2px;margin-top:32px}
  /* — res-cards — */
  .res-cards{grid-template-columns:1fr 1fr}
  /* — Stats inline — */
  .exp-stats-inline{grid-template-columns:repeat(2,1fr);margin-top:32px;padding-top:24px}
  .exp-stats-inline .exp-stat-item{padding:0 16px}
  .exp-stats-inline .exp-stat-item:nth-child(odd){padding-left:0}
  .exp-stats-inline .exp-stat-item:nth-child(2),.exp-stats-inline .exp-stat-item:nth-child(4){border-right:none}
  .exp-stats-inline .exp-stat-item:nth-child(1),.exp-stats-inline .exp-stat-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:18px;margin-bottom:18px}
}

/* ═══ SEARCH INTENT SECTION ═══ */
.search-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:56px}
.search-card{background:var(--dk2);padding:40px 36px;border:1px solid var(--bd-d);position:relative;overflow:hidden;transition:border-color .3s,background .3s,transform .3s}
.search-card:hover{border-color:rgba(232,0,10,.3);background:#141414}
.search-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--red),rgba(232,0,10,.2));transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.search-card:hover::before{transform:scaleX(1)}
.search-q{font-size:13px;font-weight:400;color:var(--tx-dm);margin-bottom:14px;font-style:italic;border-left:2px solid rgba(232,0,10,.3);padding-left:12px}
.search-ans{font-size:18px;font-weight:900;color:var(--tx-dh);letter-spacing:-.3px;margin-bottom:10px;text-transform:uppercase}
.search-desc{font-size:16px;color:var(--tx-db);line-height:1.75;margin-bottom:14px}
.search-tag{font-size:10px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--red)}
@media(max-width:1024px){.search-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.search-grid{grid-template-columns:1fr}}

/* ═══ FAQ ACCORDION ═══ */
.faq-list{max-width:860px;margin:52px auto 0}
.faq-item{border-bottom:1px solid var(--bd-d)}
.faq-item:first-child{border-top:1px solid var(--bd-d)}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:26px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:24px;font-family:var(--F)}
.faq-q-text{font-size:18px;font-weight:800;color:var(--tx-dh);letter-spacing:-.2px;line-height:1.3}
.faq-icon{width:32px;height:32px;border:1.5px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .25s,transform .35s,color .25s;color:var(--tx-ds);font-size:20px;font-weight:300;line-height:1}
.faq-item.open .faq-icon{border-color:var(--red);color:var(--red);transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .48s cubic-bezier(.16,1,.3,1)}
.faq-item.open .faq-a{max-height:500px}
.faq-a-inner{padding-bottom:28px;font-size:18px;color:var(--tx-db);line-height:1.82}

/* ═══ TRUST STRIP ═══ */
.trust-strip{display:flex;justify-content:center;align-items:center;gap:44px;flex-wrap:wrap;padding:28px 0;border-top:1px solid var(--bd-d);border-bottom:1px solid var(--bd-d);margin-top:44px}
.trust-it{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tx-dm)}
.trust-val{font-size:28px;font-weight:900;color:var(--red);line-height:1}
@media(max-width:768px){.trust-strip{gap:24px}.trust-val{font-size:22px}}

/* ═══ LOGO IMAGEN (secciones claras) ═══ */
.logo-img-light{height:44px;width:auto;display:block}

/* ═══ A — ARCH-CARD ICONS (SVG auto-dibujados) ═══ */
.arch-ico{width:108px;height:108px;display:block;margin:0 auto 32px;position:relative;flex-shrink:0}
.arch-ico::after{content:'';position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(circle,rgba(232,0,10,.2) 0%,transparent 70%);opacity:0;transition:opacity .45s;pointer-events:none}
.arch-card:hover .arch-ico::after{opacity:1}
.arch-ico svg{width:108px;height:108px;display:block;overflow:visible;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.arch-card:hover .arch-ico svg{transform:scale(1.12)}
.arch-ico:not(.arch-ico-srv) svg *{stroke:rgba(232,0,10,.6);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:320;stroke-dashoffset:320;transition:stroke-dashoffset 1.3s cubic-bezier(.16,1,.3,1),stroke .3s}
.arch-ico:not(.arch-ico-srv) svg *:nth-child(2){transition-delay:.08s}
.arch-ico:not(.arch-ico-srv) svg *:nth-child(3){transition-delay:.15s}
.arch-ico:not(.arch-ico-srv) svg *:nth-child(4){transition-delay:.21s}
.arch-ico:not(.arch-ico-srv) svg *:nth-child(5){transition-delay:.26s}
.arch-ico:not(.arch-ico-srv) svg *:nth-child(6){transition-delay:.30s}
.arch-ico:not(.arch-ico-srv) svg *:nth-child(7){transition-delay:.34s}
.arch-ico.drawn:not(.arch-ico-srv) svg *{stroke-dashoffset:0}
.arch-card:hover .arch-ico:not(.arch-ico-srv) svg *{stroke:rgba(232,0,10,1);transition-duration:.25s}
/* ── iconos srv en arch-card (home) ── */
.arch-ico.arch-ico-srv{display:flex;align-items:center;justify-content:center}
.arch-ico.arch-ico-srv .srv-ico{width:100%;height:100%}
.arch-card:hover .b3{transform:scaleY(1.15)}
.arch-card:hover .b2{transform:scaleY(1.1);transition-delay:.07s}
.arch-card:hover .b1{transform:scaleY(1.06);transition-delay:.14s}
.arch-card:hover .srv-tdot{animation:srvTdotPulse .9s ease-in-out infinite}
.arch-card:hover .l3{transform:translateY(-5px)}
.arch-card:hover .l2{transform:translateY(-3px);transition-delay:.07s}
.arch-card:hover .l1{transform:translateY(-1px);transition-delay:.14s}
.arch-card:hover .srv-adot{animation:srvAdotGlow 1.2s ease-in-out infinite}
.arch-card:hover .f1{opacity:1;stroke-width:1.5}
.arch-card:hover .f2{opacity:1;stroke-width:1.5;transition-delay:.07s}
.arch-card:hover .f3{opacity:1;stroke-width:1.5;transition-delay:.14s}
.arch-card:hover .srv-odot{animation:srvOdotPulse 1s ease-in-out infinite}

/* ═══ B — HERO BADGE (sello circular rotatorio) ═══ */
.hero-badge{position:absolute;right:72px;bottom:130px;width:130px;height:130px;z-index:10;opacity:0;animation:su .9s ease 1.1s forwards;pointer-events:none}
.hero-badge-spin{animation:badgeSpin 24s linear infinite;transform-origin:65px 65px}
@keyframes badgeSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:1280px){.hero-badge{right:32px;width:112px;height:112px;bottom:110px}}
@media(max-width:1024px){.hero-badge{display:none}}

/* ═══ C — PULSE RINGS (sec-red) ═══ */
.pulse-rings{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:600px;height:600px;pointer-events:none;z-index:0}
.pr{fill:none;stroke:var(--red);transform-box:fill-box;transform-origin:center}
.pr1{animation:prPulse 4.2s ease-out infinite}
.pr2{animation:prPulse 4.2s ease-out 1.4s infinite}
.pr3{animation:prPulse 4.2s ease-out 2.8s infinite}
@keyframes prPulse{0%{transform:scale(.08);stroke-width:2.5;opacity:.32}100%{transform:scale(1);stroke-width:.3;opacity:0}}

/* ═══ D — MC ICONS (metodología, 8 pasos) ═══ */
.mc-ico{width:36px;height:36px;display:block;margin-bottom:14px}
.mc-ico svg{width:36px;height:36px;display:block;overflow:visible}
.mc-ico svg *{stroke:rgba(232,0,10,.58);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:220;stroke-dashoffset:220;transition:stroke-dashoffset 1s cubic-bezier(.16,1,.3,1),stroke .3s}
.mc-ico svg *:nth-child(2){transition-delay:.07s}
.mc-ico svg *:nth-child(3){transition-delay:.13s}
.mc-ico svg *:nth-child(4){transition-delay:.18s}
.mc-ico svg *:nth-child(5){transition-delay:.22s}
.mc-ico.drawn svg *{stroke-dashoffset:0}
.mc:hover .mc-ico svg *{stroke:rgba(232,0,10,.95);transition-duration:.3s}

/* ═══ PROBLEMA — MOMENTO 1 ═══ */
.sec-red{background:#060001;position:relative}
.prob-drama{text-align:center;overflow:hidden}
.prob-drama-bg{position:absolute;inset:0;pointer-events:none}
/* Top accent line */
.sec-red::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(232,0,10,.7) 22%,rgba(232,0,10,.7) 78%,transparent);z-index:3;pointer-events:none}
/* Vignette + grain en sec-red */
.sec-red .prob-drama-bg{background:radial-gradient(ellipse 90% 95% at 50% 55%,rgba(210,0,8,.52) 0%,rgba(175,0,7,.22) 38%,rgba(80,0,4,.07) 60%,transparent 74%),radial-gradient(ellipse 90% 55% at 6% 96%,rgba(165,0,6,.22) 0%,transparent 56%),radial-gradient(ellipse 65% 45% at 94% 4%,rgba(130,0,5,.13) 0%,transparent 52%)}
.sec-red .prob-drama-bg::after{content:'';position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;animation:grainFlip 1.4s steps(1) infinite}
@keyframes grainFlip{0%{background-position:0 0}12%{background-position:-22px -18px}25%{background-position:14px 28px}37%{background-position:-32px 8px}50%{background-position:18px -22px}62%{background-position:-8px 36px}75%{background-position:28px -12px}87%{background-position:-18px 22px}100%{background-position:0 0}}
/* Mouse spotlight */
.sec-red.prob-drama::before{content:'';position:absolute;inset:0;background:radial-gradient(circle 600px at var(--mx,50%) var(--my,120%),rgba(232,10,10,.38) 0%,transparent 68%);pointer-events:none;z-index:0;transition:background .08s linear}
/* Stagger entrance — override rv default en sec-red */
.sec-red .rv{opacity:1!important;transform:none!important;transition:none!important}
.sec-red .rv .slbl,.sec-red .rv .prob-statement,.sec-red .rv .prob-divider,.sec-red .rv .prob-verdict,.sec-red .rv .prob-sub{opacity:0}
.sec-red .rv.in .slbl{animation:rdFadeUp .65s cubic-bezier(.16,1,.3,1) .05s forwards}
.sec-red .rv.in .prob-statement{animation:rdFadeUp .95s cubic-bezier(.16,1,.3,1) .28s forwards}
.sec-red .rv.in .prob-divider{animation:rdGrow .9s cubic-bezier(.16,1,.3,1) .88s forwards}
.sec-red .rv.in .prob-verdict{animation:rdStamp .75s cubic-bezier(.16,1,.3,1) 1.1s forwards}
.sec-red .rv.in .prob-sub{animation:rdFadeUp .8s cubic-bezier(.16,1,.3,1) 1.45s forwards}
@keyframes rdFadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes rdGrow{from{height:0;opacity:0;margin-bottom:0}to{height:72px;opacity:1;margin-bottom:52px}}
@keyframes rdStamp{from{opacity:0;transform:scale(1.06) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
.prob-statement{font-size:clamp(18px,2vw,26px);font-weight:400;color:var(--tx-db);line-height:1.85;max-width:820px;margin:0 auto 52px;position:relative;z-index:1;font-style:italic;border-left:none}
.prob-statement::before{content:'\201C';font-size:120px;font-weight:900;color:rgba(232,0,10,.08);position:absolute;top:-32px;left:-20px;line-height:1;font-style:normal}
.sec-red .prob-statement{color:rgba(255,255,255,.92)}
.sec-red .prob-statement::before{color:rgba(255,255,255,.1)}
.prob-verdict{font-size:clamp(32px,4.5vw,72px);font-weight:900;text-transform:uppercase;letter-spacing:-2px;color:#fff;line-height:.92;max-width:900px;margin:0 auto 20px;position:relative;z-index:1}
.prob-verdict span{color:var(--red)}
.sec-red .prob-verdict{color:#fff}
.sec-red .prob-verdict span{color:rgba(232,0,10,.82);font-style:italic}
.prob-sub{font-size:clamp(15px,1.6vw,19px);color:var(--tx-ds);max-width:620px;margin:0 auto;line-height:1.8;position:relative;z-index:1}
.sec-red .prob-sub{color:rgba(255,255,255,.7)}
.prob-divider{width:1px;height:72px;background:linear-gradient(to bottom,transparent,rgba(232,0,10,.6),transparent);margin:0 auto 52px;position:relative;z-index:1;overflow:hidden}
.sec-red .prob-divider{background:linear-gradient(to bottom,transparent,rgba(232,0,10,.85),transparent)}
.sec-red .sd .tag{color:var(--red);background:rgba(232,0,10,.12);border-color:rgba(232,0,10,.38)}

/* ═══ SECCIÓN SISTEMAS — FONDO ═══ */
.s-sistemas-bg{
  background-color:#111111;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:80px 80px;
  position:relative;
  --sx:50%;
  --sy:50%;
}
/* Vignette */
.s-sistemas-bg::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 75% 75% at 50% 50%, transparent 25%, #111111 100%);
  pointer-events:none;
  z-index:0;
}
/* Cursor spotlight */
.s-sistemas-bg::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(600px circle at var(--sx) var(--sy), rgba(232,0,10,.11) 0%, rgba(232,0,10,.04) 40%, transparent 70%);
  pointer-events:none;
  z-index:0;
  transition:background .08s ease;
}
.s-sistemas-bg .sec-inner{position:relative;z-index:1}

/* ═══ ARQUITECTURA — MOMENTO 2 ═══ */
.arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:56px}
.arch-card{background:var(--dk2);padding:52px 44px;position:relative;overflow:hidden;border:1px solid var(--bd-d);border-top:3px solid transparent;transition:border-color .35s,background .35s,border-top-color .35s}
.arch-card:hover{border-color:rgba(232,0,10,.25);background:#141414;border-top-color:var(--red)}
.arch-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 70% at 0% 100%,rgba(232,0,10,.07) 0%,transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.arch-card:hover::before{opacity:1}
.arch-n{font-size:100px;font-weight:900;color:rgba(232,0,10,.07);line-height:1;margin-bottom:-10px;letter-spacing:-4px}
.arch-tag{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:16px;text-align:center}
.arch-h{font-size:clamp(18px,2vw,24px);font-weight:900;text-transform:uppercase;letter-spacing:-.5px;color:var(--tx-dh);margin-bottom:14px;line-height:1.15;text-align:center}
.arch-desc{font-size:17px;color:var(--tx-db);line-height:1.75;margin-bottom:28px}
.arch-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:32px;border-top:1px solid var(--bd-d);padding-top:22px}
.arch-list li{font-size:15px;color:var(--tx-ds);display:flex;gap:10px;align-items:flex-start;line-height:1.55}
.arch-list li::before{content:'→';color:rgba(232,0,10,.5);flex-shrink:0;font-weight:700}
.arch-link{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--red);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .25s,opacity .25s}
.arch-link:hover{gap:12px}
.arch-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:32px;border-top:1px solid var(--bd-d);padding-top:22px}
.arch-pill{font-size:11px;font-weight:700;letter-spacing:.4px;color:var(--tx-ds);border:1px solid var(--bd-d);padding:7px 14px;transition:border-color .25s,color .25s,background .25s,transform .2s,box-shadow .25s;cursor:default;line-height:1;display:inline-block}
.arch-card:hover .arch-pill{border-color:rgba(232,0,10,.22)}
.arch-pill:hover{border-color:rgba(232,0,10,.7)!important;color:var(--red);background:rgba(232,0,10,.07);transform:scale(1.07);box-shadow:0 2px 12px rgba(232,0,10,.12)}
.arch-umbrella{background:rgba(232,0,10,.05);border:1px solid rgba(232,0,10,.18);border-top:2px solid var(--red);padding:52px 64px;text-align:center;margin-top:3px}
.arch-umbrella-label{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:16px}
.arch-umbrella-text{font-size:18px;color:var(--tx-db);line-height:1.75;max-width:640px;margin:0 auto 32px}
.arch-umbrella-note{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:11px 28px;display:inline-block;transition:background .25s,color .25s,transform .2s,box-shadow .25s}
.arch-umbrella-note:hover{background:var(--red);color:#fff;transform:translateY(-2px);box-shadow:0 12px 36px rgba(232,0,10,.35)}
.arch-umbrella-title{font-size:clamp(22px,2.5vw,34px);font-weight:900;text-transform:uppercase;letter-spacing:-1px;color:#fff;margin-bottom:16px;line-height:1}

/* ═══ INNER-HERO — H1 STAGGER ═══ */
.hl-group{display:flex;flex-direction:column;gap:.04em;margin-bottom:24px}
/* .hl / .hlIn ya están definidos — los spans heredan font-size del h1 */
.inner-hero .hl{transform:translateY(36px) skewY(1.5deg)}

/* ═══ INNER-HERO — glow inferior ═══ */
.inner-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:radial-gradient(ellipse 70% 100% at 50% 100%,rgba(232,0,10,.06),transparent 70%);pointer-events:none}

/* ═══ SERVICE COMPONENTS — editorial list ═══ */
.svc-section-head{max-width:660px;margin-bottom:56px}
.svc-list{border-top:1px solid var(--bd-d)}
.svc-item{display:grid;grid-template-columns:52px 1fr 20px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--bd-d);transition:padding-left .3s,border-color .3s;cursor:default}
.svc-item:hover{padding-left:10px;border-color:rgba(232,0,10,.4)}
.svc-item:hover .svc-arr{opacity:1;transform:translateX(0)}
.svc-n{font-size:10px;font-weight:800;letter-spacing:2.5px;color:var(--red);font-style:italic;align-self:start;padding-top:4px}
.svc-name{font-size:clamp(17px,1.6vw,20px);font-weight:800;color:var(--tx-dh);line-height:1.15;margin-bottom:7px}
.svc-desc{font-size:14px;color:var(--tx-ds);line-height:1.7}
.svc-arr{font-size:12px;color:var(--red);opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .3s;align-self:start;padding-top:6px}
.svc-bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}

/* ═══ SERVICE PAGES — INNER-HERO STATS ═══ */
.ih-stats{display:flex;align-items:center;margin-top:44px;padding-top:36px;border-top:1px solid var(--bd-d);flex-wrap:wrap;gap:0}
.ih-st{display:flex;flex-direction:column;gap:5px;padding:0 36px}
.ih-st:first-child{padding-left:0}
.ih-sn{font-size:clamp(26px,3vw,40px);font-weight:900;color:#fff;letter-spacing:-1px;line-height:1}
.ih-sl{font-size:11px;color:var(--tx-ds);font-weight:600;letter-spacing:.5px;text-transform:uppercase}
.ih-sdv{width:1px;height:44px;background:var(--bd-d);flex-shrink:0}

/* ═══ CHECK / QUALIFY LIST ═══ */
.check-list{display:flex;flex-direction:column;gap:10px;margin-top:32px}
.ck-item{display:grid;grid-template-columns:18px 1fr;gap:16px;align-items:start;padding:18px 22px;border:1px solid var(--bd-d);background:rgba(255,255,255,.02);transition:border-color .3s,background .3s,transform .3s}
.ck-item:hover{border-color:rgba(232,0,10,.3);background:rgba(232,0,10,.04);transform:translateX(4px)}
.ck-ic{color:var(--red);font-weight:900;font-size:13px;margin-top:3px;line-height:1}
.ck-item p{font-size:15px;color:var(--tx-ds);line-height:1.65;margin:0}

/* ═══ RESULTS CARDS ═══ */
.res-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:56px}
.res-card{background:var(--dk2);border:1px solid var(--bd-d);border-top:2px solid var(--red);padding:40px 32px;transition:background .3s}
.res-card:hover{background:#141414}
.res-num{font-size:clamp(40px,4.5vw,62px);font-weight:900;color:#fff;letter-spacing:-3px;line-height:.9;display:block;margin-bottom:12px}
.res-lbl{font-size:11px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--red)}
.res-ctx{font-size:14px;color:var(--tx-ds);margin-top:16px;line-height:1.7;border-top:1px solid var(--bd-d);padding-top:16px}

/* ═══ COMPARISON GRID ═══ */
.cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:52px}
.cmp-col{padding:44px 40px}
.cmp-col-a{background:var(--dk2);border:1px solid var(--bd-d)}
.cmp-col-b{background:rgba(232,0,10,.06);border:1px solid rgba(232,0,10,.25);border-top:2px solid var(--red)}
.cmp-head{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--tx-ds);margin-bottom:24px;display:block}
.cmp-col-b .cmp-head{color:var(--red)}
.cmp-title{font-size:clamp(18px,1.6vw,22px);font-weight:800;color:var(--tx-dh);margin-bottom:8px;line-height:1.2}
.cmp-col-b .cmp-title{color:#fff}
.cmp-sub{font-size:13px;color:var(--tx-ds);margin-bottom:28px;line-height:1.55}
.cmp-row-item{padding:12px 0;border-bottom:1px solid var(--bd-d);font-size:14px;color:var(--tx-db);line-height:1.55;display:flex;gap:12px;align-items:flex-start}
.cmp-row-item:last-child{border-bottom:none}
.cmp-row-item span{color:var(--tx-dm);flex-shrink:0;font-weight:700;width:18px}
.cmp-col-b .cmp-row-item span{color:var(--red)}

/* ═══ DIRECCIÓN INCLUIDA STRIP (rojo) ═══ */
.incl-strip{background:var(--red);padding:48px 0;position:relative;overflow:hidden}
.incl-strip::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(0,0,0,.15),transparent 70%);pointer-events:none}
.incl-strip-inner{max-width:860px;margin:0 auto;padding:0 40px;text-align:center;position:relative;z-index:1}
.incl-strip-label{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.6);display:block;margin-bottom:14px}
.incl-strip-text{font-size:clamp(18px,2vw,26px);font-weight:700;color:#fff;line-height:1.4}
.incl-strip-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.8);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3px;transition:color .25s,border-color .25s}
.incl-strip-link:hover{color:#fff;border-color:rgba(255,255,255,.9)}

/* ════════════════════════════════════════
   TABLET — max-width:768px additions
   ════════════════════════════════════════ */
@media(max-width:768px){
  /* — ind-sec: reglas movidas a después de la definición base — */
  /* — val-card: reduce padding en tablet — */
  .val-card{padding:36px 24px}
  /* — sis-umbrella body text — */
  .sis-umbrella{padding-top:36px;margin-top:40px}
  /* — arch-grid: cascade fix (base defined after earlier media queries) — */
  .arch-grid{grid-template-columns:1fr}
  .arch-card{padding:36px 24px}
  /* — res-cards: cascade fix — */
  .res-cards{grid-template-columns:1fr 1fr;gap:2px}
}

/* ════════════════════════════════════════
   MOBILE AUDIT COMPLETO — max-width:600px
   ════════════════════════════════════════ */
@media(max-width:600px){

  /* — Padding base — */
  .sec-pad{padding:64px 20px}
  .sec-pad-sm{padding:48px 20px}
  .inner-hero{padding:90px 20px 48px;min-height:44vh}
  .legal-wrap{padding:100px 20px 60px}
  .s-hero{padding:0 16px}

  /* — Hero H1 & copy — */
  .hero-inner{padding:80px 0 48px}
  .h-eyebrow{margin-bottom:20px}
  .h-sub{font-size:18px;line-height:1.6}
  .h-desc{font-size:14px;padding-left:16px;margin-bottom:32px}
  .h-btns{flex-direction:column;gap:10px}
  .h-btns .btn-r,.h-btns .btn-od{width:100%;text-align:center;padding:16px 24px;box-sizing:border-box}

  /* — Hero bar: convierte en 2×2 grid — */
  .hero-bar{flex-wrap:wrap;padding:0;gap:0;margin-left:-16px;margin-right:-16px}
  .hbs{width:50%;min-width:50%;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left}
  .hbdv,.hbsc{display:none}
  .hbn{font-size:22px}
  .hbl{font-size:9px;letter-spacing:1.5px}

  /* — Section titles — */
  .st{letter-spacing:-1px;padding-bottom:18px}

  /* — Body text base — */
  .bd,.bl{font-size:17px;line-height:1.75}
  .bd{color:var(--tx-db)}

  /* — Buttons generales — */
  .btn-r,.btn-od,.btn-ol{padding:15px 28px}

  /* — Arch cards — */
  .arch-grid{grid-template-columns:1fr}
  .arch-card{padding:32px 20px}
  .arch-umbrella{padding:24px 20px;flex-direction:column;align-items:flex-start}
  .arch-n{font-size:70px}
  /* — Problema / quote card — */
  .q-card{padding:32px 22px}
  .q-p{font-size:18px}
  .pp h4{font-size:18px}
  .pp p{font-size:16px}
  .pp{gap:18px;padding:24px 0}

  /* — Quiénes — */
  .q-txt{padding:40px 20px}
  .q-badge{bottom:20px;left:20px;font-size:10px;padding:10px 16px}
  .q-award-strip{gap:16px;padding-top:20px}
  .q-award-left{flex-direction:column;align-items:flex-start;gap:14px;padding-left:16px}
  .q-award-logo-wrap{padding:10px 14px}
  .q-award-logo-wrap img{height:40px}
  .q-award-name{font-size:14px}
  .q-award-cta-row{width:100%;text-align:center}

  /* — Metodología — */
  .mc{padding:28px 20px}
  .mc h4{font-size:16px}
  .mc p{font-size:15px}
  .met-q{padding:28px 20px}
  .met-badge{margin-top:16px}

  /* — Sistemas — */
  .srv-ico-wrap{padding:28px 20px 14px}
  .srv-body{padding:4px 20px 32px}

  /* — Logos grid: 3→2 columnas — */
  .lgrid,.lgrid2{grid-template-columns:repeat(2,1fr)}
  .lc{padding:28px 16px}
  .lp{font-size:18px}

  /* — Filosofía — */
  .fil-ghost{display:none}
  .fil-dk{padding:48px 20px}
  .fil-it p{font-size:17px}

  /* — Posicionamiento — */
  .pos-card{padding:36px 22px}
  .pos-def{font-size:clamp(20px,5vw,30px)}
  .diff-list li{font-size:16px;gap:12px}

  /* — Modelo — */
  .mod-c{padding:32px 20px}
  .mod-c h3{font-size:24px;letter-spacing:-.5px}
  .mod-c ul li{font-size:16px}
  .combo{padding:20px 18px}

  /* — CTA sección — */
  .cta-ct{padding:40px 20px}
  .s-cta{min-height:70vh}

  /* — Reviews — */
  .rev-summary{padding:24px 20px;gap:14px;flex-direction:column;align-items:flex-start}
  .rev-avg{font-size:48px}
  .rev-card{padding:28px 20px}
  .rev-text{font-size:16px}

  /* — Sectores — */
  .sec-card{padding:32px 20px}
  .sec-card h3{font-size:18px}

  /* — Casos — */
  .caso-body{padding:24px 20px}
  .caso-body h3{font-size:17px}
  .caso-img{height:180px}
  .metric-val{font-size:22px}

  /* — Alianza — */
  .alianza-hero{padding:110px 20px 64px}
  .ali-card{padding:32px 20px}
  .ali-card h3{font-size:16px}
  .ali-card-n{font-size:36px}

  /* — Blog — */
  .blog-body{padding:24px 20px}
  .blog-body h3{font-size:16px}
  .blog-img{height:180px}

  /* — Contacto / Form — */
  .diag-form{padding:28px 20px}
  .diag-form label{font-size:10px;letter-spacing:1.5px}
  .diag-form select,.diag-form input,.diag-form textarea{font-size:16px;padding:14px 16px} /* 16px evita zoom en iOS */
  .diag-list li{font-size:15px;gap:10px}
  .diag-info p{font-size:16px}

  /* — Process steps — */
  .proc-step{padding:32px 20px}
  .proc-num{font-size:60px}
  .proc-step h4{font-size:16px}

  /* — Search cards — */
  .search-card{padding:26px 18px}
  .search-ans{font-size:16px}

  /* — FAQ — */
  .faq-q-text{font-size:16px}
  .faq-a-inner{font-size:16px}
  .faq-list{margin-top:32px}

  /* — Trust strip — */
  .trust-strip{flex-direction:column;align-items:flex-start;gap:14px}
  .trust-it{gap:8px}
  .trust-val{font-size:24px}

  /* — Caso detalle — */
  .cdm{min-width:100%;padding:20px 20px;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
  .cd-res-val{font-size:36px}
  .cd-quote{padding:22px 20px}
  .cd-quote p{font-size:17px}
  .cd-section p{font-size:16px}
  .cd-info-card{padding:28px 20px}
  .cd-phase{gap:16px;padding:22px 0}
  .cd-phase h4{font-size:16px}
  .cd-body{padding:0 0 60px}

  /* — Recurso detalle — */
  .rd-highlight{padding:24px 20px}
  .rd-highlight p{font-size:18px}
  .rd-body{padding:52px 20px}
  .rd-intro{font-size:17px;padding-left:18px}
  .rd-body p{font-size:16px}
  .rd-body li{font-size:15px}

  /* — Inner heroes — */
  .ih-inner p{font-size:17px}

  /* — Footer — */
  .footer-main{padding:48px 20px;gap:32px}
  .footer-bottom{padding:20px;gap:10px}
  .footer-bottom-links{flex-wrap:wrap;gap:16px;justify-content:center}
  .footer-col ul{gap:8px}

  /* — Legal — */
  .legal-wrap h2{font-size:20px}
  .legal-wrap p,.legal-wrap ul li{font-size:15px}

  /* — Breadcrumb — */
  .breadcrumb{padding:12px 20px}

  /* — Sticky bar — */
  .sticky-bar p{font-size:11px}
  .sticky-bar a.sb-cta{font-size:10px;padding:9px 18px;letter-spacing:1.5px}

  /* — Marquee — */
  .mq-it{font-size:10px;letter-spacing:2px;gap:18px;padding:0 18px}

  /* — Servicio: svc-list editorial rows — */
  .svc-item{grid-template-columns:36px 1fr 16px;gap:14px;padding:20px 0}
  .svc-name{font-size:16px}
  .svc-desc{font-size:13px}
  .svc-n{font-size:9px}
  .svc-section-head{margin-bottom:36px}
  .svc-bottom{grid-template-columns:1fr;gap:16px;margin-top:32px}

  /* — Inner hero stats row — */
  .ih-stats{gap:0;padding-top:24px;margin-top:28px}
  .ih-st{padding:0 16px 0 0}
  .ih-sdv{width:1px;height:28px;margin:0 16px}
  .ih-sn{font-size:20px}
  .ih-sl{font-size:9px}

  /* — Check list (Para quién es) — */
  .check-list{margin-top:20px;gap:8px}
  .ck-item{padding:14px 16px;gap:12px}
  .ck-item p{font-size:14px}

  /* — Results cards — */
  .res-cards{grid-template-columns:1fr;gap:2px;margin-top:32px}
  .res-card{padding:28px 20px}

  /* — Comparison grid — */
  .cmp-grid{grid-template-columns:1fr;gap:2px;margin-top:32px}
  .cmp-col{padding:28px 20px}

  /* — Incl strip — */
  .incl-strip{padding:36px 0}
  .incl-strip-inner{padding:0 20px}
  .incl-strip-text{font-size:18px}

  /* — HL group (inner hero H1 stagger) — */
  .hl-group{gap:.03em;margin-bottom:20px}

}

/* ════════════════════════
   EXTRA SMALL — 420px
   ════════════════════════ */
@media(max-width:420px){
  .sec-pad{padding:56px 16px}
  .sec-pad-sm{padding:44px 16px}
  .hero-inner{padding:72px 0 40px}
  .hbn{font-size:20px}
  .hbl{font-size:9px}
  .inner-hero{padding:80px 16px 40px;min-height:38vh}
  .diag-form{padding:24px 16px}
  .footer-main{padding:40px 16px}
  .alianza-hero{padding:100px 16px 56px}
  .legal-wrap{padding:90px 16px 52px}
  /* — Bento: 1 col en pantallas muy pequeñas — */
  .sector-bento{grid-template-columns:1fr;grid-auto-rows:200px}
  .sb-tile.sb-w2{grid-column:span 1}
  /* — val-card — */
  .val-card{padding:28px 20px}
}

/* ═══ TRUST BAR (reemplaza marquee) ═══ */
.trust-bar{background:var(--dk2);border-top:1px solid var(--bd-r);border-bottom:1px solid var(--bd-r);padding:15px 64px;position:relative;z-index:2}
.trust-bar-inner{max-width:1380px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.tb-item{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--tx-dm);white-space:nowrap;padding:5px 24px}
.tb-val{color:var(--red);font-weight:900}
.tb-sep{color:var(--red);font-size:10px;opacity:.5;flex-shrink:0;align-self:center}
@media(max-width:768px){.trust-bar{padding:14px 24px}.tb-item{font-size:10px;padding:5px 14px}}
@media(max-width:520px){.tb-sep:nth-child(n+8){display:none}.tb-item:nth-child(n+9){display:none}}

/* ═══ PAIN SECTION — preguntas del dolor ═══ */
.pain-qs{display:flex;flex-direction:column;gap:0;max-width:800px;margin:0 auto 56px}
.pain-q{font-size:clamp(17px,2vw,24px);font-weight:600;color:rgba(255,255,255,.65);padding:24px 0;border-bottom:1px solid rgba(255,255,255,.09);letter-spacing:-.2px;line-height:1.45;transition:color .3s;display:flex;align-items:baseline;gap:18px}
.pain-q:first-child{border-top:1px solid rgba(255,255,255,.09)}
.pain-q:hover{color:rgba(255,255,255,.9)}
.pain-arr{color:var(--red);font-weight:900;font-size:18px;flex-shrink:0;line-height:1}
.pain-reveal{text-align:center;margin-top:64px}
.pain-reveal-label{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.25);display:block;margin-bottom:20px}
.pain-reveal-stmt{font-size:clamp(28px,4vw,58px);font-weight:900;text-transform:uppercase;letter-spacing:-2px;line-height:.95;color:#fff}
.pain-reveal-stmt span{color:var(--red)}
.pain-reveal-sub{font-size:18px;font-weight:400;color:rgba(255,255,255,.5);margin-top:24px;line-height:1.7;max-width:560px;margin-left:auto;margin-right:auto}
@media(max-width:768px){.pain-q{font-size:16px;padding:20px 0}.pain-reveal-stmt{letter-spacing:-1px}}

/* ═══ EXP SPLIT — sección roja experiencia ═══ */
.exp-split{display:grid;grid-template-columns:44fr 56fr;gap:0;align-items:start;padding:0 0 72px}
.exp-claim{padding-right:72px;border-right:1px solid rgba(255,255,255,.1)}
.exp-claim-stmt{font-size:clamp(36px,5vw,72px);font-weight:900;text-transform:uppercase;letter-spacing:-3px;line-height:.92;color:#fff;margin-bottom:28px}
.exp-claim-sub{font-size:15px;color:rgba(255,255,255,.5);line-height:1.8}
@media(min-width:1400px){.exp-claim-sub{font-size:16px}}
@media(max-width:1100px) and (min-width:961px){.sector-bento{grid-template-columns:repeat(3,1fr);gap:8px}.sb-tile.sb-w2{grid-column:span 1}}
.exp-globe-wrap{display:block;padding-left:56px;position:relative}
/* ── TU INDUSTRIA — SECCIÓN ── */
.ind-sec{position:relative;overflow:hidden}
.ind-sec::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.06) 1px,transparent 1px);background-size:30px 30px;pointer-events:none;z-index:0}
.ind-sec::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 8% 50%,rgba(232,0,10,.03) 0%,transparent 65%);pointer-events:none;z-index:0}
.ind-sec .sec-inner{position:relative;z-index:1;max-width:1380px;padding-left:48px;padding-right:48px}
@media(max-width:768px){
  .ind-sec .sec-inner{padding-left:0;padding-right:0}
  .ind-sec.sec-pad{padding-left:8px;padding-right:8px}
  .ind-sec .ind-hd{padding-left:12px;padding-right:12px}
}
.ind-sec .ind-hd{max-width:640px;margin:0 auto}
.ind-hd{text-align:center;max-width:640px;margin:0 auto}
.ind-hd-p{font-size:17px;color:var(--tx-db);line-height:1.82;margin-top:20px}
.ind-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;padding-top:44px;border-top:1px solid var(--bd-d)}
.ind-stat-item{display:flex;flex-direction:column;gap:6px;padding:0 36px;border-right:1px solid var(--bd-d)}
.ind-stat-item:first-child{padding-left:0}
.ind-stat-item:last-child{border-right:none}
/* ── SECTOR BENTO ── */
.sector-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:10px;width:100%}
.sb-tile{position:relative;overflow:hidden;background-color:#0D0D0D;border:1px solid rgba(255,255,255,.08);padding:28px 24px 24px;min-height:164px;display:flex;flex-direction:column;cursor:default;transition:border-color .4s;border-radius:4px}
.sb-tile.sb-w2{grid-column:span 2}
/* Imagen de fondo */
.sb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.sb-tile:hover .sb-bg{transform:scale(1.07)}
/* Overlay: gradiente lineal oscuro abajo (texto) + oscuro arriba (icono) */
.sb-tile::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse 260px 200px at var(--mx,50%) var(--my,200%),rgba(232,0,10,.22),transparent 70%),
    radial-gradient(circle at 92% 8%, rgba(10,10,10,.55) 0%, transparent 55%),
    linear-gradient(to top, rgba(10,10,10,.92) 0%, rgba(10,10,10,.55) 45%, rgba(10,10,10,.25) 100%);
  transition:background .1s
}
.sb-tile:hover{border-color:rgba(232,0,10,.3)}
.sb-tile:hover::before{
  background:
    radial-gradient(ellipse 260px 200px at var(--mx,50%) var(--my,200%),rgba(232,0,10,.28),transparent 70%),
    radial-gradient(circle at 92% 8%, rgba(0,0,0,.88) 0%, transparent 52%),
    linear-gradient(to top, rgba(10,10,10,.88) 0%, rgba(10,10,10,.42) 45%, rgba(10,10,10,.15) 100%)
}
/* Línea roja inferior al hover */
.sb-tile::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--red),rgba(232,0,10,.2));transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:3}
.sb-tile:hover::after{transform:scaleX(1)}
/* Contenido */
.sb-idx{font-size:10px;font-weight:800;letter-spacing:2.5px;color:rgba(255,255,255,.65);font-family:var(--F);position:relative;z-index:2}
.sb-name{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.4px;line-height:1.15;font-family:var(--F);margin-top:auto;padding-top:12px;transition:color .25s;position:relative;z-index:2}
.sb-tile:hover .sb-name{color:#fff}
.sb-name em{font-style:normal;color:rgba(255,255,255,.7);font-weight:600;font-size:16px;display:block;margin-top:4px}
.sb-detail{font-size:16px;color:rgba(255,255,255,0);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1) .05s,color .32s ease .05s,margin-top .32s ease .05s;margin-top:0;font-weight:400;position:relative;z-index:2}
.sb-tile:hover .sb-detail{color:rgba(255,255,255,.85);max-height:150px;margin-top:12px}
.sb-ico{position:absolute;top:22px;right:22px;width:38px;height:38px;opacity:.7;transition:opacity .38s ease,transform .42s cubic-bezier(.16,1,.3,1),filter .38s ease;z-index:2}
.sb-ico svg{width:38px;height:38px;stroke:#fff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block;transition:stroke .3s}
.sb-tile:hover .sb-ico{opacity:1;transform:scale(1.2);filter:drop-shadow(0 0 6px rgba(232,0,10,1)) drop-shadow(0 0 18px rgba(232,0,10,.6))}
.sb-tile:hover .sb-ico svg{stroke:var(--red-h)}
.sb-tile--gear:hover .sb-ico{transform:scale(1.15) rotate(40deg)}
.ind-cta{text-align:center;margin-top:52px}
@keyframes sbIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.sector-bento.in .sb-tile{animation:sbIn .55s cubic-bezier(.16,1,.3,1) both}
.sector-bento.in .sb-tile:nth-child(1){animation-delay:.04s}
.sector-bento.in .sb-tile:nth-child(2){animation-delay:.10s}
.sector-bento.in .sb-tile:nth-child(3){animation-delay:.16s}
.sector-bento.in .sb-tile:nth-child(4){animation-delay:.22s}
.sector-bento.in .sb-tile:nth-child(5){animation-delay:.28s}
.sector-bento.in .sb-tile:nth-child(6){animation-delay:.34s}
.sector-bento.in .sb-tile:nth-child(7){animation-delay:.40s}
.sector-bento.in .sb-tile:nth-child(8){animation-delay:.46s}
.sector-bento.in .sb-tile:nth-child(9){animation-delay:.52s}
.exp-stats-bar{display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding-top:48px;margin-top:0}
.exp-stat-item{display:flex;flex-direction:column;gap:5px;padding:0 40px;flex:1}
.exp-stat-item:first-child{padding-left:0}
.exp-stat-val{font-size:clamp(20px,2.4vw,34px);font-weight:900;color:#fff;letter-spacing:-1px;line-height:1}
.exp-stat-lbl{font-size:10px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.exp-stat-div{width:1px;height:44px;background:rgba(255,255,255,.1);flex-shrink:0}
.sec-red .exp-globe-wrap{opacity:0}
.sec-red .exp-globe-wrap.rv.in{animation:rdFadeUp 1s cubic-bezier(.16,1,.3,1) .3s forwards}
.exp-globe-hint{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:18px;font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.32);animation:hintAppear 1s ease 2.8s both;pointer-events:none}
.exp-globe-hint-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.5);animation:hintPulse 1.9s ease-in-out infinite}
.exp-globe-wrap:hover .exp-globe-hint{opacity:0;transition:opacity .4s}
@keyframes hintAppear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes hintPulse{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}
.exp-stats-inline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;padding-top:36px;border-top:1px solid rgba(255,255,255,.1)}
.exp-stats-inline .exp-stat-item{padding:0 24px;border-right:1px solid rgba(255,255,255,.08)}
.exp-stats-inline .exp-stat-item:first-child{padding-left:0}
.exp-stats-inline .exp-stat-item:last-child{border-right:none}
.sec-red .exp-claim-stmt,.sec-red .exp-claim-sub,.sec-red .exp-cta{opacity:0}
.sec-red .exp-claim.rv.in .exp-claim-stmt{animation:rdFadeUp .85s cubic-bezier(.16,1,.3,1) .15s forwards}
.sec-red .exp-claim.rv.in .exp-claim-sub{animation:rdFadeUp .85s cubic-bezier(.16,1,.3,1) .35s forwards}
.sec-red .exp-claim.rv.in .exp-cta{animation:rdFadeUp .85s cubic-bezier(.16,1,.3,1) .55s forwards}
.sec-red .exp-stats-bar.rv.in{animation:rdFadeUp .9s cubic-bezier(.16,1,.3,1) .65s forwards}
.sec-red .exp-stats-bar{opacity:0}
@media(max-width:960px){
  .exp-split{grid-template-columns:1fr;padding:0 0 52px}
  .exp-claim{padding-right:0;border-right:none;padding-bottom:0}
  .exp-globe-wrap{padding-left:0;margin-top:40px}
  .sector-bento{grid-template-columns:repeat(2,1fr);gap:6px;grid-auto-rows:210px}
  .sb-tile.sb-w2{grid-column:span 1}
  .sb-tile{padding:28px 22px 24px;min-height:180px}
  .sb-name{font-size:15px}
  .sb-detail{font-size:13px}
  .ind-hd{max-width:100%}
  .ind-stats{grid-template-columns:repeat(2,1fr);gap:24px;padding-top:32px;margin-top:36px}
  .ind-stat-item{padding:0;border-right:none;border-bottom:1px solid var(--bd-d);padding-bottom:20px}
  .ind-stat-item:nth-child(3),.ind-stat-item:last-child{border-bottom:none;padding-bottom:0}
  .exp-stats-inline{grid-template-columns:repeat(2,1fr);margin-top:36px;padding-top:28px}
  .exp-stats-inline .exp-stat-item{padding:0 16px}
  .exp-stats-inline .exp-stat-item:nth-child(odd){padding-left:0}
  .exp-stats-inline .exp-stat-item:nth-child(2),.exp-stats-inline .exp-stat-item:nth-child(4){border-right:none}
  .exp-stats-inline .exp-stat-item:nth-child(1),.exp-stats-inline .exp-stat-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:20px;margin-bottom:20px}
}

/* ═══ 3 FASES — reemplaza grid 8 en home ═══ */
.phases-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:52px}
.phase-block{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);padding:52px 44px;position:relative;overflow:hidden;transition:background .35s,border-color .4s}
.phase-block::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--red),rgba(232,0,10,.25));transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.phase-block:hover{background:rgba(232,0,10,.04);border-color:rgba(232,0,10,.18)}
.phase-block:hover::after{transform:scaleX(1)}
.phase-ghost{font-size:96px;font-weight:900;color:rgba(232,0,10,.06);line-height:1;letter-spacing:-4px;margin-bottom:20px;display:block;transition:color .3s}
.phase-block:hover .phase-ghost{color:rgba(232,0,10,.12)}
.phase-tag{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:14px}
.phase-block h3{font-size:clamp(18px,1.8vw,26px);font-weight:900;text-transform:uppercase;letter-spacing:-.5px;color:var(--tx-dh);margin-bottom:14px;line-height:1.1}
.phase-block p{font-size:15px;color:var(--tx-db);line-height:1.78;font-weight:400}
.phase-result{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07);font-size:12px;font-weight:800;color:var(--red);letter-spacing:1px;text-transform:uppercase}
@media(max-width:900px){.phases-row{grid-template-columns:1fr;gap:2px}.phase-block{padding:40px 32px}}

/* ═══ MÉTRICAS EDITORIAL — big numbers ═══ */
.metrics-editorial{padding:130px 64px;background:var(--dk)}
.metrics-ed-inner{max-width:1380px;margin:0 auto}
.metrics-ed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(255,255,255,.07)}
.med-item{padding:64px 52px;border-right:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden;transition:background .35s}
.med-item:last-child{border-right:none}
.med-item::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.med-item:hover::before{transform:scaleX(1)}
.med-item:hover{background:rgba(232,0,10,.03)}
.med-sector{font-size:10px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--tx-dm);margin-bottom:24px;display:block}
.med-num{font-size:clamp(60px,8vw,108px);font-weight:900;color:#fff;line-height:.88;letter-spacing:-4px;margin-bottom:14px;display:block}
.med-label{font-size:14px;font-weight:700;color:var(--tx-db);display:block;letter-spacing:.3px;margin-bottom:18px}
.med-ctx{font-size:13px;color:var(--tx-dm);line-height:1.75;border-left:2px solid rgba(232,0,10,.25);padding-left:16px}
.metrics-ed-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(255,255,255,.07);border-top:none}
.med-item-sm{padding:44px 52px;border-right:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden;transition:background .35s}
.med-item-sm:last-child{border-right:none}
.med-item-sm::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.med-item-sm:hover::before{transform:scaleX(1)}
.med-item-sm:hover{background:rgba(232,0,10,.03)}
.med-num-sm{font-size:clamp(40px,5vw,68px);font-weight:900;color:#fff;line-height:.88;letter-spacing:-3px;margin-bottom:10px;display:block}
@media(max-width:960px){
  .metrics-editorial{padding:80px 24px}
  .metrics-ed-grid,.metrics-ed-bottom{grid-template-columns:1fr}
  .med-item,.med-item-sm{border-right:none;border-bottom:1px solid rgba(255,255,255,.07)}
  .med-item:last-child,.med-item-sm:last-child{border-bottom:none}
}
@media(max-width:600px){.med-item{padding:40px 24px}.med-item-sm{padding:32px 24px}.med-num{letter-spacing:-3px}}

/* ═══ VIDEO INTRO HEADER ═══ */
.vid-intro-header{background:var(--lt);padding:80px 64px 0;text-align:center}
.vid-intro-header-inner{max-width:680px;margin:0 auto}
.vid-intro-eyebrow{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:20px;opacity:.8}
.vid-intro-header p{font-size:clamp(17px,1.8vw,22px);font-weight:400;line-height:1.8;color:var(--tx-lb)}
.vid-intro-header strong{color:var(--tx-lh);font-weight:800}
@media(max-width:768px){.vid-intro-header{padding:56px 24px 0}}


/* ═══ PREFERS-REDUCED-MOTION: fallback para TODO elemento que arranca oculto ═══
   Cualquier clase con opacity:0 inicial que depende de una animación/transición
   para llegar a su estado visible debe tener aquí su contraparte visible,
   o queda invisible para siempre en navegadores/SO con "reducir movimiento". */
@media (prefers-reduced-motion: reduce) {
  .rv,.rv-l,.rv-r,
  .h-eyebrow,.hl,.h-right,.hero-bar,.hero-badge,
  .word-reveal .wr-word,
  .drawer-link,
  .sec-red .rv .slbl,.sec-red .rv .prob-statement,.sec-red .rv .prob-verdict,.sec-red .rv .prob-sub,
  .sec-red .exp-globe-wrap,.sec-red .exp-claim-stmt,.sec-red .exp-claim-sub,.sec-red .exp-cta,.sec-red .exp-stats-bar {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
  .sec-red .rv .prob-divider {
    height: 72px !important;
    margin-bottom: 52px !important;
    opacity: 1 !important;
    animation: none !important;
  }
  .sec-red .rv { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ═══ LEGAL PAGES — spacing (bloques nativos de Gutenberg, Privacidad/Términos) ═══ */
.legal-top-spacing{margin-top:60px}
.legal-back-row{margin-top:60px;padding-top:40px;border-top:1px solid var(--bd-d)}

/* ═══ HALCONBOT — showcase de producto (página Conversión Comercial) ═══ */
.hb-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.hb-video{border-radius:6px;overflow:hidden;box-shadow:0 30px 80px -24px rgba(10,14,31,.45);background:#0a0e1f;line-height:0}
.hb-video video{width:100%;height:auto;display:block}
.hb-logo{height:32px;width:auto;margin:18px 0 20px;display:block}
.hb-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px;padding:22px 0;border-top:1px solid var(--bd-l);border-bottom:1px solid var(--bd-l)}
.hb-stat{display:flex;flex-direction:column;gap:4px}
.hb-stat-n{font-size:22px;font-weight:800;color:var(--tx-lh);letter-spacing:-.5px}
.hb-stat-l{font-size:12px;color:var(--tx-ls);text-transform:uppercase;letter-spacing:.5px}
.hb-list{margin-top:24px;display:flex;flex-direction:column;gap:12px}
.hb-list li{list-style:none;position:relative;padding-left:26px;font-size:15px;line-height:1.6;color:var(--tx-lb)}
.hb-list li::before{content:'';position:absolute;left:0;top:8px;width:14px;height:2px;background:var(--red)}
@media(max-width:900px){
  .hb-split{grid-template-columns:1fr;gap:36px}
  .hb-stats{gap:20px}
}

/* ═══ Sub-servicio: links dentro de listas svc-name / sis-ul (heredan color, no azul de navegador) ═══ */
.svc-name a,.sis-ul li a{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .25s,color .25s}
.svc-name a:hover,.sis-ul li a:hover{color:var(--red);background-size:100% 1px}

/* ═══ VIEW TRANSITIONS — cruce suave al navegar entre páginas (nativo del navegador,
   sin JS, se activa solo en Chrome/Edge 126+ vía <meta name="view-transition"> en
   functions.php; en navegadores sin soporte simplemente no pasa nada, sigue siendo
   una navegación normal) ═══ */
::view-transition-old(root),
::view-transition-new(root){
  animation-duration: .45s;
  animation-timing-function: cubic-bezier(.16,1,.3,1);
}
@media (prefers-reduced-motion: reduce){
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*){
    animation: none !important;
  }
}

/* ═══ LOGOS REALES — grid de la página Clientes (fondo ya oscuro, logo va directo) ═══ */
.lp-img{height:68px;width:auto;max-width:180px;object-fit:contain;opacity:.6;transition:opacity .3s}
.lc:hover .lp-img{opacity:1}

/* ═══ FAQ (Home) — textura propia + costura visible hacia el CTA final, para
   que ambas secciones oscuras consecutivas no se sientan como "una sola cosa" ═══ */
.faq-section-tex{position:relative;overflow:hidden}
.faq-section-tex::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;pointer-events:none;z-index:0}
.faq-section-tex::after{content:'';position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(to bottom,transparent,rgba(232,0,10,.05));pointer-events:none;z-index:0}
.faq-section-tex .sec-inner{position:relative;z-index:1}
.faq-more{display:inline-flex;align-items:center;gap:8px;color:var(--tx-ds);font-size:14px;text-decoration:none;transition:color .25s}
.faq-more:hover{color:var(--red)}
