
/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  --bg:       #0a0a0a;
  --surface:  #121212;
  --card:     #181818;
  --green:    #39FF82;
  --green-d:  #22c960;
  --green-glow: rgba(57,255,130,.18);
  --orange:   #FF6B35;
  --white:    #f5f5f5;
  --muted:    #888;
  --border:   rgba(255,255,255,.07);
  --radius:   18px;
  --font-head: 'Syne', sans-serif;
  --font-body: 'DM Sans', sans-serif;
}

/* ─── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--white);
  font-family:var(--font-body);font-size:16px;
  line-height:1.6;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ─── SCROLLBAR ──────────────────────────────────────────── */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--green);border-radius:4px}

/* ─── GRAIN OVERLAY ─────────────────────────────────────── */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:999;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:.35;
}

/* ─── NOISE BG HELPER ────────────────────────────────────── */
.glow-orb{
  position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;
}

/* ─── TYPOGRAPHY ─────────────────────────────────────────── */
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.1;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:800}
h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:800}
h3{font-size:1.3rem;font-weight:700}
p{font-size:1.05rem;color:#c0c0c0;line-height:1.7}

/* ─── LAYOUT ─────────────────────────────────────────────── */
.container{max-width:1160px;margin:0 auto;padding:0 24px}
section{padding:100px 0;position:relative}

/* ─── BUTTONS ────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:50px;font-family:var(--font-body);
  font-size:1rem;font-weight:600;cursor:pointer;border:none;
  transition:all .25s cubic-bezier(.4,0,.2,1);text-wrap:nowrap;
  z-index: 999;
}
.btn-primary{
  background:var(--green);color:#000;
  box-shadow:0 0 24px var(--green-glow);
}
.btn-primary:hover{
  background:var(--green-d);transform:translateY(-2px);
  box-shadow:0 0 40px rgba(57,255,130,.35);
}
.btn-outline{
  background:transparent;color:var(--white);
  border:1.5px solid var(--border);
}
.btn-outline:hover{border-color:var(--green);color:var(--green);transform:translateY(-2px)}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 0 20px rgba(255,107,53,.2)}
.btn-orange:hover{transform:translateY(-2px);box-shadow:0 0 36px rgba(255,107,53,.4)}

/* ─── BADGE ──────────────────────────────────────────────── */
.badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(57,255,130,.1);border:1px solid rgba(57,255,130,.25);
  color:var(--green);border-radius:50px;
  padding:6px 14px;font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  margin-bottom:20px;
}
.badge-dot{width:7px;height:7px;background:var(--green);border-radius:50%;animation:pulse 2s infinite}

/* ─── NAV ────────────────────────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:18px 0;
  background:rgba(10,10,10,.7);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  transition:background .3s;
}
.nav-inner{
  max-width:1160px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{
  font-family:var(--font-head);font-size:1.6rem;font-weight:800;
  color:var(--white);letter-spacing:-.04em;
}
.logo span{color:var(--green)}

/* ─── LOGO MARK (real SVG, recolored for dark bg) ───────── */
.logo-mark path[fill="#333333"]{fill:var(--white);transition:fill .3s}
.logo.logo-mark{display:flex;align-items:center;height:34px}
.logo.logo-mark svg{height:100%;width:auto;display:block}
.logo.logo-mark:hover path[fill="#333333"]{fill:var(--green)}
.footer-logo.logo-mark{height:44px;display:flex;justify-content:center}
.footer-logo.logo-mark svg{height:100%;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-size:.92rem;color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--white)}
.nav-cta{padding:10px 22px;font-size:.9rem}

