:root{
  --bg-0:#03050d; --bg-1:#070c18; --bg-2:#0a1020; --bg-card:#0d1526; --bg-card-2:#111d34;
  --cyan:#22d3ee; --cyan-dim:rgba(34,211,238,.12); --cyan-glow:rgba(34,211,238,.28);
  --blue:#3b82f6; --violet:#8b5cf6; --green:#10b981; --amber:#f5b445;
  --t1:#f1f5f9; --t2:#94a3b8; --t3:#64748b;
  --bd:rgba(255,255,255,.07); --bd-md:rgba(255,255,255,.12);
  --r:14px; --r-sm:9px; --r-lg:22px;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; --mono:'JetBrains Mono',monospace;
  --sp:clamp(4.5rem,9vw,7.5rem);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--sans);background:var(--bg-0);color:var(--t1);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
::selection{background:var(--cyan);color:#03050d;}
::-webkit-scrollbar{width:6px;}::-webkit-scrollbar-track{background:var(--bg-1);}
::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--cyan);}

.bg-grid{position:fixed;inset:0;z-index:-3;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 100% 70% at 50% 0%,#000 40%,transparent 100%);}
.bg-glow{position:fixed;top:-24vh;left:50%;transform:translateX(-50%);width:min(1100px,120vw);height:62vh;z-index:-2;background:radial-gradient(ellipse at center,rgba(34,211,238,.10),transparent 62%);pointer-events:none;}

.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.1rem,5vw,2.4rem);}
.section{padding:var(--sp) 0;}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);font-weight:500;display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--cyan);}
h1,h2,h3,h4{line-height:1.1;letter-spacing:-.028em;font-weight:800;}
h2.big{font-size:clamp(1.85rem,4.4vw,3.1rem);margin-bottom:.9rem;}
h2.big em{font-style:normal;color:var(--cyan);}
.lead{color:var(--t2);font-size:clamp(.98rem,1.5vw,1.1rem);max-width:62ch;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.92rem 1.7rem;border-radius:var(--r-sm);font-weight:700;font-size:.9rem;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .18s cubic-bezier(.34,1.3,.64,1),box-shadow .18s,background .18s,border-color .18s;font-family:inherit;white-space:nowrap;}
.btn-p{background:linear-gradient(135deg,var(--cyan),#0891b2);color:#02141a;box-shadow:0 6px 26px -8px var(--cyan-glow);}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 12px 34px -8px var(--cyan-glow);}
.btn-g{background:linear-gradient(135deg,#25D366,#1da851);color:#03130a;box-shadow:0 6px 26px -8px rgba(37,211,102,.4);}
.btn-g:hover{transform:translateY(-2px);}
.btn-s{background:rgba(255,255,255,.04);color:var(--t1);border-color:var(--bd-md);}
.btn-s:hover{background:rgba(255,255,255,.08);border-color:var(--cyan);transform:translateY(-2px);}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:900;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.1rem,5vw,2.4rem);background:rgba(3,5,13,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s;}
.nav.on{border-bottom-color:var(--bd);background:rgba(3,5,13,.92);}
.nav-logo{font-size:1.16rem;font-weight:900;text-decoration:none;letter-spacing:-.03em;}
.nav-logo i{color:var(--cyan);font-style:normal;}
.nav-links{display:flex;list-style:none;gap:1.9rem;align-items:center;}
.nav-links a{text-decoration:none;font-size:.855rem;font-weight:500;color:var(--t2);transition:color .2s;}
.nav-links a:hover{color:var(--cyan);}
.nav-r{display:flex;align-items:center;gap:.85rem;}
.lang{display:flex;border:1px solid var(--bd-md);border-radius:7px;overflow:hidden;}
.lang button{background:none;border:0;color:var(--t3);font-family:var(--mono);font-size:.7rem;font-weight:500;padding:.34rem .56rem;cursor:pointer;transition:.2s;}
.lang button.on{background:var(--cyan);color:#03050d;}
.burger{display:none;background:none;border:0;color:var(--t1);cursor:pointer;padding:6px;}
@media(max-width:900px){.nav-links{display:none;}.burger{display:block;}}
.mob{display:none;position:fixed;inset:64px 0 auto 0;z-index:899;background:rgba(3,5,13,.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--bd);padding:1.1rem clamp(1.1rem,5vw,2.4rem) 1.6rem;}
.mob.open{display:block;}
.mob a{display:block;padding:.72rem 0;text-decoration:none;color:var(--t2);font-weight:600;border-bottom:1px solid var(--bd);}

/* HERO */
.hero{padding:clamp(7.5rem,14vw,10rem) 0 var(--sp);}
.hero-g{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
@media(max-width:940px){.hero-g{grid-template-columns:1fr;gap:2.6rem;}}
.badge{display:inline-flex;align-items:center;gap:.55rem;background:var(--cyan-dim);border:1px solid rgba(34,211,238,.24);color:var(--cyan);font-size:.755rem;font-weight:600;padding:.38rem .85rem;border-radius:999px;font-family:var(--mono);letter-spacing:.04em;margin-bottom:1.5rem;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(16,185,129,.6);animation:pl 2.2s infinite;}
@keyframes pl{70%{box-shadow:0 0 0 8px rgba(16,185,129,0);}100%{box-shadow:0 0 0 0 rgba(16,185,129,0);}}
.hero h1{font-size:clamp(2.15rem,5.6vw,3.85rem);font-weight:900;letter-spacing:-.04em;margin-bottom:1.35rem;}
.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--cyan),var(--blue) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p.lead{margin-bottom:2rem;font-size:clamp(1rem,1.6vw,1.16rem);}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.2rem;}
.hero-meta{display:flex;gap:1.9rem;flex-wrap:wrap;padding-top:1.4rem;border-top:1px solid var(--bd);}
.hero-meta div b{display:block;font-size:1.42rem;font-weight:800;letter-spacing:-.03em;}
.hero-meta div span{font-size:.735rem;color:var(--t3);font-family:var(--mono);letter-spacing:.05em;}

/* FOTO */
.pcard{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--bd-md);background:var(--bg-card);box-shadow:0 30px 70px -30px rgba(0,0,0,.9);}
.pcard img{width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:center 18%;filter:saturate(1.03) contrast(1.02);}
.pcard::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(3,5,13,.94) 0%,rgba(3,5,13,.35) 34%,transparent 62%);}
.pcard .who{position:absolute;left:0;right:0;bottom:0;padding:1.4rem;z-index:2;}
.pcard .who b{display:block;font-size:1.06rem;font-weight:800;letter-spacing:-.02em;}
.pcard .who span{font-size:.79rem;color:var(--cyan);font-family:var(--mono);}
.pcard .who p{font-size:.815rem;color:var(--t2);margin-top:.5rem;line-height:1.5;}
.pflag{position:absolute;top:1rem;right:1rem;z-index:3;background:rgba(3,5,13,.82);backdrop-filter:blur(10px);border:1px solid var(--bd-md);border-radius:999px;padding:.32rem .78rem;font-size:.7rem;font-family:var(--mono);color:var(--t2);display:flex;align-items:center;gap:.42rem;}

