:root{--black:#05080F;--navy:#0B1A2E;--steel:#1E4A7A;--blue:#3D7BC4;--hi:#8FB8E8;--pearl:#F4F1EA;--muted:#B9C3D3;
--pearl-grad:linear-gradient(110deg,#F4F1EA 0%,#F7DDE6 15%,#DCE6FA 30%,#D6F3E6 45%,#E6DAF5 58%,#CFE0F7 72%,#C9EEDC 84%,#F6E3EC 92%,#F4F1EA 100%);
--green:#2E8B6A;--mint:#8FE0C0;--blue-grad:linear-gradient(135deg,#0B1A2E,#1E4A7A 30%,#3D7BC4 50%,#2E8B6A 75%,#8FE0C0)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 700px at 75% -10%,#0f2440 0%,transparent 60%),radial-gradient(900px 600px at 0% 40%,rgba(20,70,55,.35) 0%,transparent 60%),var(--black);color:var(--pearl);font:400 17px/1.6 Inter,system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}a{color:var(--hi)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--pearl);color:#000;padding:8px}
.pearl{background:var(--pearl-grad);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pearl 8s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(143,184,232,.25)) drop-shadow(0 0 22px rgba(46,139,106,.18))}
@keyframes pearl{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
h1,h2,h3,.brand,.wordmark-sm{font-family:Cinzel,Georgia,serif;letter-spacing:.06em;margin:.2em 0}
h2{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.15}
.kicker{background:linear-gradient(90deg,var(--hi),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase;letter-spacing:.25em;font-size:.78rem;margin:0}
.header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 5vw;background:rgba(5,8,15,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(143,184,232,.12)}
.brand{text-decoration:none;font-weight:700;font-size:1.1rem}.brand-sub{color:var(--hi);font-size:.8em;letter-spacing:.3em}
nav{display:none}nav a{color:var(--muted);text-decoration:none;font-size:.92rem;padding:8px 10px}nav a:hover{color:var(--pearl)}
.nav-cta{border:1px solid var(--blue);border-radius:99px}
.menu-btn{background:none;border:1px solid var(--steel);color:var(--pearl);font-size:1.3rem;border-radius:8px;padding:4px 12px}
nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--black);padding:10px 5vw 18px}
@media(min-width:960px){nav{display:flex;align-items:center;gap:4px}.menu-btn{display:none}}
.btn{display:inline-block;position:relative;overflow:hidden;padding:14px 26px;border-radius:99px;border:1px solid rgba(143,184,232,.5);background:var(--blue-grad);color:var(--pearl);font-weight:600;text-decoration:none;box-shadow:0 6px 24px rgba(61,123,196,.3),inset 0 1px 0 rgba(255,255,255,.25);cursor:pointer;font-size:1rem;transition:transform .2s,box-shadow .2s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 10px 34px rgba(61,123,196,.5)}.btn:hover::after,.btn:focus-visible::after{transform:translateX(120%)}
.btn.ghost{background:transparent;box-shadow:none}
:focus-visible{outline:2px solid var(--hi);outline-offset:3px}
.hero{display:grid;gap:10px;align-items:center;padding:24px 5vw 60px;min-height:calc(100vh - 60px)}
@media(min-width:960px){.hero{grid-template-columns:1.1fr 1fr;gap:40px}}
.hero-logo{position:relative}
.hero-logo canvas{mix-blend-mode:screen;display:block;width:100%;height:auto;aspect-ratio:16/9}
.hero-logo img{position:relative;z-index:1;mix-blend-mode:screen;filter:contrast(1.08) brightness(.97);width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;animation:breathe 7s ease-in-out infinite}
.glow{position:absolute;inset:15% 25%;background:radial-gradient(circle,rgba(61,123,196,.4),rgba(46,139,106,.28) 45%,rgba(143,224,192,.08) 60%,transparent 70%);filter:blur(30px);z-index:0;animation:breathe 7s ease-in-out infinite}
.shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(220,230,250,.18) 45%,rgba(247,221,230,.22) 50%,rgba(230,218,245,.18) 55%,transparent 65%);background-size:300% 100%;mix-blend-mode:screen;z-index:2;pointer-events:none;-webkit-mask:url(assets/logo-alfa.jpg) center/cover;mask:url(assets/logo-alfa.jpg) center/cover;mask-mode:luminance;animation:sweep 6s ease-in-out infinite}
@keyframes sweep{0%{background-position:150% 0}60%,100%{background-position:-150% 0}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}
.wordmark{font-size:clamp(2rem,7vw,4rem);font-weight:700;line-height:1.05}
.slogan{font-family:Cinzel,serif;font-size:clamp(1.25rem,3.4vw,1.9rem);line-height:1.3;margin:.4em 0}
.lead{color:var(--muted);max-width:56ch}.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.section-wrap{padding:72px 5vw;max-width:1200px;margin:0 auto}
.about-grid{display:grid;gap:28px}@media(min-width:860px){.about-grid{grid-template-columns:1.4fr 1fr;align-items:center}}
.quote-card{margin:0;padding:30px;border-radius:18px;border:1px solid rgba(143,184,232,.25);background:linear-gradient(160deg,rgba(30,74,122,.35),rgba(11,26,46,.5));font-family:Cinzel,serif;font-size:1.4rem}
.values{list-style:none;padding:0;display:grid;gap:14px;margin-top:30px}@media(min-width:700px){.values{grid-template-columns:repeat(3,1fr)}}
.values li,.card,.plan,.steps li,.faq details{background:linear-gradient(160deg,rgba(15,36,64,.7),rgba(10,40,34,.55) 60%,rgba(5,8,15,.85));border:1px solid rgba(143,184,232,.16);border-radius:16px;padding:20px}
.values b{display:block;color:var(--pearl)}.values span{color:var(--muted)}
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:24px}
.card{transition:transform .25s,border-color .25s}.card:hover{transform:translateY(-4px);border-color:var(--mint);box-shadow:0 0 28px rgba(46,139,106,.3)}
.card .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--blue-grad);margin-bottom:12px;box-shadow:0 0 20px rgba(46,139,106,.35),0 0 10px rgba(61,123,196,.3)}
.card .ico svg{width:28px;height:28px;stroke:var(--pearl);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card h3,.plan h3,.steps h3{font-size:1.15rem}.card p,.plan p,.steps p{color:var(--muted);margin:.3em 0 0}
.steps{list-style:none;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:24px}
.num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--pearl-grad);color:var(--navy);font-weight:700;font-family:Cinzel,serif}
.plans{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));margin-top:24px}
.plan{display:flex;flex-direction:column;gap:8px}.plan ul{color:var(--pearl);padding-left:18px;flex:1}.plan.featured{border-color:var(--hi);box-shadow:0 0 40px rgba(61,123,196,.25)}
.portfolio{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));margin-top:24px}
.work{min-width:0;text-decoration:none;color:inherit;border-radius:18px;overflow:hidden;border:1px solid rgba(143,184,232,.2);background:var(--navy);transition:transform .25s}.work:hover{transform:translateY(-4px)}
.work img{aspect-ratio:16/10;object-fit:cover;width:100%}.work div{padding:18px}.work p{color:var(--muted);margin:.3em 0}.work span{color:var(--hi);font-weight:600}
.faq{display:grid;gap:10px;margin-top:24px}.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem}.faq p{color:var(--muted)}
.contact-form{display:grid;gap:14px;margin-top:20px}@media(min-width:700px){.contact-form{grid-template-columns:1fr 1fr 1fr}.full{grid-column:1/-1}}
label{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:var(--muted)}
input,select,textarea{font:inherit;padding:12px;border-radius:10px;border:1px solid var(--steel);background:#08111f;color:var(--pearl)}
footer{text-align:center;padding:40px 5vw 90px;border-top:1px solid rgba(143,184,232,.12);color:var(--muted)}.wordmark-sm{font-size:1.4rem}.small{font-size:.8rem}
.wa-fab{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.5);z-index:60}
.chat-fab{position:fixed;right:86px;bottom:26px;z-index:60;padding:10px 16px;border-radius:99px;border:1px solid var(--hi);background:var(--blue-grad);color:var(--pearl);font:600 .9rem Inter,sans-serif;cursor:pointer}
.chat{position:fixed;right:12px;bottom:90px;width:min(370px,calc(100vw - 24px));max-height:70vh;display:flex;flex-direction:column;background:#07101d;border:1px solid var(--steel);border-radius:16px;z-index:70;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.chat[hidden]{display:none}.chat header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--steel)}
.chat header button{background:none;border:0;color:var(--pearl);font-size:1.5rem;cursor:pointer}
.chat-log{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}
.msg{padding:10px 12px;border-radius:12px;max-width:90%;font-size:.93rem}.msg.bot{background:var(--navy)}.msg.user{background:var(--steel);align-self:flex-end}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border-top:1px solid var(--steel)}
.chips button{background:transparent;border:1px solid var(--blue);color:var(--pearl);border-radius:99px;padding:6px 10px;font-size:.82rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Menú interactivo */
nav a{position:relative;transition:color .25s}
nav a:not(.nav-cta)::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--mint));transform:scaleX(0);transform-origin:left;transition:transform .3s}
nav a:hover::after,nav a.active::after{transform:scaleX(1)}
nav a.active{color:var(--pearl)}
.nav-cta{transition:background .3s,box-shadow .3s}.nav-cta:hover,.nav-cta.active{background:var(--blue-grad);box-shadow:0 0 18px rgba(46,139,106,.4);color:var(--pearl)}
.menu-btn{width:44px;height:40px;display:grid;place-items:center;padding:0;cursor:pointer}
.menu-btn span{display:block;width:22px;height:2px;background:var(--pearl);border-radius:2px;transition:transform .3s,opacity .3s;box-shadow:0 -7px 0 var(--pearl),0 7px 0 var(--pearl)}
.menu-btn[aria-expanded=true] span{transform:rotate(45deg);box-shadow:0 0 0 transparent}
.menu-btn span::after{content:"";display:block;width:22px;height:2px;background:var(--pearl);transform:scale(0);transition:transform .3s}
.menu-btn[aria-expanded=true] span::after{transform:rotate(-90deg) scale(1)}
@media(max-width:959px){nav{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(5,8,15,.97);padding:0 5vw;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s,opacity .3s,padding .3s;border-bottom:1px solid rgba(143,224,192,.15)}
nav.open{max-height:520px;opacity:1;padding:10px 5vw 18px}nav a{padding:12px 4px;font-size:1.05rem}nav a:not(.nav-cta)::after{left:4px;right:auto;width:60px}.nav-cta{text-align:center;margin-top:8px}}
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:80;background:linear-gradient(90deg,var(--blue),var(--mint),var(--pearl))}
/* Chat mejorado */
.chat-fab{right:86px;bottom:24px;padding:12px 18px;font-size:.95rem;display:flex;gap:8px;align-items:center;box-shadow:0 0 0 0 rgba(143,224,192,.6);animation:pulse 2.6s infinite}
.chat-fab .dot{width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(143,224,192,.55)}70%{box-shadow:0 0 0 14px rgba(143,224,192,0)}100%{box-shadow:0 0 0 0 rgba(143,224,192,0)}}
.chat{border-color:var(--green);animation:pop .3s ease}@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.97)}}
.chat header{background:var(--blue-grad);border-radius:15px 15px 0 0}
.chat-teaser{position:fixed;right:18px;bottom:92px;z-index:59;max-width:250px;background:#07101d;border:1px solid var(--green);border-radius:14px;padding:10px 14px;font-size:.88rem;cursor:pointer;animation:pop .4s ease}
.chat-teaser[hidden]{display:none}
.msg.bot{background:linear-gradient(160deg,var(--navy),#0c2a24)}
.chips button{border-color:var(--green);transition:background .2s,transform .2s}.chips button:hover{background:var(--blue-grad);transform:translateY(-1px)}
.chips .wa-chip{display:inline-block;background:#25D366;border-color:#25D366;color:#04140b;font-weight:600}
.mail{color:var(--mint);font-weight:600}
@media(min-width:960px){.menu-btn{display:none}}

.replay{position:absolute;right:8%;bottom:6%;z-index:3;background:rgba(5,8,15,.7);border:1px solid var(--green);color:var(--pearl);border-radius:99px;padding:6px 14px;font:500 .85rem Inter,sans-serif;cursor:pointer}
.replay:hover{background:var(--blue-grad)}
.pitch{font-family:Cinzel,serif;font-size:clamp(1.1rem,2.6vw,1.5rem);color:var(--mint);margin:.2em 0;letter-spacing:.08em}
.note{color:var(--muted);font-size:.9rem;margin-top:18px}.fine{color:var(--muted);font-size:.8rem;margin:0}
.plans4{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
.price{font-family:Cinzel,serif;font-size:2rem;margin:.1em 0;background:var(--pearl-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.price small{font-size:.9rem;color:var(--muted);-webkit-text-fill-color:var(--muted)}
.tag{color:var(--mint);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;margin:0}
.badge{align-self:flex-start;background:var(--blue-grad);border-radius:99px;padding:3px 10px;font-size:.7rem;letter-spacing:.12em;margin:0}
.plan .btn{text-align:center}
.gratis{display:grid;gap:20px;margin-top:28px;padding:24px;border-radius:18px;border:1px solid var(--green);background:linear-gradient(150deg,rgba(46,139,106,.18),rgba(11,26,46,.6))}@media(min-width:860px){.gratis{grid-template-columns:1.3fr 1fr}}
.cond{list-style:none;padding:0;margin:0;color:var(--muted)}.cond li{padding:3px 0}.cond li+li::before{content:"• ";color:var(--mint)}
.compare{margin-top:20px}.bars{display:grid;gap:8px}.bars span{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(143,184,232,.15)}.bars .us{background:var(--blue-grad);width:min(100%,520px)}
.checklist{display:grid;gap:18px;margin-top:22px}@media(min-width:860px){.checklist{grid-template-columns:1.4fr 1fr}}
.checklist>div{padding:20px;border-radius:16px;border:1px solid rgba(143,184,232,.16);background:rgba(11,26,46,.5)}
.checklist ul{padding-left:0;list-style:none;margin:0}.checklist li{padding:5px 0 5px 26px;position:relative;color:var(--muted)}
.ok li::before{content:"✔";position:absolute;left:0;color:var(--mint)}.no li::before{content:"✘";position:absolute;left:0;color:#e08f8f}
.proj{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));margin-top:22px}
.pricelist{list-style:none;padding:0!important}.pricelist li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(143,184,232,.2)}.pricelist b{color:var(--mint);white-space:nowrap}
.stats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));margin-top:22px}
.stats div{padding:20px;border-radius:16px;border:1px solid rgba(143,184,232,.16);background:rgba(11,26,46,.5)}.stats b{display:block;font-family:Cinzel,serif;font-size:2rem}.stats span{color:var(--muted);font-size:.92rem}
sup{color:var(--mint);font-size:.7em}
.sub{margin-top:34px;font-size:1.4rem}
.regions{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));margin-top:14px}
.regions article{padding:18px;border-radius:16px;border:1px solid rgba(46,139,106,.35);background:linear-gradient(160deg,rgba(46,139,106,.14),rgba(5,8,15,.8))}
.regions h4{margin:0;font-family:Cinzel,serif;font-size:1.05rem}.regions h4 small{font-size:.7em;color:var(--muted)}.regions .big{font-size:1.5rem;margin:.2em 0;color:var(--pearl)}.regions .big small{font-size:.75rem;color:var(--muted)}.regions p{color:var(--muted);font-size:.9rem;margin:.3em 0}
.sources{margin-top:16px;color:var(--muted);font-size:.85rem}.sources summary{cursor:pointer;color:var(--hi)}
.showcase{display:grid;margin-top:22px}@media(min-width:860px){.showcase{grid-template-columns:1.5fr 1fr;align-items:center}}
.mini{display:flex;gap:14px;align-items:center;margin-top:16px}.mini img{width:160px;flex:none;aspect-ratio:16/10}.mini div{padding:10px}
.downloads{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));margin-top:22px}
.dl{display:flex;flex-direction:column;gap:4px;padding:20px 20px 20px 60px;position:relative;border-radius:16px;text-decoration:none;color:var(--pearl);border:1px solid var(--green);background:rgba(11,26,46,.6);transition:transform .2s,box-shadow .2s}
.dl::before{content:"⬇";position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--blue-grad)}
.dl:hover{transform:translateY(-3px);box-shadow:0 0 24px rgba(46,139,106,.35)}.dl span{color:var(--muted);font-size:.88rem}
@media(min-width:960px) and (max-width:1180px){nav a{padding:8px 7px;font-size:.85rem}}
[hidden]{display:none!important}