/* ─── HERO ───────────────────────────────────────────────── */
#hero{
  min-height:100vh;display:flex;align-items:center;
  padding-top:100px;overflow:hidden;
}
.hero-grid{
  display:grid;grid-template-columns:1fr .5fr;gap:30px;align-items:center;
}
.hero-tag{font-size:.85rem;color:var(--green);font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.hero-title{margin-bottom:22px}
.hero-title em{font-style:normal;color:var(--green)}

/* ─── KINETIC TITLE ──────────────────────────────────────── */
.kinetic-title{display:flex;flex-direction:column;overflow:hidden}
.kt-line{overflow:hidden;display:block}
.kt-inner{
  display:block;transform:translateY(115%);
  animation:ktReveal .9s cubic-bezier(.16,1,.3,1) both;
}
.kt-line-1 .kt-inner{animation-delay:.55s}
.kt-line-2 .kt-inner{animation-delay:.72s}
.kt-accent{
  color:var(--green);position:relative;
  background:linear-gradient(100deg,var(--green) 40%,#eafff2 50%,var(--green) 60%);
  background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:ktReveal .9s cubic-bezier(.16,1,.3,1) .72s both, ktShimmer 3.4s linear 2.2s infinite;
}
@keyframes ktReveal{to{transform:translateY(0)}}
@keyframes ktShimmer{0%{background-position:200% 0}100%{background-position:-60% 0}}
.hero-sub{font-size:1.1rem;margin-bottom:30px;max-width:460px}
.hero-bullets{margin-bottom:36px;display:flex;flex-direction:column;gap:10px}
.hero-bullets li{
  display:flex;align-items:center;gap:10px;
  font-size:.98rem;color:var(--white);font-weight:500;
}
.hero-bullets li::before{
  content:'✔';color:var(--green);font-size:1rem;
  background:rgba(57,255,130,.12);padding:4px 8px;border-radius:6px;
}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}

/* LIVE WHATSAPP FEED (hero signature visual) */
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}
.live-feed-wrap{position:relative;width:100%;max-width:420px}
.feed-glow{
  position:absolute;inset:-30px;border-radius:32px;
  background:radial-gradient(circle at 30% 20%,rgba(57,255,130,.16),transparent 65%);
  filter:blur(10px);z-index:0;
}
.live-feed-card{
  position:relative;z-index:1;width:100%;border-radius:22px;
  border:1px solid var(--border);background:var(--surface);
  box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 1px var(--border);
  overflow:hidden;padding:22px;
}
.feed-header{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border);
}
.feed-header-left{display:flex;align-items:center;gap:9px;font-size:.85rem;font-weight:700;color:var(--white)}
.feed-live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 1.8s infinite;box-shadow:0 0 10px var(--green)}
.feed-platform{
  display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:#25D366;
  background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.2);
  padding:4px 10px;border-radius:20px;
}
.feed-messages{min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;position:relative}
.feed-msg{
  align-self:flex-start;max-width:88%;background:var(--card);
  border:1px solid var(--border);border-radius:14px 14px 14px 4px;
  padding:12px 14px;opacity:0;transform:translateY(14px);
}
.feed-msg p{font-size:.88rem;color:var(--white);margin:0;line-height:1.45}
.feed-msg-time{display:block;font-size:.7rem;color:var(--green);font-weight:600;margin-top:6px;letter-spacing:.03em;text-transform:uppercase}
.fmsg-1{animation:feedMsgIn 9s ease-in-out infinite}
.fmsg-2{animation:feedMsgIn 9s ease-in-out infinite;animation-delay:1.4s}
.fmsg-3{animation:feedMsgIn 9s ease-in-out infinite;animation-delay:2.8s}
@keyframes feedMsgIn{
  0%{opacity:0;transform:translateY(14px)}
  8%{opacity:1;transform:translateY(0)}
  82%{opacity:1;transform:translateY(0)}
  94%,100%{opacity:0;transform:translateY(-6px)}
}
.feed-footer{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:18px;padding-top:16px;border-top:1px solid var(--border);
}
.feed-counter{display:flex;flex-direction:column}
.counter-num{font-family:var(--font-head);font-size:1.7rem;font-weight:800;color:var(--green);line-height:1.1}
.counter-label{font-size:.72rem;color:var(--muted)}
.feed-trend{font-size:.78rem;font-weight:700;color:var(--green)}

