:root {
  --fondo-entorno: #e6ebe6;
  --fondo-hoja: #fdfefe;
  --fondo-ui: rgba(0, 0, 0, 0.03);

  --texto: #2e2e2e;
  --control: #6b5e4a;
}

/* ===============================
   ENTORNO
================================ */

body {
  margin: 0;
  font-family: "Nunito", sans-serif;
  background: var(--fondo-entorno);
  color: var(--texto);
}

/* ===============================
   ESCENA (CONTENEDOR GENERAL)
================================ */

.escena {
  width: 100%;
  max-width: 700px;

  margin: clamp(16px, 5vh, 64px) auto;

  display: flex;
  flex-direction: column;

  min-height: 85vh; /* CLAVE */
}

/* ===============================
   CABECERA EDITORIAL
================================ */

.cabecera-escena {
  text-align: center;
  padding: clamp(14px, 3vh, 24px);

  background: #f2f4f0;
  border-radius: 14px 14px 0 0;
}

.cabecera-escena h1 {
  margin: 0;
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #5a564f;
}

/* ===============================
   HOJA NARRATIVA
================================ */

.hoja {
  background: var(--fondo-hoja);

  display: flex;
  flex-direction: column;
  justify-content: center; /* AIRE VERTICAL */

  gap: clamp(20px, 3vw, 32px);

  padding-top: clamp(40px, 8vh, 80px);
  padding-bottom: clamp(40px, 8vh, 80px);
  padding-left: clamp(20px, 3vw, 32px);
  padding-right: clamp(20px, 3vw, 32px);

  flex-grow: 1; /* CLAVE */
}

/* ===============================
   IMAGEN
================================ */

.hoja img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* ===============================
   TEXTO
================================ */

.texto {
  font-size: clamp(18px, 2.2vw, 19px);
  line-height: 1.7;
  color: #3a3a3a;
}

.texto p {
  margin: 0;
}

/* ===============================
   PIE DE ESCENA
================================ */

.pie-escena {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;

  padding: clamp(14px, 3vh, 22px);

  background: var(--fondo-ui);
  border-radius: 0 0 14px 14px;
}

.ctrl {
  font-size: 22px;
  text-decoration: none;
  color: var(--control);
  line-height: 1;
  transition: opacity 0.2s ease;
}

.ctrl:hover {
  opacity: 0.6;
}

.ctrl.home {
  font-size: 18px;
}
