/* =========================================================
   TOKENS DE DISEÑO
   ========================================================= */
:root{
  --bg:        #F7F9FC;
  --bg-2:      #EEF3FC;
  --bg-3:      #F3F0FC;
  --surface:   #FFFFFF;
  --surface-2: #F7F8FE;
  --border:    rgba(79,70,229,.12);
  --border-2:  rgba(79,70,229,.22);
  --text:      #0B1220;
  --muted:     #5B6B85;
  --muted-2:   #7C8AA4;

  --panel-bg:     #FFFFFF;
  --panel-border: rgba(15,23,42,.08);

  --teal:      #00C2CB;
  --teal-deep: #009aa2;
  --teal-soft: rgba(79,70,229,.12);

  --navy:      #0F3057;

  --wa-green:      #25D366;
  --wa-green-deep: #14a44a;
  --wa-green-soft: rgba(37,211,102,.12);
  --wa-green-text: #0c7a3d;

  --amber:      #f59e0b;
  --amber-deep: #d97706;
  --amber-soft: rgba(245,158,11,.14);

  --indigo:      #4F46E5;
  --indigo-deep: #3730A3;
  --indigo-soft: rgba(79,70,229,.12);
  --coral:       #FF6B4A;
  --mesh-mid:    #9333EA;

  --radius:    20px;
  --radius-sm: 12px;
  --shadow:    0 24px 60px -28px rgba(79,70,229,.18);
  --maxw:      1180px;
  --font-display: "Montserrat", system-ui, sans-serif;
  --font: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font);
  background-color:var(--bg);
  background-image:radial-gradient(rgba(79,70,229,.05) 1.5px, transparent 1.5px);
  background-size:38px 38px;
  color:var(--text);
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--indigo); color:#fff; }

/* ===== Layout ===== */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 22px; }
section{ position:relative; padding:96px 0; }

/* ===== Eyebrow — pill badge ===== */
.eyebrow{
  display:inline-block;
  font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--indigo);
  background:var(--indigo-soft);
  border:1px solid rgba(79,70,229,.22);
  border-radius:999px;
  padding:5px 12px;
  margin-bottom:16px;
}
.eyebrow.amber{
  color:var(--amber);
  background:var(--amber-soft);
  border-color:rgba(245,158,11,.28);
}
.eyebrow.coral{
  color:var(--coral);
  background:rgba(255,107,74,.1);
  border-color:rgba(255,107,74,.28);
}
.hero .eyebrow{
  color:var(--indigo);
  background:var(--indigo-soft);
  border-color:rgba(79,70,229,.25);
}

/* ===== Tipografía ===== */
h1,h2,h3{ font-family:var(--font-display); line-height:1.08; letter-spacing:-.02em; font-weight:800; }
.section-head{ max-width:640px; margin-bottom:48px; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head h2{ font-size:clamp(28px,4.2vw,44px); }
.section-head p{ color:var(--muted); font-size:clamp(16px,2vw,18px); margin-top:14px; }

/* ===== Botones ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font); font-weight:700; font-size:16px; cursor:pointer;
  padding:15px 26px; border-radius:999px; border:1px solid transparent;
  transition:transform .18s ease, box-shadow .25s ease, background .2s ease, border-color .2s ease;
  white-space:nowrap;
}
.btn:focus-visible{ outline:3px solid var(--indigo); outline-offset:2px; }
.btn-wa{
  background:linear-gradient(180deg,#2ee06f,var(--wa-green-deep));
  color:#04130a;
  box-shadow:0 14px 30px -12px rgba(37,211,102,.6);
}
.btn-wa:hover{ transform:translateY(-2px) scale(1.03); box-shadow:0 18px 40px -12px rgba(37,211,102,.75), 0 0 0 6px rgba(37,211,102,.15); }
.btn-ghost{ background:var(--surface); color:var(--text); border-color:var(--border-2); box-shadow:0 1px 2px rgba(15,23,42,.04); }
.btn-ghost:hover{ background:rgba(79,70,229,.06); transform:translateY(-2px) scale(1.03); box-shadow:0 0 0 6px rgba(79,70,229,.1); }
.btn-sm{ padding:11px 20px; font-size:15px; }
.btn .wa-ico{ width:20px; height:20px; }

/* ===== Navbar ===== */
header.nav{
  position:fixed; inset:0 0 auto 0; z-index:50;
  transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
  border-bottom:1px solid transparent;
}
header.nav.scrolled{
  background:rgba(247,249,252,.78); backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--border);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:72px; }
.brand{
  display:flex; align-items:center; gap:11px;
  font-family:var(--font-display); font-weight:800; font-size:20px; letter-spacing:-.02em;
}
.brand .logo{
  width:38px; height:38px; border-radius:50%; overflow:hidden; flex:none;
}
.brand b{ color:var(--indigo); }
.nav-links{ display:flex; align-items:center; gap:30px; }
.nav-links a.link{ color:var(--muted); font-weight:600; font-size:15px; transition:color .2s; }
.nav-links a.link:hover{ color:var(--text); }
.nav-cta{ display:flex; align-items:center; gap:14px; }
.menu-btn{ display:none; background:none; border:1px solid var(--border-2); border-radius:10px; padding:9px; cursor:pointer; min-width:44px; min-height:44px; }
.menu-btn svg{ width:22px; height:22px; stroke:var(--text); }

.mobile-menu{
  display:none; flex-direction:column; gap:6px; padding:14px 22px 22px;
  background:rgba(247,249,252,.97); backdrop-filter:blur(14px); border-bottom:1px solid var(--border);
}
.mobile-menu.open{ display:flex; }
.mobile-menu a.link{ color:var(--text); font-weight:600; padding:12px 4px; border-bottom:1px solid var(--border); }
.mobile-menu .btn{ margin-top:10px; }