/* floating WA badge */
.float-wa{
  position:absolute;bottom:-18px;right:-18px;
  background:var(--green);color:#000;border-radius:50px;
  padding:10px 18px;font-weight:700;font-size:.8rem;
  display:flex;align-items:center;gap:7px;
  box-shadow:0 8px 32px rgba(57,255,130,.4);
  animation:bounce 2.5s ease-in-out infinite;
  z-index: 999;
}
.wa-icon{font-size:1.1rem}
.glow-hero{
  top:-120px;right:-80px;width:480px;height:480px;
  background:rgba(57,255,130,.07);
  animation:orbBreathe 9s ease-in-out infinite;
}
.glow-hero-2{
  bottom:-140px;left:-100px;width:380px;height:380px;
  background:rgba(255,107,53,.05);
  animation:orbBreathe 11s ease-in-out infinite 1.5s;
}
@keyframes orbBreathe{
  0%,100%{transform:scale(1) translate(0,0);opacity:1}
  50%{transform:scale(1.15) translate(-20px,20px);opacity:.75}
}

/* ─── HERO AMBIENT SCAN ──────────────────────────────────── */
.hero-scan{
  position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;
}
.hero-scan::before{
  content:'';position:absolute;top:0;left:-40%;width:36%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(57,255,130,.06) 45%,rgba(57,255,130,.1) 50%,rgba(57,255,130,.06) 55%,transparent);
  transform:skewX(-12deg);
  animation:heroScanMove 7s ease-in-out infinite;
}
@keyframes heroScanMove{
  0%{left:-40%}
  55%{left:110%}
  100%{left:110%}
}
.hero-grain-dots{
  position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(ellipse 70% 60% at 65% 35%,#000 0%,transparent 75%);
}
#hero .container{
  max-width: 80%;
  position:relative;
  z-index:1;
}

/* ─── SECTION LABEL ──────────────────────────────────────── */
.section-label{
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:14px;
  color:var(--green);
}

/* ─── PROBLEMA ───────────────────────────────────────────── */
#problema{background:var(--surface);}
.grid-bg {
  background-image: url(img/bg-shape.png);
    background-position: center;
    background-repeat: repeat;
}
.problema-header{text-align:center;margin-bottom:60px}
.problema-header h2{margin-bottom:16px}
.problema-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:50px;
}
.problema-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:32px;display:flex;gap:18px;align-items:flex-start;
  transition:border-color .3s,transform .3s;
}
.problema-card:hover{border-color:rgba(57,255,130,.3);transform:translateY(-4px)}
.card-icon{font-size:2rem;flex-shrink:0;line-height:1}
.problema-remate{
  background:linear-gradient(135deg,rgba(57,255,130,.08),rgba(57,255,130,.02));
  border:1px solid rgba(57,255,130,.2);
  border-radius:var(--radius);padding:32px;text-align:center;
}
.problema-remate p{color:var(--white);font-size:1.1rem;font-weight:500}

/* ─── SOLOGAN ───────────────────────────────────────────── */
.slogan-band-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #0a0a0a;
  padding: 0;
}

.slogan-band {
  width: 120%;
  margin-left: -10%;
  /*transform: rotate(-3deg);*/
  background: #39FF82;
  padding: 22px 0;
  overflow: hidden;
  white-space: nowrap;
}

.slogan-track {
  display: inline-flex;
  align-items: center;
  animation: marquee-scroll 22s linear infinite;
  will-change: transform;
}

.slogan-item {
  font-family: "Syne", sans-serif;
  font-weight: 900;
  font-size: 3.5em;
  color: #0a0a0a;
  text-transform: none;
  padding: 0 24px;
  white-space: nowrap;
}

.star-slogan {
  font-size:2rem;
}

.slogan-dot {
  font-size: clamp(18px, 2.4vw, 32px);
  color: #0a0a0a;
  opacity: 0.5;
}

@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.slogan-band-wrap:hover .slogan-track {
  animation-play-state: paused;
}


/* ─── SOLUCIÓN 1 ───────────────────────────────────────────── */
#solucion { position: relative; overflow: hidden; }

