/* Header compacto: icono a la izquierda, leyendas a la derecha.
   El padding horizontal iguala el del cuerpo del calendario (.calendar-mid)
   para que el logo quede alineado con el borde izquierdo de los inputs. */
.hero {
  width: min(100%, 390px);
  margin: 0 auto;
  /* Izquierda al 8.8% para alinear el logo con el borde visible del
     calendario (el marco blanco de los PNG empieza en ~8.8% del ancho).
     Deja espacio para que el título quepa en una sola línea. */
  padding: 26px 8px 12px 8.8%;

  display: grid;
  grid-template-columns: 72px 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: center;

  text-align: left;
}

.hero .logo {
  grid-column: 1;
  grid-row: 1 / span 2;

  width: 72px;
  height: 72px;
  margin: 0;
  justify-self: start;
}

.hero h1 {
  grid-column: 2;
  grid-row: 1;
  font-size: 1.55rem;
  line-height: 1.05;
  margin: 0;
}

.hero .subtitle {
  grid-column: 2;
  grid-row: 2;
  margin-top: 5px;
  font-size: 0.98rem;
  line-height: 1.2;
}

@media (max-width: 360px) {
  .hero {
    grid-template-columns: 68px 1fr;
    column-gap: 10px;
    padding-top: 22px;
  }

  .hero .logo {
    width: 62px;
    height: 62px;
  }

  .hero h1 {
    font-size: 1.34rem;
  }

  .hero .subtitle {
    font-size: 0.9rem;
  }
}
