:root{
  --p1:#7b64b1; --p2:#9a89c3; --p3:#baaed6; --p4:#ede9f7;
  --blue:#5280e4; --teal:#47A6B1; --teal-lt:#8BCAD1; --teal-xl:#e8f6f8;
  --green:#8FB95C; --orange:#FCAD3D; --pink:#E8649B; --mag:#E1347C;
  --dark:#2a1f5e; --body:#4a4170; --muted:#8b87a8; --line:#e2ddf2;
  --bg:#fff; --soft:#f8f6fd;
  --r:18px; --rl:28px;
  --s1:0 2px 12px rgba(123,100,177,.08);
  --s2:0 8px 32px rgba(123,100,177,.13);
  --s3:0 20px 60px rgba(123,100,177,.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--body);overflow-x:hidden}

/* ── NAV ── */
nav{position:fixed;top:0;width:100%;z-index:100;background:rgba(255,255,255,.95);
  backdrop-filter:blur(20px);border-bottom:1px solid var(--line);
  padding:0 6%;height:68px;display:flex;align-items:center;justify-content:space-between}
nav.on{box-shadow:var(--s2)}
.nl img{height:34px}
.nr{display:flex;align-items:center;gap:1.6rem}
.nr a{text-decoration:none;color:var(--muted);font-size:.85rem;font-weight:500;
  position:relative;transition:color .2s}
.nr a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;
  background:var(--p1);transition:width .3s}
.nr a:hover{color:var(--p1)}
.nr a:hover::after{width:100%}
.btn-nav{background:var(--p1)!important;color:#fff!important;padding:9px 22px;
  border-radius:50px;font-weight:600!important;box-shadow:0 4px 16px rgba(123,100,177,.28);
  transition:background .2s,transform .2s!important}
.btn-nav:hover{background:var(--dark)!important;transform:translateY(-2px)!important}
.btn-nav::after{display:none!important}

/* ── HERO ── */
#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.hl{padding:120px 5% 80px 8%;display:flex;flex-direction:column;
  justify-content:center;background:var(--bg);z-index:2}
.hr{background:linear-gradient(145deg,var(--p4) 0%,#e8f0fd 45%,var(--teal-xl) 100%);
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.hr::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 55% 50% at 70% 25%,rgba(154,137,195,.22),transparent 65%),
             radial-gradient(ellipse 40% 45% at 25% 80%,rgba(71,166,177,.14),transparent 60%)}
.hr::after{content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(123,100,177,.10) 1px,transparent 1px);
  background-size:28px 28px}
.h-logo{margin-bottom:30px;animation:up .5s ease both}
.h-logo img{height:54px}
.kicker{display:inline-flex;align-items:center;gap:8px;background:var(--p4);color:var(--p1);
  font-size:.86rem;font-weight:700;letter-spacing:.5px;padding:9px 20px;border-radius:50px;
  border:1px solid var(--p3);margin-bottom:24px;animation:up .5s ease .05s both}
.kd{width:7px;height:7px;border-radius:50%;background:var(--p1)}
h1{font-family:'Nunito',sans-serif;font-size:clamp(2.8rem,5vw,4.4rem);font-weight:900;
  color:var(--dark);line-height:1.08;letter-spacing:-.02em;margin-bottom:22px;
  animation:up .5s ease .1s both}
