/* Bodas · segunda oleada (prefijo bo2): Andes en flor, Faro y marea, Nuestra constelación, Pase de abordar, Ventana al jardín */
@font-face{font-family:"Marcellus";src:url(/fonts/bo2-marcellus.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Alegreya";font-weight:400;src:url(/fonts/bo2-alegreya-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Alegreya";font-weight:400;font-style:italic;src:url(/fonts/bo2-alegreya-400i.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Alegreya";font-weight:700;src:url(/fonts/bo2-alegreya-700.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Yellowtail";src:url(/fonts/bo2-yellowtail.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Josefin Sans";font-weight:400;src:url(/fonts/bo2-josefin-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Josefin Sans";font-weight:600 700;src:url(/fonts/bo2-josefin-600.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Fraunces";font-weight:100 900;src:url(/fonts/bo2-fraunces.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Fraunces";font-weight:100 900;font-style:italic;src:url(/fonts/bo2-fraunces-i.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Jost";font-weight:100 900;src:url(/fonts/bo2-jost.woff2) format("woff2");font-display:swap}

@font-face{font-family:"Special Elite";src:url(/fonts/bo2-special-elite.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Pinyon Script";src:url(/fonts/bo2-pinyon.woff2) format("woff2");font-display:swap}

/* ---------- motor de animación SVG (compartido por las 3) ---------- */
.bo2-a{transform-box:fill-box;transform-origin:var(--o,50% 50%);animation:var(--k) var(--t,6s) ease-in-out var(--dl,0s) infinite}
.bo2-l{animation-timing-function:linear}
.bo2-s{animation:bo2-s var(--t,3s) ease-in-out var(--dl,0s) infinite}
@keyframes bo2-s{0%,100%{opacity:.18}50%{opacity:1}}
@keyframes bo2-sway{0%,100%{transform:rotate(calc(var(--a,3)*-1deg))}50%{transform:rotate(calc(var(--a,3)*1deg))}}
@keyframes bo2-float{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(var(--a,6)*-1px))}}
@keyframes bo2-drift{0%,100%{transform:translateX(calc(var(--a,10)*-1px))}50%{transform:translateX(calc(var(--a,10)*1px))}}
@keyframes bo2-drift2{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(var(--a,6)*-1px))}}
@keyframes bo2-bob{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(7deg) translateY(1px)}}
@keyframes bo2-tw{0%,100%{opacity:.2;transform:scale(.55) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(25deg)}}
@keyframes bo2-pulse{0%,100%{transform:scale(1)}50%{transform:scale(calc(1 + var(--a,6)/100))}}
@keyframes bo2-spin{to{transform:rotate(360deg)}}
@keyframes bo2-spinr{to{transform:rotate(-360deg)}}
@keyframes bo2-flap{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}
@keyframes bo2-flow{to{transform:translateX(calc(var(--a,60)*-1px))}}
@keyframes bo2-cross{0%{transform:translate(-70px,8px)}50%{transform:translate(250px,-12px)}100%{transform:translate(560px,6px)}}
@keyframes bo2-fl{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.2)}}
@keyframes bo2-shim{0%,100%{transform:scaleX(.55);opacity:.45}50%{transform:scaleX(1.05);opacity:1}}
@keyframes bo2-beam{0%,100%{transform:scaleX(1);opacity:.92}25%{transform:scaleX(.04);opacity:.35}50%{transform:scaleX(-1);opacity:.92}75%{transform:scaleX(-.04);opacity:.35}}
@keyframes bo2-bglow{0%,50%,100%{opacity:.35;transform:scale(.85)}25%,75%{opacity:1;transform:scale(1.15)}}
@keyframes bo2-draw{0%{stroke-dashoffset:var(--len,1)}35%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:calc(var(--len,1)*-1)}}
@keyframes bo2-shoot{0%,58%{opacity:0;transform:translate(-100px,-42px)}62%{opacity:1}100%{opacity:0;transform:translate(120px,50px)}}
@keyframes bo2-rot{to{transform:rotate(360deg)}}
@keyframes bo2-breath{0%,100%{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}
@keyframes bo2-rock{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes bo2-tick{0%{transform:scale(1.22);opacity:.5}100%{transform:scale(1);opacity:1}}
@keyframes bo2-sw{0%,45%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}
@media (prefers-reduced-motion:reduce){[data-tpl^="bo2"] *,[data-tpl^="bo2"] *::before,[data-tpl^="bo2"] *::after,[data-fx^="bo2"] #fx::before,[data-fx^="bo2"] #fx::after{animation:none!important}}

/* =====================================================================
   1. ANDES EN FLOR
   ===================================================================== */
[data-tpl="bo2andina"]{--chk:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -10 20 20'><path d='M-3 -9H3V-6H6V-3H9V3H6V6H3V9H-3V6H-6V3H-9V-3H-6V-6H-3Z'/></svg>");--stp:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px))}
[data-fx="bo2andina"] #fx{background:radial-gradient(ellipse 90% 40% at 50% 0,color-mix(in srgb,var(--c2) 24%,transparent),transparent 70%)}
[data-fx="bo2andina"] #fx::before,[data-fx="bo2andina"] #fx::after{content:"";position:absolute;top:0;bottom:0;width:9px;background:repeating-linear-gradient(180deg,var(--accent) 0 12px,var(--c2) 12px 16px,var(--c3) 16px 28px,var(--c2) 28px 32px,var(--c1) 32px 40px,var(--c2) 40px 44px)}
[data-fx="bo2andina"] #fx::before{left:0}[data-fx="bo2andina"] #fx::after{right:0}
[data-tpl="bo2andina"] .eyebrow{margin-top:1.1rem;font-family:var(--f-head);letter-spacing:.34em;color:var(--accent);opacity:1;font-size:.92rem}
[data-tpl="bo2andina"] .nombre{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:min(var(--name-size),11.2vw);line-height:1.04;text-shadow:2px 2px 0 color-mix(in srgb,var(--c2) 70%,transparent)}
[data-tpl="bo2andina"] .nom2 i{display:block;font-size:0;width:30px;height:30px;margin:.3rem 0;background:var(--accent-2);-webkit-mask:var(--chk) center/contain no-repeat;mask:var(--chk) center/contain no-repeat;opacity:1;animation:bo2-pulse 3s ease-in-out infinite;--a:14}
[data-tpl="bo2andina"] .titulo{font-family:var(--f-head);font-size:1.02rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);margin-top:.4rem}
[data-tpl="bo2andina"] .titulo::before,[data-tpl="bo2andina"] .titulo::after{content:"";display:inline-block;width:20px;height:7px;margin:0 .6rem;vertical-align:middle;background:conic-gradient(from -45deg at bottom,#0000,var(--accent-2) 1deg 90deg,#0000 91deg) 0 0/10px 100%}
[data-tpl="bo2andina"] .f-bo2andina{--ar:4/5;width:min(74%,290px);padding:9px;background:linear-gradient(160deg,var(--accent-2),var(--accent));clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);margin-top:2rem;margin-bottom:2rem}
[data-tpl="bo2andina"] .f-bo2andina img{clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);aspect-ratio:4/5}
[data-tpl="bo2andina"] .fecha{width:max-content;max-width:100%;margin:1.3rem auto .4rem;padding:1rem 1.7rem;background:var(--accent);color:var(--btn-ink);clip-path:var(--stp);box-shadow:inset 0 0 0 3px var(--accent),inset 0 0 0 5px var(--c2);column-gap:1.1rem}
[data-tpl="bo2andina"] .fecha .dia{font-family:var(--f-head);color:var(--btn-ink);font-size:4rem}
[data-tpl="bo2andina"] .fecha .d-dow,[data-tpl="bo2andina"] .fecha .d-mes,[data-tpl="bo2andina"] .fecha .d-anio{font-family:var(--f-head);letter-spacing:.16em;font-size:.95rem}
[data-tpl="bo2andina"] .hora{color:var(--accent);font-family:var(--f-head);opacity:1}
[data-tpl="bo2andina"] .cuenta{gap:.7rem;margin-top:1.8rem}
[data-tpl="bo2andina"] .cuenta div{position:relative;min-width:62px;padding:1.05rem .5rem .6rem;margin-bottom:9px;border-radius:2px;background:var(--accent);color:var(--btn-ink);box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 0 3px color-mix(in srgb,var(--c2) 80%,transparent)}
[data-tpl="bo2andina"] .cuenta div::before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:repeating-linear-gradient(90deg,var(--c2) 0 5px,var(--c3) 5px 10px,var(--c1) 10px 15px)}
[data-tpl="bo2andina"] .cuenta div::after{content:"";position:absolute;left:3px;right:3px;top:100%;height:9px;background:repeating-linear-gradient(90deg,var(--c2) 0 2px,transparent 2px 5px)}
[data-tpl="bo2andina"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.7rem}
[data-tpl="bo2andina"] .cuenta span{font-family:var(--f-head);opacity:.95;font-size:.68rem}
[data-tpl="bo2andina"] .cd-s b{animation:bo2-tick 1s ease-out}
[data-tpl="bo2andina"] .mensaje{font-size:1.38rem;line-height:1.5}
[data-tpl="bo2andina"] .mensaje::before{content:"";display:block;width:84px;height:8px;margin:0 auto 1rem;background:conic-gradient(from -45deg at bottom,#0000,var(--accent-2) 1deg 90deg,#0000 91deg) 0 0/14px 100%}
[data-tpl="bo2andina"] .padres b{font-family:var(--f-head);color:var(--accent);opacity:1;letter-spacing:.22em}
[data-tpl="bo2andina"] h2.sec{font-family:var(--f-head);font-size:1.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
[data-tpl="bo2andina"] .programa::before{width:2px;opacity:1;background:repeating-linear-gradient(180deg,var(--accent-2) 0 6px,transparent 6px 10px)}
[data-tpl="bo2andina"] .programa time{font-family:var(--f-head);color:var(--accent)}
[data-tpl="bo2andina"] .programa span::before{width:10px;height:10px;border-radius:0;transform:rotate(45deg);background:var(--accent)}
[data-tpl="bo2andina"] .nombre-lugar{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:400}
[data-tpl="bo2andina"] .btn{border-radius:0;clip-path:polygon(0 5px,5px 5px,5px 0,calc(100% - 5px) 0,calc(100% - 5px) 5px,100% 5px,100% calc(100% - 5px),calc(100% - 5px) calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,5px calc(100% - 5px),0 calc(100% - 5px));font-family:var(--f-head);letter-spacing:.16em;padding:.9rem 1.7rem}
[data-tpl="bo2andina"] .btn.ghost{border:0;box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--ink)}
[data-tpl="bo2andina"] .galeria img,[data-tpl="bo2andina"] .galeria img:nth-child(3n+1){border-radius:0;clip-path:var(--stp);box-shadow:none;aspect-ratio:1;border:0}
[data-tpl="bo2andina"] form{border-radius:0;position:relative;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent);padding-top:2rem}
[data-tpl="bo2andina"] form::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:repeating-linear-gradient(90deg,var(--accent) 0 12px,var(--c2) 12px 16px,var(--c3) 16px 28px,var(--c2) 28px 32px)}
[data-tpl="bo2andina"] input[type=text],[data-tpl="bo2andina"] textarea{border-radius:0;border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
[data-tpl="bo2andina"] .acomp button{border-radius:0}
[data-tpl="bo2andina"] .cierre .nombre-cierre{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.14em;font-size:1.4rem;color:var(--accent)}
/* sobre: portal de tejido */
[data-tpl="bo2andina"] #sobre{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--c2) 42%,var(--bg)),var(--bg) 66%)}
[data-tpl="bo2andina"] .sobre-wrap h1{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.08em;font-size:1.7rem;color:var(--accent);margin-bottom:2rem}
[data-tpl="bo2andina"] .sobre-wrap .para{font-family:var(--f-head);color:var(--ink);opacity:.85}
.sobre-bo2a{width:270px;height:200px;position:relative;perspective:900px;margin:0 auto}
.bo2a-gl{position:absolute;inset:-34px;background:radial-gradient(circle at 50% 52%,color-mix(in srgb,var(--c2) 85%,transparent),transparent 62%);animation:bo2-breath 2.4s ease-in-out infinite}
.bo2a-sun{position:absolute;left:50%;top:50%;width:200px;height:200px;margin:-100px 0 0 -100px;transform:scale(.85);transition:transform .9s}
.bo2a-rays{transform-box:view-box;transform-origin:0 0;animation:bo2-rot 22s linear infinite}
.bo2a-card{position:absolute;left:50%;top:50%;width:178px;height:112px;margin:-56px 0 0 -89px;background:var(--bg);color:var(--ink);box-shadow:0 0 0 4px var(--bg),0 0 0 5.5px var(--accent-2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--f-head);transition:transform .8s .1s}
.bo2a-card small{letter-spacing:.3em;text-transform:uppercase;font-size:.6rem}
.bo2a-card b{font-weight:400;font-size:1.9rem;color:var(--accent);line-height:1.2}
.bo2a-d{position:absolute;top:0;width:135px;height:200px;box-shadow:0 12px 24px #0003;transition:transform .8s cubic-bezier(.5,0,.2,1);backface-visibility:hidden}
.bo2a-d.l{left:0;transform-origin:0 50%;animation:bo2a-dl 3.2s ease-in-out infinite}
.bo2a-d.r{right:0;transform-origin:100% 50%;animation:bo2a-dr 3.2s ease-in-out infinite}
.bo2a-d svg{width:100%;height:100%;display:block}
.bo2a-d::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;background:repeating-linear-gradient(90deg,var(--c2) 0 2px,transparent 2px 5px)}
@keyframes bo2a-dl{0%,100%{transform:rotateY(0)}22%,36%{transform:rotateY(-22deg)}}
@keyframes bo2a-dr{0%,100%{transform:rotateY(0)}22%,36%{transform:rotateY(22deg)}}
.bo2a-chk{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;z-index:5;filter:drop-shadow(0 3px 4px #0004);transition:opacity .3s,transform .5s;animation:bo2-pulse 1.8s ease-in-out infinite;--a:10}
.bo2a-ring{transform-box:view-box;transform-origin:0 0;animation:bo2-rot 8s linear infinite}
.sobre-bo2a.open .bo2a-d.l{animation:none;transform:rotateY(-112deg)}
.sobre-bo2a.open .bo2a-d.r{animation:none;transform:rotateY(112deg)}
.sobre-bo2a.open .bo2a-chk{animation:none;opacity:0;transform:scale(1.7)}
.sobre-bo2a.open .bo2a-card{transform:translateY(-34px) scale(1.16)}
.sobre-bo2a.open .bo2a-sun{transform:scale(1.35)}

/* =====================================================================
   2. FARO Y MAREA
   ===================================================================== */
[data-tpl="bo2faro"]{--anc:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><circle cx='12' cy='5' r='2.6'/><path d='M12 7.6V21M7.5 12H16.5M4 14Q4.5 21 12 21Q19.5 21 20 14'/></svg>")}
[data-fx="bo2faro"] #fx{background:linear-gradient(180deg,transparent 50%,color-mix(in srgb,var(--c3) 22%,transparent))}
[data-tpl="bo2faro"] .eyebrow{font-family:var(--f-head);font-weight:600;letter-spacing:.38em;color:var(--accent);opacity:1;font-size:.82rem}
[data-tpl="bo2faro"] .nombre{font-family:var(--f-script);color:var(--accent);font-size:min(var(--name-size),16vw);line-height:1.02;text-shadow:2px 3px 0 color-mix(in srgb,var(--accent-2) 50%,transparent);margin-top:.7rem}
[data-tpl="bo2faro"] .nom2 i{display:block;font-size:0;width:30px;height:30px;margin:.1rem 0;background:var(--accent-2);-webkit-mask:var(--anc) center/contain no-repeat;mask:var(--anc) center/contain no-repeat;opacity:1;transform-origin:50% 0;animation:bo2-rock 3.4s ease-in-out infinite}
[data-tpl="bo2faro"] .titulo{font-family:var(--f-head);font-weight:600;font-size:.98rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink);text-decoration:underline wavy var(--accent-2) 1.5px;text-underline-offset:9px;margin-top:.7rem}
[data-tpl="bo2faro"] .f-bo2faro{--ar:1;width:min(72%,280px);padding:13px;border-radius:50%;box-shadow:0 12px 32px #0003;margin-top:2rem;margin-bottom:2rem;background:var(--bg)}
[data-tpl="bo2faro"] .f-bo2faro::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:2;background:repeating-conic-gradient(var(--accent-2) 0 3deg,color-mix(in srgb,var(--accent-2) 55%,#000) 3deg 6deg);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 13px),#000 calc(100% - 12px));mask:radial-gradient(farthest-side,#0000 calc(100% - 13px),#000 calc(100% - 12px));animation:bo2-rot 50s linear infinite}
[data-tpl="bo2faro"] .f-bo2faro img{border-radius:50%;position:relative;z-index:1;aspect-ratio:1}
[data-tpl="bo2faro"] .fecha{margin-top:1.6rem;column-gap:1.3rem;align-items:center}
[data-tpl="bo2faro"] .fecha .dia{position:relative;isolation:isolate;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-head);font-weight:700;font-size:2.7rem;color:var(--accent);background:repeating-conic-gradient(from 22.5deg,var(--accent) 0 45deg,#fff 45deg 90deg);box-shadow:0 6px 16px #0003;animation:bo2-rock 5s ease-in-out infinite}
[data-tpl="bo2faro"] .fecha .dia::before{content:"";position:absolute;inset:16px;border-radius:50%;background:var(--bg);z-index:-1;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}
[data-tpl="bo2faro"] .fecha .d-dow,[data-tpl="bo2faro"] .fecha .d-mes,[data-tpl="bo2faro"] .fecha .d-anio{font-family:var(--f-head);font-weight:600;letter-spacing:.2em;font-size:.95rem}
[data-tpl="bo2faro"] .hora{font-family:var(--f-head);color:var(--accent);opacity:1}
[data-tpl="bo2faro"] .cuenta{gap:.55rem;margin-top:1.7rem;animation:bo2-float 5s ease-in-out infinite;--a:1}
[data-tpl="bo2faro"] .cuenta{animation-name:bo2-cb}
@keyframes bo2-cb{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
[data-tpl="bo2faro"] .cuenta div{position:relative;isolation:isolate;min-width:0;width:68px;height:68px;padding:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-conic-gradient(from 22.5deg,var(--accent) 0 45deg,#fff 45deg 90deg);box-shadow:0 5px 12px #0003;color:var(--ink)}
[data-tpl="bo2faro"] .cuenta div::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--bg);z-index:-1}
[data-tpl="bo2faro"] .cd-s{background:repeating-conic-gradient(from 22.5deg,var(--accent-2) 0 45deg,#fff 45deg 90deg)!important}
[data-tpl="bo2faro"] .cuenta b{font-family:var(--f-head);font-weight:700;font-size:1.22rem;line-height:1;color:var(--ink)}
[data-tpl="bo2faro"] .cuenta span{font-family:var(--f-head);font-weight:600;font-size:.5rem;letter-spacing:.08em;margin-top:2px;opacity:.9}
[data-tpl="bo2faro"] .cd-s b{animation:bo2-tick 1s ease-out}
[data-tpl="bo2faro"] .mensaje{font-style:normal;font-size:1.15rem;line-height:1.75}
[data-tpl="bo2faro"] .mensaje::before{content:"";display:block;width:100px;height:10px;margin:0 auto 1rem;background:radial-gradient(circle at 10px 0,#0000 7px,var(--accent-2) 7.5px 9px,#0000 9.5px) 0 0/20px 10px}
[data-tpl="bo2faro"] .padres b{font-family:var(--f-head);font-weight:600;color:var(--accent);opacity:1;letter-spacing:.24em}
[data-tpl="bo2faro"] h2.sec{font-family:var(--f-script);font-size:2.5rem;color:var(--accent)}
[data-tpl="bo2faro"] .programa::before{width:0;border-left:2px dotted var(--accent-2);background:none;opacity:1}
[data-tpl="bo2faro"] .programa time{font-family:var(--f-head);font-weight:700;color:var(--accent)}
[data-tpl="bo2faro"] .programa span::before{left:-.5rem;top:.5rem;width:12px;height:12px;border:3px solid var(--accent);background:var(--bg)}
[data-tpl="bo2faro"] .nombre-lugar{font-family:var(--f-script);font-weight:400;font-size:2rem;color:var(--accent)}
[data-tpl="bo2faro"] .btn{font-family:var(--f-head);font-weight:600;letter-spacing:.2em;box-shadow:0 4px 0 color-mix(in srgb,var(--accent) 55%,#000)}
[data-tpl="bo2faro"] .btn.ghost{box-shadow:none}
[data-tpl="bo2faro"] .galeria img,[data-tpl="bo2faro"] .galeria img:nth-child(3n+1){border-radius:50%;aspect-ratio:1;border:5px solid var(--bg);box-shadow:0 0 0 3px var(--accent),0 8px 18px #0003}
[data-tpl="bo2faro"] .galeria{gap:1.3rem;padding:0 .4rem}
[data-tpl="bo2faro"] form{border-radius:22px;border:2px solid var(--accent);box-shadow:0 7px 0 color-mix(in srgb,var(--accent) 22%,transparent)}
[data-tpl="bo2faro"] input[type=text],[data-tpl="bo2faro"] textarea{border-radius:12px}
[data-tpl="bo2faro"] .cierre .nombre-cierre{font-family:var(--f-script);font-size:2.4rem;color:var(--accent)}
/* sobre: botella con mensaje */
[data-tpl="bo2faro"] #sobre{background:linear-gradient(180deg,color-mix(in srgb,var(--c1) 38%,var(--bg)),color-mix(in srgb,var(--c3) 58%,var(--bg)) 62%,color-mix(in srgb,var(--c4) 45%,var(--bg)))}
[data-tpl="bo2faro"] .sobre-wrap h1{font-family:var(--f-script);color:var(--accent);font-size:2.9rem;margin-bottom:.6rem}
[data-tpl="bo2faro"] .sobre-wrap .para{font-family:var(--f-head);font-weight:600;letter-spacing:.3em;color:var(--ink);opacity:.9}
.sobre-bo2f{width:200px;height:250px;margin:0 auto}
.sobre-bo2f svg{width:100%;height:100%;overflow:visible;display:block}
.bo2f-bot{transform-origin:110px 236px;animation:bo2f-bot 4s ease-in-out infinite}
@keyframes bo2f-bot{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-7px)}}
.bo2f-fl{animation:bo2-flow var(--t,4s) linear infinite}
.bo2f-sh{animation:bo2f-sh 3.2s ease-in-out infinite}
@keyframes bo2f-sh{0%,40%{transform:translateX(0)}80%,100%{transform:translateX(110px)}}
.bo2f-un{opacity:0;transform-origin:110px 163px;transform:scale(.3)}
.bo2f-cork,.bo2f-gb,.bo2f-ro{transition:transform .45s ease-in,opacity .5s}
.bo2f-sc{transform-origin:110px 163px;transition:transform .8s}
.sobre-bo2f.open .bo2f-cork{transform:translate(18px,-80px) rotate(40deg);opacity:0}
.sobre-bo2f.open .bo2f-gb{opacity:0}
.sobre-bo2f.open .bo2f-ro{opacity:0;transition-delay:.15s}
.sobre-bo2f.open .bo2f-sc{transform:translateY(-30px) scale(1.3)}
.sobre-bo2f.open .bo2f-un{opacity:1;transform:scale(1);transition:opacity .4s .25s,transform .6s .25s}

/* =====================================================================
   3. NUESTRA CONSTELACIÓN
   ===================================================================== */
[data-tpl="bo2estrellas"]{--stars:radial-gradient(1.4px 1.4px at 7% 11%,#fff,#0000),radial-gradient(1px 1px at 19% 31%,#fffc,#0000),radial-gradient(1.6px 1.6px at 31% 7%,var(--accent-2),#0000),radial-gradient(1px 1px at 44% 24%,#fff,#0000),radial-gradient(1.4px 1.4px at 58% 13%,#fffc,#0000),radial-gradient(1px 1px at 71% 36%,#fff,#0000),radial-gradient(1.6px 1.6px at 83% 9%,#fff,#0000),radial-gradient(1px 1px at 93% 27%,var(--accent-2),#0000),radial-gradient(1.4px 1.4px at 12% 52%,#fff,#0000),radial-gradient(1px 1px at 27% 68%,#fffc,#0000),radial-gradient(1.6px 1.6px at 49% 57%,#fff,#0000),radial-gradient(1px 1px at 66% 72%,var(--accent-2),#0000),radial-gradient(1.4px 1.4px at 88% 61%,#fff,#0000),radial-gradient(1px 1px at 38% 88%,#fff,#0000),radial-gradient(1.4px 1.4px at 76% 91%,#fffc,#0000),radial-gradient(1px 1px at 5% 84%,#fff,#0000)}
[data-fx="bo2estrellas"] #fx{background:radial-gradient(ellipse 120% 55% at 50% -8%,color-mix(in srgb,var(--c3) 75%,transparent),transparent 70%),radial-gradient(ellipse 80% 45% at 92% 105%,color-mix(in srgb,var(--c4) 40%,transparent),transparent 70%)}
[data-fx="bo2estrellas"] #fx::before,[data-fx="bo2estrellas"] #fx::after{content:"";position:absolute;inset:0;background-image:var(--stars);animation:bo2-breath 5s ease-in-out infinite}
[data-fx="bo2estrellas"] #fx::after{background-position:37px 53px;background-size:112% 112%;animation-delay:-2.5s;animation-duration:7s}
[data-tpl="bo2estrellas"] .eyebrow{font-family:var(--f-body);font-weight:400;letter-spacing:.44em;color:var(--accent);opacity:1;font-size:.78rem}
[data-tpl="bo2estrellas"] .nombre{font-family:var(--f-head);font-style:italic;font-weight:300;font-size:min(var(--name-size),13.6vw);line-height:1.04;background:linear-gradient(180deg,var(--ink) 25%,var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 40%,transparent));margin-top:.8rem}
[data-tpl="bo2estrellas"] .nom2 i{display:block;font-size:0;width:26px;height:26px;margin:.1rem 0;background:var(--accent-2);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -10 20 20'><path d='M0 -9L2.2 -2.2 9 0 2.2 2.2 0 9 -2.2 2.2 -9 0 -2.2 -2.2Z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -10 20 20'><path d='M0 -9L2.2 -2.2 9 0 2.2 2.2 0 9 -2.2 2.2 -9 0 -2.2 -2.2Z'/></svg>") center/contain no-repeat;opacity:1;animation:bo2-tw 3s ease-in-out infinite}
[data-tpl="bo2estrellas"] .titulo{font-family:var(--f-head);font-style:italic;font-weight:300;font-size:1.45rem;color:var(--ink);margin-top:.5rem}
[data-tpl="bo2estrellas"] .f-bo2estrellas{--ar:1;width:min(70%,270px);padding:9px;border-radius:50%;margin-top:2.4rem;margin-bottom:2.4rem;background:radial-gradient(circle at 30% 20%,var(--accent-2),var(--c4));box-shadow:0 0 0 1px var(--accent-2),0 0 44px color-mix(in srgb,var(--accent-2) 32%,transparent)}
[data-tpl="bo2estrellas"] .f-bo2estrellas img{border-radius:50%;aspect-ratio:1}
[data-tpl="bo2estrellas"] .f-bo2estrellas::before{content:"";position:absolute;inset:-13px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--accent-2) 70%,transparent);animation:bo2-rot 70s linear infinite reverse}
[data-tpl="bo2estrellas"] .f-bo2estrellas::after{content:"";position:absolute;inset:-22px;border-radius:50%;background:radial-gradient(circle at 50% 2px,#fff 0 2.4px,color-mix(in srgb,var(--accent-2) 70%,transparent) 3.6px,#0000 8px);animation:bo2-rot 16s linear infinite}
[data-tpl="bo2estrellas"] .fecha{margin-top:1.4rem;column-gap:1.3rem}
[data-tpl="bo2estrellas"] .fecha .dia{font-family:var(--f-head);font-weight:300;font-size:5.4rem;background:linear-gradient(180deg,var(--ink) 20%,var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 35%,transparent))}
[data-tpl="bo2estrellas"] .fecha .d-dow,[data-tpl="bo2estrellas"] .fecha .d-mes,[data-tpl="bo2estrellas"] .fecha .d-anio{font-family:var(--f-body);font-weight:300;letter-spacing:.3em;font-size:.9rem}
[data-tpl="bo2estrellas"] .hora{color:var(--accent);opacity:1}
[data-tpl="bo2estrellas"] .cuenta{gap:.85rem;margin-top:1.8rem}
[data-tpl="bo2estrellas"] .cuenta div{position:relative;min-width:0;width:66px;height:66px;padding:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 25%,color-mix(in srgb,var(--c3) 85%,#fff),var(--soft) 72%);border:1px solid color-mix(in srgb,var(--accent-2) 65%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent-2) 22%,transparent)}
[data-tpl="bo2estrellas"] .cuenta div::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--accent-2) 50%,transparent)}
[data-tpl="bo2estrellas"] .cd-s::before{content:"";position:absolute;inset:-7px;border-radius:50%;background:radial-gradient(circle at 50% 1px,#fff 0 2.4px,color-mix(in srgb,var(--accent-2) 70%,transparent) 3.6px,#0000 7px);animation:bo2-rot 1s linear 1}
[data-tpl="bo2estrellas"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.4rem;line-height:1}
[data-tpl="bo2estrellas"] .cuenta span{font-family:var(--f-body);font-size:.5rem;letter-spacing:.14em;margin-top:3px}
[data-tpl="bo2estrellas"] .cd-s b{animation:bo2-tick 1s ease-out}
[data-tpl="bo2estrellas"] .mensaje{font-family:var(--f-head);font-weight:300;font-size:1.32rem;line-height:1.55}
[data-tpl="bo2estrellas"] .padres b{font-family:var(--f-body);color:var(--accent);opacity:1;letter-spacing:.3em;font-weight:400}
[data-tpl="bo2estrellas"] h2.sec{font-family:var(--f-head);font-style:italic;font-weight:300;font-size:2.1rem;color:var(--accent)}
[data-tpl="bo2estrellas"] .programa::before{width:1px;background:linear-gradient(180deg,transparent,var(--accent-2),transparent);opacity:.7}
[data-tpl="bo2estrellas"] .programa time{font-family:var(--f-head);color:var(--accent)}
[data-tpl="bo2estrellas"] .programa span::before{left:-.42rem;top:.4rem;width:16px;height:16px;border-radius:0;background:var(--accent-2);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);box-shadow:none}
[data-tpl="bo2estrellas"] .nombre-lugar{font-family:var(--f-head);font-style:italic;font-weight:300;font-size:1.8rem;color:var(--ink)}
[data-tpl="bo2estrellas"] .btn{background:linear-gradient(135deg,var(--accent),var(--accent-2));font-family:var(--f-body);font-weight:500;letter-spacing:.2em;box-shadow:0 0 22px color-mix(in srgb,var(--accent) 35%,transparent)}
[data-tpl="bo2estrellas"] .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--accent);box-shadow:none}
[data-tpl="bo2estrellas"] .galeria img,[data-tpl="bo2estrellas"] .galeria img:nth-child(3n+1){border-radius:999px 999px 12px 12px;aspect-ratio:3/4;border:1px solid color-mix(in srgb,var(--accent-2) 70%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent-2) 20%,transparent)}
[data-tpl="bo2estrellas"] form,[data-tpl="bo2estrellas"] .gracias{border:1px solid color-mix(in srgb,var(--accent-2) 45%,transparent);box-shadow:0 0 30px color-mix(in srgb,var(--accent-2) 14%,transparent);backdrop-filter:blur(4px)}
[data-tpl="bo2estrellas"] input[type=text],[data-tpl="bo2estrellas"] textarea{background:#ffffff14;color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}
[data-tpl="bo2estrellas"] .acomp button{background:#ffffff1f;color:var(--ink)}
[data-tpl="bo2estrellas"] .cierre .nombre-cierre{font-family:var(--f-head);font-style:italic;font-weight:300;font-size:2rem;color:var(--accent)}
.bo2e-ini{font:italic 400 46px var(--f-head);fill:var(--accent-2)}
[data-tpl="bo2estrellas"] .escena{-webkit-mask-image:linear-gradient(180deg,#000 80%,#0000);mask-image:linear-gradient(180deg,#000 80%,#0000)}
/* sobre: atlas del cielo */
[data-tpl="bo2estrellas"] #sobre{background:radial-gradient(ellipse 100% 60% at 50% 0,color-mix(in srgb,var(--c3) 80%,var(--bg)),var(--bg) 70%)}
[data-tpl="bo2estrellas"] #sobre::before,[data-tpl="bo2estrellas"] #sobre::after{content:"";position:absolute;inset:0;background-image:var(--stars);animation:bo2-breath 4s ease-in-out infinite}
[data-tpl="bo2estrellas"] #sobre::after{background-position:30px 40px;background-size:115% 115%;animation-delay:-2s}
[data-tpl="bo2estrellas"] .sobre-wrap{position:relative;z-index:1}
[data-tpl="bo2estrellas"] .sobre-wrap h1{font-family:var(--f-head);font-style:italic;font-weight:300;font-size:2.4rem;color:var(--ink);margin-bottom:1.6rem}
[data-tpl="bo2estrellas"] .sobre-wrap .para{font-family:var(--f-body);letter-spacing:.4em;color:var(--accent);opacity:1;font-size:.8rem}
.sobre-bo2e{width:190px;height:250px;position:relative;perspective:1100px;margin:0 auto}
.bo2e-book{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.5,0,.2,1);animation:bo2e-bk 4.2s ease-in-out infinite}
@keyframes bo2e-bk{0%,100%{transform:rotateY(-16deg) rotateX(4deg) translateY(0)}50%{transform:rotateY(8deg) rotateX(-2deg) translateY(-10px)}}
.sobre-bo2e.open .bo2e-book{animation:none;transform:translateX(70px) scale(.86)}
.bo2e-pg{position:absolute;inset:0;border-radius:2px 8px 8px 2px;background:linear-gradient(90deg,#e6d8b8,#f8f0dc 14%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;transition:box-shadow .8s;box-shadow:6px 8px 0 -2px #d9c9a3,0 10px 30px #0006}
.sobre-bo2e.open .bo2e-pg{box-shadow:0 0 60px 8px color-mix(in srgb,var(--accent-2) 60%,transparent)}
.bo2e-pg small{font:500 .56rem var(--f-body);letter-spacing:.34em;text-transform:uppercase;color:#6a5a3a}
.bo2e-pg b{font:italic 300 2.1rem var(--f-head);color:#2b2347;text-align:center;line-height:1.1}
.bo2e-pg i{width:12px;height:12px;background:#b8892a;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.bo2e-cover{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.5,0,.2,1)}
.sobre-bo2e.open .bo2e-cover{transform:rotateY(-168deg)}
.bo2e-f,.bo2e-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:2px 8px 8px 2px;overflow:hidden}
.bo2e-f{background:linear-gradient(150deg,color-mix(in srgb,var(--c3) 78%,#000),color-mix(in srgb,var(--bg) 82%,var(--c3)));box-shadow:inset 9px 0 12px #0007,0 10px 30px #0006}
.bo2e-f svg{position:absolute;inset:8px 6px 8px 14px;width:calc(100% - 20px);height:calc(100% - 16px);overflow:visible}
.bo2e-f::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#0000 40%,#ffffff38 50%,#0000 60%);animation:bo2-sw 3.4s ease-in-out infinite}
.bo2e-b{transform:rotateY(180deg);background:linear-gradient(90deg,#f1e6c9,#e3d4b0)}
.bo2e-t1{font:500 7px var(--f-body);letter-spacing:.32em;fill:var(--accent-2)}
.bo2e-t2{font:italic 300 15px var(--f-head);fill:var(--ink)}
.bo2e-rb{position:absolute;left:68%;bottom:-26px;width:13px;height:40px;background:var(--accent-2);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);transform-origin:50% 0;animation:bo2-rock 2.6s ease-in-out infinite}
[data-tpl^="bo2"] main section{overflow-x:clip}

/* =====================================================================
   4. PASE DE ABORDAR
   ===================================================================== */
@keyframes bo2p-fly{0.0%{transform:translate(-30.0px,150.0px) rotate(-34.8deg)}8.3%{transform:translate(8.3px,125.6px) rotate(-30.1deg)}16.7%{transform:translate(46.7px,105.6px) rotate(-24.9deg)}25.0%{transform:translate(85.0px,90.0px) rotate(-19.2deg)}33.3%{transform:translate(123.3px,78.9px) rotate(-13.1deg)}41.7%{transform:translate(161.7px,72.2px) rotate(-6.6deg)}50.0%{transform:translate(200.0px,70.0px) rotate(0.0deg)}58.3%{transform:translate(238.3px,72.2px) rotate(6.6deg)}66.7%{transform:translate(276.7px,78.9px) rotate(13.1deg)}75.0%{transform:translate(315.0px,90.0px) rotate(19.2deg)}83.3%{transform:translate(353.3px,105.6px) rotate(24.9deg)}91.7%{transform:translate(391.7px,125.6px) rotate(30.1deg)}100.0%{transform:translate(430.0px,150.0px) rotate(34.8deg)}}
@keyframes bo2p-mar{to{stroke-dashoffset:-27}}
@keyframes bo2p-rip{0%{transform:scale(.3);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes bo2p-air{to{background-position:68px 0,68px 0}}
@keyframes bo2p-flip{0%{transform:perspective(200px) rotateX(-88deg);opacity:.2}100%{transform:perspective(200px) rotateX(0);opacity:1}}
@keyframes bo2p-sway{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(2.5deg) translateY(-8px)}}
@keyframes bo2p-scan{0%,30%{transform:translateX(-120%)}70%,100%{transform:translateX(220%)}}
.bo2p-fly{animation:bo2p-fly 11s linear infinite}
.bo2p-mar{animation:bo2p-mar 1.6s linear infinite}
.bo2p-rip{transform-box:fill-box;transform-origin:50% 50%;animation:bo2p-rip 2.2s ease-out infinite}
[data-tpl="bo2pasaporte"]{--air:linear-gradient(115deg,var(--accent) 0 12px,#0000 12px 20px,var(--c3) 20px 32px,#0000 32px 40px,var(--accent) 40px 52px,#0000 52px 60px,var(--c3) 60px 68px)}
[data-fx="bo2pasaporte"] #fx{background:radial-gradient(ellipse 90% 40% at 50% 0,color-mix(in srgb,var(--c2) 45%,transparent),transparent 70%),repeating-linear-gradient(0deg,color-mix(in srgb,var(--c3) 5%,transparent) 0 1px,#0000 1px 7px),repeating-linear-gradient(90deg,color-mix(in srgb,var(--c3) 4%,transparent) 0 1px,#0000 1px 7px)}
[data-fx="bo2pasaporte"] #fx::before,[data-fx="bo2pasaporte"] #fx::after{content:"";position:absolute;left:0;right:0;height:10px;background:var(--air) 0 0/68px 100% repeat-x,var(--air) 0 0/68px 100% repeat-x;background:var(--air) 0 0/68px 100% repeat-x;animation:bo2p-air 2.4s linear infinite}
[data-fx="bo2pasaporte"] #fx::before{top:0}[data-fx="bo2pasaporte"] #fx::after{bottom:0}
[data-tpl="bo2pasaporte"] .escena{-webkit-mask-image:linear-gradient(180deg,#000 82%,#0000);mask-image:linear-gradient(180deg,#000 82%,#0000)}
[data-tpl="bo2pasaporte"] .eyebrow{font-family:var(--f-head);letter-spacing:.14em;font-size:.82rem;color:var(--accent);opacity:1}
[data-tpl="bo2pasaporte"] .nombre{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.04em;font-size:min(var(--name-size),11.5vw);line-height:1.02;color:var(--ink);text-shadow:2px 2px 0 color-mix(in srgb,var(--accent) 35%,transparent)}
[data-tpl="bo2pasaporte"] .nom2 i{font-family:var(--f-script);text-transform:none;font-size:.9em;opacity:1;color:var(--accent);line-height:.7;margin:.1rem 0 .2rem;transform:rotate(-8deg)}
[data-tpl="bo2pasaporte"] .titulo{font-family:var(--f-script);font-size:2rem;color:var(--accent);margin-top:.4rem;transform:rotate(-2deg)}
[data-tpl="bo2pasaporte"] .f-bo2pasaporte{--ar:4/5;width:min(66%,250px);margin:2.2rem auto 2.2rem;padding:10px 10px 36px;background:#fffdf7;box-shadow:0 12px 30px #0003,0 2px 0 #0001;transform:rotate(2.4deg);border-radius:3px;animation:bo2p-sway 7s ease-in-out infinite;transform-origin:50% 0}
[data-tpl="bo2pasaporte"] .f-bo2pasaporte img{aspect-ratio:4/5;filter:saturate(.95)}
[data-tpl="bo2pasaporte"] .f-bo2pasaporte::before{content:"";position:absolute;top:-14px;left:50%;width:84px;height:26px;margin-left:-42px;background:color-mix(in srgb,var(--accent-2) 55%,#fff0);transform:rotate(-3deg);border-left:2px dashed #fff8;border-right:2px dashed #fff8}
[data-tpl="bo2pasaporte"] .f-bo2pasaporte::after{content:"VISADO · SÍ ACEPTO";position:absolute;right:-26px;bottom:-12px;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;text-align:center;padding:0 16px;font:12px/1.15 var(--f-head);letter-spacing:.06em;color:var(--accent);border:3px double var(--accent);background:#0000;transform:rotate(-16deg);opacity:.9;mix-blend-mode:multiply;box-shadow:inset 0 0 0 5px #0000}
[data-tpl="bo2pasaporte"] .fecha{position:relative;width:max-content;max-width:94%;margin:1.4rem auto .4rem;padding:1rem 1.7rem .7rem;background:var(--card);border-radius:12px;column-gap:1.2rem;box-shadow:0 8px 24px #0002;-webkit-mask:radial-gradient(circle 9px at 0 42%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 42%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 9px at 0 42%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 42%,#0000 98%,#000) right/51% 100% no-repeat}
[data-tpl="bo2pasaporte"] .fecha::after{content:"";grid-column:1/-1;grid-row:4;height:22px;margin-top:.6rem;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,#0000 2px 4px,var(--ink) 4px 5px,#0000 5px 9px,var(--ink) 9px 12px,#0000 12px 14px);opacity:.85;border-top:2px dashed color-mix(in srgb,var(--ink) 35%,transparent);padding-top:.4rem;background-clip:content-box}
[data-tpl="bo2pasaporte"] .fecha .dia{font-family:var(--f-head);font-size:4.6rem;color:var(--accent)}
[data-tpl="bo2pasaporte"] .fecha .d-dow,[data-tpl="bo2pasaporte"] .fecha .d-mes,[data-tpl="bo2pasaporte"] .fecha .d-anio{font-family:var(--f-head);letter-spacing:.14em;font-size:.98rem;color:var(--ink)}
[data-tpl="bo2pasaporte"] .hora{font-family:var(--f-head);color:var(--accent);font-size:.95rem;letter-spacing:.12em}
[data-tpl="bo2pasaporte"] .cuenta{gap:.45rem;margin-top:1.5rem}
[data-tpl="bo2pasaporte"] .cuenta div{position:relative;min-width:0;width:68px;padding:.55rem 0 .4rem;border-radius:8px;background:linear-gradient(180deg,var(--c4) 50%,color-mix(in srgb,var(--c4) 82%,#000) 50%);color:var(--bg);box-shadow:0 5px 12px #0003;overflow:hidden}
[data-tpl="bo2pasaporte"] .cuenta div::before{content:"";position:absolute;left:0;right:0;top:calc(50% - 5px);height:2px;background:#0008}
[data-tpl="bo2pasaporte"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.9rem;line-height:1.15;color:#fff5d8}
[data-tpl="bo2pasaporte"] .cuenta span{font-family:var(--f-body);font-size:.55rem;letter-spacing:.16em;opacity:.85;color:var(--bg)}
[data-tpl="bo2pasaporte"] .cd-s b{animation:bo2p-flip .5s ease-out}
[data-tpl="bo2pasaporte"] .mensaje{font-family:var(--f-body);font-style:normal;font-size:1.18rem;line-height:1.7}
[data-tpl="bo2pasaporte"] .padres b{font-family:var(--f-head);color:var(--accent);opacity:1;letter-spacing:.14em;font-weight:400}
[data-tpl="bo2pasaporte"] h2.sec{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.12em;font-size:1.5rem;color:var(--accent);display:inline-block;padding:.35rem 1.1rem;border:2px solid var(--accent);border-radius:6px;transform:rotate(-2deg);margin-bottom:.4rem}
[data-tpl="bo2pasaporte"] .programa::before{background:none;border-left:2px dashed var(--accent);opacity:.7;width:0}
[data-tpl="bo2pasaporte"] .programa time{font-family:var(--f-head);color:var(--accent);font-weight:400}
[data-tpl="bo2pasaporte"] .programa span::before{left:-.36rem;top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--bg);border:3px solid var(--accent-2);box-shadow:none}
[data-tpl="bo2pasaporte"] .lugar{position:relative}
[data-tpl="bo2pasaporte"] .nombre-lugar{font-family:var(--f-head);font-size:1.6rem;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}
[data-tpl="bo2pasaporte"] .btn{background:var(--accent);color:var(--btn-ink);font-family:var(--f-head);text-transform:uppercase;letter-spacing:.14em;border-radius:6px;font-size:.88rem;box-shadow:3px 3px 0 var(--ink)}
[data-tpl="bo2pasaporte"] .btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}
[data-tpl="bo2pasaporte"] .btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:none}
[data-tpl="bo2pasaporte"] .galeria img,[data-tpl="bo2pasaporte"] .galeria img:nth-child(3n+1){aspect-ratio:1;border-radius:2px;background:#fffdf7;padding:6px 6px 22px;box-shadow:0 6px 16px #0003;transform:rotate(-2deg)}
[data-tpl="bo2pasaporte"] .galeria img:nth-child(2n){transform:rotate(2.2deg)}
[data-tpl="bo2pasaporte"] form,[data-tpl="bo2pasaporte"] .gracias{border:2px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:10px;box-shadow:none;background:var(--card)}
[data-tpl="bo2pasaporte"] input[type=text],[data-tpl="bo2pasaporte"] textarea{border:0;border-bottom:2px solid var(--ink);border-radius:0;background:#0000;font-family:var(--f-head);color:var(--ink)}
[data-tpl="bo2pasaporte"] label{font-family:var(--f-head);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
[data-tpl="bo2pasaporte"] .cierre .nombre-cierre{font-family:var(--f-script);font-size:2.1rem;color:var(--accent)}
/* sobre: boleto que se rasga */
[data-tpl="bo2pasaporte"] #sobre{background:radial-gradient(ellipse 100% 55% at 50% 0,color-mix(in srgb,var(--c2) 55%,var(--bg)),var(--bg) 75%)}
[data-tpl="bo2pasaporte"] #sobre::before,[data-tpl="bo2pasaporte"] #sobre::after{content:"";position:absolute;left:0;right:0;height:12px;background:var(--air) 0 0/68px 100% repeat-x;animation:bo2p-air 2.4s linear infinite}
[data-tpl="bo2pasaporte"] #sobre::before{top:0}[data-tpl="bo2pasaporte"] #sobre::after{bottom:0}
[data-tpl="bo2pasaporte"] .sobre-wrap .para{font-family:var(--f-head);letter-spacing:.2em;color:var(--accent);opacity:1;font-size:.8rem}
[data-tpl="bo2pasaporte"] .sobre-wrap h1{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.04em;font-size:1.5rem;color:var(--ink);margin:1.2rem 0 1.6rem}
.sobre-bo2p{width:312px;margin:0 auto;perspective:900px}
.bo2p-tk{position:relative;display:flex;width:312px;height:168px;animation:bo2p-sway 4.6s ease-in-out infinite;filter:drop-shadow(0 12px 14px #0004);font-family:var(--f-head);color:var(--ink)}
.bo2p-main,.bo2p-stub{position:relative;background:#fffaf0;transition:transform .8s cubic-bezier(.5,0,.2,1),opacity .8s}
.bo2p-main{flex:0 0 232px;padding:.7rem .9rem .6rem;text-align:left;border-radius:12px 0 0 12px;overflow:hidden;clip-path:polygon(0 0,100% 0,98% 8%,100% 16%,98% 24%,100% 32%,98% 40%,100% 48%,98% 56%,100% 64%,98% 72%,100% 80%,98% 88%,100% 100%,0 100%);border-top:7px solid var(--accent);-webkit-mask:radial-gradient(circle 10px at 0 50%,#0000 98%,#000);mask:radial-gradient(circle 10px at 0 50%,#0000 98%,#000);transform-origin:0 100%}
.bo2p-stub{flex:1;padding:.7rem .6rem .6rem 1rem;border-radius:0 12px 12px 0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,2% 92%,0 84%,2% 76%,0 68%,2% 60%,0 52%,2% 44%,0 36%,2% 28%,0 20%,2% 12%);border-top:7px solid var(--accent);-webkit-mask:radial-gradient(circle 10px at 100% 50%,#0000 98%,#000);mask:radial-gradient(circle 10px at 100% 50%,#0000 98%,#000);display:flex;flex-direction:column;text-align:center;transform-origin:0 0}
.bo2p-top{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;letter-spacing:.14em;color:var(--accent)}
.bo2p-top svg{width:34px;height:17px;overflow:visible}
.bo2p-main b{display:block;font:400 2.3rem/1.1 var(--f-head);margin:.35rem 0 .35rem;color:var(--ink);letter-spacing:.02em}
.bo2p-row{display:flex;gap:.7rem;font-size:.66rem;letter-spacing:.06em;line-height:1.3}
.bo2p-row i,.bo2p-stub i{display:block;font:normal 500 .5rem var(--f-body);letter-spacing:.2em;color:color-mix(in srgb,var(--ink) 65%,#fffaf0)}
.bo2p-stub strong{font:400 1.05rem/1.2 var(--f-head);margin:.1rem 0 .5rem;color:var(--accent)}
.bo2p-stub svg{width:100%;height:34px;fill:var(--ink);margin-top:auto}
.bo2p-sc{position:absolute;top:0;bottom:0;width:30px;left:0;background:linear-gradient(100deg,#0000,#fff9,#0000);animation:bo2p-scan 3.2s ease-in-out infinite;pointer-events:none}
.sobre-bo2p.open .bo2p-tk{animation:none}
.sobre-bo2p.open .bo2p-stub{transform:translate(40px,150px) rotate(26deg);opacity:0}
.sobre-bo2p.open .bo2p-main{transform:translate(-16px,-46px) rotate(-6deg) scale(1.06);opacity:0;transition-delay:.12s}
