/* El cruce · Madrid a pie. Portada basada en la de la Sala de calma (UPRAISE). */
html, body { margin: 0; padding: 0; height: 100%; background: #0b0d14; overflow: hidden; }
#unity-container { position: fixed; inset: 0; }
#unity-canvas { width: 100%; height: 100%; display: block; background: #0b0d14; outline: none; }
#barra { position: fixed; right: 12px; bottom: 12px; display: flex; gap: 8px; z-index: 5;
  font: 600 14px system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
#barra a, #barra button { background: rgba(11, 13, 20, .72); color: #e9e9ee; border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px; padding: 8px 12px; text-decoration: none; cursor: pointer; font: inherit; }
#barra #entervr { background: #edb87a; color: #22333a; border: 0; }
#barra [hidden] { display: none; }
.portada-kicker { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .12em; color: #b0653a; }

#portada {
  position: fixed; inset: 0; z-index: 10;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px;
  padding: 24px 20px;
  background: radial-gradient(circle at 50% 30%, #fbf3e6 0%, #efe2ce 70%, #e6d7c0 100%);
  color: #22333a;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  overflow-y: auto;
  opacity: 1; transition: opacity .6s ease;
}
#portada.portada-oculta { opacity: 0; pointer-events: none; }

#portada-tarjeta {
  max-width: 660px; width: 100%;
  background: rgba(255, 253, 249, .82);
  border: 1px solid rgba(34, 51, 58, .10);
  border-radius: 18px;
  padding: 32px 34px 26px;
  box-shadow: 0 12px 40px rgba(34, 51, 58, .10);
  text-align: center;
}
/* El logotipo de UPRAISE es en negativo: va sobre una banda oscura */
#portada-logo-marco {
  display: inline-flex; align-items: center; justify-content: center;
  background: #22333a; border-radius: 12px; padding: 12px 22px; margin-bottom: 20px;
}
#portada-logo { height: 40px; width: auto; display: block; }
#portada-logo-texto { font-weight: 700; letter-spacing: .22em; font-size: 22px; color: #faf5eb; }

#portada h1 { margin: 0; font-size: 42px; font-weight: 600; letter-spacing: .01em; }
.portada-lema { margin: 6px 0 18px; font-size: 18px; color: #5b6b70; }
.portada-texto { margin: 0 0 14px; font-size: 17px; line-height: 1.55; text-align: left; }
.portada-texto strong { font-weight: 600; }
.portada-como { margin: 0 0 24px; font-size: 15px; line-height: 1.5; color: #5b6b70; text-align: left; }

#portada-botones { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
#portada-botones button {
  font: 600 18px/1 system-ui, sans-serif;
  padding: 16px 30px; min-height: 52px;
  border: 0; border-radius: 10px; cursor: pointer;
  transition: background-color .2s ease, transform .1s ease;
}
#portada-entrar { background: #22333a; color: #faf5eb; }
#portada-entrar:hover:enabled { background: #2d454f; }
#portada-entrar:disabled { background: #cfc5b6; color: #7c7468; cursor: progress; }
#portada-vr { background: #edb87a; color: #22333a; }
#portada-vr:hover { background: #f2c78f; }
#portada-botones button:active:enabled { transform: translateY(1px); }
#portada-botones button:focus-visible { outline: 3px solid #35586b; outline-offset: 3px; }

#portada-progreso { height: 4px; margin-top: 18px; border-radius: 2px; background: rgba(34, 51, 58, .12); overflow: hidden; }
#portada-progreso-relleno { width: 0; height: 100%; background: #35586b; transition: width .2s ease; }

#portada-pie {
  max-width: 660px; width: 100%;
  background: #22333a; color: #d7dfe1;
  border-radius: 14px; padding: 16px 22px;
  font-size: 13px; line-height: 1.5; text-align: center;
}
#portada-pie p { margin: 0 0 4px; }
#portada-pie strong { color: #f3ece0; font-weight: 600; }
#portada-pie a { color: #edb87a; }
#portada-pie-marcas { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 22px; margin-bottom: 12px; }
.portada-marca { height: 42px; width: auto; }
.portada-marca-clara { height: 34px; background: #fff; border-radius: 4px; padding: 5px 8px; }
.portada-marca-ue { height: 34px; }   /* versión en negativo: ya es blanca sobre fondo oscuro */
.portada-financiacion { color: #9fb0b4; font-size: 11.5px; }

@media (max-width: 520px) {
  #portada-tarjeta { padding: 24px 20px 20px; }
  #portada h1 { font-size: 32px; }
  .portada-texto { font-size: 16px; }
  #portada-botones button { width: 100%; }
}

/* Centrado «seguro»: si la portada no cabe, se puede desplazar sin que se corte por arriba. */
#portada { justify-content: flex-start; }
#portada-tarjeta { margin-top: auto; }
#portada-pie { margin-bottom: auto; }
@media (max-height: 820px) {
  #portada { gap: 14px; padding-top: 14px; padding-bottom: 14px; }
  #portada-tarjeta { padding: 20px 28px 18px; }
  #portada-logo-marco { padding: 8px 16px; margin-bottom: 12px; }
  #portada-logo { height: 30px; }
  #portada h1 { font-size: 34px; }
  .portada-lema { margin-bottom: 12px; }
  .portada-texto { font-size: 15.5px; line-height: 1.45; margin-bottom: 10px; }
  .portada-como { font-size: 14px; margin-bottom: 16px; }
  #portada-pie { padding: 12px 18px; }
  .portada-marca { height: 32px; }
  .portada-marca-ue, .portada-marca-clara { height: 28px; }
}
