/* ============================================================
   BSHARK — index v2 "tech" · hero oscuro + resto claro
   Tokens heredados del design system bShark sitio web
   ============================================================ */
:root{
  --magenta: #B60249;
  --magenta-600: #9C0240;
  --magenta-700: #7E0233;
  --magenta-50: #FDE9F0;
  --magenta-100: #F9C9D9;
  --pink-bright: #FF5C90;     /* acento on-dark ya usado por el DS */
  --pink-soft: #FFB3CB;
  --ink: #1A1318;
  --ink-2: #2A2128;
  --ink-3: #3A3038;
  --abyss: #0B080D;           /* fondo hero oscuro (profundidad del ink del DS) */
  --abyss-2: #140F16;
  --abyss-3: #1E1722;
  --steel: #6A5F66;
  --slate: #948A92;
  --mist: #D6CFD4;
  --fog: #EFEAEC;
  --paper: #FFFFFF;
  --cream: #FAF6F2;
  --cream-2: #F5EFE9;

  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 16px;
  --radius-xl: 22px;

  --shadow-sm: 0 1px 2px rgba(11,11,14,.06), 0 1px 1px rgba(11,11,14,.04);
  --shadow-md: 0 8px 24px -8px rgba(11,11,14,.12), 0 2px 6px rgba(11,11,14,.05);
  --shadow-lg: 0 24px 60px -20px rgba(11,11,14,.22), 0 8px 24px -12px rgba(11,11,14,.10);
  --shadow-magenta: 0 12px 40px -10px rgba(182,2,73,.45);

  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --maxw: 1240px;
  --anim-mult: 1; /* tweak: multiplicador de velocidad de animación */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

::selection{background:var(--magenta);color:#fff}
:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0}
h1{font-size:clamp(42px,6.8vw,86px)}
h2{font-size:clamp(30px,4vw,54px);letter-spacing:-.03em}
h3{font-size:22px}
p{margin:0}
h1,h2{text-wrap:balance}
p{text-wrap:pretty}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--magenta);
}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;opacity:.85;border-radius:1px}
.eyebrow.on-dark{color:var(--pink-bright)}

