/* AiMojo · aimojo.es · minimalista con color: un tipo de letra, aurora de fondo, acentos menta/violeta/cielo y movimiento discreto.
   Tema claro y oscuro según el dispositivo (data-theme en <html>, switch en la cabecera). */
:root{
  --bg:#F6F7FB; --surface:rgba(255,255,255,.78); --surface-2:rgba(255,255,255,.92); --text:#0B0F14; --muted:#5F6B78; --line:rgba(11,15,20,.09); --line-2:rgba(11,15,20,.18);
  --ink:#0B0F14; --ink-text:#FFFFFF;
  --c1:#0E9F6E; --c2:#6A5AE0; --c3:#0E8FB5; --c4:#E8794A;                 /* menta · violeta · cielo · melocotón (versión tinta, legible sobre claro) */
  --c1s:#34F5A0; --c2s:#8A7CFF; --c3s:#7EF0FF; --c4s:#FFB27A;             /* versión luz, para fondos y brillos */
  --accent:var(--c1); --accent-soft:rgba(14,159,110,.10); --wa:#25D366;
  --grad:linear-gradient(90deg,var(--c1),var(--c3) 50%,var(--c2));
  --blob-op:.75; --grain-op:.07; --dot:rgba(11,15,20,.12);
  --wa-head:#F0F2F5; --wa-chat:#EFEAE2; --wa-in:#FFFFFF; --wa-out:#D9FDD3; --wa-field:#FFFFFF; --wa-text:#111B21; --wa-sub:#667781;
  --con-bg:#0B0F14; --con-text:#D6DCE3; --con-me:#FFFFFF; --con-bot:#7EE2B8; --con-line:#1C232B; --con-field:#12181F;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --wrap:1120px; --gutter:20px; --r:16px; --r-lg:24px;
  --shadow:0 24px 60px -30px rgba(11,15,20,.25);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#090B0F; --surface:rgba(255,255,255,.035); --surface-2:rgba(255,255,255,.06); --text:#F2F4F6; --muted:#98A2AD; --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.18);
  --ink:#F2F4F6; --ink-text:#0B0D10;
  --c1:#34F5A0; --c2:#A99BFF; --c3:#7EF0FF; --c4:#FFB27A;
  --accent:var(--c1); --accent-soft:rgba(52,245,160,.10);
  --blob-op:.5; --grain-op:.09; --dot:rgba(255,255,255,.09);
  --wa-head:#202C33; --wa-chat:#0B141A; --wa-in:#202C33; --wa-out:#005C4B; --wa-field:#2A3942; --wa-text:#E9EDEF; --wa-sub:#8696A0;
  --con-bg:#07090C; --con-line:#1C222A; --con-field:#10151B;
  --shadow:0 24px 60px -30px rgba(0,0,0,.8);
  color-scheme:dark;
}
@media (min-width:760px){:root{--gutter:32px}}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--font);font-feature-settings:"cv11","ss01","liga";-webkit-font-smoothing:antialiased;overflow-x:hidden}
html.theme-anim body,html.theme-anim .nav,html.theme-anim .card,html.theme-anim .phone,html.theme-anim .btn,html.theme-anim .foot,html.theme-anim .stat,html.theme-anim .steps li,html.theme-anim .compare,html.theme-anim .caps-box{transition:background-color .45s ease,color .45s ease,border-color .45s ease}
html.i18n-busy body>*{visibility:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.1}
h1{font-size:clamp(40px,6.4vw,76px);letter-spacing:-.035em;line-height:1.02}
h2{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.03em;text-wrap:balance}
h3{font-size:19px;letter-spacing:-.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:760px}
.eyebrow{display:flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--grad)}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--muted);max-width:60ch;text-wrap:pretty}
.muted{color:var(--muted)}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--ink-text);padding:8px 12px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--c1);outline-offset:3px}

