@media (max-width: 960px) {
  .selector-grid,
  .resource-stats,
  .resource-category-grid,
  .resource-file-grid,
  .contact-card-grid,
  .resource-footer-grid {
    grid-template-columns: 1fr;
  }

  .resource-hero-actions {
    grid-auto-flow: row;
    justify-content: stretch;
  }
}

@media (max-width: 768px) {
  .page-topline {
    position: static;
  }

  .resource-nav {
    top: 0;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .resource-nav-links {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 1rem;
    right: 1rem;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 0.8rem;
    border-radius: 1rem;
    background: rgba(8, 12, 20, 0.98);
    border: 1px solid rgba(33, 150, 243, 0.18);
  }

  .resource-nav-links.is-open {
    display: flex;
  }

  .portal-intro-stage {
    width: min(100% - 1rem, 40rem);
  }

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

@media (max-width: 640px) {
  .shell-container {
    width: min(100% - 1rem, 100%);
  }

  .page-topline-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0.6rem 0;
  }

  .brand-banner {
    width: 100%;
    border-radius: 1.25rem;
  }

  .selector-card {
    min-height: 14rem;
  }

  .selector-card h3 {
    max-width: 11.5ch;
  }

  .portal-intro-mark img {
    width: 3.6rem;
    height: 3.6rem;
  }

  .resource-file-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .resource-file-row em {
    align-self: flex-start;
  }
}

@media (max-width: 420px) {
  .selector-card {
    min-height: 12.5rem;
  }
}
