/* Astrofest · página de evento. Independiente del sitio (sin su menú ni pie) pero con el ADN de Horizontia:
   amarillo #fed304, azul #14213d, crema, Roboto + titulares serif. La experiencia es un recorrido noche → amanecer.
   Principios: una idea por pantalla; un solo CTA dorado que contrasta con la noche; movimiento solo con transform/opacity
   y apagado con «reducir movimiento»; todo el contenido es legible sin JavaScript. Ámbito: .evp */
.evp { --night:#070b1f; --night2:#0c1230; --night3:#121a40; --navy:#14213d; --gold:#fed304; --gold2:#f6dc7a; --gold-ink:#8a6a00;
    --on:#e9ecfa; --on-mute:#aeb7d8; --ink:#1b2140; --muted:#5f6680; --paper:#fbf6e8; --paper2:#ffffff; --line:rgba(254,211,4,.26); --hair:rgba(255,255,255,.14);
    --glass:rgba(255,255,255,.055); --ok:#27b36b;
    --display:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif; --ease:cubic-bezier(.2,.8,.2,1);
    background:var(--night); color:var(--on); font:400 1rem/1.7 Roboto,system-ui,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:clip; }
.evp *, .evp *::before, .evp *::after { box-sizing:border-box; }
.evp img { max-width:100%; height:auto; }
.evp a { color:var(--gold); }
.evp :focus-visible { outline:3px solid #7fb4ff; outline-offset:3px; border-radius:6px; }
.evp [id] { scroll-margin-top:84px; }
.ev-wrap, .evp-wrap { width:min(1180px,100% - 44px); margin-inline:auto; position:relative; z-index:2; }
.ev-narrow { width:min(820px,100% - 44px); margin-inline:auto; position:relative; z-index:2; }
.ev-i { width:1.15em; height:1.15em; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; vertical-align:-.2em; }
.evp ul.ev-list, .evp ul.ev-time, .evp ol.ev-time, .evp .ev-facts ul, .evp ul.ev-incl, .evp ul.ev-stats, .evp ol.ev-rules, .evp .ev-value, .evp .ev-calm ul, .evp .ev-pillars, .evp .ev-amen, .evp .ev-checklist, .evp .ev-hero__in ul { list-style:none; }
.evp li::marker { content:''; }
.ev-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* Barra de progreso del recorrido (atardecer → amanecer) */
.ev-progress { position:fixed; top:0; left:0; right:0; height:3px; z-index:60; transform-origin:0 50%; transform:scaleX(0); background:linear-gradient(90deg,#ff8a5c,#9b6bff,#5aa7ff,var(--gold)); }

/* ---------- Encabezado: transparente, fundido con la portada ---------- */
.evp-sub { position:fixed; top:0; left:0; right:0; z-index:50; }
.evp-sub::before { content:""; position:absolute; inset:0 0 -34px; z-index:-1; pointer-events:none; background:linear-gradient(to bottom,rgba(7,11,31,.78),rgba(7,11,31,0)); opacity:.7; transition:opacity .5s var(--ease), backdrop-filter .5s; }
.evp-sub.is-stuck::before { opacity:1; background:linear-gradient(to bottom,rgba(7,11,31,.94) 0%,rgba(7,11,31,.78) 62%,rgba(7,11,31,0)); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); -webkit-mask-image:linear-gradient(#000 70%,transparent); mask-image:linear-gradient(#000 70%,transparent); }
.evp-sub--solid { position:sticky; }
.evp-sub--solid::before { inset:0; opacity:1; background:rgba(7,11,31,.96); border-bottom:1px solid var(--hair); mask-image:none; -webkit-mask-image:none; }
.evp-sub .evp-wrap { display:flex; align-items:center; gap:16px; min-height:78px; }
.evp-sub__name { display:block; flex:none; line-height:0; background:none; padding:0; }
.evp-sub__name img { display:block; width:82px; height:auto; aspect-ratio:1223/785; object-fit:contain; filter:drop-shadow(0 2px 12px rgba(0,0,0,.55)); transition:transform .5s var(--ease); }
.evp-sub__name:hover img { transform:scale(1.04); }
.evp-sub__date { color:var(--on-mute); font-size:.82rem; letter-spacing:.18em; text-transform:uppercase; padding-left:16px; border-left:1px solid var(--hair); }
.evp-sub__r { margin-left:auto; display:flex; align-items:center; gap:10px; }
.evp-icon { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; height:44px; padding:0 12px; border-radius:12px; border:1px solid rgba(255,255,255,.26); background:rgba(255,255,255,.06); color:#fff !important; cursor:pointer; text-decoration:none; font:500 .78rem Roboto,sans-serif; letter-spacing:.08em; text-transform:uppercase; transition:border-color .3s, background .3s, transform .3s var(--ease); }
.evp-icon:hover { border-color:var(--gold); background:rgba(254,211,4,.12); transform:translateY(-1px); }
.evp-icon span { display:none; }
@media (min-width:1000px) { .evp-icon--label span { display:inline; } }
.evp-icon[aria-pressed=true] { background:#7a0000 !important; border-color:#ff4d4d !important; }
.evp-icon b { position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 5px; border-radius:99px; background:var(--gold); color:var(--navy); font-size:.72rem; font-weight:700; display:flex; align-items:center; justify-content:center; }

/* ---------- Botones ---------- */
.ev-btn { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:14px 32px; border-radius:12px; border:0; background:linear-gradient(135deg,#ffe56e 0%,#fed304 52%,#f2b600 100%); color:var(--navy) !important; font:700 .86rem Roboto,system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; cursor:pointer; box-shadow:0 12px 30px rgba(254,211,4,.26), inset 0 1px 0 rgba(255,255,255,.55); transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.ev-btn::after { content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg); transition:left .9s var(--ease); }
.ev-btn:hover { transform:translateY(-2px); box-shadow:0 18px 40px rgba(254,211,4,.38), inset 0 1px 0 rgba(255,255,255,.55); }
.ev-btn:hover::after { left:130%; }
.ev-btn:active { transform:translateY(0) scale(.985); }
.ev-btn--glow { animation:evPulse 3.8s ease-in-out infinite; }
@keyframes evPulse { 0%,100% { box-shadow:0 12px 30px rgba(254,211,4,.26), 0 0 0 0 rgba(254,211,4,.0), inset 0 1px 0 rgba(255,255,255,.55); } 50% { box-shadow:0 12px 34px rgba(254,211,4,.34), 0 0 0 10px rgba(254,211,4,.08), inset 0 1px 0 rgba(255,255,255,.55); } }
.ev-btn--ghost { background:transparent; color:#fff !important; border:1px solid rgba(255,255,255,.4); box-shadow:none; animation:none; }
.ev-btn--ghost:hover { border-color:var(--gold); background:rgba(254,211,4,.1); box-shadow:none; }
.ev-btn--sm { min-height:44px; padding:9px 20px; font-size:.78rem; }
.ev-btn--block { width:100%; }
.ev-btn[disabled], .ev-btn.is-off { opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; animation:none; }

/* ---------- Revelado suave (solo con JavaScript; sin él todo se ve) ---------- */
.ev-js [data-reveal] { opacity:0; transform:translate3d(0,28px,0); filter:blur(6px); transition:opacity 1s var(--ease) var(--d,0s), transform 1s var(--ease) var(--d,0s), filter 1s var(--ease) var(--d,0s); will-change:transform,opacity; }
.ev-js [data-reveal].is-in { opacity:1; transform:none; filter:none; will-change:auto; }

/* ---------- Portada ---------- */
.ev-hero { position:relative; min-height:max(700px,100svh); display:grid; place-items:center; text-align:center; color:#fff; overflow:hidden; background:var(--night); padding:130px 0 170px; isolation:isolate; }
.ev-hero__bg { position:absolute; inset:-7% 0; z-index:-3; transform:translate3d(0,var(--py,0px),0); }
.ev-hero__bg::before { content:""; position:absolute; inset:0; background:var(--img) 50% 62%/cover no-repeat; animation:evKen 38s ease-out both; }
@keyframes evKen { from { transform:scale(1.14); } to { transform:scale(1.02); } }
.ev-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(120% 80% at 50% 38%,rgba(7,11,31,0) 30%,rgba(7,11,31,.55) 100%), linear-gradient(to bottom,rgba(7,11,31,.78) 0%,rgba(7,11,31,0) 26%); }
.ev-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:46%; z-index:-1; background:linear-gradient(to bottom,rgba(7,11,31,0),var(--night) 92%); }
.ev-stars { position:absolute; inset:0; z-index:-2; pointer-events:none; background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff,transparent),radial-gradient(1px 1px at 28% 70%,#fde58a,transparent),radial-gradient(1.5px 1.5px at 44% 12%,#fff,transparent),radial-gradient(1px 1px at 63% 55%,#fff,transparent),radial-gradient(2px 2px at 78% 28%,#fed304,transparent),radial-gradient(1px 1px at 90% 80%,#fff,transparent),radial-gradient(1px 1px at 6% 88%,#fff,transparent),radial-gradient(1.5px 1.5px at 52% 90%,#fde58a,transparent),radial-gradient(1px 1px at 35% 40%,#fff,transparent),radial-gradient(1px 1px at 72% 12%,#fff,transparent),radial-gradient(1.5px 1.5px at 94% 45%,#fff,transparent),radial-gradient(1px 1px at 20% 52%,#fff,transparent); animation:evTwinkle 6s ease-in-out infinite alternate; }
@keyframes evTwinkle { from { opacity:.45; } to { opacity:1; } }
.ev-shoot { position:absolute; z-index:-1; width:140px; height:1.5px; background:linear-gradient(90deg,transparent,#fff); transform:rotate(-35deg); opacity:0; animation:evShoot 9s linear infinite; }
.ev-shoot:nth-of-type(1) { top:16%; left:72%; animation-delay:1.5s; } .ev-shoot:nth-of-type(2) { top:34%; left:94%; animation-delay:4.6s; } .ev-shoot:nth-of-type(3) { top:10%; left:44%; animation-delay:7s; }
@keyframes evShoot { 0% { opacity:0; transform:translate(0,0) rotate(-35deg); } 3% { opacity:1; } 12% { opacity:0; transform:translate(-340px,238px) rotate(-35deg); } 100% { opacity:0; } }
.ev-meteor { position:absolute; z-index:3; width:180px; height:2px; background:linear-gradient(90deg,transparent,#fff 70%,var(--gold)); transform:rotate(-35deg); animation:evMeteor 1.4s ease-out forwards; pointer-events:none; }
@keyframes evMeteor { 0% { opacity:0; transform:translate(0,0) rotate(-35deg); } 10% { opacity:1; } 100% { opacity:0; transform:translate(-420px,294px) rotate(-35deg); } }
.ev-hero__in { width:min(940px,100% - 44px); display:grid; gap:18px; justify-items:center; position:relative; z-index:2; }
.ev-hero__in > * { margin:0; animation:evUp 1.1s var(--ease) both; animation-delay:var(--d,0s); }
@keyframes evUp { from { opacity:0; transform:translate3d(0,22px,0); filter:blur(8px); } to { opacity:1; transform:none; filter:none; } }
.ev-hero__kicker { font:500 .78rem Roboto,sans-serif; letter-spacing:.34em; text-transform:uppercase; color:var(--gold2); }
.ev-hero__brand img { display:block; width:min(660px,84vw); height:auto; filter:drop-shadow(0 8px 44px rgba(120,150,255,.38)); animation:evFloat 8s ease-in-out infinite; }
@keyframes evFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
.ev-hero__q { font:italic 300 clamp(1.45rem,3.2vw,2.35rem)/1.25 var(--display); color:#fff; max-width:26ch; text-wrap:balance; text-shadow:0 2px 24px rgba(0,0,0,.5); }
.ev-hero__when { font:500 .86rem Roboto,sans-serif; letter-spacing:.26em; text-transform:uppercase; color:#fff; }
.ev-hero__when span { color:var(--gold); margin:0 16px; }
.ev-hero__sub { max-width:56ch; color:#d3d9f2; font-size:1rem; text-shadow:0 1px 18px rgba(0,0,0,.85); }
.ev-cta { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:6px; }
.ev-hero__price { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; font-size:.8rem; letter-spacing:.06em; color:var(--on-mute); }
.ev-hero__price span { padding:5px 14px; border:1px solid var(--hair); border-radius:99px; backdrop-filter:blur(6px); background:rgba(7,11,31,.35); }
.ev-hero__price .is-hot { border-color:var(--gold); color:var(--gold); }
.ev-count { display:inline-flex; gap:10px; align-items:center; padding:8px 18px; border:1px solid var(--line); border-radius:12px; background:rgba(7,11,31,.5); color:#fff; font-size:.9rem; }
.ev-count strong { color:var(--gold); font:400 1.5rem var(--display); }
.ev-hero__chars img { position:absolute; bottom:-6px; width:clamp(120px,14vw,210px); height:auto; filter:drop-shadow(0 14px 28px rgba(0,0,0,.55)); display:none; animation:evFloat 7s ease-in-out infinite; z-index:2; }
.ev-hero__chars .is-l { left:max(1.5vw,16px); } .ev-hero__chars .is-r { right:max(1.5vw,16px); animation-delay:-3.2s; }
@media (min-width:1100px) { .ev-hero__chars img { display:block; } }
.ev-scroll { position:absolute; left:50%; bottom:92px; width:24px; height:40px; margin-left:-12px; border:1.5px solid rgba(255,255,255,.55); border-radius:14px; z-index:2; }
.ev-scroll span { position:absolute; left:50%; top:8px; width:3px; height:8px; margin-left:-1.5px; border-radius:2px; background:var(--gold); animation:evScroll 2.2s ease-in-out infinite; }
@keyframes evScroll { 0% { opacity:0; transform:translateY(0); } 30% { opacity:1; } 100% { opacity:0; transform:translateY(14px); } }
.ev-wish { position:absolute; left:calc(50% + 44px); bottom:92px; z-index:3; display:inline-flex; gap:8px; align-items:center; padding:9px 18px; border-radius:99px; border:1px solid rgba(255,255,255,.3); background:rgba(7,11,31,.45); backdrop-filter:blur(8px); color:#fff; font:500 .76rem Roboto,sans-serif; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:border-color .3s, background .3s; }
.ev-wish span { color:var(--gold); } .ev-wish:hover { border-color:var(--gold); background:rgba(254,211,4,.12); }
@media (max-width:1099px) { .ev-wish { left:50%; margin-left:44px; } }
@media (max-width:700px) { .ev-wish { display:none; } .ev-scroll { bottom:70px; } .ev-hero { padding:112px 0 150px; } .ev-hero__when span { margin:0 8px; } }

/* ---------- Datos clave: tarjeta de vidrio que cabalga entre la portada y la historia ---------- */
.ev-facts { position:relative; z-index:5; margin-top:-84px; padding-bottom:8px; }
.ev-facts ul { margin:0; padding:22px 26px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04)); border:1px solid var(--line); border-radius:22px; -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); box-shadow:0 30px 70px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.1); }
@media (min-width:900px) { .ev-facts ul { grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; padding:26px 8px; } .ev-facts li { border-left:1px solid var(--hair); padding:0 22px; } .ev-facts li:first-child { border-left:0; } }
.ev-facts li { display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:center; font-size:.7rem; color:var(--on-mute); text-transform:uppercase; letter-spacing:.14em; }
.ev-facts li .ev-i { grid-row:span 2; width:34px; height:34px; padding:8px; border-radius:50%; border:1px solid var(--line); color:var(--gold); }
.ev-facts li b { color:#fff; font-size:.95rem; text-transform:none; letter-spacing:0; font-weight:500; line-height:1.3; }
.ev-facts li.price b { font:400 1.4rem var(--display); color:var(--gold); }

/* ---------- Secciones base ---------- */
.ev-sec { position:relative; padding:clamp(72px,9vw,132px) 0; overflow:hidden; isolation:isolate; }
.ev-night { background:var(--night); color:var(--on); }
.ev-night + .ev-night { padding-top:clamp(56px,7vw,100px); }
.ev-day { background:var(--paper); color:var(--ink); }
.ev-day--alt { background:var(--paper2); }
.ev-day::before { content:""; position:absolute; top:0; left:0; right:0; height:230px; z-index:0; pointer-events:none; background:linear-gradient(to bottom,var(--night) 0%,#2a2650 22%,#7a5a7e 46%,#e8b79a 74%,var(--paper) 100%); }
.ev-day--alt::before, .ev-day + .ev-day::before { display:none; }
.ev-final::before { content:""; position:absolute; top:0; left:0; right:0; height:190px; z-index:1; pointer-events:none; background:linear-gradient(to bottom,var(--paper),rgba(251,246,232,0)); }
.ev-eyebrow { display:flex; align-items:center; gap:14px; margin:0 0 14px; font:500 .76rem Roboto,sans-serif; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); }
.ev-eyebrow::before { content:""; width:38px; height:1px; background:currentColor; }
.ev-day .ev-eyebrow { color:var(--gold-ink); }
.ev-sec h2 { font:300 clamp(2.2rem,5vw,3.7rem)/1.06 var(--display); letter-spacing:-.012em; margin:0 0 20px; color:#fff; text-wrap:balance; }
.ev-sec h2 em { font-style:italic; font-weight:300; color:var(--gold); }
.ev-day h2 { color:var(--navy); } .ev-day h2 em { color:var(--gold-ink); }
.ev-sec h3 { font:400 1.35rem/1.25 var(--display); margin:0 0 8px; color:inherit; }
.ev-sec p { margin:0 0 16px; max-width:66ch; }
.ev-big { font:300 clamp(1.15rem,2vw,1.5rem)/1.5 var(--display) !important; color:#fff; max-width:44ch !important; }
.ev-day .ev-big { color:var(--navy); }
.ev-muted { color:var(--on-mute); } .ev-day .ev-muted { color:var(--muted); }
.ev-bg { position:absolute; inset:-6% 0; z-index:-2; background-size:cover; background-position:center; opacity:.5; transform:translate3d(0,var(--py,0px),0) scale(1.06); -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22%,#000 78%,transparent 100%); mask-image:linear-gradient(to bottom,transparent 0,#000 22%,#000 78%,transparent 100%); }
.ev-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,11,31,.7),rgba(7,11,31,.25)); }
.ev-grid { display:grid; gap:20px; }
.ev-grid--2 { grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); gap:40px; }
.ev-split { display:grid; gap:44px; align-items:center; }
@media (min-width:900px) { .ev-split { grid-template-columns:1.05fr .95fr; gap:72px; } .ev-split--rev { grid-template-columns:.95fr 1.05fr; } }

/* Constelaciones de línea dorada que se dibujan al entrar */
.ev-const { position:absolute; z-index:0; width:min(54vw,540px); top:8%; right:-3%; pointer-events:none; opacity:.9; overflow:visible; }
.ev-const--orion { right:1%; left:auto; top:14%; opacity:.7; }
.ev-story .ev-const { right:auto; left:-5%; top:auto; bottom:2%; }
.ev-const__lines path { fill:none; stroke:var(--gold2); stroke-opacity:.5; stroke-width:1.3; stroke-linecap:round; stroke-dasharray:1; }
.ev-const__stars circle { fill:var(--gold); opacity:.9; }
.ev-const__names text { fill:var(--gold2); opacity:.55; font:400 13px Roboto,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
.ev-js .ev-const__lines path { stroke-dashoffset:1; } .ev-js .ev-const__stars circle, .ev-js .ev-const__names text { opacity:0; }
.ev-const.is-in .ev-const__lines path { animation:evDraw 2.6s var(--ease) forwards; }
.ev-const.is-in .ev-const__lines path:nth-child(2) { animation-delay:.25s; } .ev-const.is-in .ev-const__lines path:nth-child(3) { animation-delay:.5s; } .ev-const.is-in .ev-const__lines path:nth-child(n+4) { animation-delay:.8s; }
.ev-const.is-in .ev-const__stars circle { animation:evStar 1.2s ease forwards 1.2s, evTwinkle 4s ease-in-out infinite alternate 2.4s; }
.ev-const.is-in .ev-const__names text { animation:evStar 1.6s ease forwards 2s; }
@keyframes evDraw { to { stroke-dashoffset:0; } } @keyframes evStar { to { opacity:.95; } }

/* ---------- Imagina ---------- */
.ev-story p { color:var(--on-mute); } .ev-story .ev-big { color:#fff; }
.ev-arch { position:relative; margin:0; }
.ev-arch img:not(.ev-arch__moon) { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:999px 999px 30px 30px; border:1px solid var(--line); box-shadow:0 40px 90px rgba(0,0,0,.5); transform:translate3d(0,var(--py,0px),0); }
.ev-arch figcaption { margin-top:14px; position:relative; z-index:1; font-size:.74rem; letter-spacing:.1em; color:var(--on-mute); text-align:center; }
.ev-arch__moon { position:absolute; left:-26px; bottom:56px; width:clamp(86px,12vw,132px); height:auto; aspect-ratio:1; object-fit:cover; border-radius:50%; border:2px solid var(--gold); box-shadow:0 0 50px rgba(254,211,4,.35); animation:evFloat 9s ease-in-out infinite; }
.ev-pillars { margin:56px 0 0; padding:0; display:grid; gap:28px; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); }
.ev-pillars li { display:grid; gap:8px; align-content:start; padding-top:22px; border-top:1px solid var(--line); transition:border-color .4s; }
.ev-pillars li:hover { border-top-color:var(--gold); }
.ev-pillars .ev-i { width:42px; height:42px; padding:10px; border-radius:50%; background:rgba(254,211,4,.1); border:1px solid var(--line); color:var(--gold); }
.ev-pillars b { font:400 1.25rem var(--display); color:#fff; } .ev-pillars span { font-size:.95rem; color:var(--on-mute); }
.ev-incl { margin:56px 0 0; padding:26px 8px; display:grid; grid-template-columns:repeat(2,1fr); gap:18px 8px; border-block:1px solid var(--hair); }
@media (min-width:700px) { .ev-incl { grid-template-columns:repeat(4,1fr); } } @media (min-width:1000px) { .ev-incl { grid-template-columns:repeat(8,1fr); } }
.ev-incl li { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; font-size:.8rem; letter-spacing:.04em; line-height:1.3; color:var(--on); }
.ev-incl__ico { width:58px; height:58px; border-radius:50%; border:1px solid var(--line); background:radial-gradient(circle at 30% 25%,rgba(254,211,4,.2),rgba(254,211,4,.02)); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:1.55rem; transition:transform .5s var(--ease), box-shadow .5s; }
.ev-incl li:hover .ev-incl__ico { transform:translateY(-4px) scale(1.06); box-shadow:0 0 34px rgba(254,211,4,.28); }
.ev-mark { margin:44px 0 0 !important; padding-left:22px; border-left:2px solid var(--gold); font:italic 300 1.2rem/1.6 var(--display) !important; color:#fff !important; max-width:62ch !important; }
.ev-mark b { font-style:normal; font-weight:600; color:var(--gold); }

/* ---------- Lo que verás ---------- */
.ev-see { background:var(--night2); }
.ev-see .ev-bg { opacity:.42; }
.ev-stats { margin:36px 0 26px; padding:0; display:grid; gap:18px; }
@media (min-width:800px) { .ev-stats { grid-template-columns:repeat(3,1fr); gap:0; } .ev-stats li + li { border-left:1px solid var(--hair); } .ev-stats li { padding:0 30px; } .ev-stats li:first-child { padding-left:0; } }
.ev-stats li { display:grid; gap:10px; align-content:start; }
.ev-stats strong { font:italic 300 clamp(2.8rem,5.4vw,4.4rem)/1 var(--display); color:var(--gold); font-variant-numeric:tabular-nums; text-shadow:0 0 40px rgba(254,211,4,.3); }
.ev-stats li > span { font-size:.95rem; color:var(--on-mute); } .ev-stats b { color:#fff; font-weight:500; }
.ev-acc { border:1px solid var(--line); border-radius:16px; background:var(--glass); backdrop-filter:blur(10px); padding:0 22px; margin:0 0 16px; }
.ev-acc > summary { cursor:pointer; list-style:none; padding:18px 40px 18px 0; font-weight:500; position:relative; color:#fff; }
.ev-acc > summary::-webkit-details-marker { display:none; }
.ev-acc > summary::after { content:"+"; position:absolute; right:0; top:14px; width:28px; height:28px; border-radius:50%; border:1px solid var(--gold); color:var(--gold); font-size:1.15rem; line-height:26px; text-align:center; transition:transform .4s var(--ease), background .3s; }
.ev-acc[open] > summary::after { transform:rotate(45deg); background:rgba(254,211,4,.14); }
.ev-acc > p { color:var(--on-mute); }
.ev-acc--sm { padding:0 18px; } .ev-acc--sm > summary { padding:14px 38px 14px 0; font-size:.9rem; } .ev-acc--sm > summary::after { top:10px; }
.ev-honest { display:flex; gap:14px; align-items:flex-start; padding:16px 20px; border-left:2px solid var(--gold); background:linear-gradient(90deg,rgba(254,211,4,.08),transparent); max-width:none !important; font-size:.95rem; color:var(--on-mute); }
.ev-honest .ev-i { width:26px; height:26px; color:var(--gold); margin-top:2px; } .ev-honest strong { color:#fff; font-weight:500; }
.ev-rail-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:56px 0 18px; }
.ev-rail-head h3 { margin:0 !important; font-size:1.6rem !important; color:#fff; }
.ev-rail-btns { display:flex; gap:8px; }
.ev-rail { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 4px 20px; margin:0 -4px; scrollbar-width:thin; scrollbar-color:var(--gold) transparent; }
.ev-obj { flex:0 0 min(310px,80%); scroll-snap-align:start; background:var(--glass); border:1px solid var(--line); border-radius:20px; overflow:hidden; backdrop-filter:blur(10px); transition:transform .6s var(--ease), border-color .4s, box-shadow .6s; }
.ev-obj:hover { transform:translateY(-6px); border-color:var(--gold); box-shadow:0 24px 60px rgba(0,0,0,.45), 0 0 40px rgba(254,211,4,.12); }
.ev-obj img, .ev-obj__map { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#0b1230; transition:transform 1.2s var(--ease); }
.ev-obj:hover img { transform:scale(1.07); } .ev-obj > img, .ev-obj > svg { overflow:hidden; }
.ev-obj__body { padding:18px 20px 22px; position:relative; background:linear-gradient(to bottom,rgba(7,11,31,.2),rgba(7,11,31,.5)); }
.ev-obj h4 { margin:0 0 6px; font:400 1.25rem var(--display); color:#fff; } .ev-obj p { margin:0; font-size:.92rem; color:var(--on-mute); }
.ev-feature { display:grid; gap:34px; align-items:center; margin-top:64px; }
@media (min-width:860px) { .ev-feature { grid-template-columns:1.1fr .9fr; gap:56px; } }
.ev-photo { margin:0; border-radius:24px; overflow:hidden; border:1px solid var(--line); box-shadow:0 36px 80px rgba(0,0,0,.45); background:#0b1230; }
.ev-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform 1.6s var(--ease); }
.ev-photo:hover img { transform:scale(1.04); }
.ev-photo figcaption { padding:9px 16px; font-size:.72rem; letter-spacing:.1em; color:var(--on-mute); background:rgba(7,11,31,.85); }
.ev-photo--wide img { aspect-ratio:21/8; object-position:center 60%; } .ev-photo--wide { margin-top:40px; }
.ev-photo--tilt { transform:rotate(1.2deg); }
.ev-band { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 30px; margin-top:64px; padding:22px 28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(100deg,rgba(254,211,4,.14),rgba(254,211,4,.02)); backdrop-filter:blur(10px); }
.ev-band p { margin:0; max-width:none; color:var(--on); } .ev-band b { color:#fff; font-weight:500; }

/* ---------- Programa: el cielo cambia de atardecer a amanecer ---------- */
.ev-prog .ev-bg { opacity:.5; }
.ev-prog .ev-bg--top { inset:0 0 auto 0; height:46%; opacity:.62; -webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 100%); mask-image:linear-gradient(to bottom,#000 0,transparent 100%); transform:none; }
.ev-prog .ev-bg--bottom { inset:auto 0 0 0; height:40%; -webkit-mask-image:linear-gradient(to top,#000 0,transparent 100%); mask-image:linear-gradient(to top,#000 0,transparent 100%); transform:none; opacity:.42; }
.ev-prog .ev-bg::after { background:linear-gradient(to bottom,rgba(7,11,31,.35),rgba(7,11,31,.7)); }
.ev-tabs__list { display:none; }
.ev-tabs.is-tabs .ev-tabs__list { display:inline-flex; gap:4px; padding:5px; border-radius:99px; background:rgba(7,11,31,.6); border:1px solid var(--line); backdrop-filter:blur(10px); margin:14px 0 36px; }
.ev-tabs__list button { border:0; background:transparent; padding:11px 26px; border-radius:99px; font:500 .8rem Roboto,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--on-mute); cursor:pointer; transition:background .4s var(--ease), color .3s; }
.ev-tabs__list button[aria-selected=true] { background:linear-gradient(135deg,#ffe56e,#fed304 60%,#f2b600); color:var(--navy); box-shadow:0 8px 22px rgba(254,211,4,.3); }
.ev-tabs.is-tabs .ev-tabs__h { display:none; }
.ev-tabs:not(.is-tabs) { display:grid; gap:44px; margin-top:22px; } @media (min-width:900px) { .ev-tabs:not(.is-tabs) { grid-template-columns:1fr 1fr; } }
.ev-tabs__h { font-size:1.5rem !important; color:#fff; }
.ev-time { --p:0; position:relative; margin:0; padding:0 0 0 62px; display:grid; gap:6px; max-width:780px; }
.ev-time::before { content:""; position:absolute; left:19px; top:14px; bottom:14px; width:2px; background:rgba(255,255,255,.14); border-radius:2px; }
.ev-time::after { content:""; position:absolute; left:19px; top:14px; bottom:14px; width:2px; border-radius:2px; background:linear-gradient(to bottom,#ff8a5c,#9b6bff 42%,#5aa7ff 70%,var(--gold)); transform-origin:0 0; transform:scaleY(var(--p)); box-shadow:0 0 14px rgba(155,107,255,.6); }
.ev-time li { position:relative; display:grid; grid-template-columns:100px 1fr; grid-template-areas:"time title" "time desc"; column-gap:16px; padding:14px 0; }
.ev-time__ico { position:absolute; left:-62px; top:11px; width:40px; height:40px; border-radius:50%; background:var(--night); border:1px solid var(--line); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:1.15rem; z-index:1; transition:transform .5s var(--ease), box-shadow .5s, background .4s; }
.ev-time li:hover .ev-time__ico { transform:scale(1.12); background:rgba(254,211,4,.14); box-shadow:0 0 26px rgba(254,211,4,.3); }
.ev-time time { grid-area:time; font:500 .9rem Roboto,sans-serif; letter-spacing:.1em; color:var(--gold); padding-top:3px; }
.ev-time b { grid-area:title; font:400 1.18rem var(--display); color:#fff; }
.ev-time li > span:last-child { grid-area:desc; color:var(--on-mute); font-size:.93rem; }
.ev-time li.is-hl { margin:12px 0; padding:20px 22px; border:1px solid var(--gold); border-radius:20px; background:linear-gradient(100deg,rgba(254,211,4,.16),rgba(254,211,4,.03)); box-shadow:0 0 60px rgba(254,211,4,.14); }
.ev-time li.is-hl .ev-time__ico { left:-84px; top:20px; background:var(--gold); color:var(--navy); animation:evGlow 3.6s ease-in-out infinite; }
@keyframes evGlow { 0%,100% { box-shadow:0 0 0 0 rgba(254,211,4,.0); } 50% { box-shadow:0 0 0 12px rgba(254,211,4,.14); } }
@media (max-width:560px) { .ev-time { padding-left:52px; } .ev-time::before, .ev-time::after { left:15px; } .ev-time__ico { left:-52px; width:32px; height:32px; top:13px; font-size:1rem; } .ev-time li { grid-template-columns:1fr; grid-template-areas:"time" "title" "desc"; } .ev-time li.is-hl .ev-time__ico { left:-72px; } }

/* ---------- Kit ---------- */
.ev-kitsec { background:linear-gradient(to bottom,var(--night),var(--night2) 50%,var(--night)); }
.ev-kit-grid { display:grid; gap:22px; margin-top:34px; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); }
.ev-kit { padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--glass); backdrop-filter:blur(10px); transition:transform .6s var(--ease), border-color .4s, box-shadow .6s; }
.ev-kit:hover { transform:translateY(-6px); border-color:var(--gold); box-shadow:0 26px 60px rgba(0,0,0,.4), 0 0 40px rgba(254,211,4,.1); }
.ev-kit svg { display:block; width:100%; height:auto; margin-bottom:18px; padding:14px; border-radius:16px; background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.1),rgba(255,255,255,.02)); animation:evFloat 7s ease-in-out infinite; }
.ev-kit:nth-child(2) svg { animation-delay:-2.3s; } .ev-kit:nth-child(3) svg { animation-delay:-4.6s; }
.ev-kit h3 { color:#fff; } .ev-kit p { margin:0; font-size:.94rem; color:var(--on-mute); }

/* ---------- Entrada: el momento cumbre ---------- */
.ev-tick { background:var(--night); }
.ev-tick .ev-bg { opacity:.55; background-position:center 40%; }
.ev-tick .ev-bg::after { background:linear-gradient(90deg,rgba(7,11,31,.82),rgba(7,11,31,.45) 60%,rgba(7,11,31,.2)); }
.ev-tick__grid { display:grid; gap:48px; align-items:start; }
@media (min-width:1000px) { .ev-tick__grid { grid-template-columns:1.05fr .95fr; gap:70px; } .ev-ticket { position:sticky; top:96px; } }
.ev-value { margin:26px 0 22px; padding:0; display:grid; gap:16px; }
.ev-value li { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center; color:var(--on); }
.ev-value .ev-i { width:44px; height:44px; padding:11px; border-radius:50%; border:1px solid var(--line); color:var(--gold); background:rgba(254,211,4,.08); }
.ev-ticket { position:relative; display:grid; gap:14px; padding:clamp(24px,3.4vw,38px); border-radius:26px; border:1px solid transparent; background:linear-gradient(var(--night3),var(--night2)) padding-box, linear-gradient(140deg,var(--gold),rgba(254,211,4,.15) 40%,var(--gold2) 100%) border-box; box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 80px rgba(254,211,4,.1); }
.ev-ticket__label { margin:0 !important; font:500 .72rem Roboto,sans-serif; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); }
.ev-ticket__price { font:300 clamp(3rem,6vw,4.4rem)/1 var(--display); color:#fff; padding-bottom:16px; border-bottom:1px dashed rgba(255,255,255,.25); }
.ev-ticket__price small { font:400 .85rem Roboto,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--on-mute); margin-left:8px; }
.ev-tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 !important; }
.ev-tags span { display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:99px; background:rgba(254,211,4,.1); border:1px solid var(--line); font-size:.76rem; letter-spacing:.06em; color:var(--gold2); }
.ev-meter__bar { height:6px; border-radius:99px; background:rgba(255,255,255,.12); overflow:hidden; }
.ev-meter__bar i { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#ff8a5c,var(--gold)); transition:width 1.6s var(--ease) .3s; box-shadow:0 0 14px rgba(254,211,4,.5); }
.ev-ticket.is-in .ev-meter__bar i, .ev-meter__bar i { width:var(--w,0); }
.ev-js .ev-ticket:not(.is-in) .ev-meter__bar i { width:0; }
.ev-meter p { margin:8px 0 0 !important; font-size:.85rem; color:var(--on-mute); } .ev-meter strong { color:var(--gold); font-weight:600; }
.ev-proof { display:flex; gap:10px; align-items:center; margin:0 !important; font-size:.88rem; color:var(--on-mute); } .ev-proof .ev-i { color:var(--gold); } .ev-proof strong { color:#fff; }
.ev-field label, .ev-field legend { color:#fff; display:block; font-weight:500; margin-bottom:8px; padding:0; font-size:.86rem; letter-spacing:.06em; }
.ev-qty { display:inline-flex; align-items:center; border:1px solid rgba(255,255,255,.28); border-radius:12px; overflow:hidden; background:rgba(255,255,255,.05); }
.ev-qty button { width:50px; height:50px; border:0; background:transparent; color:#fff; font-size:1.4rem; cursor:pointer; transition:background .3s, color .3s; }
.ev-qty button:hover { background:rgba(254,211,4,.16); color:var(--gold); } .ev-qty button[disabled] { opacity:.4; cursor:not-allowed; }
.evp .ev-qty input { width:56px; height:50px; min-height:0; padding:0; text-align:center; background:transparent; border:0 !important; border-radius:0; box-shadow:none !important; color:#fff; font:500 1.15rem Roboto,sans-serif; -moz-appearance:textfield; }
.ev-qty input::-webkit-outer-spin-button, .ev-qty input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ev-total { margin:10px 0 14px !important; font-size:.9rem; letter-spacing:.14em; text-transform:uppercase; color:var(--on-mute); } .ev-total strong { font:300 2.1rem var(--display); color:#fff; letter-spacing:0; text-transform:none; font-variant-numeric:tabular-nums; margin:0 4px 0 8px; } .ev-total small { font-size:.8rem; }
.ev-secure { display:flex; gap:10px; align-items:flex-start; margin:14px 0 0 !important; font-size:.8rem; color:var(--on-mute); } .ev-secure .ev-i { width:22px; height:22px; color:var(--ok); margin-top:1px; }
.ev-secure a, .ev-calm a { text-decoration:underline; text-underline-offset:3px; }
.ev-soon { border:1px dashed rgba(255,255,255,.3); border-radius:14px; padding:16px 18px; color:var(--on-mute); background:rgba(255,255,255,.04); }
.ev-alert { background:rgba(255,138,92,.14); border:1px solid rgba(255,138,92,.5); color:#ffd2bd; border-radius:12px; padding:12px 16px; margin:0 0 6px; }
.ev-rooms { margin-top:6px; padding-top:18px; border-top:1px solid var(--hair); } .ev-rooms h3 { font-size:1.15rem; color:#fff; } .ev-rooms p { font-size:.88rem; color:var(--on-mute); margin-bottom:12px; }
.ev-calm { margin-top:26px; padding:26px; border:1px solid var(--line); border-radius:22px; background:var(--glass); backdrop-filter:blur(12px); }
.ev-calm h3 { color:#fff; font-size:1.3rem; } .ev-calm ul { margin:0 0 14px; padding:0; display:grid; gap:14px; }
.ev-calm li { display:grid; grid-template-columns:auto 1fr; gap:14px; font-size:.92rem; color:var(--on-mute); } .ev-calm li b { color:#fff; font-weight:500; }
.ev-calm li .ev-i { width:36px; height:36px; padding:8px; border-radius:50%; border:1px solid var(--line); color:var(--gold); background:rgba(254,211,4,.08); }
.ev-list { margin:0; padding:0; display:grid; gap:10px; }
.ev-list li { position:relative; padding-left:30px; list-style:none; color:var(--on-mute); font-size:.92rem; }
.ev-list li::before { content:"✓"; position:absolute; left:0; top:2px; width:20px; height:20px; border-radius:50%; background:var(--gold); color:var(--navy); font-size:.7rem; font-weight:800; display:flex; align-items:center; justify-content:center; }
.ev-list--no li::before { content:"✕"; background:rgba(255,255,255,.14); color:var(--on-mute); }
.ev-hint { color:var(--on-mute); font-size:.84rem; }

/* ---------- Lugar ---------- */
.ev-place { background:var(--night2); }
.ev-place .ev-bg { opacity:.5; } .ev-place .ev-bg::after { background:linear-gradient(90deg,rgba(7,11,31,.78),rgba(7,11,31,.3)); }
.ev-glass { padding:clamp(24px,3.4vw,40px); border:1px solid var(--line); border-radius:26px; background:rgba(7,11,31,.55); backdrop-filter:blur(16px); box-shadow:0 30px 80px rgba(0,0,0,.4); }
.ev-glass p { color:var(--on-mute); } .ev-glass strong { color:#fff; font-weight:500; }
.ev-address { display:flex; gap:10px; align-items:flex-start; font-weight:500; color:#fff !important; } .ev-address .ev-i { color:var(--gold); margin-top:4px; }
.ev-route { display:grid; gap:12px; margin:0 0 18px; }
.ev-route > div { display:flex; gap:14px; align-items:flex-start; border:1px solid var(--hair); border-radius:14px; padding:12px 16px; font-size:.92rem; color:var(--on-mute); }
.ev-route .ev-i { width:26px; height:26px; color:var(--gold); } .ev-route b { display:block; color:#fff; font-weight:500; }
.ev-amen { margin:50px 0 0; padding:0; display:grid; gap:0; grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr)); border-top:1px solid var(--hair); }
.ev-amen li { display:grid; grid-template-columns:auto 1fr; column-gap:16px; row-gap:2px; padding:24px 24px 24px 0; border-bottom:1px solid var(--hair); }
.ev-amen .ev-i { grid-row:span 2; width:42px; height:42px; padding:10px; border-radius:50%; border:1px solid var(--line); color:var(--gold); background:rgba(254,211,4,.08); }
.ev-amen b { font:400 1.2rem var(--display); color:#fff; } .ev-amen span { color:var(--on-mute); font-size:.92rem; }

/* ---------- Prepárate (el día: lo práctico) ---------- */
.ev-head-row { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:6px; } .ev-head-row h2 { margin-bottom:0; }
.ev-day .ev-btn--ghost { color:var(--navy) !important; border-color:rgba(20,33,61,.3); } .ev-day .ev-btn--ghost:hover { background:rgba(254,211,4,.2); border-color:var(--gold-ink); }
.ev-twin { display:grid; gap:18px; margin:26px 0 38px; } @media (min-width:900px) { .ev-twin { grid-template-columns:1fr 1.4fr; } }
.ev-callout { display:flex; align-items:center; gap:20px; padding:20px 26px; border:1.5px dashed var(--gold-ink); border-radius:22px; background:rgba(254,211,4,.1); }
.ev-callout img { width:80px; height:auto; flex:none; animation:evFloat 7s ease-in-out infinite; }
.ev-callout h3 { margin:0 0 4px !important; font-size:1.2rem !important; color:var(--navy); } .ev-callout p { margin:0; color:var(--muted); font-size:.93rem; }
.ev-callout--cold { background:#e9f1ff; border:1px solid #b6cff7; } .ev-callout__ico { width:50px; height:50px; border-radius:50%; background:#2252c9; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex:none; }
.ev-day h3 { color:var(--navy); }
.ev-check-count { font:500 .76rem Roboto,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink); margin-left:8px; }
.ev-list--box { background:#fff; border:1px solid rgba(20,33,61,.1); border-radius:22px; padding:12px 22px; box-shadow:0 20px 50px rgba(20,33,61,.07); }
.ev-checklist li { padding:0; border-bottom:1px solid rgba(20,33,61,.08); } .ev-checklist li:last-child { border-bottom:0; } .ev-checklist li::before { display:none; }
.ev-checklist label { display:flex; gap:14px; align-items:flex-start; padding:13px 0; cursor:pointer; color:var(--ink); font-size:.95rem; }
.ev-checklist input { appearance:none; -webkit-appearance:none; flex:none; width:24px; height:24px; margin-top:1px; border:1.5px solid rgba(20,33,61,.35); border-radius:8px; background:#fff; display:grid; place-items:center; transition:background .3s, border-color .3s, transform .3s var(--ease); }
.ev-checklist input::after { content:""; width:6px; height:11px; border:solid var(--navy); border-width:0 2.5px 2.5px 0; transform:rotate(45deg) scale(0); transition:transform .3s var(--ease); margin-top:-2px; }
.ev-checklist input:checked { background:var(--gold); border-color:var(--gold); } .ev-checklist input:checked::after { transform:rotate(45deg) scale(1); }
.ev-checklist input:checked + span { color:var(--muted); text-decoration:line-through; text-decoration-color:rgba(20,33,61,.3); }
.ev-checklist input:active { transform:scale(.9); }
.ev-rules { margin:0; padding:0; display:grid; gap:12px; counter-reset:r; }
.ev-rules li { counter-increment:r; position:relative; background:#fff; border:1px solid rgba(20,33,61,.1); border-radius:18px; padding:16px 18px 16px 62px; font-size:.95rem; color:var(--muted); box-shadow:0 14px 36px rgba(20,33,61,.05); transition:transform .5s var(--ease), box-shadow .5s; }
.ev-rules li:hover { transform:translateX(4px); box-shadow:0 18px 44px rgba(20,33,61,.1); }
.ev-rules li::before { content:counter(r); position:absolute; left:16px; top:14px; width:32px; height:32px; border-radius:50%; background:var(--navy); color:var(--gold); font:400 1.1rem var(--display); display:flex; align-items:center; justify-content:center; }
.ev-rules b { color:var(--navy); font-weight:600; }

/* ---------- Equipo ---------- */
.ev-card { background:#fff; border:1px solid rgba(20,33,61,.09); border-radius:22px; padding:26px; box-shadow:0 20px 50px rgba(20,33,61,.07); transition:transform .6s var(--ease), box-shadow .6s; }
.ev-card:hover { transform:translateY(-5px); box-shadow:0 28px 64px rgba(20,33,61,.13); }
.ev-card p { margin:0; font-size:.95rem; color:var(--muted); }
.ev-card .ico { width:50px; height:50px; border-radius:50%; background:var(--navy); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:16px; }
.ev-team { display:grid; gap:20px; margin-top:34px; } @media (min-width:900px) { .ev-team { grid-template-columns:1fr 1fr; } }
.ev-team__lead { display:grid; gap:20px; align-content:start; } @media (min-width:600px) { .ev-team__lead { grid-template-columns:auto 1fr; } }
.ev-host { display:grid; gap:28px; padding:clamp(22px,4vw,38px); } @media (min-width:900px) { .ev-team .ev-host { grid-column:1/-1; grid-template-columns:minmax(240px,300px) 1fr; gap:44px; align-items:start; } }
.ev-host__who { display:grid; justify-items:center; text-align:center; gap:6px; align-content:start; }
.ev-host .ev-team__photo, .ev-host .ev-team__avatar { width:min(220px,62vw); height:auto; aspect-ratio:1; box-shadow:0 0 0 6px rgba(254,211,4,.3), 0 18px 40px rgba(20,33,61,.18); margin-bottom:12px; }
.ev-host__who .ev-eyebrow { margin:0; justify-content:center; } .ev-host__who .ev-eyebrow::before { display:none; }
.ev-host p { max-width:none; }
.ev-host__who h3 { margin:2px 0 0; font-size:1.7rem; line-height:1.15; }
.ev-host__role { margin:0 !important; color:var(--muted); }
.ev-host__fb { margin-top:14px; }
.ev-host__lead { margin:0 0 22px !important; font-size:1.08rem !important; line-height:1.65; color:var(--ink) !important; }
.ev-host__stats { list-style:none; margin:0; padding:0; display:grid; gap:14px; } @media (min-width:600px) { .ev-host__stats { grid-template-columns:1fr 1fr; } }
.ev-host__stats li { display:grid; gap:4px; align-content:start; padding:16px 18px; border-radius:16px; background:rgba(254,211,4,.14); border:1px solid rgba(138,106,0,.22); }
.ev-host__stats b { font:700 1.6rem/1.1 'Source Serif 4',Georgia,serif; color:var(--navy); }
.ev-host__stats span { font-size:.9rem; line-height:1.45; color:var(--ink); }
.ev-host__belief { margin:22px 0 0 !important; padding-left:16px; border-left:3px solid var(--gold); font-style:italic; }
.ev-team__avatar, .ev-team__photo { width:150px; height:150px; border-radius:50%; background:radial-gradient(circle at 30% 25%,#2a3a7b,var(--navy)); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:3.2rem; object-fit:cover; box-shadow:0 0 0 6px rgba(254,211,4,.25); }
.ev-duo { display:flex; justify-content:center; align-items:flex-end; gap:8px; margin-bottom:14px; } .ev-duo img { width:46%; max-width:140px; height:auto; }

/* ---------- Preguntas frecuentes ---------- */
.ev-faq-cols { display:grid; gap:10px 56px; margin-top:30px; } @media (min-width:900px) { .ev-faq-cols { grid-template-columns:1fr 1fr; align-items:start; } }
.ev-faq h3 { margin:26px 0 6px !important; font:500 .74rem Roboto,sans-serif !important; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-ink) !important; } .ev-faq h3:first-child { margin-top:4px !important; }
.ev-faq details { border-bottom:1px solid rgba(20,33,61,.12); }
.ev-faq summary { cursor:pointer; list-style:none; padding:17px 44px 17px 0; font-weight:500; position:relative; color:var(--navy); transition:color .3s; } .ev-faq summary:hover { color:var(--gold-ink); }
.ev-faq summary::-webkit-details-marker { display:none; }
.ev-faq summary::after { content:"+"; position:absolute; right:2px; top:12px; width:28px; height:28px; border-radius:50%; border:1px solid var(--gold-ink); color:var(--gold-ink); font-size:1.1rem; line-height:26px; text-align:center; transition:transform .4s var(--ease), background .3s; }
.ev-faq details[open] summary::after { transform:rotate(45deg); background:rgba(254,211,4,.25); }
.ev-faq details p { padding:0 0 18px; color:var(--muted); margin:0; font-size:.95rem; animation:evUp .6s var(--ease) both; }

/* ---------- Amanecer: última llamada ---------- */
.ev-final { text-align:center; background:var(--night); padding-block:clamp(100px,12vw,170px); }
.ev-final .ev-bg { opacity:.95; background-position:center 55%; -webkit-mask-image:none; mask-image:none; }
.ev-final .ev-bg::after { background:linear-gradient(to bottom,rgba(7,11,31,.2) 0%,rgba(20,33,61,.42) 45%,rgba(7,11,31,.82) 100%); }
.ev-final .ev-narrow { display:grid; gap:14px; justify-items:center; }
.ev-final .ev-eyebrow { justify-content:center; } .ev-final h2 { max-width:16ch; }
.ev-final__char { width:120px; height:auto; animation:evFloat 7s ease-in-out infinite; filter:drop-shadow(0 12px 24px rgba(0,0,0,.5)); }
.ev-final__price { font:300 clamp(2.4rem,5vw,3.4rem) var(--display); color:var(--gold); margin:4px 0 0 !important; } .ev-final__price small { display:block; font:400 .8rem Roboto,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--on-mute); margin-top:6px; }
.ev-pill { display:inline-block; padding:6px 16px; border-radius:99px; background:var(--gold); color:var(--navy); font-weight:700; font-size:.82rem; letter-spacing:.06em; }
.ev-pill--tag { background:rgba(254,211,4,.14); color:var(--gold2); border:1px solid var(--line); }

/* ---------- Barra fija de compra (celular) ---------- */
.ev-bar { position:fixed; left:0; right:0; bottom:0; z-index:55; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(7,11,31,.92); backdrop-filter:blur(14px); border-top:1px solid var(--line); box-shadow:0 -14px 40px rgba(0,0,0,.4); animation:evBar .5s var(--ease) both; }
@keyframes evBar { from { transform:translateY(100%); } to { transform:none; } }
.ev-bar[hidden] { display:none; }
.ev-bar small { display:block; color:var(--on-mute); font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; line-height:1.2; } .ev-bar strong { font:400 1.35rem var(--display); color:#fff; line-height:1.1; }
@media (min-width:821px) { .ev-bar { display:none !important; } }

/* ---------- Pie propio ---------- */
.evp-orgs { background:#f6f1e3; color:#4a5068; border-top:1px solid rgba(254,211,4,.6); padding:38px 0 44px; font-size:.93rem; position:relative; z-index:2; }
.evp-orgs .evp-wrap { display:grid; gap:16px; }
.evp-orgs__row { display:flex; flex-wrap:wrap; align-items:center; gap:16px 36px; } .evp-orgs__row img { height:50px; width:auto; }
.evp-orgs p { margin:0; } .evp-orgs__links { display:flex; flex-wrap:wrap; gap:8px 24px; }
.evp-orgs a { color:var(--navy); font-weight:500; }
.evp-credits { font-size:.8rem; } .evp-credits summary { cursor:pointer; font-weight:600; } .evp-credits ul { margin:8px 0 0; padding-left:18px; } .evp-credits li { list-style:disc; margin:2px 0; }

/* ---------- Carrito, pago, gracias, políticas, 404 (misma noche, con vidrio) ---------- */
.ev-page { padding:clamp(40px,6vw,76px) 0 100px; background:radial-gradient(90% 60% at 50% 0%,#18205a 0%,var(--night) 70%); min-height:70vh; position:relative; }
.ev-page h1 { font:300 clamp(2.1rem,5vw,3.2rem)/1.1 var(--display); margin:0 0 22px; color:#fff; }
.ev-page p, .ev-page li { color:var(--on-mute); } .ev-page strong { color:#fff; font-weight:500; } .ev-page h2, .ev-page h3 { color:#fff; font-family:var(--display); font-weight:400; }
.ev-card.ev-glasscard, .ev-page .ev-card { background:var(--glass); border:1px solid var(--line); box-shadow:0 24px 60px rgba(0,0,0,.35); backdrop-filter:blur(12px); color:var(--on); } .ev-page .ev-card p { color:var(--on-mute); }
.ev-page .ev-card:hover { transform:none; box-shadow:0 24px 60px rgba(0,0,0,.35); }
.ev-layout { display:grid; gap:30px; grid-template-columns:1fr; align-items:start; } @media (min-width:900px) { .ev-layout { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); } }
.ev-form { display:grid; gap:20px; }
.ev-form .ev-card { border-radius:22px; }
.ev-field input[type=text], .ev-field input[type=email], .ev-field input[type=tel], .ev-field input[type=number], .ev-field select, .ev-field textarea { width:100%; font:inherit; color:#fff; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.22); border-radius:12px; padding:13px 16px; min-height:52px; transition:border-color .3s, box-shadow .3s, background .3s; }
.ev-field select option { color:#14213d; }
.ev-field input:focus, .ev-field select:focus { border-color:var(--gold); outline:none; box-shadow:0 0 0 4px rgba(254,211,4,.22); background:rgba(255,255,255,.09); }
.ev-field small { color:var(--on-mute); font-size:.84rem; } .ev-err { color:#ffb4a0; font-size:.9rem; margin:5px 0 0; }
.ev-check { display:flex; gap:12px; align-items:flex-start; color:var(--on); } .ev-check input { margin-top:5px; width:19px; height:19px; accent-color:#fed304; }
.ev-sum { background:linear-gradient(var(--night3),var(--night2)) padding-box, linear-gradient(140deg,var(--gold),rgba(254,211,4,.15) 45%,var(--gold2)) border-box; border:1px solid transparent; border-radius:22px; padding:24px; position:sticky; top:100px; box-shadow:0 30px 70px rgba(0,0,0,.45); }
.ev-sum dl { margin:0; display:grid; grid-template-columns:1fr auto; gap:9px 14px; color:var(--on-mute); } .ev-sum dd { margin:0; text-align:right; color:#fff; }
.ev-sum .total { border-top:1px dashed rgba(255,255,255,.25); padding-top:12px; font:300 1.5rem var(--display); color:#fff; }
.ev-sumtop { display:none; } @media (max-width:899px) { .ev-sumtop { display:block; margin-bottom:16px; } .ev-layout > .ev-sum { position:static; } }
.ev-more { border:1px solid var(--line); border-radius:16px; background:var(--glass); padding:0 18px; }
.ev-more > summary { cursor:pointer; padding:15px 0; font-weight:500; list-style:none; color:#fff; } .ev-more > summary::-webkit-details-marker { display:none; } .ev-more > summary::after { content:"▾"; float:right; color:var(--gold); }
.ev-more[open] { padding-bottom:18px; } .ev-more .ev-form { margin-top:6px; }
.ev-steps { display:flex; flex-wrap:wrap; gap:10px 8px; list-style:none; margin:0 0 26px; padding:0; counter-reset:s; }
.ev-steps li { counter-increment:s; display:flex; align-items:center; gap:10px; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--on-mute); }
.ev-steps li::before { content:counter(s); width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.3); display:flex; align-items:center; justify-content:center; font-size:.78rem; }
.ev-steps li:not(:last-child)::after { content:""; width:26px; height:1px; background:rgba(255,255,255,.25); margin-left:6px; }
.ev-steps li.is-done::before { content:"✓"; background:var(--gold); border-color:var(--gold); color:var(--navy); } .ev-steps li.is-now { color:#fff; } .ev-steps li.is-now::before { background:#fff; border-color:#fff; color:var(--navy); }
.ev-ticket-card { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:center; background:#fffaf0; border:2px solid var(--gold); border-radius:20px; padding:18px; margin-bottom:16px; box-shadow:0 20px 50px rgba(0,0,0,.35); }
.ev-ticket-card img, .ev-ticket-card svg { width:116px; height:116px; border-radius:10px; background:#fff; }
.ev-ticket-card h2 { margin:0 0 4px !important; color:var(--navy) !important; font-size:1.2rem !important; } .ev-ticket-card p { color:var(--muted) !important; margin:0; }
.ev-ticket-card code { font:700 1.15rem ui-monospace,Menlo,Consolas,monospace; letter-spacing:.06em; color:var(--navy); background:none; padding:0; }
.ev-actions { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 8px; }
.ev-char { display:block; margin:0 auto 18px; width:min(190px,60%); } .ev-char--card { background:#fffaf0; border-radius:50%; padding:14px; border:2px solid var(--gold); box-shadow:0 0 50px rgba(254,211,4,.25); }
.ev-policies h2, .ev-policies h3 { margin:28px 0 8px; } .ev-policies p, .ev-policies li { max-width:70ch; color:var(--on-mute); } .ev-policies ul, .ev-policies ol { padding-left:22px; }
.evp code { color:var(--navy); background:none; padding:0; }
.evp .ev-page .ht-reveal { opacity:1 !important; transform:none !important; transition:none !important; }

/* ---------- Modo luz roja: todo en rojo sobre negro ---------- */
body.ev-red .evp { --night:#000; --night2:#070000; --night3:#0d0000; --navy:#120000; --gold:#ff4d4d; --gold2:#ff8a8a; --gold-ink:#ff8a8a; --on:#ff9a9a; --on-mute:#e06a6a; --ink:#ff8a8a; --muted:#e06a6a; --paper:#080000; --paper2:#0d0000; --line:rgba(255,77,77,.32); --hair:rgba(255,77,77,.22); --glass:rgba(255,40,40,.05); --ok:#ff8a8a; }
body.ev-red .evp .ev-btn, body.ev-red .evp .evp-icon b, body.ev-red .evp .ev-pill, body.ev-red .evp .ev-list li::before { color:#000 !important; background:linear-gradient(135deg,#ff7a7a,#ff4d4d) !important; }
body.ev-red .evp .ev-btn--ghost, body.ev-red .evp .evp-icon { background:transparent !important; color:#ff8a8a !important; }
body.ev-red .evp, body.ev-red .evp h2, body.ev-red .evp h3, body.ev-red .evp b, body.ev-red .evp strong, body.ev-red .evp .ev-big, body.ev-red .evp .ev-hero__q, body.ev-red .evp .ev-hero__when, body.ev-red .evp .ev-time b, body.ev-red .evp .ev-obj h4, body.ev-red .evp .ev-pillars b, body.ev-red .evp .ev-amen b, body.ev-red .evp .ev-total strong, body.ev-red .evp .ev-ticket__price, body.ev-red .evp .ev-page h1 { color:#ff9a9a !important; }
body.ev-red .evp .ev-card, body.ev-red .evp .ev-list--box, body.ev-red .evp .ev-rules li, body.ev-red .evp .ev-callout, body.ev-red .evp .ev-callout--cold, body.ev-red .evp .ev-ticket-card, body.ev-red .evp .evp-orgs { background:#0d0000 !important; border-color:rgba(255,77,77,.3) !important; }
body.ev-red .evp .ev-field input, body.ev-red .evp .ev-field select { color:#ff9a9a; }
body.ev-red .evp img, body.ev-red .evp svg.ev-obj__map, body.ev-red .evp .ev-hero__bg::before, body.ev-red .evp .ev-bg { filter:grayscale(1) sepia(1) saturate(6) hue-rotate(-50deg) brightness(.85); }
body.ev-red .evp .ev-hero__bg::before, body.ev-red .evp .ev-bg { filter:grayscale(1) sepia(1) saturate(6) hue-rotate(-50deg) brightness(.38) !important; }
body.ev-red .evp .ev-ticket-card img { filter:none; }
body.ev-red .evp .ev-progress { background:#ff4d4d; }

@media (prefers-reduced-motion: reduce) {
    .evp *, .evp *::before, .evp *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
    .ev-js [data-reveal] { opacity:1 !important; transform:none !important; filter:none !important; }
    .ev-js .ev-const__lines path { stroke-dashoffset:0 !important; } .ev-js .ev-const__stars circle, .ev-js .ev-const__names text { opacity:.9 !important; }
    .ev-shoot, .ev-meteor { display:none; } .ev-hero__in > * { opacity:1 !important; transform:none !important; filter:none !important; }
}
@media (max-width:700px) { .evp-sub .evp-wrap { min-height:68px; gap:8px; } .evp-sub__date { display:none; } .evp-sub__name img { width:68px; } .evp-sub .ev-btn { padding:8px 14px; min-height:42px; font-size:.72rem; white-space:nowrap; } .evp-icon { min-width:42px; height:42px; } .evp-sub__r { gap:6px; } .ev-facts { margin-top:-64px; } }
@media (max-width:820px) { .evp-orgs { padding-bottom:100px; } }

/* Impresión: solo la lista de «qué traer» */
@media print { body.ev-printing * { visibility:hidden !important; } body.ev-printing #que-traer, body.ev-printing #que-traer * { visibility:visible !important; } body.ev-printing #que-traer { position:absolute; left:0; top:0; width:100%; padding:20px; background:#fff !important; } body.ev-printing #evPrint { display:none !important; } }
/* En celular el boleto sube justo después de lo que incluye: el botón de compra no queda al final de la sección */
@media (max-width:999px) { .ev-tick__copy { display:contents; } .ev-tick__grid { gap:30px; } .ev-tick__copy > * { order:1; } .ev-tick__copy > .ev-calm { order:3; margin-top:0; } .ev-ticket { order:2; } }

/* =====================================================================
   Ajustes: transición noche→amanecer, carrusel, leyendas y pie
   ===================================================================== */

/* Transición noche → amanecer: el degradado se mete bajo la sección anterior y unas colinas en bruma dividen el cielo */
.ev-night + .ev-day { margin-top:-72px; padding-top:calc(clamp(72px,9vw,132px) + 150px); }
.ev-day::before { height:470px; top:0; background:linear-gradient(to bottom,var(--night) 0,var(--night) 10%,#14143a 20%,#2b2457 32%,#5a4079 44%,#a1698a 56%,#e39f8c 68%,#f4cfae 80%,#fbeed6 90%,var(--paper) 100%); }
.ev-day::after { content:""; position:absolute; left:0; right:0; top:178px; height:190px; z-index:0; pointer-events:none;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='%232b2457' fill-opacity='.55' d='M0 120 L90 78 L190 104 L300 52 L420 98 L540 66 L650 108 L780 58 L900 100 L1020 62 L1140 104 L1260 72 L1350 96 L1440 70 L1440 190 L0 190Z'/%3E%3C/svg%3E") center/100% 100% no-repeat,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='%23070b1f' d='M0 150 L110 112 L230 138 L350 92 L470 132 L600 100 L720 142 L860 96 L990 136 L1110 104 L1240 140 L1350 112 L1440 134 L1440 190 L0 190Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
    -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 40%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0,#000 40%,transparent 100%); }
.ev-day--alt::before, .ev-day + .ev-day::before, .ev-day--alt::after, .ev-day + .ev-day::after { display:none; }
.ev-day > .ev-wrap { z-index:2; }
.ev-final::before { height:260px; background:linear-gradient(to bottom,var(--paper) 0,rgba(251,238,214,.92) 14%,rgba(244,207,174,.7) 38%,rgba(214,140,130,.34) 64%,rgba(7,11,31,0) 100%); }
@media (max-width:700px) { .ev-night + .ev-day { padding-top:calc(72px + 140px); } .ev-day::after { top:150px; height:150px; } }

/* Carrusel: tarjetas de imagen completa con el título encima */
.ev-rail-head { align-items:flex-end; margin:64px 0 22px; }
.ev-rail-head .ev-eyebrow { margin-bottom:8px; } .ev-rail-head h3 { font:300 clamp(1.7rem,3vw,2.3rem)/1.1 var(--display) !important; }
.ev-rail-ui { display:flex; align-items:center; gap:10px; }
.ev-rail-count { margin-right:8px; font:300 1.3rem var(--display); letter-spacing:.06em; color:var(--gold); font-variant-numeric:tabular-nums; }
.ev-arrow { width:48px; height:48px; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.05); color:#fff; display:grid; place-items:center; cursor:pointer; font-size:1.2rem; transition:background .3s, border-color .3s, transform .3s var(--ease), opacity .3s; }
.ev-arrow:hover:not(:disabled) { background:var(--gold); border-color:var(--gold); color:var(--navy); transform:scale(1.06); } .ev-arrow:disabled { opacity:.3; cursor:default; }
.ev-rail-wrap { position:relative; margin:0 -22px; }
.ev-rail-wrap::before, .ev-rail-wrap::after { content:""; position:absolute; top:0; bottom:20px; width:96px; z-index:3; pointer-events:none; transition:opacity .4s; }
.ev-rail-wrap::before { left:0; background:linear-gradient(90deg,rgba(11,16,42,.95),transparent); } .ev-rail-wrap::after { right:0; background:linear-gradient(270deg,rgba(11,16,42,.95),transparent); }
.ev-rail-wrap.at-start::before, .ev-rail-wrap.at-end::after { opacity:0; }
.ev-rail { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:22px; padding:6px 22px 24px; margin:0; scrollbar-width:none; cursor:grab; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; }
.ev-rail::-webkit-scrollbar { display:none; }
.ev-rail.is-drag { cursor:grabbing; scroll-snap-type:none; user-select:none; } .ev-rail.is-drag * { pointer-events:none; }
.ev-obj { position:relative; flex:0 0 min(330px,80%); aspect-ratio:3/4; scroll-snap-align:start; border-radius:26px; overflow:hidden; background:#000; border:1px solid var(--line); backdrop-filter:none; transition:transform .7s var(--ease), border-color .4s, box-shadow .7s; isolation:isolate; }
.ev-obj:hover { transform:translateY(-8px); border-color:var(--gold); box-shadow:0 30px 70px rgba(0,0,0,.55), 0 0 50px rgba(254,211,4,.14); }
.ev-obj > img, .ev-obj > .ev-obj__map { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; transition:transform 1.4s var(--ease); z-index:0; }
.ev-obj > img.is-contain { object-fit:contain; object-position:center 22%; background:#000; }
.ev-obj:hover > img, .ev-obj:hover > .ev-obj__map { transform:scale(1.06); }
.ev-obj::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to top,rgba(5,8,24,.97) 0,rgba(5,8,24,.86) 34%,rgba(5,8,24,.25) 62%,rgba(5,8,24,0) 78%); pointer-events:none; }
.ev-obj__n { position:absolute; top:14px; left:18px; z-index:2; font:italic 300 2.6rem/1 var(--display); color:transparent; -webkit-text-stroke:1px rgba(254,211,4,.8); letter-spacing:.02em; }
.ev-obj__body { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px 22px 24px; background:none; display:grid; gap:8px; }
.ev-obj__tag { justify-self:start; padding:4px 12px; border-radius:99px; background:rgba(254,211,4,.16); border:1px solid rgba(254,211,4,.5); color:var(--gold); font:500 .68rem Roboto,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.ev-obj h4 { margin:0; font:300 1.65rem/1.1 var(--display); color:#fff; }
.ev-obj p { margin:0; font-size:.9rem; line-height:1.55; color:#cdd3ee; }
.ev-rail-bar { height:3px; border-radius:3px; background:rgba(255,255,255,.14); overflow:hidden; margin-top:2px; }
.ev-rail-bar i { display:block; height:100%; width:100%; background:linear-gradient(90deg,#ff8a5c,var(--gold)); transform-origin:0 50%; transform:scaleX(.2); transition:transform .35s var(--ease); border-radius:3px; }

/* Leyendas de las fotos: etiqueta de vidrio encima de la imagen */
.ev-photo, .ev-arch { position:relative; }
.ev-photo { background:#0b1230; }
.ev-photo figcaption, .ev-arch figcaption { position:absolute; left:16px; bottom:16px; z-index:3; max-width:calc(100% - 32px); display:grid; gap:2px; margin:0; padding:11px 18px 11px 34px; border-radius:14px; background:rgba(7,11,31,.58); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(254,211,4,.35); text-align:left; letter-spacing:0; box-shadow:0 14px 34px rgba(0,0,0,.4); transition:transform .6s var(--ease), background .4s; }
.ev-photo figcaption::before, .ev-arch figcaption::before { content:""; position:absolute; left:15px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(254,211,4,.22), 0 0 14px rgba(254,211,4,.8); }
.ev-photo:hover figcaption, .ev-arch:hover figcaption { transform:translateY(-4px); background:rgba(7,11,31,.72); }
.ev-photo figcaption b, .ev-arch figcaption b { font:400 1.12rem/1.2 var(--display); color:#fff; }
.ev-photo figcaption span, .ev-arch figcaption span { font:500 .66rem Roboto,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--gold2); opacity:.9; }
.ev-arch figcaption { left:50%; transform:translateX(-50%); bottom:20px; width:max-content; } .ev-arch:hover figcaption { transform:translate(-50%,-4px); }
.ev-arch__moon { bottom:auto; top:40%; left:-30px; }
@media (max-width:700px) { .ev-arch__moon { left:-8px; top:34%; width:84px; } .ev-photo figcaption, .ev-arch figcaption { left:10px; bottom:10px; padding:9px 14px 9px 30px; } .ev-arch figcaption { left:50%; } }

/* Pie: noche sobria, logos legibles y lo mínimo imprescindible */
.evp-orgs { display:none; }
.evf { position:relative; z-index:2; background:linear-gradient(to bottom,#060919,#03050e); padding:64px 0 28px; color:var(--on-mute); }
.evf::before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent); opacity:.7; }
.evf__grid { display:grid; gap:40px; }
@media (min-width:860px) { .evf__grid { grid-template-columns:1.4fr 1fr .8fr; gap:56px; } }
.evf__label { margin:0 0 14px; font:500 .68rem Roboto,sans-serif; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); } .evf__label--sp { margin-top:26px; }
.evp .evf__logo { display:block; height:42px; width:auto; opacity:.95; }
.evf__chips { display:flex; flex-wrap:wrap; gap:12px; }
.evf__chip { display:inline-flex; align-items:center; padding:9px 16px; border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 10px 26px rgba(0,0,0,.35); transition:transform .5s var(--ease); } .evf__chip:hover { transform:translateY(-3px); }
.evp .evf__chip img { display:block; height:42px; width:auto; }
.evf__contact, .evf__legal { display:grid; gap:10px; align-content:start; }
.evf a { display:inline-flex; align-items:center; gap:10px; color:var(--on); text-decoration:none; font-size:.94rem; width:fit-content; transition:color .3s, transform .3s var(--ease); } .evf a:hover { color:var(--gold); transform:translateX(3px); } .evf a .ev-i { color:var(--gold); }
.evf__base { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:10px 24px; margin-top:48px; padding-top:18px; border-top:1px solid var(--hair); font-size:.72rem; letter-spacing:.06em; color:rgba(174,183,216,.55); }
.evf__credits { font-size:.7rem; } .evf__credits summary { cursor:pointer; list-style:none; opacity:.55; transition:opacity .3s; } .evf__credits summary::-webkit-details-marker { display:none; } .evf__credits summary:hover, .evf__credits[open] summary { opacity:1; }
.evf__credits p { margin:10px 0 4px; max-width:46ch; } .evf__credits ul { margin:0; padding:0; list-style:none; max-width:70ch; display:grid; gap:3px; } .evf__credits li { list-style:none; } .evf__credits a { display:inline; font-size:inherit; color:var(--on-mute); text-decoration:underline; text-underline-offset:2px; transform:none !important; }
@media (max-width:820px) { .evf { padding-bottom:104px; } }
body.ev-red .evp .evf { background:#000; } body.ev-red .evp .evf__chip { background:#1a0000; } body.ev-red .evp .evf__logo, body.ev-red .evp .evf__chip img { filter:grayscale(1) sepia(1) saturate(6) hue-rotate(-50deg) brightness(.9); }
@media (prefers-reduced-motion: reduce) { .ev-rail { scroll-behavior:auto; } }

/* Afinado de la transición y del encabezado del carrusel */
.ev-night + .ev-day { margin-top:calc(-1 * clamp(56px,8vw,120px)); padding-top:270px; }
.ev-day::before { height:480px; background:linear-gradient(to bottom,var(--night) 0,#14143a 9%,#2b2457 20%,#5a4079 32%,#a1698a 44%,#e39f8c 56%,#f4cfae 68%,#fbeed6 80%,var(--paper) 91%); }
.ev-day::after { top:86px; height:190px; }
@media (max-width:700px) { .ev-night + .ev-day { padding-top:210px; } .ev-day::after { top:70px; height:140px; } }
.ev-rail-head { flex-wrap:wrap; gap:16px 20px; } .ev-rail-count { white-space:nowrap; }
@media (max-width:700px) { .ev-photo--wide img { aspect-ratio:4/3; } }

/* Pasos de la compra: una sola línea, conectados */
.evp ol.ev-steps { display:flex; flex-wrap:nowrap; align-items:center; gap:0; width:100%; max-width:640px; margin:0 0 30px; padding:0; list-style:none; counter-reset:s; }
.evp ol.ev-steps > li { flex:0 0 auto; width:auto !important; margin:0; padding:0; display:flex; align-items:center; gap:10px; counter-increment:s; font:500 .7rem Roboto,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--on-mute); white-space:nowrap; }
.evp ol.ev-steps > li::before { content:counter(s); flex:none; width:30px; height:30px; border-radius:50%; border:1px solid rgba(255,255,255,.3); display:grid; place-items:center; font-size:.8rem; letter-spacing:0; background:rgba(255,255,255,.04); transition:background .4s, border-color .4s; }
.evp ol.ev-steps > li:not(:last-child) { flex:1 1 auto; }
.evp ol.ev-steps > li:not(:last-child)::after { content:""; flex:1 1 16px; min-width:14px; height:1px; margin:0 14px; background:rgba(255,255,255,.22); }
.evp ol.ev-steps > li.is-done { color:var(--on); } .evp ol.ev-steps > li.is-done::before { content:"✓"; background:var(--gold); border-color:var(--gold); color:var(--navy); font-weight:700; }
.evp ol.ev-steps > li.is-done:not(:last-child)::after { background:linear-gradient(90deg,var(--gold),rgba(254,211,4,.35)); }
.evp ol.ev-steps > li.is-now { color:#fff; } .evp ol.ev-steps > li.is-now::before { background:#fff; border-color:#fff; color:var(--navy); box-shadow:0 0 0 5px rgba(255,255,255,.12); font-weight:700; }
@media (max-width:640px) { .evp ol.ev-steps > li > span { display:none; } .evp ol.ev-steps > li.is-now > span { display:inline; } .evp ol.ev-steps > li:not(:last-child)::after { margin:0 8px; } .evp ol.ev-steps > li { gap:8px; } }
.ev-sum dl { column-gap:0; } .ev-sum dd { padding-left:14px; }
