/**
 * Responsive UI - All breakpoints
 * 1440px, 1366px, 1024px, 991px, 820px, 768px, 767px, 675px, 620px, 575px, 476px, 420px, 375px, 320px
 * First sections use padding-top >= 6rem so content clears fixed navbar.
 */

/* ========== 1440px ========== */
@media (max-width: 1440px) {
    .container { max-width: 1320px; padding-left: 24px; padding-right: 24px; }
    .hero-section { padding: 7rem 0 4.5rem; }
    .hero-section .display-3 { font-size: 2.75rem; }
    .section-title .display-6 { font-size: 2rem; }
    .company-left-col { padding: 2rem; }
    .company-card .p-4 { padding: 1.5rem !important; }
    .navbar-brand img { height: 58px; }
    .footer { padding: 60px 0 0; }
    .hero-blog { padding: 7rem 1.5rem 4.5rem; min-height: 320px; }
    .hero-blog-title { font-size: 2.25rem; }
    .explore-more-card-img-wrap { height: 165px; }
    .explore-more-card-body { padding: 1.25rem 1.5rem; }
}

/* ========== 1366px ========== */
@media (max-width: 1366px) {
    .container { max-width: 1240px; padding-left: 20px; padding-right: 20px; }
    .hero-section { padding: 6.5rem 0 4rem; }
    .hero-section .display-3 { font-size: 2.5rem; }
    .hero-section .lead { font-size: 1.1rem; }
    .company-left-col { padding: 1.75rem; }
    .logo-container { min-height: 90px; padding: 0.75rem; }
    .company-logo { max-height: 52px; }
    .info-badge { font-size: 0.8rem; padding: 0.4rem 0.85rem; }
    .service-tag { font-size: 0.78rem; padding: 0.35rem 0.85rem; }
    .navbar .nav-link { margin: 0 0.5rem; font-size: 0.95rem; }
    .navbar .btn { padding: 0.5rem 1.25rem; font-size: 0.9rem; }
    .footer-desc { font-size: 0.9rem; }
    .hero-blog { padding: 6.5rem 1.25rem 4rem; min-height: 300px; }
    .hero-blog-title { font-size: 2.1rem; }
    .blog-card-img { height: 200px; }
    .blog-card-featured .blog-card-img { min-height: 260px; }
    .explore-location-img-wrap { height: 200px; }
    .explore-location-title { font-size: 1rem; }
    .explore-detail-company .card-body { padding: 1.5rem 2rem !important; }
    .explore-more-card-img-wrap { height: 160px; }
    .wfu-benefit-card { padding: 1.25rem !important; }
    .wfu-cta-box { padding: 2rem 2.5rem !important; }
}

/* ========== 1024px ========== */
@media (max-width: 1024px) {
    .container { padding-left: 18px; padding-right: 18px; }
    .hero-section { padding: 6rem 0 3.5rem; }
    .hero-section .display-3 { font-size: 2.25rem; }
    .hero-section .d-flex.gap-3 { flex-wrap: wrap; gap: 0.75rem !important; justify-content: center; }
    .hero-section .btn-lg { padding: 0.65rem 1.5rem; font-size: 1rem; }
    .section-title .display-6 { font-size: 1.85rem; }
    .section-title .h3 { font-size: 1.65rem; }
    .companies-container .col-lg-10 { max-width: 100%; }
    .company-left-col { padding: 1.5rem; border-right: none; border-bottom: 1px solid rgba(0, 123, 255, 0.08); flex-direction: row; justify-content: center; gap: 1.5rem; }
    .company-left-col .logo-container { margin-bottom: 0; width: auto; min-width: 120px; }
    .company-card .col-md-9.p-4 { padding: 1.25rem !important; }
    .company-card .d-flex.justify-content-between { flex-wrap: wrap; gap: 0.75rem; }
    .company-card .text-end.text-muted { text-align: left !important; width: 100%; }
    .info-grid { gap: 0.6rem; }
    .services-tags { gap: 0.4rem; }
    .explorer-card .main-img { height: 180px; }
    .explorer-title { font-size: 0.95rem; }
    #listing { margin-top: 2rem !important; }
    .py-5.bg-white .container { padding-bottom: 2.5rem; }
    .accordion-button { padding: 1rem 1.25rem; font-size: 0.95rem; }
    .footer { padding: 50px 0 0; }
    .footer .row.align-items-center { gap: 1.5rem; }
    .trust-badges { gap: 1rem !important; justify-content: center; }
    .trust-badges img { max-height: 50px; height: auto !important; }
    .bottom-bar .d-flex { flex-wrap: wrap; gap: 0.75rem; justify-content: center; text-align: center; }
    .hero-blog { padding: 6rem 1rem 3.5rem; min-height: 280px; }
    .hero-blog-title { font-size: 1.9rem; }
    .hero-blog-desc { font-size: 1rem; }
    .blog-card-featured .row { flex-direction: column; }
    .blog-card-featured .col-lg-5 { max-height: 240px; }
    .blog-card-featured .blog-card-img { min-height: 240px; height: 240px; }
    .blog-card-featured .col-lg-7 { padding: 1.5rem !important; }
    .blog-card-featured .blog-card-title { font-size: 1.35rem; }
    .blog-detail-hero { padding-top: 6rem; padding-bottom: 2rem; }
    .blog-detail-title { font-size: 1.65rem; }
    .blog-article { padding: 1.5rem 1.25rem !important; }
    .blog-sidebar { margin-top: 2rem !important; padding-left: 0 !important; }
    .blog-author-card { flex-direction: column; align-items: center; text-align: center; }
    main.pt-5 { padding-top: 6rem !important; }
    .explore-detail-company .row { flex-direction: column; align-items: stretch; }
    .explore-detail-company .col-md-3 { margin-bottom: 1rem; }
    .explore-detail-logo { max-height: 100px; margin: 0 auto; }
    .explore-more-swiper-wrap { padding-left: 0.5rem; padding-right: 0.5rem; }
    .explore-more-swiper-prev { left: 0; }
    .explore-more-swiper-next { right: 0; }
    .page-404-section { padding-top: 6rem; padding-bottom: 3rem; }
    .error-404-number { font-size: clamp(5rem, 16vw, 9rem); }
    .error-404-title { font-size: 1.65rem; }
    .page-404-section .d-flex.gap-3 { flex-wrap: wrap; gap: 0.75rem !important; }
    .wfu-cta-box .h3 { font-size: 1.5rem; }
    .list-business-modal-dialog { max-width: 90%; }
    .thank-you-modal-body h4 { font-size: 1.25rem; }
}

