@media (max-width: 900px) {
    .aboutus-intro-row {
        flex-direction: column;
        gap: 18px;
    }

    .aboutus-intro-img {
        max-width: 100%;
        margin: 0 auto;
    }

    .aboutus-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px 0;
    }

    .aboutus-honor-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
}

@media (max-width: 768px) {
    .aboutus-section {
        padding: 0 6px;
    }
    .banner .swiper-pagination{
        bottom: 5px;
    }

    .aboutus-title {
        font-size: 17px;
        margin-top: 18px;
        margin-bottom: 14px;
    }

    .aboutus-subtitle {
        font-size: 15px;
        margin-top: 14px;
        margin-bottom: 10px;
    }

    .aboutus-stats-bg {
        padding: 18px 0;
    }

    .aboutus-stats-grid {
        /* grid-template-columns: 1fr; */
        gap: 10px 0;
    }

    .aboutus-honor-grid {
        /* grid-template-columns: 1fr; */
        gap: 10px;
    }

    .aboutus-intro-img img {
        max-width: 100%;
    }
    .service-section .service-card{
        width: 100%;
    }
    .banner {
        min-height: auto;
    }
}
/* Responsive: tablet and mobile */
@media (max-width: 992px) {
    .support-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .support-inner {
        padding: 0 12px;
    }

    .support-title {
        font-size: 20px;
    }

    .support-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .card {
        padding: 18px;
    }

    .card-icon {
        width: 48px;
        height: 48px;
        font-size: 42px;
        /* margin-bottom: 10px; */
    }

    .card-title {
        margin: 15px 0;
    }

    .card-text {
        min-height: 0;
    }
}
@media (max-width: 992px) {
    .company-inner {
        gap: 24px;
    }

    .company-media {
        flex: 0 0 380px;
    }
}

@media (max-width: 720px) {
    .section-company {
        padding: 36px 0;
    }

    .company-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .company-media {
        flex: 0 0 auto;
        width: 86%;
        max-width: 420px;
    }

    .corner-accent {
        left: 12px;
        bottom: 12px;
        width: 36px;
        height: 36px;
    }

    .company-content {
        width: 100%;
    }

    .company-heading {
        font-size: 22px;
    }

    .company-heading::after {
        margin-left: auto;
        margin-right: auto;
    }

    .company-content p {
        text-align: left;
        padding: 0 12px;
    }
}

@media (max-width: 420px) {
    .company-content p {
        font-size: 14px;
    }
}



@media (max-width: 992px) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .features-grid {
        grid-template-columns: 1fr;
    }

    .features-inner {
        padding: 0 12px;
    }

    .features-title {
        font-size: 18px;
    }

    .feature-icon {
        width: 52px;
        height: 52px;
        font-size: 20px;
    }
}
@media (max-width: 720px) {
    .section-partners {
        padding: 36px 0;
    }

    .partners-inner {
        padding: 0 12px;
    }

    .partners-title {
        font-size: 18px;
    }

    .partners-desc {
        font-size: 14px;
        text-align: left;
    }
}


@media (max-width: 1200px) {
    .domains-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 992px) {
    .domains-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 720px) {
    .domains-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .domain-card {
        min-height: 220px;
    }

    .domains-inner {
        padding: 0 12px;
    }
}

/* Desktop: keep arrows visible and center alignment */
@media (min-width: 900px) {
    .flow-grid {
        flex-wrap: wrap;
    }

    .flow-step {
        width: 195px;
    }
}

/* Tablet: allow wrapping and smaller steps */
@media (max-width: 900px) {
    .flow-grid {
        gap: 12px;
    }

    .flow-step {
        width: 180px;
    }

    .flow-arrow {
        font-size: 30px;
    }
}

/* Mobile: stack vertically, hide arrows, make CTAs full width for easier tapping */
@media (max-width: 600px) {
    .flow-grid {
        flex-direction: column;
        align-items: center;
    }

    .flow-arrow {
        display: none;
    }

    .flow-step {
        width: calc(100% - 32px);
        max-width: 420px;
        padding: 14px 12px;
        border-radius: 6px;
        background: #fafafa;
        margin-bottom: 12px;
    }

    .flow-step .flow-step-title {
        color: #0b214a;
    }

    .flow-step .flow-step-desc {
        color: #666;
        text-align: left;
    }

    .flow-cta {
        width: 100%;
        padding: 10px;
        margin-top: 8px;
    }
}

