:root{--navy:#091854;--red:#de2045;--ink:#141a33;--bg:#f3f5fa;--line:#dde2f0;--mut:#5b6385;--r:12px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 Mulish,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2{font-family:Jost,system-ui,sans-serif;line-height:1.08;margin:0}
a{color:var(--red)}
.wrap{max-width:1160px;margin:auto;padding:0 clamp(18px,4vw,40px)}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(18px,4vw,40px);background:#fff;border-bottom:3px solid var(--red)}
.logo{height:46px;width:auto;display:block}
.aliados{display:flex;gap:18px;align-items:center;font-size:.85rem;color:var(--mut)}
.aliados img{height:30px;width:auto;display:block}.aliados b{color:var(--navy)}
.hero{background:var(--navy);color:#fff;padding:clamp(36px,6vw,72px) 0 clamp(96px,10vw,140px)}
.evento{margin:0 0 14px;font-weight:700;color:#ff8da1}
.hero h1{font-size:clamp(2.1rem,5.2vw,4rem);font-weight:800;max-width:19ch;letter-spacing:-.01em}
.lead{font-size:1.2rem;color:#c9d0f0;margin:18px 0 28px;max-width:46ch}
.cuenta{display:flex;gap:clamp(18px,4vw,44px);margin-bottom:32px}
.cuenta div{display:flex;flex-direction:column;min-width:56px}
.cuenta b{font:800 clamp(2.2rem,5vw,3.6rem)/1 Jost,sans-serif;font-variant-numeric:tabular-nums;border-bottom:3px solid var(--red);padding-bottom:6px}
.cuenta span{font-size:.85rem;color:#c9d0f0;margin-top:6px}
.cta-hero{display:none;background:var(--red);color:#fff;text-decoration:none;font-weight:700;padding:14px 24px;border-radius:8px}
.grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,64px);align-items:start;padding-bottom:64px}
.info{padding-top:clamp(24px,4vw,48px)}
.info h2{font-size:1.7rem;color:var(--navy);margin:0 0 14px}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;margin-bottom:40px;box-shadow:0 12px 32px rgba(9,24,84,.18)}
.video button{all:unset;cursor:pointer;display:block;width:100%;height:100%;position:relative}
.video button:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.video img,.video iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}
.play{position:absolute;left:50%;top:50%;width:78px;height:78px;margin:-39px 0 0 -39px;border-radius:50%;background:var(--red);box-shadow:0 0 0 10px rgba(255,255,255,.25)}
.play::after{content:"";position:absolute;left:30px;top:21px;border:18px solid transparent;border-left:28px solid #fff}
.obsequios{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.obsequios li{background:#fff;border-radius:var(--r);border-left:6px solid var(--red);padding:16px 20px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(9,24,84,.06)}
.obsequios strong{font:700 1.2rem Jost,sans-serif;color:var(--navy)}
.obsequios span{color:var(--mut)}
.registro{position:sticky;top:16px;margin-top:-72px}
form{background:#fff;padding:clamp(22px,3vw,34px);border-radius:var(--r);box-shadow:0 18px 48px rgba(9,24,84,.22)}
form h2{font-size:1.8rem;color:var(--navy)}
.sub{margin:4px 0 20px;color:var(--mut)}
label{display:block;font-weight:700;font-size:.95rem;margin-bottom:14px}
input:not([type=checkbox]){display:block;width:100%;margin-top:6px;padding:13px 14px;font:400 1rem Mulish,sans-serif;border:1.5px solid var(--line);border-radius:8px;background:#fafbfe}
input:focus-visible{outline:3px solid rgba(222,32,69,.35);border-color:var(--red)}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.chk input{width:22px;height:22px;margin-top:2px;accent-color:var(--red);flex:none}
.hp{position:absolute;left:-9999px}
button[type=submit]{width:100%;padding:16px;font:700 1.1rem Jost,sans-serif;color:#fff;background:var(--red);border:0;border-radius:8px;cursor:pointer}
button[type=submit]:hover{background:#c41a3b}
button[type=submit]:disabled{opacity:.6;cursor:wait}
button:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
#msg{color:#b00020;font-weight:600;min-height:1.4em;margin:.4em 0}
.nota{font-size:.85rem;color:var(--mut);margin:.8em 0 0}
.pie{background:var(--navy);color:#c9d0f0;padding:22px 0;font-size:.9rem}
.legal main{max-width:720px;margin:auto;padding:32px 20px}.legal h1{color:var(--navy);margin:12px 0}
@media(max-width:860px){.grid{grid-template-columns:1fr}.registro{position:static;margin-top:0}.cta-hero{display:inline-block}.top{flex-wrap:wrap}.hero{padding-bottom:48px}}
@media(max-width:480px){.aliados span{display:none}.logo{height:38px}}