/* ============ PROGRESS BAR ============ */
.progress{
  position:fixed;top:0;left:0;height:3px;width:100%;z-index:90;
  transform-origin:left;transform:scaleX(0);
  background:linear-gradient(90deg,var(--magenta),var(--pink-bright));
  pointer-events:none;
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 22px;border-radius:var(--radius);
  font-family:var(--font-display);font-weight:600;font-size:15px;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
  line-height:1;white-space:nowrap;position:relative;overflow:hidden;
  will-change:transform;
}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-primary{background:var(--magenta);color:#fff;box-shadow:var(--shadow-magenta)}
.btn-primary:hover{background:var(--magenta-600);transform:translateY(-2px)}
.btn-primary::after{
  content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:left .45s ease;
}
.btn-primary:hover::after{left:130%}
.btn-ghost{color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-ghost.on-dark{color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.btn-ghost.on-dark:hover{background:#fff;color:var(--abyss);border-color:#fff}
.btn-whatsapp{background:#25D366;color:#fff}
.btn-whatsapp:hover{background:#1DAE53;transform:translateY(-2px)}
.btn-sm{padding:9px 14px;font-size:13px}
.btn .arrow{transition:transform .2s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* ============ UTILITY BAR ============ */
.utility{background:var(--abyss);color:#CDC4CC;font-size:13px;border-bottom:1px solid rgba(255,255,255,.06)}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.utility-left{display:flex;gap:18px;align-items:center}
.utility-left .dot{width:6px;height:6px;border-radius:50%;background:#22C55E;box-shadow:0 0 8px #22C55E}
.utility-right{display:flex;gap:18px;align-items:center}
.utility-right a{display:inline-flex;gap:6px;align-items:center;color:#CDC4CC}
.utility-right a:hover{color:#fff}
.utility-right svg{width:14px;height:14px}
.lang{display:inline-flex;align-items:center;gap:4px}

/* ============ HEADER (glass oscuro sobre hero) ============ */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,8,13,.55);
  backdrop-filter:saturate(140%) blur(16px);
  -webkit-backdrop-filter:saturate(140%) blur(16px);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:background .3s ease, box-shadow .3s ease;
}
.header.scrolled{background:rgba(11,8,13,.88);box-shadow:0 8px 30px -12px rgba(0,0,0,.5)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.logo{display:flex;align-items:center}
.logo img{height:30px;width:auto;filter:brightness(0) invert(1)}
.nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}
.nav-item{position:relative}
.nav-item > a, .nav-item > button{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 14px;border-radius:8px;
  font-weight:500;font-size:15px;color:rgba(255,255,255,.78);
  transition:background .15s, color .15s;
}
.nav-item > a:hover, .nav-item > button:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item > button svg.chev{width:14px;height:14px;transition:transform .2s}
.nav-item.open > button svg.chev{transform:rotate(180deg)}
.header-cta{display:flex;align-items:center;gap:10px}
.login-link{font-weight:500;font-size:14px;color:rgba(255,255,255,.78);padding:8px 12px;border-radius:8px}
.login-link:hover{background:rgba(255,255,255,.08);color:#fff}

/* dropdown (claro, flota sobre lo oscuro) */
.dropdown{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-4px);
  width:680px;max-width:90vw;
  background:#fff;border:1px solid var(--fog);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  padding:22px;color:var(--ink);
  opacity:0;pointer-events:none;transition:opacity .15s ease, transform .15s ease;
}
.nav-item.open .dropdown{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dropdown-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 6px 12px;border-bottom:1px solid var(--fog);margin-bottom:12px}
.dropdown-head h4{font-family:var(--font-display);font-size:13px;color:var(--steel);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.dropdown-head a{font-size:13px;color:var(--magenta);font-weight:600}
.dropdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.dd-item{display:flex;gap:12px;padding:12px;border-radius:10px;align-items:flex-start;transition:background .15s}
.dd-item:hover{background:var(--magenta-50)}
.dd-icon{
  width:38px;height:38px;border-radius:9px;background:var(--ink);color:var(--magenta);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;
}
.dd-icon::after{content:"";position:absolute;inset:auto -8px -8px auto;width:24px;height:24px;background:var(--magenta);opacity:.18;border-radius:50%;filter:blur(6px)}
.dd-icon svg{width:18px;height:18px;position:relative;z-index:1}
.dd-text strong{display:block;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);margin-bottom:2px}
.dd-text span{display:block;font-size:13px;color:var(--steel);line-height:1.35}

/* ============ HERO OSCURO ============ */
.hero{
  position:relative;overflow:hidden;
  background:var(--abyss);
  color:#fff;
  padding:96px 0 140px;
  margin-top:-72px;       /* el header glass flota encima */
  padding-top:calc(96px + 72px);
  isolation:isolate;
}
/* aurora magenta */
.hero .aurora{
  position:absolute;inset:-20%;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 42% 38% at 78% 18%, rgba(182,2,73,.42), transparent 65%),
    radial-gradient(ellipse 36% 30% at 14% 78%, rgba(126,2,51,.38), transparent 65%),
    radial-gradient(ellipse 30% 26% at 55% 50%, rgba(255,92,144,.10), transparent 60%);
  filter:blur(10px);
  animation:aurora-drift calc(22s * var(--anim-mult)) ease-in-out infinite alternate;
}
@keyframes aurora-drift{
  0%{transform:translate3d(-2%,-1%,0) scale(1)}
  100%{transform:translate3d(2%,2%,0) scale(1.06)}
}
/* grilla perspectiva (suelo tech) */
.hero .gridfloor{
  position:absolute;left:-10%;right:-10%;bottom:-6%;height:54%;z-index:0;pointer-events:none;
  background:
    linear-gradient(transparent 0%, rgba(11,8,13,0) 40%, rgba(11,8,13,.9) 100%),
    repeating-linear-gradient(90deg, rgba(255,92,144,.13) 0 1px, transparent 1px 70px),
    repeating-linear-gradient(0deg, rgba(255,92,144,.13) 0 1px, transparent 1px 46px);
  transform:perspective(620px) rotateX(58deg);
  transform-origin:center top;
  mask-image:linear-gradient(180deg, transparent 0%, black 30%, black 78%, transparent 100%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, black 30%, black 78%, transparent 100%);
  animation:grid-scroll calc(7s * var(--anim-mult)) linear infinite;
}
@keyframes grid-scroll{from{background-position:0 0,0 0,0 0}to{background-position:0 0,0 0,0 46px}}
/* burbujas (mantiene metáfora del mar del DS) */
.hero svg.bubbles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.8}
/* viñeta + grano */
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 120% 90% at 50% 10%, transparent 55%, rgba(0,0,0,.45) 100%);
}
body.no-grain .grain{display:none}
.grain{
  position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;align-items:center}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,92,144,.35);
  font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pink-bright);
  box-shadow:0 0 24px -6px rgba(182,2,73,.5), inset 0 0 12px rgba(182,2,73,.12);
}
.hero-eyebrow .pulse{width:7px;height:7px;border-radius:50%;background:var(--pink-bright);box-shadow:0 0 10px var(--pink-bright);animation:pulse calc(1.6s * var(--anim-mult)) infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}

.hero h1{margin-top:22px;color:#fff}
.hero h1 .swap{
  display:inline-block;position:relative;
  color:transparent;
  background:linear-gradient(100deg,var(--pink-bright) 10%, var(--magenta) 55%, var(--pink-bright) 90%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;
  animation:swap-shine calc(5s * var(--anim-mult)) linear infinite;
  min-width:5.2ch;
}
@keyframes swap-shine{from{background-position:0% 0}to{background-position:200% 0}}
.hero h1 .swap .word{display:inline-block}
.hero h1 .swap .word.out{animation:word-out .38s ease forwards}
.hero h1 .swap .word.in{animation:word-in .42s cubic-bezier(.2,.9,.3,1.2) forwards}
@keyframes word-out{to{opacity:0;transform:translateY(-26px) skewY(-4deg);filter:blur(4px)}}
@keyframes word-in{from{opacity:0;transform:translateY(28px) skewY(4deg);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}

.hero-sub{margin-top:24px;font-size:19px;line-height:1.6;color:rgba(255,255,255,.66);max-width:540px}
.hero-cta{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.hero-trust{margin-top:38px;display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.55)}
.hero-trust .item{display:flex;gap:8px;align-items:center}
.hero-trust svg{width:16px;height:16px;color:var(--pink-bright)}

/* terminal ticker */
.hero-term{
  margin-top:34px;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:12.5px;font-weight:500;
  color:var(--pink-soft);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:10px 16px;
  max-width:100%;
}
.hero-term .prompt{color:var(--pink-bright);font-weight:600}
.hero-term .cursor{display:inline-block;width:7px;height:15px;background:var(--pink-bright);animation:blink calc(1s * var(--anim-mult)) steps(2) infinite;vertical-align:text-bottom}
@keyframes blink{50%{opacity:0}}

/* escena tiburón con marco HUD */
.hero-scene{position:relative;aspect-ratio:4/5;background:transparent}
.hero-scene .hud{
  position:absolute;inset:6% 2%;z-index:2;pointer-events:none;
  border-radius:18px;
}
.hero-scene .hud .corner{position:absolute;width:26px;height:26px;border:2px solid var(--pink-bright);opacity:.8}
.hero-scene .hud .corner.tl{top:0;left:0;border-right:0;border-bottom:0;border-top-left-radius:10px}
.hero-scene .hud .corner.tr{top:0;right:0;border-left:0;border-bottom:0;border-top-right-radius:10px}
.hero-scene .hud .corner.bl{bottom:0;left:0;border-right:0;border-top:0;border-bottom-left-radius:10px}
.hero-scene .hud .corner.br{bottom:0;right:0;border-left:0;border-top:0;border-bottom-right-radius:10px}
.hero-scene .hud .scanline{
  position:absolute;left:4%;right:4%;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--pink-bright),transparent);
  box-shadow:0 0 18px 2px rgba(255,92,144,.55);
  animation:scan calc(4.5s * var(--anim-mult)) ease-in-out infinite alternate;
  opacity:.75;
}
@keyframes scan{from{top:3%}to{top:96%}}
.hero-shark-slot{
  position:absolute;top:50%;left:50%;
  width:116%;height:94%;
  transform:translate(-50%,-50%);
  z-index:1;
  --is-empty-bg: transparent;
  --is-empty-border: 0;
  --is-empty-color: rgba(255,255,255,.4);
  filter:drop-shadow(0 30px 60px rgba(182,2,73,.35));
  animation:shark-float calc(9s * var(--anim-mult)) ease-in-out infinite;
}
@keyframes shark-float{0%,100%{transform:translate(-50%,-50%) rotate(-1deg)}50%{transform:translate(-50%,-52.5%) rotate(.8deg)}}
.scene-label{
  position:absolute;top:0;left:4%;z-index:3;
  background:rgba(11,8,13,.7);backdrop-filter:blur(8px);
  border:1px solid rgba(255,92,144,.35);border-radius:999px;
  padding:6px 12px 6px 10px;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:11px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:#fff;
}
.scene-label .live{width:8px;height:8px;border-radius:50%;background:var(--pink-bright);box-shadow:0 0 8px var(--pink-bright);animation:pulse calc(1.6s * var(--anim-mult)) infinite}
/* chips de data flotantes */
.scene-chip{
  position:absolute;z-index:3;
  background:rgba(20,15,22,.78);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;padding:12px 16px;
  display:flex;flex-direction:column;gap:2px;
  box-shadow:0 16px 40px -12px rgba(0,0,0,.6);
  animation:chip-float calc(7s * var(--anim-mult)) ease-in-out infinite;
}
.scene-chip small{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--pink-soft)}
.scene-chip strong{font-family:var(--font-display);font-size:20px;font-weight:700;color:#fff;letter-spacing:-.02em}
.scene-chip .spark{display:flex;align-items:flex-end;gap:3px;height:22px;margin-top:6px}
.scene-chip .spark i{display:block;width:5px;background:linear-gradient(180deg,var(--pink-bright),var(--magenta));border-radius:2px;animation:spark calc(1.8s * var(--anim-mult)) ease-in-out infinite}
@keyframes spark{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.scene-chip.c1{bottom:8%;left:-6%;animation-delay:.6s}
.scene-chip.c2{top:14%;right:-4%;animation-delay:1.4s}
@keyframes chip-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* transición curva hacia lo claro */
.hero .shore{position:absolute;left:0;right:0;bottom:-1px;z-index:3;display:block;width:100%;height:90px}

/* ============ LOGOS MARQUEE (claro) ============ */
.logos{background:var(--cream);padding:54px 0;border-bottom:1px solid var(--fog)}
.logos-label{text-align:center;font-size:13px;font-weight:500;color:var(--steel);letter-spacing:.04em;margin-bottom:32px;font-family:var(--font-mono);text-transform:uppercase}
.marquee{
  overflow:hidden;position:relative;
  mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.marquee-track{display:flex;gap:64px;align-items:center;width:max-content;animation:marquee calc(38s * var(--anim-mult)) linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mark{
  display:inline-flex;align-items:center;gap:14px;height:64px;color:#7A6F75;
  transition:color .2s ease, transform .2s ease;flex-shrink:0;
  font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-.015em;white-space:nowrap;
}
.mark:hover{color:var(--ink);transform:translateY(-2px)}
.mark svg{width:48px;height:48px;flex-shrink:0}
.mark .sub{font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-left:-6px}

/* ============ STATS (claro, count-up) ============ */
.stats{padding:90px 0;background:var(--paper)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--fog);border-radius:var(--radius-lg);overflow:hidden}
.stat{padding:38px 32px;border-right:1px solid var(--fog);position:relative;overflow:hidden}
.stat:last-child{border-right:0}
.stat::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 120%, rgba(182,2,73,.07), transparent 70%);
  opacity:0;transition:opacity .3s ease;
}
.stat:hover::before{opacity:1}
.stat .num{font-family:var(--font-display);font-weight:700;font-size:56px;letter-spacing:-.04em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.stat .num .accent{color:var(--magenta)}
.stat .lbl{margin-top:10px;font-size:14px;color:var(--steel);line-height:1.4}
.stat svg.bg-icon{position:absolute;top:18px;right:18px;width:22px;height:22px;color:var(--mist)}

/* ============ SECCIONES ============ */
.section{padding:100px 0}
.section-header{max-width:760px;margin:0 auto 60px;text-align:center}
.section-header h2{margin-top:14px}
.section-header .sub{margin-top:18px;color:var(--steel);font-size:18px;line-height:1.6}

/* ============ PRODUCTOS — BENTO ============ */
.products{background:linear-gradient(180deg,var(--cream),var(--paper))}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bento-card{
  position:relative;overflow:hidden;
  background:var(--paper);
  border:1px solid var(--fog);
  border-radius:var(--radius-lg);
  padding:30px;
  display:flex;flex-direction:column;gap:14px;
  transition:transform .35s cubic-bezier(.21,.6,.35,1), box-shadow .35s cubic-bezier(.21,.6,.35,1), border-color .25s ease;
  --mx:50%;--my:50%;
}
.bento-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--magenta-100)}
.bento-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(420px circle at var(--mx) var(--my), rgba(182,2,73,.08), transparent 65%);
}
.bento-card:hover::before{opacity:1}
.bento-card.span3{grid-column:span 3}
.bento-card.span2{grid-column:span 2}
.bento-icon{
  width:52px;height:52px;border-radius:12px;
  background:var(--ink);color:var(--magenta);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;flex-shrink:0;
}
.bento-icon::after{content:"";position:absolute;inset:auto -10px -10px auto;width:30px;height:30px;background:var(--magenta);opacity:.25;border-radius:50%;filter:blur(8px)}
.bento-icon svg{width:24px;height:24px;position:relative;z-index:1}
.bento-card .tag{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--font-mono);font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;color:var(--magenta);
}
.bento-card h3{font-size:24px;letter-spacing:-.02em}
.bento-card .desc{color:var(--steel);font-size:14.5px;line-height:1.55;flex:1}
.bento-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--ink-2)}
.bento-card ul li{display:flex;gap:8px;align-items:center}
.bento-card ul li::before{content:"";width:5px;height:5px;background:var(--magenta);border-radius:50%;flex-shrink:0}
.bento-card .link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--magenta);font-size:14px}
.bento-card .link svg{width:14px;height:14px;transition:transform .2s}
.bento-card:hover .link svg{transform:translateX(3px)}
.bento-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
/* mini-mock pipeline (CRM destacado) */
.mini-pipe{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}
.mini-pipe .col{background:var(--cream);border:1px solid var(--fog);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px}
.mini-pipe .col small{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.mini-pipe .chip{height:18px;border-radius:5px;background:#fff;border:1px solid var(--fog);position:relative;overflow:hidden}
.mini-pipe .chip::after{content:"";position:absolute;left:6px;top:6px;height:5px;width:60%;border-radius:3px;background:var(--mist)}
.mini-pipe .chip.hot::before{content:"";position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--magenta)}
/* mini-mock barras (ERP destacado) */
.mini-bars{display:flex;align-items:flex-end;gap:8px;height:74px;margin-top:4px;padding:10px;background:var(--cream);border:1px solid var(--fog);border-radius:8px}
.mini-bars i{display:block;flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--magenta),var(--magenta-700));opacity:.85;transform:scaleY(0);transform-origin:bottom;transition:transform .7s cubic-bezier(.21,.6,.35,1)}
.in .mini-bars i{transform:scaleY(1)}
.mini-bars i:nth-child(odd){background:var(--mist)}

