/* Three people across on phones. The title stays in normal flow and reserves
   room below itself for the entire cast, including when its text wraps. */
@media (max-width: 700px) {
  .hero.art-refreshed {
    --mobile-cast-row: clamp(165px, 50vw, 230px);
    --mobile-cast-stage: calc(var(--mobile-cast-row) * 4 + 24px);
    min-height: 100svh;
    padding-bottom: calc(var(--mobile-cast-stage) + 76px);
  }

  .hero.art-refreshed #hero-company {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(0, 1fr));
    gap: 8px 0;
    align-items: end;
    left: 8px;
    right: 8px;
    bottom: 52px;
    width: auto;
    height: var(--mobile-cast-stage);
    min-height: 0;
    max-width: none;
    filter: none;
  }

  .hero.art-refreshed #hero-company .hero-company-row {
    display: contents;
  }

  .hero.art-refreshed #hero-company .hero-person {
    grid-column: span 2;
    position: static;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 100%;
    max-height: var(--mobile-cast-row);
    object-fit: contain;
    object-position: center bottom;
    filter: none;
  }

  .hero.art-refreshed #hero-company .hero-pet {
    position: static;
    grid-row: 4;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: 40%;
    object-fit: contain;
    object-position: center bottom;
    filter: none;
  }

  .hero.art-refreshed #hero-company .hero-pet.bungle {
    grid-column: 5;
  }

  .hero.art-refreshed #hero-company .hero-pet.toto {
    grid-column: 6;
  }
}

/* A text-only character detail uses the full dialog width. */
.charbook:not(:has(.charimage img)){grid-template-columns:1fr}