/* REVEAL */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.rv.in{opacity:1;transform:none;}

/* PORTAFOLIO */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:1.15rem;}
.pitem{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);padding:1.5rem;text-decoration:none;display:flex;flex-direction:column;transition:transform .28s,border-color .28s,background .28s;position:relative;overflow:hidden;}
.pitem::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--blue));opacity:0;transition:opacity .28s;}
.pitem:hover{transform:translateY(-5px);border-color:var(--bd-md);background:var(--bg-card-2);}
.pitem:hover::before{opacity:1;}
.ptop{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.85rem;}
.tag{font-family:var(--mono);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;padding:.24rem .55rem;border-radius:5px;font-weight:500;white-space:nowrap;}
.tag.live{background:rgba(16,185,129,.13);color:var(--green);border:1px solid rgba(16,185,129,.28);}
.tag.demo{background:rgba(139,92,246,.13);color:#a78bfa;border:1px solid rgba(139,92,246,.28);}
.pitem h3{font-size:1.06rem;margin-bottom:.3rem;}
.pitem .sect{font-size:.755rem;color:var(--t3);font-family:var(--mono);margin-bottom:.7rem;}
.pitem p{font-size:.85rem;color:var(--t2);line-height:1.55;flex:1;}
.pitem .go{margin-top:1rem;font-size:.8rem;font-weight:700;color:var(--cyan);display:flex;align-items:center;gap:.4rem;}
.pitem:hover .go{gap:.7rem;}

/* DEMOS */
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:.8rem;}
.dchip{background:var(--bg-card);border:1px solid var(--bd);border-radius:11px;padding:1.05rem;text-decoration:none;transition:.25s;text-align:center;}
.dchip:hover{border-color:var(--cyan);background:var(--bg-card-2);transform:translateY(-3px);}
.dchip b{display:block;font-size:.895rem;margin-bottom:.15rem;}
.dchip span{font-size:.72rem;color:var(--t3);}