@media (max-width: 1200px) {
    .service-cards {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 992px) {
    .service-cards {
        grid-template-columns: repeat(3, 1fr);
    }

    .stats-wrap {
        justify-content: space-between;
        padding: 0 12px;
    }
}

@media (max-width: 720px) {
    .stats-wrap {
        flex-direction: row;
        padding: 0 50px;
        gap: 10px;
    }

    .stat-item {
        text-align: center;
    }

    .service-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .svc-card {
        min-height: 200px;
        padding: 14px;
    }
}

@media (max-width: 420px) {
    .service-cards {
        grid-template-columns: 1fr;
    }

    .stats-strip {
        padding: 12px 0;
    }

    .stat-num {
        font-size: 20px;
    }

    .svc-card {
        padding: 12px;
        min-height: 110px;
    }

    .svc-body p {
        font-size: 13px;
    }
}





/* Mobile styles */
@media (max-width: 768px) {
    .header {
        flex-direction: column;
        align-items: stretch;
        height: auto;
        padding: 12px;
    }

    .logo {
        justify-content: flex-start;
        padding-bottom: 8px;
    }

    .logo-img {
        width: 84px;
        height: 44px;
    }

    .search-box {
        order: 3;
        padding-top: 6px;
        padding-bottom: 6px;
    }

    .search-form {
        width: 100%;
    }

    .nav {
        order: 2;
        margin-top: 8px;
    }

    .nav ul {
        gap: 12px;
        overflow-x: auto;
        padding: 6px 4px;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start;
    }
    .nav a {
        white-space: nowrap;
    }

    .sub-nav li a{
        display: block;
        text-align: center;
        border-bottom: 1px solid #fafafa;
    }

    .nav a::after {
        bottom: 2px;
    }
}

@media (max-width: 900px) {
    .intl-adv-cards {
        flex-direction: column;
        gap: 18px;
        padding: 18px 8px;
    }

    .intl-adv-card {
        min-width: 0;
        padding: 0 6px;
    }
}

@media (max-width: 900px) {
    .intl-cases-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }
}

@media (max-width: 500px) {
    .intl-cases-grid {
        grid-template-columns: repeat(2, 1fr);;
        gap: 12px;
        padding: 15px;
    }

    .intl-cases-title {
        font-size: 17px;
    }
}
@media (max-width: 1000px) {
    .service-section .service-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 600px) {
    .service-section .service-section {
        margin: 18px auto;
        padding: 0 10px;
    }

    .service-section .service-cards {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .service-section .service-card .card-head {
        padding: 12px 10px;
        font-size: 15px;
    }

    .service-section .service-card .card-body {
        padding: 12px 10px;
        font-size: 14px;
        min-height: auto;

    }
}

@media (max-width: 1000px) {
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .partner-large {
        grid-row: auto;
    }
}

@media (max-width: 600px) {
    .partners-section {
        padding: 0 10px;
        margin: 24px auto;
    }

    .partners-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .partner-card {
        padding: 14px;
        height: auto;
    }

    .partner-inner h4 {
        font-size: 16px;
    }
}

@media (max-width: 1000px) {
    .book-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 800px) {
    .book-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .book-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .book-item img {
        /* max-width: 100px; */
    }
}

@media (max-width: 700px) {
    .topic-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .topic-card {
        max-width: 100%;
        padding: 14px;
    }
}

@media (max-width: 800px) {
    .banner .swiper-pagination-bullet {
        width: 44px;
        height: 12px;
    }
    .btn-close{
        display: block;
        font-size: 48px;
        text-align: right;
        padding-right: 20px;
        margin-bottom: 50px;
    }
    .nav ul.sub-nav{
        position: fixed;
        display: none;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
    }
}

@media (max-width: 420px) {
    .banner .swiper-pagination-bullet {
        width: 36px;
        height: 10px;
    }
}