.gp{background:linear-gradient(135deg,var(--p1),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.gt{background:linear-gradient(135deg,var(--teal),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hdesc{font-size:1.08rem;color:var(--muted);line-height:1.78;font-weight:300;
  max-width:500px;margin-bottom:38px;animation:up .5s ease .15s both}
.hbtns{display:flex;gap:16px;flex-wrap:wrap;animation:up .5s ease .2s both}
.bmain{background:linear-gradient(135deg,var(--pink),var(--mag));color:#fff;
  padding:16px 36px;border-radius:50px;font-size:1.02rem;font-weight:700;
  text-decoration:none;display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 8px 24px rgba(232,100,155,.32);transition:transform .2s,box-shadow .2s}
.bmain:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(225,52,124,.42)}
.bout{color:var(--p1);padding:16px 28px;border-radius:50px;font-size:1.02rem;font-weight:600;
  text-decoration:none;border:1.5px solid var(--p3);display:inline-flex;align-items:center;gap:7px;
  transition:border-color .2s,background .2s,transform .2s}
.bout:hover{border-color:var(--p1);background:var(--p4);transform:translateY(-2px)}
.proof{display:flex;align-items:center;gap:14px;margin-top:34px;animation:up .5s ease .25s both}
.avs{display:flex}
.avs span{width:32px;height:32px;border-radius:50%;border:2.5px solid #fff;
  display:flex;align-items:center;justify-content:center;font-size:.6rem;
  font-weight:700;color:#fff;margin-left:-8px}
.avs span:first-child{margin-left:0}
.av1{background:linear-gradient(135deg,var(--p1),var(--blue))}
.av2{background:linear-gradient(135deg,var(--teal),var(--green))}
.av3{background:linear-gradient(135deg,var(--pink),var(--orange))}
.av4{background:var(--p2)}
.pt{font-size:.81rem;color:var(--muted);line-height:1.45}
.pt strong{color:var(--dark);font-weight:700}
.pst{color:var(--orange);font-size:.75rem}

/* hero floats */
.sf{position:absolute;background:#fff;border-radius:20px;padding:10px 14px;
  box-shadow:var(--s3);z-index:3;border:1px solid var(--line);animation:fly 5s ease-in-out infinite}
.sf1{top:10%;left:3%;animation-delay:0s}
.sf2{bottom:16%;right:3%;animation-delay:1.8s}
.sf3{top:52%;left:2%;animation-delay:3.2s}
.sn{font-family:'Nunito',sans-serif;font-size:1.25rem;font-weight:900;line-height:1}
.sl{font-size:.63rem;color:var(--muted);margin-top:2px}
.sf1 .sn{color:var(--p1)} .sf2 .sn{color:var(--teal)} .sf3 .sn{color:var(--orange)}

/* hero card */
.hv{position:relative;z-index:2;width:88%;max-width:520px}
.hcard{background:#fff;border-radius:32px;box-shadow:var(--s3);overflow:hidden;
  border:1px solid var(--line);animation:up .7s ease .3s both}
.hctop{background:var(--soft);padding:9px 14px;display:flex;align-items:center;gap:8px;
  border-bottom:1px solid var(--line)}
.dots{display:flex;gap:5px}
.dot{width:9px;height:9px;border-radius:50%}
.dot:nth-child(1){background:#ff5f57} .dot:nth-child(2){background:#febc2e} .dot:nth-child(3){background:#28c840}
.htitle{font-size:.73rem;color:var(--muted);margin-left:6px;font-weight:500}
.hcb{padding:16px 18px}
.lbl{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin-bottom:8px}
.fld{background:var(--soft);border:1px solid var(--line);border-radius:14px;
  padding:9px 12px;font-size:.84rem;color:var(--body);margin-bottom:6px;
  display:flex;align-items:center;gap:8px}
.fv{font-weight:500;flex:1}
.ftag{font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:50px}
.tp{background:var(--p4);color:var(--p1)} .tt{background:var(--teal-xl);color:var(--teal)}
.tb{background:#edf1fc;color:var(--blue)}
.hdiv{height:1px;background:var(--line);margin:10px 0}
.pr{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-bottom:4px}
.bar{height:6px;background:var(--line);border-radius:50px;overflow:hidden;margin-bottom:7px}
.fill{height:100%;border-radius:50px}
.f1{background:linear-gradient(90deg,var(--p1),var(--blue));width:85%}
.f2{background:linear-gradient(90deg,var(--teal),var(--green));width:92%}
.f3{background:linear-gradient(90deg,var(--pink),var(--orange));width:68%}
.hcbtn{width:100%;margin-top:10px;background:var(--p1);color:#fff;border:none;
  border-radius:14px;padding:11px;font-family:'Poppins',sans-serif;font-size:.88rem;
  font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;
  transition:background .2s}
.hcbtn:hover{background:var(--dark)}

@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fly{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ── DIVIDER ── */
.dvd{height:4px;border:none;
  background:linear-gradient(90deg,var(--p1),var(--p2),var(--blue),var(--teal),var(--green),var(--orange),var(--pink),var(--mag))}

/* ── COMMONS ── */
section{padding:96px 6%}
.wrap{max-width:1180px;margin:0 auto}
.eye{display:inline-block;font-size:.71rem;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--p1);margin-bottom:12px}
.stitle{font-family:'Nunito',sans-serif;font-size:clamp(1.85rem,3vw,2.5rem);
  font-weight:900;color:var(--dark);line-height:1.18;letter-spacing:-.01em;margin-bottom:14px}
.ssub{color:var(--muted);font-size:.96rem;line-height:1.75;font-weight:300;
  max-width:540px;margin:0 auto 52px}
.sh{text-align:center}
.rev{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}
.rev.on{opacity:1;transform:none}

/* ── NEM ── */
#nem{background:var(--soft)}
.nem{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.nb{color:var(--muted);font-size:.94rem;line-height:1.8;margin-bottom:14px;font-weight:300}
.ntags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.ntag{padding:7px 16px;border-radius:50px;font-size:.79rem;font-weight:600;border:1.5px solid transparent}
.nt1{background:var(--teal-xl);color:var(--teal);border-color:rgba(71,166,177,.2)}
.nt2{background:#edf1fc;color:var(--blue);border-color:rgba(82,128,228,.2)}
.nt3{background:var(--p4);color:var(--p1);border-color:rgba(123,100,177,.2)}
.nt4{background:#fef6e8;color:var(--orange);border-color:rgba(252,173,61,.2)}
.nem-img img{width:100%;border-radius:var(--rl);box-shadow:var(--s3)}

/* ── COMO ── */
#como{background:var(--bg)}
.steps{max-width:800px;margin:0 auto;display:flex;flex-direction:column;position:relative}
.steps::before{content:'';position:absolute;left:31px;top:0;bottom:0;width:2px;
  background:linear-gradient(to bottom,var(--p1),var(--p2),var(--teal),var(--green),var(--pink))}
.si{display:flex;gap:24px;align-items:flex-start;padding-bottom:34px;
  opacity:0;transform:translateX(-16px);transition:opacity .5s,transform .5s}
.si.on{opacity:1;transform:none}
.sc{width:62px;height:62px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-family:'Nunito',sans-serif;font-weight:900;font-size:1.2rem;
  color:#fff;z-index:1;border:3px solid var(--bg)}
.sc1{background:linear-gradient(135deg,var(--p1),var(--p2));box-shadow:0 6px 18px rgba(123,100,177,.30)}
.sc2{background:linear-gradient(135deg,var(--blue),var(--p2));box-shadow:0 6px 18px rgba(82,128,228,.26)}
.sc3{background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 6px 18px rgba(71,166,177,.26)}
.sc4{background:linear-gradient(135deg,var(--green),var(--teal));box-shadow:0 6px 18px rgba(143,185,92,.26)}
.sc5{background:linear-gradient(135deg,var(--pink),var(--mag));box-shadow:0 6px 18px rgba(232,100,155,.26)}
.sb{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);
  padding:18px 22px;flex:1;box-shadow:var(--s1);transition:transform .3s,box-shadow .3s}
.sb:hover{transform:translateX(5px);box-shadow:var(--s2)}
.sb h3{font-family:'Nunito',sans-serif;font-weight:800;font-size:1rem;color:var(--dark);margin-bottom:4px}
.sb p{color:var(--muted);font-size:.84rem;line-height:1.6;font-weight:300}
.se{font-size:1.2rem;float:right}

/* ── BENEFICIOS ── */
#ben{background:var(--soft)}
.bg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bc{background:var(--bg);border-radius:var(--r);padding:28px 22px;
  border:1px solid var(--line);border-top:3px solid transparent;transition:transform .3s,box-shadow .3s}
.bc:nth-child(1){border-top-color:var(--p1)}
.bc:nth-child(2){border-top-color:var(--blue)}
.bc:nth-child(3){border-top-color:var(--green)}
.bc:nth-child(4){border-top-color:var(--teal)}
.bc:nth-child(5){border-top-color:var(--orange)}
.bc:nth-child(6){border-top-color:var(--pink)}
.bc:hover{transform:translateY(-6px);box-shadow:var(--s3)}
.bi{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;font-size:1.35rem;margin-bottom:13px}
.bc:nth-child(1) .bi{background:var(--p4)}
.bc:nth-child(2) .bi{background:#edf1fc}
.bc:nth-child(3) .bi{background:#f0f7e8}
.bc:nth-child(4) .bi{background:var(--teal-xl)}
.bc:nth-child(5) .bi{background:#fef6e8}
.bc:nth-child(6) .bi{background:#fde8f1}
.bc h3{font-family:'Nunito',sans-serif;font-weight:800;font-size:.98rem;color:var(--dark);margin-bottom:7px}
.bc p{color:var(--muted);font-size:.84rem;line-height:1.65;font-weight:300}

/* ── BIBLIOTECA ── */
#bib{background:linear-gradient(150deg,var(--p1) 0%,var(--p2) 50%,#7fa1eb 100%);position:relative;overflow:hidden}
#bib::before{content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:30px 30px}
#bib .eye{color:rgba(255,255,255,.75)}
#bib .stitle{color:#fff}
#bib .ssub{color:rgba(255,255,255,.62)}
.bg2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}
.bc2{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r);padding:28px 16px;text-align:center;transition:all .25s;
  cursor:pointer;backdrop-filter:blur(10px)}
.bc2:hover{background:rgba(255,255,255,.20);transform:translateY(-5px);border-color:rgba(255,255,255,.35)}
.bic{font-size:3.6rem;margin-bottom:14px;line-height:1}
.bc2 h4{color:#fff;font-weight:700;font-size:.88rem;margin-bottom:5px}
.bc2 p{color:rgba(255,255,255,.55);font-size:.74rem;font-weight:300}
.bdg{display:inline-block;font-size:.66rem;padding:3px 10px;border-radius:50px;margin-top:10px;font-weight:600}
.bf{background:rgba(143,185,92,.22);color:#c5e09a;border:1px solid rgba(143,185,92,.3)}
.bn{background:rgba(139,202,209,.22);color:#a8dde2;border:1px solid rgba(71,166,177,.3)}
.bp{background:rgba(252,173,61,.22);color:#fdd08c;border:1px solid rgba(252,173,61,.3)}
.bx{background:rgba(232,100,155,.22);color:#f4a8c8;border:1px solid rgba(232,100,155,.3)}

/* ── TESTIMONIOS ── */
#test{background:var(--bg)}
.tg{overflow:hidden;position:relative}
.ttrack{display:flex;flex-wrap:nowrap;transition:transform .5s ease}
.tc{flex:0 0 50%;box-sizing:border-box;padding:0 12px;background:var(--bg);border-radius:var(--rl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--s2);transition:transform .3s,box-shadow .3s}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:var(--p1);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;z-index:1;box-shadow:var(--s2);transition:background .2s}
.carousel-btn:hover{background:var(--dark)}
.carousel-btn.prev{left:20px}
.carousel-btn.next{right:20px}
.ti{height:560px;overflow:hidden}
.ti img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s}
.tc:hover .ti img{transform:scale(1.04)}
.tbody{padding:24px 26px}
.sts{color:var(--orange);font-size:.87rem;margin-bottom:9px;letter-spacing:1px}
.tq{font-size:.97rem;line-height:1.80;color:var(--body);font-style:italic;
  margin-bottom:15px;font-weight:300;padding-left:14px;border-left:3px solid var(--p3)}
.tn{font-family:'Nunito',sans-serif;font-weight:800;color:var(--dark);font-size:1rem}
.tr{color:var(--muted);font-size:.82rem;margin-top:3px}

/* ── PRECIOS ── */
#precio{background:var(--soft)}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.pc{border-radius:var(--rl);padding:32px 26px;border:1.5px solid var(--line);
  background:var(--bg);transition:transform .3s,box-shadow .3s}
.pc:hover{transform:translateY(-5px);box-shadow:var(--s3)}
.pc.ft{background:linear-gradient(150deg,var(--p1) 0%,var(--p2) 60%,var(--blue) 100%);
  border-color:transparent;box-shadow:var(--s3);transform:scale(1.02)}
.pc.ft:hover{transform:scale(1.02) translateY(-5px)}
.ptag{display:inline-block;font-size:.67rem;font-weight:700;padding:4px 12px;border-radius:50px;margin-bottom:13px}
.ptg1{background:var(--p4);color:var(--p1)}
.ptg2{background:rgba(255,255,255,.15);color:rgba(255,255,255,.9)}
.ptg3{background:var(--teal-xl);color:var(--teal)}
.pn{font-family:'Nunito',sans-serif;font-weight:900;font-size:1.15rem;margin-bottom:5px;color:var(--dark)}
.pc.ft .pn{color:#fff}
.pd{font-size:.82rem;color:var(--muted);line-height:1.55;margin-bottom:20px;font-weight:300}
.pc.ft .pd{color:rgba(255,255,255,.58)}
.po{font-size:.87rem;color:var(--muted);text-decoration:line-through;margin-bottom:2px}
.pv{font-family:'Nunito',sans-serif;font-size:2.7rem;font-weight:900;line-height:1;color:var(--p1)}
.pc.ft .pv{color:#fff}
.pv span{font-size:.87rem;font-weight:400;color:var(--muted)}
.pc.ft .pv span{color:rgba(255,255,255,.55)}
.pdc{display:inline-flex;align-items:center;gap:5px;
  background:linear-gradient(135deg,var(--green),#6da33a);color:#fff;
  font-size:.69rem;font-weight:700;padding:4px 12px;border-radius:50px;margin-top:7px}
.psoon{font-family:'Nunito',sans-serif;font-size:1.3rem;font-weight:900;margin-bottom:20px;color:var(--p2)}
.pc.ft .psoon{color:rgba(255,255,255,.8)}
.fl{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:26px}
.fl li{display:flex;align-items:flex-start;gap:8px;font-size:.84rem;line-height:1.55;color:var(--body);font-weight:300}
.pc.ft .fl li{color:rgba(255,255,255,.82)}
.ck{font-size:.8rem;margin-top:1px;flex-shrink:0;font-weight:700;color:var(--green)}
.pc.ft .ck{color:#c5e09a}
.pbtn{width:100%;padding:13px;border-radius:50px;border:none;font-family:'Poppins',sans-serif;
  font-size:.89rem;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:all .25s}
.pb1{background:var(--p1);color:#fff;box-shadow:0 6px 20px rgba(123,100,177,.28)}
.pb1:hover{background:var(--dark);transform:translateY(-2px)}
.pb2{background:#fff;color:var(--p1);box-shadow:0 6px 20px rgba(0,0,0,.10)}
.pb2:hover{background:rgba(255,255,255,.88);transform:translateY(-2px)}
.pb3{background:transparent;color:var(--p1);border:1.5px solid var(--p3)}
.pb3:hover{border-color:var(--p1);background:var(--p4)}

/* ── FAQ ── */
#faq{background:var(--bg)}
.fwrap{max-width:720px;margin:0 auto}
.fi{border-bottom:1px solid var(--line)}
.fq{padding:18px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:14px}
.fq h3{font-size:.93rem;font-weight:500;color:var(--dark);flex:1}
.ftg{width:26px;height:26px;border-radius:50%;flex-shrink:0;border:1.5px solid var(--p3);
  color:var(--p2);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .3s}
.ftg.on{background:var(--p1);border-color:var(--p1);color:#fff;transform:rotate(45deg)}
.fa{max-height:0;overflow:hidden;transition:max-height .4s,padding .3s}
.fa.on{max-height:200px;padding:0 0 18px}
.fa p{color:var(--muted);font-size:.87rem;line-height:1.75;font-weight:300}

/* ── CONTACTO ── */
#contacto{background:linear-gradient(150deg,var(--p1) 0%,var(--p2) 60%,#7fa1eb 100%);position:relative;overflow:hidden}
#contacto::before{content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:30px 30px}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}
.cinfo .eye{color:rgba(255,255,255,.72)}
.cinfo h2{font-family:'Nunito',sans-serif;font-size:2rem;font-weight:900;color:#fff;margin-bottom:12px}
.cinfo>p{color:rgba(255,255,255,.62);line-height:1.75;margin-bottom:28px;font-size:.94rem;font-weight:300}
.citems{display:flex;flex-direction:column;gap:12px}
.citem{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:14px 18px;
  transition:background .25s;backdrop-filter:blur(10px)}
.citem:hover{background:rgba(255,255,255,.20)}
.cion{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-size:1rem;background:rgba(255,255,255,.20)}
.clb{color:rgba(255,255,255,.52);font-size:.69rem;display:block;margin-bottom:2px;font-weight:300}
.cvl{color:#fff;font-weight:600;font-size:.89rem;display:block}
.socs{display:flex;gap:8px;margin-top:18px}
.soc{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;font-size:.87rem;font-weight:700;transition:all .25s}
.soc:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}

/* ── GUMMI ── */
.gw{display:flex;align-items:center;justify-content:center;position:relative;padding:50px}
.gr-out{position:absolute;width:500px;height:500px;border-radius:50%;
  background:conic-gradient(
    #7b64b1 0deg,#9a89c3 30deg,#5280e4 60deg,#9ab5ef 90deg,
    #47A6B1 120deg,#8BCAD1 150deg,#8FB95C 180deg,#FCAD3D 210deg,
    #F69682 240deg,#E8649B 270deg,#E1347C 300deg,#baaed6 330deg,#7b64b1 360deg);
  opacity:.55;filter:blur(6px);animation:spinR 12s linear infinite}
.gr-in{position:absolute;width:430px;height:430px;border-radius:50%;
  background:conic-gradient(
    #E1347C 0deg,#E8649B 40deg,#FCAD3D 80deg,#8FB95C 120deg,
    #47A6B1 160deg,#5280e4 200deg,#9a89c3 240deg,#7b64b1 280deg,#baaed6 320deg,#E1347C 360deg);
  opacity:.75;filter:blur(2px);animation:spinF 7s linear infinite}
@keyframes spinF{to{transform:rotate(360deg)}}
@keyframes spinR{to{transform:rotate(-360deg)}}
.gblob{width:400px;height:400px;
  background:linear-gradient(145deg,rgba(123,100,177,.55) 0%,rgba(82,128,228,.45) 50%,rgba(71,166,177,.35) 100%);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1.5px solid rgba(255,255,255,.30);
  display:flex;align-items:center;justify-content:center;
  position:relative;z-index:1;
  border-radius:44% 56% 63% 37% / 38% 47% 53% 62%;
  animation:morph 6s ease-in-out infinite;
  box-shadow:0 0 50px rgba(123,100,177,.30),0 0 100px rgba(154,137,195,.15),inset 0 0 40px rgba(255,255,255,.08)}
@keyframes morph{
  0%,100%{border-radius:44% 56% 63% 37% / 38% 47% 53% 62%}
  25%{border-radius:60% 40% 42% 58% / 55% 38% 62% 45%}
  50%{border-radius:38% 62% 55% 45% / 62% 52% 48% 38%}
  75%{border-radius:55% 45% 38% 62% / 42% 60% 40% 58%}}
.gblob img{width:88%;height:88%;object-fit:contain;position:relative;z-index:2;
  filter:drop-shadow(0 10px 30px rgba(123,100,177,.40)) drop-shadow(0 0 16px rgba(255,255,255,.20));
  animation:bob 4s ease-in-out infinite}

/* ── FOOTER ── */
footer{background:var(--dark);padding:34px 6%;display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:14px;border-top:3px solid var(--p1)}
.fl2 img{height:32px}
footer p{color:rgba(255,255,255,.38);font-size:.79rem}

/* ── SCALE FROM NEM ── */
#nem,#nem ~ section{padding:112px 8%}
#nem .wrap,#nem ~ section .wrap{max-width:1400px}
#nem .stitle,#nem ~ section .stitle{font-size:clamp(2.2rem,3.5vw,3.2rem);margin-bottom:18px}
#nem .ssub,#nem ~ section .ssub{font-size:1.08rem;max-width:680px}
#nem .eye,#nem ~ section .eye{font-size:.8rem}
#nem .nem{gap:80px}
#nem .stitle{font-size:clamp(2.6rem,4vw,3.8rem);margin-bottom:22px}
#nem .ssub{font-size:1.15rem;margin-bottom:36px}
#nem .nb{font-size:1.12rem;line-height:1.92;margin-bottom:18px}
#nem .ntag{font-size:.95rem;padding:11px 24px}
#nem .ntags{gap:10px;margin-top:28px}
#nem .nem-img img{border-radius:22px}
#como .steps{max-width:920px}
#como .sc{width:70px;height:70px;font-size:1.35rem}
#como .sb{padding:22px 28px}
#como .sb h3{font-size:1.1rem;margin-bottom:6px}
#como .sb p{font-size:.94rem;line-height:1.7}
#ben .bc{padding:34px 28px}
#ben .bi{width:56px;height:56px;border-radius:14px;font-size:1.5rem;margin-bottom:16px}
#ben .bc h3{font-size:1.08rem;margin-bottom:9px}
#ben .bc p{font-size:.93rem;line-height:1.72}
#bib .bic{font-size:4.2rem;margin-bottom:18px}
#bib .bc2{padding:34px 20px}
#bib .bc2 h4{font-size:1rem;margin-bottom:7px}
#bib .bc2 p{font-size:.82rem}

#precio .pc{padding:38px 30px}
#precio .pn{font-size:1.25rem}
#precio .pd{font-size:.9rem;line-height:1.65}
#precio .pv{font-size:3rem}
#precio .fl li{font-size:.92rem}
#precio .pbtn{font-size:.96rem;padding:15px}
#faq .fwrap{max-width:860px}
#faq .fq h3{font-size:1.02rem}
#faq .fa p{font-size:.95rem;line-height:1.82}
#contacto .cinfo h2{font-size:2.4rem}
#contacto .cinfo>p{font-size:1.02rem;line-height:1.82}
#contacto .cvl{font-size:.96rem}
#contacto .clb{font-size:.76rem}
#contacto .citem{padding:16px 22px}
#contacto .cion{width:46px;height:46px;font-size:1.1rem}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  #hero{grid-template-columns:1fr}
  .hr{height:480px}
  .nem,.cgrid{grid-template-columns:1fr;gap:36px}
  .nr a:not(.btn-nav){display:none}
  .gw{display:none}
}
@media(max-width:700px){
  section{padding:68px 5%}
  .bg,.pg{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .bg2{grid-template-columns:1fr 1fr}
  .pc.ft{transform:none}
  footer{flex-direction:column;text-align:center}
  .tc{flex:0 0 100%}
  .carousel-btn{top:40%;width:35px;height:35px;font-size:1rem}
  .carousel-btn.prev{left:5px}
  .carousel-btn.next{right:5px}
}