/* PRECIOS */
.prgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:1.15rem;align-items:start;}
.pr{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);padding:1.8rem 1.5rem;position:relative;transition:.28s;}
.pr:hover{border-color:var(--bd-md);transform:translateY(-4px);}
.pr.best{border-color:rgba(34,211,238,.42);background:linear-gradient(170deg,rgba(34,211,238,.06),var(--bg-card) 42%);box-shadow:0 22px 60px -32px var(--cyan-glow);}
.pr.best::after{content:'MÁS ELEGIDO';content:attr(data-flag);position:absolute;top:-9px;left:1.5rem;background:var(--cyan);color:#03050d;font-family:var(--mono);font-size:.63rem;font-weight:600;letter-spacing:.1em;padding:.2rem .62rem;border-radius:5px;}
.pr h3{font-size:.95rem;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--t2);font-weight:500;margin-bottom:.6rem;}
.pr .amt{font-size:2.5rem;font-weight:900;letter-spacing:-.045em;line-height:1;}
.pr .amt small{font-size:.85rem;font-weight:500;color:var(--t3);letter-spacing:0;}
.pr .sub{font-size:.815rem;color:var(--t2);margin:.7rem 0 1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--bd);}
.pr ul{list-style:none;display:flex;flex-direction:column;gap:.62rem;margin-bottom:1.5rem;}
.pr li{font-size:.845rem;color:var(--t2);display:flex;gap:.62rem;line-height:1.45;}
.pr li::before{content:'';flex:0 0 15px;height:15px;margin-top:3px;border-radius:50%;background:var(--cyan-dim);border:1px solid rgba(34,211,238,.35);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-size:9px;background-repeat:no-repeat;background-position:center;}
.pr .btn{width:100%;}
.xtras{margin-top:1.3rem;background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);padding:1.3rem 1.5rem;display:flex;flex-wrap:wrap;gap:.7rem 2.2rem;}
.xtras div{font-size:.83rem;color:var(--t2);}
.xtras b{color:var(--t1);font-weight:700;}
.note{margin-top:1rem;font-size:.78rem;color:var(--t3);line-height:1.6;}

/* PROCESO */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.15rem;counter-reset:s;}
.step{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);padding:1.5rem;counter-increment:s;position:relative;}
.step::before{content:'0' counter(s);font-family:var(--mono);font-size:1.55rem;font-weight:500;color:rgba(34,211,238,.24);display:block;margin-bottom:.6rem;}
.step h4{font-size:.97rem;margin-bottom:.42rem;}
.step p{font-size:.83rem;color:var(--t2);line-height:1.55;}

/* SOBRE MI */
.about{background:linear-gradient(160deg,var(--bg-2),var(--bg-1));border:1px solid var(--bd);border-radius:var(--r-lg);padding:clamp(1.7rem,4vw,3.1rem);display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,2.8rem);align-items:center;}
@media(max-width:760px){.about{grid-template-columns:1fr;text-align:left;}}
.about img{width:clamp(105px,17vw,155px);height:clamp(105px,17vw,155px);border-radius:50%;object-fit:cover;border:2px solid rgba(34,211,238,.32);box-shadow:0 0 0 7px rgba(34,211,238,.05);}
.about h3{font-size:clamp(1.25rem,2.6vw,1.75rem);margin-bottom:.75rem;}
.about p{color:var(--t2);font-size:.93rem;margin-bottom:.75rem;line-height:1.72;}
.about .sig{font-size:.82rem;color:var(--t3);font-family:var(--mono);}

