@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/n2-anton.woff2") format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url("/fonts/n2-baloo-2.woff2") format("woff2")}
@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/n2-press-start-2p.woff2") format("woff2")}
@font-face{font-family:"Pixelify Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/fonts/n2-pixelify-sans.woff2") format("woff2")}
@font-face{font-family:"Pirata One";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/n2-pirata-one.woff2") format("woff2")}
@font-face{font-family:"Orbitron";font-style:normal;font-weight:400 900;font-display:swap;src:url("/fonts/n2-orbitron.woff2") format("woff2")}
/* =============== FÚTBOL =============== */
[data-fx="futbol"] #fx{background:radial-gradient(ellipse 60% 40% at 8% 0,color-mix(in srgb,#fff 16%,transparent),#0000 70%),radial-gradient(ellipse 60% 40% at 92% 0,color-mix(in srgb,#fff 16%,transparent),#0000 70%),linear-gradient(180deg,var(--bg) 0,var(--bg) 55%,color-mix(in srgb,var(--c1) 55%,var(--bg)) 100%)}
[data-fx="futbol"] #fx::after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;background:repeating-linear-gradient(90deg,transparent 0 56px,color-mix(in srgb,var(--c2) 22%,transparent) 56px 112px);-webkit-mask:linear-gradient(transparent,#000);mask:linear-gradient(transparent,#000);animation:fut-pan 8s linear infinite}
@keyframes fut-pan{to{background-position:112px 0}}
[data-tpl="futbol"] .escena svg text{paint-order:stroke}
.fut-fan{animation:fut-ola 2.4s ease-in-out infinite}
@keyframes fut-ola{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.fut-flash{animation:fut-fl 2.2s steps(1) infinite;opacity:0}
@keyframes fut-fl{0%{opacity:0}6%{opacity:1}12%,100%{opacity:0}}
.fut-ban{animation:fut-bn 2.6s ease-in-out infinite;transform-origin:0 0}
.fut-lamp{animation:fut-lm 1.8s ease-in-out infinite}
@keyframes fut-lm{0%,100%{opacity:1}50%{opacity:.55}}
.fut-beam{transform-origin:0 0}
.fut-beam.fb-l{animation:fut-swl 6s ease-in-out infinite alternate}
.fut-beam.fb-r{animation:fut-swr 6s ease-in-out infinite alternate}
@keyframes fut-swl{from{transform:rotate(-14deg)}to{transform:rotate(30deg)}}
@keyframes fut-swr{from{transform:rotate(14deg)}to{transform:rotate(-30deg)}}
.fut-mow{animation:fut-mw 4s ease-in-out infinite alternate;opacity:.9}
.fut-mow2{animation-delay:-4s;opacity:.15}
@keyframes fut-mw{from{opacity:.95}to{opacity:.1}}
.fut-halo{animation:pulsa 3s ease-in-out infinite;transform-origin:200px 146px}
.fut-rays{animation:fut-rot 40s linear infinite}
@keyframes fut-rot{to{transform:rotate(360deg)}}
.fut-swing{transform-origin:0 -62px;animation:fut-sw 3.6s ease-in-out infinite}
@keyframes fut-sw{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.fut-t1{animation:fut-a 4s steps(1) infinite}.fut-t2{animation:fut-b 4s steps(1) infinite}
@keyframes fut-a{0%{opacity:1}50%{opacity:0}}@keyframes fut-b{0%{opacity:0}50%{opacity:1}}
.fut-flag{transform-box:fill-box;transform-origin:0 50%;animation:fut-fg .9s ease-in-out infinite alternate}
@keyframes fut-fg{from{transform:skewY(-8deg) scaleX(1)}to{transform:skewY(8deg) scaleX(.82)}}
.fut-bounce{animation:fut-bn2 1.5s cubic-bezier(.33,0,.66,1) infinite;transform-origin:0 20px}
@keyframes fut-bn2{0%,100%{transform:translateY(0) scale(1.18,.8)}10%{transform:translateY(-6px) scale(1,1)}50%{transform:translateY(-70px) scale(1,1)}90%{transform:translateY(-6px) scale(1,1)}}
.fut-shd{animation:fut-sh 1.5s cubic-bezier(.33,0,.66,1) infinite;transform-box:fill-box;transform-origin:center}
@keyframes fut-sh{0%,100%{transform:scale(1.25);opacity:.35}50%{transform:scale(.55);opacity:.12}}
.fut-spin{animation:fut-rot 2.4s linear infinite}
.fut-tw{animation:fut-tw 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes fut-tw{0%,100%{transform:scale(.3) rotate(0);opacity:.2}50%{transform:scale(1) rotate(45deg);opacity:1}}
@keyframes fut-bn{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.fut-ban{animation-name:fut-bn}
/* nombre */
[data-tpl="futbol"] .eyebrow{display:inline-block;font-family:var(--f-head);letter-spacing:.14em;font-size:1rem;padding:.4rem 1.1rem;background:var(--accent);color:var(--btn-ink);transform:skewX(-10deg);opacity:1;margin-top:.3rem}
[data-tpl="futbol"] .nombre{font-family:var(--f-head);text-transform:uppercase;line-height:1;letter-spacing:.015em;font-size:min(var(--name-size),15vw);color:var(--ink);text-shadow:0 2px 0 var(--c3),0 5px 0 color-mix(in srgb,var(--c3) 60%,#000),0 12px 18px #0008;margin:.8rem 0 .3rem}
[data-tpl="futbol"] .nombre::after{content:"";display:block;width:62%;height:11px;margin:.7rem auto 0;background:linear-gradient(90deg,var(--c3) 0 33%,var(--c4) 33% 66%,var(--c3) 66%);transform:skewX(-20deg);box-shadow:0 3px 0 #0006}
[data-tpl="futbol"] .titulo{font-family:var(--f-head);font-size:1.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);margin-top:.9rem}
.f-fut{--ar:4/5;padding:9px;background:var(--ink);transform:rotate(-2deg);box-shadow:8px 8px 0 var(--c3),0 18px 40px #0007;border-radius:4px}
.f-fut::before{content:"";position:absolute;inset:-14px 12px auto auto;width:46px;height:46px;border-radius:50%;background:#fff radial-gradient(circle,#1d2230 0 22%,#0000 24%);border:3px solid #1d2230;z-index:2;animation:fut-spin2 3s linear infinite}
@keyframes fut-spin2{to{transform:rotate(360deg)}}
.f-fut img{border:2px solid var(--bg)}
[data-tpl="futbol"] .fecha{background:#090c12;border:2px solid var(--accent);padding:.9rem 1.4rem;border-radius:6px;box-shadow:0 0 0 4px #090c12,0 0 26px color-mix(in srgb,var(--accent) 45%,transparent);margin-top:1.6rem;position:relative}
[data-tpl="futbol"] .fecha .dia{font-family:var(--f-head);color:var(--accent-2);text-shadow:0 0 14px var(--accent-2);font-size:5.2rem}
[data-tpl="futbol"] .fecha span{color:var(--ink)}[data-tpl="futbol"] .fecha .dia{color:var(--accent-2)}
[data-tpl="futbol"] .fecha span:not(.dia){font-family:var(--f-head);letter-spacing:.16em;font-size:1.05rem}
[data-tpl="futbol"] .hora{font-family:var(--f-head);font-size:1.3rem;color:var(--accent-2);letter-spacing:.2em}
[data-tpl="futbol"] .cuenta div{background:#090c12;border:1px solid var(--accent);border-radius:4px;color:var(--accent-2)}
[data-tpl="futbol"] .cuenta b{font-family:var(--f-head);font-weight:400;color:var(--accent-2);text-shadow:0 0 10px var(--accent-2);font-size:1.9rem}
[data-tpl="futbol"] .cuenta span{color:var(--ink);opacity:.85}
[data-tpl="futbol"] .mensaje{font-style:normal;font-weight:600;font-size:1.1rem;line-height:1.6}
[data-tpl="futbol"] h2.sec{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.08em;font-size:2.2rem;color:var(--ink);display:inline-block;position:relative;padding:0 .4rem;text-shadow:3px 3px 0 var(--c3)}
[data-tpl="futbol"] .programa::before{background:repeating-linear-gradient(var(--ink) 0 6px,transparent 6px 12px);opacity:.5;width:2px}
[data-tpl="futbol"] .programa time{font-family:var(--f-head);font-weight:400;font-size:1.2rem;letter-spacing:.06em;color:var(--accent-2)}
[data-tpl="futbol"] .programa span::before{border-radius:0;background:var(--ink);transform:rotate(45deg);width:8px;height:8px}
[data-tpl="futbol"] .nombre-lugar{font-family:var(--f-head);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:1.7rem;color:var(--accent-2)}
[data-tpl="futbol"] .btn{font-family:var(--f-head);letter-spacing:.12em;font-weight:400;border-radius:3px;transform:skewX(-10deg);box-shadow:4px 4px 0 var(--c3);font-size:1.05rem}
[data-tpl="futbol"] .btn.ghost{color:var(--ink);border:2px solid var(--accent);box-shadow:4px 4px 0 #0006}
[data-tpl="futbol"] .galeria img{border-radius:3px;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--c3)}
[data-tpl="futbol"] .galeria img:nth-child(3n+1){border-radius:3px;aspect-ratio:1}
[data-tpl="futbol"] .galeria img:nth-child(even){transform:rotate(1.5deg)}[data-tpl="futbol"] .galeria img:nth-child(odd){transform:rotate(-1.5deg)}
[data-tpl="futbol"] form{border-radius:4px;border-left:8px solid var(--c3);border-top:2px solid var(--accent);box-shadow:0 0 0 1px #0004}
[data-tpl="futbol"] label{font-family:var(--f-head);font-size:.95rem;letter-spacing:.14em;opacity:1;color:var(--accent-2)}
[data-tpl="futbol"] input[type=text],[data-tpl="futbol"] textarea{border-radius:3px}
[data-tpl="futbol"] .cierre .nombre-cierre,[data-tpl="futbol"] .gracias .script{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}
/* sobre */
[data-tpl="futbol"] #sobre::before,[data-tpl="futbol"] #sobre::after{content:"";position:absolute;top:-10%;width:60vmax;height:90vmax;background:linear-gradient(#fff3,#fff0 70%);clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);transform-origin:50% 0;pointer-events:none}
[data-tpl="futbol"] #sobre::before{left:-18vmax;animation:fut-sl 6s ease-in-out infinite alternate}[data-tpl="futbol"] #sobre::after{right:-18vmax;animation:fut-sr 6s ease-in-out infinite alternate}
@keyframes fut-sl{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}@keyframes fut-sr{from{transform:rotate(20deg)}to{transform:rotate(-20deg)}}
[data-tpl="futbol"] .sobre-wrap{position:relative;z-index:1}
[data-tpl="futbol"] #sobre{overflow:hidden;background:radial-gradient(ellipse at 50% 105%,color-mix(in srgb,var(--c2) 70%,var(--bg)),transparent 60%),repeating-linear-gradient(90deg,transparent 0 48px,color-mix(in srgb,var(--c2) 14%,transparent) 48px 96px),linear-gradient(var(--bg),color-mix(in srgb,var(--c1) 50%,var(--bg)))}
[data-tpl="futbol"] .sobre-wrap .para{font-family:var(--f-head);letter-spacing:.3em;color:var(--accent-2);opacity:1;font-size:1.05rem}
[data-tpl="futbol"] .sobre-wrap h1{font-family:var(--f-head);text-transform:uppercase;font-size:min(2.8rem,13vw);color:var(--ink);text-shadow:0 3px 0 var(--c3);line-height:1.05}
[data-tpl="futbol"] #abrir{font-family:var(--f-head);letter-spacing:.14em;font-weight:400;border-radius:3px;transform:skewX(-10deg);box-shadow:4px 4px 0 var(--c3)}
.sobre-futbol{position:relative;width:220px;height:210px;margin:0 auto}
.sobre-futbol .fb-ball{position:absolute;left:25px;top:20px;width:170px;height:170px;animation:fut-sb 1.4s cubic-bezier(.33,0,.66,1) infinite}
.sobre-futbol .fb-half{position:absolute;inset:0;transition:transform .5s cubic-bezier(.3,1.5,.5,1),opacity .4s .5s}
.sobre-futbol .fb-top{clip-path:inset(0 0 50% 0);transform-origin:0 50%}.sobre-futbol .fb-bot{clip-path:inset(50% 0 0 0);transform-origin:50% 100%}
.sobre-futbol .fb-svg{width:100%;height:100%;filter:drop-shadow(0 6px 8px #0006)}
.sobre-futbol .fut-spin{animation-duration:5s}
.sobre-futbol .fb-shd{position:absolute;left:45px;bottom:2px;width:130px;height:16px;border-radius:50%;background:#000;opacity:.3;animation:fut-ssh 1.4s cubic-bezier(.33,0,.66,1) infinite}
@keyframes fut-sb{0%,100%{transform:translateY(0) scale(1.12,.86);transform-origin:50% 100%}12%{transform:translateY(-4px) scale(1)}50%{transform:translateY(-26px) rotate(8deg)}88%{transform:translateY(-4px) scale(1)}}
@keyframes fut-ssh{0%,100%{transform:scale(1)}50%{transform:scale(.65);opacity:.15}}
.sobre-futbol.open .fb-ball{animation:none}.sobre-futbol.open .fb-shd{animation:none;opacity:0;transition:opacity .3s}
.sobre-futbol.open .fb-top{transform:translate(-10px,-130px) rotate(-40deg);opacity:0}
.sobre-futbol.open .fb-bot{transform:scale(1.18,.25);opacity:0}
.fb-cf{position:absolute;left:50%;top:104px;width:0;height:0}
.fb-cf i{position:absolute;left:-5px;top:-8px;width:10px;height:16px;border-radius:2px;background:var(--k);opacity:0;transform:scale(0)}
.sobre-futbol.open .fb-cf i{animation:fut-cf .95s cubic-bezier(.15,.8,.3,1) forwards}
@keyframes fut-cf{0%{opacity:1;transform:translate(0,0) scale(.3) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--x),calc(var(--y) + 70px)) scale(1) rotate(var(--r))}}
.fb-pop{position:absolute;left:0;right:0;top:70px;text-align:center;font-family:var(--f-head);font-weight:400;font-size:3.2rem;color:var(--accent-2);text-shadow:0 3px 0 var(--c3);opacity:0;transform:scale(.2)}
.sobre-futbol.open .fb-pop{animation:fut-pop .9s .15s cubic-bezier(.3,1.7,.5,1) forwards}
@keyframes fut-pop{0%{opacity:0;transform:scale(.2) rotate(-8deg)}40%{opacity:1;transform:scale(1.15) rotate(-6deg)}100%{opacity:0;transform:scale(1.4) rotate(-6deg)}}
@media (prefers-reduced-motion:reduce){[data-fx="futbol"] #fx::after,.f-fut::before{animation:none}}
/* =============== SAFARI =============== */
[data-fx="safari"] #fx{background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--c4) 45%,transparent),#0000 60%),radial-gradient(circle at 12% 70%,color-mix(in srgb,var(--c2) 16%,transparent) 0 90px,#0000 92px),radial-gradient(circle at 92% 40%,color-mix(in srgb,var(--c1) 18%,transparent) 0 70px,#0000 72px),radial-gradient(circle at 80% 90%,color-mix(in srgb,var(--c2) 14%,transparent) 0 100px,#0000 102px),var(--bg)}
.sf-ink{fill:color-mix(in srgb,var(--ink) 55%,transparent)}
.sf-h1{fill:color-mix(in srgb,var(--c2) 38%,var(--soft))}.sf-h2{fill:color-mix(in srgb,var(--c2) 62%,var(--soft))}
.sf-trunk{fill:color-mix(in srgb,var(--c2) 40%,#2a1a10);stroke:color-mix(in srgb,var(--c2) 40%,#2a1a10)}
.sf-leaf{fill:color-mix(in srgb,var(--c2) 85%,#000)}.sf-leaf2{fill:var(--c2)}
.sf-g1{fill:color-mix(in srgb,var(--c2) 80%,#000);animation:sf-sway 4.4s ease-in-out infinite;transform-origin:50% 100%}
.sf-g2{fill:color-mix(in srgb,var(--c2) 100%,#fff 0%);animation:sf-sway 3.6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sf-sway{0%,100%{transform:translateX(-3px) skewX(-1.5deg)}50%{transform:translateX(3px) skewX(1.5deg)}}
.sf-gi{fill:var(--c1)}.sf-snout{fill:color-mix(in srgb,var(--c1) 60%,#fff)}
.sf-mane{fill:color-mix(in srgb,var(--c1) 50%,#3a1a00);stroke:color-mix(in srgb,var(--c1) 50%,#3a1a00)}
.sf-spot{fill:color-mix(in srgb,var(--c1) 58%,#3a1a00)}
.sf-el{fill:var(--c3)}.sf-el2{fill:color-mix(in srgb,var(--c3) 82%,#000)}
.sf-lm{fill:color-mix(in srgb,var(--c1) 62%,#4a1a00)}.sf-lf{fill:color-mix(in srgb,var(--c4) 75%,#fff)}
.sf-sun{animation:pulsa 3.4s ease-in-out infinite}.sf-sun2{animation-delay:-1.4s}
.sf-sunrays{animation:gira 50s linear infinite}
.sf-frond{transform-origin:0 0;animation:sf-fr 5s ease-in-out infinite}
@keyframes sf-fr{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}
.sf-bird{animation:sf-fly 16s linear infinite;transform:translateX(-40px)}
@keyframes sf-fly{0%{transform:translate(-40px,0)}25%{transform:translate(100px,-12px)}50%{transform:translate(240px,6px)}75%{transform:translate(340px,-10px)}100%{transform:translate(460px,0)}}
.sf-wing{animation:sf-wg .5s ease-in-out infinite alternate;transform-origin:0 0}
@keyframes sf-wg{from{transform:scaleY(1)}to{transform:scaleY(-.6)}}
.sf-neck{transform-origin:0 0;animation:sf-nk 5s ease-in-out infinite}
@keyframes sf-nk{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
.sf-head{transform-origin:6px -145px;animation:sf-hd 3.4s ease-in-out infinite}
@keyframes sf-hd{0%,100%{transform:rotate(0)}40%{transform:rotate(-7deg)}70%{transform:rotate(5deg)}}
.sf-ear{transform-box:fill-box;transform-origin:100% 50%;animation:sf-ef 2.8s ease-in-out infinite}
@keyframes sf-ef{0%,80%,100%{transform:rotate(0)}88%{transform:rotate(-22deg)}94%{transform:rotate(6deg)}}
.sf-blink{transform-box:fill-box;transform-origin:center;animation:parpadea 4.2s infinite}
.sf-ear2{transform-box:fill-box;transform-origin:100% 50%;animation:sf-e2 2.2s ease-in-out infinite}
@keyframes sf-e2{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.72)}}
.sf-trunk-w{transform-origin:-66px -10px;animation:sf-tr 3s ease-in-out infinite}
@keyframes sf-tr{0%,100%{transform:rotate(6deg)}50%{transform:rotate(-14deg)}}
.sf-tail-w{transform-origin:60px -10px;animation:sf-tl 1.6s ease-in-out infinite alternate}
@keyframes sf-tl{from{transform:rotate(-8deg)}to{transform:rotate(12deg)}}
.sf-lion{animation:sf-lb 3.2s ease-in-out infinite}
@keyframes sf-lb{0%,100%{transform:translateY(8px) scale(1)}50%{transform:translateY(-3px) scale(1.03)}}
.sf-mane-r{animation:sf-mr 2.4s ease-in-out infinite;transform-origin:0 0}
@keyframes sf-mr{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.07) rotate(8deg)}}
.sf-paw{animation:sf-pw 4.2s ease-in-out infinite;opacity:0}
@keyframes sf-pw{0%{opacity:0}15%,50%{opacity:.7}80%,100%{opacity:0}}
/* texto */
[data-tpl="safari"] .eyebrow{display:inline-block;font-family:var(--f-head);font-weight:700;letter-spacing:.06em;text-transform:none;font-size:1.05rem;padding:.35rem 1.3rem;background:var(--c2);color:#fff;border-radius:999px 8px 999px 8px;opacity:1;box-shadow:0 4px 0 color-mix(in srgb,var(--c2) 60%,#000)}
[data-tpl="safari"] .nombre{font-family:var(--f-head);font-weight:800;color:var(--accent);line-height:.95;margin:.7rem 0 .3rem;font-size:min(var(--name-size),15.5vw);transform:rotate(-2deg);text-shadow:0 2px 0 var(--bg),3px 4px 0 var(--accent-2),5px 7px 0 color-mix(in srgb,var(--accent-2) 55%,var(--ink))}
[data-tpl="safari"] .titulo{font-family:var(--f-head);font-weight:700;color:var(--ink);font-size:1.7rem}
[data-tpl="safari"] .edad-num{font-family:var(--f-head);font-weight:800;background:var(--c2);color:#fff;box-shadow:0 0 0 5px var(--bg),0 0 0 8px var(--c2),8px 8px 0 8px color-mix(in srgb,var(--c2) 50%,transparent)}
[data-tpl="safari"] .edad-lbl{color:var(--ink);font-family:var(--f-head)}
.f-safari{--ar:1;width:min(80%,300px);border-radius:46% 54% 50% 50%/56% 44% 56% 44%;padding:0;border:8px solid var(--c2);box-shadow:0 0 0 5px var(--bg),0 0 0 9px var(--accent-2),0 18px 36px #0003;overflow:hidden;animation:sf-blob 7s ease-in-out infinite alternate;background:var(--soft)}
@keyframes sf-blob{from{border-radius:46% 54% 50% 50%/56% 44% 56% 44%}to{border-radius:56% 44% 46% 54%/46% 56% 44% 54%}}
[data-tpl="safari"] .fecha .dia{font-family:var(--f-head);font-weight:800;background:var(--accent);box-shadow:0 0 0 4px var(--bg),0 0 0 7px var(--accent),6px 8px 0 7px var(--accent-2);width:104px;height:104px}
[data-tpl="safari"] .fecha span:not(.dia){font-family:var(--f-head);font-weight:700;letter-spacing:.14em}
[data-tpl="safari"] .cuenta div{border-radius:20px 8px 20px 8px;background:var(--card);border:2px dashed var(--accent)}
[data-tpl="safari"] .cuenta b{font-family:var(--f-head);font-weight:800;color:var(--accent)}
[data-tpl="safari"] .mensaje{font-style:normal;font-weight:600;font-size:1.2rem}
[data-tpl="safari"] h2.sec{font-family:var(--f-head);font-weight:800;color:var(--accent);font-size:2.4rem;text-shadow:2px 3px 0 var(--accent-2)}
[data-tpl="safari"] .programa::before{background:none;border-left:3px dotted var(--c2);opacity:.8;width:0}
[data-tpl="safari"] .programa time{font-family:var(--f-head);font-weight:800;color:var(--accent);font-size:1.1rem}
[data-tpl="safari"] .programa span::before{background:var(--c2);border-radius:70% 0 70% 0;width:12px;height:12px;left:-.42rem}
[data-tpl="safari"] .nombre-lugar{font-family:var(--f-head);font-weight:800;color:var(--c2);font-size:1.7rem}
[data-tpl="safari"] .btn{font-family:var(--f-head);font-weight:800;letter-spacing:.04em;text-transform:none;font-size:1.15rem;box-shadow:0 5px 0 color-mix(in srgb,var(--accent) 60%,#000)}
[data-tpl="safari"] .btn:active{transform:translateY(3px);box-shadow:0 2px 0 color-mix(in srgb,var(--accent) 60%,#000)}
[data-tpl="safari"] .btn.ghost{border:2.5px solid var(--accent);color:var(--ink);box-shadow:none}
[data-tpl="safari"] .galeria img{border:5px solid var(--bg);outline:3px solid var(--c2);border-radius:30px 12px 30px 12px;box-shadow:0 8px 18px #0003}
[data-tpl="safari"] .galeria img:nth-child(3n+1){border-radius:30px 12px 30px 12px;aspect-ratio:1}
[data-tpl="safari"] .galeria img:nth-child(even){border-radius:12px 30px 12px 30px}
[data-tpl="safari"] form{border-radius:28px 10px 28px 10px;border:3px dashed var(--c2);box-shadow:none}
[data-tpl="safari"] label{font-family:var(--f-head);font-weight:700;letter-spacing:.04em;text-transform:none;font-size:1rem;opacity:1;color:var(--c2)}
[data-tpl="safari"] .cierre .nombre-cierre,[data-tpl="safari"] .gracias .script{font-family:var(--f-head);font-weight:800;color:var(--accent)}
/* sobre: botella con mensaje */
[data-tpl="safari"] #sobre{background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--c4) 70%,transparent) 0 70px,#0000 72px),linear-gradient(var(--bg) 0,color-mix(in srgb,var(--accent-2) 50%,var(--bg)) 55%,color-mix(in srgb,var(--c2) 45%,var(--bg)) 100%)}
[data-tpl="safari"] .sobre-wrap .para{font-family:var(--f-head);font-weight:700;color:var(--ink);opacity:1;letter-spacing:.14em}
[data-tpl="safari"] .sobre-wrap h1{font-family:var(--f-head);font-weight:800;color:var(--accent);font-size:min(2.9rem,13vw);text-shadow:2px 3px 0 var(--accent-2);margin-bottom:.8rem}
[data-tpl="safari"] #abrir{font-family:var(--f-head);font-weight:800;text-transform:none;font-size:1.15rem;box-shadow:0 5px 0 color-mix(in srgb,var(--accent) 60%,#000)}
.sobre-safari{position:relative;width:240px;height:230px;margin:0 auto}
.sfb-wave{position:absolute;left:-10px;right:-10px;bottom:6px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--c2) 55%,#7fd6e8);opacity:.75;box-shadow:inset 0 6px 0 #fff4;animation:sfb-w 2.4s ease-in-out infinite alternate}
@keyframes sfb-w{from{transform:scaleX(1)}to{transform:scaleX(1.06) translateY(2px)}}
.sfb-bottle{position:absolute;left:78px;top:6px;width:84px;height:210px;transform:rotate(-14deg);animation:sfb-b 3s ease-in-out infinite;transform-origin:50% 90%}
@keyframes sfb-b{0%,100%{transform:rotate(-14deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}
.sfb-body{position:absolute;left:-14px;right:-14px;bottom:0;height:150px;border-radius:30px 30px 34px 34px;background:linear-gradient(90deg,#ffffff66,#ffffff1a 40%,#ffffff40);border:3px solid #ffffffcc;background-color:color-mix(in srgb,var(--c2) 30%,#bfeeff88);box-shadow:inset 0 0 18px #fff8}
.sfb-body b{position:absolute;bottom:8px;width:8px;height:8px;border-radius:50%;border:1.5px solid #fff;opacity:0;animation:sfb-bb 3s ease-in infinite}
.sfb-body b:nth-child(2){left:20px}.sfb-body b:nth-child(3){left:44px;animation-delay:-1s}.sfb-body b:nth-child(4){left:60px;animation-delay:-2s}
@keyframes sfb-bb{0%{opacity:.9;transform:translateY(0)}100%{opacity:0;transform:translateY(-60px)}}
.sfb-glint{position:absolute;left:10px;top:12px;width:9px;height:70px;border-radius:9px;background:#fff;opacity:.55;animation:sfb-g 2.6s ease-in-out infinite}
@keyframes sfb-g{50%{opacity:.15}}
.sfb-neck{position:absolute;left:24px;right:24px;top:30px;height:60px;border:3px solid #ffffffcc;border-bottom:0;background:#ffffff33;border-radius:10px 10px 0 0}
.sfb-cork{position:absolute;left:22px;right:22px;top:12px;height:26px;border-radius:6px;background:linear-gradient(var(--accent-2),var(--accent));box-shadow:0 3px 0 #0003;z-index:3;transition:transform .5s cubic-bezier(.2,1.4,.5,1),opacity .4s .4s}
.sfb-scroll{position:absolute;left:22px;right:22px;top:92px;height:92px;background:#fff3d6;border-radius:6px;border:2px solid var(--accent-2);z-index:2;display:grid;place-items:center;transition:transform .7s cubic-bezier(.3,1.3,.5,1);box-shadow:0 0 0 3px #0000}
.sfb-scroll span{writing-mode:vertical-rl;font-family:var(--f-head);font-weight:800;color:#6a3a14;font-size:.85rem;letter-spacing:.06em}
.sobre-safari.open .sfb-cork{transform:translate(30px,-90px) rotate(40deg);opacity:0}
.sobre-safari.open .sfb-scroll{transform:translateY(-150px) scale(1.2);animation:sfb-s .8s forwards}
@keyframes sfb-s{to{opacity:0}}
.sobre-safari.open .sfb-bottle{animation:none;transform:rotate(-24deg) translateY(10px)}
.sfb-sparks{position:absolute;left:50%;top:60px}
.sfb-sparks i{position:absolute;width:10px;height:10px;background:var(--accent-2);border-radius:2px;transform:rotate(45deg);opacity:0}
.sobre-safari.open .sfb-sparks i{animation:sfb-sp .8s ease-out forwards}
@keyframes sfb-sp{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(.5)}100%{opacity:0;transform:rotate(var(--a)) translateY(-110px) scale(1.2)}}
@media (prefers-reduced-motion:reduce){.f-safari{animation:none}}
/* =============== PIXEL =============== */
[data-fx="pixel"] #fx{background:linear-gradient(color-mix(in srgb,var(--c2) 18%,transparent) 1px,transparent 1px) 0 0/100% 32px,linear-gradient(90deg,color-mix(in srgb,var(--c2) 18%,transparent) 1px,transparent 1px) 0 0/32px 100%,radial-gradient(circle at 50% 0,color-mix(in srgb,var(--c1) 22%,transparent),#0000 55%),var(--bg);animation:pxl-grid 3s linear infinite}
@keyframes pxl-grid{to{background-position:0 32px,32px 0,0 0,0 0}}
[data-fx="pixel"] #fx::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(#0000 0 2px,#00000014 2px 4px)}
.pxl-hero{animation:pxl-run 9s linear infinite}
.pxl-la{animation:pxl-leg .36s steps(1) infinite}.pxl-lb{animation:pxl-leg .36s steps(1) infinite reverse;opacity:0}
@keyframes pxl-leg{0%{opacity:1}50%{opacity:0}}
.pxl-lb{animation:pxl-leg2 .36s steps(1) infinite}@keyframes pxl-leg2{0%{opacity:0}50%{opacity:1}}
.pxl-scroll{animation:pxl-sc 1.2s steps(6) infinite}
@keyframes pxl-sc{to{transform:translateX(-24px)}}
.pxl-coin{animation:pxl-bob 1.4s steps(4) infinite}
@keyframes pxl-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.pxl-cb{transform-box:fill-box;transform-origin:center;animation:pxl-spin 1s steps(1) infinite}
@keyframes pxl-spin{0%{transform:scaleX(1)}25%{transform:scaleX(.55)}50%{transform:scaleX(.15)}75%{transform:scaleX(.55)}}
.pxl-slime{animation:pxl-pat 8s linear infinite}
@keyframes pxl-pat{0%,100%{transform:translateX(150px)}50%{transform:translateX(250px)}}
.pxl-sl2{animation:pxl-hop .9s steps(5) infinite}
@keyframes pxl-hop{0%,100%{transform:translateY(0) scaleY(.85)}40%{transform:translateY(-14px) scaleY(1.1)}}
.pxl-sl2{transform-box:fill-box;transform-origin:50% 100%}
.pxl-cl{animation:pxl-cld 40s linear infinite}
@keyframes pxl-cld{from{transform:translateX(-120px)}to{transform:translateX(480px)}}
.pxl-hb{animation:pxl-blink 1s steps(1) infinite}
@keyframes pxl-blink{0%{opacity:1}50%{opacity:.15}}
.pxl-nv{animation:pxl-nv 1.4s steps(1) infinite}
@keyframes pxl-nv{0%{fill:var(--accent-2)}50%{fill:var(--ink)}}
.pxl-xp{transform-origin:113px 0;transform-box:view-box;animation:pxl-xp 5s steps(12) infinite}
@keyframes pxl-xp{0%{transform:scaleX(.04)}90%,100%{transform:scaleX(1)}}
/* texto */
[data-tpl="pixel"] body,[data-tpl="pixel"]{font-family:var(--f-body)}
[data-tpl="pixel"] .eyebrow{font-family:var(--f-head);font-size:.62rem;letter-spacing:.12em;line-height:1.7;color:var(--accent-2);opacity:1;text-transform:uppercase;display:inline-block;background:#1a1030;padding:.55rem .9rem;box-shadow:0 0 0 3px var(--accent-2)}
[data-tpl="pixel"] .eyebrow::before{content:"▶ "}
[data-tpl="pixel"] .nombre{font-family:var(--f-head);text-transform:uppercase;font-size:min(var(--name-size),8.4vw);line-height:1.35;color:var(--ink);overflow-wrap:anywhere;text-shadow:3px 3px 0 var(--accent),6px 6px 0 #1a1030;margin:1.3rem 0 .6rem;letter-spacing:0}
[data-tpl="pixel"] .titulo{font-family:var(--f-head);font-size:.8rem;line-height:1.8;color:var(--accent-2);text-transform:uppercase;letter-spacing:.04em;max-width:92%;margin:.6rem auto 0}
.f-pixel{--ar:1;padding:10px;background:var(--accent);image-rendering:pixelated;clip-path:polygon(0 12px,6px 12px,6px 6px,12px 6px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 6px),6px calc(100% - 6px),6px calc(100% - 12px),0 calc(100% - 12px));animation:pxl-fr 1.2s steps(1) infinite}
@keyframes pxl-fr{0%{background:var(--accent)}50%{background:var(--accent-2)}}
.f-pixel img{border:4px solid #1a1030}
[data-tpl="pixel"] .fecha{background:#1a1030;padding:1rem 1.2rem;position:relative;box-shadow:0 0 0 4px var(--c1),0 0 0 8px #1a1030,8px 8px 0 8px var(--accent);margin-top:1.8rem}
[data-tpl="pixel"] .fecha .dia{font-family:var(--f-head);font-size:3rem;color:var(--accent-2);line-height:1.1}
[data-tpl="pixel"] .fecha span:not(.dia){font-family:var(--f-head);font-size:.7rem;line-height:1.8;letter-spacing:.06em;color:var(--ink)}
[data-tpl="pixel"] .hora{font-family:var(--f-head);font-size:.8rem;color:var(--accent-2);margin-top:1.3rem}
[data-tpl="pixel"] .cuenta div{background:#1a1030;border-radius:0;box-shadow:0 0 0 3px var(--c1);min-width:70px}
[data-tpl="pixel"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.3rem;color:var(--accent-2);padding:.2rem 0}
[data-tpl="pixel"] .cuenta span{font-family:var(--f-head);font-size:.45rem;color:var(--ink);opacity:1;letter-spacing:.05em}
[data-tpl="pixel"] .mensaje{font-style:normal;font-size:1.25rem;line-height:1.55}
[data-tpl="pixel"] h2.sec{font-family:var(--f-head);font-size:1.05rem;line-height:1.6;color:var(--accent-2);text-transform:uppercase;text-shadow:3px 3px 0 #1a1030;letter-spacing:.04em}
[data-tpl="pixel"] h2.sec::before{content:"★ "}[data-tpl="pixel"] h2.sec::after{content:" ★"}
[data-tpl="pixel"] .programa::before{background:repeating-linear-gradient(var(--c1) 0 6px,transparent 6px 12px);opacity:.7;width:3px}
[data-tpl="pixel"] .programa time{font-family:var(--f-head);font-size:.62rem;color:var(--accent);font-weight:400}
[data-tpl="pixel"] .programa span{font-size:1.15rem}
[data-tpl="pixel"] .programa span::before{border-radius:0;background:var(--accent);width:8px;height:8px;left:-.3rem}
[data-tpl="pixel"] .nombre-lugar{font-family:var(--f-head);font-size:.9rem;line-height:1.6;color:var(--accent);font-weight:400}
[data-tpl="pixel"] .btn{font-family:var(--f-head);font-size:.62rem;line-height:1.5;letter-spacing:.05em;border-radius:0;padding:1rem 1.2rem;box-shadow:0 -4px 0 0 #1a1030,0 4px 0 0 #1a1030,-4px 0 0 0 #1a1030,4px 0 0 0 #1a1030,0 8px 0 0 color-mix(in srgb,var(--accent) 55%,#000);margin:4px 4px 8px}
[data-tpl="pixel"] .btn:active{transform:translateY(4px);box-shadow:0 -4px 0 0 #1a1030,0 4px 0 0 #1a1030,-4px 0 0 0 #1a1030,4px 0 0 0 #1a1030}
[data-tpl="pixel"] .btn.ghost{background:#1a1030;color:var(--ink);border:0;box-shadow:0 -4px 0 0 var(--c1),0 4px 0 0 var(--c1),-4px 0 0 0 var(--c1),4px 0 0 0 var(--c1)}
[data-tpl="pixel"] .galeria img{border-radius:0;border:4px solid var(--c1);box-shadow:5px 5px 0 #1a1030;image-rendering:pixelated}
[data-tpl="pixel"] .galeria img:nth-child(3n+1){border-radius:0;aspect-ratio:1}
[data-tpl="pixel"] form{border-radius:0;background:#1a1030e6;box-shadow:0 0 0 4px var(--c1),0 0 0 8px #1a1030}
[data-tpl="pixel"] label{font-family:var(--f-head);font-size:.55rem;line-height:1.6;letter-spacing:.06em;color:var(--c1);opacity:1;text-transform:uppercase}
[data-tpl="pixel"] input[type=text],[data-tpl="pixel"] textarea{border-radius:0;border:3px solid var(--c1);font-family:var(--f-body)}
[data-tpl="pixel"] .cierre .nombre-cierre,[data-tpl="pixel"] .gracias .script{font-family:var(--f-head);font-size:1.1rem;color:var(--accent-2);text-transform:uppercase;text-shadow:3px 3px 0 #1a1030}
[data-tpl="pixel"] .gracias p{font-size:1.1rem}
/* sobre: PRESS START */
[data-tpl="pixel"] #sobre{background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--c1) 22%,transparent),#0000 60%),repeating-linear-gradient(#0000 0 2px,#0000001a 2px 4px),var(--bg)}
[data-tpl="pixel"] .sobre-wrap .para{font-family:var(--f-head);font-size:.62rem;letter-spacing:.14em;color:var(--c1);opacity:1}
[data-tpl="pixel"] .sobre-wrap h1{display:none}
[data-tpl="pixel"] #abrir{font-family:var(--f-head);font-size:.7rem;line-height:1.5;border-radius:0;padding:1rem 1.4rem;box-shadow:0 -4px 0 0 #1a1030,0 4px 0 0 #1a1030,-4px 0 0 0 #1a1030,4px 0 0 0 #1a1030,0 8px 0 0 color-mix(in srgb,var(--accent) 55%,#000);text-transform:uppercase;margin-top:.4rem}
.sobre-pixel{width:280px;height:230px;margin:22px auto 30px;padding:8px;background:#1a1030;box-shadow:0 0 0 4px var(--c1),0 0 0 8px #1a1030,0 0 40px color-mix(in srgb,var(--c1) 50%,transparent);position:relative}
.pxs-screen{position:relative;height:100%;overflow:hidden;background:linear-gradient(#0d0820,color-mix(in srgb,var(--c2) 50%,#0d0820));text-align:center;color:var(--ink);font-family:var(--f-head);transition:transform .5s steps(5)}
.pxs-screen::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(#0000 0 2px,#00000030 2px 4px);pointer-events:none}
.pxs-hud{display:flex;justify-content:space-between;padding:8px 10px;font-size:.5rem;color:var(--c3)}
.pxs-stars i{position:absolute;width:4px;height:4px;background:var(--ink);animation:pxl-blink 1.2s steps(1) infinite}
.pxs-stars i:nth-child(1){left:20%;top:30%}.pxs-stars i:nth-child(2){left:78%;top:24%;animation-delay:-.3s}.pxs-stars i:nth-child(3){left:60%;top:48%;animation-delay:-.6s}.pxs-stars i:nth-child(4){left:12%;top:62%;animation-delay:-.9s}.pxs-stars i:nth-child(5){left:88%;top:58%;animation-delay:-.2s}
.pxs-hero{position:absolute;left:50%;top:56px;width:48px;margin-left:-24px;animation:pxs-jump 1s steps(8) infinite}
@keyframes pxs-jump{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
.pxs-title{position:absolute;left:0;right:0;top:128px;font-size:1.05rem;color:var(--accent-2);text-shadow:3px 3px 0 var(--accent)}
.pxs-press{position:absolute;left:0;right:0;top:172px;font-size:.62rem;color:var(--ink);animation:pxl-blink .9s steps(1) infinite}
.pxs-go{position:absolute;left:0;right:0;top:92px;font-size:2.2rem;color:var(--accent-2);text-shadow:4px 4px 0 var(--accent);opacity:0}
.pxs-flash{position:absolute;inset:0;background:#fff;opacity:0;z-index:2}
.sobre-pixel.open .pxs-screen{transform:scale(1.1)}
.sobre-pixel.open .pxs-flash{animation:pxs-fl .5s steps(1) forwards}
@keyframes pxs-fl{0%{opacity:1}25%{opacity:0}50%{opacity:1}75%{opacity:0}100%{opacity:0}}
.sobre-pixel.open .pxs-go{opacity:1;animation:pxs-gopop .6s steps(4) .2s both}
@keyframes pxs-gopop{from{transform:scale(.2)}to{transform:scale(1)}}
.sobre-pixel.open .pxs-press,.sobre-pixel.open .pxs-title{animation:none;opacity:0}
.sobre-pixel.open .pxs-hero{animation:pxs-up .7s steps(7) forwards}
@keyframes pxs-up{to{transform:translateY(-70px)}}
.pxs-hero .pxl-la{animation-duration:.4s}
@media (prefers-reduced-motion:reduce){.f-pixel,[data-fx="pixel"] #fx{animation:none}.pxs-hero,.pxs-stars i,.pxs-press{animation:none!important}}
.pxl-hero{animation:pxl-run 9s linear infinite}
@keyframes pxl-run{0%{transform:translate(-54px,196px)}1%{transform:translate(-44px,196px)}2%{transform:translate(-34px,196px)}3%{transform:translate(-24px,196px)}4%{transform:translate(-14px,196px)}5%{transform:translate(-4px,196px)}6%{transform:translate(6px,196px)}7%{transform:translate(16px,196px)}8%{transform:translate(24px,177px)}9%{transform:translate(31px,161px)}10%{transform:translate(38px,147px)}11%{transform:translate(46px,136px)}12%{transform:translate(54px,128px)}13%{transform:translate(61px,123px)}14%{transform:translate(68px,121px)}15%{transform:translate(76px,121px)}16%{transform:translate(84px,124px)}17%{transform:translate(91px,130px)}18%{transform:translate(98px,139px)}19%{transform:translate(106px,150px)}20%{transform:translate(109px,150px)}21%{transform:translate(113px,150px)}22%{transform:translate(116px,150px)}23%{transform:translate(119px,150px)}24%{transform:translate(123px,150px)}25%{transform:translate(126px,150px)}26%{transform:translate(132px,133px)}27%{transform:translate(139px,118px)}28%{transform:translate(145px,106px)}29%{transform:translate(151px,96px)}30%{transform:translate(158px,89px)}31%{transform:translate(164px,85px)}32%{transform:translate(170px,83px)}33%{transform:translate(177px,84px)}34%{transform:translate(183px,87px)}35%{transform:translate(189px,93px)}36%{transform:translate(196px,101px)}37%{transform:translate(202px,112px)}38%{transform:translate(205px,112px)}39%{transform:translate(208px,112px)}40%{transform:translate(211px,112px)}41%{transform:translate(214px,112px)}42%{transform:translate(217px,112px)}43%{transform:translate(220px,112px)}44%{transform:translate(226px,102px)}45%{transform:translate(232px,95px)}46%{transform:translate(238px,90px)}47%{transform:translate(245px,86px)}48%{transform:translate(251px,85px)}49%{transform:translate(257px,86px)}50%{transform:translate(263px,89px)}51%{transform:translate(269px,94px)}52%{transform:translate(275px,101px)}53%{transform:translate(282px,110px)}54%{transform:translate(288px,121px)}55%{transform:translate(294px,135px)}56%{transform:translate(300px,150px)}57%{transform:translate(303px,150px)}58%{transform:translate(306px,150px)}59%{transform:translate(309px,150px)}60%{transform:translate(312px,150px)}61%{transform:translate(315px,150px)}62%{transform:translate(318px,150px)}63%{transform:translate(322px,142px)}64%{transform:translate(325px,135px)}65%{transform:translate(329px,131px)}66%{transform:translate(333px,130px)}67%{transform:translate(336px,130px)}68%{transform:translate(340px,133px)}69%{transform:translate(344px,138px)}70%{transform:translate(347px,145px)}71%{transform:translate(351px,154px)}72%{transform:translate(355px,166px)}73%{transform:translate(358px,180px)}74%{transform:translate(362px,196px)}75%{transform:translate(369px,196px)}76%{transform:translate(376px,196px)}77%{transform:translate(382px,196px)}78%{transform:translate(389px,196px)}79%{transform:translate(396px,196px)}80%{transform:translate(403px,196px)}81%{transform:translate(409px,196px)}82%{transform:translate(416px,196px)}83%{transform:translate(416px,196px)}84%{transform:translate(416px,196px)}85%{transform:translate(416px,196px)}86%{transform:translate(416px,196px)}87%{transform:translate(416px,196px)}88%{transform:translate(416px,196px)}89%{transform:translate(416px,196px)}90%{transform:translate(416px,196px)}91%{transform:translate(416px,196px)}92%{transform:translate(416px,196px)}93%{transform:translate(416px,196px)}94%{transform:translate(416px,196px)}95%{transform:translate(416px,196px)}96%{transform:translate(416px,196px)}97%{transform:translate(416px,196px)}98%{transform:translate(416px,196px)}99%{transform:translate(416px,196px)}100%{transform:translate(416px,196px)}}
/* =============== PIRATAS =============== */
[data-fx="piratas"] #fx{background:radial-gradient(circle at 15% 6%,color-mix(in srgb,var(--accent-2) 30%,transparent),#0000 40%),linear-gradient(180deg,#0000 60%,color-mix(in srgb,var(--c3) 22%,transparent)),var(--bg)}
[data-fx="piratas"] #fx::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:radial-gradient(circle at 50% 0,#0000 0 10px,color-mix(in srgb,var(--c3) 25%,transparent) 11px 13px,#0000 14px) 0 0/40px 20px;opacity:.7;animation:pir-fx 6s linear infinite;-webkit-mask:linear-gradient(#0000,#000);mask:linear-gradient(#0000,#000)}
@keyframes pir-fx{to{background-position:40px 0}}
.pir-w1,.pir-w3,.pir-foam{animation:pir-wv 5s linear infinite}.pir-w2,.pir-w4{animation:pir-wv 3.6s linear infinite reverse}
.pir-w1{animation-duration:8s}.pir-foam{animation-duration:5s}.pir-w4{animation-duration:3s}
@keyframes pir-wv{to{transform:translateX(-100px)}}
.pir-ship{transform-origin:0 38px;animation:pir-rock 4.6s ease-in-out infinite}
@keyframes pir-rock{0%,100%{transform:rotate(-3.5deg) translateY(0)}50%{transform:rotate(3.5deg) translateY(-5px)}}
.pir-sail{transform-box:fill-box;transform-origin:50% 0;animation:pir-bil 3.2s ease-in-out infinite}
@keyframes pir-bil{0%,100%{transform:scaleX(1) skewX(0)}50%{transform:scaleX(1.07) skewX(-3deg)}}
.pir-flag{transform-box:fill-box;transform-origin:0 50%;animation:pir-fl .8s ease-in-out infinite alternate}
@keyframes pir-fl{from{transform:skewY(-7deg) scaleX(1)}to{transform:skewY(7deg) scaleX(.84)}}
.pir-parrot{transform-origin:0 10px;animation:pir-pp 2.6s ease-in-out infinite}
@keyframes pir-pp{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.pir-ph{transform-origin:0 -8px;animation:pir-hd 3.4s ease-in-out infinite}
@keyframes pir-hd{0%,40%,100%{transform:rotate(0)}50%{transform:rotate(14deg)}60%{transform:rotate(-8deg)}70%{transform:rotate(10deg)}}
.pir-pw{transform-box:fill-box;transform-origin:50% 0;animation:pir-wf 3.4s ease-in-out infinite}
@keyframes pir-wf{0%,60%,100%{transform:rotate(0)}68%{transform:rotate(-30deg)}76%{transform:rotate(8deg)}84%{transform:rotate(-24deg)}}
.pir-sun{animation:pulsa 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.pir-rays{animation:gira 40s linear infinite}
.pir-cloud{animation:pir-cd 36s linear infinite}.pir-cloud2{animation-duration:52s;animation-delay:-20s}
@keyframes pir-cd{from{transform:translateX(-200px)}to{transform:translateX(300px)}}
.pir-bird{animation:pir-fly 15s linear infinite}
@keyframes pir-fly{0%{transform:translate(-40px,0)}30%{transform:translate(100px,-10px)}60%{transform:translate(250px,8px)}100%{transform:translate(460px,-6px)}}
.pir-wing{animation:sf-wg .5s ease-in-out infinite alternate;transform-origin:0 0}
.pir-palm{animation:pir-pl 3.6s ease-in-out infinite;transform-origin:0 0}
@keyframes pir-pl{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
.pir-lid{transform-origin:0 0;animation:pir-lid 3.2s ease-in-out infinite}
@keyframes pir-lid{0%,100%{transform:rotate(-70deg)}50%{transform:rotate(-80deg)}}
.pir-glow{animation:pulsa 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.pir-sp{animation:fut-tw 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.pir-map{animation:pir-mp 3.4s ease-in-out infinite;transform-origin:0 20px}
@keyframes pir-mp{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-4px)}}
.pir-x{animation:pxl-blink 1.1s steps(1) infinite}
/* tipografía */
[data-tpl="piratas"] .eyebrow{display:inline-block;font-family:var(--f-head);font-size:1.15rem;letter-spacing:.1em;text-transform:none;padding:.35rem 1.5rem;color:#fff3da;opacity:1;background:linear-gradient(#a8703a,#7a4a22);border:2px solid #4a2a10;border-radius:4px;box-shadow:0 4px 0 #4a2a10;position:relative}
[data-tpl="piratas"] .eyebrow::before,[data-tpl="piratas"] .eyebrow::after{content:"";position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#ffd36b;box-shadow:0 0 0 1px #4a2a10}
[data-tpl="piratas"] .eyebrow::before{left:7px}[data-tpl="piratas"] .eyebrow::after{right:7px}
[data-tpl="piratas"] .nombre{font-family:var(--f-head);font-weight:400;color:var(--accent);font-size:min(var(--name-size),16vw);line-height:1;margin:.8rem 0 .2rem;text-shadow:0 2px 0 var(--bg),2px 4px 0 var(--accent-2),4px 7px 0 color-mix(in srgb,var(--c1) 80%,#000),0 12px 14px #0003}
[data-tpl="piratas"] .nombre::after{content:"";display:block;width:56%;margin:.6rem auto 0;border-top:4px dotted var(--c1);opacity:.8}
[data-tpl="piratas"] .titulo{font-family:var(--f-head);font-size:1.8rem;color:var(--ink);letter-spacing:.02em}
[data-tpl="piratas"] .edad-num{font-family:var(--f-head);background:radial-gradient(circle at 35% 30%,var(--accent-2),color-mix(in srgb,var(--accent-2) 60%,#6a3a00));color:#4a2a10;box-shadow:0 0 0 4px #4a2a10,0 0 0 7px var(--accent-2),0 8px 0 7px #0003}
[data-tpl="piratas"] .edad-lbl{font-family:var(--f-head);color:var(--ink);font-size:1.2rem;letter-spacing:.12em}
.f-pirata{--ar:1;width:min(76%,290px);padding:12px;border-radius:50%;background:var(--c1);box-shadow:0 0 0 5px color-mix(in srgb,var(--c1) 70%,#000),0 14px 30px #0004}
.f-pirata::before{content:"";position:absolute;inset:-26px;border-radius:50%;background:repeating-conic-gradient(var(--c1) 0 7deg,#0000 7deg 45deg);-webkit-mask:radial-gradient(circle,#0000 0 63%,#000 64%);mask:radial-gradient(circle,#0000 0 63%,#000 64%);animation:pir-whl 40s linear infinite;z-index:-1}
.f-pirata::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:5px solid var(--accent-2);box-shadow:inset 0 0 0 3px #4a2a10;pointer-events:none}
@keyframes pir-whl{to{transform:rotate(360deg)}}
.f-pirata img{border-radius:50%;border:4px solid #4a2a10}
[data-tpl="piratas"] .fecha{background:repeating-linear-gradient(#0000 0 22px,#0003 22px 24px),linear-gradient(#a8703a,#7a4a22);color:#fff3da;padding:1rem 1.8rem;border:3px solid #4a2a10;border-radius:6px;box-shadow:0 6px 0 #4a2a10;position:relative;margin-top:1.8rem}
[data-tpl="piratas"] .fecha::before,[data-tpl="piratas"] .fecha::after{content:"";position:absolute;top:8px;width:8px;height:8px;border-radius:50%;background:#ffd36b;box-shadow:0 0 0 1px #4a2a10}
[data-tpl="piratas"] .fecha::before{left:8px}[data-tpl="piratas"] .fecha::after{right:8px}
[data-tpl="piratas"] .fecha .dia{font-family:var(--f-head);color:#ffd36b;font-size:5rem;text-shadow:2px 3px 0 #4a2a10}
[data-tpl="piratas"] .fecha span:not(.dia){font-family:var(--f-head);font-size:1.3rem;letter-spacing:.1em;color:#fff3da}
[data-tpl="piratas"] .hora{font-family:var(--f-head);font-size:1.4rem;color:var(--accent);letter-spacing:.1em}
[data-tpl="piratas"] .cuenta div{background:linear-gradient(#a8703a,#7a4a22);border:2px solid #4a2a10;border-radius:6px;color:#fff3da;box-shadow:0 4px 0 #4a2a10}
[data-tpl="piratas"] .cuenta b{font-family:var(--f-head);font-weight:400;color:#ffd36b;font-size:1.9rem}
[data-tpl="piratas"] .cuenta span{color:#fff3da;opacity:.9}
[data-tpl="piratas"] .mensaje{font-style:italic;font-size:1.2rem}
[data-tpl="piratas"] h2.sec{font-family:var(--f-head);font-weight:400;font-size:2.7rem;color:var(--accent);text-shadow:2px 3px 0 var(--accent-2)}
[data-tpl="piratas"] .programa{background:radial-gradient(ellipse at center,#f6e7c1,#ecd39a);color:#4a2c12;padding:1.4rem 1.1rem 1.4rem 0;border-radius:6px 22px 8px 24px/22px 8px 24px 6px;box-shadow:inset 0 0 36px #8a5a1c88,0 8px 20px #0003;transform:rotate(-.6deg);position:relative}
[data-tpl="piratas"] .programa::before{left:6.3rem;background:none;border-left:3px dashed #8a5a1c;opacity:.8;width:0;top:1.6rem;bottom:1.6rem}
[data-tpl="piratas"] .programa time{font-family:var(--f-head);font-weight:400;font-size:1.3rem;color:#8c1d18}
[data-tpl="piratas"] .programa span{color:#4a2c12}
[data-tpl="piratas"] .programa span::before{content:"✕";background:none;color:#c0281f;width:auto;height:auto;font-size:1rem;left:-.55rem;top:.3rem;font-weight:700}
[data-tpl="piratas"] .nombre-lugar{font-family:var(--f-head);font-weight:400;font-size:2rem;color:var(--accent)}
[data-tpl="piratas"] .nombre-lugar::before{content:"✕ ";color:#c0281f;animation:pxl-blink 1.1s steps(1) infinite}
[data-tpl="piratas"] .btn{font-family:var(--f-head);font-size:1.3rem;letter-spacing:.06em;text-transform:none;border-radius:8px;border:2px solid #4a2a10;box-shadow:0 5px 0 #4a2a10;outline:2px dashed #ffffff88;outline-offset:-7px;padding:.8rem 1.7rem}
[data-tpl="piratas"] .btn:active{transform:translateY(3px);box-shadow:0 2px 0 #4a2a10}
[data-tpl="piratas"] .btn.ghost{background:transparent;border:2px solid var(--accent);box-shadow:none;outline:0;color:var(--ink)}
[data-tpl="piratas"] .galeria img{border:6px solid var(--c1);outline:2px solid #4a2a10;border-radius:4px;box-shadow:0 8px 16px #0004}
[data-tpl="piratas"] .galeria img:nth-child(3n+1){border-radius:4px;aspect-ratio:1}
[data-tpl="piratas"] .galeria img:nth-child(odd){transform:rotate(-2deg)}[data-tpl="piratas"] .galeria img:nth-child(even){transform:rotate(2deg)}
[data-tpl="piratas"] form{background:radial-gradient(ellipse at center,#f6e7c1,#ecd39a);color:#4a2c12;border-radius:6px 22px 8px 24px/22px 8px 24px 6px;box-shadow:inset 0 0 36px #8a5a1c88,0 8px 20px #0003}
[data-tpl="piratas"] label{font-family:var(--f-head);font-size:1.15rem;letter-spacing:.06em;text-transform:none;opacity:1;color:#8c1d18}
[data-tpl="piratas"] form .link-btn{color:#8c1d18}
[data-tpl="piratas"] .cierre .nombre-cierre,[data-tpl="piratas"] .gracias .script{font-family:var(--f-head);color:var(--accent);font-size:2.6rem}
/* sobre: cofre */
[data-tpl="piratas"] #sobre{background:radial-gradient(circle at 50% 78%,color-mix(in srgb,var(--accent-2) 35%,transparent),#0000 50%),linear-gradient(var(--bg),color-mix(in srgb,var(--c3) 45%,var(--bg)))}
[data-tpl="piratas"] .sobre-wrap .para{font-family:var(--f-head);font-size:1.2rem;letter-spacing:.16em;color:var(--ink);opacity:1}
[data-tpl="piratas"] .sobre-wrap h1{font-family:var(--f-head);color:var(--accent);font-size:min(3.2rem,14vw);text-shadow:2px 3px 0 var(--accent-2),4px 6px 0 color-mix(in srgb,var(--c1) 80%,#000)}
[data-tpl="piratas"] #abrir{font-family:var(--f-head);font-size:1.3rem;text-transform:none;border:2px solid #4a2a10;box-shadow:0 5px 0 #4a2a10;border-radius:8px}
.sobre-piratas{position:relative;width:250px;height:190px;margin:10px auto 14px}
.pcb-rays{position:absolute;left:50%;top:60px;width:340px;height:340px;margin:-170px 0 0 -170px;background:repeating-conic-gradient(color-mix(in srgb,var(--accent-2) 70%,#fff) 0 8deg,#0000 8deg 24deg);-webkit-mask:radial-gradient(circle,#000,#0000 70%);mask:radial-gradient(circle,#000,#0000 70%);opacity:0;transform:scale(.3)}
.pcb-body{position:absolute;left:22px;right:22px;bottom:6px;height:90px;border-radius:6px 6px 16px 16px;background:repeating-linear-gradient(90deg,#0000 0 38px,#0003 38px 40px),linear-gradient(var(--c1),color-mix(in srgb,var(--c1) 70%,#000));border:4px solid #4a2a10;box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--accent-2) 0%,transparent),0 14px 18px #0004}
.pcb-body::before,.pcb-body::after{content:"";position:absolute;top:-4px;bottom:-4px;width:14px;background:linear-gradient(90deg,var(--accent-2),color-mix(in srgb,var(--accent-2) 60%,#000));border:2px solid #4a2a10}
.pcb-body::before{left:16px}.pcb-body::after{right:16px}
.pcb-lock{position:absolute;left:50%;top:-6px;width:30px;height:34px;margin-left:-15px;border-radius:5px;background:linear-gradient(var(--accent-2),color-mix(in srgb,var(--accent-2) 60%,#000));border:2px solid #4a2a10;z-index:3}
.pcb-lock::after{content:"";position:absolute;left:11px;top:10px;width:6px;height:12px;border-radius:3px;background:#2a1608}
.pcb-gold{position:absolute;left:8px;right:8px;top:-12px;height:22px;border-radius:12px 12px 0 0;background:radial-gradient(circle at 20% 60%,#fff6 0 3px,#0000 4px),radial-gradient(circle at 60% 40%,#fff6 0 3px,#0000 4px),var(--accent-2);box-shadow:0 0 22px var(--accent-2)}
.pcb-lid{position:absolute;left:22px;right:22px;bottom:94px;height:58px;border-radius:70px 70px 6px 6px/58px 58px 6px 6px;background:repeating-linear-gradient(90deg,#0000 0 38px,#0003 38px 40px),linear-gradient(color-mix(in srgb,var(--c1) 100%,#fff 12%),var(--c1));border:4px solid #4a2a10;transform-origin:100% 100%;z-index:2;animation:pcb-wob 2.6s ease-in-out infinite}
.pcb-lid::before,.pcb-lid::after{content:"";position:absolute;top:-4px;bottom:-4px;width:14px;background:linear-gradient(90deg,var(--accent-2),color-mix(in srgb,var(--accent-2) 60%,#000));border:2px solid #4a2a10;border-radius:30px 30px 0 0}
.pcb-lid::before{left:16px}.pcb-lid::after{right:16px}
@keyframes pcb-wob{0%,55%,100%{transform:rotate(0)}65%{transform:rotate(7deg)}75%{transform:rotate(1deg)}85%{transform:rotate(5deg)}}
.pcb-seam{position:absolute;left:30px;right:30px;bottom:92px;height:5px;background:#fff6a8;box-shadow:0 0 14px 4px #ffe066;border-radius:3px;z-index:1;animation:pulsa 1.4s ease-in-out infinite}
.pcb-sp{position:absolute;width:12px;height:12px;background:#fff6a8;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:fut-tw 1.8s ease-in-out infinite;z-index:4}
.pcb-s1{left:60px;top:70px}.pcb-s2{left:150px;top:56px;animation-delay:-.6s}.pcb-s3{left:200px;top:84px;animation-delay:-1.2s}
.pcb-coins i{position:absolute;left:50%;bottom:110px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6a8,var(--accent-2) 55%,#a56a00);border:1.5px solid #4a2a10;opacity:0;z-index:2}
.sobre-piratas.open .pcb-lid{animation:none;transform:rotate(78deg);transition:transform .45s cubic-bezier(.3,1.5,.5,1)}
.sobre-piratas.open .pcb-seam,.sobre-piratas.open .pcb-sp{opacity:0;animation:none}
.sobre-piratas.open .pcb-rays{opacity:.85;transform:scale(1.2);transition:opacity .4s .1s,transform 1s .1s}
.sobre-piratas.open .pcb-coins i{animation:pcb-co .9s cubic-bezier(.2,.9,.3,1) forwards}
@keyframes pcb-co{0%{opacity:1;transform:translate(0,0)}60%{opacity:1;transform:translate(var(--x),var(--y))}100%{opacity:0;transform:translate(var(--x),calc(var(--y) + 80px))}}
@media (prefers-reduced-motion:reduce){.f-pirata::before,[data-fx="piratas"] #fx::after{animation:none}.pcb-lid,.pcb-seam,.pcb-sp{animation:none!important}}
[data-tpl="piratas"] .eyebrow.hora{background:none;border:0;box-shadow:none;color:var(--accent);padding:0;font-size:1.5rem}
[data-tpl="piratas"] .eyebrow.hora::before,[data-tpl="piratas"] .eyebrow.hora::after{display:none}
/* =============== ESPACIO 2 =============== */
[data-fx="espacio2"] #fx{background:radial-gradient(ellipse 70% 40% at 15% 15%,color-mix(in srgb,var(--c1) 30%,transparent),#0000 70%),radial-gradient(ellipse 60% 40% at 90% 40%,color-mix(in srgb,var(--accent) 28%,transparent),#0000 70%),radial-gradient(ellipse 70% 40% at 30% 90%,color-mix(in srgb,var(--c2) 22%,transparent),#0000 70%),radial-gradient(1.5px 1.5px at 20px 30px,#fff,#0000),radial-gradient(1px 1px at 90px 120px,#fffc,#0000),radial-gradient(1.6px 1.6px at 160px 70px,var(--accent-2),#0000),radial-gradient(1px 1px at 230px 190px,#fff,#0000),var(--bg);background-size:auto,auto,auto,250px 220px,250px 220px,250px 220px,250px 220px,auto;animation:esp-nb 30s ease-in-out infinite alternate}
@keyframes esp-nb{from{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:30px 20px,-40px 10px,20px -30px,-20px 30px,-20px 30px,-20px 30px,-20px 30px,0 0}}
[data-fx="espacio2"] #fx::after{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 40px 60px,#fff,#0000),radial-gradient(2px 2px at 140px 160px,#fff,#0000),radial-gradient(2.4px 2.4px at 210px 40px,var(--accent-2),#0000);background-size:260px 200px;animation:esp-tw 3.4s ease-in-out infinite alternate}
@keyframes esp-tw{from{opacity:.15}to{opacity:1}}
.esp-tw{animation:fut-tw 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.esp-halo{animation:pulsa 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.esp-astro{animation:esp-fl 7s ease-in-out infinite;transform-origin:0 20px}
@keyframes esp-fl{0%,100%{transform:translate(0,-6px) rotate(-7deg)}50%{transform:translate(4px,8px) rotate(6deg)}}
.esp-wave{transform-origin:3px 4px;animation:esp-wv 1.3s ease-in-out infinite;transform:rotate(-150deg)}
@keyframes esp-wv{0%,100%{transform:rotate(-155deg)}50%{transform:rotate(-120deg)}}
.esp-armL{transform-origin:-31px 8px;animation:esp-al 4s ease-in-out infinite}
@keyframes esp-al{0%,100%{transform:rotate(6deg)}50%{transform:rotate(-8deg)}}
.esp-legL{transform-origin:-11px 44px;animation:esp-lg 5s ease-in-out infinite}.esp-legR{transform-origin:11px 44px;animation:esp-lg 5s ease-in-out infinite reverse}
@keyframes esp-lg{0%,100%{transform:rotate(5deg)}50%{transform:rotate(-7deg)}}
.esp-led{animation:pxl-blink 1.2s steps(1) infinite}
.esp-eyes{transform-box:fill-box;transform-origin:center;animation:parpadea 4s infinite}
.esp-refl{animation:esp-rf 5s ease-in-out infinite}
@keyframes esp-rf{0%,100%{transform:translateX(0);opacity:.7}50%{transform:translateX(30px);opacity:.25}}
.esp-tether{animation:esp-td 1.4s linear infinite}
@keyframes esp-td{to{stroke-dashoffset:-22}}
.esp-pl{animation:pulsa 6s ease-in-out infinite}
.esp-pl2{animation:esp-bob 5s ease-in-out infinite}
@keyframes esp-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.esp-moon{offset-path:path("M-58 0A58 16 0 1 1 58 0A58 16 0 1 1 -58 0");animation:esp-orb 8s linear infinite}
@keyframes esp-orb{from{offset-distance:0%}to{offset-distance:100%}}
.esp-rk{animation:esp-rkt 12s linear infinite}
@keyframes esp-rkt{0%{transform:translate(-50px,330px)}100%{transform:translate(470px,-60px)}}
.esp-fl{transform-box:fill-box;transform-origin:50% 0;animation:esp-fire .18s ease-in-out infinite alternate}
@keyframes esp-fire{from{transform:scaleY(1)}to{transform:scaleY(1.8)}}
.esp-ss{animation:esp-sh 6s ease-in infinite;opacity:0;transform:translate(300px,10px) rotate(28deg)}
.esp-ss2{animation-delay:-3.5s;animation-duration:7.5s}
@keyframes esp-sh{0%{opacity:0;transform:translate(330px,20px) rotate(28deg)}6%{opacity:1}22%{opacity:0;transform:translate(120px,110px) rotate(28deg)}100%{opacity:0;transform:translate(120px,110px) rotate(28deg)}}
/* texto */
[data-tpl="espacio2"] .eyebrow{font-family:var(--f-head);font-size:.72rem;letter-spacing:.3em;font-weight:600;color:var(--accent-2);opacity:1;border-top:1px solid color-mix(in srgb,var(--accent) 60%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent) 60%,transparent);display:inline-block;padding:.4rem .6rem}
[data-tpl="espacio2"] .nombre{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:min(var(--name-size),9.2vw);line-height:1.15;letter-spacing:.04em;margin:1rem 0 .5rem;overflow-wrap:anywhere;background:linear-gradient(100deg,var(--ink),var(--accent) 45%,var(--accent-2) 70%,var(--ink));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 60%,transparent));animation:esp-shine 6s linear infinite}
@keyframes esp-shine{to{background-position:200% 0}}
[data-tpl="espacio2"] .nombre::after{content:"";display:block;height:2px;width:60%;margin:.8rem auto 0;background:linear-gradient(90deg,#0000,var(--accent),#0000);position:relative}
[data-tpl="espacio2"] .titulo{font-family:var(--f-head);font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);line-height:1.6}
[data-tpl="espacio2"] .edad-num{font-family:var(--f-head);font-weight:900;background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--c1) 75%,#fff),var(--c1) 55%,color-mix(in srgb,var(--c1) 55%,#000));color:#fff;text-shadow:0 2px 6px #0006;box-shadow:0 0 30px color-mix(in srgb,var(--c1) 55%,transparent);position:relative;transform:none;font-size:3.6rem}
[data-tpl="espacio2"] .edad-num::after{content:"";position:absolute;left:-28px;right:-28px;top:50%;height:34px;margin-top:-17px;border:4px solid var(--c3);border-radius:50%;transform:rotate(-16deg);clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%);opacity:.9}
[data-tpl="espacio2"] .edad-num::before{content:"";position:absolute;left:-28px;right:-28px;top:50%;height:34px;margin-top:-17px;border:4px solid var(--c3);border-radius:50%;transform:rotate(-16deg);clip-path:polygon(0 0,100% 0,100% 50%,0 50%);opacity:.5;z-index:-1}
[data-tpl="espacio2"] .edad-lbl{font-family:var(--f-head);font-size:.75rem;letter-spacing:.4em;color:var(--accent-2);opacity:1;margin-top:1.3rem}
.f-esc{--ar:1;width:min(78%,290px);padding:16px;border-radius:50%;background:conic-gradient(#e9ecff,#8d97c9,#f5f6ff,#6e79b3,#e9ecff,#8d97c9,#f5f6ff,#6e79b3,#e9ecff);box-shadow:0 0 0 4px var(--soft),0 0 40px color-mix(in srgb,var(--accent) 65%,transparent);animation:esp-glw 4s ease-in-out infinite alternate}
@keyframes esp-glw{from{box-shadow:0 0 0 4px var(--soft),0 0 22px color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 0 4px var(--soft),0 0 54px color-mix(in srgb,var(--accent) 85%,transparent)}}
.f-esc::before{content:"";position:absolute;inset:3px;border-radius:50%;background:repeating-conic-gradient(#3b4270 0 4deg,#0000 4deg 30deg);-webkit-mask:radial-gradient(circle,#0000 0 91%,#000 92% 97%,#0000 98%);mask:radial-gradient(circle,#0000 0 91%,#000 92% 97%,#0000 98%);animation:gira 90s linear infinite}
.f-esc::after{content:"";position:absolute;inset:16px;border-radius:50%;background:linear-gradient(125deg,#fff5 0 22%,#0000 23% 60%,#fff2 61% 66%,#0000 67%);pointer-events:none;box-shadow:inset 0 0 20px #0008}
.f-esc img{border-radius:50%;border:4px solid #1b1740}
[data-tpl="espacio2"] .fecha{border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);background:linear-gradient(135deg,var(--card),#0000);padding:1rem 1.6rem;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);margin-top:1.8rem;position:relative;box-shadow:inset 0 0 24px color-mix(in srgb,var(--accent) 25%,transparent)}
[data-tpl="espacio2"] .fecha .dia{font-family:var(--f-head);font-weight:900;color:var(--accent-2);font-size:4.4rem;text-shadow:0 0 18px color-mix(in srgb,var(--accent-2) 70%,transparent)}
[data-tpl="espacio2"] .fecha span:not(.dia){font-family:var(--f-head);font-weight:600;font-size:.9rem;letter-spacing:.2em}
[data-tpl="espacio2"] .hora{font-family:var(--f-head);color:var(--accent-2);font-size:1rem;border:0;padding:0;margin-top:1.1rem}
[data-tpl="espacio2"] .cuenta div{background:var(--card);border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);border-radius:12px;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 30%,transparent)}
[data-tpl="espacio2"] .cuenta b{font-family:var(--f-head);font-weight:800;color:var(--accent-2);font-size:1.5rem}
[data-tpl="espacio2"] .cuenta span{font-family:var(--f-head);font-size:.55rem;opacity:1}
[data-tpl="espacio2"] .mensaje{font-style:normal;font-weight:500;line-height:1.7}
[data-tpl="espacio2"] h2.sec{font-family:var(--f-head);font-weight:800;font-size:1.25rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);text-shadow:0 0 14px var(--accent)}
[data-tpl="espacio2"] .programa::before{background:linear-gradient(var(--accent),var(--c2));opacity:.7;box-shadow:0 0 8px var(--accent)}
[data-tpl="espacio2"] .programa time{font-family:var(--f-head);font-weight:700;font-size:.85rem;color:var(--accent-2)}
[data-tpl="espacio2"] .programa span::before{background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 8px var(--accent);width:11px;height:11px;left:-.34rem}
[data-tpl="espacio2"] .nombre-lugar{font-family:var(--f-head);font-weight:700;font-size:1.2rem;letter-spacing:.06em;color:var(--accent-2);text-transform:uppercase}
[data-tpl="espacio2"] .btn{font-family:var(--f-head);font-weight:700;font-size:.8rem;letter-spacing:.14em;border-radius:999px;background:linear-gradient(100deg,var(--accent),color-mix(in srgb,var(--accent) 50%,var(--c2)));box-shadow:0 0 22px color-mix(in srgb,var(--accent) 60%,transparent);padding:1rem 1.6rem}
[data-tpl="espacio2"] .btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--accent);box-shadow:inset 0 0 14px color-mix(in srgb,var(--accent) 30%,transparent)}
[data-tpl="espacio2"] .galeria img{border-radius:6px;border:2px solid color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 35%,transparent);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
[data-tpl="espacio2"] .galeria img:nth-child(3n+1){border-radius:6px;aspect-ratio:1}
[data-tpl="espacio2"] form{border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 30px color-mix(in srgb,var(--accent) 22%,transparent)}
[data-tpl="espacio2"] label{font-family:var(--f-head);font-size:.65rem;letter-spacing:.18em;opacity:1;color:var(--accent-2)}
[data-tpl="espacio2"] .cierre .nombre-cierre,[data-tpl="espacio2"] .gracias .script{font-family:var(--f-head);font-weight:800;font-size:1.3rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2)}
/* sobre: escotilla */
[data-tpl="espacio2"] #sobre{background:radial-gradient(ellipse 70% 40% at 20% 20%,color-mix(in srgb,var(--c1) 30%,transparent),#0000 70%),radial-gradient(ellipse 70% 40% at 80% 80%,color-mix(in srgb,var(--accent) 30%,transparent),#0000 70%),radial-gradient(1.5px 1.5px at 30px 40px,#fff,#0000),radial-gradient(1px 1px at 120px 90px,#fff,#0000),var(--bg);background-size:auto,auto,200px 160px,200px 160px,auto}
[data-tpl="espacio2"] .sobre-wrap .para{font-family:var(--f-head);font-size:.7rem;letter-spacing:.3em;color:var(--accent-2);opacity:1}
[data-tpl="espacio2"] .sobre-wrap h1{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:min(1.9rem,8.4vw);letter-spacing:.06em;color:var(--ink);text-shadow:0 0 16px var(--accent);overflow-wrap:anywhere}
[data-tpl="espacio2"] #abrir{font-family:var(--f-head);font-weight:700;font-size:.8rem;letter-spacing:.14em;box-shadow:0 0 22px color-mix(in srgb,var(--accent) 60%,transparent)}
.sobre-espacio{position:relative;width:220px;height:220px;margin:0 auto;perspective:700px}
.spe-in{position:absolute;inset:14px;border-radius:50%;overflow:hidden;background:radial-gradient(circle,#fff6c9 0,var(--accent-2) 25%,var(--accent) 70%,#0b0721 100%);box-shadow:inset 0 0 30px #000a;opacity:.3;transition:opacity .4s}
.spe-in i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;animation:esp-tw 1.4s ease-in-out infinite alternate}
.spe-in i:nth-child(2){left:22%;top:28%}.spe-in i:nth-child(3){left:70%;top:22%;animation-delay:-.4s}.spe-in i:nth-child(4){left:60%;top:70%;animation-delay:-.8s}.spe-in i:nth-child(5){left:28%;top:68%;animation-delay:-.2s}.spe-in i:nth-child(6){left:82%;top:52%;animation-delay:-1s}
.spe-pl{position:absolute;right:20px;bottom:24px;width:34px;height:34px;border-radius:50%;background:var(--c1);box-shadow:inset -8px -6px 0 #0003}
.sobre-espacio.open .spe-in{opacity:1}
.spe-door{position:absolute;inset:0;border-radius:50%;transform-origin:0 50%;background:radial-gradient(circle,#e8ebff 0,#c4cae8 40%,#8f99c8 62%,#6f79ad 63%,#dfe3fa 66%,#9aa4d2 100%);box-shadow:0 0 0 5px var(--soft),0 0 34px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 -8px 14px #0005;transition:transform .6s cubic-bezier(.5,0,.3,1) .35s;animation:esp-dw 3s ease-in-out infinite}
@keyframes esp-dw{0%,100%{box-shadow:0 0 0 5px var(--soft),0 0 22px color-mix(in srgb,var(--accent) 40%,transparent),inset 0 -8px 14px #0005}50%{box-shadow:0 0 0 5px var(--soft),0 0 48px color-mix(in srgb,var(--accent) 80%,transparent),inset 0 -8px 14px #0005}}
.spe-rim{position:absolute;inset:10px;border-radius:50%;background:repeating-conic-gradient(#3b4270 0 5deg,#0000 5deg 30deg);-webkit-mask:radial-gradient(circle,#0000 0 86%,#000 87% 94%,#0000 95%);mask:radial-gradient(circle,#0000 0 86%,#000 87% 94%,#0000 95%)}
.spe-wheel{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;border:9px solid #5b6499;box-shadow:inset 0 0 0 3px #aab3e0,0 3px 6px #0004;animation:esp-wh 3s ease-in-out infinite;transition:transform .5s ease-in-out}
.spe-wheel span{position:absolute;left:50%;top:50%;width:8px;height:96px;margin:-48px 0 0 -4px;background:#5b6499;border-radius:4px}
.spe-wheel span:nth-child(2){transform:rotate(60deg)}.spe-wheel span:nth-child(3){transform:rotate(120deg)}
.spe-wheel::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
@keyframes esp-wh{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(24deg)}85%{transform:rotate(-12deg)}}
.spe-led{position:absolute;left:30px;top:40px;width:12px;height:12px;border-radius:50%;background:#ff4d5e;box-shadow:0 0 10px #ff4d5e;animation:pxl-blink 1s steps(1) infinite}
.spe-led2{left:auto;right:30px;background:#4dffa8;box-shadow:0 0 10px #4dffa8;animation-delay:-.5s}
.spe-puff{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px;border-radius:50%;background:#fff;opacity:0}
.sobre-espacio.open .spe-wheel{animation:none;transform:rotate(300deg)}
.sobre-espacio.open .spe-door{animation:none;transform:rotateY(-112deg)}
.sobre-espacio.open .spe-puff{animation:esp-pf .8s .45s ease-out forwards}
@keyframes esp-pf{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(14)}}
@media (prefers-reduced-motion:reduce){[data-fx="espacio2"] #fx,[data-fx="espacio2"] #fx::after,.f-esc,.f-esc::before,[data-tpl="espacio2"] .nombre,.spe-door,.spe-wheel,.spe-led,.spe-in i{animation:none!important}}
