:root{
  --carbon:#1F1E1B; --carbon-2:#2B2A26; --hueso:#F7F1E6; --crema:#EFE6D6; --crema-2:#E7DCC8;
  --tinta:#2B2A26; --tinta-suave:#5E5A52;
  --verde:#2E8B57; --verde-oscuro:#1F7A3E; --rojo:#C8102E; --vino:#8B1E2D; --rosa:#E8457A;
  --luz:#F2B84B; --naranja:#F29100;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --texto:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ancho:1040px; --angosto:680px;
  --dur:.45s; --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--texto);font-size:17px;line-height:1.6;color:var(--tinta);background:var(--carbon);overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.05;margin:0 0 .5em;letter-spacing:-.01em}
h2{font-size:clamp(2.1rem,6vw,3.4rem)}
h3{font-size:1.45rem;font-weight:700}
p{margin:0 0 1em}
.eyebrow{font-family:var(--texto);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9em;color:var(--vino)}
.oscuro .eyebrow{color:var(--luz)}
section{position:relative;padding:4.5rem 1.25rem}
.contenido{max-width:var(--ancho);margin:0 auto;position:relative;z-index:2}
.angosto{max-width:var(--angosto)}
.claro{background:var(--hueso);color:var(--tinta)}
.claro-2{background:var(--crema)}
.oscuro{background:var(--carbon);color:var(--hueso)}
.oscuro h2,.oscuro h3{color:var(--hueso)}
.grande{font-size:1.25rem;line-height:1.5;font-weight:500}
.intro{font-size:1.1rem;color:var(--crema);max-width:36ch}
.nota{font-size:.95rem;color:var(--tinta-suave)}
.oscuro .nota{color:var(--crema)}
[hidden]{display:none!important}

/* ── foquitos ── */
.luces{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.9;
  background-image:
    radial-gradient(circle at 8% 12%, rgba(242,184,75,.85) 0 2px, rgba(242,184,75,.18) 6px, transparent 14px),
    radial-gradient(circle at 26% 6%, rgba(242,184,75,.8) 0 2px, rgba(242,184,75,.16) 6px, transparent 14px),
    radial-gradient(circle at 44% 14%, rgba(242,184,75,.85) 0 2px, rgba(242,184,75,.18) 6px, transparent 14px),
    radial-gradient(circle at 63% 5%, rgba(242,184,75,.8) 0 2px, rgba(242,184,75,.16) 6px, transparent 14px),
    radial-gradient(circle at 80% 13%, rgba(242,184,75,.85) 0 2px, rgba(242,184,75,.18) 6px, transparent 14px),
    radial-gradient(circle at 95% 7%, rgba(242,184,75,.8) 0 2px, rgba(242,184,75,.16) 6px, transparent 14px),
    radial-gradient(circle at 17% 88%, rgba(242,184,75,.5) 0 1.5px, rgba(242,184,75,.1) 5px, transparent 12px),
    radial-gradient(circle at 72% 92%, rgba(242,184,75,.5) 0 1.5px, rgba(242,184,75,.1) 5px, transparent 12px);
  animation:titilar 4.5s ease-in-out infinite alternate}
@keyframes titilar{from{opacity:.7}to{opacity:1}}

/* ── papel picado ── */
.papel{position:absolute;left:0;right:0;top:0;height:46px;z-index:3;pointer-events:none;
  background-repeat:repeat-x;background-size:44px 46px;background-position:center top;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 46'%3E%3Cpath d='M0 3h132' stroke='%23F7F1E6' stroke-opacity='.55' stroke-width='1.5'/%3E%3Cg%3E%3Cpath fill='%232E8B57' d='M2 3h40v28L22 44 2 31z'/%3E%3Cpath fill='%23F7F1E6' fill-opacity='.9' d='M22 10l5 6-5 6-5-6zM9 7h6v4H9zM29 7h6v4h-6zM12 26h4v4h-4zM28 26h4v4h-4z'/%3E%3C/g%3E%3Cg%3E%3Cpath fill='%23F7F1E6' d='M46 3h40v28L66 44 46 31z'/%3E%3Cpath fill='%23C8102E' fill-opacity='.85' d='M66 10l5 6-5 6-5-6zM53 7h6v4h-6zM73 7h6v4h-6zM56 26h4v4h-4zM72 26h4v4h-4z'/%3E%3C/g%3E%3Cg%3E%3Cpath fill='%23C8102E' d='M90 3h40v28L110 44 90 31z'/%3E%3Cpath fill='%23F7F1E6' fill-opacity='.9' d='M110 10l5 6-5 6-5-6zM97 7h6v4h-6zM117 7h6v4h-6zM100 26h4v4h-4zM116 26h4v4h-4z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:132px 46px;transform-origin:top center;animation:mecer 6s ease-in-out infinite alternate}
