@font-face{font-family:"Fraunces";src:url("fonts/fraunces.woff2") format("woff2-variations"),url("fonts/fraunces.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/plus-jakarta-sans.woff2") format("woff2-variations"),url("fonts/plus-jakarta-sans.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  --fondo:#FFFFFF;
  --bruma:#F3F8EF;
  --bruma-2:#E7F1DF;
  --linea:#DDE8D5;
  --tinta:#0D2A1B;
  --texto:#3C4E44;
  --suave:#5E6F65;
  --verde:#035233;
  --verde-2:#0B6A43;
  --verde-hondo:#023A24;
  --hoja:#75A62A;
  --hoja-clara:#B7D77A;
  --alerta:#B4451B;
  --display:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --radio:22px;--radio-s:12px;
  --sombra:0 30px 70px -34px rgba(3,82,51,.34),0 10px 24px -16px rgba(13,42,27,.22);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;color:var(--texto);font-family:var(--sans);font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(900px 520px at 88% -8%, var(--bruma-2) 0%, transparent 62%),
    radial-gradient(760px 480px at -6% 104%, var(--bruma) 0%, transparent 60%),
    var(--fondo);
}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{margin:0;color:var(--tinta);text-wrap:balance}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--hoja);outline-offset:3px;border-radius:7px}

.hoja{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;max-width:1120px;margin-inline:auto;padding:0 clamp(16px,4vw,40px)}

/* ---------- cabecera ---------- */
.alto{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0 14px}
.marca{display:flex;align-items:center;gap:12px}
.marca img{height:54px;width:auto}
.de{font-size:12px;color:var(--suave);text-align:right;line-height:1.45}
.de strong{display:block;color:var(--tinta);font-size:15px;font-weight:700}

/* ---------- centro ---------- */
.centro{display:grid;grid-template-columns:1fr minmax(360px,420px);gap:clamp(26px,5vw,60px);align-items:center;padding:clamp(8px,1.6vh,22px) 0}

.antetitulo{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--verde)}
.antetitulo::before{content:"";width:22px;height:3px;border-radius:3px;background:var(--hoja)}
h1{font-family:var(--display);font-variation-settings:"SOFT" 100,"WONK" 0;font-weight:600;font-size:clamp(30px,4vw,46px);line-height:1.07;letter-spacing:-.022em;margin-top:15px}
.entradilla{margin-top:16px;font-size:clamp(16px,1.3vw,18px);color:var(--texto);max-width:46ch}
.entradilla b{color:var(--tinta)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(20px,3vh,30px);max-width:520px}
.dos li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--suave);line-height:1.45}
.dos svg{flex:0 0 18px;width:18px;height:18px;color:var(--hoja);margin-top:2px}

/* ---------- tarjeta de acceso ---------- */
.acceso{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra);padding:clamp(22px,3vw,30px)}
.acceso h2{font-family:var(--display);font-weight:600;font-size:23px;letter-spacing:-.015em}
.acceso .sub{font-size:13.5px;color:var(--suave);margin-top:6px}
label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--suave);margin:18px 0 6px}
input{
  width:100%;font-family:inherit;font-size:16px;color:var(--tinta);background:#FCFDFB;
  border:1.5px solid var(--linea);border-radius:var(--radio-s);padding:13px 14px;
}
input:focus{border-color:var(--hoja);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(117,166,42,.18)}
.clave-caja{position:relative}
.ojo{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;padding:8px;color:var(--suave);font-size:12px;font-weight:700;font-family:inherit}
.boton{
  display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:20px;
  font-family:inherit;font-size:16px;font-weight:700;color:#fff;cursor:pointer;
  background:var(--verde);border:0;border-radius:999px;padding:15px 20px;
  transition:background .18s ease, transform .18s ease;
}
.boton:hover{background:var(--verde-2);transform:translateY(-1px)}
.boton.secundario{background:#fff;color:var(--verde);border:1.5px solid var(--linea);margin-top:10px}
.boton.secundario:hover{background:var(--bruma);border-color:var(--hoja-clara)}
.bajo-form{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 14px;margin-top:16px;font-size:13.5px}
.bajo-form button{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--verde);font-weight:700;border-bottom:1px solid var(--hoja-clara)}
.candado{display:flex;gap:9px;align-items:flex-start;margin-top:18px;padding-top:16px;border-top:1px solid var(--linea);font-size:12.5px;color:var(--suave);line-height:1.5}
.candado svg{flex:0 0 16px;width:16px;height:16px;color:var(--verde);margin-top:2px}
.reglas{margin-top:10px;font-size:12.5px;color:var(--suave);line-height:1.55}
.reglas b{color:var(--tinta)}
.aviso{margin-top:16px;background:var(--bruma);border:1px solid var(--linea);border-radius:var(--radio-s);padding:14px 15px;font-size:13.5px;color:var(--texto);line-height:1.55}
.aviso strong{color:var(--tinta)}
[hidden]{display:none!important}

/* ---------- pie ---------- */
.bajo{border-top:1px solid var(--linea);padding:14px 0 20px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;font-size:12.5px;color:var(--suave)}
.bajo nav{display:flex;flex-wrap:wrap;gap:16px}
.bajo nav a{text-decoration:none;border-bottom:1px solid transparent}
.bajo nav a:hover{border-bottom-color:var(--suave)}

@media (max-width:920px){
  .centro{grid-template-columns:1fr;gap:26px;align-items:start}
  .centro .acceso{order:-1}
  .dos{grid-template-columns:1fr}
}
@media (max-width:560px){
  .hoja{padding-inline:16px}
  .alto{padding:16px 0 10px}
}
.boton svg{width:17px;height:17px}
.candado.seguido{border-top:0;padding-top:0;margin-top:10px}

/* aviso de la pantalla de acceso (sesión caducada, credenciales erróneas) */
.aviso-acceso{
  margin-top:14px;padding:11px 13px;border-radius:12px;font-size:13.5px;line-height:1.5;
  background:var(--bruma);border:1px solid var(--linea);color:var(--texto);
}
.aviso-acceso.malo{background:#FBEDE8;border-color:#E8C7BA;color:#8A3414}
input[readonly]{background:var(--bruma);color:var(--suave);cursor:default}
