@media (max-width: 640px) {
  .sidebar-inner {
    max-height: 8em;
    overflow: hidden;
  }

  .sidebar-toggle-input:checked ~ .sidebar-inner {
    max-height: none;
  }

  .sidebar-toggle {
    display: block;
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.4rem 0;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--highlight);
    font-family: "Space Grotesk", sans-serif;
    font-size: 0.85rem;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
  }

  .sidebar-toggle:hover {
    color: var(--black);
    background-color: var(--highlight);
  }

  .sidebar-toggle-collapse {
    display: none;
  }

  .sidebar-toggle-input:checked ~ .sidebar-toggle .sidebar-toggle-expand {
    display: none;
  }

  .sidebar-toggle-input:checked ~ .sidebar-toggle .sidebar-toggle-collapse {
    display: inline;
  }

  img:hover {
    transform: none;
  }

  body {
    flex-direction: column;
  }

  header {
    grid-template-columns: 1fr;
    text-align: center;
  }

  header h1 {
    width: max-content;
    margin: 0 auto;
    padding: 0;
  }

  header nav {
    justify-content: center;
  }

  body > nav {
    min-width: unset;
    width: 100%;
    border-bottom: 1px solid var(--border);
    border-right: none;
    border-left: none;
  }

  article {
    border-left: none;
    width: 100%;
  }

  .poem {
    font-size: clamp(1.35rem, 5.2vw, 1.75rem);
  }

  /* Ensure stacked mobile layout never inherits desktop divider line. */
  body > article,
  main > article {
    border-left: none;
  }
}