/* ========== 991px ========== */
@media (max-width: 991px) {
    .navbar { padding: 0.5rem 0; }
    /* Mobile menu panel – prevent flash on first load when collapsed */
    .navbar-collapse.collapse:not(.show) {
        display: none;
        overflow: hidden;
    }
    .navbar-collapse {
        padding: 0.75rem 0;
        background: #fff;
        margin-top: 0.75rem;
        border-radius: 12px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
        border: 1px solid rgba(0, 123, 255, 0.08);
    }
    .navbar-collapse.show {
        padding: 0.75rem 1rem 1rem;
    }
    .navbar-nav {
        align-items: stretch !important;
        gap: 0 !important;
        width: 100%;
    }
    .navbar-nav .nav-item {
        width: 100%;
        margin: 0;
    }
    .navbar-nav .nav-link {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0.75rem 1rem;
        border-radius: 8px;
        font-size: 1rem;
        opacity: 1;
        border-left: 3px solid transparent;
        transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }
    .navbar-nav .nav-link::after {
        display: none;
    }
    .navbar-nav .nav-link:hover {
        background: rgba(0, 123, 255, 0.06);
        color: var(--primary-blue) !important;
    }
    .navbar-nav .nav-link.active {
        background: rgba(0, 123, 255, 0.12);
        color: var(--primary-blue) !important;
        border-left-color: var(--primary-blue);
        font-weight: 700;
    }
    .navbar-nav .nav-item .btn {
        width: 100%;
        text-align: center;
        margin-top: 0.5rem;
        padding: 0.65rem 1.25rem;
        border-radius: 8px;
    }
    .navbar-brand img { height: 52px; }
    .hero-section { padding: 6rem 0 3rem; }
    .hero-section .display-3 { font-size: 2rem; }
    .section-title .display-6 { font-size: 1.75rem; }
    .section-title .h3 { font-size: 1.5rem; }
    .section-title .mb-5 { margin-bottom: 2rem !important; }
    .company-card .h4 { font-size: 1.2rem; }
    .explorer-card-body { padding: 1.25rem; }
    .explorer-card .main-img { height: 170px; }
    .hero-blog { padding: 6rem 1rem 3rem; min-height: 260px; }
    .hero-blog-title { font-size: 1.75rem; }
    .blog-card-featured .blog-card-title { font-size: 1.25rem; }
    .blog-detail-hero { padding-top: 6rem; }
    main.pt-5 { padding-top: 6rem !important; }
    .blog-detail-title { font-size: 1.5rem; }
    .explore-detail-companies .mb-4 { margin-bottom: 1.25rem !important; }
    .explore-detail-company .card-body { padding: 1.25rem 1.5rem !important; }
    .explore-detail-company .h4 { font-size: 1.2rem; }
    .explore-more-section { margin-top: 3rem; padding-top: 3rem; }
    .explore-more-card-title { font-size: 1.1rem; }
    .explore-more-card-body { padding: 1rem 1.25rem; }
    .explore-more-card-img-wrap { height: 150px; }
    .footer-logo-wrapper img { max-height: 130px !important; }
    .footer-desc { font-size: 0.875rem; }
    .wfu-benefit-icon { width: 46px; height: 46px; font-size: 1rem; }
    .wfu-benefit-card h3 { font-size: 1.1rem; }
    .wfu-cta-box { padding: 1.75rem 2rem !important; }
    .list-business-modal-body { padding: 1.25rem 1.5rem !important; }
    .list-business-modal-footer { padding: 0 1.5rem 1.5rem !important; }
}

