*{box-sizing:border-box}
:root{--navy:#123a63;--blue:#2c79bf;--blue2:#5ab3e7;--ice:#eef8fd;--ice2:#f7fcff;--line:#d8eaf4;--text:#19354f;--muted:#658096;--green:#188754;--white:#fff}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 8% 0%,rgba(126,201,240,.2),transparent 26%),linear-gradient(180deg,#f9fdff,#ebf6fc)}
a{text-decoration:none;color:inherit}.wrap{max-width:1120px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.brand{display:flex;align-items:center;gap:12px;font-weight:950;color:var(--navy)}.brand img{width:62px;height:62px;object-fit:contain}.back{font-weight:850;color:var(--blue)}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch;margin-bottom:20px}.hero-main{padding:34px;border-radius:30px;color:#fff;background:radial-gradient(circle at 86% 18%,rgba(126,201,240,.34),transparent 25%),linear-gradient(135deg,#123a63,#23689f 58%,#2c79bf);box-shadow:0 26px 60px rgba(18,58,99,.16)}.tag{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:850;font-size:.78rem;letter-spacing:.04em}.hero h1{font-size:clamp(2rem,5vw,4.2rem);line-height:.98;margin:16px 0 14px}.hero p{max-width:700px;line-height:1.6;opacity:.9}
.event-card{background:#fff;border:1px solid rgba(35,104,159,.1);border-radius:30px;padding:28px;box-shadow:0 18px 45px rgba(18,58,99,.08);display:flex;flex-direction:column;justify-content:center}.event-card small{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.event-card h2{color:var(--navy);margin:8px 0 7px}.event-meta{display:grid;gap:8px;color:var(--muted)}
.layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.card{background:rgba(255,255,255,.96);border:1px solid rgba(35,104,159,.1);border-radius:26px;padding:24px;box-shadow:0 16px 42px rgba(18,58,99,.07)}h2,h3{color:var(--navy)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.full{grid-column:1/-1}label{font-size:.9rem;font-weight:850}input,select,textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#fbfdff;font:inherit;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 4px rgba(90,179,231,.12)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#f8fcfe}.check input{width:auto}
.consent{padding:13px 14px;border-radius:14px;background:#f2f9fd;margin-top:9px}.consent label{display:flex;gap:9px;align-items:flex-start}.consent input{width:auto;margin-top:4px}.help{font-size:.8rem;color:var(--muted);line-height:1.45}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 20px;background:linear-gradient(135deg,#2c79bf,#123a63);color:#fff;font-weight:900;cursor:pointer;font:inherit}.btn-green{background:linear-gradient(135deg,#2aa563,#137849)}.benefits{display:grid;gap:11px}.benefit{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:13px;border-radius:16px;background:#f7fbfe;border:1px solid rgba(35,104,159,.08)}.ico{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e5f5fd;font-size:1.25rem}.benefit strong{display:block;color:var(--navy);margin-bottom:2px}.notice{padding:14px 16px;border-radius:15px;margin-bottom:15px;background:#e9f7ef;color:#24643b}.notice.error{background:#fff0f0;color:#8a2929}.footer{text-align:center;color:var(--muted);font-size:.82rem;padding:24px}
@media(max-width:800px){.hero,.layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.checks{grid-template-columns:1fr}.wrap{padding:14px}.hero-main,.event-card,.card{padding:22px}.brand span{display:none}}

/* V22 - PROMOCIÓN DE BIENVENIDA */
.promo-hero{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;margin:0 0 20px;padding:24px;border-radius:30px;background:linear-gradient(135deg,#0f3f6e,#1f72ad 62%,#4ba9dc);color:#fff;box-shadow:0 24px 58px rgba(18,58,99,.18);position:relative;overflow:hidden}
.promo-hero:after{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-100px;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025)}
.promo-badge{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff,#e8f7ff 62%,#b8e3f8);color:#0f4778;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 15px 35px rgba(0,0,0,.18),inset 0 2px 5px #fff;position:relative;z-index:2;animation:promoFloat 3s ease-in-out infinite}.promo-badge span{font-size:1.45rem}.promo-badge strong{font-size:3rem;line-height:.9}.promo-badge small{font-weight:950;letter-spacing:.08em;margin-top:7px}.promo-copy{position:relative;z-index:2}.promo-kicker{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.75rem;font-weight:950;letter-spacing:.04em}.promo-copy h2{color:#fff;font-size:clamp(1.7rem,4vw,2.7rem);margin:10px 0 8px;line-height:1.05}.promo-copy p{margin:0;opacity:.9}.promo-mini{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.promo-mini span{font-size:.78rem;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}
.promo-form-note{display:grid;gap:5px;padding:15px 16px;margin:14px 0 18px;border-radius:16px;background:linear-gradient(135deg,#eaf7ff,#f8fcff);border:1px solid #cfe9f7;color:#245677}.promo-form-note strong{color:#123a63}.promo-form-note span{font-size:.82rem;line-height:1.45}.promo-submit{font-size:1rem;box-shadow:0 12px 24px rgba(44,121,191,.2)}.promo-benefit{background:linear-gradient(135deg,#eaf8ff,#fafdff);border-color:#bfe4f6}.promo-terms{max-width:900px;margin:18px auto 0;padding:13px 16px;border-radius:14px;background:#fff;color:#658096;font-size:.78rem;line-height:1.5;border:1px solid #dbeaf3;text-align:center}
@keyframes promoFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@media(max-width:800px){.promo-hero{grid-template-columns:1fr;text-align:center;padding:22px}.promo-badge{width:125px;height:125px;margin:auto}.promo-badge strong{font-size:2.5rem}.promo-mini{justify-content:center}}
