@media (max-width: 1024px) {
    .about-grid { grid-template-columns: 1fr; gap: var(--spacing-lg); }
    .about-image { max-width: 500px; margin: 0 auto; }
    .contacts-grid { grid-template-columns: 1fr; }
    .contact-map { order: -1; }
}

@media (max-width: 768px) {
    :root { --spacing-xl: 3rem; --spacing-lg: 2rem; --container-padding: 1rem; }
    
    .nav-toggle { display: flex; }
    
    .nav-menu {
        position: fixed; top: 70px; left: 0; right: 0;
        background: white; flex-direction: column;
        padding: 2rem; gap: 1rem;
        box-shadow: 0 10px 20px var(--color-shadow);
        transform: translateY(-150%); transition: transform var(--transition-normal);
        z-index: 999;
    }
    .nav-menu.active { transform: translateY(0); }
    .btn-phone { display: none; }
    
    .hero { min-height: auto; padding: 100px 0 60px; }
    .hero-info { flex-direction: column; gap: 1rem; }
    
    .about-stats { grid-template-columns: 1fr; gap: var(--spacing-sm); }
    .stat { display: flex; align-items: center; gap: 1rem; text-align: left; padding: 1rem; background: var(--color-bg-alt); border-radius: 8px; }
    .stat-number { font-size: 2rem; margin-bottom: 0; }
    
    .services-grid { grid-template-columns: 1fr; }
    .steps { grid-template-columns: 1fr; }
    .cta-buttons { flex-direction: column; }
    
    .footer-content { flex-direction: column; text-align: center; gap: var(--spacing-md); }
    .footer-links { flex-direction: row; justify-content: center; gap: 2rem; }
    .footer-bottom { flex-direction: column; gap: 1rem; text-align: center; }
}

@media (max-width: 480px) {
    html { font-size: 14px; }
    h1 { font-size: 2rem; }
    h2 { font-size: 1.8rem; }
    .hero-slogan { font-size: 1.2rem; }
    .section-title::after { width: 40px; }
    .service-card, .step { padding: 1.5rem; }
    .step-number { width: 40px; height: 40px; font-size: 1.2rem; }
    .faq-question { padding: 1rem; font-size: 0.95rem; }
    .faq-answer { padding: 0 1rem 1rem; font-size: 0.9rem; }
    .contact-phone { font-size: 1.2rem; }
    .fixed-btn { width: 50px; height: 50px; }
    .fixed-contacts { bottom: 15px; right: 15px; }
}

@media print {
    .header, .fixed-contacts, .cta-section { display: none; }
    body { color: black; background: white; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

@media (prefers-contrast: high) {
    :root { --color-text: #000; --color-border: #000; }
    .btn { border-width: 3px; }
}