.hero-logo canvas{-webkit-mask:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%);mask:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%)}

/* Hero estático elegante */
.hero-emblem{position:relative;perspective:900px;transform:translateY(var(--py,0));--mx:50%}
.hero-emblem img,.hero-emblem video{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;mix-blend-mode:screen;
 transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s ease-out;
 -webkit-mask:radial-gradient(ellipse 50% 52% at 50% 50%,#000 64%,transparent 100%);mask:radial-gradient(ellipse 50% 52% at 50% 50%,#000 64%,transparent 100%);animation:breathe 8s ease-in-out infinite}
.hero-emblem .glow{position:absolute;left:30%;right:30%;top:4%;height:55%;z-index:0;border-radius:50%;background:radial-gradient(circle,rgba(255,206,120,.32),rgba(46,139,106,.22) 45%,transparent 70%);filter:blur(28px);animation:glowp 6s ease-in-out infinite}
@keyframes glowp{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.hero-emblem .shine{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(105deg,transparent 40%,rgba(255,236,190,.16) 48%,rgba(214,243,230,.14) 52%,transparent 60%);background-size:300% 100%;animation:sweep 7s ease-in-out infinite;
 -webkit-mask:url(assets/logo-cubista.jpg) center/cover;mask:url(assets/logo-cubista.jpg) center/cover;mask-mode:luminance}
/* Header */
.header.scrolled{background:rgba(5,8,15,.94);box-shadow:0 6px 24px rgba(0,0,0,.4)}
.nav-cta{background:var(--blue-grad);color:var(--pearl)!important;margin-left:6px;padding:8px 14px!important}
/* Botones flotantes */
.call-fab,.top-fab{position:fixed;z-index:60;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--green);background:#07101d;color:var(--pearl);cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.call-fab{right:24px;bottom:88px}.top-fab{right:24px;bottom:144px;font-size:1.2rem}
.call-fab:hover,.top-fab:hover{background:var(--blue-grad)}
.chat-fab{right:90px;bottom:24px}
.chat-teaser{right:18px;bottom:200px;max-width:min(260px,calc(100vw - 100px))}
@media(max-width:700px){.chat-fab{padding:10px 14px;font-size:.9rem;right:84px;bottom:24px}.chat-teaser{bottom:84px;right:84px;font-size:.82rem;padding:8px 12px}
 .chat{right:8px;left:8px;width:auto;bottom:86px;max-height:72vh}.call-fab{bottom:88px;right:24px}.top-fab{bottom:140px}}
/* Chat */
.chat-form{display:flex;gap:6px;padding:10px;border-top:1px solid var(--steel)}
.chat-form input{flex:1;min-width:0;padding:10px 12px;border-radius:99px}
.chat-form button{width:42px;border-radius:50%;border:0;background:var(--blue-grad);color:var(--pearl);cursor:pointer}
.msg a{color:var(--mint)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* Cookies */
.cookie-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;max-width:760px;margin:0 auto;display:grid;gap:12px;padding:16px 18px;border-radius:16px;background:#07101d;border:1px solid var(--green);box-shadow:0 20px 50px rgba(0,0,0,.6);font-size:.9rem}
.cookie-banner p{margin:0;color:var(--muted)}.cookie-banner div{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cookie-banner .btn{padding:10px 18px;font-size:.9rem}
@media(min-width:760px){.cookie-banner{grid-template-columns:1fr auto;align-items:center}}
/* Footer legal */
.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:14px 0}
.legal-links a,.linklike{color:var(--muted);font-size:.85rem;background:none;border:0;cursor:pointer;font-family:inherit;padding:0;text-decoration:underline}
footer a{color:var(--hi)}
/* Páginas legales */
.legal{max-width:860px;margin:0 auto;padding:40px 5vw 80px}.legal h1{font-size:clamp(1.6rem,4.5vw,2.4rem)}
.legal h2{font-size:1.25rem;margin-top:34px}.legal p,.legal li{color:#d8dde6}.legal .upd{color:var(--muted);font-size:.9rem}
.legal .ph{background:rgba(224,143,143,.15);color:#ffb3b3;padding:0 4px;border-radius:4px;font-weight:600}
.legal table{width:100%;border-collapse:collapse;font-size:.92rem}.legal td,.legal th{border:1px solid rgba(143,184,232,.2);padding:8px;text-align:left;vertical-align:top}
.legal .back{display:inline-block;margin-bottom:10px}
.chips .wa-chip{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;border-radius:99px;text-decoration:none;font-size:.85rem}
@media(max-width:700px){.chat-teaser{max-width:190px}.legal-back{font-size:.85rem}}
.header .btn.ghost{white-space:nowrap;font-size:.85rem}

/* ===== v6: SEO hero, menús, pestañas, comparativa, Sarid ===== */
.seo-h1{font-family:Inter,system-ui,sans-serif;font-weight:600;letter-spacing:0;font-size:clamp(1rem,2.1vw,1.2rem);line-height:1.45;color:var(--mint);margin:.3em 0 .6em;max-width:44ch}
.wordmark{margin:0}
.btn-lg{padding:16px 30px;font-size:1.06rem}
.anchor{margin:16px 0 6px;color:var(--pearl);font-size:.98rem}.anchor b{color:#e8c46a}.anchor small{color:var(--muted)}
.chips-row{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:8px 0 0}
.chips-row li{font-size:.82rem;padding:6px 12px;border-radius:99px;border:1px solid rgba(143,224,192,.35);background:rgba(46,139,106,.12);color:#d6f3e6}
@media(max-width:959px){.hero{min-height:auto;padding-top:10px;gap:0}.hero-emblem{width:100%;margin:0 auto}.hero-emblem img,.hero-emblem video{width:100%;height:auto;max-height:35vh;object-fit:contain}}
/* Menús desplegables */
.dd{position:relative}
.dd-btn{background:none;border:0;color:var(--muted);font:inherit;font-size:.92rem;padding:8px 10px;cursor:pointer;display:flex;gap:4px;align-items:center}
.dd-btn span{transition:transform .25s}.dd.open .dd-btn span{transform:rotate(180deg)}
.dd-btn:hover,.dd.open .dd-btn{color:var(--pearl)}
.dd-menu a small{color:var(--mint);font-size:.75rem;margin-left:6px}
.dd-sep{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hi);padding:10px 14px 2px;border-top:1px solid rgba(143,184,232,.15);margin-top:6px}
@media(min-width:960px){
 .dd-menu{position:absolute;top:calc(100% + 8px);left:50%;min-width:240px;display:flex;flex-direction:column;padding:8px;border-radius:14px;background:rgba(7,16,29,.97);border:1px solid rgba(143,224,192,.25);box-shadow:0 20px 50px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transform:translate(-50%,-6px) scale(.98);transform-origin:top center;transition:opacity .2s,transform .25s,visibility .2s}
 .dd-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
 .dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
 .dd-menu a{padding:9px 14px!important;border-radius:9px;white-space:nowrap}.dd-menu a::after{display:none}
 .dd-menu a:hover{background:linear-gradient(90deg,rgba(61,123,196,.25),rgba(46,139,106,.2));color:var(--pearl)}}
@media(max-width:959px){nav.open{max-height:85vh;overflow:auto}
 .dd-btn{width:100%;justify-content:space-between;padding:12px 4px;font-size:1.05rem}
 .dd-menu{display:grid;max-height:0;overflow:hidden;transition:max-height .35s ease;padding-left:14px;border-left:1px solid rgba(143,224,192,.25)}
 .dd.open .dd-menu{max-height:420px}.dd-menu a{padding:9px 4px!important;font-size:.98rem}}
/* Botones e interacciones */
.btn,.plan,.card,.dl{transform:translate(var(--tx,0),var(--ty,0)) perspective(700px) rotateX(var(--trx,0)) rotateY(var(--try,0));transition:transform .25s ease-out,box-shadow .25s,border-color .25s,background .25s}
.btn.tilting{box-shadow:0 12px 34px rgba(46,139,106,.45)}
.btn:active{transform:scale(.97)}
.plan.tilting,.card.tilting,.dl.tilting{background-image:radial-gradient(400px circle at var(--gx) var(--gy),rgba(143,224,192,.10),transparent 60%)}
.stag{opacity:0;transform:translateY(18px);transition:opacity .6s ease calc(var(--i)*80ms),transform .6s ease calc(var(--i)*80ms)}.stag.in{opacity:1;transform:none}
.stag.in.tilting{transform:translate(var(--tx,0),var(--ty,0)) perspective(700px) rotateX(var(--trx,0)) rotateY(var(--try,0))}
/* Pestañas */
.tabs{position:relative;display:flex;gap:4px;overflow-x:auto;margin:22px 0 8px;padding:5px;border-radius:99px;background:rgba(11,26,46,.7);border:1px solid rgba(143,184,232,.18);width:max-content;max-width:100%;scrollbar-width:none}
.tabs [role=tab]{position:relative;z-index:1;border:0;background:none;color:var(--muted);font:600 .92rem Inter,sans-serif;padding:10px 18px;border-radius:99px;cursor:pointer;white-space:nowrap;transition:color .25s}
.tabs [role=tab][aria-selected=true]{color:var(--pearl)}
.tab-ink{position:absolute;z-index:0;top:5px;bottom:5px;left:0;border-radius:99px;background:var(--blue-grad);box-shadow:0 0 18px rgba(46,139,106,.35);transition:transform .35s cubic-bezier(.2,.8,.2,1),width .35s cubic-bezier(.2,.8,.2,1)}
.tab-panel.enter{animation:panelIn .45s ease}@keyframes panelIn{from{opacity:0;transform:translateY(12px)}}
.panel-title{font-size:1.5rem;margin-top:18px}
.proj.one{grid-template-columns:minmax(0,640px)}
.timeline{list-style:none;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));margin-top:20px;counter-reset:t}
.timeline li{position:relative;padding:14px 14px 14px 16px;border-left:3px solid var(--mint);background:rgba(11,26,46,.5);border-radius:0 12px 12px 0;color:var(--muted);font-size:.9rem}.timeline b{display:block;color:var(--pearl)}
/* Comparativa */
.table-wrap{overflow-x:auto;margin-top:22px;border-radius:16px;border:1px solid rgba(143,184,232,.18)}
.cmp{width:100%;min-width:720px;border-collapse:collapse;font-size:.92rem}
.cmp th,.cmp td{padding:12px 14px;border-bottom:1px solid rgba(143,184,232,.12);text-align:left;vertical-align:top;color:#cfd6e2}
.cmp thead th{font-family:Cinzel,serif;color:var(--pearl);background:rgba(11,26,46,.8)}
.cmp tbody th{color:var(--pearl);font-weight:600}
.cmp .us{background:linear-gradient(180deg,rgba(46,139,106,.22),rgba(61,123,196,.16));color:#eaf7f0;font-weight:600}
.cmp tbody tr:hover td,.cmp tbody tr:hover th{background-color:rgba(143,224,192,.05)}
/* Sarid */
.sarid{display:grid;gap:30px;align-items:center}@media(min-width:860px){.sarid{grid-template-columns:320px 1fr}}
.sarid-photo{margin:0}.photo-ph{aspect-ratio:4/5;border-radius:20px;border:2px dashed rgba(143,224,192,.4);display:grid;place-items:center;align-content:center;gap:10px;background:linear-gradient(160deg,rgba(46,139,106,.15),rgba(11,26,46,.6));color:var(--muted);text-align:center;max-width:320px;margin:0 auto;width:100%}
.photo-ph svg{width:90px;fill:none;stroke:rgba(143,224,192,.6);stroke-width:2.5}
.sign{font-family:Cinzel,serif;font-size:1.2rem}
/* FAQ acordeón */
.faq details{padding:0;overflow:hidden;transition:border-color .25s}.faq details[open]{border-color:rgba(143,224,192,.45)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 20px}.faq summary::-webkit-details-marker{display:none}
.plus{position:relative;width:18px;height:18px;flex:none}.plus::before,.plus::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:var(--mint);transition:transform .3s}.plus::after{transform:rotate(90deg)}
details[open] .plus::after{transform:rotate(0)}
.faq .ans{padding:0 20px 16px}.faq details[open] .ans{animation:panelIn .35s ease}
/* Opiniones */
.reviews{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));margin-top:20px}
.review{margin:0;padding:20px;border-radius:16px;border:1px solid rgba(143,184,232,.18);background:rgba(11,26,46,.6)}.stars{color:#e8c46a;letter-spacing:2px}
/* contraste */
.lead,.card p,.plan p,.steps p,.values span{color:#c3ccda}
@media(prefers-reduced-motion:reduce){.stag{opacity:1;transform:none}.tab-ink,.dd-menu{transition:none}}

/* ===== v7 león animado ===== */
.hero-emblem{position:relative;isolation:isolate;cursor:pointer}
.hero-emblem #hero-logo,.hero-emblem .mane{mix-blend-mode:screen;position:relative;z-index:2;transform-origin:50% 30%}
.hero-emblem .mane{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;pointer-events:none;filter:url(#mane-wave);
 -webkit-mask:radial-gradient(ellipse 11% 18% at 50% 21%,transparent 55%,#000 70%,#000 92%,transparent 100%);mask:radial-gradient(ellipse 11% 18% at 50% 21%,transparent 55%,#000 70%,#000 92%,transparent 100%)}
.sun{position:absolute;left:50%;top:21%;width:62%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:1;pointer-events:none}
.sun i{position:absolute;inset:0;border-radius:50%}
.sun .rays{background:repeating-conic-gradient(from 0deg,rgba(255,196,80,.55) 0 3deg,transparent 3deg 15deg);-webkit-mask:radial-gradient(circle,transparent 18%,#000 30%,transparent 70%);mask:radial-gradient(circle,transparent 18%,#000 30%,transparent 70%);animation:sunrot 60s linear infinite,sunpulse 5s ease-in-out infinite}
.sun .r2{background:repeating-conic-gradient(from 7deg,rgba(255,225,140,.35) 0 1.5deg,transparent 1.5deg 10deg);animation:sunrot 90s linear infinite reverse,sunpulse 7s ease-in-out infinite}
.sun .halo{background:radial-gradient(circle,rgba(255,190,70,.45),rgba(255,160,40,.12) 40%,transparent 65%);animation:halo 4s ease-in-out infinite}
.sun .flash{background:radial-gradient(circle,rgba(255,250,220,.9),transparent 45%);opacity:0;animation:flash 11s ease-in-out infinite 3s}
@keyframes sunrot{to{transform:rotate(360deg)}}
@keyframes sunpulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes halo{0%,100%{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}
@keyframes flash{0%,90%,100%{opacity:0}94%{opacity:.75}}
.ring{position:absolute;left:50%;top:21%;width:20%;aspect-ratio:1;border-radius:50%;border:3px solid rgba(255,205,110,.9);box-shadow:0 0 24px rgba(255,190,70,.7),inset 0 0 18px rgba(255,190,70,.5);transform:translate(-50%,-50%) scale(.3);opacity:0;z-index:4;pointer-events:none}
.roar .ring{animation:shock 1.1s cubic-bezier(.15,.7,.3,1)}
.roar .ring.r2{animation-delay:.18s}
.roar #hero-logo,.roar .mane{animation:roarpulse 1s ease-out}
.roar .sun .halo{animation:halo 4s ease-in-out infinite,roarglow 1s ease-out}
@keyframes shock{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(4.2)}}
@keyframes roarpulse{0%{transform:scale(1)}12%{transform:scale(1.07) translateY(-1%)}22%{transform:scale(1.03) rotate(-.6deg)}32%{transform:scale(1.06) rotate(.6deg)}45%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes roarglow{20%{filter:brightness(1.8)}}
.snd-btn{position:absolute;right:6%;bottom:6%;z-index:6;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,205,110,.5);background:rgba(10,12,20,.7);color:#fff;font-size:16px;cursor:pointer;backdrop-filter:blur(6px)}
.snd-btn:hover{border-color:#ffd27a}
@media (prefers-reduced-motion:reduce){.sun i,.roar .ring,.roar #hero-logo,.roar .mane{animation:none!important}.hero-emblem .mane{display:none}.sun .flash{display:none}}