/* CONTACTO */
.contact{background:linear-gradient(150deg,rgba(34,211,238,.075),var(--bg-card) 48%);border:1px solid rgba(34,211,238,.2);border-radius:var(--r-lg);padding:clamp(1.8rem,4.5vw,3.4rem);text-align:center;}
.contact h2{font-size:clamp(1.6rem,3.6vw,2.5rem);margin-bottom:.85rem;}
.contact p{color:var(--t2);max-width:52ch;margin:0 auto 2rem;font-size:.98rem;}
.cbtns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}
.cmini{margin-top:1.7rem;font-size:.8rem;color:var(--t3);font-family:var(--mono);}
.cmini a{color:var(--t2);text-decoration:none;border-bottom:1px solid var(--bd-md);}
.cmini a:hover{color:var(--cyan);}

/* FLOAT WA */
.fw{position:fixed;left:18px;bottom:18px;z-index:940;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px -6px rgba(37,211,102,.55);text-decoration:none;transition:transform .22s;}
.fw:hover{transform:scale(1.09);}
.fw::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:rg 2.4s infinite;}
@keyframes rg{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.55);opacity:0;}}
@media(max-width:600px){.fw{left:14px;bottom:16px;width:50px;height:50px;}}

footer{border-top:1px solid var(--bd);padding:2.4rem 0;margin-top:var(--sp);}
.fgrid{display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;align-items:center;}
footer a{color:var(--t3);text-decoration:none;font-size:.83rem;margin-right:1.15rem;transition:color .2s;}
footer a:hover{color:var(--cyan);}
footer small{color:var(--t3);font-size:.78rem;}
[data-en]{display:none;}
html[lang="en"] [data-es]{display:none;}
html[lang="en"] [data-en]{display:revert;}

/* ══════════ SUBPÁGINAS ══════════ */
.sub-hero{padding:clamp(6.5rem,12vw,8.5rem) 0 clamp(2.5rem,5vw,4rem);}
.sub-hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:900;letter-spacing:-.04em;margin-bottom:1.2rem;max-width:20ch;}
.sub-hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--cyan),var(--blue) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.crumb{font-family:var(--mono);font-size:.75rem;color:var(--t3);margin-bottom:1.4rem;}
.crumb a{color:var(--cyan);text-decoration:none;}

.vs{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;margin:2rem 0;}
@media(max-width:760px){.vs{grid-template-columns:1fr;}}
.vs-col{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);padding:1.6rem;}
.vs-col.si{border-top:3px solid var(--green);}
.vs-col.no{border-top:3px solid #e0803c;}
.vs-col h3{font-size:1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;}
.vs-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem;}
.vs-col li{font-size:.87rem;color:var(--t2);line-height:1.5;padding-left:1.5rem;position:relative;}
.vs-col.si li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:800;}
.vs-col.no li::before{content:'!';position:absolute;left:2px;color:#e0803c;font-weight:800;}

.mid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center;margin:2.6rem 0;}
@media(max-width:860px){.mid{grid-template-columns:1fr;}}