/* ---------- fondo: aurora, grano y retícula ---------- */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg);pointer-events:none}
.blob{position:absolute;border-radius:50%;opacity:var(--blob-op);will-change:transform;animation:drift 26s ease-in-out infinite alternate}
.b1{width:70vmax;height:70vmax;left:-25vmax;top:-30vmax;background:radial-gradient(closest-side,rgba(52,245,160,.55),rgba(52,245,160,0) 70%)}
.b2{width:60vmax;height:60vmax;right:-22vmax;top:-10vmax;background:radial-gradient(closest-side,rgba(138,124,255,.5),rgba(138,124,255,0) 70%);animation-duration:32s;animation-delay:-8s}
.b3{width:55vmax;height:55vmax;left:20vmax;bottom:-35vmax;background:radial-gradient(closest-side,rgba(255,178,122,.45),rgba(255,178,122,0) 70%);animation-duration:38s;animation-delay:-16s}
.b4{width:40vmax;height:40vmax;right:5vmax;bottom:-10vmax;background:radial-gradient(closest-side,rgba(126,240,255,.45),rgba(126,240,255,0) 70%);animation-duration:29s;animation-delay:-4s}
.bg::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--dot) 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 0%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 55% at 50% 0%,#000 30%,transparent 80%)}
.bg::after{content:"";position:absolute;inset:0;opacity:var(--grain-op);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;mix-blend-mode:multiply}
:root[data-theme="dark"] .bg::after{mix-blend-mode:screen}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(6vw,4vh,0) scale(1.08)}100%{transform:translate3d(-4vw,7vh,0) scale(.96)}}