/* ===== HERO ===== */
.hero{ padding-top:140px; padding-bottom:0; overflow:visible; }
.hero::before{
  content:""; position:absolute; inset:-20% 0 0 0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 70% 90% at 4% 50%, rgba(79,70,229,.12), transparent 52%),
    radial-gradient(ellipse 55% 60% at 45% 0%,  rgba(147,51,234,.08), transparent 50%),
    radial-gradient(ellipse 65% 80% at 97% 62%, rgba(255,107,74,.11), transparent 52%),
    radial-gradient(ellipse 40% 45% at 68% 88%, rgba(79,70,229,.06),  transparent 48%);
  animation:heroBreath 10s ease-in-out infinite;
}
@keyframes heroBreath{ 0%,100%{ opacity:.55; } 50%{ opacity:.9; } }
.hero-text{
  text-align:center; max-width:820px; margin:0 auto;
  padding-bottom:60px; position:relative; z-index:1;
}
.hero h1{ font-size:clamp(34px,5.4vw,64px); line-height:1.06; }
.hero h1 .hl{
  color:var(--indigo);
  background:linear-gradient(120deg, var(--indigo) 0%, var(--mesh-mid) 35%, var(--coral) 60%, var(--mesh-mid) 80%, var(--indigo) 100%);
  background-size:220% 100%;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:hlShift 7s ease-in-out infinite;
}
@keyframes hlShift{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
.hero p.sub{ color:var(--muted); font-size:clamp(17px,2.2vw,20px); margin-top:22px; max-width:600px; margin-inline:auto; }
.hero-actions{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin-top:34px; }
.hero-link{
  color:var(--muted); font-size:15px; font-weight:600;
  display:inline-flex; align-items:center; gap:6px;
  transition:color .2s;
}
.hero-link:hover{ color:var(--coral); }
.hero-link svg{ width:15px; height:15px; transition:transform .2s; }
.hero-link:hover svg{ transform:translateX(3px); }
.hero-trust{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px 26px; margin-top:34px; color:var(--muted-2); font-size:14px; font-weight:600; }
.hero-trust .ti{ display:flex; align-items:center; gap:8px; }
.hero-trust svg{ width:18px; height:18px; color:var(--indigo); }
.hero-dash-outer{ position:relative; z-index:1; padding-top:10px; padding-bottom:80px; }
.hero-dash-wrap{ position:relative; padding-top:32px; }

/* ===== Platform inbox mock ===== */
.platform-mock{
  width:100%; margin-inline:auto; position:relative;
  background:var(--panel-bg); border-radius:18px;
  border:1px solid rgba(79,70,229,.16);
  box-shadow:0 40px 100px -28px rgba(15,23,42,.22), 0 0 0 1px rgba(15,23,42,.04), 0 0 120px -40px rgba(79,70,229,.14);
  overflow:hidden;
}
.platform-top{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:10px 16px; background:var(--panel-bg);
  border-bottom:1px solid var(--panel-border);
}
.plat-left{ display:flex; align-items:center; gap:8px; }
.plat-title{ font-family:var(--font-display); font-size:13px; font-weight:800; color:var(--text); }
.plat-sep,.plat-sub{ font-size:12px; color:var(--muted-2); }
.plat-right{ display:flex; align-items:center; gap:10px; }
.plat-stat{ font-size:11.5px; font-weight:600; color:var(--muted-2); }
.plat-auto-badge{
  font-size:11.5px; font-weight:800;
  background:rgba(79,70,229,.12); color:var(--indigo);
  border:1px solid rgba(79,70,229,.22); border-radius:999px; padding:3px 10px;
}
.live-dot{
  width:7px; height:7px; border-radius:50%; flex:none;
  background:var(--wa-green); box-shadow:0 0 0 3px rgba(37,211,102,.2);
  animation:livePulse 2s ease-in-out infinite;
}
@keyframes livePulse{
  0%,100%{ box-shadow:0 0 0 3px rgba(37,211,102,.2); }
  50%{ box-shadow:0 0 0 7px rgba(37,211,102,0); }
}
.platform-body{ display:grid; grid-template-columns:148px 185px 1fr 170px; }
.inbox-sidebar{
  border-right:1px solid var(--panel-border); background:var(--panel-bg);
  display:flex; flex-direction:column; overflow:hidden;
}
.inbox-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px 8px; border-bottom:1px solid var(--panel-border);
}
.inbox-head-title{ font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); }
.inbox-head-count{
  font-size:10.5px; font-weight:800; color:var(--indigo);
  background:rgba(79,70,229,.12); border-radius:999px; padding:1px 7px;
}
.inbox-item{
  display:flex; align-items:flex-start; gap:8px; padding:10px 12px;
  border-bottom:1px solid rgba(15,23,42,.05); cursor:pointer;
  transition:background .15s ease; border-left:2px solid transparent;
}
.inbox-item.is-active{ background:rgba(79,70,229,.07); border-left-color:var(--indigo); }
.inbox-item:not(.is-active):hover{ background:rgba(15,23,42,.025); }
.inbox-av{
  width:30px; height:30px; border-radius:50%; flex:none;
  display:grid; place-items:center;
  font-size:10px; font-weight:800; color:var(--indigo); background:rgba(79,70,229,.12);
}
.inbox-info{ flex:1; min-width:0; }
.inbox-row{ display:flex; align-items:center; justify-content:space-between; gap:4px; margin-bottom:3px; }
.inbox-row:last-child{ margin-bottom:0; }
.inbox-name{ font-size:12px; font-weight:700; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:80px; }
.inbox-time{ font-size:10.5px; color:var(--muted-2); white-space:nowrap; flex:none; }
.inbox-preview{ font-size:11px; color:var(--muted-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:84px; }
.ibadge{ font-size:9.5px; font-weight:800; padding:1.5px 6px; border-radius:999px; flex:none; white-space:nowrap; }
.ibadge.new{ background:rgba(79,70,229,.15); color:var(--indigo); }
.ibadge.done{ background:rgba(37,211,102,.12); color:var(--wa-green-text); }
.ibadge.wait{ background:rgba(245,158,11,.12); color:var(--amber); }
.chat-panel{ display:flex; flex-direction:column; overflow:hidden; }
.chat-panel .chat{ border-radius:0; }
.chat-panel .chat-body{ height:310px; min-height:unset; overflow-y:auto; scroll-behavior:smooth; }
.chat-panel .chat-body::-webkit-scrollbar{ width:4px; }
.chat-panel .chat-body::-webkit-scrollbar-track{ background:transparent; }
.chat-panel .chat-body::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.1); border-radius:2px; }
.typing-bubble{ padding:9px 12px !important; }
.typing-dots{ display:flex; gap:4px; align-items:center; }
.typing-dots span{
  width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.45);
  animation:typingBounce 1.1s ease-in-out infinite;
}
.typing-dots span:nth-child(2){ animation-delay:.18s; }
.typing-dots span:nth-child(3){ animation-delay:.36s; }
@keyframes typingBounce{
  0%,60%,100%{ transform:translateY(0); opacity:.4; }
  30%{ transform:translateY(-5px); opacity:1; }
}
/* ===== HD Metrics panel (leftmost column) ===== */
.hd-metrics{
  border-right:1px solid var(--panel-border); background:var(--panel-bg);
  display:flex; flex-direction:column; gap:0; overflow:hidden; padding:12px 10px;
}
.hdm-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.hdm-title{ font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); }
.hdm-live{ display:flex; align-items:center; gap:5px; font-size:10px; font-weight:600; color:var(--wa-green-text); }
.hdm-live-dot{ width:5px; height:5px; border-radius:50%; background:var(--wa-green); animation:livePulse 2s ease-in-out infinite; }
.hdm-kpi{ background:rgba(79,70,229,.05); border:1px solid rgba(79,70,229,.1); border-radius:10px; padding:10px 10px 8px; margin-bottom:8px; }
.hdm-val{ font-family:var(--font-display); font-size:30px; font-weight:800; color:var(--text); line-height:1; display:block; }
.hdm-meta{ display:flex; align-items:center; justify-content:space-between; margin-top:3px; }
.hdm-desc{ font-size:10px; color:var(--muted-2); font-weight:600; }
.hdm-delta{ font-size:10px; font-weight:800; color:var(--wa-green-text); background:var(--wa-green-soft); border-radius:999px; padding:1px 5px; }
.hdm-spark{ display:flex; align-items:flex-end; gap:2px; height:28px; margin-top:9px; }
.sp-bar{ flex:1; background:rgba(79,70,229,.35); border-radius:2px 2px 0 0; min-height:3px; }
.sp-bar:last-child{ background:var(--indigo); }
.hdm-row2{ display:flex; gap:6px; margin-bottom:8px; }
.hdm-mini{ flex:1; background:rgba(15,23,42,.03); border:1px solid var(--panel-border); border-radius:8px; padding:7px 6px; }
.hdm-mini-val{ font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--text); display:block; line-height:1; }
.hdm-mini-desc{ font-size:9.5px; color:var(--muted-2); font-weight:600; display:block; margin-top:2px; }
.hdm-status{ display:flex; align-items:center; gap:6px; margin-top:auto; padding:7px 8px; background:rgba(37,211,102,.06); border:1px solid rgba(37,211,102,.15); border-radius:8px; }
.hdm-status-dot{ width:6px; height:6px; border-radius:50%; background:var(--wa-green); flex:none; animation:livePulse 2s ease-in-out infinite; }
.hdm-status-text{ font-size:10.5px; font-weight:700; color:var(--wa-green-text); }