/* ============ TICKER STRIP (banda kinética) ============ */
.ticker-strip{
  background:var(--abyss);color:#fff;overflow:hidden;
  padding:26px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);
}
.ticker-track{display:flex;gap:48px;align-items:center;width:max-content;animation:marquee calc(26s * var(--anim-mult)) linear infinite}
.ticker-track span{
  font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:-.02em;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.34);
}
.ticker-track span.solid{color:var(--pink-bright);-webkit-text-stroke:0}
.ticker-track .sep{width:10px;height:10px;border-radius:50%;background:var(--magenta);flex-shrink:0;box-shadow:0 0 12px var(--magenta)}

/* ============ WHY (magenta) ============ */
.why{background:var(--magenta);color:#fff;padding:100px 0;position:relative;overflow:hidden}
.why::before{content:"";position:absolute;top:-100px;right:-100px;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 60%);z-index:0}
.why::after{content:"";position:absolute;bottom:-100px;left:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(0,0,0,.18),transparent 60%);z-index:0}
.why .wrap{position:relative;z-index:1}
.why .section-header h2{color:#fff}
.why .section-header .sub{color:rgba(255,255,255,.78)}
.why .eyebrow.on-dark{color:#FFD7E4}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.why-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-lg);
  padding:26px 24px;position:relative;overflow:hidden;
  transition:background .25s, border-color .25s, transform .35s cubic-bezier(.21,.6,.35,1);
  backdrop-filter:blur(4px);
}
.why-card:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);transform:translateY(-5px)}
.why-card .bignum{
  position:absolute;top:6px;right:14px;
  font-family:var(--font-display);font-weight:700;font-size:84px;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);
  pointer-events:none;
}
.why-card .step{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;color:#FFD7E4;text-transform:uppercase}
.why-card h4{margin-top:14px;font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.why-card p{margin-top:8px;font-size:14px;color:rgba(255,255,255,.82);line-height:1.55}

/* ============ TESTIMONIAL ============ */
.testimonial{padding:100px 0;background:var(--paper)}
.testimonial-card{
  max-width:920px;margin:0 auto;background:var(--cream);
  border:1px solid var(--fog);border-radius:var(--radius-xl);
  padding:60px;position:relative;overflow:hidden;
}
.quote-mark{position:absolute;top:30px;right:40px;width:48px;height:48px;color:var(--magenta);opacity:.3}
.testimonial blockquote{
  font-family:var(--font-display);font-size:28px;font-weight:500;
  line-height:1.35;letter-spacing:-.015em;color:var(--ink);margin:0;text-wrap:pretty;
}
.testimonial .meta{margin-top:32px;display:flex;align-items:center;gap:14px}
.testimonial .avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--magenta),var(--ink));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:18px}
.testimonial .who strong{display:block;font-family:var(--font-display);font-weight:600;font-size:15px}
.testimonial .who span{display:block;font-size:13px;color:var(--steel)}

