/* C-001: estilos exclusivos de la entrada pública. */
.portada { background: #f8fafc; color: var(--ui-cabecera); }
.portada .portada-cabecera { background: #fff; border-bottom: 1px solid var(--ui-borde); padding: 18px clamp(20px, 5vw, 80px); }
.portada .portada-cabecera__interior { max-width: 1240px; margin: auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px 40px; }
.portada .portada-marca h1 { margin: 0; font-size: 26px; line-height: 1.2; letter-spacing: .08em; }
.portada .portada-marca p { margin: 4px 0 0; font-size: 13px; color: var(--ui-secundario); }
.portada .portada-acceso { display: grid; grid-template-columns: minmax(0, 180px) minmax(0, 180px) auto; align-items: start; gap: 6px 12px; max-width: 100%; margin: 0; }
.portada .portada-acceso__campo { min-width: 0; }
.portada .portada-acceso label { display: block; margin-bottom: 4px; font-size: 12px; color: var(--ui-secundario); }
.portada .portada-acceso input:not([type="hidden"]) { width: 100%; min-width: 0; min-height: 40px; padding: 7px 10px; }
.portada .portada-acceso button { margin-top: 22px; min-height: 40px; padding: 7px 18px; }
.portada .portada-acceso > .errorlist { grid-column: 1 / -1; }
.portada .errorlist { margin: 0 0 6px; padding-left: 18px; font-size: 13px; overflow-wrap: anywhere; }
.portada .portada-contenido { max-width: 1240px; margin: auto; padding: 52px clamp(24px, 5vw, 72px) 96px; }
.portada .portada-modulo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 6vw, 88px); }
.portada .portada-modulo + .portada-modulo { margin-top: 88px; }
.portada .portada-texto { min-width: 0; }
.portada .portada-texto h2 { margin: 0 0 20px; font-size: clamp(28px, 3vw, 42px); font-weight: 700; line-height: 1.16; letter-spacing: -.025em; text-wrap: balance; }
.portada .portada-texto p { margin: 0; max-width: 35ch; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.65; color: var(--ui-secundario); }
.portada .portada-modulo img { display: block; width: 100%; max-width: 520px; height: auto; justify-self: center; }
.portada .portada-modulo--inverso .portada-texto { grid-column: 2; grid-row: 1; }
.portada .portada-modulo--inverso img { grid-column: 1; grid-row: 1; }
@media (max-width: 700px) {
    .portada .portada-cabecera__interior { gap: 18px; }
    .portada .portada-acceso { width: 100%; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .portada .portada-acceso button { grid-column: 1 / -1; justify-self: end; margin-top: 4px; }
    .portada .portada-contenido { padding: 48px 24px 64px; }
    .portada .portada-modulo { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .portada .portada-modulo + .portada-modulo { margin-top: 64px; }
    .portada .portada-modulo--inverso .portada-texto,
    .portada .portada-modulo--inverso img { grid-column: auto; grid-row: auto; }
    .portada .portada-texto h2 { margin-bottom: 14px; }
    .portada .portada-modulo img { max-width: 420px; }
}
