:root {
  --rosa:#E91E8C; --verde:#2ECC71; --amarillo:#FFD700;
  --naranja:#FF6B2B; --azul:#00BCD4; --morado:#9B27AF;
  --rojo:#E53935; --dark:#080C14;
  --card:rgba(255,255,255,0.06);
  --fh:'Fredoka One',cursive; --fs:'Dancing Script',cursive;
  --fb:'Nunito',sans-serif;
  --r:16px; --rl:26px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--dark);color:#fff;overflow-x:hidden;line-height:1.7}
::placeholder{color:rgba(255,255,255,.3)}
input,select,textarea{color-scheme:dark}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* LANGUAGE */
#root.lang-en .es{display:none!important}
#root:not(.lang-en) .en{display:none!important}

/* PARTICLES */
#pc{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}

/* NAVBAR */
#nav{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:9px 28px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:rgba(8,12,20,.75);border-bottom:1px solid rgba(255,255,255,.07);transition:all .3s;gap:14px}
#nav.sc{background:rgba(8,12,20,.97);box-shadow:0 4px 28px rgba(233,30,140,.15)}
.nl{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nl img{height:50px;width:50px;object-fit:contain;border-radius:50%;box-shadow:0 0 20px rgba(233,30,140,.4);padding:3px;background:rgba(255,255,255,.06)}
.nlt{font-family:var(--fh);line-height:1.2}
.nlt .a{background:linear-gradient(135deg,var(--amarillo),var(--rosa));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;display:block}
.nlt .b{background:linear-gradient(135deg,var(--azul),var(--verde));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1rem}
.nlinks{display:flex;list-style:none;gap:2px;align-items:center;flex:1;justify-content:center;flex-wrap:wrap}
.nlinks a{color:rgba(255,255,255,.78);font-weight:700;font-size:.78rem;padding:6px 10px;border-radius:30px;transition:all .3s;white-space:nowrap}
.nlinks a:hover{background:rgba(255,255,255,.1);color:var(--amarillo)}
.ncta{background:linear-gradient(135deg,var(--rosa),var(--naranja))!important;color:#fff!important;box-shadow:0 0 20px rgba(233,30,140,.4)}
.ncta:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(233,30,140,.65)!important}
.nr{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ltog{display:flex;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:30px;padding:3px;gap:2px}
.lb{padding:5px 10px;border-radius:30px;border:none;background:transparent;color:rgba(255,255,255,.5);font-family:var(--fb);font-weight:800;font-size:.72rem;cursor:pointer;transition:all .3s;white-space:nowrap}
.lb.on{background:linear-gradient(135deg,var(--rosa),var(--naranja));color:#fff;box-shadow:0 2px 10px rgba(233,30,140,.4)}
.cbtn{position:relative;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:30px;padding:6px 13px;font-size:.78rem;font-weight:800;cursor:pointer;transition:all .3s;color:#fff;white-space:nowrap}
.cbtn:hover{background:rgba(255,255,255,.2)}
.cbadge{position:absolute;top:-6px;right:-6px;background:var(--rosa);color:#fff;font-size:.65rem;font-weight:900;width:17px;height:17px;border-radius:50%;display:none;align-items:center;justify-content:center}
.burg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;z-index:1001}
.burg span{display:block;width:21px;height:2px;background:#fff;border-radius:2px;transition:all .3s}

/* HERO */
#hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;z-index:2}
.hbg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 30% 50%,#1a0a2e 0%,#080c14 40%,#001a0a 80%,#080c14 100%)}
.hs{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 2s ease;z-index:1}
.hs.on{opacity:.32}
.hwash{position:absolute;inset:0;z-index:2;background:linear-gradient(160deg,rgba(233,30,140,.22) 0%,rgba(255,107,43,.1) 30%,rgba(0,188,212,.12) 60%,rgba(142,36,170,.18) 100%);animation:wash 12s ease-in-out infinite alternate}
@keyframes wash{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(50deg)}}
.hbotg{position:absolute;bottom:0;left:0;right:0;height:40%;z-index:3;background:linear-gradient(to top,var(--dark),transparent)}
.papel{position:absolute;top:60px;left:0;right:0;height:65px;z-index:4;display:flex;overflow:hidden}
.pf{width:44px;height:65px;flex-shrink:0;animation:sw 3.5s ease-in-out infinite;transform-origin:top center}
.pf:nth-child(even){animation-direction:alternate-reverse;animation-delay:.7s}
.pf:nth-child(3n){animation-delay:1.4s}
@keyframes sw{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
.hf{position:absolute;font-size:1.7rem;z-index:4;pointer-events:none;animation:hfl 7s ease-in-out infinite}
@keyframes hfl{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}
.hcon{position:relative;z-index:5;padding:130px 20px 80px;max-width:920px;width:100%}
.hlogo{margin-bottom:18px;animation:fadeDown .9s ease both}
.hlogo img{width:130px;height:130px;object-fit:contain;border-radius:50%;margin:0 auto;box-shadow:0 0 55px rgba(233,30,140,.5),0 0 110px rgba(0,188,212,.3);border:3px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);backdrop-filter:blur(10px);padding:6px}
.hbadge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,215,0,.12);border:1px solid rgba(255,215,0,.35);color:var(--amarillo);padding:6px 18px;border-radius:30px;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;backdrop-filter:blur(10px);animation:fadeDown .9s .1s ease both}
.htitle{font-family:var(--fh);font-size:clamp(3rem,9vw,7rem);line-height:1.0;margin-bottom:16px;animation:fadeUp .9s .2s ease both}
.htitle .t1{display:block;background:linear-gradient(135deg,var(--amarillo) 0%,var(--rosa) 45%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 28px rgba(233,30,140,.55))}
.htitle .t2{display:block;font-family:var(--fs);font-size:.55em;background:linear-gradient(135deg,var(--azul),var(--verde) 50%,var(--amarillo));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hsub{font-size:clamp(.9rem,2.2vw,1.12rem);color:rgba(255,255,255,.82);max-width:620px;margin:0 auto 34px;line-height:1.85;animation:fadeUp .9s .4s ease both}
.hsub em{color:var(--amarillo);font-style:normal;font-weight:800}
.hbtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;animation:fadeUp .9s .6s ease both}
.bpri{background:linear-gradient(135deg,var(--rosa),var(--naranja));color:#fff;padding:14px 34px;border-radius:30px;font-size:.94rem;font-weight:800;border:none;cursor:pointer;box-shadow:0 0 30px rgba(233,30,140,.5);transition:all .3s;display:inline-flex;align-items:center;gap:8px}
.bpri:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 0 52px rgba(233,30,140,.75)}
.bsec{background:rgba(255,255,255,.1);color:#fff;padding:14px 34px;border-radius:30px;font-size:.94rem;font-weight:700;border:2px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);transition:all .3s;display:inline-flex;align-items:center;gap:8px}
.bsec:hover{background:rgba(255,255,255,.2);border-color:var(--amarillo);color:var(--amarillo);transform:translateY(-4px)}
.shint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:7px;color:rgba(255,255,255,.35);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;animation:fadeUp 1s 1.2s ease both}
@media(max-width:768px){.shint{display:none}}
.sm{width:25px;height:42px;border:2px solid rgba(255,255,255,.2);border-radius:13px;position:relative}
.sm::after{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:var(--rosa);border-radius:50%;animation:bob 2s infinite}
@keyframes bob{0%,100%{top:5px;opacity:1}80%{top:23px;opacity:0}}

/* SECTION UTILS */
section{position:relative;z-index:2}
.sh{text-align:center;margin-bottom:50px}
.stag{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 15px;border-radius:30px;margin-bottom:12px}
.stit{font-family:var(--fh);font-size:clamp(1.8rem,5vw,3.1rem);line-height:1.1;margin-bottom:12px}
.ssub{font-size:.98rem;color:rgba(255,255,255,.58);max-width:520px;margin:0 auto}
.rev{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}
.rev-l{opacity:0;transform:translateX(-34px);transition:opacity .7s ease,transform .7s ease}
.rev-r{opacity:0;transform:translateX(34px);transition:opacity .7s ease,transform .7s ease}
.rev.vis,.rev-l.vis,.rev-r.vis{opacity:1;transform:none}

/* EXPERIENCIAS */
#experiencias{padding:90px 28px;background:linear-gradient(160deg,#08080c 0%,#140820 50%,#081408 100%)}
.egrid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.ec{border-radius:var(--rl);overflow:hidden;position:relative;background:var(--card);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(8px);cursor:pointer;transition:all .4s ease}
.ec:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 28px 65px rgba(0,0,0,.55)}
.eim{height:185px;background-size:cover;background-position:center;transition:transform .5s ease;position:relative}
.ec:hover .eim{transform:scale(1.07)}
.eimo{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 35%,rgba(0,0,0,.78))}
.ebody{padding:18px}
.etit{font-family:var(--fh);font-size:1.18rem;margin-bottom:6px}
.edesc{color:rgba(255,255,255,.62);font-size:.82rem;margin-bottom:14px;line-height:1.55}
.efoot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.eprice{font-family:var(--fh);font-size:1.1rem}
.bdet{padding:7px 14px;border-radius:30px;font-size:.76rem;font-weight:800;border:none;cursor:pointer;transition:all .3s;color:#fff;white-space:nowrap}
.bdet:hover{transform:scale(1.06)}
.ec:nth-child(1){--cc:var(--rosa);--cd:var(--naranja)}
.ec:nth-child(2){--cc:var(--verde);--cd:var(--azul)}
.ec:nth-child(3){--cc:var(--morado);--cd:var(--rojo)}
.ec:nth-child(4){--cc:var(--azul);--cd:var(--verde)}
.ec:nth-child(5){--cc:var(--naranja);--cd:var(--amarillo)}
.ec:nth-child(6){--cc:#6C3AE8;--cd:var(--azul)}
.ec:nth-child(7){--cc:var(--rojo);--cd:var(--rosa)}
.eprice{color:var(--cc)}
.bdet{background:linear-gradient(135deg,var(--cc),var(--cd))}

/* PAQUETES */
#paquetes{padding:90px 28px;background:linear-gradient(160deg,#0a0014 0%,#001a0a 100%)}
.pgrid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:22px}
.pc{border-radius:var(--rl);padding:30px 24px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.09);transition:transform .4s}
.pc:hover{transform:translateY(-8px)}
.pc.pop::after{content:'';position:absolute;inset:-1px;border-radius:calc(var(--rl)+1px);padding:2px;background:linear-gradient(135deg,var(--rosa),var(--amarillo),var(--azul));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pc:nth-child(1){background:linear-gradient(135deg,rgba(233,30,140,.15),rgba(255,107,43,.08))}
.pc:nth-child(2){background:linear-gradient(135deg,rgba(46,204,113,.15),rgba(0,188,212,.08))}
.pc:nth-child(3){background:linear-gradient(135deg,rgba(155,39,175,.15),rgba(229,57,53,.08))}
.pc:nth-child(4){background:linear-gradient(135deg,rgba(255,107,43,.18),rgba(255,215,0,.1))}
.pico{font-size:2.6rem;margin-bottom:12px}
.pbadge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-bottom:9px}
.pc:nth-child(1) .pbadge{background:rgba(233,30,140,.22);color:var(--rosa)}
.pc:nth-child(2) .pbadge{background:rgba(46,204,113,.22);color:var(--verde)}
.pc:nth-child(3) .pbadge{background:rgba(155,39,175,.22);color:#c060d8}
.pc:nth-child(4) .pbadge{background:rgba(255,107,43,.22);color:var(--naranja)}
.ptit{font-family:var(--fh);font-size:1.35rem;margin-bottom:8px}
.pprice{font-family:var(--fh);font-size:1.85rem;margin-bottom:5px}
.pc:nth-child(1) .pprice{color:var(--rosa)}
.pc:nth-child(2) .pprice{color:var(--verde)}
.pc:nth-child(3) .pprice{color:#c060d8}
.pc:nth-child(4) .pprice{color:var(--naranja)}
.pprice small{font-family:var(--fb);font-size:.68rem;color:rgba(255,255,255,.42);display:block}
.pdesc{color:rgba(255,255,255,.65);font-size:.84rem;margin-bottom:16px;line-height:1.65}
.pinc{list-style:none;margin-bottom:20px}
.pinc li{font-size:.8rem;color:rgba(255,255,255,.7);padding:3px 0;display:flex;align-items:center;gap:6px}
.bpkg{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:30px;font-size:.8rem;font-weight:800;border:none;cursor:pointer;color:#fff;transition:all .3s}
.pc:nth-child(1) .bpkg{background:linear-gradient(135deg,var(--rosa),var(--naranja))}
.pc:nth-child(2) .bpkg{background:linear-gradient(135deg,var(--verde),var(--azul))}
.pc:nth-child(3) .bpkg{background:linear-gradient(135deg,var(--morado),var(--rojo))}
.pc:nth-child(4) .bpkg{background:linear-gradient(135deg,var(--naranja),var(--amarillo));color:#000}
.bpkg:hover{transform:scale(1.05)}

/* SERVICIOS */
#servicios{padding:80px 28px;background:#06060f}
.svgrid{max-width:950px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.svc{border-radius:var(--r);padding:26px;text-align:center;background:var(--card);border:1px solid rgba(255,255,255,.08);transition:transform .3s}
.svc:hover{transform:translateY(-6px)}
.svico{font-size:2.8rem;margin-bottom:12px}
.svtit{font-family:var(--fh);font-size:1.2rem;margin-bottom:7px}
.svdesc{color:rgba(255,255,255,.6);font-size:.83rem;line-height:1.55}
.svc:nth-child(1) .svtit{color:var(--azul)}
.svc:nth-child(2) .svtit{color:var(--naranja)}
.svc:nth-child(3) .svtit{color:var(--morado)}

/* AJOLOTARIO */
#ajolotario{padding:90px 28px;background:linear-gradient(135deg,#001a0a 0%,#0a001a 50%,#001014 100%)}
.ajowrap{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.ajoimg-real{position:relative;border-radius:var(--rl);overflow:visible}
.ajoimg-glow{position:absolute;inset:-3px;border-radius:calc(var(--rl)+3px);background:linear-gradient(135deg,var(--azul),var(--morado),var(--rosa),var(--azul));background-size:300% 300%;z-index:-1;animation:glowRot 4s linear infinite;opacity:.8}
@keyframes glowRot{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.ajoimg-frame{border-radius:var(--rl);overflow:hidden;position:relative;box-shadow:0 0 60px rgba(0,188,212,.35),0 0 120px rgba(155,39,175,.2),0 30px 80px rgba(0,0,0,.6)}
.ajoimg-frame img{width:100%;height:480px;object-fit:cover;object-position:center top;display:block;border-radius:var(--rl);transition:transform .5s ease;filter:brightness(1.05) contrast(1.05) saturate(1.1)}
.ajoimg-frame:hover img{transform:scale(1.04)}
.ajo-badge{position:absolute;bottom:-16px;right:-16px;width:105px;height:105px;border-radius:50%;background:linear-gradient(135deg,var(--azul),var(--verde));display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 40px rgba(0,188,212,.5);color:#000;font-weight:900;text-align:center;z-index:2;animation:pb 3s ease-in-out infinite}
@keyframes pb{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.ajo-badge .n{font-family:var(--fh);font-size:1.9rem;line-height:1}
.ajo-badge .l{font-size:.6rem;font-weight:700}
.ajo-fl{position:absolute;font-size:1.4rem;animation:hfl 6s ease-in-out infinite;pointer-events:none}
.ajotxt h2{font-family:var(--fh);font-size:2.5rem;line-height:1.1;margin-bottom:16px}
.ajotxt h2 em{font-style:normal;color:var(--azul)}
.ajotxt p{color:rgba(255,255,255,.72);margin-bottom:14px;line-height:1.85;font-size:.95rem}
.ajotags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;margin-bottom:24px}
.ajotag{background:rgba(0,188,212,.12);border:1px solid rgba(0,188,212,.25);color:var(--azul);padding:5px 13px;border-radius:30px;font-size:.76rem;font-weight:700}
.ajo-note{background:rgba(0,188,212,.08);border:1px solid rgba(0,188,212,.2);border-radius:var(--r);padding:14px 18px;font-size:.84rem;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:10px;margin-bottom:22px}

/* CALENDARIO */
#calendario{padding:80px 28px;background:linear-gradient(160deg,#0c0a1a 0%,#0a1408 100%)}
.cal-wrap{max-width:780px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.cal-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:22px;backdrop-filter:blur(15px)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cal-head h3{font-family:var(--fh);font-size:1.15rem;color:var(--amarillo)}
.cal-nav{background:none;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:.9rem;transition:all .3s;display:flex;align-items:center;justify-content:center}
.cal-nav:hover{background:var(--rosa);border-color:var(--rosa)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cal-dow{font-size:.68rem;font-weight:800;color:rgba(255,255,255,.4);padding:4px 0;letter-spacing:.04em}
.cal-day{padding:7px 2px;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .25s;border:1px solid transparent}
.cal-day:hover{background:rgba(233,30,140,.2);border-color:rgba(233,30,140,.4);color:var(--rosa)}
.cal-day.today{border-color:var(--amarillo);color:var(--amarillo)}
.cal-day.selected{background:linear-gradient(135deg,var(--rosa),var(--naranja));color:#fff;box-shadow:0 0 20px rgba(233,30,140,.5)}
.cal-day.past{color:rgba(255,255,255,.2);cursor:default;pointer-events:none}
.cal-day.empty{pointer-events:none}
.cal-info{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:22px;backdrop-filter:blur(15px)}
.cal-info h4{font-family:var(--fh);font-size:1.05rem;margin-bottom:12px;color:var(--verde)}
.cal-sel{background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.25);border-radius:var(--r);padding:12px;margin-bottom:14px;font-size:.88rem;color:var(--amarillo);font-weight:700;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center}
.fg{margin-bottom:12px}
.fg label{display:block;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:5px}
.fg input,.fg select,.fg textarea{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:11px 13px;color:#fff;font-family:var(--fb);font-size:.88rem;outline:none;width:100%;transition:border-color .3s,box-shadow .3s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--rosa);box-shadow:0 0 16px rgba(233,30,140,.18)}
.fg select option{background:#1a1a2e}
.bwa{width:100%;padding:14px;background:linear-gradient(135deg,var(--rosa),var(--naranja));border:none;border-radius:30px;color:#fff;font-family:var(--fb);font-size:.92rem;font-weight:800;cursor:pointer;transition:all .3s;box-shadow:0 0 25px rgba(233,30,140,.4);display:flex;align-items:center;justify-content:center;gap:8px}
.bwa:hover{transform:translateY(-3px);box-shadow:0 0 50px rgba(233,30,140,.6)}

/* POLÍTICAS */
#politicas{padding:80px 28px;background:#06060f}
.pol-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.pol-card{border-radius:var(--r);padding:22px;text-align:center;border:1px solid rgba(255,255,255,.08);transition:transform .3s}
.pol-card:hover{transform:translateY(-5px)}
.pol-card:nth-child(1){background:linear-gradient(135deg,rgba(233,30,140,.12),rgba(255,107,43,.07))}
.pol-card:nth-child(2){background:linear-gradient(135deg,rgba(46,204,113,.12),rgba(0,188,212,.07))}
.pol-card:nth-child(3){background:linear-gradient(135deg,rgba(155,39,175,.12),rgba(21,101,192,.07))}
.pol-card:nth-child(4){background:linear-gradient(135deg,rgba(255,107,43,.12),rgba(255,215,0,.07))}
.pol-card:nth-child(5){background:linear-gradient(135deg,rgba(0,188,212,.12),rgba(46,204,113,.07))}
.pol-card:nth-child(6){background:linear-gradient(135deg,rgba(255,215,0,.12),rgba(233,30,140,.07))}
.pol-ico{font-size:2.4rem;margin-bottom:10px}
.pol-tit{font-family:var(--fh);font-size:1.05rem;margin-bottom:6px}
.pol-desc{color:rgba(255,255,255,.6);font-size:.8rem;line-height:1.55}
.pol-card:nth-child(1) .pol-tit{color:var(--rosa)}
.pol-card:nth-child(2) .pol-tit{color:var(--verde)}
.pol-card:nth-child(3) .pol-tit{color:var(--morado)}
.pol-card:nth-child(4) .pol-tit{color:var(--naranja)}
.pol-card:nth-child(5) .pol-tit{color:var(--azul)}
.pol-card:nth-child(6) .pol-tit{color:var(--amarillo)}

/* RECOMENDACIONES */
#recomendaciones{padding:80px 28px;background:linear-gradient(160deg,#0a1408 0%,#08060e 100%)}
.rec-grid{max-width:960px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.rec-card{border-radius:var(--rl);padding:32px 26px;border:1px solid rgba(255,255,255,.09);transition:transform .4s;position:relative;overflow:hidden}
.rec-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.rec-card:hover{transform:translateY(-8px)}
.rec-card:nth-child(1){background:linear-gradient(135deg,rgba(255,215,0,.12),rgba(255,107,43,.06))}
.rec-card:nth-child(1)::before{background:linear-gradient(90deg,var(--amarillo),var(--naranja))}
.rec-card:nth-child(2){background:linear-gradient(135deg,rgba(0,188,212,.12),rgba(46,204,113,.06))}
.rec-card:nth-child(2)::before{background:linear-gradient(90deg,var(--azul),var(--verde))}
.rec-card:nth-child(3){background:linear-gradient(135deg,rgba(233,30,140,.12),rgba(155,39,175,.06))}
.rec-card:nth-child(3)::before{background:linear-gradient(90deg,var(--rosa),var(--morado))}
.rec-ico{font-size:3rem;margin-bottom:16px;display:block}
.rec-tit{font-family:var(--fh);font-size:1.25rem;margin-bottom:10px}
.rec-card:nth-child(1) .rec-tit{color:var(--amarillo)}
.rec-card:nth-child(2) .rec-tit{color:var(--azul)}
.rec-card:nth-child(3) .rec-tit{color:var(--rosa)}
.rec-desc{color:rgba(255,255,255,.68);font-size:.86rem;line-height:1.7}

/* GALERÍA */
#galeria{padding:80px 28px;background:#050510;overflow:hidden}
.mqwrap{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.mqrow{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.mqtrack{display:flex;gap:14px;width:max-content;will-change:transform}
.mqL{animation:mqscrollL 42s linear infinite}
.mqR{animation:mqscrollR 42s linear infinite}
.mqrow:hover .mqtrack{animation-play-state:paused}
@keyframes mqscrollL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mqscrollR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.mqi{position:relative;flex:0 0 auto;width:360px;height:240px;border-radius:var(--r);overflow:hidden;background-size:cover;background-position:center;cursor:pointer;transition:transform .45s}
@media(hover:hover){.mqi:hover{transform:scale(1.04)}}
.giov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 55%);opacity:0;transition:opacity .4s;display:flex;align-items:flex-end;padding:15px}
@media(hover:hover){.mqi:hover .giov{opacity:1}}
.gicap{font-weight:700;font-size:.84rem}
@media(prefers-reduced-motion:reduce){.mqtrack{animation:none}}
/* gi::after removed - caused black overlay on mobile tap */

/* UBICACION */
#ubicacion{padding:80px 28px;background:linear-gradient(160deg,#07071a 0%,#001408 100%)}
.uloc{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:44px;align-items:start}
.uinfo h3{font-family:var(--fh);font-size:1.7rem;margin-bottom:6px;color:var(--amarillo)}
.uinfo .utag{color:rgba(255,255,255,.5);font-size:.84rem;margin-bottom:24px;display:block}
.urow{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}
.uico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}
.urow:nth-child(3) .uico{background:linear-gradient(135deg,var(--rosa),var(--naranja))}
.urow:nth-child(4) .uico{background:linear-gradient(135deg,var(--verde),var(--azul))}
.urow:nth-child(5) .uico{background:linear-gradient(135deg,var(--morado),var(--azul))}
.urow:nth-child(6) .uico{background:linear-gradient(135deg,var(--amarillo),var(--naranja))}
.ulbl{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.4);margin-bottom:3px}
.uval{font-weight:600;color:rgba(255,255,255,.86);font-size:.88rem;line-height:1.5}
.jessica{background:linear-gradient(135deg,rgba(233,30,140,.12),rgba(0,188,212,.08));border:1px solid rgba(233,30,140,.2);border-radius:var(--r);padding:14px 16px;font-size:.84rem;color:rgba(255,255,255,.78);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.umap{border-radius:var(--rl);overflow:hidden;height:420px;border:1px solid rgba(255,255,255,.09);box-shadow:0 20px 55px rgba(0,0,0,.55)}
.umap iframe{width:100%;height:100%;border:none;display:block}
.bgmaps{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:12px 22px;border-radius:30px;font-size:.84rem;font-weight:800;background:linear-gradient(135deg,var(--azul),var(--verde));color:#fff;transition:all .3s;border:none;cursor:pointer}
.bgmaps:hover{transform:translateY(-3px);box-shadow:0 0 30px rgba(0,188,212,.45)}

/* OPINIONES */
#opiniones{padding:80px 28px;background:linear-gradient(160deg,#07071a 0%,#12071a 100%)}
.rwrap{max-width:1100px;margin:0 auto;overflow:hidden}
@media(max-width:600px){
  .rtrack{align-items:stretch}
  .rcard{display:flex;flex-direction:column;justify-content:space-between;min-height:auto}
  .rtxt{font-size:.9rem;line-height:1.75;margin-bottom:16px;overflow:visible;display:block;white-space:normal;word-break:break-word}
  .rwrap{overflow:hidden;padding-bottom:4px}
}
.rtrack{display:flex;gap:20px;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.rcard{min-width:330px;flex-shrink:0;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:26px;backdrop-filter:blur(10px);transition:transform .3s;box-sizing:border-box;height:auto;overflow:visible}
@media(max-width:480px){
  .rcard{min-width:calc(100vw - 32px);max-width:calc(100vw - 32px);padding:20px 16px;box-sizing:border-box;height:auto;overflow:visible}
  .rtxt{white-space:normal;word-wrap:break-word;overflow:visible;max-height:none;height:auto;font-size:.88rem;line-height:1.7}
  .rwrap{overflow:hidden}
  .rtrack{align-items:flex-start}
}
.rcard:hover{transform:translateY(-5px)}
.rstars{color:var(--amarillo);font-size:1rem;margin-bottom:12px;letter-spacing:2px}
.rtxt{color:rgba(255,255,255,.74);line-height:1.7;margin-bottom:18px;font-size:.88rem;font-style:italic}
.rauth{display:flex;align-items:center;gap:12px}
.rav{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.rcard:nth-child(1) .rav{background:linear-gradient(135deg,var(--rosa),var(--naranja))}
.rcard:nth-child(2) .rav{background:linear-gradient(135deg,var(--verde),var(--azul))}
.rcard:nth-child(3) .rav{background:linear-gradient(135deg,var(--morado),var(--rojo))}
.rcard:nth-child(4) .rav{background:linear-gradient(135deg,var(--amarillo),var(--naranja))}
.rname{font-weight:700;font-size:.88rem}
.rfrom{font-size:.74rem;color:rgba(255,255,255,.4)}
.rdots{display:flex;justify-content:center;gap:8px;margin-top:28px}
.rd{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);cursor:pointer;transition:all .3s;border:none}
.rd.on{background:var(--rosa);width:25px;border-radius:5px;box-shadow:0 0 20px rgba(233,30,140,.5)}

/* FOOTER */
footer{background:#030310;padding:50px 28px 22px;border-top:1px solid rgba(255,255,255,.05);z-index:2;position:relative}
.ftop{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px;margin-bottom:38px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.06)}
.flogo{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.flogo img{height:52px;width:52px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,.05);padding:4px}
.flt .ft{background:linear-gradient(135deg,var(--amarillo),var(--rosa));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;display:block;font-family:var(--fh)}
.flt .fb2{background:linear-gradient(135deg,var(--azul),var(--verde));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:var(--fh);font-size:1.05rem}
.fbrand p{color:rgba(255,255,255,.4);font-size:.84rem;line-height:1.8;max-width:240px;margin-bottom:16px}
.socials{display:flex;gap:8px}
.soc{width:35px;height:35px;border-radius:10px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;font-size:.9rem;border:1px solid rgba(255,255,255,.09);transition:all .3s;color:#fff}
.soc svg{width:18px;height:18px}
.soc:hover svg{color:#fff}
.soc:hover{background:var(--rosa);transform:translateY(-3px)}
.fc h4{font-weight:800;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.33);margin-bottom:14px}
.fc ul{list-style:none}
.fc li{margin-bottom:8px}
.fc a{color:rgba(255,255,255,.5);font-size:.84rem;transition:color .3s}
.fc a:hover{color:var(--rosa)}
.fbot{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.25);font-size:.74rem;flex-wrap:wrap;gap:8px}
.fbot .hr{color:var(--rosa)}

/* WA FLOAT */
.wa{position:fixed;bottom:26px;right:26px;width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(37,211,102,.55);z-index:9999;transition:transform .3s}
.fab{position:fixed;right:26px;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:9999;transition:transform .3s}
.fab:hover{transform:scale(1.12)}
.fab-fb{bottom:98px;background:#1877F2;box-shadow:0 6px 22px rgba(24,119,242,.5)}
.fab-ig{bottom:170px;background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);box-shadow:0 6px 22px rgba(220,39,67,.5)}
.wa:hover{transform:scale(1.12)}
.wa::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2.5px solid #25D366;animation:waring 2s infinite}
@keyframes waring{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.5);opacity:0}}

/* CART */
#cov{position:fixed;inset:0;z-index:1100;display:none;align-items:flex-start;justify-content:flex-end;padding:78px 18px 18px;background:rgba(0,0,0,.65);backdrop-filter:blur(8px)}
#cov.open{display:flex}
.cpanel{width:380px;max-height:82vh;overflow-y:auto;background:#13131f;border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:24px;box-shadow:0 28px 75px rgba(0,0,0,.65)}
.cpanel h3{font-family:var(--fh);font-size:1.35rem;margin-bottom:18px;color:var(--amarillo)}
.citem{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.cname{font-weight:700;font-size:.84rem;margin-bottom:4px}
.cprice{font-family:var(--fh);font-size:.95rem;color:var(--rosa)}
.cqty{display:flex;align-items:center;gap:6px;margin-top:6px}
.cqty label{font-size:.7rem;color:rgba(255,255,255,.5);font-weight:700}
.cqty input{width:55px;padding:4px 8px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-family:var(--fb);font-size:.82rem;text-align:center}
.crm{background:none;border:none;color:rgba(255,255,255,.3);cursor:pointer;font-size:.75rem;transition:color .3s;padding:3px;margin-left:auto}
.crm:hover{color:var(--rojo)}
.cempty{text-align:center;color:rgba(255,255,255,.38);padding:28px 0;font-size:.86rem}
.ctotal{padding:14px 0;display:flex;justify-content:space-between;font-family:var(--fh);font-size:1.15rem;border-top:1px solid rgba(255,255,255,.08)}
.bcheckout{width:100%;padding:13px;margin-top:8px;background:linear-gradient(135deg,#25D366,#128C7E);border:none;border-radius:30px;color:#fff;font-family:var(--fb);font-size:.9rem;font-weight:800;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:7px}
.bcheckout:hover{transform:translateY(-2px);box-shadow:0 0 28px rgba(37,211,102,.45)}
.bclear{width:100%;margin-top:8px;padding:9px;background:rgba(229,57,53,.1);border:1px solid rgba(229,57,53,.25);border-radius:30px;color:rgba(229,57,53,.8);font-family:var(--fb);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .3s}
.bclear:hover{background:rgba(229,57,53,.2)}
.bclose-c{width:100%;margin-top:6px;padding:9px;background:none;border:1px solid rgba(255,255,255,.13);border-radius:30px;color:rgba(255,255,255,.52);font-family:var(--fb);font-size:.8rem;cursor:pointer;transition:all .3s}

/* MODAL */
#modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}
#modal.open{display:flex}
.mbox{width:100%;max-width:650px;max-height:88vh;overflow-y:auto;background:#12121f;border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);box-shadow:0 38px 95px rgba(0,0,0,.7)}
.mimg{height:230px;background-size:cover;background-position:center;position:relative}
.mimgo{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(18,18,31,1) 100%)}
.mbody{padding:26px 30px}
.mtit{font-family:var(--fh);font-size:1.75rem;margin-bottom:7px}
.mprice{font-family:var(--fh);font-size:1.4rem;margin-bottom:14px;color:var(--amarillo)}
.mdesc{color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.8;margin-bottom:18px}
.mtags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.mtag{background:rgba(255,255,255,.09);padding:4px 12px;border-radius:30px;font-size:.76rem;font-weight:700;color:rgba(255,255,255,.72)}
.mbtns{display:flex;gap:9px;flex-wrap:wrap}
.bmwa{flex:1;padding:12px;border-radius:30px;border:none;cursor:pointer;font-family:var(--fb);font-weight:800;font-size:.86rem;background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:6px}
.bmwa:hover{transform:translateY(-2px);box-shadow:0 0 25px rgba(37,211,102,.45)}
.bmcart{flex:1;padding:12px;border-radius:30px;border:none;cursor:pointer;font-family:var(--fb);font-weight:800;font-size:.86rem;background:linear-gradient(135deg,var(--rosa),var(--naranja));color:#fff;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:6px}
.bmcart:hover{transform:translateY(-2px);box-shadow:0 0 25px rgba(233,30,140,.45)}
.bmclose{padding:12px 20px;border-radius:30px;border:2px solid rgba(255,255,255,.16);cursor:pointer;font-family:var(--fb);font-weight:700;font-size:.86rem;background:transparent;color:rgba(255,255,255,.65);transition:all .3s}
.bmclose:hover{border-color:var(--rojo);color:var(--rojo)}

@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}

/* RESPONSIVE */
@media(max-width:1024px){
  .ajowrap,.uloc{grid-template-columns:1fr}
  .ftop{grid-template-columns:1fr 1fr}
  .cal-wrap{grid-template-columns:1fr}
}
@media(max-width:768px){
  #nav{padding:9px 14px}
  .nlinks{display:none;position:fixed;inset:0;background:rgba(8,12,20,.98);flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:900}
  .nlinks.open{display:flex}
  .nlinks a{font-size:1rem}
  .burg{display:flex}
  .hcon{padding:110px 14px 65px}
  .hbtns{gap:9px}
  .bpri,.bsec{padding:12px 22px;font-size:.86rem}
  #experiencias,#paquetes,#servicios,#ajolotario,#galeria,#ubicacion,#opiniones,#calendario,#politicas,#recomendaciones{padding:62px 14px}
  .egrid,.pgrid,.svgrid,.pol-grid,.rec-grid{grid-template-columns:1fr}
  .mqi{width:240px;height:165px}
  .mqL,.mqR{animation-duration:32s}
  .mbtns{flex-direction:column}
  .cpanel{width:100%}
  .hf{display:none}
  .nlt{display:none}
  .ajoimg-frame img{height:300px}
  .ftop{grid-template-columns:1fr;gap:20px}
  .fbot{flex-direction:column;text-align:center}
}

/* GALLERY LIGHTBOX */
#glb{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(6px)}
#glb.open{display:flex}
#glb img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:12px;box-shadow:0 0 60px rgba(0,0,0,.8);animation:glbIn .25s ease}
@keyframes glbIn{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
#glb-close{position:absolute;top:20px;right:20px;width:44px;height:44px;background:rgba(255,255,255,.15);border:none;border-radius:50%;color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);transition:background .3s}
#glb-close:hover{background:rgba(233,30,140,.6)}

