/* Responsive adjustments */
@media (max-width: 992px) { /* Tablets and smaller desktops */
    .main-header .container {
        flex-wrap: wrap;
    }
    .main-nav .nav-list {
        flex-direction: column;
        width: 100%;
        display: none; /* Hidden by default on small screens */
        padding: var(--spacing-md) 0;
    }
    .main-nav .nav-list.active {
        display: flex; /* Show when active */
    }
    .main-nav .nav-list li {
        width: 100%;
        text-align: center;
        margin-bottom: var(--spacing-xs);
    }
    .main-nav .nav-list li:last-child {
        margin-bottom: 0;
    }
    .main-nav .nav-list li a {
        padding: 10px 0;
    }
    .menu-toggle {
        display: block; /* Show hamburger menu */
    }
    .main-nav .dropdown-menu {
        position: static; /* Remove absolute positioning */
        box-shadow: none;
        border-top: none;
        padding: 0;
        min-width: unset;
        width: 100%;
        background-color: var(--color-light-gray); /* Lighter background for dropdown in mobile */
    }
    .main-nav .dropdown-menu li a {
        padding-left: var(--spacing-xl); /* Indent dropdown items */
    }
    .main-nav .has-dropdown > a i {
        display: none; /* Hide caret on mobile menu */
    }

    .hero-title {
        font-size: 40px;
    }
    .hero-subtitle {
        font-size: 20px;
    }
    .service-cards-grid,
    .differentiators-grid,
    .footer-grid {
        grid-template-columns: 1fr; /* Stack columns on small screens */
    }
    .footer-col {
        text-align: center;
    }
    .footer-col ul {
        padding: 0;
        display: inline-block; /* Center list items if not full width */
        text-align: left;
    }
    .footer-col p {
        justify-content: center; /* Center icons and text */
    }
    .social-links {
        justify-content: center;
    }
    .footer-bottom {
        flex-direction: column-reverse; /* Put legal links above copyright on mobile */
    }
}

@media (max-width: 768px) { /* Smaller tablets and phones */
    .hero-section {
        min-height: 400px;
    }
    .hero-title {
        font-size: 32px;
    }
    .hero-subtitle {
        font-size: 18px;
    }
    .section-title {
        font-size: 30px;
    }
}

@media (max-width: 480px) { /* Extra small phones */
    .hero-title {
        font-size: 28px;
    }
    .hero-subtitle {
        font-size: 16px;
    }
    .btn {
        padding: 10px 20px;
        font-size: 16px;
    }
    .btn-large {
        padding: 12px 25px;
        font-size: 18px;
    }
}