.claro .papel{filter:drop-shadow(0 2px 2px rgba(43,42,38,.12))}
@keyframes mecer{from{transform:skewX(-1deg)}to{transform:skewX(1deg)}}
@media (prefers-reduced-motion:reduce){.papel,.luces{animation:none}html{scroll-behavior:auto}}

/* ── barra ── */
.barra{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;background:rgba(31,30,27,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--hueso);border-bottom:1px solid rgba(247,241,230,.08)}
.barra-logo img{width:88px;height:auto}
.barra-chip{margin-left:auto;font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:.3rem .65rem;border:1px solid rgba(247,241,230,.35);border-radius:999px;white-space:nowrap}
.barra-compartir{font-size:.85rem;font-weight:600;text-decoration:none;padding:.4rem .8rem;border-radius:999px;background:var(--naranja);color:var(--carbon)}

/* ── hero ── */
.hero{min-height:min(92svh,860px);display:flex;align-items:flex-end;padding:0;overflow:hidden}
.hero-foto{position:absolute;inset:0;z-index:0}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero-velo{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(31,30,27,.55) 0%,rgba(31,30,27,.25) 35%,rgba(31,30,27,.82) 70%,var(--carbon) 100%)}
.papel-hero{top:0}
.hero .luces{z-index:2;opacity:.6}
.hero-cuerpo{position:relative;z-index:4;width:100%;max-width:var(--ancho);margin:0 auto;padding:7rem 1.25rem 3rem}
.titulo{font-size:clamp(3.4rem,15vw,8rem);line-height:.92;margin:0 0 .35em;color:var(--hueso);font-weight:700}
.titulo .acento{display:block;color:var(--luz);font-style:italic;font-weight:600}
.hero-sub{font-size:1.15rem;max-width:34ch;color:var(--crema);margin-bottom:1.6rem}
.datos{display:grid;gap:.6rem 1.5rem;margin:0 0 1.2rem;padding:0}
.datos div{display:flex;flex-direction:column}
.datos dt{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--luz);font-weight:600}
.datos dd{margin:0;font-weight:500;font-size:1.05rem}
.cuenta{font-family:var(--display);font-size:1.35rem;color:var(--hueso);margin:0 0 1.4rem;min-height:1.4em}
.cuenta b{color:var(--luz);font-weight:700}
@media (min-width:700px){.datos{grid-template-columns:repeat(3,auto)}}

/* ── botones ── */
.acciones{display:flex;flex-wrap:wrap;gap:.7rem}
.acciones.centro{justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.8rem 1.5rem;border-radius:999px;font-weight:600;text-decoration:none;font-size:1rem;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease);cursor:pointer;border:2px solid transparent}
.btn:active{transform:scale(.97)}
.btn-naranja{background:var(--naranja);color:var(--carbon);border-color:var(--naranja)}
.btn-naranja:hover{background:#FFA21A}
.btn-linea{border-color:currentColor;color:var(--hueso);background:transparent}
.claro .btn-linea{color:var(--tinta)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--luz);outline-offset:3px}