/* ========== 820px ========== */
@media (max-width: 820px) {
    .container { padding-left: 16px; padding-right: 16px; }
    .hero-section .display-3 { font-size: 1.85rem; }
    .hero-section .lead { font-size: 1rem; max-width: 100%; }
    .company-left-col { flex-direction: column; padding: 1.25rem; }
    .company-left-col .btn { width: 100%; max-width: 180px; }
    .info-grid { flex-direction: column; }
    .info-badge { flex: 1 1 auto; }
    .section-title .display-6 { font-size: 1.6rem; }
    .accordion-body { font-size: 0.9rem; padding: 1rem 1.25rem; }
    .hero-blog-title { font-size: 1.65rem; }
    .blog-card-img { height: 190px; }
    .blog-card-featured .blog-card-img { min-height: 220px; height: 220px; }
    .blog-card-featured .col-lg-7 { padding: 1.25rem !important; }
    .explore-location-img-wrap { height: 190px; }
    .explore-location-body { padding: 1.25rem !important; }
    .explore-detail-company .card-body { padding: 1rem 1.25rem !important; }
    .explore-detail-table td:first-child { min-width: 90px; font-size: 0.85rem; }
    .explore-more-card-img-wrap { height: 140px; }
    .explore-more-control { width: 42px; height: 42px; }
    .explore-more-swiper-prev, .explore-more-swiper-next { width: 42px; height: 42px; }
    .page-404-section .btn { padding: 0.6rem 1.25rem; font-size: 0.9rem; }
    .wfu-benefit-card { padding: 1rem !important; }
    .wfu-cta-box .btn-lg { padding: 0.65rem 1.5rem; font-size: 1rem; }
}

/* ========== 768px ========== */
@media (max-width: 768px) {
    .hero-section { padding: 5rem 0 2.5rem; }
    .hero-section .display-3 { font-size: 1.75rem; }
    .hero-section .mb-5 { margin-bottom: 1.5rem !important; }
    .hero-section .btn-lg { padding: 0.6rem 1.25rem; font-size: 0.95rem; }
    .section-title .display-6 { font-size: 1.5rem; }
    .section-title .mb-3 { margin-bottom: 0.5rem !important; }
    .section-title .mt-3 { margin-top: 0.5rem !important; }
    .company-card { border-radius: 16px; margin-bottom: 1.5rem; }
    .company-card .col-md-9.p-4 { padding: 1rem !important; }
    .verified-badge, .clutch-badge { font-size: 0.75rem; padding: 0.3rem 0.75rem; }
    .service-tag { font-size: 0.75rem; padding: 0.3rem 0.7rem; }
    .explorer-card .main-img { height: 160px; }
    .explorer-title { font-size: 0.9rem; }
    .carousel-item .row.g-4 { gap: 1rem !important; }
    .footer { padding: 40px 0 0; }
    .footer .mb-5.mb-lg-0 { margin-bottom: 1.5rem !important; }
    .trust-badges { flex-direction: column; align-items: center; gap: 0.75rem !important; }
    .trust-badges .border-start { border-left: none !important; padding-left: 0 !important; margin-left: 0 !important; }
    .bottom-bar .flex-md-row { flex-direction: column; gap: 0.5rem; }
    .bottom-bar .mb-3.mb-md-0 { margin-bottom: 0.5rem !important; }
    .hero-blog { padding: 6rem 0.75rem 2.5rem; min-height: 240px; }
    .hero-blog-title { font-size: 1.55rem; }
    .hero-blog-desc { font-size: 0.95rem; }
    .blog-card-featured .blog-card-img { min-height: 200px; height: 200px; }
    .blog-card-featured .blog-card-title { font-size: 1.2rem; }
    .blog-card .p-4 { padding: 1rem !important; }
    .blog-card-title { font-size: 1rem; }
    .blog-detail-hero { padding-top: 6rem; padding-bottom: 1.5rem; }
    .blog-detail-title { font-size: 1.4rem; }
    .blog-detail-meta { font-size: 0.85rem; gap: 0.5rem; }
    .blog-article { padding: 1rem 1.25rem !important; }
    .blog-article .lead { font-size: 1.05rem; }
    .blog-article h2 { font-size: 1.25rem; }
    .blog-article h3 { font-size: 1.1rem; }
    .blog-share { margin-top: 1.5rem !important; padding-top: 1rem !important; }
    .recent-blog-thumb { width: 70px; height: 52px; }
    .recent-blog-item-content h4 { font-size: 0.9rem; }
    .explore-location-img-wrap { height: 180px; }
    .explore-location-title { font-size: 0.95rem; }
    .explore-detail-companies .mb-4 { margin-bottom: 1rem !important; }
    main.pt-5 { padding-top: 6rem !important; }
    main.pt-5 .container { padding-top: 1.5rem !important; padding-bottom: 2rem !important; }
    .explore-detail-breadcrumb { font-size: 0.85rem; margin-bottom: 0.5rem; }
    .explore-detail-company header .h2 { font-size: 1.25rem; }
    .explore-detail-company .h4 { font-size: 1.1rem; }
    .explore-more-section .section-title h2 { font-size: 1.35rem; }
    .explore-more-card-title { font-size: 1rem; }
    .explore-more-card-cta { font-size: 0.85rem; }
    .page-404-section { padding-top: 6rem; padding-bottom: 2.5rem; }
    .error-404-number { font-size: clamp(4rem, 14vw, 7rem); }
    .error-404-icon { font-size: 2.5rem; }
    .error-404-title { font-size: 1.35rem; }
    .error-404-desc { font-size: 0.95rem; }
    .page-404-section .d-flex .btn { white-space: normal; text-align: center; }
    .write-for-us .py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
    .write-for-us .col-lg-9 .p-4 { padding: 1.25rem !important; }
    .wfu-benefit-card { padding: 0.9rem !important; }
    .wfu-benefit-card h3 { font-size: 1rem; }
    .wfu-benefit-card .text-muted { font-size: 0.8rem; }
    .wfu-cta-box { padding: 1.5rem 1.25rem !important; }
    .wfu-cta-box .h3 { font-size: 1.35rem; }
    .wfu-cta-box .btn-lg { padding: 0.6rem 1.25rem; font-size: 0.95rem; }
    .service-tag { font-size: 0.72rem; padding: 0.28rem 0.6rem; }
    .list-business-modal-header { padding: 1rem 1.25rem; }
    .list-business-modal-body { padding: 1rem 1.25rem !important; }
    .list-business-modal-body .row.g-4 { gap: 0.75rem !important; }
    .list-business-label { font-size: 0.9rem; }
    .list-business-input { padding: 0.55rem 0.85rem; font-size: 0.95rem; }
    .thank-you-modal-body { padding: 1.5rem 1.25rem !important; }
    .thank-you-icon-wrapper { width: 80px; height: 80px; }
    .thank-you-icon { font-size: 2.5rem; }
    .thank-you-desc { font-size: 0.9rem; max-width: 100%; }
}

