/* =========================
   Responsive
   ========================= */
@media (max-width: 980px) {
  :root {
    --pad-x: var(--space-3);
    --section-gap: var(--space-12);
  }

  .portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .logo-grid__items {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  :root {
    --pad-x: var(--space-2);
    --section-gap: var(--space-10);
  }

  .site-header {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas:
      "eyebrow mark toggle"
      "nav nav nav";
    align-content: start;
    height: auto;
    min-height: var(--space-13);
    overflow: hidden;
    row-gap: 0;
  }

  .site-header__eyebrow {
    grid-area: eyebrow;
    min-width: 0;
    max-width: 16ch;
  }

  .site-header__mark {
    grid-area: mark;
    position: static;
    justify-self: center;
    transform: translateY(10px);
  }

  .site-header__toggle {
    grid-area: toggle;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    width: var(--space-6);
    height: var(--space-6);
    line-height: 0;
  }

  .site-header__nav {
    grid-area: nav;
    display: grid;
    justify-self: stretch;
    width: 100%;
    gap: 0;
    max-height: 0;
    padding-top: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(calc(var(--grid) * -1));
    transition:
      max-height 360ms cubic-bezier(0.22, 1, 0.36, 1),
      padding-top 360ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 220ms ease,
      transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .site-header__nav a {
    display: block;
    width: 100%;
    padding: var(--space-2) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .site-header.is-open .site-header__nav {
    max-height: var(--mobile-nav-height, 0px);
    padding-top: var(--space-2);
    opacity: 1;
    transform: translateY(0);
  }

  .page-home.menu-open .site-header {
    position: fixed;
  }

  .portfolio-grid {
    grid-template-columns: 1fr;
  }

  .logo-grid__items {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero,
  .media {
    height: 100svh;
    min-height: 100svh;
  }
}