/* ============ FAQ ============ */
.faq{padding:100px 0;background:var(--cream)}
.faq-grid{max-width:840px;margin:0 auto}
.faq-item{background:var(--paper);border:1px solid var(--fog);border-radius:var(--radius);margin-bottom:10px;overflow:hidden;transition:border-color .2s}
.faq-item.open{border-color:var(--magenta-100)}
.faq-q{
  width:100%;text-align:left;padding:22px 24px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink);
}
.faq-q .plus{width:22px;height:22px;border-radius:50%;background:var(--fog);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .2s;color:var(--ink-2)}
.faq-item.open .faq-q .plus{background:var(--magenta);color:#fff;transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-a{max-height:300px}
.faq-a-inner{padding:0 24px 22px;color:var(--steel);line-height:1.6;font-size:15px}

/* ============ CTA FINAL (abismo) ============ */
.cta-final{
  position:relative;overflow:hidden;
  background:var(--abyss);color:#fff;padding:110px 0;
}
.cta-final .aurora{
  position:absolute;inset:-20%;pointer-events:none;
  background:
    radial-gradient(ellipse 45% 50% at 80% 50%, rgba(182,2,73,.5), transparent 65%),
    radial-gradient(ellipse 35% 45% at 12% 90%, rgba(126,2,51,.4), transparent 65%);
  filter:blur(12px);
  animation:aurora-drift calc(18s * var(--anim-mult)) ease-in-out infinite alternate;
}
.cta-final::after{
  content:"";position:absolute;top:50%;right:-100px;width:420px;height:420px;
  background:url('logo-bshark.png') center/contain no-repeat;
  opacity:.05;transform:translateY(-50%) rotate(-5deg);filter:brightness(0) invert(1);
}
.cta-final .wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;z-index:1}
.cta-final h2{color:#fff;max-width:620px}
.cta-final .sub{margin-top:14px;color:rgba(255,255,255,.6);max-width:540px;font-size:17px}
.cta-final .actions{display:flex;gap:12px;flex-wrap:wrap}

/* ============ FOOTER ============ */
footer{background:var(--abyss);color:#A89FA6;padding:80px 0 30px;position:relative}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent, var(--magenta) 30%, var(--magenta) 70%, transparent)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand img{height:32px;margin-bottom:20px;filter:brightness(0) invert(1)}
.foot-brand p{font-size:14px;line-height:1.6;max-width:300px;color:#A89FA6}
.foot-social{margin-top:20px;display:flex;gap:10px}
.foot-social a{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#A89FA6;transition:background .15s,color .15s}
.foot-social a:hover{background:var(--magenta);color:#fff}
.foot-social svg{width:16px;height:16px}
.foot-col h5{font-family:var(--font-display);font-weight:600;font-size:13px;color:#fff;text-transform:uppercase;letter-spacing:.08em;margin:0 0 18px}
.foot-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.foot-col a{font-size:14px;color:#A89FA6;transition:color .15s}
.foot-col a:hover{color:#fff}
.foot-bottom{padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:13px;color:#6F6670}
.foot-bottom .legal{display:flex;gap:18px}
.foot-bottom .legal a:hover{color:#fff}

/* ============ WHATSAPP FLOAT ============ */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:60;
  width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(37,211,102,.4), 0 4px 12px rgba(0,0,0,.15);
  transition:transform .2s ease;
}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px}
.wa-float::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  border:2px solid #25D366;opacity:.5;
  animation:wa-ring calc(2s * var(--anim-mult)) ease-out infinite;
}
@keyframes wa-ring{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.4);opacity:0}}

/* ============ SCROLL REVEAL ============ */
@media (prefers-reduced-motion: no-preference){
  .rv{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.21,.6,.35,1), transform .7s cubic-bezier(.21,.6,.35,1)}
  .rv.in{opacity:1;transform:none}
  .rv-d1{transition-delay:.07s}.rv-d2{transition-delay:.14s}.rv-d3{transition-delay:.21s}
  .rv-d4{transition-delay:.28s}.rv-d5{transition-delay:.35s}.rv-d6{transition-delay:.42s}
}
@media (prefers-reduced-motion: reduce){
  .hero .aurora,.hero .gridfloor,.scanline,.ticker-track,.marquee-track{animation:none}
}
body.anim-off .aurora,
body.anim-off .gridfloor,
body.anim-off .scanline,
body.anim-off .hero-shark-slot,
body.anim-off .scene-chip,
body.anim-off .spark i{animation:none !important}

/* ============ RESPONSIVE ============ */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .nav{display:none}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat{border-bottom:1px solid var(--fog)}
  .stat:nth-child(2){border-right:0}
  .bento-card.span3,.bento-card.span2{grid-column:span 6}
  .why-grid{grid-template-columns:1fr 1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .testimonial-card{padding:40px 28px}
  .testimonial blockquote{font-size:22px}
  .cta-final .wrap{flex-direction:column;align-items:flex-start}
  .scene-chip.c1{left:2%}
  .scene-chip.c2{right:2%}
}
@media (max-width: 560px){
  .why-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .stat{border-right:0}
  .hero{padding-bottom:110px}
  .hero-term{font-size:11px}
}

/* ============ LIVE PANEL (genérico para heros de producto) ============ */
.live-panel{
  position:absolute;inset:8% 4%;z-index:1;
  background:rgba(20,15,22,.66);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;padding:26px;
  display:flex;flex-direction:column;gap:18px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7);
}
.lp-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lp-head .t{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-soft)}
.lp-kpi{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.lp-kpi .big small{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--pink-soft);margin-bottom:4px}
.lp-kpi .big strong{font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:-.03em;color:#fff;line-height:1}
.lp-kpi .delta{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--font-mono);font-size:12px;font-weight:600;color:#3DDC84;
  background:rgba(61,220,132,.10);border:1px solid rgba(61,220,132,.3);
  border-radius:999px;padding:5px 10px;white-space:nowrap;
}
.lp-kpi .delta.warn{color:#FFC53D;background:rgba(255,197,61,.10);border-color:rgba(255,197,61,.35)}
.lp-kpi .delta svg{width:12px;height:12px}
.lp-list{display:flex;flex-direction:column;gap:9px}
.lp-item{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);
  border-radius:10px;padding:10px 13px;
  font-size:13px;color:rgba(255,255,255,.85);
}
.lp-item svg{width:15px;height:15px;flex-shrink:0;color:#3DDC84}
.lp-item.warn svg{color:#FFC53D}
.lp-item.alert svg{color:#FF5C7A}
.lp-item .lbl{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-item .st{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--pink-soft);white-space:nowrap}
.lp-bars{display:flex;align-items:flex-end;gap:7px;height:84px;padding:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px}
.lp-bars i{display:block;flex:1;border-radius:3px 3px 0 0;background:rgba(255,255,255,.16);transform-origin:bottom;animation:lp-grow 1s cubic-bezier(.21,.6,.35,1) backwards}
.lp-bars i.hl{background:linear-gradient(180deg,var(--pink-bright),var(--magenta))}
@keyframes lp-grow{from{transform:scaleY(0)}}
.lp-meter{display:flex;flex-direction:column;gap:6px}
.lp-meter .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12.5px;color:rgba(255,255,255,.7)}
.lp-meter .row b{font-family:var(--font-mono);font-size:11px;color:#fff}
.lp-meter .track{height:6px;border-radius:3px;background:rgba(255,255,255,.10);overflow:hidden}
.lp-meter .track i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--magenta),var(--pink-bright))}

/* ============ VFX UPGRADES (efectos visuales) ============ */

/* stats: viga superior + número con gradiente al hover */
.stat::after{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--magenta),var(--pink-bright));
  transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.21,.6,.35,1);
}
.stat:hover::after{transform:scaleX(1)}
.stat:hover .num .accent{
  background:linear-gradient(100deg,var(--magenta),var(--pink-bright));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* bento: tilt 3D sutil + icono con vida */
.bento{perspective:1200px}
.bento-card{--rx:0deg;--ry:0deg;transform-style:preserve-3d}
.bento-card:hover{transform:translateY(-5px) rotateX(var(--rx)) rotateY(var(--ry))}
.bento-icon{transition:transform .35s cubic-bezier(.2,.9,.3,1.4), box-shadow .35s ease}
.bento-card:hover .bento-icon{
  transform:scale(1.1) rotate(-6deg);
  box-shadow:0 8px 24px -6px rgba(182,2,73,.5);
}
.bento-card h3{transition:color .2s ease}
.bento-card:hover h3{color:var(--magenta)}

/* why cards: barrido de brillo diagonal */
.why-card{isolation:isolate}
.why-card::before{
  content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;z-index:0;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);
  transform:skewX(-18deg);transition:left .55s ease;pointer-events:none;
}
.why-card:hover::before{left:140%}
.why-card .bignum{transition:opacity .3s ease, transform .3s ease}
.why-card:hover .bignum{opacity:1;transform:scale(1.08)}

