/* ==========================================================================
   CƠ KHÍ ĐẠI THẮNG - CLIENT HOMEPAGE STYLESHEET (home.css)
   Extracted from inline styles in home2.html for performance & browser caching
   ========================================================================== */

/* --- Block 1: Main Section Styles, Swiper & Product Grid --- */
        .section-about {
            position: relative;
            padding-top: 50px;
            padding-bottom: 45px;
        }

        @media (min-width : 1024px) {
            .section-about {
                padding-top: 70px;
                padding-bottom: 50px;
            }
            .lg\:py-\[80px\] {
                padding-top: 80px;
                padding-bottom: 80px;
            }
        }

        /* Các thuộc tính chung cho cả nút "trước" và "sau" */
        .swiper-button-next,
        .swiper-button-prev {
            position: absolute;
            /* Căn giữa theo chiều dọc: 50% trừ đi một nửa chiều cao của nút (40px / 2 = 20px) */
            top: calc(50% - 20px);
            z-index: 10;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--swiper-navigation-color, #fff);
            /* Sử dụng biến CSS Swiper hoặc màu mặc định */
            width: var(--swiper-navigation-size, 40px);
            /* Sử dụng biến CSS Swiper hoặc kích thước mặc định */
            height: var(--swiper-navigation-size, 40px);
            /* Sử dụng biến CSS Swiper hoặc kích thước mặc định */
            transition: 0.3s ease-out;
            /* Hiệu ứng chuyển động mượt mà */
        }

        .swiper-button-prev {
            left: var(--swiper-navigation-sides-offset, 10px);
            /* Đặt cách lề trái 10px */
            right: auto;
        }

        .swiper-button-next {
            right: var(--swiper-navigation-sides-offset, 10px);
            /* Đặt cách lề phải 10px */
            left: auto;
        }

        .swiper-rtl .swiper-button-next {
            left: var(--swiper-navigation-sides-offset, 10px);
            right: auto;
        }

        .swiper-rtl .swiper-button-prev {
            right: var(--swiper-navigation-sides-offset, 10px);
            left: auto;
        }

        [role="button"] {
            cursor: pointer;
        }

        .swiper-button-next::after,
        .swiper-button-prev::after {
            --swiper-navigation-size: 18px;
            /* Kích thước icon */
            color: #ff3635;
            ;
            font-family: swiper-icons;
            font-size: var(--swiper-navigation-size);
            /* Sử dụng kích thước đã định nghĩa */
            text-transform: none !important;
            letter-spacing: 0;
            font-variant: initial;
            line-height: 1;
        }

        /* Nội dung cụ thể cho nút "sau" */
        .swiper-button-next::after,
        .swiper-rtl .swiper-button-prev::after {
            content: '▶';
            /* Tạm thời dùng ký tự mũi tên Unicode nếu không có mã font */
        }

        /* Nội dung cụ thể cho nút "trước" */
        .swiper-button-prev::after,
        .swiper-rtl .swiper-button-next::after {
            content: '◀';
            /* Tạm thời dùng ký tự mũi tên Unicode nếu không có mã font */
        }

        .wrap-content {
            max-width: 1200px;
            width: calc(100% - 20px);
            margin: 0px auto;
        }

        @media (min-width : 1024px) {
            .lg\:grid-cols-\[auto_minmax\(0\,1fr\)\] {
                grid-template-columns: auto minmax(0, 1fr);
            }
        }

        .gap-\[1\.5rem_45px\] {
            gap: 1.5rem 45px;
        }

        .items-center {
            align-items: center;
        }

        .grid {
            display: grid;
        }

        .section-about .about-photo {
            position: relative;
            padding-top: 30px;
        }

        .scale-img {
            display: block;
            overflow: hidden;
        }

        .scale-img:hover>img {
            transform: scale(1.1, 1.1);
            transition: 0.3s all;
        }

        .section-about .about-title {
            color: #FF5700;
            font-size: 20px;
            font-weight: 700;
            text-transform: capitalize;
            margin-bottom: 0.25rem;
        }

        .section-about .about-photo::before {
            content: "";
            position: absolute;
            background: url(/assets/images/before-about-photo2.png) no-repeat center center/100% 100%;
            width: 366px;
            height: 180px;
            top: 0;
            left: -30px;
            z-index: -1;
            pointer-events: none;
        }

        .section-about .about-desc {
            color: #333;
            font-size: 15px;
            line-height: 24px;
            margin-bottom: 1.25rem;
        }

        .section-about .about-view {
            position: relative;
            background: url(/assets/images/bg-about-btn2.webp) no-repeat center center/100% 100%;
            width: 186px;
            height: 54px;
            display: flex;
            align-items: center;
            padding-left: 25px;
            color: #FFF;
            font-family: "SF Pro Display";
            font-size: 16px;
            font-weight: 800;
            text-transform: uppercase;
            transition: all 0.3s ease;
            filter: drop-shadow(0px 4px 6px #000);
            text-decoration: none;
        }

        .section-criteria {
            position: relative;
        }

        @media (min-width : 1024px) {
            .lg\:py-\[80px\] {
                padding-top: 80px;
                padding-bottom: 80px;
            }
        }

        .section-criteria::before {
            content: "";
            position: absolute;
            background: url(/assets/images/bannerfirst.webp) no-repeat center center/cover;
            inset: 0;
            pointer-events: none;
            z-index: -1;
        }

        .wrap-content {
            max-width: 1200px;
            width: calc(100% - 20px);
            margin: 0px auto;
        }

        .section-criteria .title-main {
            background: url(/assets/images/line-title-main-white.png) no-repeat center bottom;
        }

        .title-main {
            position: relative;
            text-align: center;
            background: url(/assets/images/line-title-main.png) no-repeat center bottom;
            padding-bottom: 1.5rem;
            margin-bottom: 2rem;
        }

        .criteria-list .criteria-cols:nth-child(2) .criteria-item .criteria-name::before {
            background: url(/assets/images/criteria-name-right2.webp) no-repeat center center/100% 100%;
            left: auto;
            right: 0;
        }

        .criteria-list .criteria-item .criteria-name::before {
            content: "";
            position: absolute;
            background: url(/assets/images/criteria-name2.webp) no-repeat center center/100% 100%;
            width: calc(100% + 50px);
            height: 34px;
            top: 0;
            left: 0;
            z-index: -1;
            pointer-events: none;
        }

        .criteria-list .criteria-item .criteria-photo:hover>img {
            transform: rotateY(360deg);
        }

        .title-main h2 {
            color: #C20000;
            font-family: "UTM HelvetIns";
            font-size: 35px;
            text-transform: uppercase;
            margin-bottom: 0.5rem;
        }

        .title-main p {
            color: #222;
            font-size: 14px;
            font-weight: 500;
            text-transform: capitalize;
            margin-bottom: 0;
        }

        .text-white {
            color: #fff !important;
        }

        .text-white {
            color: #fff !important;
        }

        .text-white {
            --tw-text-opacity: 1;
            color: rgb(255, 255, 255/ var(--tw-text-opacity));
        }

        .criteria-list .criteria-item {
            display: flex;
            align-items: center;
            gap: 8px;
            text-align: right;
        }

        .criteria-list .criteria-item .criteria-info {
            flex: 1 1 0%;
        }

        .criteria-list .criteria-item .criteria-name {
            display: inline-block;
            position: relative;
            color: #FFF;
            font-size: 16px;
            font-weight: 700;
            line-height: 24px;
            text-transform: uppercase;
            padding: 4px 8px 4px 30px;
            margin-bottom: 10px;
            transition: all .3s ease;
        }

        .line-clamp-1 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
        }

        a {
            color: inherit;
            text-decoration: none;
        }


        line-clamp-2 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

        .criteria-list .criteria-item .criteria-photo {
            flex-shrink: 0;
        }

        .criteria-list .criteria-item .criteria-photo img {
            transition: all 0.6s linear;
        }

        .criteria-list .criteria-item:nth-child(2) {
            padding-right: 20px;
        }

        .line-clamp-1 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
        }

        .criteria-list .criteria-item .criteria-desc {
            color: #FFF;
            font-size: 14px;
            line-height: 21px;
            margin-bottom: 0;
            text-shadow:
                -1px -1px 0 black,
                1px -1px 0 black,
                -1px 1px 0 black,
                1px 1px 0 black;
            font-weight: bold;
        }

        .line-clamp-2 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

        .criteria-list .criteria-item .criteria-photo {
            flex-shrink: 0;
        }

        .criteria-list .criteria-item .criteria-photo img {
            transition: all 0.6s linear;
        }

        .w-auto {
            width: auto !important;
        }

        img,
        svg {
            vertical-align: middle;
        }





        .criteria-list .criteria-item .criteria-photo {
            flex-shrink: 0;
        }

        .criteria-list .criteria-item .criteria-photo img {
            transition: all 0.6s linear;
        }

        .w-auto {
            width: auto !important;
        }

        .criteria-list .criteria-cols {
            display: grid;
            grid-template-columns: repeat(1, minmax(0, 1fr));
            gap: 44px;
        }

        .criteria-list .criteria-cols:nth-child(2) .criteria-item .criteria-name {
            padding: 4px 30px 4px 8px;
        }

        .line-clamp-1 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
        }

        a {
            color: inherit;
            text-decoration: none;
        }




        .criteria-list .criteria-item .criteria-photo {
            flex-shrink: 0;
        }

        .criteria-list .criteria-item .criteria-photo img {
            transition: all 0.6s linear;
        }

        .criteria-list .criteria-cols:nth-child(2) .criteria-item:nth-child(2) {
            padding-left: 20px;
        }

        .criteria-list .criteria-item:nth-child(2) {
            padding-right: 20px;
        }

        .criteria-list .criteria-cols:nth-child(2) .criteria-item .criteria-name {
            padding: 4px 30px 4px 8px;
        }

        .criteria-list {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
            align-items: center;
        }

        .line-clamp-1 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
        }

        a {
            color: inherit;
            text-decoration: none;
        }




        .criteria-list .criteria-item .criteria-photo {
            flex-shrink: 0;
        }

        .criteria-list .criteria-item .criteria-photo img {
            transition: all 0.6s linear;
        }

        .w-auto {
            width: auto !important;
        }

        .criteria-list .criteria-banner {
            grid-column: 2/3;
            grid-row: 1/3;
        }

        .criteria-list .criteria-cols:nth-child(2) .criteria-item {
            flex-direction: row-reverse;
            text-align: left;
        }

        @media (max-width : 576px) {
            .criteria-list .criteria-item {
                padding: 0 !important;
            }
        }

        .criteria-list .criteria-cols:nth-child(2) .criteria-item .criteria-name {
            padding: 4px 30px 4px 8px;
        }

        .line-clamp-1 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
        }

        a {
            color: inherit;
            text-decoration: none;
        }



        .criteria-list .criteria-item .criteria-photo {
            flex-shrink: 0;
        }

        .criteria-list .criteria-item .criteria-photo img {
            transition: all 0.6s linear;
        }

        .w-auto {
            width: auto !important;
        }

        img:not(.initial) {
            transition: opacity 1s;
        }

        .w-auto {
            width: auto !important;
        }

        img {
            height: auto;
            max-width: 100%;
            -o-object-fit: cover;
            object-fit: cover;
            display: inline-block;
        }

        @media (max-width : 769px) {
            .criteria-list {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                align-items: center;
                gap: 20px;
            }
        }

        @media (max-width : 576px) {
            .criteria-list {
                grid-template-columns: repeat(1, minmax(0, 1fr));
            }
        }

        @media (max-width : 576px) {
            .criteria-list .criteria-cols {
                gap: 20px;
            }
        }

        @media (max-width : 576px) {
            .criteria-list .criteria-item {
                padding: 0 !important;
            }
        }

        @media (max-width : 576px) {
            .title-main h2 {
                font-size: 26px;
            }
        }

        @media (max-width : 769px) {
            .title-main h2 {
                font-size: 30px;
            }
        }

        @media (max-width : 769px) {
            .criteria-list .criteria-banner {
                grid-column: 1/3;
                grid-row: auto;
                text-align: center;
            }
        }

        @media (max-width : 576px) {
            .criteria-list .criteria-banner {
                grid-column: 1/2;
            }
        }

        .section-product {
            background: #F3F7F2;
        }

        .max-width,
        .wrap-content {
            max-width: 1200px;
            width: calc(100% - 20px);
            margin: 0px auto;
        }

        .section-product .title-main {
            margin-bottom: 1rem;
        }

        .title-main {
            position: relative;
            text-align: center;
            background: url(/assets/images/line-title-main.png) no-repeat center bottom;
            padding-bottom: 1.5rem;
            margin-bottom: 2rem;
        }

        .title-main p {
            color: #222;
            font-size: 14px;
            font-weight: 500;
            text-transform: capitalize;
            margin-bottom: 0;
        }

        .section-product .choose-list {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 1.5rem;
        }

        .section-product .choose-list .choose-item.active {
            background: #C20000;
            ;
            color: #fff;
        }

        .section-product .choose-list .choose-item {
            cursor: pointer;
            display: inline-flex;
            justify-content: center;
            align-items: center;
            border-radius: 30px;
            background: #FFF;
            padding: 8px 30px;
            color: #000;
            font-size: 16px;
            font-weight: 600;
            line-height: 24px;
            text-transform: uppercase;
            transition: all 0.3s;
        }

        .position-relative {
            position: relative !important;
        }

        .loading-overlay {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.7);
            justify-content: center;
            align-items: center;
            z-index: 999;
        }

        .loading {
            width: 50px;
            height: 50px;
            border: 5px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top: 5px solid #3498db;
            animation: spin 1s linear infinite;
        }

        .grid {
            display: grid;
        }

        .grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @media (min-width : 320px) {
            .sm\:gap-3 {
                gap: 0.75rem;
            }
        }

        @media (min-width : 768px) {
            .md\:grid-cols-3 {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (min-width : 1024px) {
            .lg\:grid-cols-4 {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
        }

        @media (min-width : 1024px) {
            .lg\:gap-5 {
                gap: 1.25rem;
            }
        }

        .product-item {
            border: 1px solid #EBEBEB;
            background: #FFF;
            box-shadow: 0px 0px 8px 0px rgba(17, 17, 27, 0.1);
            padding: 12px 12px 1rem;
            text-align: center;
        }

        .product-photo {
            margin-bottom: 1rem;
        }

        .product-photo a {
            border-radius: 7px;
        }

        .scale-img {
            display: block;
            overflow: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .scale-img picture {
            transition: all 0.5s;
        }

        .w-100 {
            width: 100% !important;
        }

        picture {
            display: inline-block;
        }

        .scale-img img {
            transition: all 0.5s;
            transition: 0.3s all;
        }

        img:not(.initial) {
            transition: opacity 1s;
        }

        .w-100 {
            width: 100% !important;
        }

        img {
            height: auto;
            max-width: 100%;
            -o-object-fit: cover;
            object-fit: cover;
            display: inline-block;
        }

        .product-name {
            color: #222;
            font-size: 16px;
            font-weight: 600;
            line-height: 24px;
            text-transform: capitalize;
            margin-bottom: 0.5rem;
            transition: all 0.3s;
        }

        .text-split {
            --line-clamp: 3;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: normal;
            -webkit-box-orient: vertical;
            display: -webkit-box;
            -webkit-line-clamp: var(--line-clamp, 3);
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .product-price {
            color: #FF5700;
            font-size: 15px;
            font-weight: 700;
            text-transform: uppercase;
        }

        .justify-content-center {
            justify-content: center !important;
        }

        .d-flex {
            display: flex !important;
        }

        .pagination-ajax {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 20px;
        }

        @media (max-width : 768px) {
            .service {
                margin-right: 3px;
            }
        }

        .pagination-ajax .page-item.disabled .page-link {
            pointer-events: none;
        }

        .pagination-ajax .page-item .page-link {
            cursor: pointer;
            display: inline-flex;
            justify-content: center;
            align-items: center;
            width: 35px;
            height: 35px;
            font-size: 14px !important;
            line-height: 1;
            font-weight: 600;
            border: 1px solid #ababab;
            border-radius: 50% !important;
            color: #333;
            background: rgb(255, 255, 255);
            transition: all 0.3s ease;
        }

        .page-link {
            padding: .375rem .75rem;
        }

        .page-link {
            position: relative;
            display: block;
            color: #0d6efd;
            text-decoration: none;
            background-color: #fff;
            border: 1px solid #dee2e6;
            transition: color .15s ease-in-out, background-color .15s ease-in-out,
                border-color .15s ease-in-out, box-shadow .15s ease-in-out;
        }

        .pagination-ajax .page-item.active .page-link {
            color: #333;
            border-color: #c20000;
        }

        .py-8 {
            padding-top: 2rem;
            padding-bottom: 2rem;
        }

        @media (min-width : 1024px) {
            .lg\:py-\[70px\] {
                padding-top: 70px;
                padding-bottom: 70px;
            }
        }

        .section-service {
            position: relative;
        }

        .section-service::before {
            content: "";
            position: absolute;
            background: url(/assets/images/bg-service2.webp) no-repeat center center/100% 100%;
            inset: 0;
            pointer-events: none;
            z-index: -1;
        }

        .max-width,
        .wrap-content {
            max-width: 1200px;
            width: calc(100% - 20px);
            margin: 0px auto;
        }

        .section-service .title-main {
            background: url(/assets/images/line-title-main-white.png) no-repeat center bottom;
        }

        .title-main {
            position: relative;
            text-align: center;
            background: url(/assets/images/line-title-main.png) no-repeat center bottom;
            padding-bottom: 1.5rem;
            margin-bottom: 2rem;
        }

        .section-service .title-main h2,
        .section-service .title-main p {
            color: #fff;
        }

        .section-service .title-main h2,
        .section-service .title-main p {
            color: #fff;
        }

        .title-main p {
            color: #222;
            font-size: 14px;
            font-weight: 500;
            text-transform: capitalize;
            margin-bottom: 0;
        }

        p {
            margin-top: 0;
            margin-bottom: 1rem;
        }

        .section-service .swiper {
            margin: 0 20px;
        }

        .swiper-horizontal {
            touch-action: pan-y;
        }

        .swiper {
            margin-left: auto;
            margin-right: auto;
            position: relative;
            overflow: hidden;
            list-style: none;
            padding: 0;
            z-index: 1;
            display: block;
        }

        .swiper.swiper-initialized .swiper-wrapper {
            margin: 0;
            width: 100%;
            height: 100%;
        }

        .section-service .swiper-wrapper {
            align-items: center;
        }

        .swiper .swiper-wrapper {
            width: inherit;
            height: inherit;
        }

        .row {
            --bs-gutter-x: 1.5rem;
            --bs-gutter-y: 0;
            display: flex;
            flex-wrap: wrap;
            margin-top: calc(var(--bs-gutter-y)* -1);
            margin-right: calc(var(--bs-gutter-x)* -.5);
            margin-left: calc(var(--bs-gutter-x)* -.5);
        }

        .swiper-android .swiper-slide,
        .swiper-ios .swiper-slide,
        .swiper-wrapper {
            transform: translate3d(0px, 0, 0);
        }

        .swiper-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            z-index: 1;
            display: flex;
            transition-property: transform;
            transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
            box-sizing: content-box;
        }

        .flex-nowrap {
            flex-wrap: nowrap !important;
            ;
        }

        .swiper-slide {
            flex-shrink: 0;
            width: 100%;
            height: 100%;
            position: relative;
            transition-property: transform;
            display: block;
            opacity: 0;
            transition: opacity 1000ms ease-in-out;
        }

        .swiper-slide2 {
            flex-shrink: 0;
            width: 100%;
            height: 100%;
            position: relative;
            transition-property: transform;
            display: block;
            transition: opacity 1000ms ease-in-out;
        }

        .swiper-slide.active {
            opacity: 1;
            z-index: 2;
        }

        .col {
            flex: 1 0 0%;
        }

        .row-cols-1>* {
            flex: 0 0 auto;
            width: 100%;
        }

        @media (max-width: 767px) {
            .swiper-slide2 {
                width: 100% !important;
                /* Slide auto fit màn hình */
            }
        }

        @media (min-width : 768px) {
            .row-cols-md-2>* {
                flex: 0 0 auto;
                width: 50%;
            }
        }

        @media (min-width : 992px) {
            .row-cols-lg-3>* {
                flex: 0 0 auto;
                width: 33.3333333333%;
            }
        }

        .service-item {
            position: relative;
            border-radius: 20px;
            border: 3px solid #c20000;
            background: #FFF;
            box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.5);
            padding: 12px 12px 50px;
            text-align: center;
            margin-bottom: 22px;
        }

        /* FIX lỗi banner WebP không hiển thị / bị crop trong Swiper */


        /* 1) Ép swiper container auto height */
        #myCustomSlider,
        #myCustomSlider .swiper,
        #myCustomSlider .swiper-wrapper {
            height: auto !important;
        }

        /* 2) Slide tự fit theo ảnh */
        #myCustomSlider .swiper-slide {
            height: auto !important;
            opacity: 1 !important;
            /* loại bỏ fade ẩn gây mất slide */
            display: block !important;
            overflow: hidden;
        }

        /* 3) Ảnh trong slide giữ đúng tỷ lệ */
        #myCustomSlider picture,
        #myCustomSlider img {
            width: 100% !important;
            height: auto !important;
            object-fit: cover !important;
            display: block;
        }

        /* 4) Bắt Swiper cube/cards không ép chiều cao */
        .swiper-cube,
        .swiper-cards {
            height: auto !important;
        }

        /* 5) Ngăn Swiper script tự đặt height:100% */
        #myCustomSlider .swiper-slide {
            flex-shrink: 0;
        }

        .service-photo {
            margin-bottom: 1rem;
        }

        .service-photo a {
            border-radius: 20px;
        }

        .scale-img {
            display: block;
            overflow: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .service-info {
            padding: 0 12px;
        }

        .service-name {
            color: #000;
            font-size: 20px;
            font-weight: 700;
            line-height: 1.5;
            text-transform: uppercase;
            margin-bottom: 0.5rem;
            transition: all 0.3s;
        }

        .line-clamp-3 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
        }

        @media (min-width : 1200px) {

            .h3,
            h3 {
                font-size: 1.75rem;
            }
        }

        .h3,
        h3 {
            font-size: calc(1.3rem + .6vw);
        }

        .service-desc {
            color: #000;
            font-size: 13px;
            font-weight: 400;
            line-height: 24px;
            margin-bottom: 0;
        }

        .service-view {
            position: absolute;
            right: calc(50% - 90px);
            bottom: -22px;
            width: 180px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 15px;
            background: #FF5700;
            ;
            border-radius: 20px;
            padding-right: 6px;
            color: #FFF;
            font-size: 16px;
            font-weight: 700;
            line-height: 24px;
            text-transform: capitalize;
            transition: all 0.3s;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .swiper .swiper-notification {
            position: absolute;
            left: 0;
            top: 0;
            pointer-events: none;
            opacity: 0;
            z-index: -1000;
        }

        .service-view:hover {
            color: #fff;
            background: #00B300;
        }

        .section-service .swiper-slide:not(.swiper-slide-active) .service-item {
            border: 0;
            padding: 0 0 45px;
        }

        a:hover {
            color: #ff5700;
        }

        .section-social {
            position: relative;
        }

        .section-social {
            position: relative;
        }

        .py-8 {
            padding-top: 2rem;
            padding-bottom: 2rem;
        }

        .section-social::before {
            content: "";
            position: absolute;
            background: url(/assets/images/br111.webp) no-repeat center center/cover;
            inset: 0;
            pointer-events: none;
            z-index: -1;
        }

        .row {
            --bs-gutter-x: 1.5rem;
            --bs-gutter-y: 0;
            display: flex;
            flex-wrap: wrap;
            margin-top: calc(var(--bs-gutter-y)* -1);
            margin-right: calc(var(--bs-gutter-x)* -.5);
            margin-left: calc(var(--bs-gutter-x)* -.5);
        }

        .row-cols-1>* {
            flex: 0 0 auto;
            width: 45%;
        }

        @media (max-width : 767.98px) {
            .row-cols-1>* {
                width: 94%;
            }
        }

        @media (max-width : 1001px) {
            .row {
                --bs-gutter-x: 1rem;
                --bs-gutter-y: 1rem;
            }
        }

        .d-block {
            display: block !important;
        }

        @media (min-width : 1024px) {
            .lg\:grid-cols-\[55\%_minmax\(0\,1fr\)\] {
                grid-template-columns: 55% minmax(0, 1fr);
            }
        }

        .gap-\[1\.5rem_40px\] {
            gap: 1.5rem 40px;
        }

        .grid-cols-1 {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        @media (min-width : 1024px) {
            .lg\:grid-cols-\[auto_minmax\(0\,1fr\)\] {
                grid-template-columns: auto minmax(0, 1fr);
            }
        }

        .news-title {
            margin-bottom: 1.25rem;
        }

        .news-title h2 {
            color: #fff;
            font-family: "UTM HelvetIns";
            font-size: 35px;
            text-transform: uppercase;
            margin-bottom: 0.25rem;
        }

        .news-title p {
            color: #fff;
            font-size: 14px;
            font-weight: 500;
            text-transform: capitalize;
            margin-bottom: 0;
        }

        .product-item:hover .product-photo img {
            transform: scale(1.05);
        }

        .product-item:hover {
            transform: translateY(-5px) scale(1.02);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .choose-item:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        }

        @media (min-width : 1200px) {

            .h2,
            h2 {
                font-size: 2rem;
            }
        }

        .swiper-vertical {
            touch-action: pan-x;
        }

        .swiper.swiper-initialized .swiper-wrapper {
            margin: 0;
            width: 100%;
            height: 100%;
        }

        .swiper-vertical>.swiper-wrapper {
            flex-direction: column;
        }

        .flex-nowrap {
            flex-wrap: nowrap !important;
        }

        .swiper .swiper-notification {
            position: absolute;
            left: 0;
            top: 0;
            pointer-events: none;
            opacity: 0;
            z-index: -1000;
        }

        .swiper .swiper-notification {
            position: absolute;
            left: 0;
            top: 0;
            pointer-events: none;
            opacity: 0;
            z-index: -1000;
        }

        .news-item {
            display: flex;
            align-items: center;
            gap: 26px;
        }

        .news-photo {
            position: relative;
            width: 40%;
            border: 2px solid #007932;
            background: #FFF;
            padding: 6px;
        }

        .news-photo .news-time {
            position: absolute;
            right: -14px;
            bottom: 8px;
            width: 64px;
            height: 70px;
            background: #00B300;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding-bottom: 0.5rem;
        }

        .news-photo .news-time .day {
            position: relative;
            color: #FFF;
            font-size: 32px;
            font-weight: 700;
            line-height: 1.2;
            padding-bottom: 0.5rem;
        }

        .news-photo .news-time .month {
            color: #FFF;
            font-size: 13px;
            font-weight: 600;
            line-height: 1.2;
            text-transform: uppercase;
        }

        .news-info {
            flex: 1 1 0%;
        }

        .news-name {
            color: #000;
            font-size: 16px;
            font-weight: 700;
            line-height: 25px;
            text-transform: uppercase;
            transition: all 0.3s;
            border-bottom: 1px solid #DFDFDF;
            padding-bottom: 1rem;
            margin-bottom: 0.5rem;
        }

        .news-desc {
            color: #434343;
            font-size: 15px;
            font-weight: 500;
            line-height: 27px;
            margin-bottom: 0;
        }

        .swiper.swiper-initialized .swiper-slide {
            padding: 0;
            margin: 0px;
            overflow: hidden;
        }

        .swiper-backface-hidden .swiper-slide {
            transform: translateZ(0);
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }

        .swiper .swiper-notification {
            position: absolute;
            left: 0;
            top: 0;
            pointer-events: none;
            opacity: 0;
            z-index: -1000;
        }

        .section-newsletter {
            position: relative;
        }

        .section-newsletter::before {
            content: "";
            position: absolute;
            background: url(/assets/images/bannerlast.webp) no-repeat center center/cover;
            inset: 0;
            pointer-events: none;
            z-index: -1;
        }

        .newsletter-title {
            position: relative;
            text-align: center;
            margin-bottom: 1.5rem;
        }

        .newsletter-title .newsletter-icon {
            display: inline-block;
        }

        .newsletter-title .newsletter-name {
            color: #28323D;
            font-family: "UTM HelvetIns";
            font-size: 40px;
            font-weight: 400;
            text-transform: uppercase;
            margin-bottom: 0;
            margin-top: 0.25rem;
        }

        .newsletter-title .newsletter-desc {
            color: #222;
            font-size: 16px;
            font-weight: 400;
        }

        b,
        strong {
            font-weight: bolder;
        }

        .newsletter-form {
            max-width: 960px;
            margin: 0 auto;
        }

        @media (min-width : 1024px) {
            .lg\:grid-cols-2 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        .sm\:gap-5 {
            gap: 1.25rem;
        }

        input {
            margin: 0;
            font-family: inherit;
            font-size: inherit;
            line-height: inherit;
        }

        .newsletter-form .newsletter-input input.form-control1 {
            border-radius: 10px;
            background: #FFF;
            color: #222;
            font-size: 16px;
            font-weight: 400;
            height: 54px;
        }

        .form-control1 {
            display: block;
            width: 100%;
            padding: .375rem .75rem;
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.5;
            color: #212529;
            background-color: #fff;
            background-clip: padding-box;
            border: 1px solid #ced4da;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            border-radius: .25rem;
            transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
        }

        .text-sm {
            font-size: 0.875rem;
            line-height: 1.25rem;
        }

        .newsletter-form .newsletter-button button:hover {
            color: #fff;
            background: #00B300;
        }

        .newsletter-form .newsletter-button button {
            position: relative;
            width: 240px;
            height: 54px;
            border-radius: 10px;
            background: #FF5700;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #FFF;
            font-size: 16px;
            font-weight: 800;
            transition: all 0.3s ease;
        }

        [type="button"]:not(:disabled),
        [type="reset"]:not(:disabled),
        [type="submit"]:not(:disabled),
        button:not(:disabled) {
            cursor: pointer;
        }

        [type="button"],
        [type="reset"],
        [type="submit"],
        button {
            -webkit-appearance: button;
        }

        @media (max-width: 768px) {
            .slideshow {
                display: none;
                /* Ẩn hoàn toàn phần tử */
            }
        }

/* --- Block 2: Service Section Responsive Overrides --- */
            /* Media query cho màn hình nhỏ hơn hoặc bằng 767px (điện thoại và một số tablet nhỏ) */
            @media (max-width: 767px) {

                /* Loại bỏ chiều cao cố định của section nếu bạn muốn nó co giãn linh hoạt trên di động */
                .section-service {
                    height: auto !important;
                    /* Sử dụng !important để ghi đè inline style */
                }

                /* Vô hiệu hóa chức năng Swiper */
                .swiper-wrapper {
                    display: block !important;
                    /* Hiển thị các slide dưới dạng khối, mỗi slide một hàng */
                    transform: none !important;
                    /* Loại bỏ transform của Swiper để các slide không dịch chuyển */
                    width: 100% !important;
                    /* Đảm bảo wrapper chiếm toàn bộ chiều rộng */
                    flex-direction: column !important;
                    /* Đảm bảo các mục xếp chồng lên nhau */
                }

                .swiper-slide2 {
                    width: 100% !important;
                    /* Mỗi slide chiếm toàn bộ chiều rộng */
                    margin-right: 0 !important;
                    /* Loại bỏ khoảng cách giữa các slide */
                    margin-bottom: 20px;
                    /* Thêm khoảng cách dưới mỗi slide */
                    flex-shrink: 0 !important;
                    /* Đảm bảo không bị co lại */
                }

                /* Ẩn các nút điều hướng và phân trang của Swiper nếu có */
                .swiper-button-next,
                .swiper-button-prev,
                .swiper-pagination {
                    display: none !important;
                }

                /* Điều chỉnh các lớp Bootstrap nếu cần thiết để đảm bảo hiển thị 1 cột trên di động */
                .row-cols-1 {
                    display: block !important;
                    /* Để .row hoạt động như một khối chứa các cột */
                }

                .row-cols-md-2>.col {
                    flex: 0 0 100% !important;
                    /* Trên màn hình md trở xuống, mỗi cột chiếm 100% */
                    max-width: 100% !important;
                }

                .row-cols-lg-3>.col {
                    flex: 0 0 100% !important;
                    /* Trên màn hình lg trở xuống, mỗi cột chiếm 100% */
                    max-width: 100% !important;
                }

                /* Đảm bảo các mục service có khoảng cách phù hợp */
                .service-item {
                    margin-bottom: 30px;
                    /* Đã có margin-bottom trên .swiper-slide2 */
                }
            }

/* --- Block 3: Achievements & Certificates --- */
                .achievements-section {
                    max-width: 1200px;
                    margin: 0 auto;
                    padding: 0 2rem;
                }

                .section-header {
                    text-align: center;
                    margin-bottom: 4rem;
                    animation: fadeInUp 0.8s ease-out;
                }

                .section-title {
                    font-size: 3rem;
                    font-weight: 700;
                    color: white;
                    margin-bottom: 1rem;
                    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
                    position: relative;
                }

                .section-title::after {
                    content: '';
                    display: block;
                    width: 100px;
                    height: 4px;
                    background: linear-gradient(90deg, #ff6b6b, #feca57);
                    margin: 1rem auto;
                    border-radius: 2px;
                }

                .section-subtitle {

                    color: rgba(255, 255, 255, 0.9);
                    max-width: 600px;
                    margin: 0 auto;
                    line-height: 1.6;
                }

                .achievements-grid {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
                    gap: 2.5rem;
                    margin-top: 3rem;
                }

                .achievement-card {
                    background: rgba(255, 255, 255, 0.1);
                    backdrop-filter: blur(10px);
                    border-radius: 20px;
                    overflow: hidden;
                    border: 1px solid rgba(255, 255, 255, 0.2);
                    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
                    position: relative;
                    animation: fadeInUp 0.8s ease-out;
                }

                .achievement-card:nth-child(2) {
                    animation-delay: 0.2s;
                }

                .achievement-card:nth-child(3) {
                    animation-delay: 0.4s;
                }

                .achievement-card:hover {
                    transform: translateY(-10px) scale(1.02);
                    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
                    border-color: rgba(255, 255, 255, 0.4);
                }

                .card-image {
                    width: 100%;
                    height: 250px;
                    background: linear-gradient(45deg, #ff9a9e, #fecfef, #fecfef);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    position: relative;
                    overflow: hidden;
                }

                .card-image::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    background:
                        radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.3) 0%, transparent 50%),
                        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.2) 0%, transparent 50%),
                        radial-gradient(circle at 40% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
                }

                .card-image-1 {
                    background: linear-gradient(135deg, #667eea, #764ba2);
                }

                .card-image-2 {
                    background: linear-gradient(135deg, #f093fb, #f5576c);
                }

                .card-image-3 {
                    background: linear-gradient(135deg, #4facfe, #00f2fe);
                }

                .image-icon {
                    font-size: 4rem;
                    color: white;
                    z-index: 1;
                    position: relative;
                    animation: float 3s ease-in-out infinite;
                }

                .card-content {
                    padding: 2rem;
                    text-align: center;
                }

                .card-title {

                    font-weight: 600;
                    color: white;
                    margin-bottom: 0.8rem;
                }

                .card-description {
                    color: rgba(255, 255, 255, 0.8);
                    line-height: 1.6;
                    font-size: 13px;
                }

                .card-badge {
                    position: absolute;
                    top: 1rem;
                    right: 1rem;
                    background: rgba(255, 255, 255, 0.2);
                    color: white;
                    padding: 0.5rem 1rem;
                    border-radius: 20px;
                    font-size: 0.8rem;
                    font-weight: 500;
                    backdrop-filter: blur(10px);
                }

                @keyframes fadeInUp {
                    from {
                        opacity: 0;
                        transform: translateY(30px);
                    }

                    to {
                        opacity: 1;
                        transform: translateY(0);
                    }
                }

                @keyframes float {

                    0%,
                    100% {
                        transform: translateY(0px);
                    }

                    50% {
                        transform: translateY(-10px);
                    }
                }

                /* Responsive Design */
                @media (max-width: 768px) {
                    .section-title {
                        font-size: 2.2rem;
                    }

                    .achievements-grid {
                        grid-template-columns: 1fr;
                        gap: 2rem;
                    }

                    .achievement-card {
                        margin: 0 1rem;
                    }

                    .achievements-section {
                        padding: 0 1rem;
                    }

                    .card-image {
                        height: 200px;
                    }

                    .image-icon {
                        font-size: 3rem;
                    }
                }

                @media (max-width: 480px) {
                    .section-title {
                        font-size: 1.8rem;
                    }

                    .section-subtitle {
                        font-size: 13px;
                    }

                    .card-content {
                        padding: 1.5rem;
                    }

                    .card-title {
                        font-size: 1.2rem;
                    }
                }

/* --- Block 4: Team Grid & Newsletter --- */
        .wrap-content1 {
            width: 100%;
            max-width: none;
            padding: 0 20px;
        }

        .news-list {
            width: 100%;
        }

        .news-cols {
            width: 100%;
        }

        .news-title {
            text-align: center;
            margin-bottom: 60px;
            animation: fadeInUp 1s ease-out;
        }

        .news-title h2 {
            font-size: 3.5rem;
            font-weight: 700;
            color: white;
            margin-bottom: 20px;
            position: relative;
            display: inline-block;
        }

        .news-title h2::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 100px;
            height: 4px;
            background: linear-gradient(90deg, #00f5ff, #ff00ff);
            border-radius: 2px;
            animation: glow 2s ease-in-out infinite alternate;
        }

        .news-title p {
            font-size: 14px;
            color: rgba(255, 255, 255, 0.8);
            max-width: 600px;
            margin: 0 auto;
            line-height: 1.6;
        }

        .containermini {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0;
        }

        .team-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-template-rows: auto auto auto;
            gap: 30px;
            width: 100%;
            margin-top: 40px;
        }

        /* Layout chính */
        .main-card {
            grid-column: 2 / 4;
            /* Chiếm 2 cột giữa (cột 2 và 3) */
            grid-row: 1;
        }

        .team-card:nth-child(2) {
            grid-column: 1 / 3;
            /* Chiếm 2 cột bên trái */
            grid-row: 2;
        }

        .team-card:nth-child(3) {
            grid-column: 3 / 5;
            /* Chiếm 2 cột bên phải */
            grid-row: 2;
        }

        .team-card:nth-child(4) {
            grid-column: 1 / 3;
            /* Chiếm 2 cột bên trái */
            grid-row: 3;
        }

        .team-card:nth-child(5) {
            grid-column: 3 / 5;
            /* Chiếm 2 cột bên phải */
            grid-row: 3;
        }

        .team-card {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(20px);
            border-radius: 25px;
            padding: 30px 20px;
            text-align: center;
            border: 1px solid rgba(255, 255, 255, 0.2);
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            position: relative;
            overflow: hidden;
            cursor: pointer;
            animation: slideInUp 0.8s ease-out;
            animation-fill-mode: both;
            min-height: 420px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .team-card1 {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(20px);
            border-radius: 25px;
            padding: 30px 20px;
            text-align: center;
            border: 1px solid rgba(255, 255, 255, 0.2);
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            position: relative;
            overflow: hidden;
            cursor: pointer;
            animation: slideInUp 0.8s ease-out;
            animation-fill-mode: both;
            min-height: 420px;
            display: flex;
            justify-content: space-between;
        }

        /* Layout ngang cho 4 card cuối */
        .team-card:not(.main-card) {
            flex-direction: row;
            text-align: left;
            padding: 25px;
            min-height: 200px;
            align-items: center;
            gap: 25px;
        }

        .main-card {
            background: rgba(255, 255, 255, 0.15);
            border: 2px solid rgba(255, 255, 255, 0.3);
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
            min-height: 40px;
        }

        .main-card .avatar {
            width: 200px;
            height: 200px;
            margin: 0 auto 25px;
        }

        .main-card .member-name {
            font-size: 1.6rem;
            margin-bottom: 15px;
        }

        .main-card .member-position {
            font-size: 1.1rem;
            margin-bottom: 20px;
        }

        .main-card .member-description {
            font-size: 15px;
            line-height: 1.5;
        }

        .team-card:nth-child(1) {
            animation-delay: 0.3s;
        }

        .team-card:nth-child(2) {
            animation-delay: 0.1s;
        }

        .team-card:nth-child(3) {
            animation-delay: 0.2s;
        }

        .team-card:nth-child(4) {
            animation-delay: 0.4s;
        }

        .team-card:nth-child(5) {
            animation-delay: 0.5s;
        }

        .team-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
            transition: left 0.6s;
        }

        .team-card:hover::before {
            left: 100%;
        }

        .team-card:hover {
            transform: translateY(-10px) scale(1.02);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
            background: rgba(255, 255, 255, 0.15);
        }

        .main-card:hover {
            transform: translateY(-15px) scale(1.03);
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4);
        }

        .avatar {
            width: 180px;
            height: 180px;
            border-radius: 50%;
            margin: 0 auto 20px;
            background: linear-gradient(45deg, #667eea, #764ba2, #f093fb, #f5576c);
            background-size: 300% 300%;
            animation: gradientShift 4s ease infinite;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.5rem;
            color: white;
            font-weight: bold;
            position: relative;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            flex-shrink: 0;
        }

        /* Avatar cho 4 card cuối */
        .team-card:not(.main-card) .avatar {
            width: 120px;
            height: 120px;
            margin: 0;
            font-size: 1.8rem;
        }

        /* Container cho thông tin text */
        .team-card:not(.main-card) .member-info {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .member-info {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%;
        }

        .avatar::before {
            content: '';
            position: absolute;
            inset: 3px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.1);
        }

        .team-card:hover .avatar {
            animation-duration: 1s;
            transform: scale(1.1);
        }

        .member-name {
            font-weight: 700;
            color: white;
            margin-bottom: 8px;
            transition: all 0.3s ease;
        }

        .team-card:not(.main-card) .member-name {
            font-size: 22px;
            margin-bottom: 5px;
        }

        .team-card:hover .member-name {
            color: #00f5ff;
            text-shadow: 0 0 15px rgba(0, 245, 255, 0.6);
        }

        .member-position {
            color: #68ff00;
            margin-bottom: 15px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .team-card:not(.main-card) .member-position {
            font-size: 14px;
            margin-bottom: 10px;
        }

        .member-description {
            color: rgba(255, 255, 255, 0.8);
            line-height: 1.4;
            font-size: 13px;
            margin-bottom: 20px;
            flex-grow: 1;
        }

        .team-card:not(.main-card) .member-description {
            font-size: 13px;
            margin-bottom: 0;
            flex-grow: 0;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes slideInUp {
            from {
                opacity: 0;
                transform: translateY(50px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes gradientShift {
            0% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }

            100% {
                background-position: 0% 50%;
            }
        }

        @keyframes glow {
            from {
                box-shadow: 0 0 20px rgba(0, 245, 255, 0.5);
            }

            to {
                box-shadow: 0 0 30px rgba(255, 0, 255, 0.5);
            }
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-10px);
            }
        }

        .floating {
            animation: float 3s ease-in-out infinite;
        }

        .floating:nth-child(2) {
            animation-delay: 0.5s;
        }

        .floating:nth-child(3) {
            animation-delay: 1s;
        }

        .floating:nth-child(4) {
            animation-delay: 1.5s;
        }

        .floating:nth-child(5) {
            animation-delay: 2s;
        }

        /* Responsive Design */
        @media (max-width: 1200px) {
            .team-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 25px;
            }

            .main-card {
                grid-column: 1 / 3;
                grid-row: 1;
            }

            .team-card:nth-child(2) {
                grid-column: 1;
                grid-row: 2;
            }

            .team-card:nth-child(3) {
                grid-column: 2;
                grid-row: 2;
            }

            .team-card:nth-child(4) {
                grid-column: 1;
                grid-row: 3;
            }

            .team-card:nth-child(5) {
                grid-column: 2;
                grid-row: 3;
            }
        }

        @media (max-width: 768px) {
            .news-title h2 {
                font-size: 2.5rem;
            }

            .team-grid {
                grid-template-columns: 1fr;
                gap: 20px;
            }

            .main-card,
            .team-card:nth-child(2),
            .team-card:nth-child(3),
            .team-card:nth-child(4),
            .team-card:nth-child(5) {
                grid-column: 1;
            }

            .main-card {
                grid-row: 1;
            }

            .team-card:nth-child(2) {
                grid-row: 2;
            }

            .team-card:nth-child(3) {
                grid-row: 3;
            }

            .team-card:nth-child(4) {
                grid-row: 4;
            }

            .team-card:nth-child(5) {
                grid-row: 5;
            }

            .team-card {
                padding: 20px;
                min-height: 350px;
            }

            .main-card {
                min-height: 400px;
                flex-direction: column;
                text-align: center;
            }

            /* Mobile: chuyển về layout dọc cho tất cả cards */
            .team-card:not(.main-card) {
                flex-direction: column;
                text-align: center;
                gap: 15px;
                min-height: 300px;
            }

            .team-card:not(.main-card) .avatar {
                width: 100px;
                height: 100px;
                margin: 0 auto 15px;
            }

            .avatar {
                width: 150px;
                height: 150px;
            }

            .main-card .avatar {
                width: 180px;
                height: 180px;
            }

            .member-name {
                font-size: 1.4rem;
            }

            .main-card .member-name {
                font-size: 1.8rem;
            }

            .member-description {
                font-size: 13px;
            }
        }

/* --- Block 5: Interactive Animations & 2026 Modern Enhancements --- */
@keyframes ripple {
    to {
        transform: scale(1);
        opacity: 0;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes dtFadeUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes dtShimmer {
    0% {
        transform: translateX(-150%) skewX(-20deg);
    }
    100% {
        transform: translateX(250%) skewX(-20deg);
    }
}

@keyframes dtFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

@keyframes dtPulseRing {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(2, 132, 199, 0.45);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 14px rgba(2, 132, 199, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(2, 132, 199, 0);
    }
}

/* ==========================================================================
   SCROLL REVEAL (IntersectionObserver 60fps Native Animations)
   ========================================================================== */
.dt-reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.dt-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.dt-delay-1 { transition-delay: 80ms; }
.dt-delay-2 { transition-delay: 160ms; }
.dt-delay-3 { transition-delay: 240ms; }
.dt-delay-4 { transition-delay: 320ms; }
.dt-delay-5 { transition-delay: 400ms; }
.dt-delay-6 { transition-delay: 480ms; }

/* ==========================================================================
   STATS SHOWCASE BAR (Dải Số Liệu Năng Lực 2026)
   ========================================================================== */
.section-stats {
    background: transparent;
    position: relative;
    z-index: 20;
    margin-top: 25px;
    margin-bottom: 65px;
}

.dt-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    background: linear-gradient(135deg, #F0F9FF 0%, #FFFFFF 60%, #F8FAFC 100%);
    border: 1.5px solid #BAE6FD;
    border-radius: 16px;
    padding: 24px 28px;
    box-shadow: 0 12px 36px rgba(2, 132, 199, 0.1);
}

.dt-stat-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 6px 12px;
    border-right: 1px dashed #BAE6FD;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.dt-stat-item:last-child {
    border-right: none;
}

.dt-stat-item:hover {
    transform: translateY(-4px);
}

.dt-stat-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: #E0F2FE;
    color: #0284C7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.12);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.dt-stat-item:hover .dt-stat-icon {
    background: #0284C7;
    color: #FFFFFF;
    transform: rotate(10deg) scale(1.05);
    box-shadow: 0 6px 18px rgba(2, 132, 199, 0.3);
}

.dt-stat-meta {
    display: flex;
    flex-direction: column;
}

.dt-stat-number {
    font-size: 34px;
    font-weight: 800;
    color: #0284C7;
    line-height: 1.1;
    font-family: var(--dt-font, 'Plus Jakarta Sans', sans-serif);
    display: flex;
    align-items: baseline;
    gap: 2px;
}

.dt-stat-suffix {
    color: #FF6500;
    font-size: 24px;
    font-weight: 800;
}

.dt-stat-label {
    font-size: 12.5px;
    font-weight: 600;
    color: #475569;
    margin-top: 3px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

@media (max-width: 991px) {
    .section-stats {
        margin-top: 0;
    }
    .dt-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        padding: 20px;
    }
    .dt-stat-item:nth-child(2) {
        border-right: none;
    }
}

@media (max-width: 575px) {
    .dt-stats-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .dt-stat-item {
        border-right: none;
        border-bottom: 1px dashed #BAE6FD;
        padding-bottom: 12px;
    }
    .dt-stat-item:last-child {
        border-bottom: none;
    }
}

/* ==========================================================================
   2026 PRODUCT CARDS & CRITERIA MICRO-INTERACTIONS
   ========================================================================== */
.product-item {
    border-radius: 12px;
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    transition: all 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.product-item:hover {
    transform: translateY(-6px) !important;
    border-color: #7DD3FC !important;
    box-shadow: 0 16px 32px rgba(2, 132, 199, 0.16) !important;
}

.product-item .product-photo {
    overflow: hidden;
    position: relative;
}

.product-item .product-photo img {
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.product-item:hover .product-photo img {
    transform: scale(1.07) !important;
}

.product-item .product-name a {
    transition: color 0.2s ease;
}

.product-item:hover .product-name a {
    color: #0284C7 !important;
}

/* Mechanical Logo 3D Floating */
.criteria-banner img {
    animation: dtFloat 4.5s ease-in-out infinite !important;
    filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.28));
    transition: transform 0.4s ease;
}

.criteria-banner img:hover {
    transform: scale(1.04);
}

/* Criteria Items Hover Elevation */
.criteria-item {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.criteria-item:hover {
    transform: translateY(-4px) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 12px 26px rgba(2, 132, 199, 0.22) !important;
}

/* Service Item Hover Polish */
.service-item {
    transition: all 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border-radius: 12px;
    overflow: hidden;
}

.service-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px rgba(2, 132, 199, 0.14);
}

/* Metallic Shimmer Effect on CTA Buttons */
.about-view, .dt-btn-quote, .btn-submit, .service-view {
    position: relative !important;
    overflow: hidden !important;
}

.about-view::before, .dt-btn-quote::before, .btn-submit::before, .service-view::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 60px !important;
    height: 100% !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.45) 50%, rgba(255, 255, 255, 0) 100%) !important;
    transform: translateX(-150%) skewX(-20deg) !important;
    pointer-events: none !important;
}

.about-view:hover::before, .dt-btn-quote:hover::before, .btn-submit:hover::before, .service-view:hover::before {
    animation: dtShimmer 1.1s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