/* teléfono animado */
.phone{width:min(280px,80vw);margin:0 auto;background:#0a0f1c;border:9px solid #161d2e;border-radius:36px;padding:0;box-shadow:0 34px 70px -28px rgba(0,0,0,.95);overflow:hidden;position:relative;}
.phone-top{background:#0d1526;padding:.65rem .9rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--bd);}
.phone-top b{font-size:.78rem;}
.igdot{width:22px;height:22px;border-radius:7px;background:linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7);flex:0 0 22px;}
.feed{height:330px;overflow:hidden;position:relative;background:#070c18;}
.feed-in{position:absolute;inset:0;animation:desliza 16s infinite;}
@keyframes desliza{0%,14%{transform:translateY(0);}20%,39%{transform:translateY(-110px);}45%,64%{transform:translateY(-220px);}70%,89%{transform:translateY(-330px);}95%,100%{transform:translateY(0);}}
.post{height:110px;border-bottom:1px solid var(--bd);padding:.75rem .9rem;display:flex;gap:.7rem;}
.post-img{width:64px;height:64px;border-radius:9px;flex:0 0 64px;}
.post b{font-size:.74rem;display:block;margin-bottom:.2rem;}
.post p{font-size:.68rem;color:var(--t2);line-height:1.4;margin:0;}
.post .when{font-size:.63rem;color:var(--cyan);font-family:var(--mono);margin-top:.35rem;display:block;}
.auto-tag{position:absolute;top:.6rem;right:.6rem;z-index:5;background:rgba(16,185,129,.16);border:1px solid rgba(16,185,129,.4);color:var(--green);font-size:.6rem;font-family:var(--mono);padding:.16rem .5rem;border-radius:20px;}

.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:1.3rem;}
.cal div{aspect-ratio:1;border-radius:5px;background:var(--bg-card);border:1px solid var(--bd);}
.cal div.on{background:rgba(34,211,238,.22);border-color:rgba(34,211,238,.5);animation:enciende 5s infinite;}
.cal div.on:nth-child(3n){animation-delay:.6s;} .cal div.on:nth-child(5n){animation-delay:1.2s;}
@keyframes enciende{0%,100%{opacity:.25;}50%{opacity:1;}}

.cmp{display:grid;grid-template-columns:1fr auto 1fr;gap:1.15rem;align-items:center;margin:2.2rem 0;}
@media(max-width:700px){.cmp{grid-template-columns:1fr;}}
.cmp-c{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);padding:1.5rem;text-align:center;}
.cmp-c.win{border-color:rgba(34,211,238,.42);background:linear-gradient(170deg,rgba(34,211,238,.07),var(--bg-card) 45%);}
.cmp-c .n{font-size:2.1rem;font-weight:900;letter-spacing:-.04em;}
.cmp-c small{display:block;color:var(--t3);font-size:.78rem;margin-top:.3rem;}
.cmp-vs{font-family:var(--mono);color:var(--t3);font-size:.85rem;}

.caso{background:var(--bg-card);border:1px solid var(--bd);border-left:3px solid var(--cyan);border-radius:0 var(--r) var(--r) 0;padding:1.3rem 1.5rem;margin-bottom:1rem;}
.caso h4{font-size:.96rem;margin-bottom:.45rem;}
.caso p{font-size:.86rem;color:var(--t2);line-height:1.6;margin:0;}
.caso .flow{font-family:var(--mono);font-size:.75rem;color:var(--cyan);margin-top:.6rem;display:block;line-height:1.7;}

/* ══════════ EXPLICACIONES EMERGENTES ══════════ */
.pr li[data-info]{cursor:pointer;transition:color .18s;padding-right:1.3rem;position:relative;}
.pr li[data-info]:hover{color:var(--t1);}
.pr li[data-info]::after{content:'?';position:absolute;right:0;top:1px;width:14px;height:14px;border-radius:50%;
  border:1px solid var(--bd-md);color:var(--t3);font-size:9px;font-weight:700;display:flex;align-items:center;
  justify-content:center;transition:.18s;font-family:var(--mono);}
.pr li[data-info]:hover::after{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim);}
.info-hint{font-size:.76rem;color:var(--t3);font-family:var(--mono);margin-top:-.6rem;margin-bottom:1.4rem;}

.mdl{position:fixed;inset:0;z-index:980;background:rgba(3,5,13,.82);backdrop-filter:blur(7px);
  display:none;align-items:center;justify-content:center;padding:1.2rem;}
.mdl.open{display:flex;animation:apar .22s ease;}
@keyframes apar{from{opacity:0;}to{opacity:1;}}
.mdl-box{background:linear-gradient(165deg,var(--bg-card-2),var(--bg-card));border:1px solid var(--bd-md);
  border-radius:var(--r-lg);max-width:520px;width:100%;padding:1.9rem;position:relative;
  box-shadow:0 34px 80px -30px rgba(0,0,0,.95);animation:sube .28s cubic-bezier(.22,.61,.36,1);max-height:86vh;overflow-y:auto;}