/* ========== 767px ========== */
@media (max-width: 767px) {
    .container { padding-left: 14px; padding-right: 14px; }
    .hero-section .display-3 { font-size: 1.65rem; }
    .company-card .d-flex.justify-content-between { flex-direction: column; align-items: flex-start; }
    .faqAccordion .accordion-item { margin-bottom: 0.75rem; }
    .hero-blog-title { font-size: 1.45rem; }
    .blog-card-featured .blog-card-title { font-size: 1.15rem; }
    .blog-detail-title { font-size: 1.3rem; }
    .explore-detail-company .card-body { padding: 1rem !important; }
    .explore-more-swiper-pagination { margin-top: 1rem; }
    .explore-more-swiper-wrap { padding-bottom: 2.5rem; }
}

/* ========== 675px ========== */
@media (max-width: 675px) {
    .hero-section { padding: 6rem 0 2rem; }
    .hero-section .display-3 { font-size: 1.55rem; }
    .hero-section .d-flex.gap-3 { flex-direction: column; align-items: stretch; }
    .hero-section .btn { width: 100%; }
    .section-title .display-6 { font-size: 1.4rem; }
    .company-left-col { padding: 1rem; }
    .logo-container { min-height: 80px; padding: 0.5rem; }
    .company-logo { max-height: 48px; }
    .company-card .h4 { font-size: 1.1rem; }
    .info-badge { font-size: 0.75rem; padding: 0.35rem 0.65rem; }
    .services-tags { gap: 0.35rem; }
    .service-tag { font-size: 0.7rem; padding: 0.25rem 0.6rem; }
    .service-tag i { font-size: 0.8rem; }
    .explorer-card .main-img { height: 150px; }
    .explorer-card-body { padding: 1rem; }
    .explorer-title { font-size: 0.85rem; }
    .hero-blog { padding: 6rem 0.5rem 2rem; min-height: 220px; }
    .hero-blog-title { font-size: 1.35rem; }
    .hero-blog-desc { font-size: 0.9rem; }
    .blog-card-img { height: 170px; }
    .blog-card-featured .blog-card-img { min-height: 180px; height: 180px; }
    .blog-card-featured .blog-card-title { font-size: 1.1rem; }
    .blog-card .p-4 { padding: 0.85rem !important; }
    .blog-detail-hero { padding-top: 6rem; }
    .blog-detail-title { font-size: 1.25rem; }
    .blog-article { padding: 0.85rem 1rem !important; }
    .blog-article p { font-size: 0.9rem; margin-bottom: 1rem; }
    .blog-author-card { padding: 1rem !important; }
    .blog-author-card img { width: 60px !important; height: 60px !important; }
    .blog-author-card .h6 { font-size: 0.95rem; }
    .blog-author-card .text-muted { font-size: 0.8rem; }
    .recent-blog-list .recent-blog-item { padding: 0.5rem 0; }
    .recent-blog-thumb { width: 60px; height: 45px; }
    .explore-location-img-wrap { height: 170px; }
    .explore-location-body { padding: 1rem !important; }
    .explore-location-title { font-size: 0.9rem; }
    .explore-detail-company .h4 { font-size: 1.05rem; }
    .explore-detail-logo { max-height: 80px; }
    .explore-detail-company .btn { font-size: 0.85rem; padding: 0.4rem 1rem; }
    .explore-more-card-img-wrap { height: 130px; }
    .explore-more-card-body { padding: 0.85rem 1rem; }
    .explore-more-card-title { font-size: 0.95rem; }
    .explore-more-card-cta { font-size: 0.8rem; }
    .explore-more-swiper-prev, .explore-more-swiper-next { width: 38px; height: 38px; }
    .page-404-section { padding-top: 6rem; padding-bottom: 2rem; }
    .error-404-number { font-size: clamp(3.5rem, 12vw, 6rem); }
    .error-404-title { font-size: 1.25rem; }
    .error-404-desc { font-size: 0.9rem; }
    .page-404-section .d-flex .btn { padding: 0.5rem 1rem; font-size: 0.85rem; }
    .wfu-benefit-icon { width: 42px; height: 42px; font-size: 0.9rem; }
    .wfu-benefit-card { padding: 0.85rem !important; }
    .wfu-cta-box { padding: 1.25rem 1rem !important; }
    .wfu-cta-box .h3 { font-size: 1.2rem; }
    .list-business-modal-dialog { max-width: 95%; }
    .list-business-header-icon { width: 42px; height: 42px; font-size: 1rem; }
    .list-business-modal-header .modal-title { font-size: 1.1rem; }
    .list-business-modal-header .small { font-size: 0.8rem !important; }
}