/* glow que respira */
.glow-sol {
  animation: glow-breathe 6s ease-in-out infinite;
}
@keyframes glow-breathe {
  0%, 100% { opacity: .4; transform: scale(1); }
  50%      { opacity: .7; transform: scale(1.15); }
}

/* ─── pasos: entrada secuencial ─── */
.sol-steps { position: relative; }
.sol-step {
  position: relative;
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity .6s ease, transform .6s ease;
  transition-delay: calc(var(--i) * .18s);
}
.reveal-left.in-view .sol-step {
  opacity: 1;
  transform: translateX(0);
}

/* linea conectora entre numeros */
.sol-steps::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 20px;
  width: 2px;
  height: 0%;
  background: linear-gradient(#39FF82, transparent);
  transition: height 1.4s ease .3s;
}
.reveal-left.in-view .sol-steps::before {
  height: calc(100% - 40px);
}

/* numero: pop al aparecer */
.step-num {
  position: relative;
  z-index: 1;
  transform: scale(.5);
  transition: transform .5s cubic-bezier(.34,1.56,.64,1);
  transition-delay: calc(var(--i) * .18s + .1s);
}
.reveal-left.in-view .step-num {
  transform: scale(1);
}

/* ─── telefono: entrada 3D + idle float ─── */
.sol-visual { perspective: 1000px; }
.phone-mockup {
  opacity: 0;
  transform: rotateY(-12deg) rotateX(4deg) translateY(30px) scale(.92);
  transition: opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.reveal-right.in-view .phone-mockup {
  opacity: 1;
  transform: rotateY(0) rotateX(0) translateY(0) scale(1);
  animation: phone-idle 5s ease-in-out .8s infinite;
}
@keyframes phone-idle {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}

/* ─── notificacion: llega despues, con bounce ─── */
.phone-notif {
  opacity: 0;
  transform: translateY(10px) scale(.9);
  transition: opacity .5s cubic-bezier(.34,1.56,.64,1), transform .5s cubic-bezier(.34,1.56,.64,1);
}
.phone-notif.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.notif-green {
  animation: notif-pulse 1.6s ease-in-out infinite;
}
@keyframes notif-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(57,255,130,.6); }
  50%      { box-shadow: 0 0 0 6px rgba(57,255,130,0); }
}

