/* ==========================================================================
   DIAH — Responsive overrides
   Breakpoints: 1100px (tablet/laptop), 760px (mobile), 420px (small phones)
   ========================================================================== */

/* ---------- ≤1100px : tablet / small laptop ---------- */
@media (max-width: 1100px) {
  .main-nav { display: none; }
  .menu-toggle { display: flex; }

  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .tech-grid { grid-template-columns: repeat(3, 1fr); row-gap: var(--space-7); }
  .process-timeline { grid-template-columns: repeat(2, 1fr); row-gap: var(--space-8); }
  .process-timeline::before { display: none; }

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

  .consulting-layout,
  .about-layout { grid-template-columns: 1fr; gap: var(--space-7); }

  .footer-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
}

/* ---------- ≤760px : mobile ---------- */
@media (max-width: 760px) {
  :root { --header-h: 66px; }

  .container { padding-inline: 1.15rem; }
  .section { padding-block: var(--space-8); }

  .hero { min-height: auto; padding-bottom: var(--space-9); }
  .hero-cta { flex-direction: column; align-items: stretch; }
  .hero-cta .btn { width: 100%; }
  .hero-title-brand { letter-spacing: 0.35em; }
  .hero-caps { margin-top: var(--space-4); }

  .nav-cta { display: none; }

  .services-grid { grid-template-columns: 1fr; }
  .tech-grid { grid-template-columns: repeat(2, 1fr); }
  .process-timeline { grid-template-columns: 1fr; }

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

  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .contact-info { gap: var(--space-6); }

  .modal-panel { margin-top: 0; max-height: 100vh; height: 100vh; border-radius: 0; width: 100vw; }
  .modal-body { padding-inline: var(--space-5); }
  .mc-columns { grid-template-columns: 1fr; gap: var(--space-6); }
  .mc-cover.is-brand { aspect-ratio: 16/9; }

  .back-to-top { right: var(--space-4); bottom: var(--space-4); width: 42px; height: 42px; }

  .cursor-dot { display: none; }
}

/* ---------- ≤420px : small phones ---------- */
@media (max-width: 420px) {
  .tech-grid { grid-template-columns: 1fr 1fr; }
  .workshops-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .header-controls { gap: var(--space-2); }
  .lang-btn { padding: 0.28rem 0.42rem; }
}