/* ========== 620px ========== */
@media (max-width: 620px) {
    .container { padding-left: 12px; padding-right: 12px; }
    .navbar-brand img { height: 46px; }
    .hero-section .display-3 { font-size: 1.45rem; }
    .section-title .display-6 { font-size: 1.3rem; }
    .section-title .text-muted { font-size: 0.9rem; }
    .company-card { margin-bottom: 1.25rem; border-radius: 14px; }
    .explorer-card .main-img { height: 140px; }
    .hero-blog-title { font-size: 1.25rem; }
    .blog-card-featured .blog-card-img { min-height: 170px; height: 170px; }
    .blog-detail-title { font-size: 1.2rem; }
    .explore-location-img-wrap { height: 160px; }
    .explore-detail-company .card-body { padding: 0.85rem !important; }
    .explore-detail-table { font-size: 0.85rem; }
    .explore-detail-table td:first-child { min-width: 80px; }
    .explore-more-card-img-wrap { height: 120px; }
    .footer-logo-wrapper img { max-height: 110px !important; }
    .footer-desc { font-size: 0.85rem; }
    .trust-badges img { max-height: 45px !important; }
    .bottom-bar { padding: 1rem 0; }
    .bottom-bar .small { font-size: 0.8rem !important; }
    .error-404-number { font-size: clamp(3rem, 11vw, 5rem); }
    .error-404-title { font-size: 1.15rem; }
    .page-404-section .d-flex { flex-direction: column; }
    .page-404-section .d-flex .btn { width: 100%; }
    .wfu-cta-box .btn { width: 100%; }
    .write-for-us .d-flex.flex-wrap.gap-3 { gap: 0.5rem !important; }
}

