/* Bautizo y comunión · segunda oleada (bz2*) */
@font-face{font-family:"BZ Monsieur";font-weight:400;font-display:swap;src:url("/fonts/bz2-monsieur.woff2") format("woff2")}
@font-face{font-family:"BZ Corminf";font-weight:500;font-display:swap;src:url("/fonts/bz2-corminf.woff2") format("woff2")}
@font-face{font-family:"BZ Corminf";font-weight:400;font-style:italic;font-display:swap;src:url("/fonts/bz2-corminf-i.woff2") format("woff2")}
@font-face{font-family:"BZ Brush";font-weight:400;font-display:swap;src:url("/fonts/bz2-caveatbrush.woff2") format("woff2")}
@font-face{font-family:"BZ Fraunces";font-weight:100 900;font-display:swap;src:url("/fonts/bz2-fraunces.woff2") format("woff2")}
@font-face{font-family:"BZ Fraunces";font-weight:100 900;font-style:italic;font-display:swap;src:url("/fonts/bz2-fraunces-i.woff2") format("woff2")}
@font-face{font-family:"BZ Marcellus";font-weight:400;font-display:swap;src:url("/fonts/bz2-marcellus.woff2") format("woff2")}
@font-face{font-family:"BZ Josefin";font-weight:300;font-display:swap;src:url("/fonts/bz2-josefin300.woff2") format("woff2")}
@font-face{font-family:"BZ Josefin";font-weight:400;font-display:swap;src:url("/fonts/bz2-josefin400.woff2") format("woff2")}
@font-face{font-family:"BZ Sansita";font-weight:800;font-display:swap;src:url("/fonts/bz2-sansita.woff2") format("woff2")}
@font-face{font-family:"BZ Fell";font-weight:400;font-display:swap;src:url("/fonts/bz2-imfell.woff2") format("woff2")}
@font-face{font-family:"BZ Fell";font-weight:400;font-style:italic;font-display:swap;src:url("/fonts/bz2-imfell-i.woff2") format("woff2")}
@font-face{font-family:"BZ Fraktur";font-weight:700;font-display:swap;src:url("/fonts/bz2-unifraktur.woff2") format("woff2")}
@font-face{font-family:"BZ Sniglet";font-weight:800;font-display:swap;src:url("/fonts/bz2-sniglet.woff2") format("woff2")}
@font-face{font-family:"BZ Patrick";font-weight:400;font-display:swap;src:url("/fonts/bz2-patrick.woff2") format("woff2")}
@font-face{font-family:"BZ DMSerif";font-weight:400;font-display:swap;src:url("/fonts/bz2-dmserif.woff2") format("woff2")}
@font-face{font-family:"BZ DMSerif";font-weight:400;font-style:italic;font-display:swap;src:url("/fonts/bz2-dmserif-i.woff2") format("woff2")}
@font-face{font-family:"BZ Instrument";font-weight:400;font-style:italic;font-display:swap;src:url("/fonts/bz2-instrument-i.woff2") format("woff2")}
@font-face{font-family:"BZ DMSans";font-weight:100 1000;font-display:swap;src:url("/fonts/bz2-dmsans.woff2") format("woff2")}