.wa-phone {
  width: 280px;
  margin: 0 auto;
  background: #0b0b0b;
  border-radius: 34px;
  padding: 10px;
  box-shadow: 0 20px 50px rgba(0,0,0,.4);
  position: relative;
}
.wa-notch {
  width: 90px; height: 18px;
  background: #0b0b0b;
  border-radius: 0 0 14px 14px;
  position: absolute;
  top: 10px; left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.wa-header {
  background: #1f2c22;
  border-radius: 20px 20px 0 0;
  padding: 22px 14px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.wa-avatar {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: #39FF82;
  color: #0a0a0a;
  font-size: .75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wa-header-info {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.wa-header-info strong {
  color: #fff;
  font-size: .85rem;
}
.wa-status {
  font-size: .7rem;
  color: #39FF82;
}

.wa-chat {
  background: #e9ddce;
  color: #222222;
  height: 340px;
  padding: 14px 10px;
  overflow: hidden;
  border-radius: 0 0 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wa-bubble {
  max-width: 78%;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: .78rem;
  line-height: 1.35;
  opacity: 0;
  transform: translateY(10px) scale(.95);
  transition: opacity .35s ease, transform .35s ease;
}
.wa-bubble.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.wa-bubble.in {
  align-self: flex-start;
  background: #fff;
  border-bottom-left-radius: 2px;
}
.wa-bubble.out {
  align-self: flex-end;
  background: #d9fdd3;
  border-bottom-right-radius: 2px;
}
.wa-bubble .wa-time {
  display: block;
  font-size: .6rem;
  color: #8a8a8a;
  margin-top: 3px;
  text-align: right;
}

/* indicador de escribiendo */
.wa-typing {
  align-self: flex-start;
  background: #fff;
  border-radius: 10px;
  border-bottom-left-radius: 2px;
  padding: 10px 12px;
  display: flex;
  gap: 4px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .3s ease, transform .3s ease;
}
.wa-typing.show { opacity: 1; transform: translateY(0); }
.wa-typing span {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #8a8a8a;
  animation: wa-dot 1s infinite ease-in-out;
}
.wa-typing span:nth-child(2) { animation-delay: .15s; }
.wa-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes wa-dot {
  0%, 60%, 100% { transform: translateY(0); opacity: .4; }
  30% { transform: translateY(-4px); opacity: 1; }
}


/* ─── SOLUCIÓN ───────────────────────────────────────────── */
#solucion .sol-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
}
.sol-text h2{margin-bottom:20px;}
.sol-text h2 em{font-style:normal;color:var(--green)}
.sol-steps{margin:30px 0;display:flex;flex-direction:column;gap:16px}
.sol-step{
  display:flex;gap:14px;align-items:flex-start;
  padding:18px;background:var(--card);border-radius:12px;
  border-left:3px solid var(--green);
}
.step-num{
  min-width:28px;height:28px;border-radius:50%;
  background:var(--green);color:#000;
  font-weight:800;font-size:.8rem;
  display:flex;align-items:center;justify-content:center;
}
.sol-visual{
  position:relative;display:flex;align-items:center;justify-content:center;
}
.phone-mockup{
  width:220px;background:var(--card);border-radius:30px;
  padding:20px 14px;border:1.5px solid var(--border);
  box-shadow:0 40px 80px rgba(0,0,0,.5);
  position:relative;z-index:2;
}
.phone-top{
  width:60px;height:8px;background:#222;border-radius:8px;
  margin:0 auto 18px;
}
.phone-screen-content{display:flex;flex-direction:column;gap:10px}
.phone-banner{
  height:80px;background:linear-gradient(135deg,#0f2,#0a8a3d);
  border-radius:10px;display:flex;align-items:center;justify-content:center;
}
.phone-banner span{font-size:.5rem;color:#000;font-weight:800;letter-spacing:.05em}
.phone-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.phone-block{height:40px;background:#222;border-radius:8px}
.phone-btn{
  height:32px;background:var(--green);border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:.5rem;font-weight:800;color:#000;margin-top:8px;
}
.phone-notif{
  position:absolute;top:-20px;right:-30px;z-index:3;
  background:#fff;border-radius:12px;padding:10px 14px;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
  display:flex;align-items:center;gap:8px;
  font-size:.75rem;color:#000;font-weight:600;
  animation:float-notif 3s ease-in-out infinite;
}
.notif-green{width:8px;height:8px;background:#25D366;border-radius:50%}
.glow-sol{bottom:-80px;left:-80px;width:350px;height:350px;background:rgba(57,255,130,.05)}

/* ─── SERVICIOS ──────────────────────────────────────────── */
#servicios{background:var(--surface)}
.servicios-header{text-align:center;margin-bottom:60px}
.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.servicio-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:36px 28px;display:flex;flex-direction:column;gap:16px;
  transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;
}
.servicio-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(57,255,130,.05),transparent);
  opacity:0;transition:opacity .3s;
}
.servicio-card:hover{transform:translateY(-6px);border-color:rgba(57,255,130,.3)}
.servicio-card:hover::before{opacity:1}
.serv-icon{font-size:2.4rem;line-height:1}
.serv-tag{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.servicio-card h3{font-size:1.2rem}
.servicio-card p{font-size:.95rem;flex:1}
.servicio-card .btn{align-self:flex-start;padding:11px 22px;font-size:.9rem}

/* ─── BENEFICIOS ─────────────────────────────────────────── */
#beneficios .ben-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.beneficios-title {
  text-align: center;
  padding-bottom: 40px;
}

.ben-list{display:flex;flex-direction:column;gap:18px}
.ben-item{
  display:flex;gap:16px;align-items:flex-start;
  padding:20px;background:var(--card);border-radius:12px;
  border:1px solid var(--border);
  transition:border-color .3s;
}
.ben-item:hover{border-color:rgba(57,255,130,.25)}
.ben-icon{
  min-width:44px;height:44px;background:rgba(57,255,130,.1);
  border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;
}
.ben-visual{position:relative;display:flex;align-items:center;justify-content:center}
.stats-card{
  background:var(--card);border:1px solid var(--border);border-radius:24px;
  padding:40px;width:70%;position:relative;z-index:2;
}
.stat-row{display:flex;flex-direction:column;gap:20px}
.stat-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px;background:var(--bg);border-radius:10px;
}
.stat-num{font-family:var(--font-head);font-size:2.5rem;font-weight:800;color:var(--green)}
.stat-label{font-size:.8rem;color:var(--muted)}
.stat-bar-wrap{height:4px;background:#222;border-radius:4px;margin-top:8px;overflow:hidden}
.stat-bar{height:100%;background:var(--green);border-radius:4px;transition:width 1.5s ease}

/* ─── PROCESO ────────────────────────────────────────────── */
#proceso{background:var(--surface)}
.proceso-header{text-align:center;margin-bottom:70px}
.proceso-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;
}
.proceso-steps::before{
  content:'';position:absolute;top:28px;left:12.5%;right:12.5%;height:2px;
  background:linear-gradient(90deg,var(--green),rgba(57,255,130,.1));
  z-index:0;
}
.paso{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 16px;position:relative;z-index:1;
}
.paso-num{
  width:56px;height:56px;border-radius:50%;
  background:var(--green);color:#000;font-family:var(--font-head);
  font-size:1.4rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;box-shadow:0 0 30px rgba(57,255,130,.4);
  position:relative;z-index:1;
}
.paso h3{margin-bottom:8px;font-size:1.05rem}
.paso p{font-size:.88rem}

/* ─── AUTORIDAD ──────────────────────────────────────────── */
#autoridad{
  /*background:radial-gradient(ellipse at 50% 0%,rgba(57,255,130,.04) 0%,transparent 70%);*/
}
.auto-header{text-align:center;margin-bottom:60px}
.testimonios{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:50px}
.testimonio{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:32px;position:relative;overflow:hidden;
}
.testimonio::before{
  content:'"';font-family:var(--font-head);font-size:8rem;color:rgba(57,255,130,.06);
  position:absolute;top:-20px;left:16px;line-height:1;font-weight:800;
}
.test-text{font-size:1rem;color:var(--white);margin-bottom:20px;position:relative;z-index:1;line-height:1.6}
.test-author{display:flex;align-items:center;gap:12px}
.test-avatar{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
  background:rgba(57,255,130,.1);
}
.test-name{font-weight:700;font-size:.9rem}
.test-role{font-size:.78rem;color:var(--muted)}
.numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.numero{text-align:center;padding:30px;background:var(--card);border-radius:var(--radius);border:1px solid var(--border)}
.numero-big{font-family:var(--font-head);font-size:3rem;font-weight:800;color:var(--green);display:block;line-height:1.1}
.numero p{font-size:.88rem;margin-top:6px}

/* ─── CTA FINAL ──────────────────────────────────────────── */
#cta-final{
  background:linear-gradient(135deg,rgba(57,255,130,.06) 0%,rgba(57,255,130,.01) 100%);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  text-align:center;
}
.cta-wrap{max-width:680px;margin:0 auto}
.cta-wrap h2{margin-bottom:18px}
.cta-wrap h2 em{font-style:normal;color:var(--green)}
.cta-wrap p{margin-bottom:36px;font-size:1.1rem}
.cta-bullets{
  display:flex;justify-content:center;gap:24px;margin-bottom:40px;flex-wrap:wrap;
}
.cta-bullets li{
  display:flex;align-items:center;gap:8px;
  font-size:.95rem;font-weight:500;color:var(--white);
}
.cta-bullets li::before{content:'✔';color:var(--green);font-weight:800}
.cta-btn-big{
  padding:18px 40px;font-size:1.15rem;letter-spacing:-.01em;
  box-shadow:0 0 50px rgba(57,255,130,.3);
}
.cta-btn-big:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 0 70px rgba(57,255,130,.5)}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer{padding:50px 0;border-top:1px solid var(--border)}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:24px;
  text-align:center;
  padding-bottom: 40px;
}
.footer-logo{font-family:var(--font-head);font-size:2rem;font-weight:800;letter-spacing:-.04em}
.footer-logo span{color:var(--green)}
.footer-tagline{color:var(--muted);font-size:.95rem;font-weight:500}
.footer-wa{
  display:flex;align-items:center;gap:10px;
  background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.2);
  color:#25D366;padding:10px 22px;border-radius:50px;font-weight:600;font-size:.9rem;
  transition:all .3s;
}
.footer-wa:hover{background:rgba(37,211,102,.2);transform:translateY(-2px)}
.footer-copy{font-size:.78rem;color:var(--muted); text-align: center;}