/* ---------- botones ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--ink);font:500 15px/1 var(--font);white-space:nowrap;cursor:pointer;overflow:hidden;transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s ease,opacity .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--ink);color:var(--ink-text)}
.btn-primary:hover{opacity:.92;box-shadow:0 12px 30px -14px rgba(11,15,20,.6)}
.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--text)}
.btn-grad{background:linear-gradient(120deg,#34F5A0,#7EF0FF 55%,#8A7CFF) border-box;border:0;color:#0B0F14;box-shadow:0 14px 34px -14px rgba(52,245,160,.6);isolation:isolate}   /* sin borde: con uno transparente el degradado se repetía en él y asomaban tiras de color en los extremos */
.btn-grad:hover{box-shadow:0 18px 40px -14px rgba(138,124,255,.55)}
.btn-grad::after{content:"";position:absolute;z-index:-1;top:-40%;bottom:-40%;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg);animation:sheen 4.5s ease-in-out infinite}
@keyframes sheen{0%,60%{left:-60%}100%{left:130%}}
.btn-lg{min-height:52px;padding:0 26px;font-size:16px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---------- cabecera ---------- */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid transparent;transition:border-color .3s ease,background-color .3s ease}
.nav.scrolled{border-bottom-color:var(--line);background:color-mix(in srgb,var(--bg) 84%,transparent)}
.nav-in{display:flex;align-items:center;gap:28px;height:64px}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:18px;letter-spacing:-.02em}
.brand-mark{width:22px;height:22px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.brand:hover .brand-mark{transform:rotate(90deg)}
.brand-dot{fill:var(--bg)}
.brand-word b{font-weight:600;color:var(--c1)}
.nav-links{display:none;gap:26px;margin-left:auto;font-size:14.5px;color:var(--muted)}
.nav-links a{position:relative;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{display:none;margin-left:6px}
.nav-tools{display:flex;align-items:center;gap:6px;margin-left:auto}
.theme-switch,.menu-btn{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;padding:0;transition:border-color .2s ease,transform .2s ease}
.theme-switch:hover,.menu-btn:hover{border-color:var(--line-2);transform:translateY(-1px)}
.theme-switch svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.theme-switch:hover svg{transform:rotate(30deg)}
.theme-switch .moon{display:none}
:root[data-theme="dark"] .theme-switch .sun{display:none}
:root[data-theme="dark"] .theme-switch .moon{display:block}
.menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-btn span{display:block;width:16px;height:1.5px;border-radius:2px;background:var(--text);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.mobile-nav{display:flex;flex-direction:column;gap:2px;padding:8px var(--gutter) 18px;border-top:1px solid var(--line);background:var(--bg)}
.mobile-nav[hidden]{display:none}
.mobile-nav a{padding:12px 0;font-size:17px;border-bottom:1px solid var(--line)}
.mobile-nav .btn{margin-top:14px;border-bottom:0}
@media (min-width:960px){.nav-links{display:flex}.nav-cta{display:inline-flex}.nav-tools{margin-left:0}.menu-btn{display:none}.mobile-nav{display:none!important}}

/* ---------- hero ---------- */
.hero{padding:clamp(56px,9vw,120px) 0 clamp(40px,6vw,80px)}
.hero-grid{display:grid;gap:48px;align-items:center}
@media (min-width:960px){.hero-grid{grid-template-columns:1.15fr .85fr;gap:64px}}
.hero .eyebrow{animation:fade .8s ease both}
.hero .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero .line>span{display:block;transform:translateY(110%);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero .line:nth-child(2)>span{animation-delay:.12s}
.hero .line>.rot{display:grid;text-align:left}          /* las cinco frases comparten una celda: solo ocupa el alto de la más alta */
.rot>span{grid-area:1/1;white-space:nowrap;opacity:0;transform:translateY(.5em);filter:blur(6px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1),filter .55s ease;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.rot>span.on{opacity:1;transform:none;filter:blur(0)}
.rot>span.off{opacity:0;transform:translateY(-.45em);filter:blur(6px)}
.hero .lead{margin:24px 0 32px;animation:fade .9s .25s ease both}
.hero .cta-row{animation:fade .9s .35s ease both}
.proof{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:var(--muted);animation:fade .9s .45s ease both}
.proof li{position:relative;padding-left:16px}
.proof li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--c1)}
.proof li.live::before{box-shadow:0 0 0 0 rgba(52,245,160,.6);animation:pulse 2s ease-out infinite}
.proof b{color:var(--text);font-weight:500}
@keyframes rise{to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,245,160,.55)}100%{box-shadow:0 0 0 10px rgba(52,245,160,0)}}

/* teléfono de la demo */
.hero-demo{display:flex;flex-direction:column;align-items:center;gap:16px;perspective:1200px;animation:fade 1s .3s ease both}
.phone-wrap{position:relative;width:min(330px,100%);animation:floaty 7s ease-in-out infinite;transform-style:preserve-3d}   /* ancho fijo: no depende de los mensajes del chat */
.phone{width:100%;border:1px solid var(--line-2);border-radius:46px;padding:9px;background:var(--surface-2);box-shadow:0 40px 90px -40px rgba(11,15,20,.45);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease;will-change:transform}
.phone-in{position:relative;border-radius:38px;overflow:hidden;background:var(--wa-chat);display:flex;flex-direction:column;aspect-ratio:9/17}
.phone-in::before{content:"";position:absolute;top:10px;left:50%;width:84px;height:24px;transform:translateX(-50%);border-radius:999px;background:#0B0F14;z-index:2}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.wa-head{display:flex;align-items:center;gap:10px;padding:44px 14px 10px;background:var(--wa-head);color:var(--wa-text);border-bottom:1px solid rgba(0,0,0,.06)}
.wa-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#34F5A0,#8A7CFF);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:600}
.wa-title{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.wa-title b{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-title span{font-size:12px;color:var(--wa-sub)}
.wa-time{margin-left:auto;font-size:12px;color:var(--wa-sub)}
.wa-chat{flex:1;overflow:hidden;padding:14px 12px;display:flex;flex-direction:column;gap:8px;background:var(--wa-chat)}
.bub{max-width:82%;padding:8px 10px 6px;border-radius:10px;font-size:14px;line-height:1.4;color:var(--wa-text);box-shadow:0 1px 0 rgba(0,0,0,.05);animation:pop .3s cubic-bezier(.2,.7,.2,1)}
.bub.in{align-self:flex-start;background:var(--wa-in);border-top-left-radius:2px}
.bub.out{align-self:flex-end;background:var(--wa-out);border-top-right-radius:2px}
.bub time{display:block;font-size:10.5px;text-align:right;color:var(--wa-sub);margin-top:3px}
.typing{align-self:flex-start;background:var(--wa-in);border-radius:10px;padding:10px 12px;display:flex;gap:4px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--wa-sub);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
.wa-input{display:flex;align-items:center;gap:10px;padding:10px 12px 14px;background:var(--wa-head)}
.wa-input span{flex:1;background:var(--wa-field);border-radius:999px;padding:9px 14px;font-size:13.5px;color:var(--wa-sub)}
.wa-input i{width:36px;height:36px;border-radius:50%;background:var(--wa);display:grid;place-items:center;font-style:normal;font-size:15px}
.scen{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}   /* siempre por encima del teléfono: nada debe tapar los botones */
.scen button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:7px 12px;font:500 13px/1 var(--font);cursor:pointer;transition:all .2s ease}
.scen button:hover{border-color:var(--line-2);color:var(--text)}
.scen button[aria-selected="true"]{background:var(--ink);color:var(--ink-text);border-color:var(--ink)}
.demo-note{font-size:13px;color:var(--muted);text-align:center}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}

/* ---------- cinta ---------- */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ticker-in{display:flex;width:max-content;gap:0;animation:ticker 48s linear infinite}
.ticker:hover .ticker-in{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.ticker span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c1)}
.ticker span:nth-child(4n+2)::before{background:var(--c2)}.ticker span:nth-child(4n+3)::before{background:var(--c3)}.ticker span:nth-child(4n+4)::before{background:var(--c4)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- secciones ---------- */
.sec{padding:clamp(64px,8vw,112px) 0}
.sec+.sec{border-top:1px solid var(--line)}
.sec-head{max-width:720px;margin-bottom:clamp(36px,5vw,56px)}
.sec-head .lead{margin-top:18px}
.grid{display:grid;gap:14px}
@media (min-width:700px){.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .35s ease}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(52,245,160,.16),rgba(138,124,255,.08) 40%,transparent 65%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.card:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow)}
.card:hover::before{opacity:1}
.card>*{position:relative}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);font-size:15.5px}
.num{display:inline-block;font:600 12px/1 var(--mono);letter-spacing:.08em;margin-bottom:22px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* modo jefe */
.console{position:relative;border-radius:var(--r-lg);background:var(--con-bg);color:var(--con-text);border:1px solid var(--con-line);overflow:hidden;font-family:var(--mono);font-size:14px;box-shadow:0 40px 100px -50px rgba(138,124,255,.6)}
.console::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad);opacity:.9}
.console-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--con-line);font-size:12px;color:#7C8792}
.c-dot{width:10px;height:10px;border-radius:50%;background:#2A323B}
.c-dot:nth-child(1){background:#FF5F57}.c-dot:nth-child(2){background:#FEBC2E}.c-dot:nth-child(3){background:#28C840}
.console-body{height:250px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;line-height:1.5}
.line{white-space:pre-wrap;animation:pop .3s ease}
.line.me{color:var(--con-me)}.line.me::before{content:"tú  › ";color:#7C8792}
.line.bot{color:var(--con-bot)}.line.bot::before{content:"bot › ";color:#7C8792}
.console-chips{display:flex;gap:8px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none}
.console-chips::-webkit-scrollbar{display:none}
.console-chips button{flex:none;border:1px solid var(--con-line);background:transparent;color:var(--con-text);border-radius:999px;padding:7px 12px;font:400 12.5px/1 var(--font);cursor:pointer;transition:all .2s ease}
.console-chips button:hover{border-color:#8A7CFF;color:#fff}
.console-form{display:flex;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--con-line)}
.console-form input{flex:1;min-width:0;background:var(--con-field);border:1px solid var(--con-line);color:#fff;border-radius:999px;padding:0 16px;height:44px;font:400 14px var(--font)}
.console-form input::placeholder{color:#6B7580}
.console-form input:focus{outline:none;border-color:#8A7CFF}
.console-form .btn{border-color:#fff;background:#fff;color:#000}
.jefe-list{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:16px 40px}
@media (min-width:700px){.jefe-list{grid-template-columns:repeat(3,1fr)}}
.jefe-list li{padding-top:14px;border-top:2px solid transparent;border-image:var(--grad) 1;border-image-slice:1 0 0 0}
.jefe-list b{display:block;font-weight:600;margin-bottom:4px}
.jefe-list p{color:var(--muted);font-size:15px}

/* comparación */
.compare{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;font-size:15.5px;background:var(--surface)}
.compare-row{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
.compare-row:first-child{border-top:0;background:var(--surface-2);font:600 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.compare-row:first-child .a{color:var(--c1)}
.compare-row>div{padding:18px 22px}
.compare-row .k{font-weight:600}
.compare-row .a{color:var(--text);background:var(--accent-soft)}
.compare-row .b{color:var(--muted)}
.compare-row:not(:first-child) .a::before,.compare-row:not(:first-child) .b::before{font-family:var(--mono);margin-right:10px}
.compare-row:not(:first-child) .a::before{content:"✓";color:var(--c1)}
.compare-row:not(:first-child) .b::before{content:"—"}
@media (max-width:699px){.compare-row:first-child .b,.compare-row:first-child .a{display:none}.compare-row .k{padding-bottom:4px}.compare-row .a{padding-top:12px;padding-bottom:12px}.compare-row .b{padding-top:12px}}
@media (min-width:700px){.compare-row{grid-template-columns:1.1fr 1.3fr 1.3fr}.compare-row>div+div{border-left:1px solid var(--line)}}

/* caso real */
.caso-grid{display:grid;gap:40px}
@media (min-width:900px){.caso-grid{grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}}
.facts{list-style:none;padding:0;margin:28px 0 32px;display:grid;gap:14px;color:var(--muted);font-size:16px}
.facts li{position:relative;padding-left:26px}
.facts li::before{content:"—";color:var(--c1);position:absolute;left:0}
.facts b{color:var(--text);font-weight:500}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.stat:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.stat b{display:block;font-size:clamp(34px,4vw,48px);font-weight:600;letter-spacing:-.04em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{display:block;font-size:14px;color:var(--muted);margin-top:8px}

/* capacidades (plegadas) */
.caps-box{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
/* botón normal y no <details>: en Safari de iPhone el <summary> de este bloque no se abría al tocarlo */
.caps-toggle{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;padding:26px 28px;display:flex;align-items:center;gap:16px;font:600 19px/1.4 var(--font);letter-spacing:-.01em;border-radius:var(--r-lg)}
.caps-toggle::after{content:"+";margin-left:auto;font-weight:400;font-size:26px;color:var(--muted)}
.caps-toggle[aria-expanded="true"]::after{content:"–"}
.caps-toggle small{font-weight:400;color:var(--muted);font-size:15px}
.caps-in[hidden]{display:none}
.caps-in{padding:0 28px 28px;border-top:1px solid var(--line)}
.filters{display:flex;flex-direction:column;gap:14px;padding:22px 0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:7px 12px;font:500 13px/1 var(--font);cursor:pointer;transition:all .2s ease}
.chips button:hover{border-color:var(--line-2);color:var(--text)}
.chips button[aria-pressed="true"]{background:var(--ink);color:var(--ink-text);border-color:var(--ink)}
#cap-search{height:44px;border:1px solid var(--line);border-radius:999px;padding:0 16px;font:400 15px var(--font);background:var(--surface-2);color:var(--text);max-width:420px}
.cap-group{padding:18px 0 4px}
.cap-group h3{font-size:14px;color:var(--muted);font-weight:500;margin-bottom:12px}
.cap-group h3 small{font-family:var(--mono);font-size:12px;margin-left:6px}
.caps{display:grid;gap:8px 24px}
@media (min-width:700px){.caps{grid-template-columns:1fr 1fr}}
.cap{display:flex;gap:10px;align-items:baseline;font-size:15px}
.cap::before{content:"✓";font-family:var(--mono);color:var(--c1);flex:none}
.cap em{display:none}
.cap-empty{color:var(--muted);padding:12px 0}
.cap-own{margin:10px 0 6px;padding:18px 18px 16px;border-radius:var(--r);background:linear-gradient(135deg,rgba(52,245,160,.14),rgba(138,124,255,.12));border:1px solid color-mix(in srgb,var(--c1) 28%,transparent);animation:pop .35s cubic-bezier(.2,.7,.2,1)}
.cap-own h3{color:var(--text)}
.cap-own h3 b{font-weight:600}

/* pasos */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:14px;counter-reset:s}
@media (min-width:700px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.steps li:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.steps li::before{counter-increment:s;content:"0" counter(s);display:inline-block;font:600 12px/1 var(--mono);letter-spacing:.08em;margin-bottom:22px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.steps h3{margin-bottom:10px}
.steps p{color:var(--muted);font-size:15.5px}
.terms{margin-top:22px;font-size:14.5px;color:var(--muted)}

/* faq */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;font-weight:500;font-size:17px;display:flex;justify-content:space-between;gap:20px;align-items:center;transition:color .2s ease}
.faq summary:hover{color:var(--c1)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--muted);font-weight:400;font-size:22px;flex:none;transition:transform .3s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--muted);padding:0 0 22px;max-width:65ch;animation:fade .4s ease}

/* cierre */
.final-card{position:relative;overflow:hidden;text-align:center;border-radius:32px;padding:clamp(48px,7vw,88px) clamp(20px,5vw,64px);background:#0B0F14;color:#F2F4F6;box-shadow:0 50px 120px -60px rgba(138,124,255,.7)}
.final-card::before,.final-card::after{content:"";position:absolute;border-radius:50%;pointer-events:none;animation:drift 20s ease-in-out infinite alternate}
.final-card::before{width:60%;padding-top:60%;left:-15%;top:-40%;background:radial-gradient(closest-side,rgba(52,245,160,.5),transparent 70%)}
.final-card::after{width:55%;padding-top:55%;right:-15%;bottom:-45%;background:radial-gradient(closest-side,rgba(138,124,255,.6),transparent 70%);animation-delay:-9s}
.final-card>*{position:relative;z-index:1}
.final-card h2{max-width:20ch;margin:0 auto 18px;color:#fff}
.final-card p{max-width:52ch;margin:0 auto 32px;color:#B7C0CA;font-size:18px}
.final-card .btn-primary{background:#fff;color:#0B0F14;border-color:#fff}
.final-note{display:block;margin-top:16px;font-size:14px;color:#8B95A0}

/* pie */
.foot{border-top:1px solid var(--line);padding:40px 0 32px;font-size:14px;color:var(--muted)}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 40px;align-items:center}
.foot-in nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.foot a:hover{color:var(--text)}
.foot .brand{color:var(--text);font-size:16px}

/* WhatsApp flotante */
.wa-float{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px -10px rgba(0,0,0,.4);z-index:40;transition:transform .2s ease}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:28px;height:28px}

/* aparición suave, escalonada dentro de rejillas */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.on{opacity:1;transform:none}
.reveal.stagger{opacity:1;transform:none}
.reveal.stagger>*{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*80ms)}
.reveal.stagger.on>*{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal.stagger>*{opacity:1;transform:none;transition:none}
  .bub,.line,.faq p,.cap-own{animation:none}
  html{scroll-behavior:auto}
  .blob,.phone-wrap,.ticker-in,.final-card::before,.final-card::after,.btn-grad::after,.proof li.live::before{animation:none}
  .hero .line>span{transform:none;animation:none}
  .hero .eyebrow,.hero .lead,.hero .cta-row,.proof,.hero-demo{animation:none}
  .rot>span{transition:none}
}

/* ---------- webs a medida ---------- */
.webs-grid{display:grid;gap:56px;align-items:center}
@media (min-width:960px){.webs-grid{grid-template-columns:1fr 1fr;gap:72px}.webs-demo{order:-1}}
.webs-list{list-style:none;padding:0;margin:32px 0;display:grid;gap:18px 32px}
@media (min-width:600px){.webs-list{grid-template-columns:1fr 1fr}}
.webs-list li{padding-top:14px;border-top:2px solid transparent;border-image:var(--grad) 1;border-image-slice:1 0 0 0}
.webs-list b{display:block;font-weight:600;margin-bottom:4px}
.webs-list p{color:var(--muted);font-size:15px}
.webs-note{margin-top:18px;font-size:14px;color:var(--muted)}
.webs-demo{position:relative;padding:0 0 12% 0;margin-right:6%}
.browser{margin:0;border-radius:14px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line-2);box-shadow:var(--shadow)}
.browser-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface)}
.browser-bar i{width:10px;height:10px;border-radius:50%;flex:none}
.browser-bar i:nth-child(1){background:#FF5F57}.browser-bar i:nth-child(2){background:#FEBC2E}.browser-bar i:nth-child(3){background:#28C840}
.browser-bar span{margin-left:10px;flex:1;max-width:240px;font:500 12px/1 var(--mono);color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 12px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.browser picture,.browser img{display:block;width:100%;height:auto}
.mini-phone{position:absolute;right:-6%;bottom:0;width:28%;max-width:190px;margin:0;border-radius:24px;padding:5px;background:#0B0F14;box-shadow:0 30px 60px -22px rgba(11,15,20,.55)}
.mini-phone picture,.mini-phone img{display:block;width:100%;height:auto;border-radius:19px}
:root[data-theme="dark"] .mini-phone{box-shadow:0 0 0 1px rgba(255,255,255,.14),0 30px 60px -22px rgba(0,0,0,.85)}
@media (max-width:599px){.webs-demo{margin-right:4%}.mini-phone{width:32%;right:-4%;border-radius:18px;padding:4px}.mini-phone img{border-radius:14px}}
.webs-copy .lead{margin-top:18px}
