 * {
     margin: 0;
     padding: 0;
     /* box-sizing: border-box; */
 }

 body {
     font-family: 'Arial', sans-serif;
     background-color: #f5f7fa;
     color: #333;
     padding: 20px;
 }

 .container {
     max-width: 1200px;
     margin: 0 auto;
     position: relative;
 }

 .tabs {
     display: flex;
     gap: 10px;
     margin-top: 47px;
     margin-bottom: 20px;
     justify-content: center;
     flex-wrap: wrap;
 }

 .tab {
     padding: 8px 16px;
     background: white;
     border: 1px solid #d9d9d9;
     border-radius: 8px;
     cursor: pointer;
     font-weight: 400;
     font-size: 16px;
     color: #808180;
     transition: all 0.2s;
     user-select: none;
     box-sizing: border-box;
 }

 .tab.active {
     background: #108CDA;
     color: white;
     border-color: #108CDA;
 }

 .tab:hover {
     background: #108CDA;
     color: white;
     border-color: #108CDA;
 }

 .grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 16px;
     margin-top: 41px;
 }

 .video-card {
     width: 389px;
     height: 301px;
     background: rgba(0, 0, 0, 0.4);
     border-radius: 10px;
     transition: transform 0.3s ease;
 }

 .video-card:hover {
     transform: translateY(-4px);
 }

 .video-thumbnail {
     position: relative;
     width: 389px;
     height: 237px;
     overflow: hidden;
 }

 .video-thumbnail img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .play-button {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 50px;
     height: 50px;
     background: rgba(0, 0, 0, 0.6);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
 }

 .play-button svg {
     width: 20px;
     height: 20px;
     fill: white;
 }

 .video-title {
     width: 389px;
     height: 64px;
     padding: 12px;
     font-weight: 500;
     font-size: 16px;
     color: #3C3E42;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
     background: #ffffff;
     border-radius: 0px 0px 10px 10px;
     box-sizing: border-box;
 }

 .service-section {
     position: relative;
     width: 100%;
     height: 100%;
     text-align: center;
     margin-top: 48px;
 }

 .background-map {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 757px;
     background-color: #ffffff;
     background-size: cover;
     background-position: center;
     z-index: 1;
 }

 .section-title {
     font-weight: 700;
     font-size: 36px;
     color: #3D3D3D;
     padding-top: 48px;
     margin-bottom: 10px;
     position: relative;
     z-index: 2;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .section-title span {
     color: #108CDA;
 }

 .section-subtitle {
     font-size: 14px;
     color: #808180;
     margin-top: 27px;
     margin-bottom: 47px;
     position: relative;
     z-index: 2;
     line-height: 1.6;
 }

 .cards-container {
     display: flex;
     justify-content: space-between;
     gap: 10px;
     flex-wrap: wrap;
     position: relative;
     z-index: 2;
 }

 .cards-flex {
     display: flex;
     flex-direction: column;
     align-items: center;
     transition: transform 0.3s ease;
 }

 /* .card {
     flex: 1;
     width: 290px;
     background: white;
     border-radius: 12px;
     overflow: hidden;
     box-shadow: 0px -5px 0px 0px #108CDA;
     transition: transform 0.3s ease;
     position: relative;
     z-index: 2;
 }

 .cards-flex:hover {
     transform: translateY(-8px);
 }

 .card img {
     width: 290px;
     height: 211px;
     object-fit: cover;
 }

 .card-icon {
     width: 83px;
     height: 83px;
     margin-bottom: 7px;
     background: #f9f9f9;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #108CDA;
     font-size: 20px;
     z-index: 1;
 }

 .card-content {
     width: 254px;
     height: 185px;
     text-align: center;
     box-shadow: 0px 4px 10px 0px rgba(228, 230, 237, 0.75);
     border-radius: 20px;
     margin: 0 auto;
     margin-top: -58px;
     z-index: 3;
     background: #f9f9f9;
 }

 .card-title {
     font-weight: 700;
     font-size: 20px;
     color: #3C3E42;
     margin-bottom: 46px;
     margin-top: 19px;
 }

 .card-desc {
     width: 222px;
     height: 58px;
     line-height: 1.5;
     overflow: hidden;
     text-overflow: ellipsis;
     display: -webkit-box;
     -webkit-box-orient: vertical;
     font-weight: 400;
     font-size: 14px;
     color: #808180;
     margin: auto;
 }

 .card-button {
     width: 47px;
     height: 47px;
     background: #192F5D;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     margin: 0 auto;
     color: white;
     font-size: 14px;
     margin-top: -23.5px;
     transition: all 0.3s ease;
     transform: rotate(45deg);
     z-index: 3;
 }

 .card-button:hover {
     transform: rotate(90deg);
 } */

 /* .cards-flex.active .card-content {
     background: #192F5D;
     color: white;
     box-shadow: 0 4px 12px rgba(16, 140, 218, 0.3);
     border: 1px solid #ffffff;
 }

 .cards-flex.active .card-title,
 .cards-flex.active .card-desc {
     color: white;
 }

 .cards-flex.active .card-icon {
     background: #108CDA;
     color: white;
 }

 .tech_case {
     display: flex;
     align-items: center;
     justify-content: center;
     margin: auto;
 }

 .tech-underline {
     width: 25px;
     height: 4px;
     border-radius: 24px;
     background: #108CDA;
     margin: 0 4px;
     z-index: 3;
 } */