/* ===== HD Activity panel (rightmost column) ===== */
.hd-activity{
  border-left:1px solid var(--panel-border); background:var(--panel-bg);
  display:flex; flex-direction:column; overflow:hidden;
}
.hda-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px 8px; border-bottom:1px solid var(--panel-border);
}
.hda-title{ font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); }
.hda-item{
  display:flex; align-items:center; gap:7px; padding:9px 11px;
  border-bottom:1px solid rgba(15,23,42,.04);
}
.hda-icon{
  width:22px; height:22px; border-radius:6px; flex:none;
  display:grid; place-items:center; font-size:10px; font-weight:800;
}
.hda-icon.quot{ background:rgba(79,70,229,.12); color:var(--indigo); }
.hda-icon.sched{ background:rgba(129,140,248,.12); color:var(--indigo); }
.hda-icon.hand{ background:rgba(245,158,11,.12); color:var(--amber); }
.hda-icon.faq{ background:rgba(15,23,42,.06); color:var(--muted); }
.hda-info{ flex:1; min-width:0; }
.hda-action{ font-size:11px; font-weight:700; color:var(--text); display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hda-who{ font-size:10px; color:var(--muted-2); display:block; }
.hda-time{ font-size:10px; color:var(--muted-2); flex:none; }

/* ===== Floating notification cards ===== */
.float-notif{
  position:absolute; top:0; z-index:10;
  display:flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.9); backdrop-filter:blur(16px) saturate(160%);
  border:1px solid rgba(15,23,42,.07); border-radius:14px;
  padding:9px 14px 9px 10px;
  box-shadow:0 12px 32px rgba(15,23,42,.14), 0 0 0 1px rgba(79,70,229,.06);
  white-space:nowrap;
}
.fn-1{ left:24px; animation:floatCard 4.8s ease-in-out infinite; }
.fn-2{ right:24px; animation:floatCard 4.8s ease-in-out infinite 2.4s; }
.fn-ico{
  width:30px; height:30px; border-radius:9px; flex:none;
  display:grid; place-items:center; font-size:14px;
}
.fn-ico.coral{ background:rgba(255,107,74,.15); color:var(--coral); }
.fn-ico.indigo{ background:rgba(79,70,229,.15); color:var(--indigo); }
.fn-label{ font-size:12.5px; font-weight:700; color:var(--text); display:block; line-height:1.2; }
.fn-sub{ font-size:10.5px; color:var(--muted-2); display:block; }
@keyframes floatCard{
  0%,100%{ transform:translateY(0px); }
  50%{ transform:translateY(-8px); }
}

