:root {
  color-scheme:light;
  --magenta:#a70d49;
  --magenta-dark:#7e0937;
  --green:#176a39;
  --cream:#fff8ef;
  --ink:#2a2724;
  --muted:#625c56;
  --line:#dfcfba;
  --danger:#a52a2a;
  --danger-bg:#fff0f0;
}

*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{min-width:0;min-height:100dvh;margin:0;background:var(--cream);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
main{width:100%;min-height:100svh;margin:0 auto;overflow:hidden;background:var(--cream)}
.hero{height:clamp(176px,58vw,300px);background:var(--cream) url('./assets/mega-movil.png') center 18% / cover no-repeat}
.content{display:flex;flex-direction:column;min-width:0;padding:26px 20px calc(28px + env(safe-area-inset-bottom));background:#fff}
.content>*{min-width:0}
.eyebrow{margin:0 0 9px;color:var(--magenta);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
h1{margin:0;color:var(--magenta);font-size:clamp(2rem,10vw,2.75rem);letter-spacing:-.06em;line-height:.98}
.lead{margin:18px 0 0;color:#443f3a;font-size:1rem;font-weight:550;line-height:1.62;overflow-wrap:anywhere}
.mayor{display:none}
.access{width:100%;margin-top:24px;border-radius:16px;padding:17px;background:var(--cream)}
.access h2{margin:0;color:var(--magenta);font-size:1rem;letter-spacing:-.025em}
.access-intro{margin:4px 0 14px;color:var(--muted);font-size:.78rem;line-height:1.35}
.access-fields,.register-grid{display:grid;gap:10px}
.access label{display:grid;gap:5px;color:var(--muted);font-size:.67rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.access input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:0 13px;background:#fff;color:var(--ink);font:inherit;font-size:.92rem;outline:0}
.access input:focus{border-color:var(--magenta);box-shadow:0 0 0 3px rgba(167,13,73,.12)}
.enter{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;margin-top:15px;border:0;border-radius:13px;background:var(--magenta);box-shadow:0 4px 0 var(--magenta-dark);color:#fff;font:inherit;font-size:1rem;font-weight:850;cursor:pointer}
.enter:hover{background:var(--magenta-dark)}
.enter:active{transform:translateY(2px);box-shadow:0 2px 0 var(--magenta-dark)}
.enter:focus-visible,.text-link:focus-visible{outline:3px solid #e6a916;outline-offset:3px}
.access-note,.demo,.legal,.alerta{margin:12px 0 0;color:#7c746c;font-size:.7rem;line-height:1.45;text-align:center}
.text-link{color:var(--magenta);font-weight:850;text-underline-offset:3px}
.error,.alerta{border-left:4px solid var(--danger);border-radius:9px;padding:10px 12px;background:var(--danger-bg);color:var(--danger);text-align:left}
.demo code{border-radius:5px;padding:2px 5px;background:#fff;color:#4d4540}

@media(min-width:700px) and (max-width:899px){
  body{display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f1e4d1,#fff8ef)}
  main{width:min(100%,680px);min-height:0;border-radius:28px;box-shadow:0 22px 60px rgba(83,46,28,.24)}
  .hero{height:clamp(240px,38vw,320px)}
  .content{padding:32px}
}

@media(min-width:900px){
  body{display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f1e4d1,#fff8ef)}
  main{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(450px,1.1fr);width:min(1120px,100%);min-height:min(760px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);border-radius:28px;box-shadow:0 22px 60px rgba(83,46,28,.24)}
  .hero{height:auto;min-height:0;background-size:cover;background-position:center top}
  .content{justify-content:center;overflow-y:auto;padding:clamp(32px,4vw,54px)}
  .register-grid{grid-template-columns:1fr 1fr}
  .register-grid label:last-child{grid-column:1/-1}
}

@media(max-width:480px){
  .hero{height:clamp(155px,49vw,205px)}
  .content{padding:22px 15px calc(24px + env(safe-area-inset-bottom))}
  .access{margin-top:20px;padding:15px;border-radius:14px}
  h1{font-size:clamp(1.85rem,10vw,2.35rem)}
  .lead{margin-top:13px;font-size:.93rem;line-height:1.5}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}
