/* Comunión y quince · 2ª oleada (cm2) */
@font-face{font-family:"cm2 Fell";src:url("/fonts/cm2-fell.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Fell";font-style:italic;src:url("/fonts/cm2-fell-i.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 CinzelD";font-weight:700;src:url("/fonts/cm2-cinzeld.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Sail";src:url("/fonts/cm2-sail.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 JosefinSlab";font-weight:700;src:url("/fonts/cm2-josefin-slab.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Delicious";src:url("/fonts/cm2-delicious.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Nunito";font-weight:400;src:url("/fonts/cm2-nunito.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Nunito";font-weight:700;src:url("/fonts/cm2-nunito-b.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Gilda";src:url("/fonts/cm2-gilda.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Monsieur";src:url("/fonts/cm2-monsieur.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Rozha";src:url("/fonts/cm2-rozha.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Jost";font-weight:400;src:url("/fonts/cm2-jost.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Jost";font-weight:600;src:url("/fonts/cm2-jost-b.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Marcellus";src:url("/fonts/cm2-marcellus.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Rouge";src:url("/fonts/cm2-rouge.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 DMSerif";font-style:italic;src:url("/fonts/cm2-dmserif-i.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Yeseva";src:url("/fonts/cm2-yeseva.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 ZenMaru";font-weight:400;src:url("/fonts/cm2-zenmaru.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 ZenMaru";font-weight:700;src:url("/fonts/cm2-zenmaru-b.woff2") format("woff2");font-display:swap}
@font-face{font-family:"cm2 Arizonia";src:url("/fonts/cm2-arizonia.woff2") format("woff2");font-display:swap}

/* animación genérica de grupos SVG */
.cm2a{transform-box:fill-box;transform-origin:var(--o,50% 50%);animation-duration:var(--t,4s);animation-delay:var(--d,0s);animation-iteration-count:infinite;animation-timing-function:ease-in-out}
.cm2-flota{animation-name:cm2-flota}.cm2-mece{animation-name:cm2-mece}.cm2-bal{animation-name:cm2-bal}.cm2-late{animation-name:cm2-late}
.cm2-gira{animation-name:cm2-gira;animation-timing-function:linear}.cm2-tw{animation-name:cm2-tw}.cm2-ale{animation-name:cm2-ale}
.cm2-flk{animation-name:cm2-flk;animation-timing-function:steps(1,end)}.cm2-sube{animation-name:cm2-sube;animation-timing-function:linear}
.cm2-desl{animation-name:cm2-desl}.cm2-brilla{animation-name:cm2-brilla}.cm2-cae{animation-name:cm2-cae;animation-timing-function:linear}
.cm2-barre{animation-name:cm2-barre;animation-timing-function:linear}.cm2-resp{animation-name:cm2-resp}
@keyframes cm2-flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes cm2-mece{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes cm2-bal{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@keyframes cm2-late{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes cm2-gira{to{transform:rotate(360deg)}}
@keyframes cm2-tw{0%,100%{opacity:.2;transform:scale(.55)}50%{opacity:1;transform:scale(1.1)}}
@keyframes cm2-ale{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.25)}}
@keyframes cm2-flk{0%{transform:scale(1,1) rotate(0)}20%{transform:scale(.92,1.1) rotate(-3deg)}45%{transform:scale(1.05,.94) rotate(2deg)}70%{transform:scale(.96,1.08) rotate(-2deg)}}
@keyframes cm2-sube{0%{transform:translateY(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-70px);opacity:0}}
@keyframes cm2-desl{0%,100%{transform:translateX(-8px)}50%{transform:translateX(8px)}}
@keyframes cm2-brilla{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes cm2-cae{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(310px) rotate(220deg);opacity:0}}
@keyframes cm2-barre{0%{transform:translateX(-140%)}100%{transform:translateX(260%)}}
@keyframes cm2-resp{0%,100%{transform:scale(1,1)}50%{transform:scale(1.02,.98)}}
@media (prefers-reduced-motion:reduce){.cm2a,[data-tpl^="cm2"] *,[class*="cm2-"]{animation:none!important}}
.cm2-giro{animation-name:cm2-giro}
@keyframes cm2-giro{0%,100%{transform:scaleX(1)}25%{transform:scaleX(.8)}50%{transform:scaleX(1.06)}75%{transform:scaleX(.88)}}
.cm2-cruza{animation-name:cm2-cruza;animation-timing-function:linear}
@keyframes cm2-cruza{0%{transform:translate(-70px,26px)}50%{transform:translate(200px,-18px)}100%{transform:translate(470px,22px)}}

/* ===== 1. cm2pan · Pan y vid ===== */
[data-fx="cm2pan"] #fx{background:radial-gradient(ellipse at 50% -5%,color-mix(in srgb,var(--c2) 30%,transparent),transparent 62%),linear-gradient(var(--bg),var(--soft)),var(--bg)}
[data-fx="cm2pan"] #fx::before{content:"";position:absolute;inset:9px;border:3px double color-mix(in srgb,var(--accent-2) 75%,transparent);border-radius:2px}
[data-fx="cm2pan"] #fx::after{content:"";position:absolute;inset:18px;border:1px solid color-mix(in srgb,var(--accent-2) 40%,transparent);background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .15 0 0 0 .1 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>")}
[data-tpl="cm2pan"] .eyebrow{font-family:var(--f-body);font-style:italic;text-transform:none;letter-spacing:.02em;font-size:1.15rem;color:var(--accent);opacity:1;max-width:19em;margin:0 auto;text-wrap:balance}
[data-tpl="cm2pan"] .nombre{font-family:var(--f-head);font-weight:700;font-size:min(var(--name-size),9.4vw);line-height:1.15;letter-spacing:.05em;color:var(--ink);text-shadow:1px 1px 0 var(--accent-2),2px 2px 0 color-mix(in srgb,var(--accent-2) 40%,transparent);margin:.7rem 0 .3rem}
[data-tpl="cm2pan"] .titulo{font-family:var(--f-body);font-style:italic;font-size:1.75rem;color:var(--accent)}
[data-tpl="cm2pan"] .titulo::before{content:"";display:block;width:22px;height:30px;margin:.3rem auto .5rem;background:linear-gradient(var(--accent),var(--accent)) center/3px 100% no-repeat,linear-gradient(var(--accent),var(--accent)) center 9px/100% 3px no-repeat;filter:drop-shadow(1px 1px 0 var(--accent-2))}
[data-tpl="cm2pan"] .f-misal{--ar:4/5;width:min(70%,260px);padding:8px;background:var(--card);border:2px solid var(--accent-2);border-radius:999px 999px 6px 6px;outline:1px solid var(--accent-2);outline-offset:5px;box-shadow:0 0 0 12px color-mix(in srgb,var(--accent-2) 14%,transparent),0 18px 36px -12px #0006;margin:2.2rem auto}
[data-tpl="cm2pan"] .f-misal img{border-radius:999px 999px 3px 3px;filter:sepia(.18)}
[data-tpl="cm2pan"] .f-misal::after{content:"";position:absolute;left:50%;bottom:-18px;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:var(--bg);border:2px solid var(--accent-2);background-image:linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent));background-size:2px 14px,10px 2px;background-position:center,center 9px;background-repeat:no-repeat}
[data-tpl="cm2pan"] .fecha{grid-template-areas:"dow dow dow" "dia dia dia" "mes mes anio";gap:.1rem .9rem;justify-content:center;text-align:center;border-top:1px solid var(--accent-2);border-bottom:1px solid var(--accent-2);padding:.6rem 1.6rem;margin-top:1.4rem;position:relative}
[data-tpl="cm2pan"] .fecha::before,[data-tpl="cm2pan"] .fecha::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--accent-2)}
[data-tpl="cm2pan"] .fecha::before{top:3px}[data-tpl="cm2pan"] .fecha::after{bottom:3px}
[data-tpl="cm2pan"] .fecha .dia{font-family:var(--f-head);font-weight:700;font-size:4.3rem;color:var(--accent);text-shadow:2px 2px 0 color-mix(in srgb,var(--accent-2) 55%,transparent)}
[data-tpl="cm2pan"] .fecha .d-dow,[data-tpl="cm2pan"] .fecha .d-mes,[data-tpl="cm2pan"] .fecha .d-anio{font-family:var(--f-body);font-style:italic;text-transform:none;letter-spacing:.06em;font-size:1.3rem;align-self:auto}
[data-tpl="cm2pan"] .fecha .d-mes{text-align:right}[data-tpl="cm2pan"] .fecha .d-anio{text-align:left}
[data-tpl="cm2pan"] .hora{font-family:var(--f-body);font-style:italic;text-transform:none;letter-spacing:.04em;font-size:1.2rem;margin-top:.6rem}
[data-tpl="cm2pan"] .cuenta{gap:.5rem}
[data-tpl="cm2pan"] .cuenta div{position:relative;background:var(--card);border:1px solid var(--accent-2);border-radius:3px;box-shadow:inset 0 0 0 3px var(--bg),inset 0 0 0 4px color-mix(in srgb,var(--accent-2) 60%,transparent);padding:.75rem .5rem .6rem;min-width:62px}
[data-tpl="cm2pan"] .cuenta b{font-family:var(--f-head);font-weight:700;color:var(--accent);font-size:1.65rem}
[data-tpl="cm2pan"] .cuenta span{font-family:var(--f-body);font-style:italic;text-transform:none;letter-spacing:.04em;font-size:.95rem;opacity:.9}
[data-tpl="cm2pan"] .cd-s::after{content:"";position:absolute;left:50%;top:-9px;width:7px;height:11px;margin-left:-3.5px;border-radius:50% 50% 50% 50%/65% 65% 35% 35%;background:var(--c2);box-shadow:0 0 10px 2px var(--c2);animation:cm2pa-llama .5s ease-in-out infinite alternate}
[data-tpl="cm2pan"] .cd-s b{animation:cm2pa-tic 1s ease-out}
@keyframes cm2pa-llama{from{transform:scale(1,.85) rotate(-6deg)}to{transform:scale(.85,1.1) rotate(6deg)}}
@keyframes cm2pa-tic{0%{transform:scale(1.4);color:var(--c2);text-shadow:0 0 12px var(--c2)}100%{transform:scale(1)}}
[data-tpl="cm2pan"] h2.sec{display:flex;align-items:center;gap:.9rem;font-family:var(--f-head);font-weight:700;font-size:1.35rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
[data-tpl="cm2pan"] h2.sec::before,[data-tpl="cm2pan"] h2.sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--accent-2))}
[data-tpl="cm2pan"] h2.sec::after{transform:scaleX(-1)}
[data-tpl="cm2pan"] .mensaje{font-style:normal;font-size:1.28rem;text-align:left;hyphens:auto;line-height:1.6}
[data-tpl="cm2pan"] .mensaje::first-letter{font-family:var(--f-head);font-weight:700;font-size:3.7rem;float:left;line-height:.82;padding:.28rem .5rem 0 0;color:var(--accent);text-shadow:2px 2px 0 color-mix(in srgb,var(--accent-2) 55%,transparent)}
[data-tpl="cm2pan"] .padres b{font-family:var(--f-head);color:var(--accent);opacity:1;letter-spacing:.2em;font-size:.78rem}
[data-tpl="cm2pan"] .programa::before{display:none}
[data-tpl="cm2pan"] .programa li{gap:.9rem;padding:.65rem 0;border-bottom:1px dotted color-mix(in srgb,var(--accent-2) 80%,transparent)}
[data-tpl="cm2pan"] .programa time{flex:0 0 5rem;font-family:var(--f-head);font-weight:700;font-size:.95rem;color:var(--accent);text-align:left}
[data-tpl="cm2pan"] .programa span{padding-left:0;font-size:1.15rem}
[data-tpl="cm2pan"] .programa span::before{display:none}
[data-tpl="cm2pan"] .nombre-lugar{font-family:var(--f-head);font-weight:700;font-size:1.35rem;letter-spacing:.06em;color:var(--accent)}
[data-tpl="cm2pan"] .btn{border-radius:2px;font-family:var(--f-head);font-weight:700;font-size:.82rem;letter-spacing:.16em;padding:.95rem 1.6rem;outline:1px solid var(--accent-2);outline-offset:-5px;box-shadow:3px 3px 0 color-mix(in srgb,var(--accent-2) 70%,transparent)}
[data-tpl="cm2pan"] .btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);box-shadow:none;outline-color:var(--accent-2)}
[data-tpl="cm2pan"] form,[data-tpl="cm2pan"] .gracias{background:var(--card);border:1px solid var(--accent-2);border-radius:2px;box-shadow:inset 0 0 0 4px var(--bg),inset 0 0 0 5px color-mix(in srgb,var(--accent-2) 60%,transparent);padding:1.8rem 1.5rem}
[data-tpl="cm2pan"] label{font-family:var(--f-head);font-weight:700;font-size:.72rem;letter-spacing:.18em;color:var(--accent);opacity:1}
[data-tpl="cm2pan"] input[type=text],[data-tpl="cm2pan"] textarea{border-radius:2px;border:1px solid var(--accent-2);font-family:var(--f-body)}
[data-tpl="cm2pan"] .galeria img{border-radius:3px;border:1px solid var(--accent-2);padding:5px;background:var(--card);box-shadow:0 8px 18px -10px #0006}
[data-tpl="cm2pan"] .galeria img:nth-child(3n+1){border-radius:999px 999px 3px 3px;aspect-ratio:3/4}
[data-tpl="cm2pan"] .cierre .nombre-cierre{font-family:var(--f-body);font-style:italic;font-size:2rem;color:var(--accent)}
[data-tpl="cm2pan"] .sobre-wrap h1{font-family:var(--f-head);font-weight:700;font-size:1.7rem;letter-spacing:.06em;color:var(--accent)}
[data-tpl="cm2pan"] .sobre-wrap .para{font-family:var(--f-body);font-style:italic;text-transform:none;letter-spacing:.04em;font-size:1.25rem;opacity:1}
[data-tpl="cm2pan"] #sobre{background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--c2) 38%,transparent),transparent 62%),var(--bg)}
[data-tpl="cm2pan"] #sobre::before{content:"";position:absolute;inset:9px;border:3px double color-mix(in srgb,var(--accent-2) 75%,transparent)}
/* sobre: misal que se abre */
.cm2pa-book{position:relative;width:176px;height:236px;margin:0 auto;perspective:900px}
.cm2pa-lomo{position:absolute;left:-6px;top:0;bottom:0;width:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 60%,#000),var(--accent));border-radius:4px 0 0 4px;z-index:3}
.cm2pa-pag{position:absolute;inset:3px 0 3px 4px;background:linear-gradient(90deg,#d8c8a4 0,#fbf3e0 14%,#fbf3e0);border-radius:2px 6px 6px 2px;box-shadow:inset 0 0 22px color-mix(in srgb,var(--c2) 70%,transparent),3px 4px 0 #e8dcc0,5px 7px 0 #d6c8a6,0 16px 30px -8px #0007;display:grid;place-items:center;--ink:#3a2a1f}
.cm2pa-pag svg{width:70%}
.cm2pa-tapa{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.5,0,.2,1);z-index:2;animation:cm2pa-asoma 3.4s ease-in-out infinite}
.cm2pa-fr{position:absolute;inset:0;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#000));border-radius:3px 8px 8px 3px;border:2px solid var(--accent-2);box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--accent) 80%,#000),inset 0 0 0 6px var(--accent-2),0 14px 28px -8px #0008;backface-visibility:hidden;overflow:hidden;display:grid;place-items:center}
.cm2pa-fr svg{width:74%}
.cm2pa-brillo{position:absolute;top:-20%;bottom:-20%;left:0;width:22%;background:linear-gradient(100deg,transparent,#fff5,transparent);animation:cm2-barre 3.2s ease-in-out infinite;transform:skewX(-16deg)}
.cm2pa-cinta{position:absolute;right:30px;top:100%;margin-top:-6px;width:12px;height:56px;background:linear-gradient(90deg,var(--accent-2),color-mix(in srgb,var(--accent-2) 70%,#000));clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);transform-origin:50% 0;animation:cm2-mece 2.6s ease-in-out infinite;z-index:4}
.cm2pa-book.open .cm2pa-tapa{transform:rotateY(-172deg);animation:none}
.cm2pa-book.open .cm2pa-pag{animation:cm2pa-luz .9s ease-out forwards}
@keyframes cm2pa-asoma{0%,60%,100%{transform:rotateY(0)}74%{transform:rotateY(-24deg)}86%{transform:rotateY(-6deg)}}
@keyframes cm2pa-luz{from{box-shadow:inset 0 0 22px var(--c2),3px 4px 0 #e8dcc0,0 16px 30px -8px #0007}to{box-shadow:inset 0 0 60px #fff,0 0 60px 20px var(--c2),0 16px 30px -8px #0007}}
@media (prefers-reduced-motion:reduce){.cm2pa-tapa,.cm2pa-brillo,.cm2pa-cinta,[data-tpl="cm2pan"] .cd-s::after,[data-tpl="cm2pan"] .cd-s b{animation:none!important}}

/* ===== 2. cm2jardin · Ventana al jardín ===== */
[data-fx="cm2jardin"] #fx{background:linear-gradient(90deg,color-mix(in srgb,var(--c1) 11%,transparent) 50%,transparent 0) 0 0/44px 44px,linear-gradient(color-mix(in srgb,var(--c1) 11%,transparent) 50%,transparent 0) 0 0/44px 44px,linear-gradient(var(--bg),var(--soft))}
[data-tpl="cm2jardin"] .eyebrow{font-family:var(--f-body);font-weight:700;font-size:.92rem;letter-spacing:.14em;color:var(--accent);opacity:1;text-wrap:balance;max-width:20em;margin:0 auto}
[data-tpl="cm2jardin"] .nombre{font-family:var(--f-head);font-size:min(var(--name-size),14vw);line-height:1.05;color:var(--accent);text-shadow:3px 3px 0 var(--bg),5px 5px 0 color-mix(in srgb,var(--c1) 70%,transparent);transform:rotate(-2deg);margin:.6rem 0 .2rem}
[data-tpl="cm2jardin"] .titulo{font-family:var(--f-head);font-size:1.7rem;color:var(--ink)}
[data-tpl="cm2jardin"] .f-ventana{--ar:4/5;width:min(76%,290px);padding:12px;background:#fffdf8;border:2px solid color-mix(in srgb,var(--ink) 35%,transparent);border-radius:6px;box-shadow:0 18px 30px -14px #0005,0 0 0 8px var(--c1);margin:2.4rem auto 3.4rem}
[data-tpl="cm2jardin"] .f-ventana img{border:2px solid color-mix(in srgb,var(--ink) 30%,transparent)}
[data-tpl="cm2jardin"] .f-ventana::before{content:"";position:absolute;inset:12px;pointer-events:none;background:linear-gradient(#fffdf8,#fffdf8) center/7px 100% no-repeat,linear-gradient(#fffdf8,#fffdf8) center/100% 7px no-repeat;opacity:.9}
[data-tpl="cm2jardin"] .f-ventana::after{content:"";position:absolute;left:-14px;right:-14px;bottom:-26px;height:26px;border-radius:4px 4px 10px 10px;background:repeating-linear-gradient(90deg,var(--c4) 0 18px,color-mix(in srgb,var(--c4) 75%,#000) 18px 20px);box-shadow:0 6px 10px -4px #0004}
[data-tpl="cm2jardin"] .fecha .dia{background:var(--accent);box-shadow:5px 5px 0 var(--c1);font-family:var(--f-head);border-radius:50% 50% 50% 8px}
[data-tpl="cm2jardin"] .fecha .d-dow,[data-tpl="cm2jardin"] .fecha .d-mes,[data-tpl="cm2jardin"] .fecha .d-anio{font-family:var(--f-body);font-weight:700;letter-spacing:.16em}
[data-tpl="cm2jardin"] .cuenta{gap:.6rem}
[data-tpl="cm2jardin"] .cuenta div{position:relative;min-width:64px;background:var(--bg);color:var(--ink);border-radius:50% 50% 14px 14px / 40% 40% 14px 14px;padding:1rem .4rem .6rem;border:2px solid var(--c1);box-shadow:0 5px 0 var(--c1)}
[data-tpl="cm2jardin"] .cuenta div:nth-child(2n){border-color:var(--c2);box-shadow:0 5px 0 var(--c2)}
[data-tpl="cm2jardin"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.9rem;color:var(--accent)}
[data-tpl="cm2jardin"] .cuenta span{font-weight:700;opacity:.8}
[data-tpl="cm2jardin"] .cd-s::before{content:"";position:absolute;left:50%;top:-12px;width:20px;height:20px;margin-left:-10px;background:radial-gradient(circle,var(--c2) 0 28%,transparent 30%),conic-gradient(var(--c1) 0 12.5%,#0000 0 25%,var(--c1) 0 37.5%,#0000 0 50%,var(--c1) 0 62.5%,#0000 0 75%,var(--c1) 0 87.5%,#0000 0);border-radius:50%;animation:cm2ja-gira 1s linear}
[data-tpl="cm2jardin"] .cd-s b{animation:cm2ja-brinca 1s ease-out}
@keyframes cm2ja-gira{to{transform:rotate(45deg)}}
@keyframes cm2ja-brinca{0%{transform:translateY(-9px) scale(1.2)}35%{transform:translateY(0)}55%{transform:translateY(-3px)}100%{transform:none}}
[data-tpl="cm2jardin"] h2.sec{font-family:var(--f-head);font-size:2.3rem;color:var(--accent);position:relative;display:inline-block;padding:0 .3rem}
[data-tpl="cm2jardin"] h2.sec::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:9px;background:color-mix(in srgb,var(--c2) 70%,transparent);z-index:-1;border-radius:6px;transform:rotate(-1deg)}
[data-tpl="cm2jardin"] .mensaje{font-style:normal;font-size:1.2rem;line-height:1.65;background:var(--card);padding:1.4rem 1.2rem;border-radius:4px;box-shadow:0 6px 16px -8px #0004;transform:rotate(-.7deg);position:relative}
[data-tpl="cm2jardin"] .mensaje::before{content:"";position:absolute;top:-12px;left:50%;width:90px;height:24px;margin-left:-45px;background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--c1) 80%,transparent) 0 8px,color-mix(in srgb,var(--c2) 75%,transparent) 8px 16px);transform:rotate(2deg);opacity:.9}
[data-tpl="cm2jardin"] .padres b{color:var(--accent);opacity:1;font-weight:700}
[data-tpl="cm2jardin"] .programa::before{left:6.2rem;border-left:2px dashed var(--c4);background:none;width:0;opacity:.9}
[data-tpl="cm2jardin"] .programa time{color:var(--accent);font-weight:700}
[data-tpl="cm2jardin"] .programa span::before{width:13px;height:13px;left:-.4rem;top:.5rem;background:radial-gradient(circle,var(--c2) 0 30%,var(--c1) 32%);border-radius:50%}
[data-tpl="cm2jardin"] .nombre-lugar{font-family:var(--f-head);font-size:1.8rem;color:var(--accent);font-weight:400}
[data-tpl="cm2jardin"] .btn{border-radius:999px 999px 999px 8px;font-family:var(--f-body);font-weight:700;letter-spacing:.1em;font-size:.88rem;box-shadow:0 5px 0 color-mix(in srgb,var(--accent) 55%,#000)}
[data-tpl="cm2jardin"] .btn.ghost{background:#fffdf8;color:var(--accent);box-shadow:0 5px 0 var(--c1);border:2px solid var(--c1)}
[data-tpl="cm2jardin"] form,[data-tpl="cm2jardin"] .gracias{background:var(--card);border:2px dashed var(--c1);box-shadow:none;border-radius:18px}
[data-tpl="cm2jardin"] label{font-weight:700;color:var(--accent);opacity:1}
[data-tpl="cm2jardin"] .galeria img{border:6px solid #fffdf8;border-radius:4px;box-shadow:0 8px 16px -8px #0005;aspect-ratio:1}
[data-tpl="cm2jardin"] .galeria img:nth-child(odd){transform:rotate(-2deg)}[data-tpl="cm2jardin"] .galeria img:nth-child(even){transform:rotate(2deg)}
[data-tpl="cm2jardin"] .galeria img:nth-child(3n+1){border-radius:4px;aspect-ratio:1}
[data-tpl="cm2jardin"] .cierre .nombre-cierre{font-family:var(--f-head);color:var(--accent)}
[data-tpl="cm2jardin"] .sobre-wrap h1{font-family:var(--f-head);color:var(--accent);font-size:2.6rem}
[data-tpl="cm2jardin"] .sobre-wrap .para{font-weight:700;color:var(--accent);opacity:1}
[data-tpl="cm2jardin"] #sobre{background:linear-gradient(90deg,color-mix(in srgb,var(--c1) 11%,transparent) 50%,transparent 0) 0 0/44px 44px,linear-gradient(color-mix(in srgb,var(--c1) 11%,transparent) 50%,transparent 0) 0 0/44px 44px,var(--bg)}
/* sobre: ventana con postigos */
.cm2ja-vent{position:relative;width:216px;height:226px;margin:0 auto;perspective:700px}
.cm2ja-vista{position:absolute;inset:0;background:linear-gradient(var(--c3),var(--soft) 60%);border:8px solid #fffdf8;border-radius:6px;box-shadow:0 0 0 2px color-mix(in srgb,var(--ink) 30%,transparent),0 16px 30px -10px #0006;overflow:hidden}
.cm2ja-sol{position:absolute;right:26px;top:20px;width:38px;height:38px;border-radius:50%;background:var(--c2);box-shadow:0 0 0 8px color-mix(in srgb,var(--c2) 40%,transparent),0 0 40px 14px color-mix(in srgb,var(--c2) 60%,transparent);animation:cm2-late 2.4s ease-in-out infinite}
.cm2ja-col{position:absolute;left:-20%;right:-20%;bottom:-30px;height:90px;background:var(--c4);border-radius:50% 50% 0 0;opacity:.85}
.cm2ja-mar{position:absolute;left:0;right:0;bottom:0;height:46px;background:radial-gradient(circle at 12px 10px,var(--c1) 0 6px,transparent 7px) 0 0/34px 26px,radial-gradient(circle at 24px 22px,var(--c2) 0 5px,transparent 6px) 0 0/34px 30px,var(--c4)}
.cm2ja-bt{position:absolute;left:30px;top:60px;width:38px;animation:cm2ja-vuela 4s ease-in-out infinite}
.cm2ja-ala{transform-box:fill-box;transform-origin:50% 50%;animation:cm2-ale .35s ease-in-out infinite}
@keyframes cm2ja-vuela{0%,100%{transform:translate(0,0)}25%{transform:translate(40px,-14px)}50%{transform:translate(80px,6px)}75%{transform:translate(36px,22px)}}
.cm2ja-pers{position:absolute;top:0;bottom:0;width:50%;background:var(--c1);border:3px solid color-mix(in srgb,var(--ink) 30%,transparent);transition:transform .9s cubic-bezier(.5,0,.2,1);background-image:repeating-linear-gradient(180deg,transparent 0 13px,#0003 13px 17px),linear-gradient(90deg,#fff3,transparent 25%,#0002);backface-visibility:visible;animation-duration:3s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
.cm2ja-pi{left:-4px;transform-origin:left center;border-radius:6px 0 0 6px;animation-name:cm2ja-ci}
.cm2ja-pd{right:-4px;transform-origin:right center;border-radius:0 6px 6px 0;animation-name:cm2ja-cd}
.cm2ja-pi::after,.cm2ja-pd::after{content:"";position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:var(--ink);opacity:.5}.cm2ja-pi::after{right:8px}.cm2ja-pd::after{left:8px}
.cm2ja-vent.open .cm2ja-pers{animation:none}
.cm2ja-vent.open .cm2ja-pi{transform:rotateY(-112deg)}.cm2ja-vent.open .cm2ja-pd{transform:rotateY(112deg)}
@keyframes cm2ja-ci{0%,55%,100%{transform:rotateY(0)}68%{transform:rotateY(-26deg)}80%{transform:rotateY(-6deg)}}
@keyframes cm2ja-cd{0%,55%,100%{transform:rotateY(0)}68%{transform:rotateY(26deg)}80%{transform:rotateY(6deg)}}
@media (prefers-reduced-motion:reduce){.cm2ja-sol,.cm2ja-bt,.cm2ja-ala,.cm2ja-pers,[data-tpl="cm2jardin"] .cd-s::before,[data-tpl="cm2jardin"] .cd-s b{animation:none!important}}

/* ===== 3. cm2marinero · Marinero de fe ===== */
[data-fx="cm2marinero"] #fx{background:repeating-linear-gradient(180deg,transparent 0 30px,color-mix(in srgb,var(--accent) 7%,transparent) 30px 42px),linear-gradient(var(--bg),var(--soft))}
[data-tpl="cm2marinero"] .eyebrow{font-family:var(--f-head);font-weight:700;font-size:.9rem;letter-spacing:.22em;color:var(--accent-2);opacity:1;text-wrap:balance;max-width:19em;margin:0 auto}
[data-tpl="cm2marinero"] .nombre{font-family:var(--f-script);font-size:min(var(--name-size),16vw);line-height:1.05;color:var(--accent);text-shadow:2px 2px 0 var(--bg),4px 4px 0 color-mix(in srgb,var(--c3) 80%,transparent);margin:.5rem 0 .1rem}
[data-tpl="cm2marinero"] .titulo{font-family:var(--f-head);font-weight:700;font-size:1.45rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);position:relative;display:inline-block;padding:.35rem 1.4rem;border-top:3px double var(--accent-2);border-bottom:3px double var(--accent-2);margin-top:.4rem}
[data-tpl="cm2marinero"] .f-salvavidas{--ar:1;width:min(78%,290px);padding:34px;border-radius:50%;background:conic-gradient(var(--c1) 0 12.5%,#fffaf0 0 25%,var(--c1) 0 37.5%,#fffaf0 0 50%,var(--c1) 0 62.5%,#fffaf0 0 75%,var(--c1) 0 87.5%,#fffaf0 0);box-shadow:0 18px 30px -12px #0006,inset 0 0 0 4px #0002;margin:2.4rem auto;animation:cm2ma-boya 5s ease-in-out infinite}
[data-tpl="cm2marinero"] .f-salvavidas img{border-radius:50%;border:5px solid #fffaf0;box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 25%,transparent),inset 0 4px 12px #0006}
[data-tpl="cm2marinero"] .f-salvavidas::before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0 11.25deg,#0002 11.25deg 12deg);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%);mask:radial-gradient(circle,transparent 62%,#000 63%);pointer-events:none}
@keyframes cm2ma-boya{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
[data-tpl="cm2marinero"] .fecha .dia{font-family:var(--f-head);font-weight:700;width:104px;height:104px;font-size:3.4rem;background:var(--accent);border:5px solid #fffaf0;box-shadow:0 0 0 4px var(--accent),0 0 0 9px #fffaf0,0 0 0 11px var(--accent-2);margin:.3rem 0 1.2rem}
[data-tpl="cm2marinero"] .fecha .d-dow,[data-tpl="cm2marinero"] .fecha .d-mes,[data-tpl="cm2marinero"] .fecha .d-anio{font-family:var(--f-head);font-weight:700;letter-spacing:.24em;font-size:1.05rem}
[data-tpl="cm2marinero"] .cuenta{position:relative;gap:.5rem;padding-top:14px;margin-top:1.7rem}
[data-tpl="cm2marinero"] .cuenta::before{content:"";position:absolute;left:4%;right:4%;top:6px;height:4px;border-radius:2px;background:repeating-linear-gradient(90deg,#c9a56a 0 6px,#a8844a 6px 9px);box-shadow:0 2px 3px #0003}
[data-tpl="cm2marinero"] .cuenta div{min-width:64px;padding:.9rem .3rem 1.3rem;border-radius:0;clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);background:#fffaf0;color:var(--accent);box-shadow:none;transform-origin:50% 0;animation:cm2ma-ondea 3s ease-in-out infinite}
[data-tpl="cm2marinero"] .cuenta div:nth-child(even){background:var(--ink);color:var(--bg);animation-delay:-.7s}
[data-tpl="cm2marinero"] .cuenta div:nth-child(3){background:var(--accent);color:var(--btn-ink);animation-delay:-1.4s}
[data-tpl="cm2marinero"] .cuenta b{font-family:var(--f-head);font-size:1.7rem}
[data-tpl="cm2marinero"] .cuenta span{font-weight:700;opacity:.95}
[data-tpl="cm2marinero"] .cd-s b{animation:cm2ma-tic 1s ease-out}
@keyframes cm2ma-ondea{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
@keyframes cm2ma-tic{0%{transform:translateY(-8px) scale(1.25)}100%{transform:none}}
[data-tpl="cm2marinero"] h2.sec{font-family:var(--f-head);font-weight:700;font-size:1.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:.8rem;justify-content:center}
[data-tpl="cm2marinero"] h2.sec::before,[data-tpl="cm2marinero"] h2.sec::after{content:"";flex:1;height:8px;background:repeating-linear-gradient(135deg,var(--c1) 0 5px,#fffaf0 5px 10px);border:1px solid var(--accent);border-radius:4px}
[data-tpl="cm2marinero"] .mensaje{font-style:normal;font-size:1.22rem;line-height:1.65;background:var(--card);border:2px solid var(--accent);border-radius:14px;padding:1.4rem 1.2rem;box-shadow:5px 5px 0 var(--c3)}
[data-tpl="cm2marinero"] .padres b{color:var(--accent-2);opacity:1;font-family:var(--f-head);font-weight:700}
[data-tpl="cm2marinero"] .programa::before{left:6.3rem;width:0;background:none;border-left:3px dotted var(--accent);opacity:.6}
[data-tpl="cm2marinero"] .programa time{font-family:var(--f-head);font-weight:700;color:var(--accent)}
[data-tpl="cm2marinero"] .programa span::before{width:14px;height:14px;left:-.5rem;top:.5rem;background:#fffaf0;border:3px solid var(--c1);border-radius:50%;box-shadow:0 0 0 2px var(--accent)}
[data-tpl="cm2marinero"] .nombre-lugar{font-family:var(--f-head);font-weight:700;color:var(--accent);font-size:1.5rem}
[data-tpl="cm2marinero"] .btn{border-radius:8px;font-family:var(--f-head);font-weight:700;letter-spacing:.14em;font-size:.92rem;box-shadow:0 4px 0 color-mix(in srgb,var(--accent) 50%,#000);border:2px solid #fffaf0;outline:2px solid var(--accent)}
[data-tpl="cm2marinero"] .btn.ghost{background:#fffaf0;color:var(--accent);box-shadow:0 4px 0 var(--c3);border-color:var(--accent);outline:0}
[data-tpl="cm2marinero"] form,[data-tpl="cm2marinero"] .gracias{border:2px solid var(--accent);border-radius:14px;box-shadow:5px 5px 0 var(--c3);background:var(--card)}
[data-tpl="cm2marinero"] label{font-family:var(--f-head);font-weight:700;color:var(--accent);opacity:1;letter-spacing:.14em}
[data-tpl="cm2marinero"] .galeria img{border-radius:50%;aspect-ratio:1;border:7px solid var(--c1);outline:3px solid #fffaf0;outline-offset:-10px;box-shadow:0 8px 16px -8px #0005}
[data-tpl="cm2marinero"] .galeria img:nth-child(even){border-color:var(--accent)}
[data-tpl="cm2marinero"] .galeria img:nth-child(3n+1){border-radius:50%;aspect-ratio:1}
[data-tpl="cm2marinero"] .cierre .nombre-cierre{font-family:var(--f-script);color:var(--accent);font-size:2.4rem}
[data-tpl="cm2marinero"] .sobre-wrap h1{font-family:var(--f-script);color:var(--accent);font-size:3rem}
[data-tpl="cm2marinero"] .sobre-wrap .para{font-family:var(--f-head);font-weight:700;color:var(--accent-2);opacity:1;letter-spacing:.22em;font-size:.9rem}
[data-tpl="cm2marinero"] #sobre{background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--c3) 60%,transparent),transparent 70%),repeating-linear-gradient(180deg,transparent 0 30px,color-mix(in srgb,var(--accent) 7%,transparent) 30px 42px),var(--bg)}
/* sobre: botella con mensaje */
.cm2ma-bot{position:relative;width:260px;height:198px;margin:0 auto}
.cm2ma-bot{-webkit-mask:radial-gradient(ellipse 62% 80% at 50% 55%,#000 60%,transparent 100%);mask:radial-gradient(ellipse 62% 80% at 50% 55%,#000 60%,transparent 100%)}
.cm2ma-bot svg{width:100%;height:100%;overflow:visible}
.cm2ma-mov{animation:cm2ma-cabecea 3.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 60%}
.cm2ma-corcho,.cm2ma-rollo,.cm2ma-cuerpo{transform-box:fill-box}
.cm2ma-o1{animation:cm2-desl 3s ease-in-out infinite}.cm2ma-o2{animation:cm2-desl 2.4s ease-in-out -1s infinite}
.cm2ma-corcho{animation:cm2ma-corcho 3s ease-in-out infinite;transform-origin:0 50%}
.cm2ma-chispas{opacity:0}
.cm2ma-b{position:absolute;border-radius:50%;border:1.5px solid #fff;background:#fff4;bottom:70px;animation:cm2-sube 2.8s linear infinite}
.cm2ma-b.b1{left:70px;width:8px;height:8px}.cm2ma-b.b2{left:100px;width:6px;height:6px;animation-delay:-1s}.cm2ma-b.b3{left:130px;width:10px;height:10px;animation-delay:-1.9s}
.cm2ma-bot.open .cm2ma-mov{animation:none}
.cm2ma-bot.open .cm2ma-corcho{animation:cm2ma-sale .8s ease-in forwards}
.cm2ma-bot.open .cm2ma-rollo{transition:transform .8s cubic-bezier(.3,1.4,.5,1) .1s;transform:translate(50px,-6px) scale(1.18)}
.cm2ma-bot.open .cm2ma-chispas{opacity:1;animation:cm2-flota .8s ease-out}
@keyframes cm2ma-cabecea{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}
@keyframes cm2ma-corcho{0%,70%,100%{transform:translate(0,0) rotate(0)}80%{transform:translate(3px,-3px) rotate(8deg)}90%{transform:translate(0,0) rotate(-5deg)}}
@keyframes cm2ma-sale{to{transform:translate(34px,-70px) rotate(70deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.cm2ma-mov,.cm2ma-o1,.cm2ma-o2,.cm2ma-corcho,.cm2ma-b,[data-tpl="cm2marinero"] .f-salvavidas,[data-tpl="cm2marinero"] .cuenta div,[data-tpl="cm2marinero"] .cd-s b{animation:none!important}}

/* ===== 4. cm2vals · Salón de espejos ===== */
[data-fx="cm2vals"] #fx{background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--c2) 30%,transparent),transparent 55%),repeating-linear-gradient(90deg,transparent 0 58px,color-mix(in srgb,var(--accent-2) 14%,transparent) 58px 60px),linear-gradient(var(--bg),var(--soft))}
[data-tpl="cm2vals"] .escena{-webkit-mask:linear-gradient(#000 90%,transparent);mask:linear-gradient(#000 90%,transparent)}
[data-tpl="cm2vals"] .eyebrow{font-family:var(--f-body);letter-spacing:.2em;font-size:.82rem;color:var(--accent-2);opacity:1;text-wrap:balance;max-width:20em;margin:0 auto}
[data-tpl="cm2vals"] .nombre{font-family:var(--f-script);font-size:min(var(--name-size),17vw);line-height:1;margin:.5rem 0 .2rem;background:linear-gradient(100deg,var(--accent),var(--accent-2) 45%,var(--accent) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 color-mix(in srgb,var(--bg) 70%,transparent));padding:.1em .1em}
[data-tpl="cm2vals"] .titulo{font-family:var(--f-head);font-size:1.3rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;gap:.9rem;justify-content:center}
[data-tpl="cm2vals"] .titulo::before,[data-tpl="cm2vals"] .titulo::after{content:"";width:34px;height:1px;background:var(--accent-2)}
[data-tpl="cm2vals"] .f-espejo{--ar:3/4;width:min(68%,250px);padding:10px;border-radius:999px 999px 8px 8px;background:linear-gradient(135deg,var(--accent-2),var(--c2),var(--accent-2));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-2) 30%,transparent),0 20px 36px -12px #0007;margin:2.6rem auto;overflow:hidden}
[data-tpl="cm2vals"] .f-espejo img{border-radius:999px 999px 2px 2px;border:3px solid var(--bg)}
[data-tpl="cm2vals"] .f-espejo::after{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(100deg,transparent,#fff8,transparent);animation:cm2-barre 4.5s ease-in-out infinite;pointer-events:none;transform:skewX(-16deg)}
[data-tpl="cm2vals"] .fecha .dia{font-family:var(--f-head);font-size:3.6rem;color:var(--accent)}
[data-tpl="cm2vals"] .fecha .d-dow{font-family:var(--f-head);letter-spacing:.4em;color:var(--accent-2);font-size:.95rem}
[data-tpl="cm2vals"] .fecha .d-mes,[data-tpl="cm2vals"] .fecha .d-anio{font-family:var(--f-head);font-size:1.3rem}
[data-tpl="cm2vals"] .hora{font-family:var(--f-head);letter-spacing:.3em;color:var(--accent-2);opacity:1}
[data-tpl="cm2vals"] .cuenta{gap:.55rem;margin-top:1.8rem}
[data-tpl="cm2vals"] .cuenta div{position:relative;overflow:hidden;min-width:66px;padding:1.1rem .3rem .6rem;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--c3) 45%,var(--card)),var(--card));border:2px solid var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-2) 22%,transparent),0 8px 14px -8px #0006}
[data-tpl="cm2vals"] .cuenta div::after{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(100deg,transparent,#fff9,transparent);transform:skewX(-16deg);animation:cm2-barre 4.8s ease-in-out infinite}
[data-tpl="cm2vals"] .cuenta div:nth-child(2)::after{animation-delay:-1.2s}[data-tpl="cm2vals"] .cuenta div:nth-child(3)::after{animation-delay:-2.4s}[data-tpl="cm2vals"] .cuenta div:nth-child(4)::after{animation-delay:-3.6s}
[data-tpl="cm2vals"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.7rem;color:var(--accent)}
[data-tpl="cm2vals"] .cuenta span{font-family:var(--f-body);letter-spacing:.12em;opacity:.95}
[data-tpl="cm2vals"] .cd-s b{animation:cm2va-tic 1s ease-out}
@keyframes cm2va-tic{0%{transform:scale(1.35);text-shadow:0 0 12px var(--c2);color:var(--accent-2)}100%{transform:none}}
[data-tpl="cm2vals"] h2.sec{font-family:var(--f-script);font-size:3.2rem;font-weight:400;color:var(--accent);line-height:1.1}
[data-tpl="cm2vals"] .mensaje{font-style:normal;font-size:1.2rem;line-height:1.7;letter-spacing:.02em}
[data-tpl="cm2vals"] .padres b{font-family:var(--f-head);color:var(--accent-2);opacity:1;letter-spacing:.3em}
[data-tpl="cm2vals"] .programa{counter-reset:va;background:var(--card);border:1px solid var(--accent-2);padding:1.6rem 1.1rem 1rem;position:relative;margin-top:1.8rem;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-2) 18%,transparent)}
[data-tpl="cm2vals"] .programa::before{left:50%;top:-22px;bottom:auto;width:2px;height:22px;background:var(--accent-2);opacity:1}
[data-tpl="cm2vals"] .programa::after{content:"";position:absolute;left:50%;top:-30px;width:16px;height:16px;margin-left:-8px;border-radius:50%;border:2px solid var(--accent-2);background:var(--bg)}
[data-tpl="cm2vals"] .programa li{counter-increment:va;gap:.8rem;padding:.6rem 0;border-bottom:1px solid color-mix(in srgb,var(--accent-2) 35%,transparent)}[data-tpl="cm2vals"] .programa li:last-child{border:0}
[data-tpl="cm2vals"] .programa li::before{content:counter(va,upper-roman);flex:0 0 2rem;font-family:var(--f-script);font-size:1.8rem;line-height:1;color:var(--accent);text-align:center}
[data-tpl="cm2vals"] .programa time{flex:0 0 4.8rem;text-align:left;font-family:var(--f-head);color:var(--accent-2);font-weight:400}
[data-tpl="cm2vals"] .programa span{padding-left:0}[data-tpl="cm2vals"] .programa span::before{display:none}
[data-tpl="cm2vals"] .nombre-lugar{font-family:var(--f-head);font-weight:400;font-size:1.6rem;color:var(--accent)}
[data-tpl="cm2vals"] .btn{border-radius:999px;font-family:var(--f-head);letter-spacing:.2em;font-size:.82rem;background:linear-gradient(110deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--accent-2)));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-2) 45%,transparent)}
[data-tpl="cm2vals"] .btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent-2);box-shadow:none}
[data-tpl="cm2vals"] form,[data-tpl="cm2vals"] .gracias{border:1px solid var(--accent-2);border-radius:120px 120px 10px 10px;padding:2.4rem 1.5rem 1.6rem;background:var(--card);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-2) 18%,transparent)}
[data-tpl="cm2vals"] label{font-family:var(--f-head);color:var(--accent-2);opacity:1;letter-spacing:.2em;font-size:.76rem}
[data-tpl="cm2vals"] input[type=text],[data-tpl="cm2vals"] textarea{border-radius:4px;border:1px solid var(--accent-2)}
[data-tpl="cm2vals"] .galeria img{border-radius:999px 999px 6px 6px;aspect-ratio:3/4;border:3px solid var(--accent-2);padding:3px;background:var(--bg);box-shadow:0 8px 16px -8px #0006}
[data-tpl="cm2vals"] .cierre .nombre-cierre{font-family:var(--f-script);font-size:3rem;color:var(--accent)}
[data-tpl="cm2vals"] .sobre-wrap h1{font-family:var(--f-script);font-size:3.6rem;color:var(--accent)}
[data-tpl="cm2vals"] .sobre-wrap .para{font-family:var(--f-head);letter-spacing:.3em;color:var(--accent-2);opacity:1;font-size:.85rem}
[data-tpl="cm2vals"] #sobre{background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--c2) 35%,transparent),transparent 62%),repeating-linear-gradient(90deg,transparent 0 58px,color-mix(in srgb,var(--accent-2) 14%,transparent) 58px 60px),var(--bg)}
/* sobre: puertas del salón */
.cm2va-sala{position:relative;width:210px;height:262px;margin:0 auto;perspective:800px;border-radius:105px 105px 0 0;box-shadow:0 0 0 6px var(--accent-2),0 0 0 8px color-mix(in srgb,var(--accent-2) 40%,transparent),0 20px 36px -10px #0007}
.cm2va-luz{position:absolute;inset:0;border-radius:105px 105px 0 0;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#fff 0,var(--c2) 40%,color-mix(in srgb,var(--c2) 40%,var(--accent)) 100%);--ink:#000}
.cm2va-luz svg{position:absolute;left:10%;top:6%;width:80%}
.cm2va-ara{transform-box:fill-box;transform-origin:50% 0;animation:cm2-mece 3.6s ease-in-out infinite}
.cm2va-luz i{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;animation:cm2-tw 1.8s ease-in-out infinite}
.cm2va-luz .va-s1{left:20%;top:62%}.cm2va-luz .va-s2{left:70%;top:70%;animation-delay:-.6s}.cm2va-luz .va-s3{left:48%;top:84%;animation-delay:-1.2s}
.cm2va-puerta{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 80%,#000),var(--accent));transition:transform .9s cubic-bezier(.5,0,.2,1);animation-duration:3.2s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;border:2px solid var(--accent-2);box-shadow:inset 0 0 0 6px color-mix(in srgb,var(--accent) 80%,#000),inset 0 0 0 7px color-mix(in srgb,var(--accent-2) 70%,transparent)}
.cm2va-puerta::before{content:"";position:absolute;inset:22px 16px 30px;border:2px solid color-mix(in srgb,var(--accent-2) 80%,transparent);background:linear-gradient(#fff2,#0002)}
.cm2va-puerta i{position:absolute;top:50%;width:10px;height:34px;margin-top:-17px;border-radius:5px;background:linear-gradient(90deg,var(--c2),var(--accent-2));box-shadow:0 2px 4px #0006}
.cm2va-pi{left:0;transform-origin:left center;border-radius:105px 0 0 0;animation-name:cm2va-ci}.cm2va-pi i{right:6px}
.cm2va-pd{right:0;transform-origin:right center;border-radius:0 105px 0 0;animation-name:cm2va-cd}.cm2va-pd i{left:6px}
.cm2va-sala.open .cm2va-puerta{animation:none}.cm2va-sala.open .cm2va-pi{transform:rotateY(-108deg)}.cm2va-sala.open .cm2va-pd{transform:rotateY(108deg)}
@keyframes cm2va-ci{0%,55%,100%{transform:rotateY(0)}70%{transform:rotateY(-14deg)}85%{transform:rotateY(-3deg)}}
@keyframes cm2va-cd{0%,55%,100%{transform:rotateY(0)}70%{transform:rotateY(14deg)}85%{transform:rotateY(3deg)}}
@media (prefers-reduced-motion:reduce){.cm2va-ara,.cm2va-luz i,.cm2va-puerta,[data-tpl="cm2vals"] .cuenta div::after,[data-tpl="cm2vals"] .f-espejo::after,[data-tpl="cm2vals"] .cd-s b{animation:none!important}}

/* ===== 5. cm2portada · Portada de revista ===== */
[data-fx="cm2portada"] #fx{background:radial-gradient(circle,color-mix(in srgb,var(--c1) 22%,transparent) 1.6px,transparent 2px) 0 0/14px 14px,linear-gradient(var(--bg),var(--bg))}
[data-fx="cm2portada"] #fx::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:var(--accent)}
[data-tpl="cm2portada"] .escena{filter:drop-shadow(5px 6px 0 color-mix(in srgb,var(--accent) 55%,transparent))}
[data-tpl="cm2portada"] .eyebrow{display:inline-block;font-family:var(--f-body);font-weight:600;font-size:.78rem;letter-spacing:.24em;background:var(--ink);color:var(--bg);padding:.4rem .9rem;opacity:1;margin-top:.4rem}
[data-tpl="cm2portada"] .nombre{font-family:var(--f-head);font-size:min(var(--name-size),12vw);text-transform:uppercase;line-height:.98;letter-spacing:.01em;color:var(--ink);text-shadow:3px 3px 0 var(--c1);margin:.8rem 0 .1rem}
[data-tpl="cm2portada"] .titulo{font-family:var(--f-script);font-style:italic;font-size:1.9rem;color:var(--accent)}
[data-tpl="cm2portada"] .f-portada{--ar:4/5;width:min(82%,300px);border:3px solid var(--ink);box-shadow:9px 9px 0 var(--c1);transform:rotate(-1.6deg);margin:2.4rem auto 2.2rem;background:var(--soft)}
[data-tpl="cm2portada"] .f-portada::before{content:"XV";position:absolute;right:-18px;top:-18px;width:56px;height:56px;border-radius:50%;background:var(--c2);border:3px solid var(--ink);display:grid;place-items:center;font-family:var(--f-head);font-size:1.5rem;color:var(--ink);z-index:2;animation:cm2-late 2.2s ease-in-out infinite}
[data-tpl="cm2portada"] .f-portada::after{content:attr(data-cap);position:absolute;left:0;right:0;bottom:0;padding:.5rem .7rem;font-family:var(--f-head);text-transform:uppercase;font-size:1.3rem;color:#fff;background:linear-gradient(transparent,#000a);text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
[data-tpl="cm2portada"] .fecha{background:var(--ink);color:var(--bg);padding:.7rem 1rem;margin:1.2rem -.4rem;column-gap:.7rem}
[data-tpl="cm2portada"] .fecha .dia{font-family:var(--f-head);font-size:2.6rem;color:var(--bg)}
[data-tpl="cm2portada"] .fecha .d-dow{font-family:var(--f-body);font-weight:600;letter-spacing:.3em;font-size:.8rem}
[data-tpl="cm2portada"] .fecha .d-mes,[data-tpl="cm2portada"] .fecha .d-anio{font-family:var(--f-body);font-weight:600;letter-spacing:.2em;font-size:1.05rem}
[data-tpl="cm2portada"] .hora{font-family:var(--f-body);font-weight:600;letter-spacing:.3em;color:var(--accent);opacity:1;font-size:.9rem}
[data-tpl="cm2portada"] .cuenta{gap:.5rem;margin-top:1.5rem}
[data-tpl="cm2portada"] .cuenta div{position:relative;min-width:68px;padding:.8rem .4rem .55rem;border-radius:6px;background:var(--ink);color:var(--bg);box-shadow:4px 4px 0 var(--c1);overflow:hidden}
[data-tpl="cm2portada"] .cuenta div::after{content:"";position:absolute;left:0;right:0;top:46%;height:2px;background:var(--bg);opacity:.4}
[data-tpl="cm2portada"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:2rem;color:var(--bg)}
[data-tpl="cm2portada"] .cuenta span{font-family:var(--f-body);font-weight:600;letter-spacing:.2em;font-size:.62rem;color:var(--bg);opacity:.85}
[data-tpl="cm2portada"] .cd-s{background:var(--accent)!important;color:var(--btn-ink)!important}
[data-tpl="cm2portada"] .cd-s b{color:var(--btn-ink);animation:cm2po-flip 1s ease-out;transform-origin:50% 50%}[data-tpl="cm2portada"] .cd-s span{color:var(--btn-ink)}
@keyframes cm2po-flip{0%{transform:perspective(200px) rotateX(-90deg);opacity:.2}45%{transform:perspective(200px) rotateX(15deg);opacity:1}100%{transform:none}}
[data-tpl="cm2portada"] h2.sec{font-family:var(--f-head);font-size:2.1rem;text-transform:uppercase;color:var(--ink);display:inline-block;border-bottom:6px solid var(--accent);line-height:1.1;padding:0 .2rem .1rem;margin:1.6rem 0 1rem;position:relative}
[data-tpl="cm2portada"] h2.sec::before{content:"Esta noche";display:block;position:absolute;left:0;top:-1.3rem;font-family:var(--f-body);font-weight:600;font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--accent)}
[data-tpl="cm2portada"] .mensaje{font-family:var(--f-script);font-style:italic;font-size:1.45rem;line-height:1.4;text-align:left;border-left:6px solid var(--accent);padding:.3rem 0 .3rem 1rem}
[data-tpl="cm2portada"] .padres b{font-family:var(--f-body);font-weight:600;color:var(--accent);opacity:1;letter-spacing:.28em}
[data-tpl="cm2portada"] .programa{counter-reset:po}
[data-tpl="cm2portada"] .programa::before{display:none}
[data-tpl="cm2portada"] .programa li{counter-increment:po;align-items:baseline;gap:.6rem;padding:.55rem 0}
[data-tpl="cm2portada"] .programa li::before{content:counter(po,decimal-leading-zero);order:1;font-family:var(--f-head);font-size:1.5rem;color:var(--accent);flex:0 0 2.2rem;text-align:left}
[data-tpl="cm2portada"] .programa span{order:2;flex:1;padding-left:0;text-align:left;font-weight:600;border-bottom:2px dotted color-mix(in srgb,var(--ink) 45%,transparent)}
[data-tpl="cm2portada"] .programa span::before{display:none}
[data-tpl="cm2portada"] .programa time{order:3;flex:0 0 auto;font-family:var(--f-body);font-weight:600;color:var(--bg);background:var(--ink);padding:.15rem .5rem;font-size:.85rem}
[data-tpl="cm2portada"] .nombre-lugar{font-family:var(--f-head);text-transform:uppercase;font-size:1.6rem;color:var(--ink);font-weight:400}
[data-tpl="cm2portada"] .btn{border-radius:0;font-family:var(--f-body);font-weight:600;letter-spacing:.2em;font-size:.8rem;background:var(--ink);color:var(--bg);box-shadow:5px 5px 0 var(--accent)}
[data-tpl="cm2portada"] .btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--c1)}
[data-tpl="cm2portada"] form,[data-tpl="cm2portada"] .gracias{border:2px solid var(--ink);border-radius:0;box-shadow:7px 7px 0 var(--c1);background:var(--card)}
[data-tpl="cm2portada"] label{font-family:var(--f-body);font-weight:600;color:var(--accent);opacity:1;letter-spacing:.2em}
[data-tpl="cm2portada"] input[type=text],[data-tpl="cm2portada"] textarea{border-radius:0;border:2px solid var(--ink)}
[data-tpl="cm2portada"] .galeria{gap:1rem}
[data-tpl="cm2portada"] .galeria img{border-radius:0;aspect-ratio:4/5;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--c1)}
[data-tpl="cm2portada"] .galeria img:nth-child(odd){transform:rotate(-1.5deg)}[data-tpl="cm2portada"] .galeria img:nth-child(even){transform:rotate(1.5deg) translateY(10px)}
[data-tpl="cm2portada"] .galeria img:nth-child(3n+1){border-radius:0;aspect-ratio:4/5}
[data-tpl="cm2portada"] .cierre .nombre-cierre{font-family:var(--f-head);text-transform:uppercase;font-size:1.7rem;color:var(--accent)}
[data-tpl="cm2portada"] .sobre-wrap h1{font-family:var(--f-head);font-size:2.4rem;text-transform:uppercase;color:var(--ink);text-shadow:2px 2px 0 var(--c1)}
[data-tpl="cm2portada"] .sobre-wrap .para{font-family:var(--f-body);font-weight:600;letter-spacing:.34em;color:var(--accent);opacity:1;font-size:.8rem}
[data-tpl="cm2portada"] #sobre{background:radial-gradient(circle,color-mix(in srgb,var(--c1) 26%,transparent) 1.6px,transparent 2px) 0 0/14px 14px,var(--bg)}
/* sobre: bolsa de boutique */
.cm2po-bolsa{position:relative;width:190px;height:240px;margin:0 auto}
.po-cuerpo{position:absolute;left:0;right:0;bottom:0;height:176px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 80%,#000),var(--accent) 22%,var(--accent) 70%,color-mix(in srgb,var(--accent) 75%,#000));display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--btn-ink);box-shadow:0 18px 26px -10px #0008;transform-origin:50% 100%;animation:cm2po-bal 3s ease-in-out infinite;border-radius:3px}
.po-cuerpo::before{content:"";position:absolute;left:0;right:0;top:0;height:16px;background:#0002}
.po-cuerpo b{font-family:var(--f-head);font-weight:400;font-size:3.4rem;line-height:1;text-shadow:3px 3px 0 #0003}
.po-cuerpo small{font-family:var(--f-body);font-weight:600;letter-spacing:.3em;font-size:.6rem;text-transform:uppercase;margin-top:.5rem}
.po-cuerpo em{position:absolute;top:0;bottom:0;left:-30%;width:26%;background:linear-gradient(100deg,transparent,#fff6,transparent);transform:skewX(-14deg);animation:cm2-barre 3.2s ease-in-out infinite}
.po-cuerpo{overflow:hidden}
.po-asas{position:absolute;left:34px;right:34px;bottom:160px;height:70px;z-index:3;pointer-events:none;animation:cm2po-bal 3s ease-in-out infinite;transform-origin:50% 100%}
.po-asas i{position:absolute;inset:0;border:5px solid var(--ink);border-bottom:0;border-radius:70px 70px 0 0;transition:transform .8s ease,opacity .6s}
.po-papel{position:absolute;left:20px;right:20px;bottom:150px;height:70px;z-index:1}
.po-papel i{position:absolute;bottom:0;width:70px;height:74px;border-radius:50% 50% 8px 8px;transform-origin:50% 100%;transition:transform .8s cubic-bezier(.3,1.5,.5,1)}
.po-papel .p1{left:0;background:var(--c4);transform:rotate(-14deg);animation:cm2po-aleta 2.4s ease-in-out infinite}
.po-papel .p2{left:42px;width:76px;height:86px;background:var(--c2);animation:cm2po-aleta 2.8s ease-in-out -.8s infinite}
.po-papel .p3{right:0;background:var(--c1);transform:rotate(14deg);animation:cm2po-aleta 2.2s ease-in-out -1.4s infinite}
.po-c{position:absolute;left:50%;top:40%;width:9px;height:9px;border-radius:2px;opacity:0;background:var(--c1);transition:transform .8s ease-out,opacity .8s}.po-c.c2{background:var(--c2)}.po-c.c3{background:var(--accent)}.po-c.c4{background:var(--c4)}
.cm2po-bolsa.open .po-cuerpo,.cm2po-bolsa.open .po-asas{animation:none;transform:rotate(6deg) translateY(10px);transition:transform .6s}
.cm2po-bolsa.open .po-asas i{transform:translateY(-30px);opacity:0}
.cm2po-bolsa.open .po-papel .p1{animation:none;transform:rotate(-50deg) translate(-26px,-56px) scale(1.2)}.cm2po-bolsa.open .po-papel .p2{animation:none;transform:translateY(-84px) scale(1.25)}.cm2po-bolsa.open .po-papel .p3{animation:none;transform:rotate(50deg) translate(26px,-56px) scale(1.2)}
.cm2po-bolsa.open .po-c{opacity:1}.cm2po-bolsa.open .c1{transform:translate(-90px,-110px)}.cm2po-bolsa.open .c2{transform:translate(80px,-130px)}.cm2po-bolsa.open .c3{transform:translate(-40px,-150px)}.cm2po-bolsa.open .c4{transform:translate(50px,-100px)}
@keyframes cm2po-bal{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes cm2po-aleta{0%,100%{transform:rotate(-6deg) scaleY(1)}50%{transform:rotate(7deg) scaleY(1.08)}}
@media (prefers-reduced-motion:reduce){.po-cuerpo,.po-cuerpo em,.po-asas,.po-papel i,[data-tpl="cm2portada"] .f-portada::before,[data-tpl="cm2portada"] .cd-s b{animation:none!important}}

/* ===== 6. cm2rosas · Rosas de papel ===== */
[data-fx="cm2rosas"] #fx{background:radial-gradient(circle at 12% 104%,var(--c1) 0 22%,transparent 22.4%),radial-gradient(circle at 92% 100%,var(--c4) 0 20%,transparent 20.4%),radial-gradient(circle at 50% 112%,var(--accent) 0 26%,transparent 26.4%),linear-gradient(var(--bg),var(--soft));opacity:.55}
[data-tpl="cm2rosas"] .eyebrow{font-family:var(--f-body);font-weight:700;font-size:.8rem;letter-spacing:.2em;color:var(--accent);opacity:1;text-wrap:balance;max-width:20em;margin:0 auto}
[data-tpl="cm2rosas"] .nombre{font-family:var(--f-script);font-size:min(var(--name-size),17vw);line-height:1;color:var(--accent);text-shadow:2px 3px 0 var(--c1);margin:.5rem 0 .3rem;padding:0 .1em}
[data-tpl="cm2rosas"] .titulo{font-family:var(--f-head);font-size:1.5rem;color:var(--ink);letter-spacing:.04em}
[data-tpl="cm2rosas"] .f-petalo{--ar:4/5;width:min(74%,280px);padding:9px;background:var(--bg);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;box-shadow:0 0 0 7px var(--c1),0 0 0 14px var(--c4),0 0 0 20px var(--c2),12px 24px 28px -8px #0006;margin:3rem auto}
[data-tpl="cm2rosas"] .f-petalo img{border-radius:50% 50% 50% 50%/60% 60% 40% 40%}
[data-tpl="cm2rosas"] .f-petalo::before{content:"";position:absolute;left:50%;top:-30px;width:34px;height:42px;margin-left:-17px;background:var(--c3);border-radius:0 100% 0 100%;box-shadow:2px 3px 0 #0003;transform:rotate(-20deg);z-index:2;animation:cm2-mece 4s ease-in-out infinite}
[data-tpl="cm2rosas"] .fecha .dia{width:104px;height:104px;font-family:var(--f-head);font-size:3.4rem;background:var(--accent);box-shadow:0 0 0 5px var(--c1),0 0 0 10px var(--c4),4px 14px 18px -4px #0007;margin-bottom:1.4rem}
[data-tpl="cm2rosas"] .fecha .d-dow,[data-tpl="cm2rosas"] .fecha .d-mes,[data-tpl="cm2rosas"] .fecha .d-anio{font-family:var(--f-head);letter-spacing:.2em;font-size:1.05rem;color:var(--accent)}
[data-tpl="cm2rosas"] .hora{font-weight:700;color:var(--accent);opacity:1}
[data-tpl="cm2rosas"] .cuenta{gap:.65rem;margin-top:1.8rem}
[data-tpl="cm2rosas"] .cuenta div{min-width:66px;padding:1rem .4rem .8rem;border-radius:46% 4% 46% 4%;background:var(--accent);color:var(--btn-ink);box-shadow:3px 3px 0 var(--c4),6px 7px 0 var(--c2),7px 12px 14px -2px #0005;transform:rotate(-3deg)}
[data-tpl="cm2rosas"] .cuenta div:nth-child(even){border-radius:4% 46% 4% 46%;background:var(--c4);color:#fff;transform:rotate(3deg)}
[data-tpl="cm2rosas"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.8rem;color:inherit}
[data-tpl="cm2rosas"] .cuenta span{font-weight:700;color:inherit;opacity:.95;font-size:.68rem}
[data-tpl="cm2rosas"] .cd-s{background:var(--ink)!important;color:var(--bg)!important;animation:cm2ro-gira 1s ease-out}
@keyframes cm2ro-gira{0%{transform:rotate(-26deg) scale(1.12)}100%{transform:rotate(3deg) scale(1)}}
[data-tpl="cm2rosas"] h2.sec{font-family:var(--f-head);font-size:2.2rem;color:var(--accent);text-shadow:2px 2px 0 var(--c2),3px 4px 0 var(--c1)}
[data-tpl="cm2rosas"] .mensaje,[data-tpl="cm2rosas"] .programa{background:var(--card);padding:1.5rem 1.3rem;border-radius:6px;box-shadow:0 0 0 1px #0001,5px 6px 0 var(--c2),6px 8px 0 var(--c1),11px 13px 0 var(--c4),12px 18px 22px -2px #0005}
[data-tpl="cm2rosas"] .mensaje{font-style:normal;font-size:1.2rem;line-height:1.65;margin:0 6px 14px 0}
[data-tpl="cm2rosas"] .programa{margin:1.4rem 12px 18px 4px}
[data-tpl="cm2rosas"] .programa::before{left:6.4rem;top:1.4rem;bottom:1.4rem;width:0;background:none;border-left:2px dashed var(--c1);opacity:1}
[data-tpl="cm2rosas"] .programa time{color:var(--accent);font-weight:700;font-family:var(--f-head)}
[data-tpl="cm2rosas"] .programa span::before{width:14px;height:14px;left:-.5rem;top:.45rem;background:var(--c1);border-radius:0 100% 0 100%;box-shadow:1px 2px 0 var(--c4)}
[data-tpl="cm2rosas"] .padres b{color:var(--accent);opacity:1;font-weight:700}
[data-tpl="cm2rosas"] .nombre-lugar{font-family:var(--f-head);font-weight:400;font-size:1.6rem;color:var(--accent)}
[data-tpl="cm2rosas"] .btn{border-radius:999px 12px 999px 12px;font-family:var(--f-body);font-weight:700;letter-spacing:.12em;font-size:.86rem;background:var(--accent);box-shadow:3px 3px 0 var(--c4),6px 7px 0 var(--c1)}
[data-tpl="cm2rosas"] .btn.ghost{background:var(--card);color:var(--accent);border:0;box-shadow:3px 3px 0 var(--c1),6px 7px 0 var(--c2)}
[data-tpl="cm2rosas"] form,[data-tpl="cm2rosas"] .gracias{border-radius:6px;background:var(--card);box-shadow:5px 6px 0 var(--c2),6px 8px 0 var(--c1),11px 13px 0 var(--c4),12px 18px 22px -2px #0005;margin-right:12px}
[data-tpl="cm2rosas"] label{font-weight:700;color:var(--accent);opacity:1}
[data-tpl="cm2rosas"] .galeria{gap:1rem}
[data-tpl="cm2rosas"] .galeria img{border-radius:6px;aspect-ratio:1;border:5px solid var(--card);box-shadow:3px 4px 0 var(--c1),6px 8px 0 var(--c4),7px 12px 14px -2px #0005}
[data-tpl="cm2rosas"] .galeria img:nth-child(3n+1){border-radius:50% 50% 6px 6px;aspect-ratio:3/4}
[data-tpl="cm2rosas"] .cierre .nombre-cierre{font-family:var(--f-script);font-size:2.8rem;color:var(--accent)}
[data-tpl="cm2rosas"] .sobre-wrap h1{font-family:var(--f-script);font-size:3.4rem;color:var(--accent);text-shadow:2px 3px 0 var(--c1)}
[data-tpl="cm2rosas"] .sobre-wrap .para{font-weight:700;letter-spacing:.24em;color:var(--accent);opacity:1;font-size:.85rem}
[data-tpl="cm2rosas"] #sobre{background:radial-gradient(circle at 12% 104%,var(--c1) 0 22%,transparent 22.4%),radial-gradient(circle at 92% 100%,var(--c4) 0 20%,transparent 20.4%),radial-gradient(circle at 50% 112%,var(--accent) 0 26%,transparent 26.4%),var(--bg)}
/* sobre: caja de rosas */
.cm2ro-caja{position:relative;width:210px;height:240px;margin:0 auto}
.ro-cuerpo{position:absolute;left:18px;right:18px;bottom:0;height:128px;background:repeating-linear-gradient(90deg,var(--c4) 0 22px,color-mix(in srgb,var(--c4) 82%,#000) 22px 24px);border-radius:6px 6px 18px 18px/6px 6px 14px 14px;box-shadow:0 18px 26px -8px #0008;display:grid;place-items:center;color:#fff}
.ro-cuerpo b{font-family:var(--f-head);font-weight:400;font-size:2.6rem;text-shadow:2px 2px 0 #0004}
.ro-cuerpo i{position:absolute;top:0;bottom:0;left:-30%;width:24%;background:linear-gradient(100deg,transparent,#fff5,transparent);transform:skewX(-14deg);animation:cm2-barre 3.4s ease-in-out infinite}
.ro-cuerpo{overflow:hidden}
.ro-tapa{position:absolute;left:4px;right:4px;bottom:118px;height:40px;background:var(--accent);border-radius:8px;box-shadow:0 4px 0 color-mix(in srgb,var(--accent) 60%,#000),0 8px 12px -4px #0006;transition:transform .7s cubic-bezier(.3,1.4,.5,1),opacity .5s .2s;animation:cm2ro-tapa 2.6s ease-in-out infinite;transform-origin:20% 100%;z-index:3}
.ro-tapa i{position:absolute;left:0;right:0;top:46%;height:5px;background:var(--c2)}
.ro-rosa{position:absolute;left:50%;bottom:120px;width:150px;height:150px;margin-left:-75px;transform:translateY(40px) scale(.45);transform-origin:50% 80%;z-index:2;animation:cm2ro-asoma 2.6s ease-in-out infinite}
.ro-rosa svg{width:100%;height:100%;overflow:visible}
.ro-p{position:absolute;top:30px;width:12px;height:16px;border-radius:0 100% 0 100%;background:var(--c1);animation:cm2-tw 1.8s ease-in-out infinite}.ro-p.p1{left:12px}.ro-p.p2{right:10px;animation-delay:-.7s;background:var(--c2)}.ro-p.p3{left:100px;top:6px;animation-delay:-1.2s}
.cm2ro-caja.open .ro-tapa{animation:none;transform:translate(-34px,-80px) rotate(-30deg);opacity:0}
.cm2ro-caja.open .ro-rosa{animation:none;transform:translateY(-34px) scale(1.5);transition:transform .8s cubic-bezier(.3,1.5,.5,1)}
@keyframes cm2ro-tapa{0%,100%{transform:translateY(0) rotate(0)}18%{transform:translateY(-12px) rotate(-5deg)}34%{transform:translateY(0)}50%{transform:translateY(-6px) rotate(3deg)}66%{transform:translateY(0)}}
@keyframes cm2ro-asoma{0%,100%{transform:translateY(40px) scale(.45)}18%{transform:translateY(14px) scale(.55)}34%{transform:translateY(40px) scale(.45)}}
@media (prefers-reduced-motion:reduce){.ro-tapa,.ro-rosa,.ro-p,.ro-cuerpo i,[data-tpl="cm2rosas"] .f-petalo::before,[data-tpl="cm2rosas"] .cd-s{animation:none!important}}

/* ===== 7. cm2noche · Luna y cerezos ===== */
[data-fx="cm2noche"] #fx{background:radial-gradient(circle at 20% 30%,#fffc 0 .8px,transparent 1.3px) 0 0/137px 163px,radial-gradient(circle at 70% 60%,#fff9 0 .7px,transparent 1.2px) 0 0/89px 113px,radial-gradient(circle at 40% 80%,#fff8 0 .6px,transparent 1.1px) 0 0/211px 97px,radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--c3) 45%,transparent),transparent 65%),linear-gradient(var(--bg),var(--soft))}
[data-tpl="cm2noche"] .eyebrow{font-family:var(--f-head);letter-spacing:.12em;font-size:.95rem;color:var(--accent-2);opacity:1;text-transform:none;text-wrap:balance;max-width:20em;margin:0 auto}
[data-tpl="cm2noche"] .nombre{font-family:var(--f-script);font-size:min(var(--name-size),16vw);line-height:1.05;color:var(--ink);text-shadow:0 0 14px var(--c1),0 0 34px color-mix(in srgb,var(--c1) 60%,transparent);margin:.5rem 0 .2rem;padding:0 .1em}
[data-tpl="cm2noche"] .titulo{font-family:var(--f-head);font-size:1.25rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}
[data-tpl="cm2noche"] .f-luna{--ar:1;width:min(76%,290px);padding:10px;border-radius:50%;background:radial-gradient(circle,var(--c2),var(--accent-2));box-shadow:0 0 0 8px color-mix(in srgb,var(--c2) 25%,transparent),0 0 60px 10px color-mix(in srgb,var(--c2) 45%,transparent);margin:2.6rem auto;animation:cm2-late 6s ease-in-out infinite}
[data-tpl="cm2noche"] .f-luna img{border-radius:50%;border:4px solid var(--bg)}
[data-tpl="cm2noche"] .f-luna::before{content:"";position:absolute;inset:-26px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--c2) 70%,transparent);animation:cm2-gira 40s linear infinite}
[data-tpl="cm2noche"] .fecha .dia{position:relative;width:96px;height:112px;border-radius:50%/46%;font-family:var(--f-head);font-size:3.1rem;background:radial-gradient(circle at 50% 45%,#fff8e0,var(--c2) 85%);color:#2a1020;box-shadow:0 0 30px 6px color-mix(in srgb,var(--c2) 55%,transparent),inset 0 0 0 2px #fff6;margin:.9rem 0 1.4rem;animation:cm2-flota 4s ease-in-out infinite}
[data-tpl="cm2noche"] .fecha .dia::before{content:"";position:absolute;left:25%;right:25%;top:-7px;height:8px;border-radius:2px;background:var(--accent-2)}
[data-tpl="cm2noche"] .fecha .dia::after{content:"";position:absolute;left:25%;right:25%;bottom:-7px;height:8px;border-radius:2px;background:var(--accent-2)}
[data-tpl="cm2noche"] .fecha .d-dow,[data-tpl="cm2noche"] .fecha .d-mes,[data-tpl="cm2noche"] .fecha .d-anio{font-family:var(--f-head);letter-spacing:.3em;font-size:1rem;color:var(--accent-2)}
[data-tpl="cm2noche"] .hora{font-family:var(--f-head);color:var(--accent);opacity:1;letter-spacing:.28em}
[data-tpl="cm2noche"] .cuenta{gap:.7rem;margin-top:2rem;position:relative}
[data-tpl="cm2noche"] .cuenta div{position:relative;min-width:64px;padding:1rem .3rem .8rem;border-radius:50%/42%;background:radial-gradient(circle at 50% 45%,#fff8e0,var(--c2) 85%);color:#2a1020;box-shadow:0 0 22px 2px color-mix(in srgb,var(--c2) 45%,transparent);transform-origin:50% -14px;animation:cm2no-bal 4s ease-in-out infinite}
[data-tpl="cm2noche"] .cuenta div:nth-child(2){animation-delay:-1s}[data-tpl="cm2noche"] .cuenta div:nth-child(3){animation-delay:-2s}[data-tpl="cm2noche"] .cuenta div:nth-child(4){animation-delay:-3s}
[data-tpl="cm2noche"] .cuenta div::before{content:"";position:absolute;left:50%;top:-16px;width:1px;height:16px;background:color-mix(in srgb,var(--ink) 55%,transparent)}
[data-tpl="cm2noche"] .cuenta b{font-family:var(--f-head);font-weight:400;font-size:1.75rem;color:#2a1020}
[data-tpl="cm2noche"] .cuenta span{font-weight:700;color:#2a1020;opacity:.85;font-size:.68rem}
[data-tpl="cm2noche"] .cd-s{animation:cm2no-pulso 1s ease-out!important}
@keyframes cm2no-bal{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes cm2no-pulso{0%{box-shadow:0 0 60px 18px var(--c2)}100%{box-shadow:0 0 22px 2px color-mix(in srgb,var(--c2) 45%,transparent)}}
[data-tpl="cm2noche"] h2.sec{font-family:var(--f-head);font-weight:400;font-size:1.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:.8rem;justify-content:center}
[data-tpl="cm2noche"] h2.sec::before,[data-tpl="cm2noche"] h2.sec::after{content:"";width:22px;height:22px;flex:none;background:radial-gradient(circle,var(--c2) 0 16%,transparent 18%),conic-gradient(var(--c1) 0 8%,transparent 0 20%,var(--c1) 0 28%,transparent 0 40%,var(--c1) 0 48%,transparent 0 60%,var(--c1) 0 68%,transparent 0 80%,var(--c1) 0 88%,transparent 0);border-radius:50%;animation:cm2-gira 14s linear infinite}
[data-tpl="cm2noche"] .mensaje{font-style:normal;font-size:1.2rem;line-height:1.7;background:var(--card);padding:1.6rem 1.3rem;border-radius:140px 140px 18px 18px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);backdrop-filter:blur(6px)}
[data-tpl="cm2noche"] .padres b{font-family:var(--f-head);color:var(--accent-2);opacity:1;letter-spacing:.3em}
[data-tpl="cm2noche"] .programa{background:var(--card);padding:1.6rem 1rem;margin:1.6rem 0;border-top:12px solid var(--accent-2);border-bottom:12px solid var(--accent-2);border-radius:6px;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-2) 40%,transparent),0 14px 24px -12px #0008;position:relative}
[data-tpl="cm2noche"] .programa::before{display:none}
[data-tpl="cm2noche"] .programa li{padding:.6rem 0;gap:1rem;border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}[data-tpl="cm2noche"] .programa li:last-child{border:0}
[data-tpl="cm2noche"] .programa time{font-family:var(--f-head);color:var(--accent-2)}
[data-tpl="cm2noche"] .programa span::before{width:10px;height:10px;left:-.2rem;top:.6rem;background:var(--c1);border-radius:0 100% 0 100%;box-shadow:0 0 8px var(--c1)}
[data-tpl="cm2noche"] .nombre-lugar{font-family:var(--f-head);font-weight:400;font-size:1.5rem;letter-spacing:.06em;color:var(--accent-2)}
[data-tpl="cm2noche"] .btn{border-radius:999px;font-family:var(--f-head);letter-spacing:.2em;font-size:.84rem;background:var(--accent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 55%,transparent)}
[data-tpl="cm2noche"] .btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);box-shadow:none}
[data-tpl="cm2noche"] form,[data-tpl="cm2noche"] .gracias{border-radius:120px 120px 16px 16px;padding:2.4rem 1.5rem 1.6rem;background:var(--card);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 30px -6px color-mix(in srgb,var(--c1) 50%,transparent);backdrop-filter:blur(6px)}
[data-tpl="cm2noche"] label{font-family:var(--f-head);color:var(--accent-2);opacity:1;letter-spacing:.18em;font-size:.76rem}
[data-tpl="cm2noche"] .galeria img{border-radius:50%;aspect-ratio:1;border:3px solid var(--accent-2);box-shadow:0 0 22px -4px var(--c2)}
[data-tpl="cm2noche"] .galeria img:nth-child(3n+1){border-radius:50%;aspect-ratio:1}
[data-tpl="cm2noche"] .cierre .nombre-cierre{font-family:var(--f-script);font-size:2.8rem;color:var(--ink);text-shadow:0 0 16px var(--c1)}
[data-tpl="cm2noche"] .sobre-wrap h1{font-family:var(--f-script);font-size:3.4rem;color:var(--ink);text-shadow:0 0 16px var(--c1)}
[data-tpl="cm2noche"] .sobre-wrap .para{font-family:var(--f-head);letter-spacing:.3em;color:var(--accent-2);opacity:1;font-size:.85rem}
[data-tpl="cm2noche"] #sobre{background:radial-gradient(circle at 20% 30%,#fffc 0 .8px,transparent 1.3px) 0 0/137px 163px,radial-gradient(circle at 70% 60%,#fff9 0 .7px,transparent 1.2px) 0 0/89px 113px,radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--c3) 40%,transparent),transparent 70%),linear-gradient(var(--bg),var(--soft))}
/* sobre: farol de papel */
.cm2no-farol{width:170px;height:240px;margin:0 auto;transition:transform 1s ease-in,opacity .9s}
.cm2no-farol svg{width:100%;height:100%;overflow:visible}
.cm2no-bal{transform-box:fill-box;transform-origin:50% 0;animation:cm2no-bal 3.8s ease-in-out infinite}
.cm2no-halo{animation:cm2-brilla 2.2s ease-in-out infinite}
.cm2no-llama{transform-box:fill-box;transform-origin:50% 100%;animation:cm2-flk .8s steps(1,end) infinite}
.cm2no-farol.open{transform:translateY(-120px) scale(1.5);opacity:0}.cm2no-farol.open .cm2no-bal{animation:none}
.cm2no-farol.open .cm2no-halo{animation:none;transform:scale(2.6);transform-box:fill-box;transform-origin:50% 50%;transition:transform .9s}
@media (prefers-reduced-motion:reduce){.cm2no-bal,.cm2no-halo,.cm2no-llama,[data-tpl="cm2noche"] .cuenta div,[data-tpl="cm2noche"] .f-luna,[data-tpl="cm2noche"] .f-luna::before,[data-tpl="cm2noche"] .fecha .dia,[data-tpl="cm2noche"] h2.sec::before,[data-tpl="cm2noche"] h2.sec::after,[data-tpl="cm2noche"] .cd-s{animation:none!important}}