/* Infrastructure bar */
.infra-bar{ border-bottom:1px solid var(--border); background:rgba(79,70,229,.025); }
.infra-inner{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding:11px 0; }
.infra-label{ font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); }
.infra-pill{
  font-size:11.5px; font-weight:600; color:var(--muted);
  background:var(--surface); border:1px solid var(--border);
  border-radius:6px; padding:3px 9px;
}
.chat{ border-radius:24px; overflow:hidden; background:#0b141a; }
.chat-head{ display:flex; align-items:center; gap:11px; padding:14px 14px 12px; background:#1f2c34; }
.chat-head .av{
  width:40px; height:40px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:linear-gradient(150deg,var(--wa-green),var(--wa-green-deep)); color:#04130a;
}
.chat-head .av svg{ width:22px; height:22px; }
.chat-head .who b{ font-size:15px; font-weight:700; }
.chat-head .who span{ display:block; font-size:12px; color:#8aa; }
.chat-head .who span i{ font-style:normal; color:var(--wa-green); }
.chat-tabs{ display:flex; gap:5px; padding:9px 9px 0; background:#1f2c34; overflow-x:auto; scrollbar-width:none; }
.chat-tabs::-webkit-scrollbar{ display:none; }
.chat-tab{ flex:none; background:rgba(255,255,255,.06); border:none; color:#b9cdd6; font-family:inherit; font-weight:700; font-size:12.5px; padding:8px 14px; border-radius:11px 11px 0 0; cursor:pointer; transition:background .2s, color .2s; }
.chat-tab:hover{ background:rgba(255,255,255,.12); color:#eef3f7; }
.chat-tab.active{ background:#0b141a; color:var(--indigo); }
.chat-body{
  padding:18px 14px 16px; display:flex; flex-direction:column; gap:10px;
  background:radial-gradient(rgba(255,255,255,.018) 1px, transparent 1px) 0 0/22px 22px, #0b141a;
  min-height:360px;
}
.bubble{
  max-width:80%; padding:9px 12px; border-radius:14px; font-size:14px; line-height:1.45;
  position:relative; box-shadow:0 1px 1px rgba(0,0,0,.25);
  opacity:0; transform:translateY(10px) scale(.98); animation:bubbleIn .45s ease forwards;
}
@keyframes bubbleIn{ to{ opacity:1; transform:none; } }
.bubble .t{ display:block; font-size:10px; color:rgba(255,255,255,.45); text-align:right; margin-top:3px; }
.bubble.in{ align-self:flex-start; background:#202c33; border-top-left-radius:4px; }
.bubble.out{ align-self:flex-end; background:#005c4b; border-top-right-radius:4px; }
.bubble.out .t i{ color:#53bdeb; font-style:normal; }
.quote-card{
  background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.1); border-radius:10px;
  padding:10px; margin-top:6px; font-size:13px;
}
.quote-card .qr{ display:flex; justify-content:space-between; gap:12px; padding:3px 0; }
.quote-card .qr.total{ border-top:1px dashed rgba(255,255,255,.18); margin-top:4px; padding-top:7px; font-weight:800; }
.quote-card .qr .amt{ color:#7ee2a6; font-weight:700; }
.chat-input{ display:flex; align-items:center; gap:9px; padding:10px 12px 12px; background:#0b141a; }
.chat-input .field{ flex:1; background:#1f2c34; border-radius:999px; padding:10px 14px; color:#8aa; font-size:13px; }
.chat-input .send{ width:40px; height:40px; border-radius:50%; flex:none; display:grid; place-items:center; background:var(--wa-green); color:#04130a; }
.chat-input .send svg{ width:20px; height:20px; }
.float-badge{
  position:absolute; top:-16px; right:-12px; z-index:2;
  background:var(--indigo); color:#04130a; font-weight:800; font-size:12px;
  padding:7px 13px; border-radius:999px;
  box-shadow:0 8px 22px -6px rgba(79,70,229,.6);
  transform:rotate(3deg);
}

/* ===== Tarjetas ===== */
.card{
  background:linear-gradient(160deg,var(--surface),var(--surface-2));
  border:1px solid var(--border); border-radius:var(--radius); padding:26px;
  position:relative; overflow:hidden;
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:2px;
  background:linear-gradient(90deg, transparent 0%, rgba(79,70,229,.35) 40%, rgba(255,107,74,.3) 60%, transparent 100%);
  pointer-events:none;
}
.card::after{
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,-10%), rgba(79,70,229,.1), transparent 65%);
  pointer-events:none; opacity:0; transition:opacity .35s ease;
}
.card:hover{ transform:translateY(-5px); border-color:var(--border-2); box-shadow:0 28px 56px -28px rgba(79,70,229,.22), 0 0 0 1px rgba(79,70,229,.08); }
.card:hover::after{ opacity:1; }
.icon-chip{
  width:52px; height:52px; border-radius:15px; display:grid; place-items:center; margin-bottom:18px;
  background:var(--indigo-soft); color:var(--indigo);
}
.icon-chip.amber{ background:var(--amber-soft); color:var(--amber); }
.icon-chip svg{ width:26px; height:26px; }
.card h3{ font-size:20px; margin-bottom:8px; }
.card p{ color:var(--muted); font-size:15.5px; }

/* ===== Grids ===== */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }

/* ===== Problema ===== */
.problem{ background:linear-gradient(180deg,transparent,rgba(245,158,11,.05),transparent), var(--surface); }
.pain .icon-chip{ background:rgba(248,113,113,.1); color:#f87171; }

/* ===== Cómo funciona — conectores de nodo (el isotipo hecho proceso) ===== */
.steps{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  position:relative;
}
.steps::before{
  content:"";
  position:absolute;
  top:22px;
  left:calc(100% / 6);
  right:calc(100% / 6);
  border-top:2px dashed rgba(79,70,229,.3);
  z-index:0;
}
.step{ position:relative; }
.step-node{
  width:44px; height:44px; border-radius:50%;
  background:var(--indigo-soft);
  border:2px solid var(--indigo);
  display:grid; place-items:center;
  font-family:var(--font-display);
  font-size:17px; font-weight:800; color:var(--indigo);
  margin-bottom:20px;
  position:relative; z-index:1;
  box-shadow:0 0 0 6px rgba(79,70,229,.06);
}
.step h3{ font-size:20px; margin-bottom:8px; }
.step p{ color:var(--muted); font-size:15.5px; }

/* ===== Beneficios — 2 columnas para mayor respiro ===== */
.grid-6{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.benefit{ display:flex; gap:16px; align-items:flex-start; }
.benefit .icon-chip{ margin-bottom:0; flex:none; }
.benefit h3{ font-size:17px; margin-bottom:4px; }
.benefit p{ color:var(--muted); font-size:14.5px; }

/* ===== Para quién ===== */
.chips{ display:flex; flex-wrap:wrap; gap:12px; }
.chip{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--surface); border:1px solid var(--border); border-radius:999px;
  padding:11px 18px; font-weight:600; font-size:15px;
  transition:border-color .2s, transform .2s, background .2s;
}
.chip:hover{ border-color:var(--indigo); transform:translateY(-2px); background:var(--surface-2); }
.chip svg{ width:18px; height:18px; color:var(--indigo); }

/* ===== Casos de uso ===== */
.usecases{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.usecase-card{
  background:linear-gradient(160deg,var(--surface),var(--surface-2));
  border:1px solid var(--border); border-radius:var(--radius); padding:24px;
  display:flex; flex-direction:column; gap:10px;
  transition:transform .28s ease, border-color .28s ease;
}
.usecase-card:hover{ transform:translateY(-4px); border-color:var(--border-2); }
.uc-head{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.uc-ico{ width:38px; height:38px; border-radius:11px; flex:none; display:grid; place-items:center; background:var(--indigo-soft); color:var(--indigo); }
.uc-ico svg{ width:20px; height:20px; }
.uc-title{ font-family:var(--font-display); font-size:17px; font-weight:800; }
.uc-row{ font-size:14px; line-height:1.5; }
.uc-row b{ font-weight:700; font-size:11px; letter-spacing:.08em; text-transform:uppercase; display:block; margin-bottom:2px; }
.uc-row.problem b{ color:var(--coral); }
.uc-row.auto b{ color:var(--muted-2); }
.uc-row.result b{ color:var(--indigo); }
.uc-row span{ color:var(--muted); }

/* ===== Quién está detrás ===== */
.behind-wrap{ display:grid; grid-template-columns:auto 1fr; gap:48px; align-items:center; max-width:900px; margin-inline:auto; }
.behind-avs{ display:flex; gap:14px; flex:none; }
.behind-av{
  width:72px; height:72px; border-radius:50%; flex:none; display:grid; place-items:center;
  font-family:var(--font-display); font-size:20px; font-weight:800; color:#fff;
  background:linear-gradient(150deg,var(--indigo),var(--indigo-deep));
}
.behind-quote{ font-size:17px; line-height:1.65; color:var(--text); font-style:italic; margin-bottom:16px; }
.behind-sig{ font-size:14.5px; font-weight:700; color:var(--muted); margin-bottom:20px; }
.behind-sig b{ color:var(--text); }
.behind-badges{ display:flex; flex-wrap:wrap; gap:9px; }
.behind-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--surface); border:1px solid var(--border); border-radius:999px;
  padding:9px 16px; font-weight:600; font-size:14px; color:var(--muted);
}

/* ===== Producto en acción ===== */
.video-placeholder{
  position:relative; border-radius:var(--radius);
  background:linear-gradient(160deg,var(--surface),var(--surface-2));
  border:2px dashed rgba(79,70,229,.25); overflow:hidden;
  aspect-ratio:16/9; max-width:860px; margin-inline:auto;
  display:flex; align-items:center; justify-content:center;
}
.video-inner{ text-align:center; padding:40px; display:flex; flex-direction:column; align-items:center; gap:14px; }
.video-play{
  width:76px; height:76px; border-radius:50%;
  background:rgba(79,70,229,.12); border:2px solid rgba(79,70,229,.28);
  display:grid; place-items:center; color:var(--indigo);
  transition:background .2s, transform .2s;
}
.video-play svg{ width:30px; height:30px; }
.video-badge{
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--coral);
  background:rgba(255,107,74,.1); border:1px solid rgba(255,107,74,.25);
  border-radius:999px; padding:5px 14px;
}
.video-inner p{ color:var(--muted); font-size:14.5px; max-width:400px; line-height:1.6; margin:0; }

/* ===== Testimonios ===== */
.testi-disclaimer{
  text-align:center; color:var(--muted-2); font-size:12px; font-family:monospace;
  margin-bottom:34px; border:1px solid var(--border); border-radius:8px;
  padding:9px 16px; display:inline-block;
}
.testi-disclaimer-wrap{ text-align:center; margin-bottom:8px; }
.testi-card{ display:flex; flex-direction:column; gap:14px; }
.testi-stars{ color:var(--amber); font-size:14px; letter-spacing:3px; }
.testi-text{ color:var(--text); font-size:15px; line-height:1.65; flex:1; font-style:italic; }
.testi-author{ display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--border); }
.testi-av{
  width:42px; height:42px; border-radius:50%; flex:none;
  display:grid; place-items:center;
  font-family:var(--font-display); font-size:14px; font-weight:800; color:#fff;
}
.testi-name{ font-size:14px; font-weight:700; }
.testi-role{ font-size:12.5px; color:var(--muted); }

/* ===== Planes ===== */
.plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1080px; margin-inline:auto; }
.plan{ position:relative; display:flex; flex-direction:column; }
.plan.featured{ border-color:var(--indigo); box-shadow:0 0 0 1px var(--indigo), 0 0 0 6px rgba(79,70,229,.08), var(--shadow); }
.plan .tag{ font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.plan.featured .tag{ color:var(--indigo); }
.ribbon{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:linear-gradient(150deg,var(--indigo),var(--indigo-deep)); color:#04130a;
  font-weight:800; font-size:12.5px; letter-spacing:.04em; padding:6px 16px; border-radius:999px;
  box-shadow:0 8px 22px -6px rgba(79,70,229,.6);
}
.price{ display:flex; align-items:baseline; gap:8px; margin:14px 0 4px; }
.price .amt{ font-family:var(--font-display); font-size:38px; font-weight:800; letter-spacing:-.03em; }
.price .per{ color:var(--muted); font-weight:600; font-size:15px; }
.setup-note{ color:var(--muted); font-size:14px; margin-bottom:6px; }
.setup-note b{ color:var(--text); font-weight:700; }
.plan .note{ color:var(--muted); font-size:14px; margin-bottom:20px; }
.feat-list{ list-style:none; display:flex; flex-direction:column; gap:12px; margin:6px 0 26px; flex:1; }
.feat-list li{ display:flex; gap:11px; align-items:flex-start; font-size:15px; color:var(--text); }
.feat-list svg{ width:20px; height:20px; flex:none; color:var(--indigo); margin-top:1px; }
.plan .btn{ width:100%; }

.guarantee{
  display:flex; align-items:center; gap:16px; justify-content:center; text-align:left;
  max-width:760px; margin:34px auto 0; padding:20px 26px;
  background:linear-gradient(180deg,var(--indigo-soft),rgba(79,70,229,.03));
  border:1px solid rgba(79,70,229,.35); border-radius:var(--radius);
}
.guarantee svg{ width:34px; height:34px; flex:none; color:var(--indigo); }
.guarantee p{ font-size:16px; color:var(--text); }
.guarantee p b{ color:var(--indigo); }
.piloto-line{ text-align:center; color:var(--muted); margin-top:18px; font-size:14.5px; }
.piloto-line b{ color:var(--text); font-weight:700; }

/* ===== Franja de datos ===== */
.stat-strip{ border-block:1px solid var(--border); background:rgba(79,70,229,.03); }
.stat-strip-inner{ display:flex; flex-wrap:wrap; justify-content:center; gap:0; padding:0; }
.stat{ display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; padding:24px 32px; border-right:1px solid var(--border); }
.stat:last-child{ border-right:none; }
.stat-num{ font-family:var(--font-display); font-size:30px; font-weight:800; color:var(--indigo); letter-spacing:-.02em; line-height:1; }
.stat-label{ color:var(--muted); font-size:13.5px; font-weight:600; }

/* ===== Confianza ===== */
.trust{ background:linear-gradient(180deg,transparent,rgba(79,70,229,.05),transparent), var(--surface); }
.trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }

/* ===== FAQ ===== */
.faq-list{ max-width:760px; margin-inline:auto; display:flex; flex-direction:column; gap:12px; }
.faq-item{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; transition:border-color .2s; }
.faq-item:hover, .faq-item[open]{ border-color:var(--border-2); }
.faq-q{
  list-style:none; cursor:pointer; color:var(--text);
  font-family:var(--font); font-weight:700; font-size:17px; padding:20px 22px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq-q::-webkit-details-marker{ display:none; }
.faq-q::marker{ display:none; }
.faq-q .ic{ width:26px; height:26px; flex:none; display:grid; place-items:center; border-radius:50%; background:var(--indigo-soft); color:var(--indigo); transition:transform .3s ease; }
.faq-item[open] .faq-q .ic{ transform:rotate(45deg); }
.faq-q .ic svg{ width:16px; height:16px; }
.faq-a-inner{ padding:0 22px 20px; color:var(--muted); font-size:15.5px; line-height:1.65; }

/* ===== CTA final ===== */
.cta-final{ text-align:center; }
.cta-box{
  position:relative; overflow:hidden;
  background:
    radial-gradient(130% 140% at 15% -10%, rgba(79,70,229,.16), transparent 55%),
    radial-gradient(130% 140% at 90% 110%, rgba(255,107,74,.14), transparent 55%),
    var(--surface);
  border:1px solid var(--border-2); border-radius:32px; padding:64px 32px;
  max-width:880px; margin-inline:auto;
  box-shadow:0 30px 70px -32px rgba(79,70,229,.22);
}
.cta-box h2{ font-size:clamp(28px,4.6vw,46px); }
.cta-box p{ color:var(--muted); font-size:18px; margin:16px auto 30px; max-width:520px; }

/* ===== Footer ===== */
footer{ border-top:1px solid var(--border); background:var(--bg-2); padding:54px 0 40px; }
.foot-grid{ display:flex; flex-wrap:wrap; gap:30px; justify-content:space-between; align-items:flex-start; }
.foot-brand p{ color:var(--muted); font-size:14.5px; margin-top:14px; max-width:320px; }
.foot-col h4{ font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted-2); margin-bottom:14px; }
.foot-col a, .foot-col span{ display:block; color:var(--muted); font-size:15px; margin-bottom:10px; transition:color .2s; }
.foot-col a:hover{ color:var(--indigo); }
.foot-bottom{ margin-top:42px; padding-top:24px; border-top:1px solid var(--border); display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; color:var(--muted-2); font-size:13.5px; }

/* ===== Analytics section ===== */
.analytics-layout{ display:grid; grid-template-columns:280px 1fr; gap:28px; align-items:start; }
.al-sidebar{
  background:linear-gradient(160deg,var(--surface),var(--surface-2));
  border:1px solid var(--border); border-radius:var(--radius); padding:22px;
  position:relative; overflow:hidden;
}
.al-sidebar::before{
  content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(79,70,229,.3) 50%, transparent);
  pointer-events:none;
}
.al-label{ font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); margin-bottom:14px; display:block; }
.al-stats{ display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.al-stat{
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(79,70,229,.04); border:1px solid var(--border); border-radius:10px; padding:10px 12px;
}
.al-num{ font-family:var(--font-display); font-size:22px; font-weight:800; color:var(--text); }
.al-meta{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.al-desc{ font-size:11px; color:var(--muted-2); font-weight:600; }
.al-delta{ font-size:10.5px; font-weight:800; border-radius:999px; padding:1.5px 7px; }
.al-delta.up{ color:var(--wa-green-text); background:var(--wa-green-soft); }
.al-divider{ height:1px; background:var(--border); margin:16px 0; }
.al-qs-label{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); margin-bottom:12px; display:block; }
.al-questions{ display:flex; flex-direction:column; gap:9px; }
.al-q{ display:flex; align-items:center; gap:8px; }
.al-q-text{ font-size:12px; color:var(--text); font-weight:600; flex:0 0 130px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.al-q-track{ flex:1; height:4px; background:rgba(79,70,229,.1); border-radius:999px; overflow:hidden; }
.al-q-bar{ height:100%; background:linear-gradient(90deg,var(--indigo),var(--coral)); border-radius:999px; transition:width .8s cubic-bezier(.2,.7,.2,1); }
.al-q-pct{ font-size:11px; color:var(--muted-2); font-weight:700; flex:0 0 30px; text-align:right; }
.al-main{ display:flex; flex-direction:column; gap:28px; }
.al-chart-card{
  background:linear-gradient(160deg,var(--surface),var(--surface-2));
  border:1px solid var(--border); border-radius:var(--radius); padding:22px;
  position:relative; overflow:hidden;
}
.al-chart-card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(79,70,229,.3) 50%, transparent);
  pointer-events:none;
}
.al-chart-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.al-chart-title{ font-size:13.5px; font-weight:700; color:var(--text); }
.al-chart-total{ font-size:12px; font-weight:700; color:var(--indigo); background:var(--indigo-soft); border:1px solid var(--border-2); border-radius:999px; padding:3px 10px; }
.al-bars{
  display:flex; align-items:flex-end; gap:4px; height:128px;
  padding:0 2px;
}
.al-bar{
  flex:1; border-radius:3px 3px 0 0; min-height:4px;
  transform-origin:bottom center; transform:scaleY(0);
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.al-bar.peak{ background:linear-gradient(0deg,var(--indigo),rgba(79,70,229,.55)); }
.al-bar:not(.peak){ background:rgba(79,70,229,.25); }
.al-bars.animated .al-bar{ transform:scaleY(1); }
.al-bar-labels{ display:flex; justify-content:space-between; margin-top:6px; padding:0 2px; }
.al-bar-labels span{ font-size:10px; color:var(--muted-2); font-weight:600; }

/* ===== Uptime strip ===== */
.uptime-wrap{ margin-top:46px; padding-top:32px; border-top:1px solid var(--border); }
.uptime-head{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:12px; }
.uptime-title{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); }
.uptime-badge{ font-size:11.5px; font-weight:700; color:var(--wa-green-text); background:var(--wa-green-soft); border:1px solid rgba(37,211,102,.22); border-radius:999px; padding:4px 11px; }
.uptime-grid{ display:flex; flex-wrap:wrap; gap:3px; }
.uq{ width:11px; height:28px; border-radius:3px; }
.uq.g{ background:rgba(37,211,102,.55); }
.uq.y{ background:rgba(245,158,11,.4); }
.uptime-meta{ display:flex; align-items:baseline; gap:6px; margin-top:10px; }
.ut-num{ font-family:var(--font-display); font-size:20px; font-weight:800; color:var(--wa-green-text); }
.ut-desc{ font-size:13px; color:var(--muted); font-weight:600; }

/* ===== FAB WhatsApp — sin badge falso ===== */
.fab{
  position:fixed; right:20px; bottom:20px; z-index:60;
  width:62px; height:62px; border-radius:50%; display:grid; place-items:center;
  background:linear-gradient(180deg,#2ee06f,var(--wa-green-deep)); color:#04130a;
  box-shadow:0 16px 36px -10px rgba(37,211,102,.7);
  transition:transform .2s ease, box-shadow .2s ease;
  animation:fabPulse 2.6s ease-in-out infinite;
}
.fab:hover{ transform:scale(1.08); }
.fab svg{ width:32px; height:32px; }
@keyframes fabPulse{ 0%,100%{ box-shadow:0 16px 36px -10px rgba(37,211,102,.7), 0 0 0 0 rgba(37,211,102,.45);} 50%{ box-shadow:0 16px 36px -10px rgba(37,211,102,.7), 0 0 0 14px rgba(37,211,102,0);} }

/* ===== Animaciones de scroll ===== */
.js .reveal{ opacity:0; transform:translateY(26px); filter:blur(7px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1), filter .7s ease; }
.reveal.in{ opacity:1; transform:none; filter:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; } .reveal.d3{ transition-delay:.24s; }
.reveal.d4{ transition-delay:.32s; } .reveal.d5{ transition-delay:.40s; }

/* =========================================================
   MOTION V2 — microinteracciones (jul-2026)
   ========================================================= */

/* QW1 — Orbes de gradiente en el hero */
.hero-orb{
  position:absolute; z-index:0; pointer-events:none;
  width:44vw; height:44vw; max-width:640px; max-height:640px;
  border-radius:50%;
}
.ho-1{
  top:-10%; left:-8%;
  background:radial-gradient(circle, rgba(79,70,229,.14) 0%, transparent 70%);
  animation:orbDrift1 16s ease-in-out infinite;
}
.ho-3{
  bottom:-20%; left:30%;
  width:52vw; height:52vw;
  background:radial-gradient(circle, rgba(147,51,234,.10) 0%, transparent 70%);
  animation:orbDrift3 22s ease-in-out infinite;
}
@keyframes orbDrift3{
  0%,100%{ transform:translate(0,0) scale(1); opacity:.75; }
  50%{ transform:translate(7vw,-7vh) scale(1.15); opacity:.5; }
}
.ho-2{
  top:20%; right:-10%;
  background:radial-gradient(circle, rgba(255,107,74,.13) 0%, transparent 70%);
  animation:orbDrift2 19s ease-in-out infinite;
}
@keyframes orbDrift1{
  0%,100%{ transform:translate(0,0) scale(1); opacity:.85; }
  50%{ transform:translate(9vw,6vh) scale(1.12); opacity:.6; }
}
@keyframes orbDrift2{
  0%,100%{ transform:translate(0,0) scale(1); opacity:.7; }
  50%{ transform:translate(-8vw,-5vh) scale(1.08); opacity:.95; }
}

/* QW2 — feedback al presionar */
.btn:active{ transform:translateY(0) scale(.97); }

/* QW3 — marquee de la franja infra */
.marquee{
  flex:1; min-width:0; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{ display:flex; width:max-content; animation:marqueeScroll 26s linear infinite; }
.marquee-track .infra-pill{ margin-right:14px; flex:none; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes marqueeScroll{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }

/* QW4 — FAQ que abre suave (progresivo: navegadores sin soporte abren instantáneo) */
html{ interpolate-size:allow-keywords; }
.faq-item::details-content{
  opacity:0; block-size:0; overflow:hidden;
  transition:block-size .35s cubic-bezier(.2,.7,.2,1), opacity .3s ease, content-visibility .35s allow-discrete;
}
.faq-item[open]::details-content{ opacity:1; block-size:auto; }

/* QW6 — subrayado animado en nav */
.nav-links a.link{ position:relative; }
.nav-links a.link::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px;
  background:linear-gradient(90deg,var(--indigo),var(--coral));
  border-radius:999px; transform:scaleX(0); transform-origin:left;
  transition:transform .25s cubic-bezier(.2,.7,.2,1);
}
.nav-links a.link:hover::after{ transform:scaleX(1); }

/* QW7 — texto de botón que rueda */
.btn-roll{ display:inline-block; overflow:hidden; height:1.3em; }
.btn-roll-inner{ display:flex; flex-direction:column; transition:transform .3s cubic-bezier(.2,.7,.2,1); }
.btn-roll-inner span{ display:block; height:1.3em; line-height:1.3; }
.btn:hover .btn-roll-inner{ transform:translateY(-1.3em); }

/* V2.5 — barra de progreso de scroll */
.scroll-progress{
  position:fixed; top:0; left:0; height:2.5px; width:100%; z-index:60;
  background:linear-gradient(90deg,var(--indigo),var(--mesh-mid),var(--coral));
  transform:scaleX(0); transform-origin:left;
  pointer-events:none;
}

/* E1 — entrada de items nuevos en actividad */
@keyframes slideInItem{ from{ opacity:0; transform:translateX(-8px); } to{ opacity:1; transform:none; } }
.inbox-item.is-new, .hda-item.is-new{ animation:slideInItem .4s ease; }

/* E3 — tilt 3D del dashboard */
.hero-dash-wrap{ perspective:1200px; }
.platform-mock{ transition:transform .35s ease; will-change:transform; }

/* E4 — beam en el plan destacado */
@property --beam{ syntax:"<angle>"; initial-value:0deg; inherits:false; }
.plan-beam{
  position:absolute; inset:-1px; border-radius:inherit; padding:1px;
  background:conic-gradient(from var(--beam,0deg), transparent 0 332deg, rgba(255,107,74,.9) 350deg, var(--indigo) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:beamSpin 5s linear infinite; pointer-events:none;
}
@keyframes beamSpin{ to{ --beam:360deg; } }


/* =========================================================
   V3 — profesionalización (jul-2026)
   ========================================================= */

/* Skip link accesible */
.skip-link{
  position:fixed; top:-52px; left:16px; z-index:100;
  background:var(--indigo); color:#fff; font-weight:700; font-size:14px;
  padding:10px 18px; border-radius:0 0 10px 10px;
  transition:top .2s ease;
}
.skip-link:focus-visible{ top:0; }

/* Focus visible global (accesibilidad) */
a:focus-visible, button:focus-visible, summary:focus-visible{
  outline:3px solid var(--indigo); outline-offset:2px; border-radius:6px;
}

/* Anclas sin quedar bajo el header fijo */
section[id]{ scroll-margin-top:76px; }

/* Nav: link activo por sección (scrollspy) */
.nav-links a.link.active{ color:var(--text); }
.nav-links a.link.active::after{ transform:scaleX(1); }

/* Conector de pasos que se dibuja al entrar */
.js .steps::before{ transform:scaleX(0); transform-origin:left; transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .25s; }
.js .steps.drawn::before{ transform:scaleX(1); }

/* Sparkline del dashboard: barras entran escalonadas */
.js .hdm-spark .sp-bar{ transform:scaleY(0); transform-origin:bottom; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.js .hdm-kpi.animated .sp-bar{ transform:scaleY(1); }
.hdm-spark .sp-bar:nth-child(2){ transition-delay:.06s; }
.hdm-spark .sp-bar:nth-child(3){ transition-delay:.12s; }
.hdm-spark .sp-bar:nth-child(4){ transition-delay:.18s; }
.hdm-spark .sp-bar:nth-child(5){ transition-delay:.24s; }
.hdm-spark .sp-bar:nth-child(6){ transition-delay:.30s; }
.hdm-spark .sp-bar:nth-child(7){ transition-delay:.36s; }

/* Caret parpadeante en el input del chat demo */
.chat-input .field::after{
  content:""; display:inline-block; width:1.5px; height:1em;
  background:var(--muted); margin-left:3px; vertical-align:text-bottom;
  animation:caretBlink 1.1s steps(1) infinite;
}
@keyframes caretBlink{ 50%{ opacity:0; } }


/* =========================================================
   V4 — credibilidad y conversión (6-jul-2026)
   ========================================================= */

/* Microcopy de confianza bajo el CTA del hero */
.hero-note{
  margin-top:14px; font-size:13.5px; font-weight:600; color:var(--muted-2);
}
.hero-note b{ color:var(--muted); font-weight:700; }

/* CTA por rubro en casos de uso */
.uc-cta{
  margin-top:auto; padding-top:12px; border-top:1px solid var(--border);
  display:inline-flex; align-items:center; gap:6px;
  font-size:14px; font-weight:700; color:var(--indigo);
  transition:color .2s, gap .2s;
}
.uc-cta:hover{ color:var(--coral); gap:9px; }
.uc-cta svg{ width:14px; height:14px; }

/* Aclaración de costos bajo los planes */
.plans-note{
  text-align:center; color:var(--muted-2); margin-top:14px; font-size:13.5px;
  max-width:640px; margin-inline:auto;
}

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-orb, .marquee-track, .plan-beam, .inbox-item.is-new, .hda-item.is-new, .hero h1 .hl{ animation:none; }
  .js .reveal{ filter:none; }
  .js .hdm-spark .sp-bar{ transform:scaleY(1); transition:none; }
  .chat-input .field::after{ animation:none; }
  .skip-link{ transition:none; }
  .bubble{ animation:none; opacity:1; transform:none; }
  .fab{ animation:none; }
  html{ scroll-behavior:auto; }
  .steps::before{ display:none; }
  .live-dot, .hdm-live-dot, .hdm-status-dot{ animation:none; }
  .hero::before{ animation:none; }
  .typing-dots span{ animation:none; opacity:1; }
  .float-notif{ animation:none; }
  .al-bar{ transform:scaleY(1); transition:none; }
}

/* =========================================================
   Alternancia de fondos por sección (blanco / lavanda / azul pálido)
   ========================================================= */
#solucion{ background:var(--bg-3); }
#como{ background:var(--surface); }
#producto-accion{ background:var(--bg-2); }
#analytics{ background:var(--bg-2); }
#beneficios{ background:var(--surface); }
#casos{ background:var(--bg-3); }
#testimonios{ background:var(--surface); }
#planes{ background:var(--bg-2); }
#quienes{ background:var(--bg-3); }
#faq{ background:var(--surface); }

/* ===== Responsive ===== */
@media (max-width:1100px){
  .hd-activity{ display:none; }
  .platform-body{ grid-template-columns:148px 185px 1fr; }
  .analytics-layout{ grid-template-columns:240px 1fr; }
}
@media (max-width:980px){
  .hero{ padding-top:130px; }
  .hd-metrics{ display:none; }
  .platform-body{ grid-template-columns:185px 1fr; }
  .grid-6{ grid-template-columns:repeat(2,1fr); }
  .float-notif{ display:none; }
  .analytics-layout{ grid-template-columns:1fr; }
}
@media (max-width:820px){
  .nav-links, .nav-cta .btn{ display:none; }
  .menu-btn{ display:grid; place-items:center; }
  section{ padding:72px 0; }
  .grid-3, .steps, .usecases{ grid-template-columns:1fr; }
  .trust-grid{ grid-template-columns:repeat(2,1fr); }
  .plans{ grid-template-columns:1fr; }
  .grid-2{ grid-template-columns:1fr; }
  .steps::before{ display:none; }
  .inbox-sidebar{ display:none; }
  .platform-body{ grid-template-columns:1fr; }
  .platform-mock{ border-radius:14px; }
  .plat-stat{ display:none; }
  .chat-panel .chat-body{ height:240px; }
  .behind-wrap{ grid-template-columns:1fr; gap:28px; }
  .behind-avs{ justify-content:center; }
}
@media (max-width:560px){
  .grid-6, .usecases{ grid-template-columns:1fr; }
  .trust-grid{ grid-template-columns:1fr; }
  .stat-strip-inner{ display:grid; grid-template-columns:1fr 1fr; }
  .stat{ border-right:none; border-bottom:1px solid var(--border); padding:18px 16px; }
  .stat:nth-child(odd){ border-right:1px solid var(--border); }
  .stat:nth-last-child(-n+2){ border-bottom:none; }
  .hero-actions .btn{ width:100%; }
  .cta-box{ padding:44px 22px; }
}