/* ========== 575px ========== */
@media (max-width: 575px) {
    .hero-section { padding: 6rem 0 1.75rem; }
    .hero-section .display-3 { font-size: 1.35rem; }
    .hero-section .lead { font-size: 0.95rem; }
    .section-title .display-6 { font-size: 1.25rem; }
    .section-title .mb-5 { margin-bottom: 1.5rem !important; }
    .divider { height: 3px; }
    .company-left-col { padding: 0.85rem; }
    .company-card .col-md-9.p-4 { padding: 0.85rem !important; }
    .company-card .h4 { font-size: 1rem; }
    .hr.my-3 { margin: 0.75rem 0 !important; }
    .info-grid { gap: 0.5rem; }
    .info-badge { font-size: 0.72rem; padding: 0.3rem 0.6rem; }
    .services-tags .service-tag { font-size: 0.68rem; padding: 0.22rem 0.55rem; }
    .explorer-card .main-img { height: 130px; }
    .explorer-card-body { padding: 0.85rem; }
    .explorer-title { font-size: 0.82rem; }
    .accordion-button { padding: 0.85rem 1rem; font-size: 0.9rem; }
    .accordion-body { padding: 0.85rem 1rem; font-size: 0.85rem; }
    .footer { padding: 30px 0 0; }
    .footer .row { text-align: center; }
    .footer-desc { font-size: 0.82rem; text-align: center; }
    .hero-blog { padding: 6rem 0.5rem 1.75rem; min-height: 200px; }
    .hero-blog-title { font-size: 1.2rem; }
    .hero-blog-desc { font-size: 0.85rem; }
    .blog-card-img { height: 160px; }
    .blog-card-featured .blog-card-img { min-height: 160px; height: 160px; }
    .blog-card-featured .blog-card-title { font-size: 1.05rem; }
    .blog-card-featured .text-secondary { font-size: 0.9rem; }
    .blog-category-badge { top: 0.75rem; left: 1rem; font-size: 0.7rem; padding: 0.25rem 0.6rem; }
    .blog-meta { font-size: 0.8rem; }
    .blog-detail-hero { padding-top: 6rem; padding-bottom: 1.25rem; }
    .blog-detail-breadcrumb { font-size: 0.8rem; }
    .blog-detail-title { font-size: 1.15rem; }
    .blog-detail-meta { font-size: 0.8rem; }
    .blog-article { padding: 0.75rem 1rem !important; }
    .blog-article .lead { font-size: 0.95rem; }
    .blog-article h2 { font-size: 1.15rem; margin-top: 1.25rem !important; }
    .blog-article h3 { font-size: 1rem; margin-top: 0.75rem !important; }
    .blog-share .btn { padding: 0.35rem 0.65rem; font-size: 0.85rem; }
    .blog-sidebar .bg-white { padding: 1rem !important; }
    .blog-sidebar h3 { font-size: 1rem; margin-bottom: 1rem !important; }
    .recent-blog-thumb { width: 55px; height: 42px; }
    .recent-blog-item-content h4 { font-size: 0.85rem; -webkit-line-clamp: 2; }
    .explore-location-img-wrap { height: 150px; }
    .explore-location-badge { top: 0.75rem; left: 1rem; font-size: 0.7rem; padding: 0.25rem 0.6rem; }
    .explore-location-title { font-size: 0.85rem; }
    .explore-detail-breadcrumb { font-size: 0.8rem; }
    main.pt-5 .container { padding-top: 1rem !important; padding-bottom: 1.5rem !important; }
    .explore-detail-company header p { font-size: 0.8rem; }
    .explore-detail-company header .h2 { font-size: 1.1rem; }
    .explore-detail-company .lead { font-size: 0.95rem; }
    .explore-detail-company .card-body { padding: 0.75rem 1rem !important; }
    .explore-detail-company .h4 { font-size: 1rem; }
    .explore-detail-logo { max-height: 70px; }
    .explore-detail-company .btn { font-size: 0.8rem; padding: 0.35rem 0.85rem; }
    .explore-detail-table { font-size: 0.8rem; }
    .explore-detail-table td:first-child { min-width: 75px; }
    .service-tag { font-size: 0.65rem; padding: 0.2rem 0.5rem; }
    .explore-more-section { margin-top: 2rem; padding-top: 2rem; }
    .explore-more-section .section-title h2 { font-size: 1.2rem; }
    .explore-more-card-img-wrap { height: 110px; }
    .explore-more-card-body { padding: 0.75rem 0.85rem; }
    .explore-more-card-title { font-size: 0.9rem; }
    .explore-more-card-cta { font-size: 0.75rem; }
    .explore-more-swiper-prev, .explore-more-swiper-next { width: 34px; height: 34px; }
    .explore-more-swiper-pagination .swiper-pagination-bullet { width: 8px; height: 8px; }
    .explore-more-swiper-pagination .swiper-pagination-bullet-active { width: 22px; }
    .page-404-section { padding-top: 6rem; padding-bottom: 1.75rem; }
    .error-404-number { font-size: clamp(2.75rem, 10vw, 4.5rem); }
    .error-404-icon { font-size: 2rem; }
    .error-404-title { font-size: 1.05rem; }
    .error-404-desc { font-size: 0.85rem; max-width: 100%; }
    .page-404-section .btn { font-size: 0.85rem; padding: 0.5rem 1rem; }
    .write-for-us section .py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
    .write-for-us .col-lg-9 .p-4 { padding: 1rem !important; }
    .write-for-us .lead { font-size: 0.95rem; }
    .write-for-us .h4 { font-size: 1.1rem; margin-bottom: 1rem !important; }
    .wfu-benefit-card { padding: 0.75rem !important; }
    .wfu-benefit-icon { width: 40px; height: 40px; font-size: 0.85rem; margin-bottom: 0.5rem !important; }
    .wfu-benefit-card h3 { font-size: 0.95rem; }
    .wfu-benefit-card .text-muted { font-size: 0.78rem; }
    .wfu-rules-list .text-muted { font-size: 0.82rem; }
    .wfu-cta-box { padding: 1rem 0.85rem !important; }
    .wfu-cta-box .h3 { font-size: 1.1rem; margin-bottom: 0.5rem !important; }
    .wfu-cta-box p { font-size: 0.9rem; }
    .wfu-cta-box .btn-lg { padding: 0.5rem 1rem; font-size: 0.9rem; }
    .wfu-cta-box .small { font-size: 0.8rem !important; }
    .list-business-modal-dialog { max-width: 98%; }
    .list-business-modal-header { padding: 0.85rem 1rem; }
    .list-business-modal-body { padding: 0.85rem 1rem !important; }
    .list-business-modal-body .form-label { font-size: 0.85rem; }
    .list-business-input { padding: 0.5rem 0.75rem; font-size: 0.9rem; }
    .list-business-modal-footer { padding: 0 1rem 1rem !important; }
    .list-business-modal-footer .btn { padding: 0.5rem 1rem; font-size: 0.9rem; }
    .thank-you-modal-body { padding: 1.25rem 1rem !important; }
    .thank-you-icon-wrapper { width: 70px; height: 70px; }
    .thank-you-icon { font-size: 2.25rem; }
    .thank-you-modal-body h4 { font-size: 1.1rem; }
    .thank-you-desc { font-size: 0.85rem; }
}

