/* Responsive Design - Mobile First Approach */

/* Tablet (768px and up) */
@media (max-width: 1024px) {
    :root {
        --font-size-4xl: 2rem;
        --font-size-3xl: 1.75rem;
        --font-size-2xl: 1.5rem;
    }
    
    .container {
        padding: 0 var(--space-3);
    }
    
    section {
        padding: var(--space-6) 0;
    }
    
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile (767px and below) */
@media (max-width: 767px) {
    :root {
        --font-size-4xl: 1.75rem;
        --font-size-3xl: 1.5rem;
        --font-size-2xl: 1.25rem;
        --space-8: 3rem;
        --space-6: 2rem;
    }
    
    .container {
        padding: 0 var(--space-2);
    }
    
    section {
        padding: var(--space-4) 0;
    }
    
    .grid-4,
    .grid-3,
    .grid-2 {
        grid-template-columns: 1fr;
    }
    
    h1 {
        font-size: var(--font-size-3xl);
    }
    
    h2 {
        font-size: var(--font-size-2xl);
    }
    
    .btn {
        width: 100%;
        padding: var(--space-2) var(--space-3);
    }
}

/* Large Desktop (1440px and up) */
@media (min-width: 1440px) {
    :root {
        --font-size-5xl: 3.5rem;
        --font-size-4xl: 2.5rem;
    }
    
    .container {
        max-width: 1280px;
    }
}

/* Print Styles */
@media print {
    nav,
    footer,
    .btn,
    form {
        display: none;
    }
    
    body {
        font-size: 12pt;
        color: #000;
    }
    
    a {
        text-decoration: underline;
    }
}
