@media (max-width: 1024px) {
    .grid-cards { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .values-grid { grid-template-columns: repeat(2, 1fr); }
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .hero-overlay h2 { font-size: 28px; }
}

@media (max-width: 768px) {
    h1 { font-size: 30px; }
    h2 { font-size: 25px; }
    h3 { font-size: 20px; }
    .section { padding: 40px 0; }
    
    .nav {
        display: none;
        position: absolute;
        top: 80px;
        left: 0;
        right: 0;
        background: var(--primary);
        flex-direction: column;
        padding: 20px;
        gap: 15px;
        border-top: 1px solid rgba(255,255,255,0.1);
    }
    .nav.active { display: flex; }
    .mobile-menu-btn { display: block; }
    .btn-call { display: none; }
    .mobile-cta { display: block; }
    
    .hero-overlay {
        flex-direction: column;
        text-align: center;
    }
    .hero-overlay h2 { font-size: 24px; }
    
    .about .container,
    .experience .container,
    .contact-grid,
    .service-item,
    .service-item:nth-child(even) {
        grid-template-columns: 1fr;
        direction: ltr;
        gap: 30px;
    }
    
    .digital-content {
        max-width: 100%;
        padding: 40px;
    }
    
    .grid-cards,
    .footer-grid,
    .values-grid,
    .team-grid {
        grid-template-columns: 1fr;
    }
    
    .exp-content { padding: 40px; }
    
    .cta-content {
        flex-direction: column;
        text-align: center;
    }
    .cta-content p { font-size: 18px; }
    
    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 15px;
    }
    
    .service-image { height: 250px; }
    
    .page-header { padding: 40px 0; }
    .page-header h1 { font-size: 32px; }
}

@media (min-width: 1280px) {
    .about, .experience, .testimonials, .digital-printing, .cta {
        background-attachment: fixed;
    }
}