/* ========== 476px ========== */
@media (max-width: 476px) {
    .container { padding-left: 10px; padding-right: 10px; }
    .navbar-brand img { height: 42px; }
    .hero-section .display-3 { font-size: 1.25rem; }
    .hero-section .lead { font-size: 0.9rem; }
    .section-title .display-6 { font-size: 1.15rem; }
    .company-card { border-radius: 12px; }
    .company-left-col .btn { font-size: 0.85rem; padding: 0.4rem; }
    .explorer-card .main-img { height: 120px; }
    .explorer-title { font-size: 0.8rem; }
    .hero-blog-title { font-size: 1.1rem; }
    .blog-card-img { height: 150px; }
    .blog-card-featured .blog-card-img { min-height: 150px; height: 150px; }
    .blog-card-featured .blog-card-title { font-size: 1rem; }
    .blog-detail-title { font-size: 1.05rem; }
    .explore-location-img-wrap { height: 140px; }
    .explore-location-title { font-size: 0.8rem; }
    .explore-detail-company .h4 { font-size: 0.95rem; }
    .explore-more-card-img-wrap { height: 100px; }
    .explore-more-card-title { font-size: 0.85rem; }
    .footer-logo-wrapper img { max-height: 95px !important; }
    .error-404-number { font-size: clamp(2.5rem, 9vw, 4rem); }
    .error-404-title { font-size: 1rem; }
    .wfu-cta-box .h3 { font-size: 1rem; }
}

/* ========== 420px ========== */
@media (max-width: 420px) {
    .container { padding-left: 8px; padding-right: 8px; }
    .hero-section { padding: 6rem 0 1.5rem; }
    .hero-section .display-3 { font-size: 1.15rem; }
    .hero-section .btn-lg { font-size: 0.9rem; padding: 0.5rem 1rem; }
    .section-title .display-6 { font-size: 1.1rem; }
    .company-card .h4 { font-size: 0.95rem; }
    .info-badge { font-size: 0.68rem; padding: 0.25rem 0.5rem; }
    .service-tag { font-size: 0.62rem; padding: 0.2rem 0.45rem; }
    .explorer-card .main-img { height: 110px; }
    .explorer-card-body { padding: 0.75rem; }
    .hero-blog { padding: 6rem 0.5rem 1.5rem; min-height: 180px; }
    .hero-blog-title { font-size: 1rem; }
    .hero-blog-desc { font-size: 0.8rem; }
    .blog-card-img { height: 140px; }
    .blog-card-featured .blog-card-img { min-height: 140px; height: 140px; }
    .blog-detail-title { font-size: 1rem; }
    .blog-article { padding: 0.65rem 0.85rem !important; }
    .explore-location-img-wrap { height: 130px; }
    .explore-detail-company .card-body { padding: 0.65rem 0.85rem !important; }
    .explore-detail-company .h4 { font-size: 0.9rem; }
    .explore-more-card-img-wrap { height: 90px; }
    .explore-more-card-body { padding: 0.65rem 0.75rem; }
    .explore-more-card-title { font-size: 0.8rem; }
    .explore-more-swiper-prev, .explore-more-swiper-next { width: 30px; height: 30px; }
    .page-404-section { padding-top: 6rem; padding-bottom: 1.5rem; }
    .error-404-number { font-size: clamp(2.25rem, 8vw, 3.5rem); }
    .error-404-icon { font-size: 1.75rem; }
    .error-404-title { font-size: 0.95rem; }
    .error-404-desc { font-size: 0.8rem; }
    .wfu-benefit-card h3 { font-size: 0.9rem; }
    .wfu-cta-box { padding: 0.85rem 0.65rem !important; }
    .list-business-modal-header .modal-title { font-size: 1rem; }
    .thank-you-modal-body h4 { font-size: 1rem; }
}

/* ========== 375px ========== */
@media (max-width: 375px) {
    .container { padding-left: 6px; padding-right: 6px; }
    .navbar-brand img { height: 38px; }
    .hero-section .display-3 { font-size: 1.1rem; }
    .section-title .display-6 { font-size: 1.05rem; }
    .company-left-col { padding: 0.75rem; }
    .logo-container { min-height: 70px; }
    .company-logo { max-height: 42px; }
    .explorer-card .main-img { height: 100px; }
    .explorer-title { font-size: 0.75rem; }
    .hero-blog-title { font-size: 0.95rem; }
    .blog-card-img { height: 130px; }
    .blog-card-featured .blog-card-img { min-height: 130px; height: 130px; }
    .blog-detail-title { font-size: 0.95rem; }
    .explore-location-img-wrap { height: 120px; }
    .explore-location-title { font-size: 0.75rem; }
    .explore-more-card-img-wrap { height: 85px; }
    .explore-more-card-title { font-size: 0.78rem; }
    .explore-more-card-cta { font-size: 0.7rem; }
    .footer-logo-wrapper img { max-height: 85px !important; }
    .error-404-number { font-size: clamp(2rem, 7vw, 3rem); }
    .error-404-title { font-size: 0.9rem; }
    .list-business-modal-body { padding: 0.75rem 0.65rem !important; }
    .thank-you-icon-wrapper { width: 60px; height: 60px; }
    .thank-you-icon { font-size: 1.75rem; }
}