@keyframes sube{from{transform:translateY(20px) scale(.97);opacity:0;}to{transform:none;opacity:1;}}
.mdl-box h3{font-size:1.28rem;margin-bottom:.3rem;padding-right:2rem;}
.mdl-box .tipo{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:.9rem;display:block;}
.mdl-box p{font-size:.93rem;color:var(--t2);line-height:1.68;margin-bottom:.9rem;}
.mdl-box .benef{background:rgba(34,211,238,.07);border-left:3px solid var(--cyan);border-radius:0 9px 9px 0;padding:.9rem 1.1rem;margin-top:1.1rem;}
.mdl-box .benef b{color:var(--t1);font-size:.83rem;display:block;margin-bottom:.35rem;}
.mdl-box .benef p{margin:0;font-size:.87rem;}
.mdl-x{position:absolute;top:1.1rem;right:1.1rem;width:30px;height:30px;border-radius:50%;border:1px solid var(--bd-md);
  background:transparent;color:var(--t2);cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.18s;}
.mdl-x:hover{border-color:var(--cyan);color:var(--cyan);}

/* ══════════ TIENDAS DE APPS ══════════ */
.tiendas{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.15rem;margin-top:2rem;}
.tienda{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);padding:1.7rem 1.5rem;position:relative;}
.tienda.inc{border-color:rgba(16,185,129,.4);background:linear-gradient(170deg,rgba(16,185,129,.06),var(--bg-card) 45%);}
.tienda h3{font-size:1.05rem;margin-bottom:.2rem;}
.tienda .sub2{font-size:.76rem;color:var(--t3);font-family:var(--mono);margin-bottom:1.1rem;}
.tienda .pz{font-size:1.75rem;font-weight:900;letter-spacing:-.035em;margin-bottom:.15rem;}
.tienda .pz small{font-size:.8rem;font-weight:500;color:var(--t3);}
.tienda ul{list-style:none;padding:0;margin:1.1rem 0 0;display:flex;flex-direction:column;gap:.55rem;}
.tienda li{font-size:.82rem;color:var(--t2);line-height:1.5;padding-left:1.1rem;position:relative;}
.tienda li::before{content:'·';position:absolute;left:.25rem;color:var(--cyan);font-weight:800;}
.tienda .sello{position:absolute;top:-9px;right:1.3rem;background:var(--green);color:#03130a;font-family:var(--mono);
  font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:.2rem .6rem;border-radius:5px;}

/* ══════════ PÁGINAS LEGALES ══════════ */
.legal{max-width:780px;margin:0 auto;padding:clamp(6.5rem,12vw,8rem) clamp(1.1rem,5vw,2.4rem) 4rem;}
.legal h1{font-size:clamp(1.8rem,4.5vw,2.7rem);font-weight:900;letter-spacing:-.035em;margin-bottom:.5rem;}
.legal .fecha{font-family:var(--mono);font-size:.78rem;color:var(--t3);margin-bottom:2.4rem;padding-bottom:1.4rem;border-bottom:1px solid var(--bd);}
.legal h2{font-size:1.12rem;margin:2.3rem 0 .8rem;color:var(--t1);padding-left:.9rem;border-left:3px solid var(--cyan);}
.legal h3{font-size:.97rem;margin:1.5rem 0 .5rem;color:var(--t1);}
.legal p{font-size:.92rem;color:var(--t2);line-height:1.78;margin-bottom:.9rem;}
.legal ul{margin:0 0 1.1rem 0;padding-left:1.3rem;}
.legal li{font-size:.9rem;color:var(--t2);line-height:1.7;margin-bottom:.5rem;}
.legal b{color:var(--t1);}
.legal .alerta{background:rgba(224,128,60,.08);border:1px solid rgba(224,128,60,.28);border-left:3px solid #e0803c;border-radius:0 var(--r) var(--r) 0;padding:1.2rem 1.4rem;margin:1.5rem 0;}
.legal .alerta p{margin:0;color:var(--t2);}
.legal .alerta b{color:#f0a878;}
.legal .dato{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);padding:1.2rem 1.4rem;margin:1.3rem 0;font-size:.88rem;color:var(--t2);line-height:1.8;}
.legal .dato b{display:inline-block;min-width:120px;color:var(--t3);font-weight:500;}