/* ticker: glow en palabras sólidas + bordes desvanecidos */
.ticker-strip{
  mask-image:linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 6%, black 94%, transparent);
}
.ticker-track span.solid{text-shadow:0 0 24px rgba(255,92,144,.55)}

/* testimonial: borde degradado + comillas flotando */
.testimonial-card{
  border:1px solid transparent;
  background:
    linear-gradient(var(--cream),var(--cream)) padding-box,
    linear-gradient(135deg,var(--fog) 30%, var(--magenta-100) 70%, var(--magenta) 100%) border-box;
}
.quote-mark{animation:quote-float calc(5s * var(--anim-mult)) ease-in-out infinite}
@keyframes quote-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(4deg)}}

/* marquee: logos enfocan al pasar */
.mark{filter:blur(0);opacity:.85}
.mark:hover{opacity:1}

/* eyebrow: la línea crece al revelarse la sección */
@media (prefers-reduced-motion: no-preference){
  .section-header.rv .eyebrow::before{transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.21,.6,.35,1) .15s}
  .section-header.rv.in .eyebrow::before{transform:scaleX(1)}
}

/* reveal refinado: leve blur que enfoca */
@media (prefers-reduced-motion: no-preference){
  .rv{filter:blur(5px)}
  .rv.in{filter:blur(0)}
}

