@media (min-width: 901px) {
  header {
    padding-inline: max(5%, calc((100vw - 1180px) / 2));
  }

  .hero {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: clamp(48px, 6vw, 90px);
  }

  .section-heading {
    align-items: flex-end;
  }

  .menu-grid {
    align-items: stretch;
  }

  .menu-grid > .menu-panel:not(.four-hands) {
    display: flex;
    min-height: 310px;
    flex-direction: column;
  }

  .menu-grid > .menu-panel:not(.four-hands) .prices {
    margin-top: auto;
  }

  .staff-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 24px;
  }

  .owner-card {
    grid-column: 1 / -1;
  }

  .staff-card:not(.owner-card) {
    display: flex;
    grid-column: span 2;
    flex-direction: column;
  }

  .staff-card:not(.owner-card):nth-last-child(-n + 2) {
    grid-column: span 3;
  }

  .staff-card:not(.owner-card) > a:first-child img {
    aspect-ratio: 1;
    object-fit: cover;
  }

  .staff-card:not(.owner-card) .staff-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
  }

  .staff-card:not(.owner-card) .staff-more {
    margin-top: auto;
    padding-top: 18px;
  }

  .instagram-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .instagram-grid > a {
    grid-column: span 3;
    min-height: 150px;
  }

  .instagram-grid > a:nth-last-child(-n + 3) {
    grid-column: span 4;
  }

  .review-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .review-card {
    grid-column: span 2;
    min-height: 300px;
  }

  .review-card:nth-last-child(-n + 2) {
    grid-column: span 3;
  }

  .guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .cancellation-card {
    grid-row: auto;
  }

  .terms-card {
    grid-column: 1 / -1;
  }

  .access {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    align-items: start;
  }

  .parking-guide,
  .google-map {
    grid-column: 1 / -1;
  }
}
