/* ==========================================================================
   STYLUS interior V1 — Responsive
   ========================================================================== */

@media (min-width: 992px) {
  .nav-desktop {
    display: block;
  }

  .site-header__bar {
    grid-template-columns: auto 1fr auto auto;
  }
}

@media (min-width: 1400px) {
  :root {
    --content-max: 86rem;
    --shell-pad: 5rem;
  }
}

@media (min-width: 1920px) {
  :root {
    --content-max: 92rem;
  }
}

/* Tablet landscape */
@media (max-width: 1024px) {
  .about-preview__layout {
    gap: 2rem;
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .site-footer__social {
    grid-column: 1 / -1;
  }
}

/* Tablet */
@media (max-width: 991.98px) {
  :root {
    --header-h: 4.75rem;
  }

  .brand__logo {
    height: 2.9rem;
  }

  .site-header__bar {
    grid-template-columns: 1fr auto;
  }

  .hero {
    height: 100svh;
    max-height: none;
  }

  .about-preview__copy .heading-lg {
    max-width: 14ch;
  }

  .process__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 2rem;
  }

  .process__list::before {
    display: none;
  }

  .process__step {
    align-items: flex-start;
    text-align: left;
  }

  .process__text {
    max-width: 22ch;
  }

  .project-feature__content {
    max-width: min(26rem, 58%);
  }

  .closing__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .closing__contact .heading-lg {
    max-width: 14ch;
  }

  .service-cell,
  .service-cell--img-end {
    grid-template-columns: 1fr;
    gap: 1.1rem;
  }

  .service-cell .media-shape,
  .service-cell--img-end .media-shape {
    order: 1;
    max-width: 13.5rem;
    aspect-ratio: 4 / 5;
  }

  .service-cell .service-cell__copy,
  .service-cell--img-end .service-cell__copy {
    order: 2;
  }

  .story-cell,
  .story-cell--img-end {
    grid-template-columns: 1fr;
    gap: 1.1rem;
  }

  .story-cell .media-shape,
  .story-cell--img-end .media-shape {
    order: 1;
    max-width: 13.5rem;
    aspect-ratio: 4 / 5;
  }

  .story-cell .story-cell__copy,
  .story-cell--img-end .story-cell__copy {
    order: 2;
  }

  .contact-split {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .contact-split__visual {
    min-height: 22rem;
  }

  .page-cta__aside {
    flex-direction: column;
    align-items: flex-start;
  }

  .project-article__layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .project-facts {
    grid-template-columns: 1fr 1fr;
    gap: 1.15rem 1.5rem;
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .site-footer__social {
    grid-column: 1 / -1;
  }
}

/* Stack about when the two-column proportion no longer holds */
@media (max-width: 860px) {
  .about-preview__layout {
    grid-template-columns: 1fr;
  }

  .about-preview__media {
    aspect-ratio: 16 / 10;
    max-width: 36rem;
  }
}

@media (max-width: 767.98px) {
  .process__list {
    grid-template-columns: 1fr 1fr;
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .service-cell,
  .service-cell--img-end {
    grid-template-columns: 1fr;
  }

  .service-cell .media-shape,
  .service-cell--img-end .media-shape {
    order: 1;
    max-width: 18rem;
    aspect-ratio: 4 / 5;
  }

  .service-cell .service-cell__copy,
  .service-cell--img-end .service-cell__copy {
    order: 2;
  }

  .story-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .story-cell,
  .story-cell--img-end {
    grid-template-columns: 1fr;
  }

  .story-cell .media-shape,
  .story-cell--img-end .media-shape {
    order: 1;
    max-width: 18rem;
    aspect-ratio: 4 / 5;
  }

  .story-cell .story-cell__copy,
  .story-cell--img-end .story-cell__copy {
    order: 2;
  }

  .project-feature {
    min-height: 28rem;
    margin-inline: 1rem;
    border-radius: 22px 28px 18px 24px;
  }

  .project-feature__overlay {
    background:
      linear-gradient(
        180deg,
        transparent 0%,
        rgba(15, 14, 12, 0.12) 38%,
        rgba(15, 14, 12, 0.78) 78%,
        rgba(15, 14, 12, 0.9) 100%
      );
  }

  .project-feature:hover .project-feature__overlay,
  .project-feature:focus-within .project-feature__overlay {
    background:
      linear-gradient(
        180deg,
        transparent 0%,
        rgba(15, 14, 12, 0.18) 36%,
        rgba(15, 14, 12, 0.82) 78%,
        rgba(15, 14, 12, 0.92) 100%
      );
  }

  .project-feature__content {
    max-width: none;
    justify-content: flex-end;
    min-height: 28rem;
    padding: 10rem 1.35rem 1.5rem;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .site-footer__bottom a {
    margin-left: 0;
    margin-right: 1rem;
  }

  .closing__philosophy {
    padding: 1.25rem;
  }

  .project-tabs {
    gap: 0.25rem 1.35rem;
  }

  .project-facts {
    grid-template-columns: 1fr 1fr;
  }

  .project-gallery__grid {
    --gallery-row: 200px;
  }
}

@media (max-width: 575.98px) {
  .process__list {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .process__step {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    padding: 1.15rem 0 1.15rem 0.15rem;
    border-bottom: 1px solid var(--color-line);
  }

  .process__step:last-child {
    border-bottom: 0;
  }

  .process__text {
    width: 100%;
    max-width: none;
  }

  .hero__content {
    max-width: 100%;
  }

  .service-cell .media-shape,
  .story-cell .media-shape {
    max-width: 100%;
  }

  .nav-mobile {
    width: 100%;
  }

  .project-facts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 389.98px) {
  .hero {
    min-height: 100svh;
  }

  .project-feature {
    min-height: 24rem;
    margin-inline: 0.75rem;
  }
}