/* ===== helpers de animación (prefijo bz-) ===== */
.bzo{transform-box:fill-box;transform-origin:50% 50%}
.bzv{transform-box:view-box}
.bz-tw{animation:bz-tw var(--t,3s) ease-in-out var(--dl,0s) infinite}
.bz-fl{animation:bz-fl var(--t,4s) ease-in-out var(--dl,0s) infinite}
.bz-sw{animation:bz-sw var(--t,5s) ease-in-out var(--dl,0s) infinite}
.bz-sp{animation:bz-sp var(--t,30s) linear var(--dl,0s) infinite}
.bz-pu{animation:bz-pu var(--t,3s) ease-in-out var(--dl,0s) infinite}
.bz-gl{animation:bz-gl var(--t,3s) ease-in-out var(--dl,0s) infinite}
.bz-dx{animation:bz-dx var(--t,8s) ease-in-out var(--dl,0s) infinite}
.bz-bl{animation:bz-bl var(--t,5s) ease-in-out var(--dl,0s) infinite}
.bz-dr{stroke-dasharray:1;animation:bz-dr var(--t,8s) ease-in-out var(--dl,0s) infinite backwards}
@keyframes bz-tw{0%,100%{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1.1)}}
@keyframes bz-fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes bz-sw{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes bz-sp{to{transform:rotate(360deg)}}
@keyframes bz-pu{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes bz-gl{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes bz-dx{0%,100%{transform:translateX(-12px)}50%{transform:translateX(12px)}}
@keyframes bz-bl{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(.1)}}
@keyframes bz-dr{0%{stroke-dashoffset:1}40%,62%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes bz-tick{0%{transform:scale(1.3);opacity:.5}100%{transform:none;opacity:1}}
.bz-sob{position:relative;margin:0 auto}.bz-sob svg{width:100%;height:100%;overflow:visible;display:block}
@media (prefers-reduced-motion:reduce){.bzo,.bz-dr,.bz-sob *,[data-tpl^="bz2"] .nombre,[data-tpl^="bz2"] .btn,[data-tpl^="bz2"] .cd-s b{animation:none!important}}
/* comunes: nombre largo, máscara de la escena, cuenta viva */
[data-tpl^="bz2"] .nombre{max-width:100%;overflow-wrap:anywhere;hyphens:manual;padding:0 .1em}
[data-tpl^="bz2"] .eyebrow{opacity:1}
[data-tpl^="bz2"] .nombre[data-len="l"]{font-size:min(3.6rem,12.5vw)!important;line-height:1.1!important}
[data-tpl^="bz2"] .nombre[data-len="xl"]{font-size:min(2.8rem,9.6vw)!important;line-height:1.12!important}
[data-tpl^="bz2"] .cd-s b{animation:bz-tick 1s ease-out}
[data-tpl^="bz2"] .cuenta{flex-wrap:wrap}
/* ================= 1. ROPÓN ================= */
[data-fx="bz2ropon"] #fx{background:radial-gradient(ellipse 80% 38% at 50% 0%,color-mix(in srgb,var(--c2) 24%,transparent),transparent 72%),radial-gradient(circle,color-mix(in srgb,var(--c3) 55%,transparent) 1.7px,transparent 2.2px) 0 0/28px 28px,var(--bg)}
[data-tpl="bz2ropon"] .escena{-webkit-mask-image:linear-gradient(#000 92%,transparent);mask-image:linear-gradient(#000 92%,transparent)}
.ro-gown{filter:drop-shadow(0 10px 8px color-mix(in srgb,var(--ink) 20%,transparent))}
.sobre-bz2ropon{width:240px;height:220px;filter:drop-shadow(0 14px 18px color-mix(in srgb,var(--ink) 25%,transparent))}
.sobre-bz2ropon .ro-halo{transform-box:fill-box;transform-origin:center;transition:transform .9s,opacity .9s}
.sobre-bz2ropon .ro-lid{transition:transform .9s cubic-bezier(.5,0,.3,1),opacity .6s .3s}
.sobre-bz2ropon .ro-peek{transition:transform .9s cubic-bezier(.4,0,.2,1) .1s}
.sobre-bz2ropon.open .ro-lid{transform:translate(-22px,-120px) rotate(-18deg);opacity:0}
.sobre-bz2ropon.open .ro-peek{transform:translateY(-74px)}
.sobre-bz2ropon.open .ro-halo{transform:scale(1.5)}
.ro-shine{animation:ro-shine 3.6s ease-in-out infinite}
@keyframes ro-shine{0%{transform:translateX(-10px) skewX(-18deg);opacity:0}12%{opacity:.6}55%{transform:translateX(150px) skewX(-18deg);opacity:.6}62%,100%{transform:translateX(150px) skewX(-18deg);opacity:0}}
[data-tpl="bz2ropon"] #sobre{background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--c2) 20%,var(--bg)),var(--soft) 80%)}
[data-tpl="bz2ropon"] .sobre-wrap .para{font-style:italic;letter-spacing:.2em;font-size:1.05rem;color:var(--accent);opacity:1}
[data-tpl="bz2ropon"] .sobre-wrap h1{font-family:var(--f-script);font-size:4.6rem;line-height:1;color:var(--accent);margin-bottom:1rem}
[data-tpl="bz2ropon"] .eyebrow{font-style:italic;text-transform:none;letter-spacing:.06em;font-size:1.3rem;color:var(--accent)}
[data-tpl="bz2ropon"] .nombre{font-size:min(6.6rem,22vw);line-height:1;color:var(--accent);margin:.3rem 0 .2rem;text-shadow:0 2px 0 color-mix(in srgb,var(--bg) 70%,transparent)}
[data-tpl="bz2ropon"] .titulo{font-family:var(--f-head);font-weight:500;font-size:1.05rem;letter-spacing:.42em;text-transform:uppercase;color:var(--ink)}
.foto.f-bz2ropon{--ar:4/5;width:min(70%,260px);margin:2.6rem auto;padding:12px;border-radius:50%/46%;background:var(--card);box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 20%,transparent)}
.foto.f-bz2ropon img{border-radius:50%/46%}
.foto.f-bz2ropon::before{content:"";position:absolute;inset:-14px;border-radius:50%/46%;border:7px dotted var(--c3)}
.foto.f-bz2ropon::after{content:"";position:absolute;inset:-26px;border-radius:50%/46%;border:1.5px solid var(--accent-2);opacity:.7}
[data-tpl="bz2ropon"] .fecha .dia{font-family:var(--f-script);font-size:6.6rem;color:var(--accent)}
[data-tpl="bz2ropon"] .fecha .d-dow,[data-tpl="bz2ropon"] .fecha .d-mes,[data-tpl="bz2ropon"] .fecha .d-anio{font-family:var(--f-head);font-weight:500;letter-spacing:.3em;font-size:1.05rem}
[data-tpl="bz2ropon"] .cuenta div{background:var(--card);color:var(--ink);border:1.6px solid var(--accent-2);border-radius:999px 999px 14px 14px;padding:.85rem .4rem .6rem;min-width:62px;box-shadow:0 0 0 4px var(--bg),0 0 0 5.5px var(--c3)}
[data-tpl="bz2ropon"] .cuenta b{font-family:var(--f-head);font-weight:500;font-size:1.9rem;color:var(--accent)}
[data-tpl="bz2ropon"] .cuenta span{font-size:.72rem;opacity:.85}
[data-tpl="bz2ropon"] .cuenta .cd-s{border-style:dashed}
[data-tpl="bz2ropon"] .mensaje{font-size:1.4rem}
[data-tpl="bz2ropon"] .padres b{font-family:var(--f-head);color:var(--accent);opacity:1;font-weight:500;letter-spacing:.3em}
[data-tpl="bz2ropon"] h2.sec{font-family:var(--f-script);font-size:3.8rem;font-weight:400;color:var(--accent)}
[data-tpl="bz2ropon"] .programa::before{background:none;border-left:2px dotted var(--accent-2);width:0;opacity:1}
[data-tpl="bz2ropon"] .programa time{font-family:var(--f-head);font-weight:500;font-size:1.2rem;color:var(--accent)}
[data-tpl="bz2ropon"] .programa span::before{width:11px;height:11px;border-radius:50%;background:var(--card);border:2.5px solid var(--accent-2);left:-.38rem;top:.5rem}
[data-tpl="bz2ropon"] .nombre-lugar{font-family:var(--f-head);font-weight:500;color:var(--accent)}
[data-tpl="bz2ropon"] .btn{background:var(--accent);color:var(--btn-ink);border-radius:999px 999px 8px 8px;font-family:var(--f-head);font-weight:500;letter-spacing:.2em;font-size:.95rem;padding:.9rem 2rem;box-shadow:0 0 0 3px var(--bg),0 0 0 4.5px var(--accent-2)}
[data-tpl="bz2ropon"] .btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent);box-shadow:none}
[data-tpl="bz2ropon"] form{border:1.6px dotted var(--accent-2);background:var(--card);border-radius:24px 24px 10px 10px}
[data-tpl="bz2ropon"] .galeria img{border-radius:999px 999px 10px 10px;border:3px solid var(--card);outline:1.5px dotted var(--accent-2);aspect-ratio:3/4}
[data-tpl="bz2ropon"] .nombre-cierre{font-family:var(--f-script);font-size:3.2rem;color:var(--accent)}
/* ================= 2. FRANCISCANO ================= */
[data-fx="bz2franc"] #fx{background:radial-gradient(ellipse 70% 40% at 50% 0%,color-mix(in srgb,var(--c2) 28%,transparent),transparent 70%),radial-gradient(circle at 12% 70%,color-mix(in srgb,var(--c1) 18%,transparent),transparent 40%),radial-gradient(circle at 90% 40%,color-mix(in srgb,var(--c3) 30%,transparent),transparent 40%),var(--bg)}
[data-tpl="bz2franc"] .escena{-webkit-mask-image:linear-gradient(#000 93%,transparent);mask-image:linear-gradient(#000 93%,transparent)}
.fr-hd{animation:fr-hd 5s ease-in-out var(--dl,0s) infinite}
@keyframes fr-hd{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-10deg)}82%{transform:rotate(7deg)}}
.fr-ear{animation:fr-ear var(--t,3.4s) ease-in-out var(--dl,0s) infinite}
@keyframes fr-ear{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-14deg)}86%{transform:rotate(6deg)}}
.fr-fly{animation:fr-fly 15s linear infinite}
@keyframes fr-fly{0%{transform:translate(70px,236px);opacity:0}6%{opacity:1}25%{transform:translate(130px,176px)}50%{transform:translate(214px,196px)}75%{transform:translate(290px,128px)}94%{opacity:1}100%{transform:translate(336px,70px);opacity:0}}
.fr-wg{animation:fr-wg .5s ease-in-out infinite}
@keyframes fr-wg{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.35)}}
.fr-sw{animation:fr-sw 12s linear 2s infinite}
@keyframes fr-sw{0%{transform:translate(370px,60px)}60%,100%{transform:translate(40px,34px)}}
.fr-flap{animation:fr-flap .6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
@keyframes fr-flap{0%,100%{transform:scaleY(1)}50%{transform:scaleY(-.5)}}
.fr-shut{animation:fr-shut var(--t,5s) ease-in-out var(--dl,0s) infinite}
@keyframes fr-shut{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.94)}}
.sobre-bz2franc{width:240px;height:250px;filter:drop-shadow(0 14px 16px color-mix(in srgb,var(--ink) 22%,transparent))}
.sobre-bz2franc .fr-sh{transition:transform .9s cubic-bezier(.5,0,.25,1);transform-box:view-box}
.sobre-bz2franc .fr-shl{transform-origin:44px 0}.sobre-bz2franc .fr-shr{transform-origin:196px 0}
.sobre-bz2franc .fr-crack{animation:bz-gl 2s ease-in-out infinite;transition:opacity .3s}
.sobre-bz2franc.open .fr-shl,.sobre-bz2franc.open .fr-shr{transform:scaleX(.14)}
.sobre-bz2franc.open .fr-crack{opacity:0}
.sobre-bz2franc .fr-sgl{transform-box:fill-box;transform-origin:center;transition:transform .9s}
.sobre-bz2franc.open .fr-sgl{transform:scale(1.5)}
.sobre-bz2franc .fr-bfly{transition:transform 1s cubic-bezier(.5,0,.5,1),opacity .8s .1s}
.sobre-bz2franc.open .fr-bfly{transform:translate(70px,-110px) rotate(20deg);opacity:0}
[data-tpl="bz2franc"] #sobre{background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--c2) 28%,var(--bg)),var(--soft) 78%)}
[data-tpl="bz2franc"] .sobre-wrap .para{font-family:var(--f-head);font-style:italic;font-size:1.1rem;letter-spacing:.14em;color:var(--accent);opacity:1}
[data-tpl="bz2franc"] .sobre-wrap h1{font-family:var(--f-script);font-size:3.4rem;color:var(--accent)}
[data-tpl="bz2franc"] .eyebrow{font-family:var(--f-head);font-style:italic;text-transform:none;letter-spacing:.02em;font-size:1.15rem;color:var(--accent);font-weight:500}
[data-tpl="bz2franc"] .nombre{font-size:min(5.6rem,19vw);line-height:1.02;color:var(--accent);margin:.35rem 0 .1rem;text-shadow:3px 3px 0 color-mix(in srgb,var(--c2) 70%,transparent)}
[data-tpl="bz2franc"] .titulo{font-family:var(--f-head);font-weight:700;font-size:.95rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink)}
[data-tpl="bz2franc"] .titulo::after{content:"";display:block;width:64px;height:7px;margin:.7rem auto 0;background:radial-gradient(circle,var(--accent-2) 2.4px,transparent 3px) 0 0/16px 7px repeat-x}
.foto.f-bz2franc{--ar:4/5;width:min(72%,270px);margin:2.2rem auto 2.8rem;border-radius:999px 999px 6px 6px;border:11px solid var(--accent);outline:2px solid var(--accent-2);outline-offset:3px;background:var(--soft);box-shadow:0 16px 30px color-mix(in srgb,var(--ink) 25%,transparent)}
.foto.f-bz2franc img{border-radius:999px 999px 0 0}
.foto.f-bz2franc::after{content:"";position:absolute;left:-22px;right:-22px;bottom:-26px;height:15px;background:var(--accent);border-radius:3px;box-shadow:0 8px 12px color-mix(in srgb,var(--ink) 22%,transparent)}
[data-tpl="bz2franc"] .fecha .dia{position:relative;font-family:var(--f-head);font-weight:800;font-size:3.4rem;box-shadow:none;background:var(--accent);margin:.3rem 0 1rem}
[data-tpl="bz2franc"] .fecha .dia::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:3px dashed var(--accent-2);animation:bz-sp 26s linear infinite}
[data-tpl="bz2franc"] .fecha .d-dow,[data-tpl="bz2franc"] .fecha .d-mes,[data-tpl="bz2franc"] .fecha .d-anio{font-family:var(--f-head);font-weight:600;letter-spacing:.24em;font-size:1rem}
[data-tpl="bz2franc"] .fecha .d-mes,[data-tpl="bz2franc"] .fecha .d-anio{display:inline}
[data-tpl="bz2franc"] .cuenta div{background:var(--card);color:var(--ink);border:2px solid var(--accent);border-radius:46% 46% 12px 12px/30% 30% 12px 12px;padding:.8rem .5rem .6rem;min-width:64px;box-shadow:0 6px 0 color-mix(in srgb,var(--accent) 40%,transparent)}
[data-tpl="bz2franc"] .cuenta b{font-family:var(--f-head);font-weight:800;font-size:1.8rem;color:var(--accent)}
[data-tpl="bz2franc"] .cuenta .cd-s{background:var(--c2);border-color:var(--accent-2)}
[data-tpl="bz2franc"] .cuenta .cd-s b,[data-tpl="bz2franc"] .cuenta .cd-s span{color:#2d2410;opacity:1}
[data-tpl="bz2franc"] .mensaje{font-size:1.28rem;font-style:normal}
[data-tpl="bz2franc"] .padres b{font-family:var(--f-head);color:var(--accent);opacity:1;font-weight:700;letter-spacing:.26em}
[data-tpl="bz2franc"] h2.sec{font-family:var(--f-script);font-size:3rem;color:var(--accent)}
[data-tpl="bz2franc"] .programa::before{background:var(--accent-2);opacity:.7;width:2px}
[data-tpl="bz2franc"] .programa time{font-family:var(--f-head);font-weight:700;color:var(--accent)}
[data-tpl="bz2franc"] .programa span::before{width:13px;height:13px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--c1);left:-.45rem;top:.5rem}
[data-tpl="bz2franc"] .nombre-lugar{font-family:var(--f-head);font-weight:700;color:var(--accent)}
[data-tpl="bz2franc"] .btn{background:var(--accent);color:var(--btn-ink);border-radius:14px;font-family:var(--f-head);font-weight:700;letter-spacing:.12em;font-size:.88rem;box-shadow:0 5px 0 color-mix(in srgb,var(--accent) 55%,#000)}
[data-tpl="bz2franc"] .btn:active{transform:translateY(3px);box-shadow:0 2px 0 color-mix(in srgb,var(--accent) 55%,#000)}
[data-tpl="bz2franc"] .btn.ghost{background:transparent;color:var(--accent);border:2px solid var(--accent);box-shadow:none}
[data-tpl="bz2franc"] form{border:2px solid var(--accent);border-radius:40px 40px 14px 14px/26px 26px 14px 14px;background:var(--card)}
[data-tpl="bz2franc"] .galeria img{border-radius:999px 999px 8px 8px;border:5px solid var(--accent);aspect-ratio:3/4}
[data-tpl="bz2franc"] .nombre-cierre{font-family:var(--f-script);font-size:2.8rem;color:var(--accent)}
/* ================= 3. BELÉN ================= */
[data-fx="bz2belen"] #fx{background:radial-gradient(ellipse 80% 36% at 50% 0%,color-mix(in srgb,var(--c3) 38%,transparent),transparent 72%),radial-gradient(circle at 15% 60%,color-mix(in srgb,var(--c1) 14%,transparent),transparent 40%),radial-gradient(circle at 88% 35%,color-mix(in srgb,var(--c1) 12%,transparent),transparent 36%),var(--bg)}
[data-tpl="bz2belen"] .escena{-webkit-mask-image:linear-gradient(#000 90%,transparent);mask-image:linear-gradient(#000 90%,transparent)}
.be-sh{animation:be-sh 7s ease-in 1s infinite;opacity:0}.be-sh2{animation-duration:9s;animation-delay:4.5s}
@keyframes be-sh{0%{transform:translate(330px,30px);opacity:0}4%{opacity:1}22%{transform:translate(120px,78px);opacity:0}100%{transform:translate(120px,78px);opacity:0}}
.be-fl{transform-box:fill-box;transform-origin:50% 100%;animation:be-fl .9s ease-in-out infinite}
@keyframes be-fl{0%,100%{transform:scale(1,1) skewX(0)}30%{transform:scale(.94,1.06) skewX(3deg)}65%{transform:scale(1.04,.96) skewX(-3deg)}}
.sobre-bz2belen{width:240px;height:280px}
.sobre-bz2belen .be-halo{animation:bz-pu 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.sobre-bz2belen .be-burst{opacity:0;transform-box:view-box;transform-origin:120px 150px;transform:scale(.2);transition:transform .9s cubic-bezier(.2,.7,.3,1),opacity .9s}
.sobre-bz2belen .be-lan{transition:transform .9s cubic-bezier(.5,0,.5,1),opacity .7s .2s;transform-box:view-box;transform-origin:120px 150px}
.sobre-bz2belen.open .be-lan{transform:translateY(-40px) scale(1.3);opacity:0}
.sobre-bz2belen.open .be-burst{opacity:1;transform:scale(1.6)}
[data-tpl="bz2belen"] #sobre{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--c3) 45%,var(--bg)),var(--bg) 75%)}
[data-tpl="bz2belen"] .sobre-wrap .para{font-family:var(--f-body);font-weight:300;letter-spacing:.34em;font-size:.85rem;color:var(--accent);opacity:1}
[data-tpl="bz2belen"] .sobre-wrap h1{font-family:var(--f-head);font-size:2.4rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 24px color-mix(in srgb,var(--accent) 40%,transparent)}
[data-tpl="bz2belen"] .eyebrow{font-family:var(--f-body);font-weight:300;letter-spacing:.3em;font-size:.82rem;color:var(--accent)}
[data-tpl="bz2belen"] .nombre{font-family:var(--f-head);font-size:min(3.9rem,14vw);letter-spacing:.1em;text-transform:uppercase;line-height:1.08;color:var(--accent);margin:.5rem 0 .3rem;text-shadow:0 0 26px color-mix(in srgb,var(--accent) 38%,transparent)}
[data-tpl="bz2belen"] .titulo{font-family:var(--f-body);font-weight:300;font-size:.9rem;letter-spacing:.5em;text-transform:uppercase;color:var(--ink);margin-top:.4rem}
.foto.f-bz2belen{--ar:1;width:min(70%,260px);margin:3.2rem auto 2.4rem;border-radius:50%;padding:7px;background:linear-gradient(135deg,var(--accent-2),var(--accent));box-shadow:0 0 0 6px var(--soft),0 0 46px color-mix(in srgb,var(--accent) 35%,transparent)}
.foto.f-bz2belen img{border-radius:50%;border:3px solid var(--bg)}
.foto.f-bz2belen::before{content:"";position:absolute;inset:-18px;border-radius:50%;border:2px dashed var(--accent-2);animation:bz-sp 70s linear infinite}
.foto.f-bz2belen::after{content:"";position:absolute;left:50%;top:-52px;width:34px;height:34px;margin-left:-17px;background:var(--accent);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:bz-pu 3s ease-in-out infinite}
[data-tpl="bz2belen"] .fecha .dia{font-family:var(--f-head);font-size:3.4rem;color:var(--accent)}
[data-tpl="bz2belen"] .fecha .d-dow,[data-tpl="bz2belen"] .fecha .d-mes,[data-tpl="bz2belen"] .fecha .d-anio{font-family:var(--f-body);font-weight:300;letter-spacing:.34em;font-size:.92rem}
[data-tpl="bz2belen"] .cuenta{gap:.5rem}
[data-tpl="bz2belen"] .cuenta div{width:70px;height:70px;min-width:0;border-radius:50%;display:grid;place-content:center;padding:0;background:var(--card);border:1px solid var(--accent-2);box-shadow:0 0 18px color-mix(in srgb,var(--accent-2) 24%,transparent),inset 0 0 14px color-mix(in srgb,var(--accent-2) 10%,transparent);color:var(--ink)}
[data-tpl="bz2belen"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.45rem;line-height:1;color:var(--accent)}
[data-tpl="bz2belen"] .cuenta span{font-size:.54rem;letter-spacing:.2em;margin-top:.15rem;opacity:.9}
[data-tpl="bz2belen"] .cuenta .cd-s{border:1.6px dashed var(--accent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 45%,transparent)}
[data-tpl="bz2belen"] .mensaje{font-style:normal;font-weight:300;font-size:1.12rem;letter-spacing:.02em;line-height:1.8}
[data-tpl="bz2belen"] .padres b{font-family:var(--f-head);color:var(--accent);opacity:1;letter-spacing:.3em}
[data-tpl="bz2belen"] h2.sec{font-family:var(--f-head);font-size:1.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
[data-tpl="bz2belen"] .programa::before{background:linear-gradient(var(--accent-2),transparent);opacity:.6}
[data-tpl="bz2belen"] .programa time{font-family:var(--f-head);font-weight:400;color:var(--accent)}
[data-tpl="bz2belen"] .programa span::before{width:14px;height:14px;border-radius:0;left:-.5rem;top:.5rem;background:var(--accent-2);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
[data-tpl="bz2belen"] .nombre-lugar{font-family:var(--f-head);color:var(--accent);letter-spacing:.06em}
[data-tpl="bz2belen"] .btn{background:transparent;color:var(--accent);border:1.5px solid var(--accent);font-family:var(--f-head);letter-spacing:.2em;font-size:.86rem;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 25%,transparent)}
[data-tpl="bz2belen"] .btn:not(.ghost){background:var(--accent);color:var(--btn-ink)}
[data-tpl="bz2belen"] form{background:var(--card);border:1px solid var(--accent-2);border-radius:26px;box-shadow:0 0 30px color-mix(in srgb,var(--accent-2) 16%,transparent)}
[data-tpl="bz2belen"] .galeria img{border-radius:50%;border:2px solid var(--accent-2);aspect-ratio:1;box-shadow:0 0 20px color-mix(in srgb,var(--accent) 25%,transparent)}
[data-tpl="bz2belen"] .galeria img:nth-child(3n+1){border-radius:50%;aspect-ratio:1}
[data-tpl="bz2belen"] .nombre-cierre{font-family:var(--f-head);font-size:1.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
/* ================= 4. RETABLO ================= */
[data-fx="bz2retablo"] #fx{background:radial-gradient(ellipse 80% 34% at 50% 0%,color-mix(in srgb,var(--c2) 30%,transparent),transparent 70%),repeating-linear-gradient(45deg,color-mix(in srgb,var(--c1) 7%,transparent) 0 14px,transparent 14px 28px),var(--bg)}
[data-tpl="bz2retablo"] .escena{-webkit-mask-image:linear-gradient(#000 94%,transparent);mask-image:linear-gradient(#000 94%,transparent)}
.rb-nod{animation:rb-nod var(--t,3.6s) ease-in-out var(--dl,0s) infinite}
@keyframes rb-nod{0%,100%{transform:rotate(-5deg)}40%{transform:rotate(7deg)}70%{transform:rotate(1deg)}}
.rb-bell{animation:rb-bell 1.5s ease-in-out infinite}
@keyframes rb-bell{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}
.rb-ring{animation:bz-gl 1.5s ease-in-out infinite}
.rb-dr{animation:rb-dr var(--t,5s) ease-in-out var(--dl,0s) infinite}
@keyframes rb-dr{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.93)}}
.rb-dove{animation:rb-dove 11s ease-in-out infinite}
@keyframes rb-dove{0%{transform:translate(96px,92px)}50%{transform:translate(262px,84px)}100%{transform:translate(96px,92px)}}
.rb-wg{transform-box:fill-box;transform-origin:50% 100%;animation:rb-wg .5s ease-in-out infinite}
@keyframes rb-wg{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.2)}}
.sobre-bz2retablo{width:230px;height:260px;perspective:900px}
.sobre-bz2retablo .rb-top{position:absolute;left:0;top:0;width:230px;height:60px;z-index:3;overflow:visible}
.sobre-bz2retablo .rb-box{position:absolute;left:5px;top:40px;width:220px;height:190px;border:8px solid var(--accent);box-sizing:content-box;margin:-8px;background:var(--accent);box-shadow:0 18px 28px color-mix(in srgb,var(--ink) 30%,transparent);animation:bz-fl 3.6s ease-in-out infinite}
.sobre-bz2retablo .rb-box>svg{position:absolute;inset:0;width:100%;height:100%}
.sobre-bz2retablo .rb-door{position:absolute;top:0;width:110px;height:190px;transition:transform .9s cubic-bezier(.45,0,.25,1);backface-visibility:hidden}
.sobre-bz2retablo .rb-door svg{width:100%;height:100%;display:block}
.sobre-bz2retablo .rb-l{left:0;transform-origin:0 50%;animation:rb-wl 3s ease-in-out infinite}
.sobre-bz2retablo .rb-r{right:0;transform-origin:100% 50%;animation:rb-wr 3s ease-in-out infinite}
@keyframes rb-wl{0%,100%{transform:rotateY(0)}50%{transform:rotateY(-7deg)}}
@keyframes rb-wr{0%,100%{transform:rotateY(0)}50%{transform:rotateY(7deg)}}
.sobre-bz2retablo.open .rb-l{animation:none;transform:rotateY(-122deg)}
.sobre-bz2retablo.open .rb-r{animation:none;transform:rotateY(122deg)}
[data-tpl="bz2retablo"] #sobre{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c2) 32%,var(--bg)),var(--soft) 80%)}
[data-tpl="bz2retablo"] .sobre-wrap .para{font-weight:700;letter-spacing:.24em;font-size:.9rem;color:var(--accent);opacity:1}
[data-tpl="bz2retablo"] .sobre-wrap h1{font-family:var(--f-head);font-size:2.7rem;color:var(--accent);text-shadow:3px 3px 0 color-mix(in srgb,var(--c2) 80%,transparent)}
[data-tpl="bz2retablo"] .eyebrow{font-weight:700;letter-spacing:.2em;font-size:.88rem;color:var(--accent)}
[data-tpl="bz2retablo"] .nombre{font-family:var(--f-head);font-size:min(4.4rem,15.5vw);line-height:1.05;color:var(--accent);margin:.4rem 0;text-shadow:3px 3px 0 var(--c2),6px 6px 0 color-mix(in srgb,var(--c1) 55%,transparent)}
[data-tpl="bz2retablo"] .titulo{font-family:var(--f-head);font-size:1.3rem;color:var(--ink)}
.foto.f-bz2retablo{--ar:4/5;width:min(70%,260px);margin:3rem auto 2rem;border:12px solid var(--accent);outline:3px dashed var(--c2);outline-offset:-7px;background:var(--soft);box-shadow:6px 6px 0 var(--c1),0 16px 30px color-mix(in srgb,var(--ink) 25%,transparent)}
.foto.f-bz2retablo::before{content:"";position:absolute;left:-12px;right:-12px;top:-34px;height:24px;background:radial-gradient(circle at 50% 100%,var(--c1) 0 11px,var(--accent) 11.5px 14px,transparent 14.5px) 0 0/28px 24px repeat-x}
[data-tpl="bz2retablo"] .fecha .dia{font-family:var(--f-head);font-size:3.4rem;border-radius:50%;background:var(--c1);color:#fff;box-shadow:0 0 0 5px var(--bg),0 0 0 8px var(--c2),7px 7px 0 8px var(--accent)}
[data-tpl="bz2retablo"] .fecha{margin-top:1.6rem}
[data-tpl="bz2retablo"] .fecha .d-dow,[data-tpl="bz2retablo"] .fecha .d-mes,[data-tpl="bz2retablo"] .fecha .d-anio{font-weight:700;letter-spacing:.22em;font-size:1rem}
[data-tpl="bz2retablo"] .cuenta{gap:.6rem}
[data-tpl="bz2retablo"] .cuenta div{background:var(--card);color:var(--ink);border:3px solid var(--c1);border-radius:10px;box-shadow:4px 4px 0 var(--c1);padding:.6rem .4rem .5rem;min-width:62px}
[data-tpl="bz2retablo"] .cuenta div:nth-child(2){border-color:var(--c3);box-shadow:4px 4px 0 var(--c3)}
[data-tpl="bz2retablo"] .cuenta div:nth-child(3){border-color:var(--c2);box-shadow:4px 4px 0 var(--c2)}
[data-tpl="bz2retablo"] .cuenta div:nth-child(4){border-color:var(--c4);box-shadow:4px 4px 0 var(--c4)}
[data-tpl="bz2retablo"] .cuenta b{font-family:var(--f-head);font-size:1.8rem;color:var(--accent)}
[data-tpl="bz2retablo"] .cuenta span{font-weight:700;opacity:.85}
[data-tpl="bz2retablo"] .mensaje{font-style:normal;font-weight:500;font-size:1.15rem}
[data-tpl="bz2retablo"] .padres b{font-weight:700;color:var(--accent);opacity:1;letter-spacing:.22em}
[data-tpl="bz2retablo"] h2.sec{font-family:var(--f-head);font-size:2.3rem;color:var(--accent);text-shadow:2px 2px 0 color-mix(in srgb,var(--c2) 80%,transparent)}
[data-tpl="bz2retablo"] .programa::before{width:0;background:none;border-left:3px dashed var(--c1);opacity:.8}
[data-tpl="bz2retablo"] .programa time{font-family:var(--f-head);color:var(--accent)}
[data-tpl="bz2retablo"] .programa span::before{width:14px;height:14px;left:-.5rem;top:.5rem;border-radius:50%;background:var(--c2);box-shadow:0 0 0 3px var(--c1)}
[data-tpl="bz2retablo"] .nombre-lugar{font-family:var(--f-head);color:var(--accent)}
[data-tpl="bz2retablo"] .btn{background:var(--c1);color:#fff;border-radius:10px;font-weight:700;letter-spacing:.14em;font-size:.88rem;box-shadow:4px 4px 0 var(--accent);border:2px solid var(--accent)}
[data-tpl="bz2retablo"] .btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--accent)}
[data-tpl="bz2retablo"] .btn.ghost{background:var(--card);color:var(--accent);box-shadow:4px 4px 0 var(--c2)}
[data-tpl="bz2retablo"] form{border:3px solid var(--accent);border-radius:12px;background:var(--card);box-shadow:6px 6px 0 var(--c2)}
[data-tpl="bz2retablo"] .galeria img{border-radius:8px;border:4px solid var(--accent);box-shadow:4px 4px 0 var(--c1);aspect-ratio:1}
[data-tpl="bz2retablo"] .galeria img:nth-child(3n+1){border-radius:8px;aspect-ratio:1}
[data-tpl="bz2retablo"] .nombre-cierre{font-family:var(--f-head);font-size:2rem;color:var(--accent)}
/* ================= 5. MISAL ================= */
[data-fx="bz2misal"] #fx{background:radial-gradient(ellipse 70% 30% at 50% 0%,color-mix(in srgb,var(--c2) 26%,transparent),transparent 72%),radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--c1) 12%,transparent),transparent 60%),var(--bg)}
[data-tpl="bz2misal"] .escena{-webkit-mask-image:linear-gradient(#000 94%,transparent);mask-image:linear-gradient(#000 94%,transparent)}
.ms-leaf{transform-box:view-box;transform-origin:200px 0;animation:ms-leaf 9s ease-in-out infinite;opacity:0}
@keyframes ms-leaf{0%,8%{transform:scaleX(1);opacity:0}12%{opacity:1}30%{transform:scaleX(-1);opacity:1}38%,100%{transform:scaleX(-1);opacity:0}}
.ms-ros{filter:drop-shadow(0 3px 3px color-mix(in srgb,var(--ink) 25%,transparent))}
.sobre-bz2misal{width:200px;height:270px;perspective:1100px}
.sobre-bz2misal .ms-aura{position:absolute;inset:-60px;background:radial-gradient(circle,color-mix(in srgb,var(--c2) 60%,transparent),transparent 65%);animation:bz-pu 3s ease-in-out infinite}
.sobre-bz2misal .ms-book{position:absolute;inset:0;animation:bz-fl 3.6s ease-in-out infinite;transform-style:preserve-3d}
.sobre-bz2misal .ms-in{position:absolute;inset:0;border-radius:3px 6px 6px 3px;overflow:hidden;box-shadow:0 18px 28px color-mix(in srgb,var(--ink) 30%,transparent)}
.sobre-bz2misal .ms-in svg,.sobre-bz2misal .ms-f svg{width:100%;height:100%;display:block}
.sobre-bz2misal .ms-cover{position:absolute;inset:0;transform-origin:0 50%;transition:transform .95s cubic-bezier(.5,0,.25,1);transform-style:preserve-3d}
.sobre-bz2misal .ms-f{position:absolute;inset:0;backface-visibility:hidden;border-radius:3px 6px 6px 3px;overflow:hidden;box-shadow:inset 6px 0 8px #0005}
.sobre-bz2misal .ms-b{position:absolute;inset:0;backface-visibility:hidden;transform:rotateY(180deg);background:#f2e6c8;border-radius:6px 3px 3px 6px}
.sobre-bz2misal .ms-shine{animation:ms-shine 3.6s ease-in-out infinite;transform:skewX(-18deg)}
@keyframes ms-shine{0%{transform:translateX(0) skewX(-18deg);opacity:0}15%{opacity:.5}60%{transform:translateX(280px) skewX(-18deg);opacity:.5}70%,100%{transform:translateX(280px) skewX(-18deg);opacity:0}}
.sobre-bz2misal .ms-rib{position:absolute;left:92px;bottom:-34px;width:24px;height:60px;transform-origin:50% 0;animation:bz-sw 3.4s ease-in-out infinite;z-index:2}
.sobre-bz2misal.open .ms-cover{transform:rotateY(-168deg)}
.sobre-bz2misal.open .ms-aura{opacity:1;transform:scale(1.4)}
[data-tpl="bz2misal"] #sobre{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--c2) 26%,var(--bg)),var(--soft) 82%)}
[data-tpl="bz2misal"] .sobre-wrap .para{font-style:italic;letter-spacing:.14em;font-size:1.1rem;color:var(--accent);opacity:1;text-transform:none}
[data-tpl="bz2misal"] .sobre-wrap h1{font-family:var(--f-head);font-style:italic;font-size:2.6rem;color:var(--accent);margin-bottom:2rem}
[data-tpl="bz2misal"] .sobre-wrap h1::first-letter{font-family:"BZ Fraktur",serif;font-size:1.3em}
[data-tpl="bz2misal"] .eyebrow{font-style:italic;text-transform:none;letter-spacing:.04em;font-size:1.25rem;color:var(--accent)}
[data-tpl="bz2misal"] .nombre{font-family:var(--f-head);font-style:italic;font-size:min(4.8rem,16.5vw);line-height:1.08;color:var(--ink);margin:.4rem 0 .2rem}
[data-tpl="bz2misal"] .nombre::first-letter{font-family:"BZ Fraktur",serif;font-style:normal;color:var(--accent);font-size:1.3em;text-shadow:2px 2px 0 color-mix(in srgb,var(--c2) 70%,transparent)}
[data-tpl="bz2misal"] .titulo{font-family:var(--f-head);font-size:1rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent)}
.foto.f-bz2misal{--ar:4/5;width:min(68%,250px);margin:2rem auto;padding:6px;border:7px solid var(--c1);outline:2px solid var(--accent-2);outline-offset:4px;background:var(--card);box-shadow:0 14px 30px color-mix(in srgb,var(--ink) 28%,transparent)}
.foto.f-bz2misal::before{content:"";position:absolute;inset:-17px;pointer-events:none;background:radial-gradient(circle at 0 0,var(--accent-2) 0 7px,transparent 7.5px) no-repeat,radial-gradient(circle at 100% 0,var(--accent-2) 0 7px,transparent 7.5px) no-repeat,radial-gradient(circle at 0 100%,var(--accent-2) 0 7px,transparent 7.5px) no-repeat,radial-gradient(circle at 100% 100%,var(--accent-2) 0 7px,transparent 7.5px) no-repeat}
[data-tpl="bz2misal"] .fecha .dia{font-family:"BZ Fraktur",serif;font-size:4.4rem;color:var(--c2);background:var(--c1);width:96px;height:96px;display:grid;place-items:center;border:3px solid var(--c2);outline:2px solid var(--c1);outline-offset:3px;line-height:1;padding-bottom:.1em}
[data-tpl="bz2misal"] .fecha{column-gap:1.6rem}
[data-tpl="bz2misal"] .fecha .d-dow,[data-tpl="bz2misal"] .fecha .d-mes,[data-tpl="bz2misal"] .fecha .d-anio{font-style:italic;letter-spacing:.12em;font-size:1.25rem;text-transform:none}
[data-tpl="bz2misal"] .cuenta div{background:var(--card);color:var(--ink);border:2px solid var(--c1);border-radius:3px;box-shadow:0 0 0 3px var(--bg),0 0 0 4.5px var(--accent-2);min-width:62px}
[data-tpl="bz2misal"] .cuenta{gap:.8rem}
[data-tpl="bz2misal"] .cuenta b{font-family:"BZ Fraktur",serif;font-weight:700;font-size:2rem;color:var(--accent)}
[data-tpl="bz2misal"] .cuenta span{font-style:italic;text-transform:none;letter-spacing:.06em;font-size:.9rem;opacity:.9}
[data-tpl="bz2misal"] .cuenta .cd-s{background:var(--c1)}
[data-tpl="bz2misal"] .cuenta .cd-s b,[data-tpl="bz2misal"] .cuenta .cd-s span{color:var(--c2);opacity:1}
[data-tpl="bz2misal"] .mensaje{font-size:1.4rem;line-height:1.6}
[data-tpl="bz2misal"] .mensaje::first-letter{font-family:"BZ Fraktur",serif;font-style:normal;font-size:2.4em;float:left;line-height:.8;padding:.06em .1em 0 0;color:var(--accent)}
[data-tpl="bz2misal"] .padres b{font-style:italic;text-transform:none;letter-spacing:.1em;font-size:1.1rem;color:var(--accent);opacity:1}
[data-tpl="bz2misal"] h2.sec{font-family:var(--f-head);font-style:italic;font-size:2.5rem;color:var(--accent)}
[data-tpl="bz2misal"] h2.sec::first-letter{font-family:"BZ Fraktur",serif;font-style:normal;font-size:1.2em}
[data-tpl="bz2misal"] .programa::before{background:var(--accent-2);opacity:.7}
[data-tpl="bz2misal"] .programa time{font-family:var(--f-head);font-size:1.2rem;color:var(--accent)}
[data-tpl="bz2misal"] .programa span::before{width:11px;height:11px;border-radius:0;transform:rotate(45deg);background:var(--c1);box-shadow:0 0 0 2px var(--c2)}
[data-tpl="bz2misal"] .nombre-lugar{font-family:var(--f-head);font-style:italic;color:var(--accent)}
[data-tpl="bz2misal"] .btn{background:var(--c1);color:var(--c2);border-radius:3px;font-family:var(--f-head);letter-spacing:.2em;font-size:.9rem;border:2px solid var(--c2);box-shadow:0 0 0 2px var(--c1)}
[data-tpl="bz2misal"] .btn.ghost{background:transparent;color:var(--accent);border:2px solid var(--accent);box-shadow:none}
[data-tpl="bz2misal"] form{border:2px solid var(--c1);outline:1.5px solid var(--accent-2);outline-offset:3px;border-radius:3px;background:var(--card)}
[data-tpl="bz2misal"] .galeria img{border-radius:2px;border:5px solid var(--c1);outline:1.5px solid var(--accent-2);aspect-ratio:4/5}
[data-tpl="bz2misal"] .galeria img:nth-child(3n+1){border-radius:2px;aspect-ratio:4/5}
[data-tpl="bz2misal"] .nombre-cierre{font-family:var(--f-head);font-style:italic;font-size:2rem;color:var(--accent)}
/* ================= 6. CORDERO ================= */
[data-fx="bz2cordero"] #fx{background:radial-gradient(ellipse 70% 40% at 20% 0%,color-mix(in srgb,var(--c2) 30%,transparent),transparent 70%),radial-gradient(circle at 90% 30%,color-mix(in srgb,var(--c3) 45%,transparent),transparent 40%),radial-gradient(circle at 50% 110%,color-mix(in srgb,var(--c1) 22%,transparent),transparent 50%),var(--bg)}
[data-tpl="bz2cordero"] .escena{-webkit-mask-image:linear-gradient(#000 86%,transparent);mask-image:linear-gradient(#000 86%,transparent)}
.co-p{filter:drop-shadow(0 3px 2px rgba(0,0,0,.16))}
.co-br{animation:co-br var(--t,3.4s) ease-in-out infinite}
@keyframes co-br{0%,100%{transform:scale(1,1)}50%{transform:scale(1.015,1.04)}}
.co-nib{animation:co-nib 6s ease-in-out infinite}
@keyframes co-nib{0%,30%,100%{transform:rotate(0)}40%,60%{transform:rotate(-16deg)}70%{transform:rotate(2deg)}}
.co-halo{animation:bz-gl 2.4s ease-in-out infinite}
.co-fly{animation:co-fly 16s linear infinite}
@keyframes co-fly{0%{transform:translate(-20px,250px);opacity:0}6%{opacity:1}30%{transform:translate(120px,170px)}55%{transform:translate(220px,196px)}80%{transform:translate(330px,120px)}94%{opacity:1}100%{transform:translate(420px,90px);opacity:0}}
.co-bird{animation:co-bird 14s linear 3s infinite}
@keyframes co-bird{0%{transform:translate(420px,60px)}100%{transform:translate(-30px,28px)}}
.sobre-bz2cordero{width:220px;height:270px}
.sobre-bz2cordero svg{filter:drop-shadow(0 12px 14px color-mix(in srgb,var(--ink) 22%,transparent))}
.sobre-bz2cordero .co-ffs{transition:transform 1s cubic-bezier(.3,0,.4,1),opacity .8s .2s}
.co-ff{animation:co-ff 4s ease-in-out infinite}
@keyframes co-ff{0%,100%{transform:translate(0,0);opacity:.5}25%{transform:translate(14px,-12px);opacity:1}50%{transform:translate(-10px,-20px);opacity:.6}75%{transform:translate(-16px,-6px);opacity:1}}
.sobre-bz2cordero .co-cork{transition:transform .8s cubic-bezier(.3,1.5,.5,1),opacity .5s .35s;animation:co-cork 2.8s ease-in-out infinite}
@keyframes co-cork{0%,70%,100%{transform:translateY(0) rotate(0)}80%{transform:translateY(-6px) rotate(-3deg)}90%{transform:translateY(0) rotate(2deg)}}
.sobre-bz2cordero.open .co-cork{animation:none;transform:translate(34px,-100px) rotate(34deg);opacity:0}
.sobre-bz2cordero.open .co-ffs{transform:translateY(-170px);opacity:0}
.sobre-bz2cordero.open svg{transition:opacity .6s .4s;}
[data-tpl="bz2cordero"] #sobre{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c2) 26%,var(--bg)),var(--soft) 82%)}
[data-tpl="bz2cordero"] .sobre-wrap .para{font-family:var(--f-head);font-weight:400;font-size:1.3rem;letter-spacing:.08em;text-transform:none;color:var(--accent);opacity:1}
[data-tpl="bz2cordero"] .sobre-wrap h1{font-family:var(--f-head);font-weight:400;font-size:3.4rem;color:var(--accent);text-shadow:3px 3px 0 var(--c2)}
[data-tpl="bz2cordero"] .eyebrow{font-family:var(--f-head);font-weight:400;font-size:1.35rem;letter-spacing:.06em;text-transform:none;color:var(--accent)}
[data-tpl="bz2cordero"] .nombre{font-family:var(--f-head);font-weight:400;font-size:min(6.6rem,23vw);line-height:.95;color:var(--accent);margin:.3rem 0 .2rem;-webkit-text-stroke:1.4px var(--accent);text-shadow:3px 3px 0 var(--c2),6px 6px 0 color-mix(in srgb,var(--c1) 70%,transparent)}
[data-tpl="bz2cordero"] .titulo{font-family:var(--f-head);font-weight:400;font-size:1.5rem;color:var(--ink)}
.foto.f-bz2cordero{--ar:1;width:min(72%,270px);margin:2.2rem auto;border-radius:48% 52% 50% 50%/54% 46% 54% 46%;border:7px solid #fff;box-shadow:0 0 0 7px var(--c1),0 0 0 14px var(--c2),0 0 0 15px color-mix(in srgb,var(--ink) 15%,transparent),0 18px 30px color-mix(in srgb,var(--ink) 26%,transparent);overflow:visible}
.foto.f-bz2cordero img{border-radius:48% 52% 50% 50%/54% 46% 54% 46%}
.foto.f-bz2cordero::after{content:"";position:absolute;left:50%;top:-44px;width:46px;height:20px;margin-left:-23px;border:4px solid var(--c2);border-radius:50%;box-shadow:0 0 12px var(--c2);animation:bz-gl 2.4s ease-in-out infinite}
[data-tpl="bz2cordero"] .fecha .dia{font-family:"BZ Sniglet",sans-serif;font-weight:800;font-size:3.6rem;background:var(--accent);box-shadow:5px 5px 0 var(--c2),9px 9px 0 color-mix(in srgb,var(--c1) 80%,transparent)}
[data-tpl="bz2cordero"] .fecha .d-dow,[data-tpl="bz2cordero"] .fecha .d-mes,[data-tpl="bz2cordero"] .fecha .d-anio{font-family:var(--f-head);font-weight:400;font-size:1.3rem;letter-spacing:.14em}
[data-tpl="bz2cordero"] .cuenta{gap:.65rem}
[data-tpl="bz2cordero"] .cuenta div{background:radial-gradient(circle at 50% 11px,var(--bg) 4.2px,transparent 4.8px),var(--card);color:var(--ink);min-width:64px;padding:1.5rem .4rem .55rem;clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);box-shadow:none;border-bottom:5px solid var(--c1);position:relative}
[data-tpl="bz2cordero"] .cuenta div:nth-child(2){border-color:var(--c2)}[data-tpl="bz2cordero"] .cuenta div:nth-child(3){border-color:var(--c4)}[data-tpl="bz2cordero"] .cuenta div:nth-child(4){border-color:var(--accent-2)}
[data-tpl="bz2cordero"] .cuenta b{font-family:"BZ Sniglet",sans-serif;font-weight:800;font-size:2rem;color:var(--accent)}
[data-tpl="bz2cordero"] .cuenta span{font-family:var(--f-head);font-weight:400;font-size:.9rem;letter-spacing:.06em;text-transform:none}
[data-tpl="bz2cordero"] .mensaje{font-style:normal;font-family:var(--f-body);font-size:1.5rem;line-height:1.4}
[data-tpl="bz2cordero"] .padres b{font-family:var(--f-head);font-weight:400;font-size:1.2rem;letter-spacing:.06em;text-transform:none;color:var(--accent);opacity:1}
[data-tpl="bz2cordero"] .padres{font-size:1.2rem}
[data-tpl="bz2cordero"] h2.sec{font-family:var(--f-head);font-weight:400;font-size:2.8rem;color:var(--accent);text-shadow:2px 2px 0 var(--c2)}
[data-tpl="bz2cordero"] .programa::before{width:0;background:none;border-left:3px dotted var(--c4);opacity:1}
[data-tpl="bz2cordero"] .programa time{font-family:var(--f-head);font-weight:400;font-size:1.3rem;color:var(--accent)}
[data-tpl="bz2cordero"] .programa span{font-size:1.25rem}
[data-tpl="bz2cordero"] .programa span::before{width:14px;height:14px;left:-.5rem;top:.5rem;border-radius:50%;background:var(--c2);box-shadow:0 0 0 3px var(--c1)}
[data-tpl="bz2cordero"] .nombre-lugar{font-family:var(--f-head);font-weight:400;font-size:1.8rem;color:var(--accent)}
[data-tpl="bz2cordero"] .btn{background:var(--accent);color:var(--btn-ink);border-radius:999px;font-family:var(--f-head);font-weight:400;font-size:1.25rem;letter-spacing:.06em;text-transform:none;padding:.7rem 1.8rem;box-shadow:0 5px 0 color-mix(in srgb,var(--accent) 55%,#000),0 0 0 4px var(--bg),0 0 0 6px var(--c2)}
[data-tpl="bz2cordero"] .btn.ghost{background:var(--card);color:var(--accent);box-shadow:0 5px 0 var(--c1)}
[data-tpl="bz2cordero"] form{background:var(--card);border-radius:30px 30px 18px 18px;box-shadow:0 0 0 5px var(--c1),0 0 0 10px var(--c2)}
[data-tpl="bz2cordero"] form{margin:1.8rem 10px 0}
[data-tpl="bz2cordero"] .galeria img{border-radius:48% 52% 50% 50%/54% 46% 54% 46%;border:5px solid #fff;box-shadow:0 0 0 4px var(--c1),0 8px 16px color-mix(in srgb,var(--ink) 20%,transparent);aspect-ratio:1}
[data-tpl="bz2cordero"] .galeria img:nth-child(3n+1){aspect-ratio:1;border-radius:52% 48% 46% 54%/46% 54% 46% 54%}
[data-tpl="bz2cordero"] .galeria{gap:1.2rem}
[data-tpl="bz2cordero"] .nombre-cierre{font-family:var(--f-head);font-weight:400;font-size:2.4rem;color:var(--accent)}
[data-tpl="bz2cordero"] .eyebrow,[data-tpl="bz2cordero"] .titulo{font-weight:400}
[data-tpl="bz2cordero"] .eyebrow{font-size:1.6rem}[data-tpl="bz2cordero"] .titulo{font-size:1.8rem}
/* ================= 7. PAN Y VINO ================= */
[data-fx="bz2pan"] #fx{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--c2) 18%,transparent),transparent 55%),repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in srgb,var(--ink) 3%,transparent) 3px 4px),var(--bg)}
.pn-wave{animation:pn-wave var(--t,3.2s) linear infinite}
@keyframes pn-wave{to{transform:translateX(-40px)}}
.pn-tick{animation:pn-tick 22s linear infinite}
@keyframes pn-tick{to{transform:translateX(-262px)}}
.sobre-bz2pan{width:240px;height:260px}
.sobre-bz2pan svg{filter:drop-shadow(0 16px 18px color-mix(in srgb,var(--ink) 28%,transparent))}
.sobre-bz2pan .pn-glow{transform-box:fill-box;transform-origin:center;animation:bz-pu 3s ease-in-out infinite}
.sobre-bz2pan .pn-half{transition:transform .95s cubic-bezier(.5,0,.25,1),opacity .6s .35s}
.sobre-bz2pan .pn-tape{transition:transform .8s cubic-bezier(.5,0,.3,1),opacity .5s .3s;animation:pn-tape 2.6s ease-in-out infinite}
@keyframes pn-tape{0%,60%,100%{transform:translateX(0)}70%{transform:translateX(-6px)}80%{transform:translateX(3px)}}
.sobre-bz2pan.open .pn-t{transform:translate(-14px,-120px) rotate(-8deg);opacity:0}
.sobre-bz2pan.open .pn-b{transform:translate(14px,120px) rotate(6deg);opacity:0}
.sobre-bz2pan.open .pn-tape{animation:none;transform:translateX(280px);opacity:0}
[data-tpl="bz2pan"] #sobre{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c2) 22%,var(--bg)),var(--soft) 85%)}
[data-tpl="bz2pan"] .sobre-wrap .para{font-weight:700;letter-spacing:.3em;font-size:.78rem;color:var(--accent);opacity:1}
[data-tpl="bz2pan"] .sobre-wrap h1{font-family:var(--f-head);font-size:2.3rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}
[data-tpl="bz2pan"] .eyebrow{display:inline-block;font-weight:700;letter-spacing:.3em;font-size:.72rem;background:var(--c1);color:var(--c3);padding:.35rem .8rem;border-radius:0;margin-top:.4rem}
[data-tpl="bz2pan"] .nombre{font-family:var(--f-head);font-size:min(4.6rem,16vw);text-transform:uppercase;letter-spacing:-.01em;line-height:.98;color:var(--accent);margin:.7rem 0 .4rem;padding-bottom:.12em;border-bottom:3px double var(--ink)}
[data-tpl="bz2pan"] .titulo{font-family:var(--f-script);font-style:italic;font-size:1.7rem;color:var(--ink);margin-top:.5rem}
.foto.f-bz2pan{--ar:4/5;width:min(78%,290px);margin:2.4rem auto;padding:0;background:var(--c1);box-shadow:10px 10px 0 var(--c2),10px 10px 0 1.5px var(--ink)}
.foto.f-bz2pan::before{content:"PORTADA";position:absolute;left:-10px;top:14px;background:var(--c2);color:#1b1b1b;font-family:var(--f-body);font-weight:700;font-size:.62rem;letter-spacing:.3em;padding:.35rem .7rem;z-index:2}
.foto.f-bz2pan::after{content:"";position:absolute;inset:-14px;border:0;pointer-events:none;background:linear-gradient(var(--ink),var(--ink)) 0 0/22px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 0/1.5px 22px no-repeat,linear-gradient(var(--ink),var(--ink)) 100% 100%/22px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) 100% 100%/1.5px 22px no-repeat}
[data-tpl="bz2pan"] .fecha{display:flex;justify-content:center;align-items:stretch;gap:0;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);padding:.7rem 0;margin:2rem auto .4rem;max-width:340px;text-align:center}
[data-tpl="bz2pan"] .fecha>span{padding:0 1rem;display:flex;align-items:center;justify-content:center}
[data-tpl="bz2pan"] .fecha .d-dow{order:0;flex-basis:auto;margin:0;font-weight:700;font-size:.72rem;letter-spacing:.22em;writing-mode:vertical-rl;transform:rotate(180deg);padding:0 .6rem;border-left:0}
[data-tpl="bz2pan"] .fecha .dia{order:1;font-family:var(--f-head);font-size:4.6rem;line-height:1;color:var(--accent);padding:0 .8rem;border-left:1px solid var(--ink);border-right:1px solid var(--ink)}
[data-tpl="bz2pan"] .fecha .d-mes,[data-tpl="bz2pan"] .fecha .d-anio{order:2;font-weight:700;font-size:.78rem;letter-spacing:.2em;padding:0 .7rem}
[data-tpl="bz2pan"] .fecha .d-mes::before,[data-tpl="bz2pan"] .fecha .d-anio::before{content:none}
[data-tpl="bz2pan"] .fecha .d-anio{order:3;border-left:1px solid var(--ink)}
[data-tpl="bz2pan"] .hora{font-weight:700;letter-spacing:.3em;font-size:.76rem;color:var(--accent)}
[data-tpl="bz2pan"] .cuenta{gap:0;border-top:1px solid var(--ink);border-bottom:3px solid var(--ink);max-width:340px;margin:1.2rem auto 0}
[data-tpl="bz2pan"] .cuenta div{flex:1;background:transparent;border-radius:0;box-shadow:none;border-right:1px solid var(--ink);padding:.7rem .2rem;min-width:0;color:var(--ink)}
[data-tpl="bz2pan"] .cuenta div:last-child{border-right:0}
[data-tpl="bz2pan"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:2.1rem;color:var(--accent)}
[data-tpl="bz2pan"] .cuenta span{font-weight:700;font-size:.58rem;letter-spacing:.2em;opacity:.85}
[data-tpl="bz2pan"] .cuenta .cd-s{background:var(--c1)}
[data-tpl="bz2pan"] .cuenta .cd-s b,[data-tpl="bz2pan"] .cuenta .cd-s span{color:var(--c3);opacity:1}
[data-tpl="bz2pan"] .mensaje{font-family:var(--f-script);font-size:1.65rem;line-height:1.35;font-style:italic;text-align:left;column-gap:0}
[data-tpl="bz2pan"] .mensaje::first-letter{font-family:var(--f-head);font-style:normal;font-size:3.6em;float:left;line-height:.78;padding:.04em .1em 0 0;color:var(--accent)}
[data-tpl="bz2pan"] .padres{border-top:1px solid var(--ink);padding-top:.8rem;text-align:left;display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}
[data-tpl="bz2pan"] .padres b{display:inline;font-weight:700;letter-spacing:.24em;font-size:.68rem;color:var(--accent);opacity:1}
[data-tpl="bz2pan"] h2.sec{font-family:var(--f-head);font-size:1.9rem;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);text-align:left;border-bottom:3px solid var(--ink);padding-bottom:.3rem;margin-bottom:.6rem}
[data-tpl="bz2pan"] .sep{display:none}
[data-tpl="bz2pan"] .programa::before{background:var(--ink);opacity:.8;width:1px}
[data-tpl="bz2pan"] .programa time{font-family:var(--f-head);font-weight:400;font-size:1.25rem;color:var(--accent)}
[data-tpl="bz2pan"] .programa span::before{width:9px;height:9px;border-radius:0;background:var(--accent);left:-.26rem}
[data-tpl="bz2pan"] .lugar,[data-tpl="bz2pan"] #rsvp{text-align:left}
[data-tpl="bz2pan"] .nombre-lugar{font-family:var(--f-head);font-weight:400;font-size:1.7rem;color:var(--accent)}
[data-tpl="bz2pan"] .acciones{justify-content:flex-start}
[data-tpl="bz2pan"] .btn{background:var(--c1);color:var(--c3);border-radius:0;font-weight:700;letter-spacing:.22em;font-size:.76rem;padding:1rem 1.4rem;box-shadow:5px 5px 0 var(--c2)}
[data-tpl="bz2pan"] .btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--c2)}
[data-tpl="bz2pan"] .btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none}
[data-tpl="bz2pan"] form{border-radius:0;border:1.5px solid var(--ink);background:var(--card);box-shadow:8px 8px 0 var(--c2)}
[data-tpl="bz2pan"] .galeria img,[data-tpl="bz2pan"] .galeria img:nth-child(3n+1){border-radius:0;aspect-ratio:4/5;box-shadow:5px 5px 0 var(--c2);border:1.5px solid var(--ink)}
[data-tpl="bz2pan"] .galeria{gap:1rem}
[data-tpl="bz2pan"] .nombre-cierre{font-family:var(--f-script);font-style:italic;font-size:2.2rem;color:var(--accent)}
