 .sr-only {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
     clip: rect(0, 0, 0, 0);
     white-space: nowrap;
     border: 0
 }

 .icon-svg {
     width: 1em;
     height: 1em;
     vertical-align: -0.125em;
     display: inline-block
 }

 :root {
     --primary-color: #1a73e8;
     --primary-dark: #1557b0;
     --secondary-color: #4285f4;
     --text-color: #333333;
     --text-light: #666666;
     --text-lighter: #999999;
     --white-color: #ffffff;
     --light-gray: #f5f5f5;
     --medium-gray: #e0e0e0;
     --dark-gray: #333333;
     --border-color: var(--medium-gray);
     --font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
     --font-size-sm: 14px;
     --font-size-base: 16px;
     --font-size-lg: 18px;
     --font-size-xl: 24px;
     --font-size-2xl: 32px;
     --font-size-3xl: 48px;
     --font-size-5xl: 64px;
     --font-size-6xl: 72px;
     --spacing-xs: 8px;
     --spacing-sm: 16px;
     --spacing-md: 24px;
     --spacing-lg: 32px;
     --spacing-xl: 48px;
     --spacing-2xl: 64px;
     --spacing-3xl: 96px;
     --border-radius-sm: 4px;
     --border-radius-md: 8px;
     --border-radius-lg: 16px;
     --border-radius-xl: 20px;
     --border-radius-2xl: 24px;
     --border-radius-3xl: 28px;
     --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
     --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
     --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);
     --shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.2);
     --transition: all 0.3s ease;
     --transition-fast: all 0.2s ease
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box
 }

 body {
     font-family: var(--font-family);
     font-size: var(--font-size-base);
     line-height: 1.6;
     color: var(--text-color);
     background-color: var(--white-color);
     overflow-x: hidden
 }

 .container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 var(--spacing-md)
 }

 .btn {
     display: inline-block;
     padding: var(--spacing-sm) var(--spacing-md);
     font-size: var(--font-size-base);
     font-weight: 500;
     text-align: center;
     text-decoration: none;
     border: none;
     border-radius: var(--border-radius-sm);
     cursor: pointer;
     transition: var(--transition);
     outline: none
 }

 .btn-primary {
     background-color: var(--primary-color);
     color: var(--white-color)
 }

 .btn-primary:hover {
     background-color: var(--primary-dark);
     box-shadow: var(--shadow-md)
 }

 .btn-secondary {
     background-color: transparent;
     color: var(--primary-color);
     border: 1px solid var(--primary-color)
 }

 .btn-secondary:hover {
     background-color: var(--primary-color);
     color: var(--white-color)
 }

 .btn-lg {
     padding: var(--spacing-md) var(--spacing-xl);
     font-size: var(--font-size-lg)
 }

 .section-title {
     font-size: var(--font-size-2xl);
     font-weight: 700;
     color: var(--dark-gray);
     margin-bottom: var(--spacing-sm);
     text-align: center
 }

 .section-subtitle {
     font-size: var(--font-size-base);
     color: var(--text-light);
     text-align: center;
     margin-bottom: var(--spacing-2xl);
     max-width: 700px;
     margin-left: auto;
     margin-right: auto
 }

 .timeline .section-header {
     text-align: center;
     margin-bottom: 40px;
     position: relative;
     z-index: 3
 }

 .timeline .section-title {
     font-size: 3rem;
     font-weight: 700;
     color: var(--text-color);
     margin-bottom: 20px;
     position: relative;
     letter-spacing: -0.5px
 }

 .timeline .section-title::after {
     display: none
 }

 .timeline .section-subtitle {
     font-size: 1.1rem;
     color: var(--text-light);
     font-weight: 400;
     margin-bottom: 0;
     position: relative;
     z-index: 2;
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
     line-height: 1.6
 }

 .header {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     background-color: transparent;
     backdrop-filter: none;
     box-shadow: none;
     z-index: 1000;
     transition: var(--transition)
 }

 .navbar {
     padding: var(--spacing-md) 0
 }

 .navbar .container {
     display: flex;
     justify-content: space-between;
     align-items: center
 }

 .navbar-brand .logo {
     display: flex;
     align-items: center;
     gap: var(--spacing-xs);
     text-decoration: none;
     color: var(--dark-gray);
     font-size: var(--font-size-xl);
     font-weight: 700
 }

 .navbar-brand .logo i {
     color: var(--primary-color);
     font-size: var(--font-size-2xl)
 }

 .logo-image {
     height: 40px;
     width: auto;
     object-fit: contain;
     transition: var(--transition)
 }

 .navbar-menu {
     flex: 1;
     text-align: center
 }

 .nav-list {
     display: flex;
     justify-content: center;
     gap: var(--spacing-xl);
     list-style: none
 }

 .nav-item .nav-link {
     color: var(--text-color);
     text-decoration: none;
     font-size: var(--font-size-base);
     font-weight: 500;
     padding: var(--spacing-xs) 0;
     position: relative;
     transition: var(--transition)
 }

 .nav-item .nav-link:hover {
     color: var(--primary-color)
 }

 .nav-item .nav-link::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 0;
     height: 2px;
     background-color: var(--primary-color);
     transition: var(--transition)
 }

 .nav-item .nav-link:hover::after {
     width: 100%
 }

 .navbar-actions {
     display: flex;
     gap: var(--spacing-sm)
 }

 .mobile-menu-btn {
     display: none;
     background: none;
     border: none;
     font-size: var(--font-size-2xl);
     color: var(--text-color);
     cursor: pointer;
     transition: var(--transition)
 }

 .mobile-menu {
     position: fixed;
     top: 0;
     right: -100%;
     width: 80%;
     height: 100vh;
     background-color: var(--white-color);
     box-shadow: -5px 0 20px rgba(0, 0, 0, 0.1);
     z-index: 1001;
     transition: var(--transition);
     overflow-y: auto
 }

 .mobile-menu.active {
     right: 0
 }

 .mobile-menu-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: var(--spacing-md);
     border-bottom: 1px solid var(--medium-gray)
 }

 .mobile-menu-header .logo {
     display: flex;
     align-items: center;
     gap: var(--spacing-xs);
     text-decoration: none;
     color: var(--dark-gray);
     font-size: var(--font-size-xl);
     font-weight: 700
 }

 .mobile-menu-header .logo i {
     color: var(--primary-color);
     font-size: var(--font-size-2xl)
 }

 .mobile-menu-close {
     background: none;
     border: none;
     font-size: var(--font-size-2xl);
     color: var(--text-color);
     cursor: pointer;
     transition: var(--transition)
 }

 .mobile-menu-close:hover {
     color: var(--primary-color)
 }

 .mobile-nav-list {
     list-style: none;
     padding: var(--spacing-md)
 }

 .mobile-nav-item {
     margin-bottom: var(--spacing-md)
 }

 .mobile-nav-link {
     display: block;
     padding: var(--spacing-sm);
     color: var(--text-color);
     text-decoration: none;
     font-size: var(--font-size-lg);
     font-weight: 500;
     transition: var(--transition);
     border-radius: var(--border-radius-sm)
 }

 .mobile-nav-link:hover {
     background-color: var(--light-gray);
     color: var(--primary-color)
 }

 .mobile-menu-actions {
     padding: var(--spacing-md);
     display: flex;
     flex-direction: column;
     gap: var(--spacing-sm)
 }

 body.menu-open {
     overflow: hidden
 }

 body.menu-open::before {
     content: '';
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-color: rgba(0, 0, 0, 0.5);
     z-index: 1000
 }

 .video-banner {
     position: relative;
     width: 100%;
     padding-bottom: 56.25%;
     height: 0;
     overflow: hidden
 }

 .video-bg {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1;
     object-fit: cover
 }

 .video-content {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     z-index: 2;
     text-align: center;
     color: white;
     width: 80%;
     max-width: 800px
 }

 .video-title {
     font-size: var(--font-size-3xl);
     font-weight: 700;
     margin-bottom: var(--spacing-lg);
     text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5)
 }

 .video-content .btn {
     font-size: var(--font-size-lg);
     padding: var(--spacing-sm) var(--spacing-xl);
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3)
 }

 .banner {
     background: #b31515;
     color: var(--white-color);
     padding: 160px 0 120px;
     text-align: center;
     position: relative;
     overflow: hidden
 }

 .banner::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
     opacity: 0.3
 }

 @keyframes waveAnimation {
     0% {
         transform: scale(1);
         opacity: 1
     }

     33% {
         transform: scale(4) translateY(-30px);
         opacity: 1
     }

     66% {
         transform: scale(0.8) translateY(15px);
         opacity: 1
     }

     100% {
         transform: scale(1);
         opacity: 1
     }
 }

 .banner-title {
     animation: waveAnimation 3s ease-in-out 1 forwards;
     display: inline-block;
     transform-origin: center center;
     text-align: center;
     margin: 0 auto;
     max-width: 100%;
     position: relative;
     z-index: 2
 }

 .banner-background {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1;
     pointer-events: none
 }

 .banner-years {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: flex;
     justify-content: space-between;
     align-items: center;
     flex-wrap: wrap;
     opacity: 0.05;
     font-size: 8rem;
     font-weight: 900;
     color: #000000;
     z-index: 1;
     pointer-events: none;
     overflow: hidden
 }

 .banner-logos {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     opacity: 0.15;
     z-index: 2;
     pointer-events: none;
     overflow: hidden
 }

 .logo-item {
     position: absolute;
     transform: rotate(var(--rotate, 0deg)) scale(var(--scale, 1));
     animation: logoFloat 15s ease-in-out infinite alternate;
     filter: grayscale(100%);
     opacity: 0.8;
     transition: all 0.3s ease
 }

 .bg-logo {
     width: 150px;
     height: auto;
     max-height: 150px;
     object-fit: contain
 }

 @keyframes logoFloat {
     0% {
         transform: rotate(var(--rotate, 0deg)) scale(var(--scale, 1))
     }

     100% {
         transform: rotate(calc(var(--rotate, 0deg)+10deg)) scale(calc(var(--scale, 1) * 1.1))
     }
 }

 .logo-item:nth-child(1) {
     animation-delay: 0s
 }

 .logo-item:nth-child(2) {
     animation-delay: 2s
 }

 .logo-item:nth-child(3) {
     animation-delay: 4s
 }

 .logo-item:nth-child(4) {
     animation-delay: 6s
 }

 .logo-item:nth-child(5) {
     animation-delay: 8s
 }

 .logo-item:nth-child(6) {
     animation-delay: 10s
 }

 @media (max-width:1200px) {
     .bg-logo {
         width: 120px;
         max-height: 120px
     }

     .banner-logos {
         opacity: 0.06
     }
 }

 @media (max-width:768px) {
     .bg-logo {
         width: 80px;
         max-height: 80px
     }

     .banner-logos {
         opacity: 0.04
     }
 }

 @media (max-width:480px) {
     .bg-logo {
         width: 50px;
         max-height: 50px
     }

     .banner-logos {
         opacity: 0.03
     }
 }

 .year-text {
     margin: 0;
     line-height: 1;
     white-space: nowrap;
     transition: all 0.3s ease;
     transform: rotate(var(--rotate, 0deg)) translateY(var(--translate-y, 0px));
     animation: float 10s ease-in-out infinite
 }

 .year-text:nth-child(1) {
     --rotate: -5deg;
     --translate-y: -20px
 }

 .year-text:nth-child(2) {
     --rotate: 3deg;
     --translate-y: 15px
 }

 .year-text:nth-child(3) {
     --rotate: -2deg;
     --translate-y: -10px
 }

 .year-text:nth-child(4) {
     --rotate: 5deg;
     --translate-y: 20px
 }

 .year-text:nth-child(5) {
     --rotate: -3deg;
     --translate-y: -5px
 }

 .year-text:nth-child(6) {
     --rotate: 2deg;
     --translate-y: 10px
 }

 .year-text:nth-child(7) {
     --rotate: -4deg;
     --translate-y: -15px
 }

 .year-text:nth-child(8) {
     --rotate: 1deg;
     --translate-y: 25px
 }

 .year-text:nth-child(9) {
     --rotate: -6deg;
     --translate-y: -25px
 }

 .year-text:nth-child(10) {
     --rotate: 4deg;
     --translate-y: 5px
 }

 .year-text:nth-child(11) {
     --rotate: -1deg;
     --translate-y: -10px
 }

 .year-text:nth-child(12) {
     --rotate: 6deg;
     --translate-y: 15px
 }

 .year-text:nth-child(13) {
     --rotate: -4deg;
     --translate-y: -20px
 }

 .year-text:nth-child(14) {
     --rotate: 3deg;
     --translate-y: 10px
 }

 @keyframes float {

     0%,
     100% {
         transform: rotate(var(--rotate, 0deg)) translateY(var(--translate-y, 0px)) translateX(0px)
     }

     33% {
         transform: rotate(var(--rotate, 0deg)) translateY(calc(var(--translate-y, 0px) - 10px)) translateX(5px)
     }

     66% {
         transform: rotate(var(--rotate, 0deg)) translateY(calc(var(--translate-y, 0px)+10px)) translateX(-5px)
     }
 }

 @media (max-width:1200px) {
     .banner-years {
         font-size: 6rem;
         opacity: 0.04
     }
 }

 @media (max-width:768px) {
     .banner-years {
         font-size: 4rem;
         opacity: 0.03
     }
 }

 @media (max-width:480px) {
     .banner-years {
         font-size: 2.5rem;
         opacity: 0.02;
         flex-direction: row;
         justify-content: space-around
     }
 }

 .banner .btn-primary {
     background-color: #ffffff;
     color: #b31515;
     border: 2px solid #ffffff
 }

 .banner .btn-primary:hover {
     background-color: transparent;
     color: #ffffff
 }

 .banner .btn-secondary {
     background-color: transparent;
     color: #ffffff;
     border: 2px solid #ffffff
 }

 .banner .btn-secondary:hover {
     background-color: #ffffff;
     color: #b31515
 }

 .banner-content {
     position: relative;
     z-index: 1;
     max-width: 800px;
     margin: 0 auto
 }

 .banner-title {
     font-size: var(--font-size-3xl);
     font-weight: 700;
     margin-bottom: var(--spacing-md);
     line-height: 1.2
 }

 .banner-subtitle {
     font-size: var(--font-size-lg);
     margin-bottom: var(--spacing-2xl);
     opacity: 0.9;
     line-height: 1.5
 }

 .banner-buttons {
     display: flex;
     gap: var(--spacing-md);
     justify-content: center;
     flex-wrap: wrap
 }

 .about {
     padding: 120px 0 0;
     background-color: var(--white-color);
     position: relative;
     overflow: hidden
 }

 .about::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 200px;
     background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
     clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
     opacity: 0.05;
     z-index: 0
 }

 .about .container {
     position: relative;
     z-index: 1
 }

 .about-card {
     background: linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.98) 100%);
     border-radius: var(--border-radius-2xl);
     padding: var(--spacing-2xl);
     margin-bottom: var(--spacing-2xl);
     box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05), 0 4px 15px rgba(0, 0, 0, 0.02);
     transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1) ease;
     border: 1px solid rgba(255, 255, 255, 0.8);
     position: relative;
     overflow: hidden;
     backdrop-filter: blur(15px)
 }

 .about-card::before {
     content: '';
     position: absolute;
     top: -2px;
     left: -2px;
     right: -2px;
     bottom: -2px;
     background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 50%, #185abc 100%);
     border-radius: var(--border-radius-2xl);
     z-index: -1;
     opacity: 0;
     transition: opacity 0.5s ease, transform 0.5s ease;
     transform: scale(0.98)
 }

 .about-card::after {
     content: '';
     position: absolute;
     top: -30%;
     right: -30%;
     width: 160%;
     height: 160%;
     background: radial-gradient(circle at center, rgba(26, 115, 232, 0.1) 0%, rgba(66, 133, 244, 0.07) 40%, transparent 100%);
     z-index: 0;
     transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) ease;
     transform: rotate(-15deg) scale(1);
     opacity: 0.8
 }

 .about-card:hover {
     transform: translateY(-12px);
     box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12), 0 10px 25px rgba(26, 115, 232, 0.1)
 }

 .about-card:hover::before {
     opacity: 0.7;
     transform: scale(1)
 }

 .about-card:hover::after {
     transform: scale(1.2) rotate(0deg);
     opacity: 0.5
 }

 .about-intro {
     background: linear-gradient(135deg, rgba(26, 115, 232, 0.05) 0%, rgba(66, 133, 244, 0.05) 100%);
     border-left: none
 }

 .about-card-content {
     display: flex;
     align-items: flex-start;
     gap: var(--spacing-xl);
     position: relative;
     z-index: 1
 }

 .about-icon {
     flex-shrink: 0;
     width: 80px;
     height: 80px;
     background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--white-color);
     box-shadow: 0 8px 25px rgba(26, 115, 232, 0.2);
     transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1) ease
 }

 .about-card:hover .about-icon {
     transform: scale(1.1) rotate(5deg);
     box-shadow: 0 12px 35px rgba(26, 115, 232, 0.35)
 }

 .about-description {
     flex: 1;
     color: var(--text-light);
     line-height: 1.9;
     font-size: var(--font-size-md);
     margin: 0;
     position: relative;
     z-index: 1;
     transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1) ease;
     font-weight: 400
 }

 @media (max-width:768px) {
     .about-card-content {
         flex-direction: column;
         align-items: center;
         text-align: center
     }

     .about-icon {
         margin-bottom: var(--spacing-lg)
     }
 }

 .about-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
     gap: var(--spacing-2xl);
     margin-bottom: 0
 }

 .about-mission {
     background: linear-gradient(135deg, rgba(26, 115, 232, 0.05) 0%, rgba(66, 133, 244, 0.05) 100%)
 }

 .about-vision {
     background: linear-gradient(135deg, rgba(66, 133, 244, 0.05) 0%, rgba(26, 115, 232, 0.05) 100%)
 }

 .about-card-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: var(--spacing-lg);
     position: relative;
     z-index: 1
 }

 .about-card-title {
     font-size: var(--font-size-xl);
     font-weight: 700;
     color: var(--dark-gray);
     margin: 0;
     transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1) ease
 }

 .about-card:hover .about-card-title {
     color: var(--primary-color)
 }

 .about-card-icon {
     width: 80px;
     height: 80px;
     background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
     border-radius: var(--border-radius-lg);
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--white-color);
     box-shadow: 0 8px 25px rgba(26, 115, 232, 0.2);
     transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1) ease
 }

 .about-card:hover .about-card-icon {
     transform: scale(1.1) rotate(5deg);
     box-shadow: 0 12px 35px rgba(26, 115, 232, 0.35)
 }

 .about-card-text {
     font-size: var(--font-size-lg);
     font-weight: 600;
     color: var(--primary-color);
     margin-bottom: var(--spacing-md);
     position: relative;
     z-index: 1;
     transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1) ease;
     background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text
 }

 .about-card-description {
     color: var(--text-light);
     line-height: 1.9;
     margin: 0;
     position: relative;
     z-index: 1;
     transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1) ease;
     font-size: var(--font-size-md);
     font-weight: 400
 }

 @keyframes gridMove {
     0% {
         background-position: 0 0, 0 0, center center, 20% 80%, 80% 20%
     }

     100% {
         background-position: 50px 50px, 50px 50px, center center, 30% 70%, 70% 30%
     }
 }

 @keyframes glowPulse {

     0%,
     100% {
         opacity: 0.5;
         transform: scaleX(1)
     }

     50% {
         opacity: 1;
         transform: scaleX(1.05)
     }
 }

 @keyframes borderRotate {
     0% {
         background-position: 0% 50%
     }

     50% {
         background-position: 100% 50%
     }

     100% {
         background-position: 0% 50%
     }
 }

 @keyframes titleGlow {

     0%,
     100% {
         text-shadow: 0 0 20px rgba(0, 202, 176, 0.5)
     }

     50% {
         text-shadow: 0 0 30px rgba(0, 202, 176, 0.8), 0 0 40px rgba(0, 202, 176, 0.4)
     }
 }

 @keyframes backgroundPulse {

     0%,
     100% {
         opacity: 1
     }

     50% {
         opacity: 0.7
     }
 }

 @keyframes lineSlide {
     0% {
         transform: translateX(-100%);
         opacity: 0
     }

     20% {
         opacity: 1
     }

     80% {
         opacity: 1
     }

     100% {
         transform: translateX(100%);
         opacity: 0
     }
 }

 @keyframes iconPulse {

     0%,
     100% {
         transform: scale(1);
         box-shadow: 0 0 40px rgba(0, 202, 176, 0.6), inset 0 0 20px rgba(255, 255, 255, 0.2), 0 0 0 2px rgba(0, 202, 176, 0.3)
     }

     50% {
         transform: scale(1.05);
         box-shadow: 0 0 60px rgba(0, 202, 176, 0.8), inset 0 0 20px rgba(255, 255, 255, 0.3), 0 0 0 3px rgba(0, 202, 176, 0.5)
     }
 }

 @keyframes iconRotate {
     0% {
         transform: rotate(0deg)
     }

     100% {
         transform: rotate(360deg)
     }
 }

 @keyframes gridFloat {

     0%,
     100% {
         transform: translateY(0px) translateX(0px)
     }

     25% {
         transform: translateY(-5px) translateX(5px)
     }

     50% {
         transform: translateY(5px) translateX(-5px)
     }

     75% {
         transform: translateY(-3px) translateX(3px)
     }
 }

 @keyframes scrollbarPulse {

     0%,
     100% {
         opacity: 0.8;
         transform: scaleY(1)
     }

     50% {
         opacity: 1;
         transform: scaleY(1.2)
     }
 }

 @media (max-width:768px) {
     .about {
         padding: 80px 0
     }

     .about-grid {
         grid-template-columns: 1fr;
         gap: var(--spacing-xl)
     }

     .about-card {
         padding: var(--spacing-xl)
     }

     .about-card-content {
         flex-direction: column;
         align-items: center;
         text-align: center
     }

     .about-icon {
         margin-bottom: var(--spacing-lg)
     }

     .about-card-header {
         flex-direction: column;
         gap: var(--spacing-lg);
         text-align: center
     }
 }

 @media (max-width:576px) {}

 @media (max-width:480px) {
     .about {
         padding: 60px 0
     }

     .about-card {
         padding: var(--spacing-lg)
     }
 }

 .timeline {
     padding: var(--spacing-xl) 0 var(--spacing-xl);
     background-color: var(--white-color);
     position: relative;
     overflow: hidden
 }

 .timeline .container {
     position: relative;
     z-index: 2
 }

 .timeline-carousel {
     position: relative;
     max-width: 1200px;
     margin: 0 auto;
     padding: var(--spacing-md);
     display: flex;
     flex-direction: row;
     gap: var(--spacing-md);
     background-color: var(--white-color);
     border-radius: var(--border-radius-lg);
     overflow: hidden;
     height: auto;
     min-height: 500px
 }

 .carousel-main {
     flex: 0 0 calc(75% - 0.5rem);
     margin-bottom: 0;
     order: 1;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
     z-index: 1;
     overflow: hidden;
     height: 700px;
     border-radius: var(--border-radius-lg);
     box-shadow: var(--shadow-lg)
 }

 .main-carousel-container {
     position: relative;
     overflow-x: hidden;
     overflow-y: visible;
     background: transparent;
     border-radius: var(--border-radius-lg);
     width: 100%;
     z-index: 3
 }

 .main-slide-content {
     margin: 0;
     max-width: 100%;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     text-align: center;
     position: relative;
     z-index: 4;
     height: 100%;
     overflow: hidden;
     min-height: 200px
 }

 .main-carousel-track {
     display: flex;
     transition: transform 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
     will-change: transform
 }

 .main-carousel-slide {
     flex: 0 0 100%;
     width: 100%;
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.3s ease, visibility 0.3s ease
 }

 .main-carousel-slide.active {
     opacity: 1;
     visibility: visible
 }

 .main-slide-year {
     font-size: var(--font-size-2xl);
     font-weight: 700;
     color: var(--primary-color);
     margin-bottom: var(--spacing-sm)
 }

 .main-slide-title {
     font-size: var(--font-size-2xl);
     font-weight: 700;
     color: var(--text-color);
     margin-bottom: var(--spacing-sm);
     line-height: 1.2
 }

 .main-slide-description {
     font-size: var(--font-size-base);
     color: var(--text-light);
     line-height: 1.5;
     margin-bottom: var(--spacing-md);
     max-width: 100%;
     overflow: hidden;
     text-overflow: ellipsis;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical
 }

 .main-slide-image {
     width: 100%;
     max-width: 100%;
     aspect-ratio: 16/9;
     border-radius: var(--border-radius-md);
     overflow: hidden;
     box-shadow: var(--shadow-md);
     margin-top: var(--spacing-xs);
     margin-bottom: var(--spacing-xs)
 }

 .main-slide-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block
 }

 .carousel-thumbnails {
     flex: 0 0 calc(25% - 0.5rem);
     position: relative;
     order: 2;
     z-index: 2;
     display: flex;
     flex-direction: column;
     height: 700px;
     overflow: hidden;
     background: #fff;
     border-radius: var(--border-radius-lg);
     box-shadow: var(--shadow-md)
 }

 .thumbnail-carousel-container {
     overflow: hidden;
     flex: 1
 }

 .thumbnail-carousel-container {
     position: relative;
     overflow-y: hidden;
     overflow-x: hidden;
     border-radius: var(--border-radius-md);
     box-shadow: var(--shadow-sm);
     height: 100%;
     width: 100%;
     padding: 0 var(--spacing-sm)
 }

 .thumbnail-carousel-container::-webkit-scrollbar {
     width: 6px
 }

 .thumbnail-carousel-container::-webkit-scrollbar-track {
     background: var(--light-gray);
     border-radius: 3px
 }

 .thumbnail-carousel-container::-webkit-scrollbar-thumb {
     background: var(--primary-color);
     border-radius: 3px
 }

 .thumbnail-carousel-container::-webkit-scrollbar-thumb:hover {
     background: var(--primary-dark)
 }

 .thumbnail-carousel-track {
     display: flex;
     flex-direction: column;
     transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
     will-change: transform;
     gap: var(--spacing-sm)
 }

 .thumbnail-carousel-slide {
     flex: 0 0 auto;
     width: 100%;
     margin-right: 0;
     margin-bottom: var(--spacing-xs);
     cursor: pointer;
     border-radius: var(--border-radius-sm);
     overflow: hidden;
     transition: var(--transition);
     opacity: 0.7;
     transform: scale(0.95)
 }

 .thumbnail-carousel-slide:last-child {
     margin-bottom: 0
 }

 .thumbnail-carousel-slide.active {
     opacity: 1;
     transform: translateX(5px) scale(1);
     box-shadow: 0 0 0 2px var(--primary-color)
 }

 .thumbnail-carousel-slide:hover {
     opacity: 1;
     transform: translateX(5px) scale(1.05)
 }

 .thumbnail-slide-content {
     text-align: center
 }

 .thumbnail-slide-year {
     font-size: var(--font-size-sm);
     font-weight: 600;
     color: var(--primary-color);
     margin-bottom: var(--spacing-xs)
 }

 .thumbnail-slide-title {
     font-size: var(--font-size-xs);
     color: var(--text-color);
     margin-bottom: var(--spacing-xs);
     line-height: 1.4;
     font-weight: 500
 }

 .thumbnail-slide-image {
     width: 100%;
     aspect-ratio: 12/7;
     border-radius: var(--border-radius-sm);
     overflow: hidden
 }

 .thumbnail-slide-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block
 }

 .carousel-controls {
     display: none
 }

 .thumbnail-carousel-controls {
     position: absolute;
     top: 0;
     right: 0;
     width: 100%;
     height: 100%;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     z-index: 15;
     pointer-events: none
 }

 .carousel-btn-up {
     position: absolute;
     right: 50%;
     transform: translateX(50%);
     pointer-events: auto;
     background-color: var(--primary-color);
     color: var(--white-color);
     border: none;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: var(--transition);
     box-shadow: var(--shadow-md)
 }

 .carousel-btn-down {
     position: absolute;
     bottom: var(--spacing-md);
     right: 50%;
     transform: translateX(50%);
     pointer-events: auto;
     background-color: var(--primary-color);
     color: var(--white-color);
     border: none;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: var(--transition);
     box-shadow: var(--shadow-md)
 }

 .carousel-btn-up,
 .carousel-btn-down {
     transform: translateX(50%) !important
 }

 .carousel-btn-up:hover,
 .carousel-btn-down:hover {
     background-color: var(--primary-dark);
     transform: translateX(50%) translateY(-2px) !important;
     box-shadow: var(--shadow-lg)
 }

 .carousel-btn {
     width: 48px;
     height: 48px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.9);
     border: none;
     color: var(--primary-color);
     font-size: var(--font-size-lg);
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: var(--transition);
     box-shadow: var(--shadow-md);
     pointer-events: auto;
     transform: none
 }

 .carousel-btn:hover {
     background: var(--primary-color);
     color: var(--white-color);
     transform: scale(1.1)
 }

 .carousel-btn:active {
     transform: scale(0.95)
 }

 .carousel-thumbnails {
     position: relative;
     padding-right: 0
 }

 .thumbnail-carousel-container {
     position: relative
 }

 .timeline-vertical {
     position: relative;
     max-width: 1000px;
     margin: 0 auto;
     padding: var(--spacing-2xl) 0
 }

 .timeline-vertical::before {
     content: '';
     position: absolute;
     left: 50%;
     top: 0;
     bottom: 0;
     width: 4px;
     background: linear-gradient(180deg, var(--primary-color) 0%, var(--secondary-color) 30%, #667eea 50%, var(--secondary-color) 70%, var(--primary-color) 100%);
     background-size: 100% 200%;
     animation: waveLine 3s ease-in-out infinite;
     transform: translateX(-50%);
     border-radius: 2px;
     z-index: 1
 }

 .timeline-node {
     position: relative;
     margin-bottom: var(--spacing-3xl);
     display: flex;
     align-items: center;
     min-height: 120px
 }

 .timeline-node:nth-child(odd) {
     flex-direction: row
 }

 .timeline-node:nth-child(even) {
     flex-direction: row-reverse
 }

 .timeline-point {
     position: absolute;
     left: 50%;
     top: 50%;
     transform: translate(-50%, -50%);
     width: 20px;
     height: 20px;
     background: var(--white-color);
     border: 4px solid var(--primary-color);
     border-radius: 50%;
     z-index: 2;
     transition: var(--transition);
     box-shadow: var(--shadow-md)
 }

 .timeline-node:hover .timeline-point {
     transform: translate(-50%, -50%) scale(1.2);
     box-shadow: var(--shadow-lg);
     border-color: #667eea
 }

 .timeline-content {
     width: 45%;
     background: var(--white-color);
     border-radius: var(--border-radius-lg);
     padding: var(--spacing-lg);
     box-shadow: var(--shadow-md);
     border: 1px solid var(--medium-gray);
     position: relative;
     transition: var(--transition)
 }

 .timeline-node:nth-child(odd) .timeline-content {
     margin-right: auto;
     margin-left: 0
 }

 .timeline-node:nth-child(even) .timeline-content {
     margin-left: auto;
     margin-right: 0
 }

 .timeline-node:hover .timeline-content {
     transform: translateY(-5px);
     box-shadow: var(--shadow-xl)
 }

 .timeline-content::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 3px;
     background: linear-gradient(90deg, var(--primary-color) 0%, var(--secondary-color) 25%, #667eea 50%, var(--secondary-color) 75%, var(--primary-color) 100%);
     background-size: 200% 100%;
     animation: waveLine 3s ease-in-out infinite;
     border-radius: var(--border-radius-sm) var(--border-radius-sm) 0 0
 }

 .timeline-content::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 15%;
     right: 15%;
     height: 2px;
     background: linear-gradient(90deg, transparent 0%, var(--primary-color) 30%, #667eea 50%, var(--primary-color) 70%, transparent 100%);
     opacity: 0.6;
     border-radius: 1px
 }

 @keyframes waveLine {

     0%,
     100% {
         background-position: 0% 50%
     }

     50% {
         background-position: 100% 50%
     }
 }

 @keyframes waveSide {

     0%,
     100% {
         background-position: 0% 0%
     }

     50% {
         background-position: 0% 100%
     }
 }

 .timeline-title {
     font-size: var(--font-size-xl);
     font-weight: 700;
     color: var(--text-color);
     margin-bottom: var(--spacing-sm);
     position: relative
 }

 .timeline-title::after {
     content: '';
     position: absolute;
     bottom: -4px;
     left: 0;
     width: 40px;
     height: 2px;
     background: linear-gradient(90deg, var(--primary-color), #667eea);
     border-radius: 1px
 }

 .timeline-description {
     font-size: var(--font-size-base);
     color: var(--text-light);
     line-height: 1.6;
     margin-bottom: var(--spacing-md)
 }

 .timeline-image {
     margin-bottom: var(--spacing-md);
     border-radius: var(--border-radius-md);
     overflow: hidden;
     height: 120px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
     transition: var(--transition);
     background-color: var(--light-gray)
 }

 .timeline-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: var(--transition);
     border-radius: var(--border-radius-md)
 }

 .timeline-year {
     font-size: 1.5rem;
     font-weight: 700;
     color: var(--text-color);
     margin-bottom: var(--spacing-sm);
     text-align: center;
     position: relative
 }

 .timeline-year::after {
     content: '';
     position: absolute;
     bottom: -8px;
     left: 50%;
     transform: translateX(-50%);
     width: 40px;
     height: 2px;
     background-color: var(--primary-color);
     border-radius: 1px
 }

 .timeline-month {
     font-size: 0.875rem;
     font-weight: 600;
     color: var(--text-color);
     text-align: center;
     margin-bottom: var(--spacing-sm);
     position: relative;
     display: inline-block;
     padding: 0.375rem 0.75rem;
     border-radius: var(--border-radius-md);
     transition: var(--transition)
 }

 .timeline-item:hover .timeline-month {
     color: var(--primary-color);
     background-color: var(--primary-light)
 }

 .timeline-item--active .timeline-month {
     color: var(--primary-color);
     background-color: var(--primary-light);
     font-weight: 700
 }

 .timeline-year::after {
     content: '';
     position: absolute;
     bottom: -4px;
     left: 50%;
     transform: translateX(-50%);
     width: 40px;
     height: 2px;
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     border-radius: 1px
 }

 .timeline-item--active .timeline-year::after {
     width: 60px;
     height: 3px;
     background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #667eea 100%);
     animation: lineGlow 1.5s ease-in-out infinite alternate;
     box-shadow: 0 0 10px rgba(102, 126, 234, 0.6)
 }

 @keyframes lineGlow {
     0% {
         opacity: 0.8;
         transform: translateX(-50%) scaleX(1)
     }

     100% {
         opacity: 1;
         transform: translateX(-50%) scaleX(1.2)
     }
 }

 @media (max-width:1200px) {
     .timeline-vertical {
         max-width: 800px;
         padding: var(--spacing-xl) 0
     }

     .timeline-content {
         width: 48%;
         padding: var(--spacing-md)
     }

     .timeline-node {
         min-height: 100px;
         margin-bottom: var(--spacing-2xl)
     }

     .timeline-point {
         width: 16px;
         height: 16px;
         border-width: 3px
     }
 }

 @media (max-width:992px) {
     .timeline-item {
         width: 150px
     }

     .timeline-item--active {
         width: 180px
     }

     .timeline-navigation {
         padding: 0 40px
     }

     .timeline-container {
         left: 40px;
         right: 40px;
         max-width: calc(100vw - 240px)
     }

     .timeline-navigation::before,
     .timeline-navigation::after {
         width: calc((100% - 180px) / 2)
     }

     .timeline-image {
         height: 120px
     }

     .timeline-year {
         font-size: 22px
     }

     .timeline-month {
         font-size: 13px
     }
 }

 @media (max-width:768px) {
     .timeline {
         padding: 80px 0 60px
     }

     .timeline-navigation {
         display: none
     }

     .timeline-container {
         overflow-x: auto;
         overflow-y: hidden;
         scroll-behavior: smooth;
         -webkit-overflow-scrolling: touch;
         scrollbar-width: none;
         padding: 80px 20px 40px;
         justify-content: flex-start;
         gap: 16px;
         background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.9) 100%);
         backdrop-filter: blur(25px) saturate(180%);
         border-radius: 24px;
         margin: 0 20px
     }

     .timeline-container::-webkit-scrollbar {
         display: none
     }

     .timeline-item {
         width: 200px;
         height: 380px;
         opacity: 1;
         transform: translateY(0) scale(1);
         border-radius: 24px
     }

     .timeline-item--active {
         width: 220px;
         height: 400px;
         transform: translateY(0) scale(1.05)
     }

     .timeline-item::before,
     .timeline-item::after {
         display: none
     }

     .timeline-image {
         height: 150px;
         border-radius: 16px
     }

     .timeline .section-title {
         font-size: var(--font-size-2xl)
     }

     .timeline .section-subtitle {
         font-size: var(--font-size-base)
     }

     .timeline-year {
         font-size: 22px
     }

     .timeline-month {
         font-size: 14px
     }
 }

 @media (max-width:576px) {
     .timeline-item {
         width: 140px
     }

     .timeline-item--active {
         width: 140px
     }

     .timeline-image {
         height: 100px;
         margin-bottom: 10px
     }

     .timeline-year {
         font-size: 18px
     }

     .timeline-month {
         font-size: 12px
     }
 }

 @media (max-width:480px) {
     .timeline-item {
         width: 120px
     }

     .timeline-item--active {
         width: 120px
     }

     .timeline-image {
         height: 90px
     }

     .timeline-year {
         font-size: 16px
     }

     .timeline-month {
         font-size: 11px
     }
 }

 @media (hover:none) and (pointer:coarse) {
     .timeline-item:active {
         transform: translateY(-2px)
     }

     .timeline-item--active:active {
         transform: scale(1.02) translateY(-2px)
     }
 }

 .business {
     padding: 120px 0;
     background-color: var(--white-color)
 }

 .business-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
     gap: var(--spacing-lg)
 }

 .business-card {
     background-color: var(--white-color);
     padding: var(--spacing-xl);
     border-radius: var(--border-radius-lg);
     box-shadow: var(--shadow-md);
     transition: var(--transition);
     text-align: center
 }

 .business-card-link {
     display: block;
     text-decoration: none;
     color: inherit
 }

 .business-card-link:hover {
     color: inherit;
     text-decoration: none
 }

 .business-card-link:hover .business-card {
     transform: translateY(-10px);
     box-shadow: var(--shadow-xl)
 }

 .business-card:hover {
     transform: translateY(-10px);
     box-shadow: var(--shadow-xl)
 }

 .business-icon {
     width: 150px;
     height: 93px;
     border-radius: var(--border-radius-sm);
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto var(--spacing-sm);
     overflow: hidden;
     transition: var(--transition); }


 .business-card:hover .business-icon {
     transform: scale(1.05)
 }

 .business-icon img {
     width: 100%;
     height: 100%;
     object-fit: cover
 }

 .business-title {
     font-size: var(--font-size-xl);
     font-weight: 600;
     margin-bottom: var(--spacing-sm)
 }

 .business-grid>:nth-child(1) .business-title {
     color: #ff6a00
 }

 .business-grid>:nth-child(2) .business-title {
     color: #b31515
 }

 .business-grid>:nth-child(3) .business-title {
     color: #1565C0
 }

 .business-grid>:nth-child(4) .business-title {
     color: #006a68
 }

 .business-grid>:nth-child(4) .business-icon img {
     object-fit: contain;
     max-width: 80%;
     max-height: 80%
 }

 .business-grid>:nth-child(4) .business-icon img.logo-medicine {
     filter: none
 }

 .business-grid>:nth-child(5) .business-title {
     color: #000000
 }

 .business-grid>:nth-child(6) .business-title {
     color: #2E7D32
 }

 .business-description {
     color: var(--text-light);
     line-height: 1.6
 }

 .technology {
     padding: 120px 0;
     background-color: var(--light-gray)
 }

 .technology-content {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: var(--spacing-2xl);
     align-items: center
 }

 .technology-heading {
     font-size: var(--font-size-2xl);
     font-weight: 700;
     color: var(--dark-gray);
     margin-bottom: var(--spacing-md)
 }

 .technology-text {
     color: var(--text-light);
     margin-bottom: var(--spacing-lg);
     line-height: 1.8
 }

 .technology-features {
     display: flex;
     flex-direction: column;
     gap: var(--spacing-md)
 }

 .feature-item {
     display: flex;
     gap: var(--spacing-md);
     align-items: flex-start;
     padding: var(--spacing-md);
     background-color: var(--white-color);
     border-radius: var(--border-radius-lg);
     transition: var(--transition);
     box-shadow: var(--shadow-sm)
 }

 .feature-item:hover {
     background-color: #f8f9fa;
     transform: translateX(5px);
     box-shadow: var(--shadow-md)
 }

 .feature-item i {
     font-size: var(--font-size-xl);
     color: var(--primary-color);
     margin-top: 2px;
     flex-shrink: 0
 }

 .feature-content h4 {
     font-size: var(--font-size-lg);
     font-weight: 600;
     color: var(--dark-gray);
     margin-bottom: var(--spacing-xs)
 }

 .feature-content p {
     color: var(--text-light);
     font-size: var(--font-size-sm);
     line-height: 1.5
 }

 .technology-image {
     width: 100%;
     height: auto;
     border-radius: var(--border-radius-lg);
     box-shadow: var(--shadow-xl);
     transition: var(--transition)
 }

 .technology-right:hover .technology-image {
     transform: scale(1.02)
 }

 .technology-right {
     position: relative
 }

 .tech-content-panel {
     display: none;
     animation: fadeIn 0.5s ease-in-out
 }

 .tech-content-panel.active {
     display: block
 }

 .tech-content {
     margin-top: 0;
     padding: var(--spacing-lg);
     background-color: var(--white-color);
     border-radius: var(--border-radius-lg);
     box-shadow: var(--shadow-md)
 }

 .tech-content h3 {
     color: var(--dark-gray);
     margin-bottom: var(--spacing-md);
     font-size: var(--font-size-xl)
 }

 .tech-content p {
     color: var(--text-light);
     margin-bottom: var(--spacing-md);
     line-height: 1.6
 }

 .tech-content ul {
     list-style: none;
     padding: 0
 }

 .tech-content li {
     padding: var(--spacing-xs) 0;
     color: var(--text-light);
     position: relative;
     padding-left: var(--spacing-lg)
 }

 .tech-content li::before {
     content: '✓';
     position: absolute;
     left: 0;
     color: var(--primary-color);
     font-weight: bold
 }

 .feature-item.active {
     background-color: #e8f8f5;
     transform: translateX(5px)
 }

 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(10px)
     }

     to {
         opacity: 1;
         transform: translateY(0)
     }
 }

 .news {
     padding: 120px 0;
     background-color: var(--light-gray)
 }

 .news-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: var(--spacing-lg)
 }

 .news-card {
     display: flex;
     background-color: var(--white-color);
     overflow: hidden;
     transition: var(--transition)
 }

 .news-card:hover {
     transform: none
 }

 .news-image {
     flex: 0 0 300px
 }

 .news-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: var(--transition)
 }

 .news-card:hover .news-image img {
     transform: none
 }

 .news-content {
     padding: var(--spacing-md);
     flex: 1;
     display: flex;
     flex-direction: column;
     justify-content: center
 }

 .news-date {
     font-size: var(--font-size-sm);
     color: var(--text-lighter);
     margin-bottom: var(--spacing-xs)
 }

 .news-title {
     font-size: var(--font-size-xl);
     font-weight: 600;
     color: var(--dark-gray);
     margin-bottom: var(--spacing-sm);
     line-height: 1.4
 }

 .news-excerpt {
     color: var(--text-light);
     margin-bottom: var(--spacing-md);
     line-height: 1.6
 }

 .news-link {
     display: inline-flex;
     align-items: center;
     gap: var(--spacing-xs);
     color: var(--primary-color);
     font-weight: 500;
     text-decoration: none;
     transition: var(--transition)
 }

 .news-link:hover {
     color: var(--primary-dark);
     gap: var(--spacing-sm)
 }

 .contact {
     padding: 120px 0;
     background-color: var(--white-color)
 }

 .contact-content {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: var(--spacing-2xl);
     align-items: start
 }

 .contact-info {
     display: flex;
     flex-direction: column;
     gap: var(--spacing-lg)
 }

 .contact-item {
     display: flex;
     gap: var(--spacing-md);
     align-items: flex-start;
     padding: var(--spacing-md);
     background-color: var(--light-gray);
     border-radius: var(--border-radius-lg);
     transition: var(--transition)
 }

 .contact-item:hover {
     background-color: #e8f8f5;
     transform: translateX(5px)
 }

 .contact-item i {
     font-size: var(--font-size-xl);
     color: var(--primary-color);
     margin-top: 2px;
     flex-shrink: 0
 }

 .contact-text h4 {
     font-size: var(--font-size-lg);
     font-weight: 600;
     color: var(--dark-gray);
     margin-bottom: var(--spacing-xs)
 }

 .contact-text p {
     color: var(--text-light);
     line-height: 1.5
 }

 .contact-form {
     background-color: var(--light-gray);
     padding: var(--spacing-xl);
     border-radius: var(--border-radius-lg)
 }

 .form-group {
     margin-bottom: var(--spacing-md)
 }

 .form-group input,
 .form-group textarea {
     width: 100%;
     padding: var(--spacing-sm);
     font-size: var(--font-size-base);
     font-family: var(--font-family);
     border: 1px solid var(--medium-gray);
     border-radius: var(--border-radius-sm);
     transition: var(--transition);
     outline: none
 }

 .form-group input:focus,
 .form-group textarea:focus {
     border-color: var(--primary-color);
     box-shadow: 0 0 0 3px rgba(0, 202, 176, 0.1)
 }

 .form-group textarea {
     resize: vertical;
     min-height: 150px
 }

 .partners {
     padding: 120px 0;
     background-color: var(--light-gray)
 }

 .partners-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: var(--spacing-xl);
     align-items: center;
     justify-items: center
 }

 .partner-item {
     width: 100%;
     aspect-ratio: 1.618 / 1;
     max-width: 250px;
     text-align: center;
     transition: var(--transition)
 }

 .partner-item:hover {
     transform: translateY(-5px)
 }

 .partner-logo {
     background-color: var(--white-color);
     padding: 0 var(--spacing-lg);
     border-radius: var(--border-radius-lg);
     transition: var(--transition);
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     aspect-ratio: 1.618 / 1;
     overflow: hidden
 }

 .partners-grid>:nth-child(4) .partner-logo {
     background-color: black
 }

 .partners-grid>:nth-child(5) .partner-logo {
     background-color: #f7f7f7
 }

 .partner-item:hover .partner-logo {
     transform: scale(1.02)
 }

 .partner-logo-link {
     display: block;
     width: 100%;
     height: 100%;
     text-decoration: none;
     color: inherit
 }

 .partner-logo img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     transition: var(--transition)
 }

 .partners-grid>:nth-child(7) .partner-logo img,
 .partners-grid>:nth-child(9) .partner-logo img {
     width: 50% !important;
     height: 50% !important;
     max-width: 50% !important;
     max-height: 50% !important;
     object-fit: contain
 }

 .partner-item:hover .partner-logo img {
     transform: scale(1.15)
 }

 @media (max-width:1200px) {
     .partners-grid {
         grid-template-columns: repeat(3, 1fr)
     }
 }

 @media (max-width:768px) {
     .partners-grid {
         grid-template-columns: repeat(2, 1fr)
     }
 }

 @media (max-width:480px) {
     .partners-grid {
         grid-template-columns: repeat(2, 1fr)
     }
 }

 .footer {
     background-color: white;
     color: var(--text-color);
     padding: 80px 0 40px
 }

 .footer-content {
     display: grid;
     grid-template-columns: 1fr;
     gap: var(--spacing-2xl);
     margin-bottom: var(--spacing-2xl);
     justify-items: center;
     text-align: center
 }

 .footer-logo .logo {
     display: flex;
     align-items: center;
     gap: var(--spacing-xs);
     text-decoration: none;
     color: var(--text-color);
     font-size: var(--font-size-xl);
     font-weight: 700;
     margin-bottom: var(--spacing-md);
     justify-content: center;
     width: 100%
 }

 .footer-logo {
     text-align: center;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     width: 100%
 }

 .footer-logo .logo i,
 .footer-logo .logo img {
     color: var(--primary-color);
     font-size: var(--font-size-2xl);
     height: 36px;
     width: auto;
     object-fit: contain
 }

 .footer-description {
     color: var(--text-light);
     font-size: var(--font-size-sm);
     line-height: 1.6;
     margin-bottom: var(--spacing-lg)
 }

 .footer-links h4 {
     font-size: var(--font-size-lg);
     font-weight: 600;
     margin-bottom: var(--spacing-md);
     color: var(--text-color)
 }

 .footer-links ul {
     list-style: none
 }

 .footer-links ul li {
     margin-bottom: var(--spacing-sm)
 }

 .footer-links ul li a {
     color: var(--text-light);
     text-decoration: none;
     font-size: var(--font-size-sm);
     transition: var(--transition)
 }

 .footer-links ul li a:hover {
     color: var(--primary-color);
     padding-left: 5px
 }

 .footer-links {
     display: flex;
     justify-content: center;
     gap: var(--spacing-lg);
     padding: var(--spacing-xl) 0;
     flex-wrap: wrap
 }

 .footer-links a {
     color: var(--text-light);
     text-decoration: none;
     font-size: var(--font-size-sm);
     transition: color 0.3s
 }

 .footer-links a:hover {
     color: var(--primary-color)
 }

 .footer-bottom {
     text-align: center;
     padding-top: var(--spacing-xl);
     border-top: 1px solid var(--medium-gray);
     color: var(--text-light);
     font-size: var(--font-size-sm)
 }

 .footer-bottom a {
     color: var(--text-light);
     text-decoration: none;
     transition: none
 }

 .footer-bottom a:hover {
     color: var(--text-light);
     text-decoration: none
 }

 .back-to-top {
     position: fixed;
     bottom: 30px;
     right: 30px;
     width: 50px;
     height: 50px;
     background-color: var(--primary-color);
     color: var(--white-color);
     border: none;
     border-radius: 50%;
     font-size: var(--font-size-lg);
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     box-shadow: var(--shadow-md);
     transition: var(--transition);
     opacity: 0;
     visibility: hidden;
     z-index: 999
 }

 .back-to-top.visible {
     opacity: 1;
     visibility: visible
 }

 .back-to-top:hover {
     background-color: var(--primary-dark);
     transform: translateY(-5px);
     box-shadow: var(--shadow-lg)
 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px)
     }

     to {
         opacity: 1;
         transform: translateY(0)
     }
 }

 @keyframes fadeInLeft {
     from {
         opacity: 0;
         transform: translateX(-30px)
     }

     to {
         opacity: 1;
         transform: translateX(0)
     }
 }

 @keyframes fadeInRight {
     from {
         opacity: 0;
         transform: translateX(30px)
     }

     to {
         opacity: 1;
         transform: translateX(0)
     }
 }

 @keyframes pulse {

     0%,
     100% {
         transform: scale(1)
     }

     50% {
         transform: scale(1.05)
     }
 }

 .fade-in-up {
     animation: fadeInUp 0.6s ease forwards
 }

 .fade-in-left {
     animation: fadeInLeft 0.6s ease forwards
 }

 .fade-in-right {
     animation: fadeInRight 0.6s ease forwards
 }

 .pulse {
     animation: pulse 2s infinite
 }

 @media (max-width:992px) {
     .timeline-carousel {
         padding-top: 0;
         padding-bottom: var(--spacing-lg)
     }

     .main-slide-content {
         padding: var(--spacing-lg)
     }

     .main-slide-title {
         font-size: var(--font-size-2xl)
     }

     .main-slide-description {
         font-size: var(--font-size-base);
         margin-bottom: var(--spacing-lg)
     }

     .thumbnail-carousel-slide {
         flex: 0 0 120px;
         width: 120px
     }

     .thumbnail-slide-image {
         height: 50px
     }
 }

 @media (max-width:768px) {
     .timeline-carousel {
         flex-direction: column;
         padding-top: 0;
         padding-bottom: var(--spacing-md)
     }
     
     .carousel-thumbnails {
         flex: none;
         width: 100%;
         flex-direction: row;
         align-items: center;
         gap: 8px
     }
     
     .thumbnail-carousel-controls {
         flex-direction: column;
         margin-bottom: 0;
         gap: 4px
     }
     
     .carousel-btn-up svg {
         transform: rotate(-90deg)
     }
     
     .carousel-btn-down svg {
         transform: rotate(90deg)
     }
     
     .thumbnail-carousel-track {
         display: flex;
         flex-direction: row;
         gap: 8px
     }
     
     .thumbnail-carousel-container {
         max-height: none;
         overflow-x: auto;
         flex: 1
     }
     
     .thumbnail-carousel-slide {
         min-width: 140px;
         height: 80px;
         margin-bottom: 0
     }

     .main-slide-content {
         padding: var(--spacing-md)
     }

     .main-slide-year {
         font-size: var(--font-size-xl)
     }

     .main-slide-title {
         font-size: var(--font-size-xl)
     }

     .main-slide-description {
         font-size: var(--font-size-sm);
         margin-bottom: var(--spacing-md)
     }

     .carousel-controls {
         position: static;
         transform: none;
         justify-content: center;
         margin-top: var(--spacing-md);
         gap: var(--spacing-md)
     }

     .carousel-btn {
         width: 40px;
         height: 40px;
         font-size: var(--font-size-base)
     }

     .thumbnail-carousel-container {
         padding: var(--spacing-xs)
     }

     .thumbnail-carousel-slide {
         flex: 0 0 100px;
         width: 100px;
         margin-right: var(--spacing-xs)
     }

     .thumbnail-slide-year {
         font-size: var(--font-size-xs)
     }

     .thumbnail-slide-title {
         font-size: 10px
     }

     .thumbnail-slide-image {
         height: 40px
     }
 }

 @media (max-width:576px) {
     .timeline-carousel {
         padding-top: 0;
         padding-bottom: var(--spacing-sm)
     }

     .main-slide-content {
         padding: var(--spacing-sm)
     }

     .main-slide-year {
         font-size: var(--font-size-lg)
     }

     .main-slide-title {
         font-size: var(--font-size-lg)
     }

     .main-slide-description {
         font-size: var(--font-size-sm);
         line-height: 1.5
     }

     .thumbnail-carousel-slide {
         flex: 0 0 90px;
         width: 90px
     }

     .thumbnail-slide-image {
         height: 35px
     }

     .thumbnail-slide-year {
         font-size: 10px;
         margin-bottom: 2px
     }

     .thumbnail-slide-title {
         font-size: 9px;
         margin-bottom: 2px
     }
 }

 @media (max-width:480px) {
     .timeline-carousel {
         padding-top: 0;
         padding-bottom: var(--spacing-xs)
     }

     .main-slide-content {
         padding: var(--spacing-xs)
     }

     .main-slide-year {
         font-size: var(--font-size-base)
     }

     .main-slide-title {
         font-size: var(--font-size-base);
         margin-bottom: var(--spacing-xs)
     }

     .main-slide-description {
         font-size: 12px;
         margin-bottom: var(--spacing-sm)
     }

     .thumbnail-carousel-slide {
         flex: 0 0 80px;
         width: 80px
     }

     .thumbnail-slide-image {
         height: 30px
     }

     .thumbnail-slide-year {
         font-size: 9px
     }

     .thumbnail-slide-title {
         font-size: 8px
     }
 }

 @media (max-width:1024px) {
     :root {
         --font-size-3xl: 40px;
         --font-size-2xl: 28px
     }

     .about-content,
     .technology-content,
     .contact-content {
         grid-template-columns: 1fr;
         gap: var(--spacing-xl)
     }

     .about-grid {
         grid-template-columns: 1fr;
         gap: var(--spacing-xl)
     }

     .about-stats {
         grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
         gap: var(--spacing-xl)
     }

     .technology-right {
         order: -1
     }

     .footer-content {
         grid-template-columns: 1fr 1fr;
         gap: var(--spacing-xl)
     }
 }

 @media (max-width:768px) {
     :root {
         --font-size-3xl: 32px;
         --font-size-2xl: 24px;
         --font-size-xl: 20px
     }

     .navbar-menu,
     .navbar-actions {
         display: none
     }

     .mobile-menu-btn {
         display: block
     }

     .banner {
         padding: 120px 0 80px
     }

     .banner-buttons {
         flex-direction: column;
         align-items: center
     }

     .about,
     .business,
     .technology,
     .news,
     .contact {
         padding: 80px 0
     }

     .about-card {
         padding: var(--spacing-xl)
     }

     .about-card-content {
         flex-direction: column;
         align-items: center;
         text-align: center
     }

     .about-grid {
         grid-template-columns: 1fr;
         gap: var(--spacing-xl)
     }

     .about-stats {
         grid-template-columns: repeat(2, 1fr);
         gap: var(--spacing-xl)
     }

     .business-grid,
     .news-grid {
         grid-template-columns: 1fr;
         gap: var(--spacing-md)
     }

     .footer-content {
         grid-template-columns: 1fr;
         gap: var(--spacing-lg);
         text-align: center
     }

     .social-links {
         justify-content: center
     }
 }

 @media (max-width:480px) {
     :root {
         --font-size-3xl: 28px;
         --font-size-2xl: 22px;
         --font-size-6xl: 48px
     }

     .container {
         padding: 0 var(--spacing-sm)
     }

     .banner-title {
         font-size: 28px
     }

     .banner-subtitle {
         font-size: var(--font-size-base)
     }

     .btn-lg {
         padding: var(--spacing-sm) var(--spacing-lg);
         font-size: var(--font-size-base)
     }

     .about {
         padding: 60px 0
     }

     .about-card {
         padding: var(--spacing-lg);
         margin-bottom: var(--spacing-xl)
     }

     .about-icon {
         width: 60px;
         height: 60px
     }

     .about-grid {
         gap: var(--spacing-xl)
     }

     .about-stats {
         grid-template-columns: 1fr;
         gap: var(--spacing-xl)
     }

     .stat-card {
         padding: var(--spacing-xl);
         min-height: 160px
     }

     .about-content,
     .technology-content,
     .contact-content {
         gap: var(--spacing-lg)
     }

     .business-card,
     .contact-form {
         padding: var(--spacing-lg)
     }
 }