:root{--deep:#0f2847;--navy:#13253a;--blue:#1a5bb8;--bright:#2c79e0;--light:#5BA3E8;--oro:#e3b04b;--oro2:#ffd700;--ok:#51cf66;--warn:#ffb020;--gris:#b9c6d6;--tx:#e6ebf2;--glass:rgba(20,40,68,.72);--borde:rgba(185,198,214,.22)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;display:flex;flex-direction:column;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--tx);background:linear-gradient(170deg,var(--deep) 0%,#173a6b 60%,#1f4f95 100%);min-height:100vh}
a{color:inherit}
.top{display:flex;align-items:center;justify-content:space-between;padding:8px 22px;background:var(--navy);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:5}
.top .logo{height:40px;display:block}
.top nav a{color:var(--tx);text-decoration:none;font-weight:600;margin-left:20px;font-size:.92rem;letter-spacing:.3px}
.top nav a:hover{color:var(--oro2)}
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;background-size:cover;background-position:center 30%;color:#fff}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,40,71,.15) 0%,rgba(15,40,71,.55) 55%,rgba(15,40,71,.96) 100%)}
.hero-in{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:40px 20px 48px;width:100%}
.kicker{display:block;color:var(--oro);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:700;margin:0 0 8px}
.hero h1{font-size:clamp(1.7rem,5vw,3rem);line-height:1.1;margin:0 0 14px;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.hero .sub{font-size:1.05rem;margin:0 0 10px;opacity:.95}
.hero .sub.chico{font-size:.95rem;opacity:.85;margin-bottom:22px}
.hero .sub strong{color:var(--oro2)}
.btn{display:inline-block;border:1px solid var(--oro);border-radius:10px;padding:13px 28px;font-weight:800;font-size:1.02rem;cursor:pointer;background:var(--oro2);color:var(--deep);text-decoration:none;letter-spacing:.3px;transition:transform .1s,background .15s}
.btn:hover{transform:translateY(-2px);background:#ffe14d}
.btn.sec{background:transparent;color:var(--oro2)}
.btn.grande{width:100%;text-align:center;padding:16px;font-size:1.12rem}
.wrap{max-width:1320px;margin:0 auto;padding:26px 16px 60px}
.wrap.estrecho{max-width:560px}
.titulo-pag{color:#fff;text-align:center;font-size:1.9rem;margin:4px 0 14px}
.volver-top{display:inline-block;color:var(--gris);text-decoration:none;font-size:.9rem;margin-bottom:4px}
.termo,.tablero-sec,.card-res{background:var(--glass);backdrop-filter:blur(10px);border:1px solid var(--borde);border-left:4px solid var(--oro);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.termo{padding:18px 22px;margin-bottom:0}
.termo-cifras{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:.92rem;color:var(--gris);margin-bottom:10px}
.termo-cifras strong{color:#fff;font-size:1.15rem}
.barra{height:22px;background:rgba(0,0,0,.35);border-radius:999px;overflow:hidden;border:1px solid var(--borde)}
.lleno{height:100%;background:linear-gradient(90deg,var(--light),var(--bright) 70%,var(--oro2));border-radius:999px;min-width:44px;display:flex;align-items:center;justify-content:flex-end;padding-right:9px;color:#fff;font-size:.76rem;font-weight:800;transition:width .8s}
.termo-reloj{margin:10px 0 0;text-align:center;font-size:.9rem;color:var(--gris)}
.termo-reloj strong{color:var(--oro2)}
.banda{padding:64px 0}
.banda.azul{background:#1c4a82}
.banda.gris{background:#2a3b52}
.banda.navy{background:var(--navy)}
.banda .in{max-width:1320px;margin:0 auto;padding:0 28px}
.in.dos-col{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:center}
.lead{font-size:1.15rem;line-height:1.6;color:var(--tx);margin:0 0 14px}
.lead.chico{font-size:1rem;color:var(--gris)}
.banda h2{margin:0 0 22px;color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;line-height:1.15}
.cards{display:grid;gap:12px}
.cards article{padding:18px 20px;display:grid;grid-template-columns:150px 1fr;column-gap:16px;align-items:center;border:1px solid var(--borde);border-radius:12px;background:rgba(0,0,0,.18)}
.cards article.destacada{border-color:var(--oro)}
.cards article .kicker{margin:0}
.cards article h3{grid-column:2}
.cards article p{grid-column:2}
.cards h3,.pasos h3{margin:0 0 8px;color:#fff;font-size:1.08rem;font-weight:700}
.cards p,.pasos p{margin:0;color:var(--gris);font-size:.95rem;line-height:1.55}
.premio-sec{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.premio-img{position:relative}
.premio-img img{width:100%;display:block;border-radius:12px;border:1px solid var(--borde)}
.sello{position:absolute;top:14px;left:14px;background:var(--oro2);color:var(--deep);font-weight:900;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:6px}
.premio-txt{padding:0}
.pago-card{display:grid;grid-template-columns:300px 1.2fr 1fr;gap:32px;align-items:start;background:var(--glass);border:1px solid var(--borde);border-left:4px solid var(--oro);border-radius:14px;padding:26px 30px}
.pago-img img{width:100%;display:block;filter:drop-shadow(0 12px 24px rgba(0,0,0,.45))}
.pago-num{font-size:clamp(1.4rem,3.4vw,2.2rem);font-weight:900;letter-spacing:.12em;color:#fff;font-variant-numeric:tabular-nums;margin:6px 0 10px}
.chico-btn{padding:8px 16px;font-size:.9rem}
.pago-reglas{margin:14px 0 0;padding-left:18px;color:var(--gris);line-height:1.6;font-size:.95rem}
.pago-reglas strong{color:var(--oro2)}
.info .pago-card{grid-template-columns:1fr;padding:14px;max-width:none}
.info .pago-img{max-width:220px}
.specs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.specs span{border:1px solid var(--oro);color:var(--oro2);font-weight:700;padding:5px 11px;border-radius:6px;font-size:.85rem;letter-spacing:.5px}
.premio-txt ul{padding-left:18px;color:var(--gris);line-height:1.7;margin:0 0 20px}
.podio strong{color:var(--oro2)}
.podio-res{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0 24px}
.podio-res .lugar{border:1px solid var(--borde);border-radius:12px;padding:16px;background:rgba(0,0,0,.2)}
.podio-res .num-grande{font-size:3.2rem}
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.pasos::before{content:"";position:absolute;left:8%;right:8%;top:20px;height:1px;background:var(--oro);opacity:.5}
.pasos div{padding:0 8px;position:relative}
.num-paso{display:inline-flex;width:40px;height:40px;border-radius:8px;background:var(--oro2);color:var(--deep);font-weight:900;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:10px}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:12px}
.checks li{position:relative;padding-left:22px;line-height:1.55;font-size:.96rem;color:var(--tx)}
.checks li::before{content:"—";position:absolute;left:0;top:0;color:var(--oro)}
.checks strong{color:var(--oro2)}
.mensaje .in,.res-hero .in{text-align:center;max-width:820px}
.res-hero{padding:90px 0;flex:1}
.res-hero.chico-pad{padding:48px 0}
.res-hero .num-grande{font-size:clamp(5rem,16vw,9rem);margin:8px 0 16px}
.res-hero .lead{margin-bottom:22px}
.oro-tx{color:var(--oro2)}
.cta-final .btn{margin:6px}
.num[data-globo]{cursor:pointer;position:relative}
.globo{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;border:1px solid var(--oro);border-radius:10px;padding:10px 16px;font-size:.92rem;z-index:20;max-width:90vw;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.mensaje blockquote{margin:6px 0 14px;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:900;line-height:1.15;color:var(--oro2)}
.faq{max-width:820px}
.faq details{border-top:1px solid var(--borde);padding:12px 0}
.faq summary{cursor:pointer;font-weight:700;color:#fff}
.faq p{margin:8px 0 0;color:var(--gris);line-height:1.55}
.cta-final{text-align:center;margin:34px 0 0}
.aviso{margin-top:18px;padding:12px 16px;border-radius:10px;font-weight:600;text-align:center;border:1px solid var(--borde)}
.aviso.ok{background:rgba(81,207,102,.15);color:#c9f7d3}
.aviso.err{background:rgba(255,107,107,.15);color:#ffd0d0}
.tablero-sec{padding:20px}
.leyenda{display:flex;gap:14px;justify-content:center;font-size:.85rem;color:var(--gris);margin-bottom:14px;flex-wrap:wrap}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;vertical-align:middle}
.dot.disponible{background:var(--light)}.dot.en_proceso{background:var(--warn)}.dot.reservado{background:#f28b30}.dot.pagado{background:#5a6472}
.tablero{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.tablero form{display:contents}
.num{border:1px solid transparent;border-radius:6px;padding:8px 2px;font-weight:700;font-size:.92rem;color:#fff;background:var(--blue);display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;font-family:inherit;transition:transform .08s,background .15s}
button.num{cursor:pointer;border-color:var(--light)}
button.num:hover{background:var(--bright);transform:translateY(-2px);border-color:var(--oro2)}
.num.en_proceso{background:var(--warn);color:#4a3b00}
.num.reservado{background:#f28b30}
.num.pagado{background:#3a4658;color:var(--gris)}
.num small{font-size:.62rem;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-res{padding:26px 24px;margin-bottom:22px}
.card-res.centro{text-align:center}
.card-res h1{color:#fff;font-size:1.5rem;margin:0 0 10px}
.num-grande{text-align:center;font-size:4rem;font-weight:900;color:#fff;letter-spacing:3px;line-height:1}
.num-grande.oro{color:var(--oro2)}
.reloj{text-align:center;color:var(--gris);margin:8px 0 18px}
.reloj strong{color:var(--oro2);font-variant-numeric:tabular-nums}
.felicidades{font-size:1.2rem;color:#fff;margin:14px 0}
.chico{font-size:.85rem;color:var(--gris)}
.card-res label{display:block;font-size:.85rem;color:var(--gris);margin-bottom:12px}
.card-res input:not([type=radio]),.card-res select{display:block;width:100%;margin-top:4px;padding:11px;border:1px solid var(--borde);border-radius:8px;font-size:1rem;background:rgba(0,0,0,.3);color:#fff}
.card-res select option{color:#111}
.card-res input:focus,.card-res select:focus{outline:none;border-color:var(--oro)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pago{border:1px solid var(--borde);border-radius:10px;padding:12px 14px;margin:6px 0 12px}
.pago legend{font-weight:700;color:var(--oro);padding:0 6px}
.radio{display:flex;align-items:center;gap:8px;font-size:.95rem;margin:6px 0;color:var(--tx)}
.info{background:rgba(0,0,0,.25);border-left:3px solid var(--oro);border-radius:8px;padding:12px 14px;margin-bottom:16px;font-size:.92rem;color:var(--tx);line-height:1.5}
.info p{margin:0 0 10px}
.volver{display:block;text-align:center;margin-top:14px;font-size:.9rem;color:var(--gris)}
.pie{margin-top:auto;text-align:center;color:var(--gris);font-size:.85rem;padding:22px 18px;background:var(--navy);border-top:1px solid var(--borde)}
.pie p{margin:4px 0}
.pie .slogan{color:var(--oro);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
.pie strong{color:var(--oro2)}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tab{border:1px solid var(--borde);background:transparent;color:var(--tx);border-radius:8px;padding:9px 16px;font-weight:700;cursor:pointer;font-family:inherit;font-size:.92rem}
.tab small{font-weight:500;opacity:.8}
.tab small{font-weight:500;opacity:.8}
.tab.activo{background:var(--oro2);color:var(--deep);border-color:var(--oro2)}
.tab-panel[hidden]{display:none}
.vocal{max-width:560px}
.premios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:14px}
.premios-grid article{border:1px solid var(--borde);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.2)}
.premios-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.premios-grid .kicker,.premios-grid h3{padding:0 14px}.premios-grid .kicker{margin-top:12px}.premios-grid h3{margin:4px 0 14px;color:#fff;font-size:1rem}
@media (max-width:820px){.premios-grid{grid-template-columns:1fr}.podio-res{grid-template-columns:1fr}.pago-card{grid-template-columns:1fr}.pago-img{max-width:260px}.in.dos-col{grid-template-columns:1fr;gap:26px}.premio-sec{grid-template-columns:1fr}.pasos{grid-template-columns:1fr;gap:18px}.pasos::before{display:none}.cards article{grid-template-columns:1fr}.cards article h3,.cards article p{grid-column:1}.banda{padding:44px 0}}
@media (max-width:640px){.hero{min-height:64vh}.premio-sec{grid-template-columns:1fr}.dos{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.tablero{grid-template-columns:repeat(5,1fr)}.top nav a{margin-left:10px;font-size:.85rem}}
