/* ========================================
   Responsive Styles
======================================== */

/* Extra Large Devices (Large Desktops, 1400px and up) */
@media (max-width: 1400px) {
    .hero-title {
        font-size: 46px;
    }

    .section-title {
        font-size: 36px;
    }
}

/* Large Devices (Desktops, 1200px and up) */
@media (max-width: 1199.98px) {
    .hero-title {
        font-size: 42px;
    }

    .section-title {
        font-size: 32px;
    }

    .cta-title {
        font-size: 30px;
    }
}

/* Medium Devices (Tablets, 992px and up) */
@media (max-width: 991.98px) {
    .hero-section {
        padding: 40px 0;
    }

    .hero-section .row {
        min-height: auto !important;
    }

    .hero-title {
        font-size: 36px;
    }

    .section-title {
        font-size: 28px;
    }

    .about-section,
    .services-section,
    .why-choose-section,
    .cta-section {
        padding: 60px 0;
    }

    .nav-link {
        padding: 10px 0 !important;
    }

    .navbar-collapse {
        padding: 20px 0;
    }

    .navbar-collapse .btn-primary-custom {
        margin-top: 15px;
        display: inline-block;
    }

    .process-section {
        padding: 60px 0;
    }

    .page-hero-section {
        padding: 60px 0;
    }

    .services-about-section,
    .services-grid-section {
        padding: 60px 0;
    }
}

/* Small Devices (Landscape Phones, 768px and up) */
@media (max-width: 767.98px) {
    .hero-title {
        font-size: 32px;
    }

    .section-title {
        font-size: 26px;
    }

    .cta-title {
        font-size: 24px;
    }

    .experience-number {
        font-size: 36px;
    }

    .service-number {
        font-size: 36px;
    }

    .cta-form .form-control {
        max-width: 100%;
    }

    .footer-section {
        padding: 60px 0 30px;
    }

    .page-hero-section .hero-title {
        font-size: 36px;
    }

    .step-image img {
        height: 180px;
    }

    .experience-badge .experience-number {
        font-size: 28px;
    }

    .service-number-alt {
        font-size: 28px;
    }
}

/* Extra Small Devices (Portrait Phones, 576px and up) */
@media (max-width: 575.98px) {
    .hero-title {
        font-size: 28px;
    }

    .section-title {
        font-size: 24px;
    }

    .cta-title {
        font-size: 22px;
    }

    .hero-description {
        font-size: 16px;
    }

    .btn-primary-custom,
    .btn-outline-custom,
    .btn-white-custom,
    .btn-outline-white {
        padding: 10px 20px;
        font-size: 14px;
    }

    .service-card {
        padding: 20px;
    }

    .cta-box {
        padding: 30px 20px !important;
    }

    .step-number {
        font-size: 24px;
    }

    .step-title {
        font-size: 16px;
    }

    .page-hero-section .hero-title {
        font-size: 32px;
    }
}