/* CTA final: línea de energía superior */
.cta-final::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:1;
  background:linear-gradient(90deg,transparent,var(--pink-bright) 30%,var(--magenta) 70%,transparent);
  background-size:200% 100%;
  animation:beam-slide calc(6s * var(--anim-mult)) linear infinite;
}
@keyframes beam-slide{from{background-position:200% 0}to{background-position:-200% 0}}

/* faq: apertura con leve resorte */
.faq-item.open{box-shadow:var(--shadow-md)}
.faq-a-inner{animation:faq-in .35s cubic-bezier(.2,.9,.3,1.1)}
@keyframes faq-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

body.anim-off .quote-mark,
body.anim-off .cta-final::before{animation:none !important}

/* ============ VFX UPGRADES 2 (nav, footer, micro-detalles) ============ */

/* progress bar con resplandor */
.progress{box-shadow:0 0 12px rgba(255,92,144,.65)}

/* nav: subrayado degradado que crece */
.nav-item > a, .nav-item > button{position:relative}
.nav-item > a::after, .nav-item > button::after{
  content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:1px;
  background:linear-gradient(90deg,var(--magenta),var(--pink-bright));
  transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.21,.6,.35,1);
}
.nav-item > a:hover::after, .nav-item > button:hover::after{transform:scaleX(1)}

