/* Responsive Breakpoints */
@media (max-width: 991px) {
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .contact-grid { grid-template-columns: 1fr; }
    .mega-menu { display: none; }
    .has-mega-menu > a::after { content: none; }
}

@media (max-width: 767px) {
    .nav-menu { display: none; }
    .mobile-toggle { display: flex; }
    .btn-phone span { display: none; }
    
    .hero h1 { font-size: 2rem; }
    .hero p { font-size: 1rem; }
    
    .services-grid { grid-template-columns: 1fr; }
    .features-grid { grid-template-columns: 1fr; }
    .process-grid { grid-template-columns: 1fr; }
    .blog-grid { grid-template-columns: 1fr; }
    .references-grid { grid-template-columns: 1fr; }
    
    .footer-grid { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; text-align: center; }
    .footer-legal { flex-wrap: wrap; justify-content: center; }
    
    .form-row { grid-template-columns: 1fr; }
    .contact-grid { gap: 2rem; }
    
    .section-title { font-size: 1.5rem; }
    
    .fixed-cta { bottom: 1rem; right: 1rem; }
    .fixed-cta a span { display: none; }
    .fixed-cta a { width: 50px; height: 50px; border-radius: 50%; justify-content: center; padding: 0; }
    
    .service-hero h1 { font-size: 1.75rem; }
    .sub-services-grid { grid-template-columns: 1fr; }
    
    .page-404 h1 { font-size: 4rem; }
}

@media (min-width: 768px) and (max-width: 991px) {
    .hero h1 { font-size: 2.5rem; }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .features-grid { grid-template-columns: repeat(2, 1fr); }
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 992px) {
    .mobile-menu, .mobile-menu-overlay { display: none !important; }
}
