
body{margin:0;background:#F8F9FD}
a{color:#3A57EF}a:hover{color:#2337B8}
*{box-sizing:border-box}
input,select,textarea{font-family:inherit}
/* Botones: se elevan, crecen y un destello suave los recorre */
.btn{position:relative;overflow:hidden;isolation:isolate;cursor:pointer;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,background .35s,color .35s}
.btn::after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(115deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.32) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);transition:left 1.4s ease;pointer-events:none;z-index:1}
.btn:hover{transform:translateY(-3px) scale(1.04)}
.btn:hover::after{left:140%}
.btn .arr{transition:transform .4s}
.btn:hover .arr{transform:translateX(5px)}
.btn-green:hover{box-shadow:0 0 0 5px rgba(134,196,6,.14),0 14px 30px rgba(134,196,6,.4)!important;color:#1E2A00!important}
.btn-blue:hover{box-shadow:0 0 0 5px rgba(58,87,239,.12),0 14px 30px rgba(58,87,239,.36)!important;color:#FFFFFF!important}
.btn-ghost:hover{background:#3A57EF!important;color:#FFFFFF!important;box-shadow:0 0 0 5px rgba(58,87,239,.1),0 14px 30px rgba(58,87,239,.3)!important}
.navpill{transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.navpill:hover{background:#3A57EF!important;color:#FFFFFF!important;transform:translateY(-2px);box-shadow:0 10px 22px rgba(58,87,239,.3)}
.logo-link{transition:transform .3s}.logo-link:hover{transform:scale(1.04)}
/* Tarjetas */
.card{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.card:hover{transform:translateY(-10px) scale(1.012)}
.card-blue{box-shadow:0 0 0 6px rgba(58,87,239,.38)}
.card-green{box-shadow:0 0 0 6px rgba(134,196,6,.46)}
.card-blue:hover{box-shadow:0 0 0 6px rgba(58,87,239,.34),0 30px 70px rgba(58,87,239,.42)}
.card-green:hover{box-shadow:0 0 0 6px rgba(134,196,6,.42),0 30px 70px rgba(102,160,0,.45)}
.card .mock{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.card:hover .mock{transform:translateY(-8px)}
.float-n{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.card:hover .float-n{transform:translateY(-6px) scale(1.04)}
.feat{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s,background .45s}
.feat:hover{transform:translateY(-8px) scale(1.03);border-color:#AFC0FF!important;background:linear-gradient(180deg,#FFFFFF 0%,#EAF0FF 100%)!important;box-shadow:0 0 0 5px rgba(58,87,239,.07),0 24px 50px rgba(58,87,239,.24)}
.feat .ic{transition:transform .45s,background .45s,color .45s}
.feat:hover .ic{transform:scale(1.12) rotate(-6deg);background:#3A57EF!important;color:#FFFFFF!important}
.play{transition:transform .4s,box-shadow .4s}.play:hover{transform:scale(1.08);box-shadow:0 0 0 16px rgba(58,87,239,.24),0 0 50px rgba(58,87,239,.55)!important}
/* Teléfono realista */
.phone{position:relative;background:linear-gradient(145deg,#5A606E 0%,#23262E 35%,#0E1014 70%,#3C414D 100%);border-radius:50px;padding:3px;box-shadow:0 40px 80px rgba(0,0,0,.28),0 10px 24px rgba(0,0,0,.18)}
.phone::before{content:"";position:absolute;left:-3px;top:110px;width:3px;height:44px;border-radius:3px 0 0 3px;background:#2B2F38;box-shadow:0 60px 0 #2B2F38}
.phone::after{content:"";position:absolute;right:-3px;top:150px;width:3px;height:70px;border-radius:0 3px 3px 0;background:#2B2F38}
.phone-in{position:relative;height:100%;background:#050607;border-radius:47px;padding:9px}
.island{position:absolute;top:19px;left:50%;transform:translateX(-50%);width:84px;height:24px;background:#000;border-radius:20px;z-index:3}
.screen{position:relative;height:100%;border-radius:39px;overflow:hidden;background:#F6F7FB}
.screen::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 38%);pointer-events:none}
/* Fondo continuo */
.blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:float 22s ease-in-out infinite alternate}
@keyframes float{0%{transform:translate(0,0) scale(1)}100%{transform:translate(60px,-40px) scale(1.12)}}
/* Entrada del hero */
.intro{animation:rise 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.bob{animation:bob 6s ease-in-out infinite}
@keyframes bob2{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.bob2{animation:bob2 7s ease-in-out infinite}

@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
/* Aparición al hacer scroll */
@supports (animation-timeline: view()){
.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
.rv-l{animation:rvl linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
.rv-r{animation:rvr linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
.px{animation:px linear both;animation-timeline:scroll();animation-range:0 700px}
}
@keyframes rv{from{opacity:0;transform:translateY(70px) scale(.97)}to{opacity:1;transform:none}}
@keyframes rvl{from{opacity:0;transform:translateX(-70px)}to{opacity:1;transform:none}}
@keyframes rvr{from{opacity:0;transform:translateX(70px)}to{opacity:1;transform:none}}
@keyframes px{to{transform:translateY(-70px)}}
/* Ventanitas con pestañas */
.tabbtn{position:relative;overflow:hidden;width:56px;height:56px;border-radius:18px;border:1px solid rgba(58,87,239,.15);background:rgba(255,255,255,.7);color:#3A57EF;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .4s,color .4s,transform .4s,box-shadow .4s}
.tabbtn:hover{transform:translateY(-3px)}
.tabbtn.on{background:#3A57EF;color:#FFFFFF;box-shadow:0 12px 26px rgba(58,87,239,.35)}
.tabbtn .bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:#86C406}
.tabbtn.on .bar{animation:prog 6s linear both}
@keyframes prog{to{width:100%}}
.tpanels{display:grid}
.tpanel{grid-area:1/1;opacity:0;transform:translateY(18px) scale(.985);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.tpanel.on{opacity:1;transform:none;pointer-events:auto;transition:opacity .5s ease .2s,transform .7s cubic-bezier(.2,.8,.2,1) .2s}
/* Columnas que se expanden */
.steps{display:flex;gap:14px;height:470px}
.stepcol{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:30px;background:rgba(255,255,255,.75);border:1px solid #E3E8F7;padding:26px 26px;cursor:pointer;transition:flex-grow .9s cubic-bezier(.2,.8,.2,1),background .6s,box-shadow .6s}
.stepcol.on{flex-grow:4;background:#FFFFFF;box-shadow:0 30px 60px rgba(58,87,239,.16)}

.stepcol>*{position:relative;z-index:1}
.stepcol::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 18% 88%,rgba(134,196,6,.42),transparent 52%),radial-gradient(circle at 88% 62%,rgba(58,87,239,.30),transparent 55%),radial-gradient(circle at 55% 105%,rgba(200,242,90,.5),transparent 48%);opacity:1;transition:opacity .9s}
.stepcol:nth-child(even)::before{background:radial-gradient(circle at 82% 90%,rgba(58,87,239,.34),transparent 52%),radial-gradient(circle at 12% 66%,rgba(134,196,6,.30),transparent 55%),radial-gradient(circle at 45% 108%,rgba(160,180,255,.5),transparent 48%)}
.stepcol::after{content:"";position:absolute;left:50%;bottom:-2px;width:300px;height:150px;margin-left:-150px;border-radius:150px 150px 0 0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 100%,rgba(255,255,255,.85) 0 34%,rgba(255,255,255,.42) 34% 62%,rgba(255,255,255,.2) 62% 100%);transform-origin:50% 100%;animation:orb 6s ease-in-out infinite alternate;transition:opacity .6s}
.stepcol.on::before{opacity:.28}
.stepcol.on::after{opacity:0}
@keyframes orb{0%{transform:scale(1)}100%{transform:scale(1.12)}}

.stepcol .num{transition:background .5s,color .5s}
.stepcol.on .num{background:#3A57EF!important;color:#FFFFFF!important}

.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width: 900px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 560px){.grid3{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* ===== Responsive ===== */
.fit{position:absolute;left:0;top:0;transform-origin:0 0}
@media (max-width:1100px){.card-blue,.card-green{height:auto!important}}
@media (max-width:820px){
.steps{flex-direction:column;height:auto}
.stepcol,.stepcol.on{flex:none;min-height:0;padding:22px 20px;background:#fff}

.stepcol::after{display:none}.stepcol::before{opacity:.3!important}

}
@media (max-width:760px){.cardwrap{margin-top:100px}}
@media (max-width:700px){
.card-blue,.card-green{padding:32px 22px 0!important;gap:18px!important;border-radius:30px!important}
.card .mock{margin-top:10px!important}
.tpanel{padding:24px 20px!important;gap:20px!important}
.tpanel h3{font-size:clamp(25px,7vw,34px)!important}
.tpanel p{font-size:16px!important}
}
@media (max-width:560px){
header nav{gap:8px!important}
header .navpill{padding:9px 14px!important;min-height:40px!important;font-size:14px!important}
section{overflow-x:clip}
}

/* ===== Unificada: menú, ingresar, FAQ, nuevas secciones ===== */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:84px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1000px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grid4{grid-template-columns:minmax(0,1fr)}}
.feat.asis:hover{background:linear-gradient(120deg,#EAF7D2 0%,#F2F8E4 55%,#EEF1FF 100%)!important}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:#EEF1FF;color:#3A57EF;align-items:center;justify-content:center;cursor:pointer;margin-left:6px}
.mmenu{display:none;border-top:1px solid #E3E8F7;background:#fff;padding:10px 24px 18px;max-height:calc(100vh - 70px);overflow:auto}
.mmenu.open{display:block}
.mmenu nav{display:flex;flex-direction:column}
.mmenu nav a{padding:13px 10px;border-radius:14px;font-weight:700;font-size:17px;color:#1B1F2B;text-decoration:none}
.mmenu nav a:hover{background:#EEF1FF;color:#3A57EF}
/* FAQ */
.faqgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:56px;align-items:start}
.faqside{display:flex;flex-direction:column;gap:14px;position:sticky;top:110px}
.ale-bubble{display:flex;align-items:flex-end;gap:6px;margin-top:10px}
.bubble{position:relative;background:#fff;border:1px solid #DDE3FB;border-radius:20px 20px 20px 6px;padding:12px 16px;font-weight:700;font-size:15px;color:#3A57EF;box-shadow:0 12px 26px rgba(58,87,239,.12);margin-bottom:150px;order:2;max-width:170px}
.faq{background:rgba(255,255,255,.9);border:1px solid #E6E9F2;border-radius:22px;transition:background .3s,border-color .3s,box-shadow .3s}
.faq:hover{border-color:#AFC0FF;box-shadow:0 14px 30px rgba(58,87,239,.1)}
.faq[open]{background:#EEF1FF;border-color:#C9D3FF}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;min-height:58px;font-weight:700;font-size:17px;color:#1B1F2B}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;color:#3A57EF}
.faq[open] .chv{transform:rotate(180deg)}
.faq p{margin:0;padding:0 24px 22px;font-size:15.5px;line-height:1.6;color:#4B5060}
@media (max-width:1100px){.hide-md{display:none!important}.burger{display:inline-flex}}
@media (max-width:640px){.hide-sm{display:none!important}}
@media (max-width:860px){.faqgrid{grid-template-columns:1fr;gap:28px}.faqside{position:static}}
@media (max-width:560px){.mmenu{padding:8px 16px 16px}header .btn-green{padding:11px 18px!important;font-size:15px!important}.faq summary{padding:16px 18px;font-size:16px}.faq p{padding:0 18px 18px}}

/* ===== Ale: presencia en la página ===== */
.ale{position:absolute;pointer-events:none;user-select:none;z-index:5;height:auto}
.ale-a{width:190px;right:50px;top:-136px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cardwrap:hover .ale-a{transform:translate(2px,-15px) scale(1.012)}
.ale-b{width:170px;right:90px;top:12px}
.ale-c{width:125px;right:96px;bottom:0}
.asis{padding-right:250px!important;min-height:170px}
.panel-undia{overflow:hidden}
.tpanels{position:relative}
@media (min-width:1101px){.panel-undia{padding-left:26px!important;padding-right:26px!important}.tpanel{padding-right:230px!important}}
.ale-d{width:auto;right:38px;bottom:22px;z-index:3;opacity:0;transform:translateY(26px) scale(.96);transform-origin:50% 100%;transition:opacity .25s ease,transform .25s ease}
.ale-d.on{opacity:1;transform:none;transition:opacity .55s ease .22s,transform .8s cubic-bezier(.34,1.45,.5,1) .22s}
.ale-d-sombra{position:absolute;z-index:2;right:46px;bottom:16px;width:150px;height:16px;border-radius:50%;background:rgba(0,0,0,.3);filter:blur(6px);pointer-events:none}
.ale-g{width:125px;left:-103px;top:70px;z-index:5}
.ale-h{width:250px;right:12%;top:-114px;z-index:2}
.ale-i{width:175px;left:34px;top:-158px;z-index:5}
.walkway{position:relative;height:118px;margin-top:22px;overflow:hidden}

@keyframes step{from{margin-bottom:0;rotate:-1.2deg}to{margin-bottom:5px;rotate:1.2deg}}
@media (max-width:1100px){.ale-d,.ale-d-sombra{display:none}}
@media (max-width:1000px){.ale-g{display:none}}
@media (max-width:700px){
.ale-a{width:120px;right:24px;top:-80px}
.sec-video{padding-top:120px!important}
.ale-b{width:120px;right:24px;top:-2px}
.ale-c{display:none}.asis{padding-right:30px!important;min-height:0}
.ale-h{width:170px;top:-78px}
.ale-i{width:120px;top:-104px}
.walkway{height:92px}
}

.ale-b-sombra{position:absolute;z-index:4;right:104px;top:158px;width:150px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);filter:blur(7px);pointer-events:none}
@media (max-width:700px){.ale-b-sombra{width:100px;right:30px;top:118px;height:16px}}
.ale-i-sombra{position:absolute;z-index:4;left:52px;top:14px;width:140px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);filter:blur(7px);pointer-events:none}
@media (max-width:700px){.ale-i-sombra{left:34px;top:8px;width:96px;height:14px}}
@media (min-width:1001px){#cotizar .rv-l{padding-right:72px}}

/* Ale caminando: sprite con transparencia (32 cuadros, 1 ciclo de paso) */
.walkvid{--h:112px;--w:76px;position:absolute;bottom:0;left:-8%;height:var(--h);width:var(--w);background:url(assets/ale-caminando-sprite.webp) 0 0/calc(var(--w)*32) var(--h) no-repeat;animation:walkx 20s linear infinite,walkcyc 1.333s steps(32) infinite}
@keyframes walkx{from{left:-8%}to{left:104%}}
@keyframes walkcyc{from{background-position-x:0}to{background-position-x:calc(var(--w)*-32)}}
@media (max-width:1100px){.walkvid{animation-duration:14s,1.333s}}
@media (max-width:700px){.walkvid{--h:84px;--w:57px;animation-duration:7s,1.333s}}
@media (prefers-reduced-motion:reduce){.walkvid{left:30%}}
/* Móvil: FAQ (burbuja más grande) y Ale tirado centrado */
@media (max-width:700px){
.ale-bubble{align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.ale-bubble .ale-faq{height:200px!important;flex:0 0 auto}
.bubble{order:2;flex:1;min-width:0;max-width:none;margin-bottom:0;font-size:19px;line-height:1.25;padding:18px 18px;border-radius:26px 26px 26px 8px;box-shadow:0 16px 34px rgba(58,87,239,.18)}
.ale-h{right:auto;left:50%;transform:translateX(-50%);top:-66px}
}
/* Móvil v2: FAQ con Ale a un costado + sombra del Ale tirado */
.ale-h-sombra{display:none}
@media (max-width:700px){
.faqside{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;row-gap:10px;align-items:start;align-content:start}
.ale-bubble{display:contents}
.ale-bubble .ale-faq{grid-column:1;grid-row:1/span 3;height:215px!important;margin-left:-6px}
.faqside>span{grid-column:2;grid-row:1;align-self:end}
.faqside>h2{grid-column:2;grid-row:2;font-size:27px!important;letter-spacing:-.5px!important}
.bubble{grid-column:2;grid-row:3;order:0;flex:none;font-size:16px;padding:12px 14px;margin:0;border-radius:18px 18px 18px 6px;align-self:start}
.ale-h{top:-58px}
.ale-h-sombra{display:block;position:absolute;z-index:1;left:50%;transform:translateX(-50%);top:-14px;width:150px;height:18px;border-radius:50%;background:rgba(0,0,0,.5);filter:blur(7px);pointer-events:none}
}
/* Móvil v3: Ale sentado más hundido en la tarjeta + FAQ centrado */
@media (max-width:700px){
.ale-b{top:12px}
.ale-b-sombra{top:132px}
.faqside{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.faqside>span,.faqside>h2{grid-column:auto;grid-row:auto;align-self:auto}
.ale-bubble{display:flex;align-items:flex-end;justify-content:center;gap:4px;margin-top:4px}
.ale-bubble .ale-faq{grid-column:auto;grid-row:auto;height:210px!important;margin-left:0}
.bubble{grid-column:auto;grid-row:auto;order:2;flex:none;max-width:150px;font-size:17px;line-height:1.25;text-align:left;margin-bottom:120px;padding:14px 16px;border-radius:20px 20px 20px 6px}
}

/* ───────── Scroll dinámico (lo activa main.js con html.sx) ───────── */
.sbar{position:absolute;left:0;bottom:-1px;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#3A57EF,#86C406);pointer-events:none}

html.sx .rv,html.sx .rv-l,html.sx .rv-r{animation:none}
html.sx [data-fx="rise"]{opacity:var(--e,1);translate:0 calc((1 - var(--e,1))*80px);filter:blur(calc((1 - var(--e,1))*10px))}
html.sx [data-fx="left"]{opacity:var(--e,1);translate:calc((1 - var(--e,1))*-150px) 0;filter:blur(calc((1 - var(--e,1))*8px))}
html.sx [data-fx="right"]{opacity:var(--e,1);translate:calc((1 - var(--e,1))*150px) 0;filter:blur(calc((1 - var(--e,1))*8px))}
html.sx [data-fx="pop"]{opacity:var(--e,1);scale:calc(.84 + .16*var(--e,1));translate:0 calc((1 - var(--e,1))*100px);rotate:calc((1 - var(--e,1))*-2deg);filter:blur(calc((1 - var(--e,1))*8px))}
html.sx [data-fx="zoom"]{opacity:calc(.1 + .9*var(--e,1));scale:calc(.86 + .14*var(--e,1));translate:0 calc((1 - var(--e,1))*90px)}
html.sx [data-fx="fan"]{opacity:var(--e,1);translate:0 calc((1 - var(--e,1))*110px);rotate:calc((1 - var(--e,1))*4deg);scale:calc(.86 + .14*var(--e,1));filter:blur(calc((1 - var(--e,1))*6px))}
html.sx [data-fx="curtain"]{opacity:calc(.2 + .8*var(--e,1));clip-path:inset(0 calc((1 - var(--e,1))*48%) 0 calc((1 - var(--e,1))*48%) round 40px);scale:calc(.94 + .06*var(--e,1))}
html.sx [data-fx="bounce"]{opacity:min(1,calc(var(--e,1)*2.2));scale:calc(.45 + .55*var(--e,1));translate:0 calc((1 - var(--e,1))*50px);transform-origin:50% 100%}
html.sx [data-fx="spin"]{opacity:min(1,calc(var(--e,1)*2));scale:calc(.2 + .8*var(--e,1));rotate:calc((1 - var(--e,1))*-70deg)}
html.sx [data-fx][data-done]{filter:none}
[data-par]{translate:0 var(--py,0)}

/* ───────── Asistente virtual (Ale) ───────── */
.achat{position:fixed;right:20px;bottom:20px;z-index:70;font-family:'Quicksand',sans-serif}
.achat-av{display:block;border-radius:50%;background:#fff url(assets/ale-saludando-nuevo.svg) 74.8% -2.2%/210% auto no-repeat}
.achat-fab{position:relative;width:68px;height:68px;border-radius:50%;border:0;padding:0;cursor:pointer;background:linear-gradient(135deg,#3A57EF,#86C406);box-shadow:0 14px 34px rgba(58,87,239,.38);display:grid;place-items:center;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.achat-fab:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 20px 40px rgba(58,87,239,.45)}
.achat-fab .achat-av{width:58px;height:58px}
.achat-fab::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(58,87,239,.45);animation:achatpulse 2.6s ease-out infinite;pointer-events:none}
@keyframes achatpulse{0%{transform:scale(.9);opacity:.9}80%,100%{transform:scale(1.35);opacity:0}}
.achat-dot{position:absolute;right:2px;top:2px;width:15px;height:15px;border-radius:50%;background:#FF5A5F;border:2px solid #fff}
.achat.open .achat-dot{display:none}
.achat-tip{position:absolute;right:78px;bottom:14px;white-space:nowrap;background:#fff;color:#3A57EF;font-weight:700;font-size:15px;padding:12px 16px;border-radius:18px 18px 4px 18px;box-shadow:0 14px 30px rgba(0,0,0,.16);border:1px solid #DDE3FB;animation:achattip .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes achattip{from{opacity:0;transform:translateX(14px) scale(.92)}to{opacity:1;transform:none}}
.achat-win{position:absolute;right:0;bottom:84px;width:372px;max-height:min(580px,calc(100vh - 120px));display:flex;flex-direction:column;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.28),0 0 0 1px #E3E8F7;transform-origin:100% 100%;animation:achatin .4s cubic-bezier(.2,.8,.2,1) both}
.achat-win[hidden],.achat-tip[hidden]{display:none}
@keyframes achatin{from{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}
.achat-head{display:flex;align-items:center;gap:12px;padding:14px 16px;color:#fff;background:linear-gradient(135deg,#3A57EF,#2B3FB8)}
.achat-head .achat-av{width:44px;height:44px;flex:none;border:2px solid rgba(255,255,255,.7)}
.achat-ht{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.2}
.achat-ht strong{font-size:17px}.achat-ht small{font-size:12.5px;opacity:.85}
.achat-x{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .25s}
.achat-x:hover{background:rgba(255,255,255,.3)}
.achat-body{flex:1;min-height:180px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#F6F7FB;overscroll-behavior:contain}
.am{max-width:86%;padding:11px 14px;border-radius:18px;font-size:15px;line-height:1.4;animation:achattip .35s cubic-bezier(.2,.8,.2,1) both}
.am.bot{align-self:flex-start;background:#fff;color:#232733;border-bottom-left-radius:5px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.am.me{align-self:flex-end;background:#3A57EF;color:#fff;border-bottom-right-radius:5px}
.am a{color:#3A57EF;font-weight:700}
.am .alink{display:inline-block;margin-top:8px;padding:8px 14px;border-radius:999px;background:#86C406;color:#fff;text-decoration:none;font-weight:700;font-size:14px}
.am.typing{display:flex;gap:4px;padding:14px 16px}
.am.typing i{width:7px;height:7px;border-radius:50%;background:#9AA3C7;animation:achatdot 1s infinite}
.am.typing i:nth-child(2){animation-delay:.15s}.am.typing i:nth-child(3){animation-delay:.3s}
@keyframes achatdot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.achat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 4px;background:#F6F7FB;max-height:132px;overflow-y:auto}
.achat-chips button{border:1px solid #C9D3FF;background:#fff;color:#3A57EF;font:700 13.5px 'Quicksand',sans-serif;padding:8px 13px;border-radius:999px;cursor:pointer;transition:background .25s,transform .25s}
.achat-chips button:hover{background:#EEF1FF;transform:translateY(-2px)}
.achat-form{display:flex;gap:8px;padding:12px 14px 14px;background:#F6F7FB}
.achat-form input{flex:1;min-width:0;border:1px solid #DDE3FB;background:#fff;border-radius:999px;padding:12px 16px;font:600 15px 'Quicksand',sans-serif;color:#232733;outline:none}
.achat-form input:focus{border-color:#3A57EF;box-shadow:0 0 0 3px rgba(58,87,239,.16)}
.achat-form button{width:46px;height:46px;border-radius:50%;border:0;background:#3A57EF;color:#fff;cursor:pointer;display:grid;place-items:center;transition:transform .25s,background .25s}
.achat-form button:hover{background:#2B3FB8;transform:scale(1.06)}
@media (max-width:520px){
.achat{right:14px;bottom:14px}
.achat-fab{width:60px;height:60px}.achat-fab .achat-av{width:51px;height:51px}
.achat-win{position:fixed;left:10px;right:10px;bottom:84px;width:auto;max-height:calc(100vh - 110px)}
.achat-tip{right:70px;bottom:10px;font-size:14px;white-space:normal;max-width:190px}
}
@media (prefers-reduced-motion:reduce){.achat-fab::after{display:none}}

/* Ale tirado (final): acostado sobre el borde, con sombra, también en escritorio */
@media (min-width:701px){
.ale-h{top:-88px}
.ale-h-sombra{display:block;position:absolute;z-index:1;right:calc(12% + 14px);top:-6px;width:225px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);filter:blur(7px);pointer-events:none}
}
/* Tarjetas de funciones en 2 columnas: la última no queda sola */
@media (max-width:900px) and (min-width:561px){.grid3>:last-child:nth-child(odd){grid-column:1/-1}}

/* Móvil: funciones como carrusel horizontal (menos scroll vertical) */
.fdots{display:none}
@media (max-width:560px){
  .grid3{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -24px;padding:6px 24px 14px;scroll-padding:0 24px}
  .grid3::-webkit-scrollbar{display:none}
  .grid3>.rv{flex:0 0 80%;scroll-snap-align:start;translate:none!important;scale:none!important;rotate:none!important;filter:none!important}
  .grid3 .feat{padding:24px!important;min-height:210px}
  .fdots{display:flex;justify-content:center;align-items:center;gap:7px;margin:6px 0 4px}
  .fdots i{width:7px;height:7px;border-radius:99px;background:#C9D1F5;transition:width .25s ease,background .25s ease}
  .fdots i.on{width:22px;background:#3A57EF}
  .fhint{display:block;text-align:center;font-size:13px;font-weight:600;color:#6B7390;margin:0 0 4px}
}
.fhint{display:none}
@media (max-width:560px){.fhint{display:block}}

/* ---- Ajustes finales ---- */
p{text-wrap:pretty}
.ale-i-sombra{filter:none;background:radial-gradient(ellipse at center,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,0) 72%)}
@media (min-width:861px){
  .ale-bubble{gap:20px}
  .bubble::before{content:"";position:absolute;left:-7px;bottom:14px;width:14px;height:14px;background:#fff;border-left:1px solid #DDE3FB;border-bottom:1px solid #DDE3FB;transform:rotate(45deg);border-bottom-left-radius:3px}
}
.faq{overflow:hidden}
.faq[open] p{animation:faqin .45s ease both}
@keyframes faqin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Menú móvil / tablet renovado */
header{position:sticky}
.burger path{transition:transform .3s ease,opacity .2s ease;transform-box:fill-box;transform-origin:center}
.burger[aria-expanded="true"]{background:#3A57EF;color:#fff}
.burger[aria-expanded="true"] path:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] path:nth-child(2){opacity:0}
.burger[aria-expanded="true"] path:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mback{display:none}
@media (max-width:1100px){
  .mback{display:block;position:absolute;left:0;right:0;top:100%;height:100vh;background:rgba(20,24,48,.38);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
  .mback.open{opacity:1;visibility:visible}
  .mmenu{display:block;position:absolute;left:12px;right:12px;top:calc(100% + 8px);border:1px solid #E3E8F7;border-radius:26px;box-shadow:0 30px 70px rgba(27,31,60,.22);padding:12px 14px 16px;max-height:calc(100vh - 100px);opacity:0;visibility:hidden;transform:translateY(-14px) scale(.98);transform-origin:top center;pointer-events:none;transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility .28s}
  .mmenu.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .mmenu nav a{display:flex;align-items:center;justify-content:space-between;padding:15px 14px;font-size:18px;border-radius:16px}
  .mmenu nav a::after{content:"";width:8px;height:8px;border-right:2.5px solid #B7C0EE;border-top:2.5px solid #B7C0EE;transform:rotate(45deg);transition:transform .25s,border-color .25s}
  .mmenu nav a:hover::after,.mmenu nav a:active::after{border-color:#3A57EF;transform:translateX(4px) rotate(45deg)}
  .mmenu nav a:active{background:#EEF1FF}
  .mmenu.open nav a{animation:mmin .45s cubic-bezier(.2,.8,.2,1) both}
  .mmenu.open nav a:nth-child(1){animation-delay:.05s}.mmenu.open nav a:nth-child(2){animation-delay:.09s}.mmenu.open nav a:nth-child(3){animation-delay:.13s}.mmenu.open nav a:nth-child(4){animation-delay:.17s}.mmenu.open nav a:nth-child(5){animation-delay:.21s}.mmenu.open nav a:nth-child(6){animation-delay:.25s}
}
@media (min-width:640px) and (max-width:1100px){
  .mmenu nav{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
}
@keyframes mmin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mmenu,.mback{transition:none}.mmenu.open *{animation:none!important}}
@media (min-width:861px){
  .bubble{font-size:18px;line-height:1.3;padding:14px 22px;max-width:none;width:max-content}
  .bubble::before{bottom:16px}
}
.faq summary{-webkit-tap-highlight-color:transparent}

/* Ventana de solicitud de demo */
.dmodal{border:0;padding:0;border-radius:28px;width:min(480px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:#fff;color:#1B1F2B;box-shadow:0 40px 90px rgba(20,24,48,.35);font-family:'Quicksand',sans-serif}
.dmodal::backdrop{background:rgba(20,24,48,.5);backdrop-filter:blur(4px)}
.dmodal[open]{animation:dmin .35s cubic-bezier(.2,.8,.2,1)}
@keyframes dmin{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.dmodal>div{padding:34px 30px 28px}
.dm-x{position:absolute;top:12px;right:12px;margin:0}
.dm-x button{width:38px;height:38px;border-radius:50%;border:0;background:#EEF1FF;color:#3A57EF;font-size:24px;line-height:1;cursor:pointer}
.dm-eye{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#3A57EF}
.dmodal h2{margin:6px 0 8px;font-size:28px;line-height:1.15;letter-spacing:-.5px}
.dm-p{margin:0 0 18px;font-size:15.5px;line-height:1.55;color:#4B5060}
.dm-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.dm-row label{font-size:14px;font-weight:700}
.dm-row input,.dm-row select{height:48px;border:1.5px solid #D9DCE6;border-radius:14px;padding:0 14px;font:600 15px 'Quicksand',sans-serif;color:#232733;background:#fff;min-width:0}
.dm-row input:focus,.dm-row select:focus{outline:none;border-color:#3A57EF;box-shadow:0 0 0 3px rgba(58,87,239,.15)}
.dm-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:460px){.dm-2{grid-template-columns:1fr}.dmodal>div{padding:30px 20px 22px}}
.dm-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.dm-err{margin:0 0 10px;font-size:14px;font-weight:600;color:#C0262D}
.dm-err a{color:#3A57EF}
.dm-go{width:100%;justify-content:center;border:0;cursor:pointer;background:#86C406;color:#1E2A00;font:700 16px 'Quicksand',sans-serif;padding:14px 24px;border-radius:999px;min-height:50px;box-shadow:0 10px 24px rgba(134,196,6,.35)}
.dm-go:disabled{opacity:.7;cursor:wait}
.dm-link{display:block;margin:12px auto 0;background:none;border:0;color:#3A57EF;font:700 14.5px 'Quicksand',sans-serif;cursor:pointer;padding:6px}
.dm-check{width:64px;height:64px;border-radius:50%;background:#EAF7D2;color:#3D5A00;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.dm-opts{border:0;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.dm-opts legend{font-size:14px;font-weight:700;padding:0;margin-bottom:8px}
.dm-opt{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;border:1.5px solid #E1E5F0;border-radius:16px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.dm-opt:hover{border-color:#AFC0FF;background:#FAFBFF}
.dm-opt input{position:absolute;opacity:0;pointer-events:none}
.dm-oi{width:38px;height:38px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center}
.dm-ot b{display:block;font-size:15px;color:#1B1F2B}.dm-ot small{display:block;font-size:12.5px;color:#5B6070;margin-top:1px}
.dm-opt::after{content:"";margin-left:auto;width:20px;height:20px;border-radius:50%;border:2px solid #C9D1F0;flex:none;transition:all .2s}
.dm-opt:has(input:checked){border-color:#3A57EF;background:#EEF1FF;box-shadow:0 0 0 3px rgba(58,87,239,.12)}
.dm-opt:has(input:checked)::after{border-color:#3A57EF;background:#3A57EF radial-gradient(circle,#fff 0 3px,transparent 4px)}
.dm-opt:has(input:focus-visible){outline:2px solid #3A57EF;outline-offset:2px}
.dmodal h2{padding-right:44px}
.dm-2{gap:0 12px}

/* Video */
.vdur{position:absolute;right:16px;bottom:14px;background:rgba(10,12,32,.75);color:#fff;font-weight:700;font-size:13px;padding:5px 10px;border-radius:999px}
.vplayer video{position:absolute;inset:0;width:100%;height:100%;background:#000;object-fit:contain}
@media (max-width:700px){.vplayer .play{width:60px!important;height:60px!important;top:78%!important;box-shadow:0 0 0 10px rgba(58,87,239,.28)!important}.vplayer .play svg{width:26px;height:26px}}

