/* Vue Media — responsive */

@media (max-width: 900px) {
  .sector { grid-template-columns: 1fr; gap: var(--space-6); }
  .sector:nth-child(even) .sector__media { order: 0; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .contact { grid-template-columns: 1fr; gap: var(--space-8); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .about { grid-template-columns: 1fr; gap: var(--space-8); }
  .testimonials-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .section { padding-block: var(--space-16); }

  .nav-toggle { display: inline-block; }
  .lang-btn--desktop { display: none; }
  .lang-btn--mobile { display: inline-flex; }
  .nav-links {
    position: fixed; inset: 0 0 0 auto; width: min(78vw, 320px);
    flex-direction: column; align-items: flex-start; justify-content: flex-start;
    gap: var(--space-6); padding: var(--space-16) var(--space-8);
    background: var(--color-bg-raised); border-left: 1px solid var(--color-line);
    transform: translateX(100%); transition: transform var(--dur) var(--ease);
    box-shadow: -20px 0 60px rgba(0, 0, 0, 0.4);
  }
  .nav-links.is-open { transform: translateX(0); }

  .form__row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: var(--space-2); text-align: center; }
  .portfolio-gallery img { height: 280px; width: auto; }
  .faq-item__q { font-size: 0.95rem; }
}

@media (max-width: 540px) {
  .services-grid { grid-template-columns: 1fr; }
  .hero { min-height: 92svh; }
  .portfolio-gallery img { height: 230px; width: auto; }
}
