@media (max-width: 1400px) {
    .container {
        max-width: 1320px;
    }

    .story-box p {
        margin-top: 50px;
    }

    .logo-badge {
        left: 0;
    }

    .logo-badge img {
        width: 120px;
        height: 120px;
    }
}

/* Desktop */
@media (max-width: 1200px) {
    .container {
        max-width: 1140%;
    }

    .hero-content {
        padding: 30px;
    }

    .hero {
        height: 580px;
    }

    .hero-content h1 {
        font-size: 60px;
    }

    .brand-item h3 {
        font-size: 100px;
    }

    .franchise-grid {
        gap: 40px 20px;
    }

    .franchise-grid .franchise-item img {
        width: 160px;
        height: 160px;
    }

    .consulting-content {
        grid-template-columns: 1fr;
    }

    .logo-badge img {
        width: 140px;
        height: 140px;
    }

    .logo-badge {
        left: 5%;
        bottom: 5%;
    }

    .blog .swiper-slide img {
        width: 230px;
        height: 230px;
    }

    .footer-grid {
        gap: 20px;
    }

}

/* Laptop */
@media (max-width: 992px) {
    .container {
        max-width: 960px;
    }

    .hero {
        height: 540px;
    }

    .hero-content h1 {
        font-size: 50px;
        max-width: 500px;
    }

    .hero .circle-badge>img {
        width: 120px;
    }

    .hero-btn {
        font-size: 20px;
        padding: 10px 10px 10px 45px;
    }

    .brand-title p {
        font-size: 20px;
    }

    .logo-badge img {
        width: 120px;
        height: 120px;
    }

    .brand-item {
        padding: 15px;
    }

    .brand-grid {
        gap: 15px;
    }

    .franchise-grid {
        gap: 30px 10px;
    }

    .franchise-grid .franchise-item img {
        width: 110px;
        height: 110px;
    }

    .franchise-grid .franchise-item p {
        font-size: 16px;
    }

    .logo-badge {
        left: 0;
    }

    .blog .swiper-slide img {
        width: 210px;
        height: 210px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Tablet */
@media (max-width: 768px) {
    .container {
        max-width: 100%;
        margin: 0 auto;
        padding: 10px;
    }

    .header {
        padding: 10px 12px;
    }

    .logo {
        width: 90px;
        height: 80px;
    }

    .header .menu-icon i {
        font-size: 18px;
        padding: 8px 10px;
    }

    .hero {
        height: 520px;
        border-radius: 14px;
    }

    .hero-content {
        padding: 28px 20px;
    }

    .hero-content h1 {
        font-size: 42px;
        line-height: 1.1;
    }

    .hero-subtitle {
        font-size: 22px;
        max-width: 420px;
    }

    .hero-btn {
        font-size: 18px;
        padding: 8px 8px 8px 34px;
    }

    .hero-btn i {
        margin-left: 18px;
        padding: 8px 10px;
    }

    .brand-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .brand-item {
        background-color: #fff;
        border-radius: 14px;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
    }

    .brand-grid .brand-item:last-child {
        width: 100%;
    }


    .brand-grid> :last-child {
        grid-column: 1 / -1;
    }

    .franchise-grid {
        display: block;
    }

    .franchise-slider {
        display: block !important;
    }

    .franchise-hide {
        display: none !important;
    }

    .franchise .swiper {
        width: 100%;
        height: 100%;
    }

    .franchise .swiper-slide {
        text-align: center;
        font-size: 18px;
    }

    .franchise .franchise-title h2 {
        font-size: 35px;
        text-align: center;
    }

    .franchise-grid .franchise-item img {
        width: 200px;
        height: 200px;
    }

    .franchise-item {
        display: flex;
        justify-content: center;
        /* horizontal center */
        align-items: center;
        flex-direction: column;
        position: relative;
    }

    .franchise-item img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    .overlay-logo {
        position: absolute;
        top: 0;
        left: 50%;
        width: 200px;
        height: 200px;
        transform: translateX(-50%);
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .overlay-logo img {
        width: 60%;
        height: 60%;
        object-fit: contain;
    }

    .franchise {
        padding: 30px 0;
    }

    .blog .swiper-slide img {
        width: 190px;
        height: 190px;
    }

    .footer-grid {
        gap: 10px;
    }

    .footer-content {
        padding: 10px;
    }

    .category-section {
        gap: 20px;
        flex-direction: column;
    }

    .category-left {
        width: 100%;
    }

    .category-right {
        width: 100%;
    }

    .progress-line {
        width: 300px;
    }

    .logo-badge img {
        width: 100px;
        height: 100px;
    }

    .logo-badge {
        bottom: 0;
    }

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

    .slider-controls {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .slider-arrows button {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }

    .blog-title {
        text-align: center;
    }

    .blog-title .flex {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .blog-title a {
        align-self: center;
        padding: 6px 12px 6px 16px;
        font-size: 12px;
    }

    .blog-title a i {
        margin-left: 12px;
        padding: 8px 9px;
        font-size: 12px;
    }

    .blog .swiper-slide .flex {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .blog-content {
        padding-left: 0;
    }

    .blog .swiper-slide img {
        width: 100%;
        height: 180px;
    }

    .client-title h2 {
        text-align: center;
    }

    .client-item {
        height: auto;
        padding: 16px;
    }

    .client-item p {
        font-size: 12px;
        line-height: 1.4;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .container {
        max-width: 100%;
        margin: 0 auto;
        padding: 10px;
    }

    .hero {
        height: 460px;
    }

    .hero-content {
        padding: 22px 16px;
    }

    .hero .circle-badge>img {
        width: 100px;
    }

    .hero-content h1 {
        font-size: 34px;
        max-width: 280px;
        margin-bottom: 30px;
    }

    .hero-subtitle {
        font-size: 18px;
    }

    .brand-title {
        grid-template-columns: 100fr;
        text-align: center;
        gap: 12px;
    }

    .brand-title p {
        text-align: center;
    }

    .brand-item h3 {
        font-size: 52px;
    }

    .brand-item p {
        font-size: 14px;
    }

    .brand-content .brand-item:last-child p {
        font-size: 16px;
    }

    .brand-grid .brand-item:last-child a {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .brand-item a i {
        font-size: 36px;
    }

    .franchise-grid .franchise-item img {
        width: 130px;
        height: 130px;
    }

    .overlay-logo {
        width: 130px;
        height: 130px;
    }

    .blog .swiper-slide img {
        width: 160px;
        height: 160px;
    }

    .blog-title h2,
    .faq h2,
    .client-title h2,
    .consulting-title h2,
    .brand-title h2,
    .categoris-title h2 {
        font-size: 30px;
    }

    .blog .swiper-slide a {
        font-size: 12px;
        padding: 4px 8px;
    }

    .blog .swiper-slide {
        padding: 10px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .copyright {
        flex-wrap: wrap;
        margin-top: 20px;
    }

    .copyright p {
        padding-bottom: 10px;
    }

    .category-section {
        gap: 14px;
    }

    .progress-line {
        width: 180px;
    }

    .logo-badge img {
        width: 80px;
        height: 80px;
    }

    .footer-grid .footer-content:last-child img {
        width: 100%;
    }

    .consulting-content {
        gap: 16px;
    }

    .story-box {
        padding: 20px;
    }

    .story-box p {
        font-size: 13px;
        line-height: 18px;
    }

    .categoryImageSlider .swiper-slide {
        height: 260px;
    }

    .category-heading {
        font-size: 18px;
        margin-bottom: 14px;
    }

    .categoryTextSlider .swiper-slide p {
        font-size: 12px;
        line-height: 16px;
    }

    .footer-grid .footer-content:first-child img {
        width: 200px;
    }

    .footer-content {
        padding: 18px 14px;
    }

    .copyright {
        text-align: center;
        justify-content: center;
        gap: 12px;
    }
}

@media (max-width: 420px) {
    .hero {
        height: 430px;
    }

    .hero-content h1 {
        font-size: 30px;
        max-width: 240px;
    }

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

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

    .brand-grid {
        gap: 10px;
    }

    .brand-item h3 {
        font-size: 46px;
    }

    .franchise-grid .franchise-item img {
        width: 120px;
        height: 120px;
    }

    .overlay-logo {
        width: 120px;
        height: 120px;
    }

    .progress-line {
        width: 150px;
    }

    .categoryImageSlider .swiper-slide {
        height: 230px;
    }
}
