:root{font-family:system-ui,sans-serif;color:#281418;background:#f9f1f0}
body{margin:0}
header{background:#26191b;padding:12px 24px}
header img{height:auto}
main{max-width:900px;margin:24px auto;padding:0 16px}
section{background:white;overflow:hidden;border-radius:20px;box-shadow:0 12px 40px #34141417}
.portada{display:block;width:100%;height:auto}
.contenido{padding:clamp(18px,5vw,42px)}
h1{font-size:clamp(2rem,6vw,3.2rem);margin:0}
label{display:block;margin:14px 0;font-weight:650}
input{display:block;box-sizing:border-box;width:100%;max-width:480px;padding:12px;margin-top:4px;border:1px solid #b9a4a6;border-radius:8px;font:inherit}
button,a:not([hidden]){display:inline-block;background:#d80026;color:white;padding:12px 16px;border-radius:8px;border:0;font:inherit;font-weight:750;text-decoration:none;margin:6px 6px 6px 0}
button:disabled{opacity:.55}
output{font-size:1.5rem;font-weight:800;color:#b00020}
[hidden]{display:none!important}
#red-publica details{margin:10px 0;padding:12px;border:1px solid #eddee0;border-radius:10px}
#red-publica summary{cursor:pointer;font-weight:700}
#red-publica ul{margin-bottom:0;padding-left:24px}
#red-publica li{padding:4px 0;overflow-wrap:anywhere}

.estado-cuenta{margin-top:24px;padding:16px;border:1px solid #eddee0;border-radius:12px;background:#fff9f9}
.estado-cuenta h2{margin:0}
.estado-cuenta dl{margin:0}
.estado-cuenta dt{margin-top:12px;font-weight:650}
.estado-cuenta dd{margin:2px 0 0;color:#a40020;font-weight:750}
.programa{margin:24px 0;padding:clamp(14px,3vw,24px);background:#fff6f6;border:1px solid #eddee0;box-shadow:none}
.programa h2{margin-top:0}
.programa ol{padding-left:22px;line-height:1.5}
.programa li+li{margin-top:10px}
a.enlace-legal:not([hidden]){background:none;color:#a40020;text-decoration:underline;padding:0;font-weight:650}
.legal h1{margin:12px 0}
.legal p{line-height:1.55}
.portada-beneficios{position:relative}
.portada-beneficios p{position:absolute;inset:auto 0 0;margin:0;padding:clamp(20px,6vw,50px) 16px 14px;text-align:center;background:linear-gradient(transparent,#161010 84%);color:white;font-size:clamp(1rem,3.3vw,1.9rem);font-weight:800;line-height:1.2;text-wrap:balance;pointer-events:none}
.aceptar-terminos{padding:14px;margin:14px 0;border:1px solid #eddee0;border-radius:8px;background:#fff6f6}
.aceptar-terminos a.enlace-legal:not([hidden]){display:block}
.aceptar-terminos p{margin:6px 0 0;font-size:.9rem}
#aceptar-terminos[aria-pressed="true"]{background:#7d1830}
