/* Escencia by Vivent · página de presentación, registro y entrada. Celular primero (la gente llega desde TikTok). */
:root{--bg:#0B0A07;--bg2:#13110B;--linea:#2C2616;--oro:#E2C46A;--oro2:#C9A84C;--crema:#EFE6D2;--dim:#A89F8B;--verde:#9CCB86;--rojo:#E59A83;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--crema);font:400 16px/1.6 'Montserrat',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--oro)}img{max-width:100%;display:block}
.ancho{width:min(1080px,100%);margin:0 auto;padding:0 20px}
.barra{position:sticky;top:0;z-index:20;background:rgba(11,10,7,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.barra .ancho{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.marca{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--oro);font:600 17px/1 'Cinzel',serif;letter-spacing:.24em}
.marca small{font:500 9.5px/1 'Montserrat',sans-serif;letter-spacing:.2em;color:var(--dim);text-transform:uppercase}
.barra nav{display:flex;align-items:center;gap:6px}
.barra nav a{text-decoration:none;font:500 12px/1 'Montserrat',sans-serif;letter-spacing:.08em;color:var(--crema);padding:10px 12px;border-radius:999px}
.barra nav a.b{border:1px solid var(--oro2);color:var(--oro)}
@media (max-width:560px){.barra nav a:not(.b){display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border-radius:999px;border:1px solid var(--oro);background:linear-gradient(180deg,#F1DE9A,#E2C46A 40%,#C9A84C);color:#1a1206;text-decoration:none;font:700 12.5px/1 'Montserrat',sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px rgba(201,168,76,.22)}
.btn.sec{background:none;color:var(--oro);box-shadow:none;border-color:rgba(226,196,106,.55)}
.btn[disabled]{opacity:.55;cursor:default}
.heroe{padding:56px 0 40px;text-align:center;background:radial-gradient(90% 60% at 50% 0,rgba(226,196,106,.13),transparent 70%)}
.k{font:600 11px/1.5 'Montserrat',sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--oro2)}
h1{margin:16px auto 14px;max-width:16ch;font:500 clamp(30px,8vw,56px)/1.08 'Cinzel',serif;letter-spacing:.02em;color:var(--crema)}
h1 em{font-style:normal;color:var(--oro)}
.lead{margin:0 auto 26px;max-width:46ch;font:500 italic clamp(18px,4.4vw,22px)/1.45 'Cormorant Garamond',serif;color:#DDD2BA}
.acc{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cupos{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:8px 14px;border:1px solid var(--linea);border-radius:999px;font-size:13px;color:var(--dim)}
.cupos i{width:8px;height:8px;border-radius:50%;background:var(--verde);box-shadow:0 0 8px rgba(156,203,134,.8)}.cupos b{color:var(--crema)}
section{padding:48px 0}section.alt{background:var(--bg2);border-block:1px solid var(--linea)}
h2{margin:0 0 8px;font:500 clamp(22px,5.4vw,32px)/1.2 'Cinzel',serif;letter-spacing:.04em;color:var(--oro)}
.sub{margin:0 0 26px;max-width:60ch;color:var(--dim);font-size:15px}
.rej{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.caja{padding:18px;border:1px solid var(--linea);border-radius:14px;background:rgba(255,255,255,.02)}
.caja h3{margin:0 0 6px;font:600 15px/1.3 'Montserrat',sans-serif;color:var(--crema)}
.caja p{margin:0;font-size:14px;line-height:1.55;color:var(--dim)}
.caja .g{display:block;margin-bottom:10px;font-size:20px;color:var(--oro)}
.pasos{counter-reset:p;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.pasos .caja{counter-increment:p;position:relative;padding-top:52px}
.pasos .caja::before{content:counter(p);position:absolute;left:18px;top:16px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--oro2);color:var(--oro);font:600 13px/1 'Cinzel',serif}
.precio{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.precio .caja b.v{display:block;margin:6px 0 2px;font:500 30px/1.1 'Cinzel',serif;color:var(--crema)}.precio .caja small{color:var(--dim);font-size:13px}
.precio .caja.on{border-color:var(--oro2);background:rgba(226,196,106,.07)}
.nacio{display:grid;gap:22px;align-items:center;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

details{border-bottom:1px solid var(--linea);padding:14px 0}summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--oro);font-size:20px;line-height:1}details[open] summary::after{content:"–"}
details p{margin:10px 0 0;color:var(--dim);font-size:14.5px}
footer{padding:30px 0 60px;border-top:1px solid var(--linea);color:var(--dim);font-size:13px}
footer .ancho{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between}footer a{color:var(--dim)}
/* formularios (registro y entrada) */
.form{width:min(560px,100%);margin:0 auto;padding:28px 20px 70px}
.form h1{font-size:clamp(26px,7vw,36px);max-width:none;margin:10px 0 8px;text-align:left}
.form .lead{margin:0 0 20px;text-align:left;font-size:18px}
.form form{display:grid;gap:14px;padding:20px;border:1px solid var(--linea);border-radius:16px;background:var(--bg2)}
.form label{display:grid;gap:6px;font:600 11px/1.3 'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.form label small{font-weight:400;letter-spacing:0;text-transform:none;font-size:12.5px;line-height:1.45}
.form input,.form select{width:100%;height:50px;padding:0 14px;border:1px solid var(--linea);border-radius:10px;background:#0c0b07;color:var(--crema);font:400 16px/1 'Montserrat',sans-serif}
.form input:focus,.form select:focus{outline:none;border-color:var(--oro)}
.form .dos{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media (max-width:520px){.form .dos{grid-template-columns:1fr}}
.form .acepta{display:flex;gap:10px;align-items:flex-start;font:400 13.5px/1.5 'Montserrat',sans-serif;letter-spacing:0;text-transform:none;color:var(--crema)}
.form .acepta input{width:22px;height:22px;flex:0 0 auto;margin-top:1px;accent-color:#C9A84C}
.form .btn{width:100%}
.form form[hidden],.listo[hidden],[hidden]{display:none!important}
.form .clave{position:relative}.form .clave input{padding-right:64px}.form .clave button{position:absolute;right:6px;bottom:6px;height:38px;padding:0 10px;border:0;background:none;color:var(--oro);font:600 11px/1 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.form label.mal input{border-color:var(--rojo)}.form label.mal small.e{color:#F4C3B3}
.form details.olvido{margin-top:16px;border:0;padding:0}.form details.olvido summary{font-size:14px;color:var(--oro);font-weight:500}.form details.olvido p{font-size:14px}
.msg{padding:12px 14px;border-radius:10px;font-size:14.5px;line-height:1.5;border:1px solid rgba(156,203,134,.5);background:rgba(156,203,134,.1);color:#D6EBC9}
.msg.err{border-color:rgba(229,154,131,.55);background:rgba(229,154,131,.1);color:#F4C3B3}.msg[hidden]{display:none}
.nota{font-size:13px;color:var(--dim);line-height:1.55}
.listo{display:grid;gap:14px;padding:22px;border:1px solid var(--oro2);border-radius:16px;background:rgba(226,196,106,.07)}
.listo dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:15px}.listo dt{color:var(--dim)}.listo dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.listo .btn{width:100%;text-align:center;line-height:1.25;padding:10px 18px;letter-spacing:.1em}
.texto{width:min(760px,100%);margin:0 auto;padding:28px 20px 70px}.texto h1{text-align:left;max-width:none;font-size:clamp(26px,6vw,36px)}.texto h2{font-size:19px;margin-top:28px}.texto p,.texto li{color:#D8CDB6;font-size:15px}

@media (max-width:560px){.k{letter-spacing:.18em}}

section{scroll-margin-top:72px}