/* dropdown: entrada en cascada + iconos vivos */
@media (prefers-reduced-motion: no-preference){
  .nav-item.open .dd-item{animation:dd-pop .32s cubic-bezier(.2,.9,.3,1.15) both}
  .dd-group .dd-item:nth-child(2){animation-delay:.02s}
  .dd-group .dd-item:nth-child(3){animation-delay:.06s}
  .dd-group .dd-item:nth-child(4){animation-delay:.1s}
  .dd-group .dd-item:nth-child(5){animation-delay:.14s}
  @keyframes dd-pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
.dd-icon{transition:transform .3s cubic-bezier(.2,.9,.3,1.4), box-shadow .3s ease}
.dd-item:hover .dd-icon{transform:scale(1.12) rotate(-6deg);box-shadow:0 6px 16px -4px rgba(182,2,73,.5)}

/* botones ghost: relleno que barre de izquierda a derecha */
.btn-ghost{
  background-image:linear-gradient(90deg,var(--ink),var(--ink));
  background-repeat:no-repeat;background-size:0% 100%;
  transition:transform .15s ease, color .2s ease, border-color .2s ease, background-size .28s cubic-bezier(.21,.6,.35,1);
}
.btn-ghost:hover{background-color:transparent;background-image:linear-gradient(90deg,var(--ink),var(--ink));background-size:100% 100%}
.btn-ghost.on-dark{background-image:linear-gradient(90deg,#fff,#fff);background-size:0% 100%}
.btn-ghost.on-dark:hover{background-color:transparent;background-image:linear-gradient(90deg,#fff,#fff);background-size:100% 100%;color:var(--abyss)}

/* hero: items de confianza con vida */
.hero-trust .item{transition:color .2s ease, transform .2s ease}
.hero-trust .item:hover{color:rgba(255,255,255,.95);transform:translateX(3px)}
.hero-trust .item svg{transition:transform .3s cubic-bezier(.2,.9,.3,1.4)}
.hero-trust .item:hover svg{transform:scale(1.25)}
.hero-eyebrow{animation:eyebrow-glow calc(3.5s * var(--anim-mult)) ease-in-out infinite}
@keyframes eyebrow-glow{
  0%,100%{box-shadow:0 0 24px -6px rgba(182,2,73,.5), inset 0 0 12px rgba(182,2,73,.12)}
  50%{box-shadow:0 0 34px -4px rgba(255,92,144,.65), inset 0 0 16px rgba(182,2,73,.2)}
}

/* paneles "en vivo": filas que responden */
.lp-item, .fin-item, .comp-item, .ticket{transition:background .2s ease, transform .2s ease, border-color .2s ease}
.lp-item:hover, .fin-item:hover, .comp-item:hover, .ticket:hover{
  background:rgba(255,92,144,.09);border-color:rgba(255,92,144,.3);transform:translateX(4px);
}

/* mini-mocks: despiertan cuando la card recibe hover */
.bento-card .mini-bars i{transition:filter .25s ease}
.bento-card:hover .mini-bars i{filter:brightness(1.12)}
.bento-card:hover .mini-pipe .chip.hot::before{animation:pulse calc(1.4s * var(--anim-mult)) infinite}
.mini-ledger .lrow, .mini-sla .srow, .mini-mant .mrow, .mini-tarifa .trow{transition:transform .25s ease}
.bento-card:hover .mini-ledger .lrow, .bento-card:hover .mini-sla .srow,
.bento-card:hover .mini-mant .mrow, .bento-card:hover .mini-tarifa .trow{transform:translateX(3px)}
.bento-card:hover .mini-ledger .lrow:nth-child(2), .bento-card:hover .mini-sla .srow:nth-child(2),
.bento-card:hover .mini-mant .mrow:nth-child(2), .bento-card:hover .mini-tarifa .trow:nth-child(2){transition-delay:.05s}
.bento-card:hover .mini-ledger .lrow:nth-child(3), .bento-card:hover .mini-sla .srow:nth-child(3),
.bento-card:hover .mini-mant .mrow:nth-child(3), .bento-card:hover .mini-tarifa .trow:nth-child(3){transition-delay:.1s}

/* footer: links con guía y social con salto */
.foot-col ul li a{position:relative;display:inline-block;transition:color .15s ease, transform .2s ease}
.foot-col ul li a:hover{transform:translateX(5px)}
.foot-col ul li a::before{
  content:"›";position:absolute;left:-12px;opacity:0;color:var(--magenta);
  transition:opacity .2s ease, left .2s ease;
}
.foot-col ul li a:hover::before{opacity:1;left:-10px}
.foot-social a{transition:background .2s ease, color .2s ease, transform .25s cubic-bezier(.2,.9,.3,1.4), box-shadow .25s ease}
.foot-social a:hover{transform:translateY(-4px) rotate(-5deg);box-shadow:0 10px 22px -6px rgba(182,2,73,.55)}

/* utilidad superior: latido del estado */
.utility-left .dot{animation:pulse calc(2s * var(--anim-mult)) infinite}

body.anim-off .hero-eyebrow,
body.anim-off .utility-left .dot{animation:none !important}

/* ============ RESPONSIVE GLOBAL (móvil) ============ */
@media (max-width: 980px){
  .utility .wrap{height:auto;padding-top:7px;padding-bottom:7px;gap:10px}
}
@media (max-width: 760px){
  .utility-left span{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
  .utility-right a[href^="tel"]{display:none}
  .utility-right .lang{display:none}
}
@media (max-width: 700px){
  .hero{padding-bottom:96px}
  /* escenas con panel "en vivo": el panel pasa a flujo normal (sin recorte) */
  .hero-scene:not(:has(.hero-shark-slot)){aspect-ratio:auto;display:flex;flex-direction:column}
  .hero-scene:not(:has(.hero-shark-slot)) .hud{display:none}
  .hero-scene:not(:has(.hero-shark-slot)) .scene-label{position:static;align-self:flex-start;margin-bottom:14px;width:max-content}
  .live-panel, .comp-panel, .fin-panel, .desk-panel{position:static;inset:auto}
}
@media (max-width: 560px){
  .section{padding:64px 0}
  .section-header{margin-bottom:40px}
  .testimonial{padding:64px 0}
  .faq{padding:64px 0}
  .cta-final{padding:70px 0}
  .stats{padding:64px 0}
  .stat{padding:28px 24px}
  .stat .num{font-size:44px}
  h3{font-size:20px}
  .hero-sub{font-size:16.5px}
  .btn{padding:12px 16px;font-size:14px}
  .btn-sm{padding:9px 12px;font-size:12.5px}
  .login-link{display:none}
  .header .wrap{gap:12px;height:64px}
  .hero{margin-top:-64px;padding-top:calc(72px + 64px)}
  .foot-top{grid-template-columns:1fr;gap:30px}
  .foot-bottom{flex-direction:column;align-items:flex-start}
  .ticker-track span{font-size:26px}
  .testimonial-card{padding:32px 22px}
  .wa-float{width:52px;height:52px;bottom:18px;right:18px}
  .wa-float svg{width:26px;height:26px}
  .scene-chip{padding:9px 12px}
  .scene-chip strong{font-size:16px}
}
