@media (max-width: 1023px) {
  .hero-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .hero-badge { justify-self: start; margin-bottom: 1.5rem; }
  .hero-main { max-width: 100%; }
}

@media (max-width: 768px) {
  nav { padding: 1rem 4%; }
  .nav-links {
    display: none;
    position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; gap: 0;
    background: rgba(11,22,40,0.97);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
    padding: 0.5rem 0;
  }
  .nav-links.open { display: flex; }
  .nav-links a {
    display: block;
    padding: 0.8rem 5%;
    border-bottom: 1px solid var(--border);
  }
  .nav-toggle { display: flex; }
  .nav-contacto { position: static; }
  .contacto-submenu {
    position: static;
    transform: none;
    background: transparent;
    backdrop-filter: none;
    border: none;
    border-radius: 0;
    padding: 0;
    min-width: auto;
    display: none;
  }
  .nav-contacto:hover .contacto-submenu { display: none; }
  .contacto-submenu.open { display: block; }
  .contacto-submenu li a {
    padding: 0.6rem 5% 0.6rem 10%;
    font-size: 0.82rem;
    border-bottom: 1px solid var(--border);
  }
  .contacto-trigger .arrow { display: none; }
  .contacto-trigger::after { content: ' ▾'; font-size: 0.7rem; }

  #nosotros { grid-template-columns: 1fr; gap: 3rem; }
  .hero-stats { gap: 1.5rem; flex-wrap: wrap; }
  footer { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 768px) {
  [data-theme="light"] .nav-links {
    background: rgba(255,255,255,0.97);
  }
}

@media (max-width: 480px) {
  .services-grid { grid-template-columns: 1fr; }
  .hero-ctас { flex-direction: column; }
  .btn-primary, .btn-secondary, .btn-teal { text-align: center; }
  .years-badge { position: static; margin-bottom: 1rem; }
}