/* ========== 320px ========== */
@media (max-width: 320px) {
    .container { padding-left: 5px; padding-right: 5px; }
    .navbar-brand img { height: 34px; }
    .hero-section { padding: 6rem 0 1.25rem; }
    .hero-section .display-3 { font-size: 1rem; }
    .hero-section .lead { font-size: 0.85rem; }
    .hero-section .btn { font-size: 0.85rem; padding: 0.45rem 0.85rem; }
    .section-title .display-6 { font-size: 0.95rem; }
    .section-title .text-muted { font-size: 0.8rem; }
    .company-card { margin-bottom: 1rem; border-radius: 10px; }
    .company-card .p-4 { padding: 0.65rem !important; }
    .company-card .h4 { font-size: 0.9rem; }
    .verified-badge, .clutch-badge { font-size: 0.65rem; padding: 0.25rem 0.5rem; }
    .info-badge { font-size: 0.65rem; padding: 0.2rem 0.45rem; }
    .service-tag { font-size: 0.58rem; padding: 0.18rem 0.4rem; }
    .explorer-card .main-img { height: 90px; }
    .explorer-card-body { padding: 0.65rem; }
    .explorer-title { font-size: 0.7rem; }
    .accordion-button { padding: 0.75rem 0.85rem; font-size: 0.85rem; }
    .accordion-body { padding: 0.75rem 0.85rem; font-size: 0.8rem; }
    .footer { padding: 20px 0 0; }
    .footer-desc { font-size: 0.78rem; }
    .trust-badges img { max-height: 38px !important; }
    .bottom-bar { padding: 0.75rem 0; }
    .bottom-bar .small { font-size: 0.75rem !important; }
    .hero-blog { padding: 6rem 0.5rem 1.25rem; min-height: 160px; }
    .hero-blog-title { font-size: 0.9rem; }
    .hero-blog-desc { font-size: 0.75rem; }
    .blog-card-img { height: 120px; }
    .blog-card-featured .blog-card-img { min-height: 120px; height: 120px; }
    .blog-card-featured .blog-card-title { font-size: 0.9rem; }
    .blog-category-badge { font-size: 0.65rem; padding: 0.2rem 0.5rem; }
    .blog-detail-hero { padding-top: 6rem; }
    .blog-detail-title { font-size: 0.9rem; }
    .blog-article { padding: 0.6rem 0.75rem !important; }
    .blog-article .lead { font-size: 0.85rem; }
    .recent-blog-thumb { width: 48px; height: 36px; }
    .recent-blog-item-content h4 { font-size: 0.78rem; }
    .explore-location-img-wrap { height: 110px; }
    .explore-location-badge { font-size: 0.65rem; padding: 0.2rem 0.5rem; }
    .explore-location-title { font-size: 0.7rem; }
    .explore-detail-company .card-body { padding: 0.6rem 0.75rem !important; }
    .explore-detail-company .h4 { font-size: 0.85rem; }
    .explore-detail-logo { max-height: 60px; }
    .explore-detail-table { font-size: 0.75rem; }
    .explore-detail-table td:first-child { min-width: 68px; }
    .explore-more-card-img-wrap { height: 80px; }
    .explore-more-card-body { padding: 0.6rem 0.65rem; }
    .explore-more-card-title { font-size: 0.75rem; }
    .explore-more-card-cta { font-size: 0.65rem; }
    .explore-more-swiper-prev, .explore-more-swiper-next { width: 28px; height: 28px; }
    .page-404-section { padding-top: 3rem; padding-bottom: 1.25rem; }
    .error-404-number { font-size: clamp(1.75rem, 6vw, 2.5rem); }
    .error-404-icon { font-size: 1.5rem; }
    .error-404-title { font-size: 0.85rem; }
    .error-404-desc { font-size: 0.75rem; }
    .page-404-section .btn { font-size: 0.8rem; padding: 0.45rem 0.85rem; }
    .wfu-benefit-card { padding: 0.6rem !important; }
    .wfu-benefit-icon { width: 36px; height: 36px; font-size: 0.8rem; }
    .wfu-benefit-card h3 { font-size: 0.85rem; }
    .wfu-cta-box { padding: 0.75rem 0.5rem !important; }
    .wfu-cta-box .h3 { font-size: 0.9rem; }
    .wfu-cta-box .btn { font-size: 0.85rem; padding: 0.45rem 0.85rem; }
    .list-business-modal-header { padding: 0.75rem 0.85rem; }
    .list-business-modal-header .modal-title { font-size: 0.95rem; }
    .list-business-modal-body { padding: 0.65rem 0.5rem !important; }
    .list-business-input { padding: 0.45rem 0.65rem; font-size: 0.85rem; }
    .thank-you-modal-body { padding: 1rem 0.65rem !important; }
    .thank-you-icon-wrapper { width: 55px; height: 55px; }
    .thank-you-icon { font-size: 1.5rem; }
    .thank-you-modal-body h4 { font-size: 0.9rem; }
    .thank-you-desc { font-size: 0.8rem; }
}