/* ── pasos ── */
.pasos{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;gap:1.4rem}
.pasos li{position:relative;padding:1.4rem 1.4rem 1.2rem 4.2rem;background:#fff;border-radius:18px;border:1px solid var(--crema-2)}
.pasos .num{position:absolute;left:1.2rem;top:1.25rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--verde);color:#fff;font-family:var(--display);font-weight:700;font-size:1.35rem;display:grid;place-items:center}
.pasos h3{margin-bottom:.35em}
.pasos p:last-child{margin-bottom:0}
@media (min-width:820px){.pasos{grid-template-columns:repeat(3,1fr)}}
.billete{margin:0;max-width:520px}
.billete img{border-radius:12px;box-shadow:0 14px 40px rgba(43,42,38,.18);transform:rotate(-2deg)}
.billete figcaption{font-size:.9rem;color:var(--tinta-suave);margin-top:1.1rem}

/* ── tarjetas ── */
.tarjetas{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.tarjetas li{background:#fff;border:1px solid var(--crema-2);border-radius:18px;padding:1.4rem;border-top:5px solid var(--verde)}
.tarjetas li:nth-child(2){border-top-color:var(--rojo)}
.tarjetas li:nth-child(3){border-top-color:var(--luz)}
.tarjetas li:nth-child(4){border-top-color:var(--rosa)}
.tarjetas h3{margin-bottom:.3em}
.tarjetas p{margin-bottom:0}
@media (min-width:700px){.tarjetas{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.tarjetas{grid-template-columns:repeat(4,1fr)}}

/* ── video ── */
.video{margin:0 0 1.5rem;border-radius:18px;overflow:hidden;background:#000;aspect-ratio:16/9;max-width:860px}
.video-play{position:relative;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer;display:block}
.video-play img{width:100%;height:100%;object-fit:cover;opacity:.85}
.play-ico{position:absolute;left:50%;top:50%;width:76px;height:76px;transform:translate(-50%,-50%);border-radius:50%;background:var(--naranja);box-shadow:0 0 0 12px rgba(242,145,0,.22)}
.play-ico::after{content:"";position:absolute;left:55%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent var(--carbon)}
.video-dur{position:absolute;right:.9rem;bottom:.8rem;font-size:.8rem;font-weight:600;background:rgba(31,30,27,.7);color:var(--hueso);padding:.25rem .55rem;border-radius:6px}
.video video{width:100%;height:100%;display:block;background:#000}

/* ── galería ── */
.galeria{list-style:none;margin:0 0 .8rem;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.galeria li{margin:0}
.galeria button{display:block;width:100%;padding:0;border:0;background:var(--carbon-2);border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:4/5}
.galeria li:first-child button{aspect-ratio:16/10;grid-column:span 2}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.galeria button:hover img{transform:scale(1.04)}
.galeria-nota{font-size:.85rem;color:var(--crema);opacity:.7}
@media (min-width:700px){.galeria{grid-template-columns:repeat(4,1fr)}.galeria li:first-child button{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;height:100%}}

/* ── lightbox ── */
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(31,30,27,.96);display:grid;place-items:center;padding:1rem}
.lightbox img{max-width:min(96vw,1100px);max-height:82vh;border-radius:8px;object-fit:contain}
.lightbox button{position:absolute;background:rgba(247,241,230,.12);color:var(--hueso);border:0;width:48px;height:48px;border-radius:50%;font-size:1.8rem;line-height:1;cursor:pointer}
.lb-cerrar{top:1rem;right:1rem}
.lb-prev{left:.6rem;top:50%;transform:translateY(-50%)}
.lb-next{right:.6rem;top:50%;transform:translateY(-50%)}
.lb-pie{position:absolute;bottom:1rem;left:0;right:0;text-align:center;color:var(--crema);font-size:.9rem;margin:0}

/* ── llegar / faq ── */
.mapa{aspect-ratio:16/10;max-width:760px;border-radius:18px;overflow:hidden;background:var(--crema-2);margin:0 0 1rem}
.mapa iframe{width:100%;height:100%;border:0;display:block}
.pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
.pills a{text-decoration:none;font-weight:600;font-size:.95rem;padding:.6rem 1rem;border-radius:999px;background:#fff;border:1px solid var(--crema-2)}
.direccion{font-size:1.1rem;font-weight:500}
.faq{margin:0;padding:0}
.faq div{padding:1.1rem 0;border-top:1px solid var(--crema-2)}
.faq div:last-child{border-bottom:1px solid var(--crema-2)}
.faq dt{font-family:var(--display);font-size:1.4rem;font-weight:700;margin-bottom:.25em}
.faq dd{margin:0;color:var(--tinta-suave)}

/* ── cierre / pie ── */
.cierre{text-align:center;padding-top:5.5rem}
.titulo-cierre{font-size:clamp(3rem,12vw,6rem)}
.cierre .acciones{margin:1.5rem 0 2.5rem}
.cierre-logo{width:150px;margin:0 auto .6rem}
.cierre-org{font-size:.9rem;color:var(--crema);opacity:.8;margin:0}
.pie{background:var(--carbon);color:var(--crema);text-align:center;font-size:.8rem;padding:1.5rem 1rem 2.5rem;border-top:1px solid rgba(247,241,230,.08)}
.pie p{margin:0 0 .4em}
.pie a{color:var(--crema);text-decoration:none;opacity:.85}
.creditos{opacity:.55}

/* ── modo post-evento ── */
body.post [data-solo-pre]{display:none!important}
body:not(.post) [data-solo-post]{display:none!important}

/* ── reveals ── */
.rev{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rev.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}}

/* ══ experiencia · v1.1 ══ */
h2 em,.titulo em{font-style:italic;font-weight:600;color:var(--vino)}
.oscuro h2 em{color:var(--luz)}
.quince{display:inline-block;color:var(--luz);animation:latir 2.6s ease-in-out infinite;text-shadow:0 0 28px rgba(242,184,75,.45)}
@keyframes latir{0%,100%{transform:scale(1);text-shadow:0 0 18px rgba(242,184,75,.3)}50%{transform:scale(1.06);text-shadow:0 0 44px rgba(242,184,75,.7)}}

/* titulares que respiran: palabra por palabra */
.pal{display:inline-block;opacity:0;transform:translateY(.6em) rotate(1.5deg);transition:opacity .8s var(--ease),transform .9s var(--ease)}
.in .pal,.pal.in{opacity:1;transform:none}
.hero .pal{transition-duration:1.1s}

/* hero vivo: ken burns lento + parallax */
.hero-foto img{transform-origin:center 40%;animation:respirar 22s ease-in-out infinite alternate;will-change:transform}
@keyframes respirar{from{transform:scale(1.02) translateY(0)}to{transform:scale(1.12) translateY(-2%)}}
.hero-cuerpo{transform:translateY(calc(var(--py,0) * 1px))}

/* chispas que suben */
.chispas{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.chispa{position:absolute;bottom:-10px;width:5px;height:5px;border-radius:50%;background:var(--luz);opacity:0;filter:blur(.3px);box-shadow:0 0 8px 2px rgba(242,184,75,.45);animation:subir var(--d,9s) linear var(--r,0s) infinite}
@keyframes subir{0%{transform:translate(0,0) scale(.6);opacity:0}10%{opacity:.9}60%{opacity:.7}100%{transform:translate(var(--x,20px),-92vh) scale(1.1);opacity:0}}

/* CTAs editoriales: texto, línea y flecha, no botón */
.cta{display:inline-flex;align-items:center;gap:.7rem;min-height:48px;padding:.5rem 0;font-family:var(--display);font-size:1.45rem;font-weight:700;letter-spacing:.005em;text-decoration:none;color:var(--hueso);position:relative;transition:gap var(--dur) var(--ease)}
.cta span{position:relative}
.cta span::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:currentColor;opacity:.35;transform-origin:left;transition:transform .5s var(--ease),opacity .4s}
.cta i{width:38px;height:38px;border-radius:50%;border:1.5px solid currentColor;position:relative;flex:none;transition:transform .5s var(--ease),background .4s,border-color .4s}
.cta i::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:translate(-60%,-50%) rotate(45deg)}
.cta:hover{gap:1rem}
.cta:hover span::after{opacity:1;transform:scaleX(1.02)}
.cta:hover i{transform:translateX(4px)}
.cta-luz{color:var(--luz)}
.cta-luz i{background:rgba(242,184,75,.12)}
.cta-luz:hover i{background:var(--naranja);border-color:var(--naranja);color:var(--carbon)}
.claro .cta{color:var(--tinta)}
.acciones{gap:1.2rem 2.2rem;align-items:center}
.barra-compartir{background:transparent;color:var(--luz);border:1px solid rgba(242,184,75,.5)}

/* cuenta regresiva grande */
.cuenta{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:1.8rem}
.cuenta .n{font-family:var(--display);font-size:clamp(3.2rem,11vw,5.2rem);line-height:.9;color:var(--luz);font-weight:700;font-variant-numeric:tabular-nums}
.cuenta .u{font-family:var(--display);font-size:1.3rem;color:var(--hueso);margin-right:.6rem}
.cuenta .hoy{font-family:var(--display);font-size:2rem;color:var(--luz)}

/* pasos: número grande detrás */
.pasos li{overflow:hidden}
.pasos .num{background:transparent;color:var(--crema-2);font-size:7rem;width:auto;height:auto;left:auto;right:-.05em;top:-.35em;line-height:1;z-index:0;opacity:.9}
.pasos li{padding-left:1.5rem}
.pasos h3,.pasos p{position:relative;z-index:1}
.pasos li h3::before{content:"";display:block;width:36px;height:3px;background:var(--verde);margin-bottom:.8rem;border-radius:2px}
.pasos li:nth-child(2) h3::before{background:var(--rojo)}
.pasos li:nth-child(3) h3::before{background:var(--luz)}

/* banda en movimiento */
.banda{overflow:hidden;background:var(--carbon);color:var(--luz);border-top:1px solid rgba(247,241,230,.08);border-bottom:1px solid rgba(247,241,230,.08);padding:.9rem 0;font-family:var(--display);font-size:1.5rem;font-style:italic;white-space:nowrap}
.banda-clara{background:var(--vino);color:var(--hueso);border:0}
.banda-pista{display:inline-flex;gap:0;animation:correr 28s linear infinite;will-change:transform}
.banda-pista span{padding:0 1.6rem;position:relative}
.banda-pista span::after{content:"";position:absolute;right:-4px;top:50%;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.6;transform:translateY(-50%)}
@keyframes correr{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* galería con vida */
.galeria li{transition-delay:calc(var(--i,0) * 70ms)}
.galeria button{box-shadow:0 0 0 0 rgba(242,184,75,0);transition:box-shadow .5s var(--ease)}
.galeria button:hover{box-shadow:0 0 0 3px rgba(242,184,75,.55)}
.tarjetas li,.pasos li,.faq div{transition-delay:calc(var(--i,0) * 90ms)}
.tarjetas li{transition:opacity .7s var(--ease),transform .7s var(--ease),box-shadow .5s var(--ease)}
.tarjetas li:hover{box-shadow:0 16px 40px rgba(43,42,38,.12);transform:translateY(-3px)}

@media (prefers-reduced-motion:reduce){
  .hero-foto img,.chispa,.banda-pista,.quince{animation:none}
  .pal{opacity:1;transform:none;transition:none}
  .hero-cuerpo{transform:none}
}

/* ══ v1.2 · papel picado real, antojo, invitar ══ */
.papel{background:none;animation:none;transform:none;height:62px;overflow:hidden}
.papel svg{display:block;width:100%;height:100%}
.papel .mece{transform-box:fill-box;transform-origin:50% 0;animation:mecerFl 3.6s ease-in-out calc(var(--i,0) * -.37s) infinite alternate}
@keyframes mecerFl{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
.papel svg.quieto .mece{animation:none}
.claro .papel{filter:drop-shadow(0 3px 3px rgba(43,42,38,.14))}
.hero-cuerpo{padding-top:8rem}
.cuenta .n{font-size:clamp(2.6rem,9vw,4.6rem)}
.cuenta .u{margin-right:.9rem}
.cuenta .seg{opacity:.7}
.antojo{font-family:var(--display);font-style:italic;font-size:1.35rem;color:var(--luz);margin:-.6rem 0 1.6rem;min-height:1.5em;opacity:0;transform:translateY(6px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.antojo.in{opacity:1;transform:none}
.angosto-p{max-width:var(--angosto)}
.invitar{list-style:none;margin:1.5rem 0 1rem;padding:0;display:grid;gap:.8rem}
.inv{display:grid;grid-template-columns:1fr auto;grid-template-areas:"a i" "b i";align-items:center;gap:.15rem 1rem;text-decoration:none;color:var(--tinta);padding:1.1rem 1.2rem;border-radius:16px;background:#fff;border:1px solid var(--crema-2);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.inv:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(43,42,38,.12)}
.inv-a{grid-area:a;font-family:var(--display);font-size:1.5rem;font-weight:700}
.inv-b{grid-area:b;font-size:.95rem;color:var(--tinta-suave);font-style:italic}
.inv i{grid-area:i;width:44px;height:44px;border-radius:50%;background:#25D366;position:relative;flex:none}
.inv i::before{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;border-right:2px solid #fff;border-top:2px solid #fff;transform:translate(-60%,-50%) rotate(45deg)}
@media (min-width:760px){.invitar{grid-template-columns:repeat(2,1fr)}}
.cierre-qr{margin-top:1.4rem}
.cierre-qr a{font-size:.85rem;color:var(--crema);opacity:.7;text-decoration:none;border-bottom:1px solid rgba(247,241,230,.3)}
@media (prefers-reduced-motion:reduce){.papel .mece{animation:none}.antojo{opacity:1;transform:none}}

/* cuenta: pares que no se parten */
.cuenta{gap:0 .2rem}
.cuenta .par{display:inline-flex;align-items:baseline;white-space:nowrap}
.cuenta .u{margin-right:.7rem}
@media (max-width:480px){.cuenta .n{font-size:2.35rem}.cuenta .u{font-size:1.05rem;margin-right:.55rem}}
.cuenta .par .n{margin-right:.28rem}

/* ══ v1.3 · fuegos, isotipo, logo, galería viva ══ */
canvas.fuegos{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.hero canvas.fuegos{z-index:3}
.iso{display:block;margin:0 0 1rem;filter:drop-shadow(0 0 14px rgba(242,145,0,.45));animation:isoLuz 5s ease-in-out infinite alternate}
@keyframes isoLuz{from{filter:drop-shadow(0 0 8px rgba(242,145,0,.3))}to{filter:drop-shadow(0 0 20px rgba(242,145,0,.7))}}
.logo-cma{width:170px;margin:0 0 2rem}
.galeria-marco{margin:0 -1.25rem .8rem;padding:0 1.25rem}
.galeria{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.6rem .2rem 1rem}
.galeria::-webkit-scrollbar{display:none}
.galeria li{flex:0 0 76vw;max-width:340px;scroll-snap-align:center;animation:flotar 6s ease-in-out calc(var(--i,0) * -.9s) infinite alternate}
.galeria li:nth-child(odd){transform:rotate(-1.2deg)}
.galeria li:nth-child(even){transform:rotate(1.1deg)}
.galeria button{aspect-ratio:4/5;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.45);border:3px solid rgba(247,241,230,.9)}
.galeria li:first-child button{aspect-ratio:4/5;grid-column:auto}
.galeria img{animation:respiraFoto 14s ease-in-out calc(var(--i,0) * -3s) infinite alternate}
@keyframes flotar{from{translate:0 0}to{translate:0 -7px}}
@keyframes respiraFoto{from{transform:scale(1)}to{transform:scale(1.09)}}
@media (min-width:700px){
  .galeria{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;padding:1rem 0}
  .galeria li{flex:none;max-width:none}
  .galeria li:first-child{grid-column:span 2;grid-row:span 2}
  .galeria li:first-child button{aspect-ratio:auto;height:100%}
  .galeria button:hover img{transform:scale(1.12)}
}
@media (prefers-reduced-motion:reduce){.galeria li,.galeria img,.iso{animation:none}}

/* ══ v1.4 ══ */
.barra{position:relative}
.billete{max-width:560px;margin:0 auto 2.6rem;text-align:center}
.billete img{transform:rotate(-2.5deg);box-shadow:0 22px 50px rgba(43,42,38,.22);animation:billeteFlota 7s ease-in-out infinite alternate}
@keyframes billeteFlota{from{transform:rotate(-2.5deg) translateY(0)}to{transform:rotate(-1.5deg) translateY(-6px)}}
.billete figcaption{font-family:var(--display);font-size:1.25rem;color:var(--tinta);margin-top:1.3rem}
@media (prefers-reduced-motion:reduce){.billete img{animation:none}}

/* ══ v1.5 · hoja de calendario, mapa ══ */
.hoja{position:fixed;inset:0;z-index:60;background:rgba(31,30,27,.7);display:flex;align-items:flex-end;justify-content:center;padding:0}
.hoja-cuerpo{background:var(--hueso);color:var(--tinta);width:100%;max-width:520px;border-radius:22px 22px 0 0;padding:1.4rem 1.25rem calc(1.4rem + env(safe-area-inset-bottom));animation:subirHoja .45s var(--ease)}
@keyframes subirHoja{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:700px){.hoja{align-items:center}.hoja-cuerpo{border-radius:22px}}
.hoja-t{font-family:var(--display);font-size:1.7rem;font-weight:700;margin:0 0 .2em}
.hoja-s{font-size:.95rem;color:var(--tinta-suave);margin:0 0 1.1rem}
.hoja-op{display:flex;flex-direction:column;gap:.1rem;text-decoration:none;color:var(--tinta);background:#fff;border:1px solid var(--crema-2);border-radius:14px;padding:.9rem 1.1rem;margin-bottom:.6rem}
.hoja-op b{font-family:var(--display);font-size:1.25rem}
.hoja-op span{font-size:.85rem;color:var(--tinta-suave)}
.hoja-op:hover{border-color:var(--naranja)}
.hoja-cerrar{margin-top:.4rem;background:none;border:0;font:inherit;color:var(--tinta-suave);text-decoration:underline;cursor:pointer;padding:.5rem}
.mapa{box-shadow:0 18px 40px rgba(43,42,38,.14)}
.pills a{display:inline-flex;align-items:center;gap:.5rem}
.pills a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--verde)}
.pills a:nth-child(2)::before{background:var(--tinta)}
.pills a:nth-child(3)::before{background:#33CCFF}

/* ══ v1.6 · historia y app ══ */
.historia{display:grid;grid-template-columns:120px 1fr;gap:1.2rem;align-items:center;margin-top:1.8rem;background:#fff;border:1px solid var(--crema-2);border-radius:18px;padding:1.1rem}
.historia-img img{border-radius:10px;box-shadow:0 10px 26px rgba(43,42,38,.25);transform:rotate(-3deg)}
.historia-txt h3{margin-bottom:.3em}
.historia-txt p{font-size:.95rem;color:var(--tinta-suave)}
.historia .cta{font-size:1.25rem;min-height:40px}
@media (min-width:700px){.historia{grid-template-columns:160px 1fr;gap:2rem;padding:1.4rem 1.6rem}}
.app-nudge{margin:1.6rem 0 0;font-size:.9rem;color:var(--crema)}
.app-btn{font:inherit;font-weight:600;color:var(--luz);background:transparent;border:1px solid rgba(242,184,75,.5);border-radius:999px;padding:.55rem 1rem;cursor:pointer}
.app-ios{display:block;margin-top:.6rem;opacity:.85}
.app-ios b{color:var(--luz)}
.creditos{opacity:.8}
.creditos a{opacity:1}
.pie,.pie a,.creditos,.creditos a{opacity:1;color:#CFC6B8}
