/* ==========================================================================
   Negocio Vivo · páginas interiores (se carga después de landing.css)
   ========================================================================== */
.rv{transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.rv.pre{opacity:0;transform:translateY(26px)}
@media (prefers-reduced-motion:reduce){.rv.pre{opacity:1;transform:none}.rv{transition:none}}
.pg main{display:block}
.pg .site{padding-top:0}

/* ---------- cabecera ---------- */
.snav{position:fixed;top:10px;left:50%;z-index:70;width:min(1260px,calc(100% - 20px));transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px 7px 7px 20px;border-radius:999px;background:rgba(14,13,12,.74);border:1px solid var(--line-2);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:0 24px 48px -28px rgba(0,0,0,.9);transition:background .4s,box-shadow .4s}
.snav.is-sc{background:rgba(10,10,10,.9)}
.snav .logo{margin-right:auto}
.snav .logo img.wm{height:17px}
.sn-links{display:flex;align-items:center;gap:2px}
.sn-links>a,.sn-dd>button{display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border:0;border-radius:999px;background:none;color:rgba(245,242,236,.86);font:500 .93rem/1 var(--sans);letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:background .25s,color .25s}
.sn-links>a:hover,.sn-dd>button:hover,.sn-dd.open>button{background:rgba(255,255,255,.08);color:#fff}
.sn-links>a[aria-current="page"],.sn-dd.cur>button{color:var(--gold)}
.sn-dd{position:relative}
.sn-dd>button svg{width:12px;height:12px;transition:transform .35s var(--ease)}
.sn-dd.open>button svg{transform:rotate(180deg)}
.sn-mega{position:absolute;left:50%;top:calc(100% + 14px);width:min(780px,92vw);padding:12px;border-radius:26px;background:#100F0E;border:1px solid var(--line-2);box-shadow:0 40px 80px -30px #000;opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .3s,transform .45s var(--ease),visibility 0s .3s}
.sn-mega::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.sn-dd.open .sn-mega{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .3s,transform .45s var(--ease),visibility 0s}
.sn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.sn-it{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding:12px;border-radius:16px;text-decoration:none;color:var(--text);transition:background .25s}
.sn-it:hover,.sn-it[aria-current="page"]{background:rgba(255,255,255,.06)}
.sn-it i{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:radial-gradient(circle at 30% 20%,rgba(255,197,61,.3),rgba(224,160,8,.08));border:1px solid rgba(224,160,8,.3);color:var(--gold);transition:transform .45s var(--ease)}
.sn-it:hover i{transform:rotate(-8deg) scale(1.06)}
.sn-it i svg{width:20px;height:20px}
.sn-it b{font-weight:600;font-size:.96rem;letter-spacing:-.015em}
.sn-it small{font-size:.8rem;color:var(--dim);line-height:1.35}
.sn-all{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:14px 16px;border-radius:16px;background:linear-gradient(90deg,rgba(224,160,8,.16),rgba(224,160,8,.04));color:var(--text);text-decoration:none;font-weight:600;font-size:.92rem}
.sn-all span{color:var(--dim);font-weight:400;font-size:.84rem}
.sn-all svg{width:16px;height:16px;color:var(--gold);transition:transform .4s var(--ease)}
.sn-all:hover svg{transform:translateX(4px)}
.sn-r{display:flex;align-items:center;gap:6px;margin-left:8px}
.sn-tel{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;font-family:var(--mono);font-size:.84rem;color:rgba(245,242,236,.9);text-decoration:none;transition:background .25s}
.sn-tel:hover{background:rgba(255,255,255,.08)}
.sn-tel svg{width:15px;height:15px;color:var(--gold)}
.sn-r .btn{min-height:44px;padding:0 18px;font-size:.9rem}
.sn-burger{display:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--gold);color:var(--ink);cursor:pointer;place-items:center}
.sn-burger span{position:relative;display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:background .3s}
.sn-burger span::before,.sn-burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .4s var(--ease)}
.sn-burger span::before{transform:translateY(-6px)}.sn-burger span::after{transform:translateY(6px)}
.menu-open .sn-burger span{background:transparent}
.menu-open .sn-burger span::before{transform:rotate(45deg)}.menu-open .sn-burger span::after{transform:rotate(-45deg)}
.sn-mob{position:fixed;inset:0;z-index:69;display:flex;flex-direction:column;gap:18px;padding:96px 20px calc(110px + env(safe-area-inset-bottom,0px));overflow-y:auto;background:radial-gradient(90% 50% at 50% 0%,rgba(224,160,8,.16),transparent 70%),#09090A;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.menu-open .sn-mob{opacity:1;visibility:visible;transition:opacity .35s,visibility 0s}
.menu-open{overflow:hidden}
.sn-mob .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.sn-mob-s{display:grid;gap:6px}
.sn-mob-s a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:500}
.sn-mob-s a i{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:rgba(224,160,8,.12);color:var(--gold)}
.sn-mob-s a i svg{width:17px;height:17px}
.sn-mob-s a[aria-current="page"]{border-color:rgba(224,160,8,.55)}
.sn-mob-m{display:grid;gap:2px}
.sn-mob-m a{padding:10px 2px;font-size:1.7rem;font-weight:500;letter-spacing:-.04em;color:var(--text);text-decoration:none}
.sn-mob-m a[aria-current="page"]{color:var(--gold)}
@media (max-width:1080px){.sn-tel span{display:none}}
@media (max-width:980px){.sn-links,.sn-tel{display:none}.sn-burger{display:grid}.sn-r .btn{display:none}.snav{padding:6px 6px 6px 18px}}
@media (max-width:760px){.sn-r{margin-left:0}}

/* ---------- hero de servicio ---------- */
.sh{padding:var(--pad)}
.sh-in{--mx:70%;--my:30%;position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-xl);min-height:min(100svh,960px);display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.16fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(120px,12vw,160px) clamp(20px,4.4vw,70px) clamp(40px,5vw,70px);background:radial-gradient(620px 520px at var(--mx) var(--my),rgba(224,160,8,.26),transparent 70%),radial-gradient(90% 70% at 10% 110%,rgba(184,90,18,.32),transparent 60%),#0B0A09}
.sh-in::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask:radial-gradient(70% 70% at 60% 40%,#000,transparent 75%);mask:radial-gradient(70% 70% at 60% 40%,#000,transparent 75%)}
.sh-in::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.sh-t{display:grid;gap:22px;justify-items:start;min-width:0}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.crumb a{color:var(--dim);text-decoration:none;transition:color .2s}.crumb a:hover{color:var(--gold)}
.crumb i{font-style:normal;opacity:.5}
.crumb span{color:var(--text)}
.sh h1{font-weight:500;font-size:clamp(2.7rem,5.5vw,5.6rem);line-height:.98;letter-spacing:-.052em;text-wrap:balance}
.sh h1 .it{display:inline;font-size:1.06em;letter-spacing:-.025em}
.sh-lead{max-width:50ch;font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.55;color:rgba(245,242,236,.8)}
.sh-cta{display:flex;flex-wrap:wrap;gap:10px}
.sh-cta .btn-ghost svg{width:16px;height:16px;color:var(--gold)}
.sh-ok{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.9rem;color:rgba(245,242,236,.82)}
.sh-ok li{display:inline-flex;align-items:center;gap:8px}
.sh-ok svg{width:16px;height:16px;color:var(--gold)}
.sh-vis{position:relative;height:clamp(440px,44vw,600px);min-width:0}
.sh-vis>.p-vis{position:absolute;inset:0;height:auto;border-radius:24px;border-color:rgba(255,255,255,.14);background:rgba(10,10,10,.55);box-shadow:0 60px 90px -50px #000}
.sh-vis::before{content:"";position:absolute;inset:-1px;z-index:1;border-radius:25px;pointer-events:none;background:linear-gradient(140deg,rgba(255,210,122,.55),transparent 30%,transparent 70%,rgba(224,160,8,.4));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px}
.sh-badge{position:absolute;z-index:3;right:26px;bottom:-22px;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:18px;background:#F5F2EC;color:#0C0C0D;font-size:.82rem;line-height:1.25;box-shadow:0 30px 50px -24px rgba(0,0,0,.8);animation:shFloat 6s ease-in-out infinite}
.sh-badge i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--gold);color:#0C0C0D}
.sh-badge i svg{width:19px;height:19px}
.sh-badge b{display:block;font-size:.92rem}
@keyframes shFloat{50%{transform:translateY(-8px)}}
.vis-gpt{height:clamp(480px,46vw,620px)}
.vis-soc{height:clamp(520px,46vw,640px)}
.vis-mac{height:clamp(380px,38vw,520px)}
.vis-rev{height:clamp(380px,36vw,480px)}
.vis-rev>.p-vis{display:grid;place-items:center;padding:20px}
.vis-aip{height:clamp(480px,42vw,560px)}
@media (max-width:980px){
  .sh-in{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:118px}
  .sh-vis{height:470px}
  .vis-gpt{height:500px}.vis-soc{height:540px}.vis-mac{height:320px}.vis-rev{height:auto;min-height:330px}.vis-rev>.p-vis{position:relative;inset:auto}.vis-aip{height:540px}
  .sh-badge{right:14px;bottom:-18px}
}
@media (max-width:560px){.sh h1{font-size:clamp(2.3rem,10.4vw,3rem)}.sh-cta .btn{flex:1 1 auto}.sh-badge{display:none}}

/* ---------- secciones ---------- */
.sx{padding-block:clamp(80px,9vw,140px)}
.sx.light{padding-inline:0}
.sx-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 60px;margin-bottom:clamp(34px,4vw,56px)}
.sx-head>div{display:grid;gap:16px;max-width:780px}
.sx-c{text-align:center;justify-content:center}
.sx-c>div{justify-items:center}

/* logos */
.lgs{padding:clamp(40px,5vw,60px) 0 10px}
.lgs .brands{width:min(100%,820px);margin:0 auto;align-self:auto}

/* problema -> solución */
.pains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pain{position:relative;display:grid;align-content:start;gap:14px;padding:clamp(22px,2.4vw,32px);border-radius:28px;background:#F7F5F1;border:1px solid rgba(12,12,13,.06);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.pain:hover{transform:translateY(-6px);box-shadow:0 40px 60px -40px rgba(12,12,13,.35)}
.pain .x{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:6px 12px 6px 6px;border-radius:999px;background:#0C0C0D;color:#F5F2EC;font-size:.74rem;font-weight:600}
.pain .x i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#FF4B36}
.pain .x i svg{width:10px;height:10px}
.pain h3{font-weight:600;font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.15;letter-spacing:-.03em}
.pain>p{color:var(--dim);font-size:.96rem}
.pain .fix{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:6px;padding-top:16px;border-top:1px dashed rgba(12,12,13,.16);font-size:.95rem;font-weight:500;color:#0C0C0D}
.pain .fix i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#0C0C0D}
.pain .fix i svg{width:13px;height:13px}

/* qué incluye */
.incs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.inc{--mx:50%;--my:0%;position:relative;overflow:hidden;display:grid;align-content:start;gap:12px;padding:clamp(22px,2.4vw,30px);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);transition:transform .6s var(--ease),border-color .4s}
.inc::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(320px 240px at var(--mx) var(--my),rgba(224,160,8,.2),transparent 70%);transition:opacity .4s}
.inc:hover{transform:translateY(-6px);border-color:rgba(224,160,8,.45)}
.inc:hover::before{opacity:1}
.inc .ic{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:radial-gradient(circle at 30% 20%,rgba(255,197,61,.35),rgba(224,160,8,.08));border:1px solid rgba(224,160,8,.35);color:var(--gold);transition:transform .6s var(--ease)}
.inc:hover .ic{transform:rotate(-8deg) scale(1.08)}
.inc .ic svg{width:24px;height:24px}
.inc h3{font-weight:600;font-size:1.18rem;letter-spacing:-.025em}
.inc p{color:var(--dim);font-size:.95rem}
.inc .n{position:absolute;right:20px;top:16px;font-family:var(--serif);font-style:italic;font-size:1.4rem;color:rgba(224,160,8,.5)}

/* proceso */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:st}
.steps::before{content:"";position:absolute;left:4%;right:4%;top:46px;height:2px;background:linear-gradient(90deg,var(--gold) var(--p,0%),rgba(12,12,13,.1) var(--p,0%))}
.step{position:relative;display:grid;align-content:start;gap:10px;padding:0 4px}
.step .num{position:relative;z-index:1;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:#fff;border:1px solid rgba(12,12,13,.1);font-family:var(--serif);font-style:italic;font-size:2.4rem;color:var(--gold);box-shadow:0 20px 40px -26px rgba(12,12,13,.4);transition:background .5s,color .5s,transform .6s var(--ease)}
.step.on .num{background:#0C0C0D;color:#FFD27A;transform:scale(1.05)}
.step h3{margin-top:8px;font-weight:600;font-size:1.2rem;letter-spacing:-.025em}
.step p{color:var(--dim);font-size:.95rem;max-width:30ch}

/* estadísticas */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.stat{display:grid;align-content:start;gap:8px;padding:24px;border-radius:24px;background:radial-gradient(120% 90% at 0% 0%,rgba(224,160,8,.16),transparent 60%),var(--bg-2);border:1px solid var(--line)}
.stat b{font-weight:600;font-size:clamp(2rem,3.2vw,3rem);line-height:1;letter-spacing:-.05em;color:var(--gold)}
.stat span{font-size:.95rem}
.stat small{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.st-note{margin:-2px 0 26px;font-size:.82rem;color:var(--dim-2)}

/* casos */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.case{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:26px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);text-decoration:none;transition:transform .6s var(--ease),border-color .4s}
.case:hover{transform:translateY(-6px);border-color:rgba(224,160,8,.45)}
.case-m{position:relative;aspect-ratio:4/3;overflow:hidden;background:#141312;isolation:isolate}
.case-m>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.case:hover .case-m>img{transform:scale(1.06)}
.case-m.lg{display:grid;place-items:center;background:var(--cbg,#222)}
.case-m.lg>img{position:static;width:62%;height:auto;object-fit:contain}
.case-m.web>img{object-position:50% 0;transition:transform 6s cubic-bezier(.45,0,.55,1)}
.case:hover .case-m.web>img{transform:translateY(-40%)}
.case-m.web>img{height:auto;min-height:100%}
.case-m.ph{display:grid;place-items:center;background:radial-gradient(80% 55% at 50% 38%,rgba(200,230,25,.42),#14160c 70%)}
.case-m.ph>img{position:static;width:auto;height:84%;border-radius:20px;border:5px solid #0B0B0B;box-shadow:0 30px 40px -20px #000;transform:rotate(-5deg)}
.case-m.per{background:radial-gradient(70% 70% at 50% 100%,rgba(224,160,8,.45),transparent 70%),#121110}
.case-m.per>img{top:auto;bottom:0;height:94%;object-fit:contain;object-position:50% 100%}
.case-m.ico{display:grid;place-items:center;background:var(--cbg,#222)}
.case-m.ico i{display:grid;place-items:center;width:96px;height:96px;border-radius:28px;background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.case-m.ico i svg{width:46px;height:46px}
.case-tag{position:absolute;left:12px;top:12px;z-index:2;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:#0C0C0D;font-size:.72rem;font-weight:600}
.case-play{position:absolute;right:12px;bottom:12px;z-index:2;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--gold);color:#0C0C0D;box-shadow:0 14px 26px -12px rgba(0,0,0,.7);transition:transform .4s var(--ease)}
.case-play svg{width:15px;height:15px;margin-left:2px}
.case:hover .case-play{transform:scale(1.1)}
.case-b{display:grid;gap:6px;padding:18px 20px 22px}
.case-b small{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.case-b h3{font-weight:600;font-size:1.25rem;letter-spacing:-.03em}
.case-b p{color:var(--dim);font-size:.93rem}
.case-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.case-tags span{padding:4px 9px;border-radius:999px;border:1px solid var(--line-2);font-size:.7rem;color:rgba(245,242,236,.75)}
button.case{padding:0;font:inherit;text-align:left;cursor:pointer}
.case[hidden]{display:none}
.case.fx-in{animation:caseIn .6s var(--ease) both}
@keyframes caseIn{from{opacity:0;transform:translateY(16px) scale(.98)}}

/* filtros */
.flt{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.flt button{padding:10px 16px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:rgba(245,242,236,.82);font:500 .9rem/1 var(--sans);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.flt button:hover{border-color:rgba(224,160,8,.6)}
.flt button.on{background:var(--gold);border-color:var(--gold);color:#0C0C0D}
.flt button em{margin-left:6px;font-style:normal;font-family:var(--mono);font-size:.7rem;opacity:.6}

/* testimonios */
.tsts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

/* otros servicios */
.more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border-radius:22px;background:#F7F5F1;border:1px solid rgba(12,12,13,.06);color:#0C0C0D;text-decoration:none;transition:transform .5s var(--ease),background .3s,box-shadow .5s var(--ease)}
.mo:hover{transform:translateY(-4px);background:#fff;box-shadow:0 30px 50px -36px rgba(12,12,13,.4)}
.mo i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#FFF6DF;border:1px solid rgba(224,160,8,.35);color:var(--gold)}
.mo i svg{width:21px;height:21px}
.mo b{display:block;font-weight:600;letter-spacing:-.02em}
.mo small{display:block;font-size:.84rem;color:#5E5A53}
.mo .ar{width:34px;height:34px;padding:9px;border-radius:50%;background:#0C0C0D;color:var(--gold);transition:transform .4s var(--ease)}
.mo:hover .ar{transform:rotate(-45deg)}

/* hub de servicios */
.hub{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.hc{--mx:50%;--my:0%;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:14px;min-height:300px;padding:clamp(22px,2.4vw,32px);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));border:1px solid var(--line);color:var(--text);text-decoration:none;grid-column:span 2;transition:transform .6s var(--ease),border-color .4s}
.hc.w3{grid-column:span 3}
.hc::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(360px 280px at var(--mx) var(--my),rgba(224,160,8,.22),transparent 70%);transition:opacity .4s}
.hc:hover{transform:translateY(-6px);border-color:rgba(224,160,8,.5)}
.hc:hover::before{opacity:1}
.hc .ic{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:radial-gradient(circle at 30% 20%,rgba(255,197,61,.35),rgba(224,160,8,.08));border:1px solid rgba(224,160,8,.35);color:var(--gold);transition:transform .6s var(--ease)}
.hc:hover .ic{transform:rotate(-8deg) scale(1.08)}
.hc .ic svg{width:26px;height:26px}
.hc .n{position:absolute;right:24px;top:20px;font-family:var(--serif);font-style:italic;font-size:1.6rem;color:rgba(224,160,8,.5)}
.hc h3{margin-top:auto;font-weight:600;font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.08;letter-spacing:-.035em}
.hc p{color:var(--dim);font-size:.96rem;max-width:44ch}
.hc .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;color:var(--gold)}
.hc .go svg{width:16px;height:16px;transition:transform .4s var(--ease)}
.hc:hover .go svg{transform:translateX(5px)}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px}
.hero-chips a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line-2);color:var(--text);text-decoration:none;font-size:.88rem;font-weight:500;transition:background .3s,border-color .3s,transform .4s var(--ease)}
.hero-chips a:hover{background:rgba(224,160,8,.14);border-color:rgba(224,160,8,.6);transform:translateY(-2px)}
.hero-chips a i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(224,160,8,.16);color:var(--gold)}
.hero-chips a i svg{width:14px;height:14px}
.sh-in.solo{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;min-height:min(86svh,820px)}
.sh-in.solo .sh-t{justify-items:center}
.sh-in.solo h1{font-size:clamp(2.9rem,7vw,7rem);max-width:14ch}
.sh-in.solo .sh-lead{max-width:58ch}
.sh-in.solo .hero-chips{justify-content:center;max-width:900px}

/* contacto */
.cx{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;align-items:start}
.cx-cards{display:grid;gap:12px}
.cc{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;align-items:center;padding:20px;border-radius:24px;background:rgba(18,17,15,.6);border:1px solid var(--line-2);color:var(--text);text-decoration:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:border-color .3s,transform .5s var(--ease)}
a.cc:hover{border-color:rgba(224,160,8,.55);transform:translateY(-3px)}
.cc i{grid-row:span 2;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--gold);color:#0C0C0D}
.cc i svg{width:22px;height:22px}
.cc small{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.cc b{font-weight:600;font-size:1.12rem;letter-spacing:-.02em;overflow-wrap:anywhere}
.cc.call i{animation:ccRing 2.6s ease-in-out infinite}
@keyframes ccRing{0%,40%,100%{transform:rotate(0)}5%{transform:rotate(-12deg)}10%{transform:rotate(10deg)}15%{transform:rotate(-8deg)}20%{transform:rotate(0)}}
.cx-map{position:relative;overflow:hidden;min-height:230px;border-radius:24px;border:1px solid var(--line-2);background:#121110;display:block;color:var(--text);text-decoration:none}
.cx-map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform 1.2s var(--ease),opacity .4s}
.cx-map:hover img{transform:scale(1.05);opacity:.7}
.cx-map .lbl{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(10,10,10,.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-weight:600;font-size:.92rem}
.cx-map .lbl em{font-style:normal;color:var(--gold);font-size:.84rem}
.cx-pin{position:absolute;left:50%;top:42%;display:grid;place-items:center;width:58px;height:58px;border-radius:50% 50% 50% 0;background:var(--gold);color:#0C0C0D;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 0 0 10px rgba(224,160,8,.2),0 0 0 22px rgba(224,160,8,.08)}
.cx-pin svg{width:24px;height:24px;transform:rotate(45deg)}
.cx .lead-box{margin:0}
.after{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

/* simulación SEO (Search Console) */
.p-vis.seo-vis{background:#0e0e10}
.sc{position:absolute;inset:12px;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#fff;color:#1f1f1f;font-family:Arial,Helvetica,sans-serif;letter-spacing:0;box-shadow:0 40px 70px -30px #000}
.sc-bar{flex:none;display:flex;align-items:center;gap:7px;height:34px;padding:0 12px;background:#EFECE6;border-bottom:1px solid #e2ded6}
.sc-bar>i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.sc-bar>i:nth-child(2){background:#febc2e}.sc-bar>i:nth-child(3){background:#28c840}
.sc-bar span{margin-left:10px;flex:1;min-width:0;padding:4px 10px;border-radius:999px;background:#fff;font-family:var(--mono);font-size:10.5px;color:#5f6368;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px 18px}
.sc-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.sc-h b{font-size:15px;font-weight:600}
.sc-h span{padding:3px 8px;border-radius:6px;background:#f1f3f4;font-size:10px;color:#5f6368;text-transform:uppercase;letter-spacing:.06em}
.sc-k{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-radius:10px;overflow:hidden}
.sc-k div{display:grid;gap:4px;padding:10px 12px;color:#fff}
.sc-k .k1{background:#4285F4}.sc-k .k2{background:#5E35B1}.sc-k .k3{background:#00897B}.sc-k .k4{background:#E8710A}
.sc-k small{font-size:10.5px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-k b{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}
.sc-ch{position:relative;flex:1;min-height:90px}
.sc-ch svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sc-ch .gr{stroke:#eceff1;stroke-width:1}
.sc-ch .l1{fill:none;stroke:#4285F4;stroke-width:2.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.sc-ch .l2{fill:none;stroke:#5E35B1;stroke-width:2;stroke-linejoin:round;opacity:.7;vector-effect:non-scaling-stroke}
.sc-ch .ar{fill:url(#scg);opacity:0;transition:opacity 1s}
.sc.run .sc-ch .ar{opacity:1}
.sc-kw{display:grid;gap:6px}
.sc-kw li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:9px;background:#f8f9fa;font-size:12.5px}
.sc-kw li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-kw em{font-style:normal;display:grid;place-items:center;min-width:34px;height:24px;padding:0 6px;border-radius:7px;background:#e8f0fe;color:#1967d2;font-weight:700;font-variant-numeric:tabular-nums;transition:background .4s,color .4s}
.sc-kw em.top{background:#E0A008;color:#0C0C0D}
.sc-kw u{text-decoration:none;color:#188038;font-size:11px;font-weight:700;opacity:0;transition:opacity .4s}
.sc-kw li.up u{opacity:1}
.vis-seo{height:clamp(500px,44vw,600px)}
@media (max-width:980px){.vis-seo{height:540px}}
@media (max-width:560px){.sc{inset:8px}.sc-body{padding:12px;gap:10px}.sc-k{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-k b{font-size:17px}}

/* ajustes de la sección final en páginas interiores */
.pg .final .fin-h h2{max-width:14ch}

/* responsive general */
@media (max-width:1100px){.incs,.cases,.tsts{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.more{grid-template-columns:repeat(2,minmax(0,1fr))}.hc,.hc.w3{grid-column:span 3}}
@media (max-width:900px){
  .pains{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.steps::before{display:none}
  .step .num{width:72px;height:72px;font-size:1.9rem}
  .cx{grid-template-columns:minmax(0,1fr)}
  .after{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .incs,.cases,.tsts,.more{grid-template-columns:minmax(0,1fr)}
  .hub{grid-template-columns:minmax(0,1fr)}.hc,.hc.w3{grid-column:auto;min-height:0}
  .stats{gap:8px}.stat{padding:16px}
  .steps{grid-template-columns:minmax(0,1fr)}
  .step{grid-template-columns:auto minmax(0,1fr);gap:4px 16px;align-items:center}.step .num{grid-row:span 2;width:60px;height:60px;font-size:1.6rem}.step h3{margin:0}
  .flt{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scrollbar-width:none}.flt::-webkit-scrollbar{display:none}.flt button{flex:none}
}

/* variantes */
.fin.slim{padding-top:clamp(40px,5vw,60px)}
.steps-d::before{background:linear-gradient(90deg,var(--gold) var(--p,0%),rgba(255,255,255,.1) var(--p,0%))}
.steps-d .num{background:#141312;border-color:var(--line-2);box-shadow:none}
.steps-d .step.on .num{background:var(--gold);color:#0C0C0D}
.steps-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps-3::before{left:6%;right:6%}
.cx-form{min-width:0}
.cx-form .lead-box{position:relative}
.sh-in .cx-cards{width:100%}
.tv-cases .case-m{aspect-ratio:16/9}
@media (max-width:900px){.steps-3{grid-template-columns:minmax(0,1fr)}}

/* simulaciones dentro del hero */
@container (min-width:521px) and (max-width:700px){.sh-vis .soc{grid-template-columns:auto auto;justify-content:center;gap:22px}.sh-vis .soc-nt{display:none}}
.vis-rev .rev{width:min(100%,520px);padding:22px;gap:12px}
.vis-rev .rev-h{font-size:1.1rem}
.vis-rev .stars svg{width:26px;height:26px}
.vis-rev .rev li{padding:14px 14px;font-size:.92rem}
.vis-rev .st{font-size:.62rem;padding:6px 10px}
.vis-mac .spot-cap{right:auto;left:14px}

/* primer banner: mismo fondo de oro líquido que la portada de la landing */
.sh-fx{position:absolute;inset:0;z-index:-3;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.sh-fx.hero-fallback{display:none}
html:not(.has-fluid) .sh-fx.hero-fallback[src]{display:block}
.sh-tint{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,10,.72) 0%,rgba(8,8,10,.44) 40%,rgba(8,8,10,.1) 72%,rgba(8,8,10,.22) 100%),linear-gradient(180deg,rgba(8,8,10,.55) 0%,rgba(8,8,10,0) 24%,rgba(8,8,10,0) 72%,rgba(8,8,10,.72) 100%)}
.sh-in.solo .sh-tint{background:radial-gradient(54% 46% at 50% 50%,rgba(8,8,10,.76),rgba(8,8,10,.4) 62%,rgba(8,8,10,.08) 90%),linear-gradient(180deg,rgba(8,8,10,.5) 0%,rgba(8,8,10,0) 24%,rgba(8,8,10,0) 70%,rgba(8,8,10,.75) 100%)}
@media (max-width:900px){.sh-tint,.sh-in.solo .sh-tint{background:linear-gradient(180deg,rgba(8,8,10,.62) 0%,rgba(8,8,10,.55) 45%,rgba(8,8,10,.3) 72%,rgba(8,8,10,.62) 100%)}}
/* casos: logos de clientes y distintivo de primera posición */
.case-m.lg>img{width:var(--lw,62%);max-height:70%}
.case-m.lg::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.case-m.lg .case-tag{box-shadow:0 0 0 1px rgba(12,12,13,.1)}
.case-top{position:absolute;right:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 11px 6px 8px;border-radius:999px;background:var(--gold);color:#0C0C0D;font-size:.72rem;font-weight:700;letter-spacing:-.01em;box-shadow:0 10px 24px -10px rgba(224,160,8,.9)}
.case-top svg{width:14px;height:14px}
.case-top b{font-weight:700}

/* contacto: foto del equipo a tamaño completo */
.cx-map.photo{aspect-ratio:2688/1520;min-height:0}
.cx-map.photo img,.cx-map.photo:hover img{opacity:1}
.cx-map.photo:hover img{transform:scale(1.03)}
.cx-map.photo .cx-pin{display:none}
@media (max-width:600px){.cx-map.photo{aspect-ratio:4/3}.cx-map.photo img{object-position:38% 50%}.cx-map.photo .lbl{left:10px;right:10px;bottom:10px;padding:9px 12px;font-size:.76rem}.cx-map.photo .lbl em{font-size:.76rem}}
.cx-map.photo .lbl em{white-space:nowrap;flex:none}

/* ===== Nosotros ===== */
.ab-crew{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;margin-top:34px;padding:7px 20px 7px 7px;border-radius:999px;background:rgba(12,12,13,.45);border:1px solid var(--line-2);color:var(--text);font-size:.92rem;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .4s}
.ab-crew:hover{border-color:rgba(224,160,8,.6)}
.ab-crew b{font-weight:600;color:var(--gold)}
.ab-av{display:flex}
.ab-a{position:relative;display:block;width:40px;height:40px;margin-left:-11px;border-radius:50%;overflow:hidden;border:2px solid #0C0C0D;background:#222;transition:transform .5s var(--ease)}
.ab-a:first-child{margin-left:0}
.ab-a img{display:block;width:100%;height:100%;object-fit:cover}
.ab-crew:hover .ab-a{transform:translateY(-3px)}
.ab-crew:hover .ab-a:nth-child(even){transform:translateY(2px)}
.ab-st{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(30px,5vw,80px);align-items:center}
.ab-st-t{display:grid;gap:22px;justify-items:start}
.ab-big{font-size:clamp(1.18rem,1.55vw,1.42rem);line-height:1.45;letter-spacing:-.012em}
.ab-st-t p:not(.ab-big){max-width:58ch;color:var(--dim);font-size:1.02rem;line-height:1.6}
.ab-ph{position:relative;margin:0;aspect-ratio:4/3;max-width:100%;border-radius:28px;overflow:hidden;background:var(--bg-3)}
.ab-ph img{width:100%;height:100%;object-fit:cover;object-position:38% 50%;transition:transform 1.4s var(--ease)}
.ab-ph:hover img{transform:scale(1.03)}
.ab-ph figcaption{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;background:rgba(12,12,13,.74);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.8rem}
.ab-ph figcaption svg{width:14px;height:14px;color:var(--gold)}
.ab-stats{margin:clamp(44px,5vw,70px) 0 0}
.ab-ceo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:center;margin-bottom:12px;padding:clamp(24px,3.6vw,48px);border-radius:32px;background:radial-gradient(90% 130% at 0% 0%,rgba(224,160,8,.16),transparent 62%),var(--bg-2);border:1px solid var(--line)}
.ab-ceo-ph{width:clamp(150px,17vw,220px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(224,160,8,.55),0 0 0 10px rgba(224,160,8,.07)}
.ab-ceo-ph img{width:100%;height:100%;object-fit:cover}
.ab-ceo-b{display:grid;gap:12px;justify-items:start;min-width:0}
.ab-ceo-b small,.tm-r{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.ab-ceo-b h3{font-size:clamp(2.1rem,3.6vw,3.4rem);font-weight:500;line-height:1;letter-spacing:-.045em}
.ab-ceo-b p{max-width:62ch;color:var(--dim);font-size:1.05rem;line-height:1.55}
.ab-ceo-b .btn{margin-top:6px}
.ab-ceo-b .btn{gap:12px;padding-left:12px}
.ab-ceo-b .pi{margin:0}
.ab-ceo-b .pi svg{width:13px;height:13px;margin-left:2px}
.ab-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tm{display:grid;align-content:start;justify-items:start;gap:18px;padding:24px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);transition:transform .6s var(--ease),border-color .4s}
.tm:hover{transform:translateY(-4px);border-color:rgba(224,160,8,.45)}
.tm-ph{width:96px;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px var(--line-2);transition:box-shadow .4s}
.tm:hover .tm-ph{box-shadow:0 0 0 2px var(--gold),0 0 0 8px rgba(224,160,8,.1)}
.tm-ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.tm:hover .tm-ph img{transform:scale(1.07)}
.tm-b{display:grid;gap:6px;min-width:0}
.tm h3{font-size:1.35rem;font-weight:600;letter-spacing:-.03em}
.tm p{margin-top:6px;color:var(--dim);font-size:.92rem;line-height:1.5}
.ab-vals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ab-v{display:grid;align-content:start;gap:12px;padding:26px;border-radius:26px;background:var(--bg-2);border:1px solid var(--line)}
.ab-vi{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#FFF6DF;border:1px solid rgba(224,160,8,.35);color:var(--gold)}
.ab-vi svg{width:22px;height:22px}
.ab-v h3{margin-top:6px;font-size:1.2rem;font-weight:600;letter-spacing:-.025em}
.ab-v p{color:var(--dim);font-size:.95rem;line-height:1.5}
@media (max-width:1100px){.ab-team,.ab-vals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.ab-st{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .ab-crew{border-radius:24px;padding:10px 16px}
  .ab-a{width:34px;height:34px;margin-left:-10px}
  .ab-ceo{grid-template-columns:minmax(0,1fr);justify-items:start;border-radius:26px}
  .ab-ceo-ph{width:120px}
  .ab-team,.ab-vals{grid-template-columns:minmax(0,1fr)}
  .tm{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:16px;padding:20px}
  .tm-ph{width:64px}
  .ab-ph{aspect-ratio:4/3;border-radius:22px}
}

/* ===== Casos de éxito: cinta de marcas + caso en foco ===== */
/* medios comunes: foto o logo sobre el color de la marca */
.mx{position:relative;overflow:hidden;background:#141312;isolation:isolate}
.mx.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mx.lg{display:grid;place-items:center;background:var(--b)}
.mx.phn{background:radial-gradient(80% 60% at 50% 40%,rgba(200,230,25,.4),#14160c 72%)}
.mx.phn>img{inset:12% 0 -30%;margin:auto;width:auto;height:118%;object-fit:contain;transform:rotate(-6deg)}
.mx.lg>img{width:60%;max-height:62%;object-fit:contain}
.cx-word{display:grid;justify-items:center;gap:4px;font-weight:800;font-size:clamp(1.3rem,2.2vw,2rem);letter-spacing:-.02em;line-height:1;color:#fff;text-align:center}
.cx-word small{font-family:var(--mono);font-weight:400;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.mx.lt .cx-word,.cw-t.lt:hover .cx-word{color:#0C0C0D}
.mx[style*="#E0A008"] .cx-word{color:#0C0C0D}
.cx-top{display:inline-flex;align-items:center;gap:6px;justify-self:start;width:max-content;padding:6px 12px 6px 9px;border-radius:999px;background:var(--gold);color:#0C0C0D;font-size:.76rem;font-weight:700}
.cx-top svg{width:15px;height:15px}
.cx-vid .pi{margin:0 2px 0 -10px}
.cx-vid .pi svg{width:13px;height:13px;margin-left:2px}
.cw-pa .btn{min-height:48px}
.cw-pa{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
@keyframes cwIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cm-tape{display:grid;gap:10px;margin:0 calc(var(--gut,20px) * -1) 26px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cm-row{overflow:hidden}
.cm-in{display:flex;gap:10px;width:max-content;animation:cmMq 60s linear infinite}
.cm-r2 .cm-in{animation-direction:reverse;animation-duration:70s}
.cm-tape:hover .cm-in{animation-play-state:paused}
@keyframes cmMq{to{transform:translateX(calc(-50% - 5px))}}
.cm-ch{display:grid;place-items:center;flex:none;width:clamp(130px,13vw,170px);height:clamp(64px,6vw,80px);padding:0;border-radius:18px;border:1px solid var(--line);background:#121110;color:#fff;cursor:pointer;transition:background .35s,border-color .35s,transform .45s var(--ease)}
.cm-lg{width:64%;max-height:52%;object-fit:contain;filter:brightness(0) invert(1);opacity:.78;transition:filter .35s,opacity .35s}
.cm-ch .cx-word{font-size:.92rem;color:rgba(245,242,236,.85)}.cm-ch .cx-word small{display:none}
.cm-ch:hover,.cm-ch.on{background:var(--b);border-color:transparent;transform:translateY(-3px)}
.cm-ch:hover .cm-lg,.cm-ch.on .cm-lg{filter:none;opacity:1}
.cm-ch.lt:hover .cx-word,.cm-ch.lt.on .cx-word{color:#0C0C0D}
.cm-ch.on{box-shadow:0 0 0 2px var(--gold)}
.cm-st{position:relative;border-radius:30px;background:var(--bg-2);border:1px solid var(--line);overflow:hidden}
.cm-s{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:clamp(380px,36vw,500px);animation:cwIn .6s var(--ease)}
.cm-m{min-height:100%}
.cm-m.lg>img{width:46%;max-height:46%}
.cm-b{display:grid;align-content:center;gap:12px;padding:clamp(24px,3.4vw,52px) clamp(24px,3.4vw,52px) 92px}
.cm-n{font-family:var(--mono);font-size:.74rem;color:var(--dim)}.cm-n b{color:var(--gold);font-weight:500}
.cm-b small{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.cm-b h3{font-size:clamp(2rem,3.4vw,3.2rem);font-weight:500;line-height:1;letter-spacing:-.045em}
.cm-b p{color:var(--dim);font-size:1.02rem;line-height:1.55}
.cm-ctl{position:absolute;right:clamp(24px,3.4vw,52px);bottom:26px;left:calc(53.5% + clamp(24px,3.4vw,52px));display:flex;align-items:center;gap:12px}
.cm-ctl button{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--glass-2);color:var(--text);cursor:pointer}
.cm-ctl button:hover{background:var(--gold);color:#0C0C0D}
.cm-ctl svg{width:16px;height:16px}.cm-prev svg{transform:rotate(180deg)}
.cm-pr{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.cm-pr i{display:block;height:100%;width:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.cm-st.run .cm-pr i{animation:cmPr var(--t,6s) linear forwards}
@keyframes cmPr{to{transform:scaleX(1)}}
@media (max-width:900px){.cm-s{grid-template-columns:minmax(0,1fr);min-height:0}.cm-m{aspect-ratio:16/10;min-height:0}.cm-ctl{left:clamp(24px,3.4vw,52px)}}
@media (prefers-reduced-motion:reduce){.cm-in{animation:none}.cm-row{overflow-x:auto}}

/* caras que siguen al ratón (Nosotros) */
.fz{position:relative;isolation:isolate}
.fz>i{position:absolute;inset:0;z-index:1;background-size:600% 400%;background-repeat:no-repeat;opacity:0;transition:opacity .12s linear;pointer-events:none}
.fz.ready>i.on{opacity:1}
.fz.ready>img{opacity:0;transition:opacity .3s}
.tm-ph.fz,.ab-ceo-ph.fz{transition:box-shadow .4s,transform .5s var(--ease)}
.fz.near{transform:scale(1.06)}
.tm:has(.fz.near){border-color:rgba(224,160,8,.6)}
.fz-hint{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;color:var(--dim);font-size:.86rem;text-align:center}
.fz-hint i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(224,160,8,.18);animation:fzP 2s ease-in-out infinite}
@keyframes fzP{50%{box-shadow:0 0 0 8px rgba(224,160,8,0)}}
@media (hover:none){.fz-hint{display:none}}
@media (prefers-reduced-motion:reduce){.fz>i{display:none}.fz.ready>img{opacity:1}.fz-hint{display:none}}

/* iconos de herramientas en el primer banner de los servicios */
.sh-tls,.sh-gp{margin-top:22px}
.sh-t .tls{justify-content:inherit}

/* resultados de cada caso (Casos de éxito) */
.cm-s{position:relative}
.sp{display:block;width:100%;height:100%;overflow:visible}
.sp-l{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 4;stroke-dashoffset:4;animation:spDraw 2.4s .2s cubic-bezier(.33,0,.2,1) forwards}
.sp-a{opacity:0;animation:spFade .8s .7s ease forwards}
@keyframes spDraw{to{stroke-dashoffset:0}}
@keyframes spFade{to{opacity:1}}
/* métricas con mini gráficas */
.ml{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(70px,.9fr) auto;column-gap:14px;border-top:1px solid var(--line)}
.ml-r{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(70px,.9fr) auto;grid-template-columns:subgrid;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.ml-l{display:grid;gap:2px;font-size:.88rem;font-weight:500;line-height:1.25}
.ml-l small{font-family:var(--mono);font-size:.58rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.ml-sp{height:34px;color:var(--gold)}
.ml-v{display:grid;justify-items:end;gap:2px;text-align:right}
.ml-v b{font-size:1.25rem;font-weight:600;letter-spacing:-.03em;color:var(--gold);white-space:nowrap}
.ml-v em{font-style:normal;font-size:.68rem;font-weight:600;color:#6FE3A1;white-space:nowrap}
.ml-r:first-child .ml-v b{font-size:1.6rem}
@media (max-width:900px){
  .cm-s{display:flex;flex-direction:column}
  .ml{grid-template-columns:minmax(0,1fr) 64px auto;column-gap:10px}
  .ml-r{grid-template-columns:minmax(0,1fr) 64px auto;grid-template-columns:subgrid;gap:10px}
}
@media (prefers-reduced-motion:reduce){.sp-l,.sp-a{animation:none;opacity:1;stroke-dashoffset:0}}

/* 8 servicios: la última tarjeta de «Qué más hacemos» ocupa la fila si se queda sola */
@media (min-width:1101px){.more>.mo:last-child:nth-child(3n+1){grid-column:1/-1}}
@media (min-width:641px) and (max-width:1100px){.more>.mo:last-child:nth-child(2n+1){grid-column:1/-1}}
.vis-vid{height:clamp(380px,38vw,520px)}
@media (max-width:980px){.vis-vid{height:300px}}
