/* =========================================================
   BLACKBOX — Responsive overrides (load last on every page)
   ========================================================= */

@media (max-width: 980px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .two-col, .contact-grid, .projects-row, .projects-intro-row { grid-template-columns: 1fr; gap: 36px; }
  .projects-left { max-width: none; }
  .projects-heading { font-size: 48px; line-height: 1.15; }
  .project-feature-num { font-size: 5rem; line-height: 1; }
  .service-intro-row { grid-template-columns: 1fr; gap: 20px; }
  .service-carousel { padding: 0 46px; }
  .service-carousel .carousel-arrow { width: 42px; height: 42px; font-size: 1rem; }
  .mission-grid { grid-template-columns: 1fr; gap: 34px; }
  .mission-item { border-left: none; padding-left: 0; border-top: 1px solid var(--c-line); padding-top: 24px; }
  .mission-item:first-child { border-top: none; padding-top: 0; }
  .service-row .row-inner, .service-row.reverse .row-inner { grid-template-columns: 1fr; }
  .service-row .row-inner .service-copy, .service-row .row-inner .media { order: 0; }
  .service-detail-row { grid-template-columns: 1fr; gap: 30px; }
  .project-row, .project-row.reverse { grid-template-columns: 1fr; }
  .project-row.reverse .project-media, .project-row.reverse .project-copy { order: 0; }
  .clients-grid { grid-template-columns: repeat(3, 1fr); }
  .vision { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 760px) {
  .site-header { width: calc(100% - 32px); top: 14px; height: 66px; padding: 0 18px; }
  .site-header.is-solid { top: 0; }
  .nav { position: fixed; top: 0; right: -100%; width: 80%; max-width: 340px; height: 100vh;
    background: var(--c-dark); flex-direction: column; padding: 100px 30px 30px; transition: right 0.3s ease; z-index: 99; }
  .nav.is-open { right: 0; }
  .nav-list { flex-direction: column; align-items: flex-start; gap: 22px; width: 100%; }
  .has-dropdown .dropdown { position: static; transform: none; opacity: 1; visibility: visible; display: none; margin-top: 10px; min-width: 100%; }
  .has-dropdown.is-open .dropdown { display: block; }
  .nav-toggle { display: flex; }
  .nav-cta { display: none; }
  .footer-top { grid-template-columns: 1fr; padding: 50px 24px; }
  .section { padding: 64px 0; }
  .contact-grid { padding: 50px 0; }
  .clients-grid { grid-template-columns: repeat(2, 1fr); }
  .journey-heading { font-size: 28px; }
  .journey-pin-wrapper { height: auto; }
  .journey-pin-inner { position: static; height: auto; overflow: visible; padding: 20px 0; }
  .journey-stage { grid-template-columns: 1fr; text-align: center; gap: 30px; }
  .journey-stage-left, .journey-stage-right { text-align: center; }
  .journey-stage-left p { margin-left: auto; margin-right: auto; }
  .journey-photo { margin: 0 auto; }
  .journey-line-col { display: none; }
  .journey-frame { margin: 0 auto; }
}