/* ─── STICKY WA ──────────────────────────────────────────── */
.sticky-wa{
  position:fixed;bottom:28px;right:28px;z-index:200;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;box-shadow:0 8px 32px rgba(37,211,102,.45);
  animation:bounce 2.5s ease-in-out infinite;
  transition:transform .2s,box-shadow .2s;
}
.sticky-wa:hover{transform:scale(1.12)!important;box-shadow:0 12px 40px rgba(37,211,102,.6);animation:none}
.sticky-tooltip{
  position:absolute;right:68px;top:50%;transform:translateY(-50%);
  background:var(--white);color:#000;border-radius:8px;padding:6px 12px;
  font-size:.8rem;font-weight:700;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.sticky-tooltip::after{
  content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);
  border:6px solid transparent;border-left-color:var(--white);
}
.sticky-wa:hover .sticky-tooltip{opacity:1}

/* ─── ANIMATIONS ─────────────────────────────────────────── */
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes float-notif{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideRight{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideLeft{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-28px);transition:opacity .7s .15s cubic-bezier(.4,0,.2,1),transform .7s .15s cubic-bezier(.4,0,.2,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(28px);transition:opacity .7s .15s cubic-bezier(.4,0,.2,1),transform .7s .15s cubic-bezier(.4,0,.2,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}

/* stagger children */
.stagger > *{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}
.stagger.visible > *:nth-child(1){opacity:1;transform:none;transition-delay:.05s}
.stagger.visible > *:nth-child(2){opacity:1;transform:none;transition-delay:.15s}
.stagger.visible > *:nth-child(3){opacity:1;transform:none;transition-delay:.25s}
.stagger.visible > *:nth-child(4){opacity:1;transform:none;transition-delay:.35s}

/* Hero initial animations */
.hero-anim-1{animation:fadeUp .9s .2s both}
.hero-anim-2{animation:fadeUp .9s .4s both}
.hero-anim-3{animation:fadeUp .9s .6s both}
.hero-anim-4{animation:fadeUp .9s .8s both}
.hero-anim-5{animation:slideLeft .9s .5s both}

/* ─── PULSING CTA BAND FINAL ───────────────────────────────────── */
#cta-final {
  position: relative;
  overflow: hidden;
}

.cta-wrap {
  position: relative;
}

/* stagger reveal: cada hijo entra con su propio delay */
.reveal-item {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.in-view .reveal-item {
  opacity: 1;
  transform: translateY(0);
}

/* estrellas decorativas flotando */
.cta-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.cta-star {
  position: absolute;
  color: #39FF82;
  font-size: 35px;
  opacity: .8;
  animation: star-float 4s ease-in-out infinite;
}
.cta-star-1 { top:0;  left: 6%;  animation-delay: 0s; }
.cta-star-2 { top: 48%; right: 8%; animation-delay: 1.5s; }

@keyframes star-float {
  0%, 100% { transform: translateY(0) rotate(0deg); opacity: .5; }
  50%      { transform: translateY(-14px) rotate(180deg); opacity: 1; }
}

/* glow pulsante detras del boton */
.cta-btn-big {
  position: relative;
  isolation: isolate;
}
.cta-btn-glow {
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  background: #39FF82;
  filter: blur(18px);
  opacity: .5;
  z-index: -1;
  animation: btn-pulse 2.4s ease-in-out infinite;
}
@keyframes btn-pulse {
  0%, 100% { opacity: .35; transform: scale(1); }
  50%      { opacity: .65; transform: scale(1.08); }
}

/* hover: leve escala + shine */
.cta-btn-big {
  overflow: hidden;
  transition: transform .3s ease;
}
.cta-btn-big:hover {
  transform: scale(1.04);
}
.cta-btn-big::after {
  content: "";
  position: absolute;
  top: 0; left: -60%;
  width: 40%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
  transform: skewX(-20deg);
  transition: left .6s ease;
}
.cta-btn-big:hover::after {
  left: 130%;
}

/* ─── PULSING CTA BAND ───────────────────────────────────── */
.cta-band{
  background:var(--green);padding:20px 0;text-align:center;
}
.cta-band p{color:#000;font-weight:700;font-size:1rem;margin:0}
.cta-band a{color:#000;text-decoration:underline;font-weight:800}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:50px}
  .hero-visual{order:-1}
  .problema-grid{grid-template-columns:1fr}
  .sol-layout{grid-template-columns:1fr;gap:50px}
  .sol-visual{display:none}
  .servicios-grid{grid-template-columns:1fr}
  .ben-grid{grid-template-columns:1fr;gap:40px}
  .ben-visual{display:none}
  .proceso-steps{grid-template-columns:1fr 1fr;gap:30px}
  .proceso-steps::before{display:none}
  .testimonios{grid-template-columns:1fr}
  .numeros{grid-template-columns:1fr}
  nav .nav-links{display:none}
}
@media(max-width:600px){
  .proceso-steps{grid-template-columns:1fr}
  .cta-bullets{flex-direction:column;align-items:center}
  h1{font-size:2.2rem}h2{font-size:1.8rem}
}

@media(max-width:480px){
  .live-feed-card{padding:18px}
  .feed-messages{min-height:160px}
  .counter-num{font-size:1.4rem}
}

/* ─── REDUCED MOTION ─────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .hero-scan::before,.glow-hero,.glow-hero-2,.kt-accent,
  .fmsg-1,.fmsg-2,.fmsg-3,.float-wa,.feed-live-dot,.badge-dot{
    animation:none!important;
  }
  .kt-inner{animation:none!important;transform:translateY(0)!important}
  .feed-msg{opacity:1!important;transform:translateY(0)!important}
  .reveal,.reveal-left,.reveal-right,.stagger>*{transition:none!important}
}

/* ─── CURSOR GLOW ────────────────────────────────────────── */
.cursor-glow{
  position:fixed;pointer-events:none;z-index:9999;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(57,255,130,.04) 0%,transparent 70%);
  transform:translate(-50%,-50%);transition:left .08s,top .08s;
}

/* ─── MOBILE ────────────────────────────────────────── */
@media screen and (max-width: 768px) {
  .section-label h2{
    text-align: center;
  }
  .section-label {
    text-align: center;
  }
  .badge{
    text-align: center;
  }
  .kt-inner{
    text-align: center;
  }
  .sol-layout {
        grid-template-columns: none !important;
        width: 100%;
        margin: 0 auto;
        gap: 0;
    
  }
  .ben-grid{
        grid-template-columns: none !important;
        width: 100%;
        margin: 0 auto;
        gap: 0;
    
  }
  .sol-text h2 {
    margin-bottom: 20px;
    text-align: center;
}
  #cta-final .cta-wrap {
        width: 100%;
        margin: 0 auto;
  }
  .footer-inner{
        flex-direction: column;
        gap: 60px;
  }

}