/* ==========================================
   TABLET: 768px - 1024px
   ========================================== */

@media (max-width: 1024px) {
    .services__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about__inner {
        gap: 40px;
    }

    .about__card {
        width: 320px;
        height: 270px;
    }

    .stats__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 20px;
    }

    .contact__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .footer__col:first-child {
        grid-column: 1 / -1;
    }

    .hero__title {
        font-size: 3.25rem;
    }
}

/* ==========================================
   MOBILE: < 768px
   ========================================== */

@media (max-width: 768px) {
    /* Header */
    .hamburger {
        display: flex;
    }

    .header__nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: var(--white);
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
        padding: 80px 32px 32px;
        transition: right var(--transition);
        z-index: 999;
    }

    .header__nav.open {
        right: 0;
    }

    .header__nav-list {
        flex-direction: column;
        gap: 0;
    }

    .header__nav-link {
        display: block;
        padding: 16px 0;
        font-size: 1rem;
        color: var(--secondary);
        border-bottom: 1px solid var(--gray-light);
    }

    .header__nav-link::after {
        display: none;
    }

    .header__nav-link:hover {
        color: var(--primary);
    }

    .header__cta {
        display: none;
    }

    /* Mobile nav overlay */
    .nav-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 998;
        opacity: 0;
        visibility: hidden;
        transition: all var(--transition);
    }

    .nav-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* Hero */
    .hero__content {
        padding: 100px 24px 60px;
    }

    .hero__title {
        font-size: 2.5rem;
    }

    .hero__subtitle {
        font-size: 1rem;
    }

    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .btn {
        text-align: center;
        justify-content: center;
    }

    /* Services */
    .services {
        padding: 60px 0;
    }

    .services__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .section-header {
        margin-bottom: 40px;
    }

    .section-title {
        font-size: 1.75rem;
    }

    /* About */
    .about {
        padding: 60px 0;
    }

    .about__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about__content .section-label,
    .about__content .section-title {
        text-align: center;
    }

    .about__text {
        text-align: center;
    }

    .about__features {
        align-items: center;
    }

    .about__card {
        width: 100%;
        max-width: 340px;
        height: 240px;
    }

    /* Stats */
    .stats {
        padding: 60px 0;
    }

    .stats__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px 16px;
    }

    .stat__number {
        font-size: 2.25rem;
    }

    /* Contact */
    .contact {
        padding: 60px 0;
    }

    .contact__form {
        padding: 28px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    /* Footer */
    .footer__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer__col:first-child {
        grid-column: auto;
    }

    .footer__bottom-inner {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
}

/* ==========================================
   SMALL MOBILE: < 480px
   ========================================== */

@media (max-width: 480px) {
    .container {
        padding: 0 16px;
    }

    .hero__title {
        font-size: 2rem;
    }

    .hero__label {
        font-size: 0.75rem;
    }

    .section-title {
        font-size: 1.5rem;
    }

    .about__card {
        height: 200px;
    }

    .about__card-name {
        font-size: 1.5rem;
        letter-spacing: 4px;
    }

    .stat__number {
        font-size: 2rem;
    }

    .contact__form {
        padding: 20px;
    }

    .contact__info-card {
        padding: 24px;
    }
}
