.hs-banner {
   position: relative;
   width: 100%;
   margin-top: 80px;
}

.hs-banner>img {
   width: 100%;
   height: auto;
   display: block;
}

.hs-banner-content {
   position: absolute;
   top: 50%;
   left: 0;
   right: 0;
   transform: translateY(-50%);
   color: var(--color-text-primary);
}

.hs-banner-title {
   font-size: 72px;
   font-weight: 700;
   margin-bottom: var(--space-md);
   line-height: 1.2;
}

.hs-banner-subtitle {
   font-size: 44px;
   margin-bottom: var(--space-lg);
   color: var(--color-text-secondary);
   font-weight: 500;
}

.hs-banner-desc {
   font-size: var(--text-xl);
   opacity: 0.6;
}

.ns-solution {
   background: var(--color-white);
   padding: var(--space-5xl) 0;
}

.ns-solution .section-header {
   text-align: center;
   margin-bottom: var(--space-3xl);
}

.ns-solution .section-header::after {
   content: '';
   display: block;
   width: 80px;
   height: 3px;
   background: #6d7280;
   border-radius: 100px;
   margin: var(--space-lg) auto 0;
}

.ns-solution-content {
   max-width: 1200px;
   margin: 0 auto var(--space-3xl);
}

.ns-solution-content p {
   font-size: var(--text-base);
   line-height: 1.8;
   color: var(--color-text-secondary);
}

.ns-solution-image {
   display: flex;
   justify-content: center;
   align-items: center;
}

.ns-solution-image img {
   max-width: 100%;
   height: auto;
   display: block;
   margin: 0 auto;
}

.ns-system {
   background: var(--color-blue);
   padding: var(--space-5xl) 0;
}

.ns-system .section-header {
   text-align: center;
   margin-bottom: var(--space-3xl);
}

.ns-system .section-header::after {
   content: '';
   display: block;
   width: 80px;
   height: 3px;
   background: #6d7280;
   border-radius: 100px;
   margin: var(--space-lg) auto 0;
}

.ns-system-tabs {
   display: flex;
   justify-content: center;
   gap: var(--space-md);
   margin-bottom: var(--space-3xl);
}

.ns-system-tab {
   padding: 12px 32px;
   background: rgba(4, 139, 78, 0.10);
   border: none;
   border-radius: var(--radius-full);
   font-size: var(--text-base);
   color: var(--color-text-primary);
   cursor: pointer;
   transition: var(--transition-normal);
}

.ns-system-tab:hover {
   transform: translateY(-2px);
   box-shadow: 0 4px 15px rgba(48, 85, 165, 0.4);
   background: var(--gradient-primary);
   color: var(--color-white);
}

.ns-system-tab.active {
   background: var(--gradient-primary);
   color: var(--color-white);
}

.ns-system-content {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: var(--space-3xl);
   padding: 0 80px;
}

.ns-system-nav {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 40px;
   height: 40px;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   z-index: 10;
}

.ns-system-nav-prev {
   left: 60px;
}

.ns-system-nav-next {
   right: 60px;
}

.ns-system-nav::after {
   content: '';
   display: block;
   width: 16px;
   height: 16px;
   border-right: 3px solid #9ca3af;
   border-bottom: 3px solid #9ca3af;
   transition: border-color 0.3s ease;
}

.ns-system-nav:hover::after {
   border-right-color: var(--color-primary);
   border-bottom-color: var(--color-primary);
}

.ns-system-nav-prev::after {
   transform: rotate(135deg);
}

.ns-system-nav-next::after {
   transform: rotate(-45deg);
}

.ns-system-nav.disabled {
   opacity: 0.3;
   cursor: not-allowed;
}

.ns-system-nav.disabled::after {
   border-color: #999;
}

.ns-system-features {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   display: flex;
   flex-direction: column;
   gap: var(--space-lg);
   z-index: 5;
}

.ns-system-features-left {
   left: 200px;
}

.ns-system-features-right {
   right: 200px;
}

.ns-system-features-left .ns-system-feature:nth-child(2),
.ns-system-features-left .ns-system-feature:nth-child(5) {
   transform: translateX(-20px);
}

.ns-system-features-right .ns-system-feature:nth-child(2),
.ns-system-features-right .ns-system-feature:nth-child(5) {
   transform: translateX(20px);
}

.ns-system-feature {
   display: flex;
   align-items: center;
   gap: var(--space-sm);
   padding: var(--space-md) var(--space-lg);
   background: var(--color-white);
   border-radius: var(--radius-full);
   box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08);
   transition: var(--transition-normal);
}

.ns-system-feature.hidden {
   display: none;
}

.ns-system-feature img {
   width: 20px;
   height: 20px;
}

.ns-system-feature span {
   font-size: var(--text-sm);
   color: var(--color-text-primary);
   white-space: nowrap;
}

.ns-system-swiper-wrapper {
   width: 550px;
   flex-shrink: 0;
}

.ns-system-swiper {
   width: 100%;
   overflow: hidden;
}

.ns-system-swiper .swiper-slide img {
   width: 100%;
   height: auto;
   border-radius: var(--radius-lg);
}

.ns-system-desc {
   max-width: 1000px;
   margin: 0 auto;
   text-align: left;
}

.ns-system-desc-text {
   font-size: var(--text-base);
   line-height: 1.8;
   color: var(--color-text-secondary);
}

.ns-system-desc-text.hidden {
   display: none;
}

.ns-advantages {
   background: var(--color-white);
   padding: var(--space-5xl) 0;
}

.ns-advantages .section-header {
   text-align: center;
   margin-bottom: var(--space-3xl);
}

.ns-advantages .section-header::after {
   content: '';
   display: block;
   width: 80px;
   height: 3px;
   background: #6d7280;
   border-radius: 100px;
   margin: var(--space-lg) auto 0;
}

.ns-advantages-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: var(--space-xl);
}

.ns-advantages-item {
   display: flex;
   align-items: flex-start;
   gap: var(--space-lg);
   padding: var(--space-2xl);
   background: rgba(255, 255, 255, 0.50);
   border: 1px solid rgba(255, 255, 255, 0.3);
   border-radius: 16px;
   box-shadow: 0px 8px 24px 0px rgba(43, 89, 193, 0.08);
   backdrop-filter: blur(20px);
   transition: var(--transition-normal);
}

.ns-advantages-item:hover {
   transform: translateY(-4px);
   box-shadow: 0px 12px 32px 0px rgba(43, 89, 193, 0.12);
}

.ns-advantages-number {
   flex-shrink: 0;
   width: 60px;
   height: 60px;
   display: flex;
   align-items: center;
   justify-content: center;
   background-image: url('../assets/images/nursing/icon/number-bg.png');
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center;
}

.ns-advantages-number span {
   font-size: 28px;
   font-weight: 700;
   color: var(--color-white);
}

.ns-advantages-content {
   flex: 1;
}

.ns-advantages-title {
   font-size: var(--text-lg);
   font-weight: 600;
   color: var(--color-text-primary);
   margin-bottom: var(--space-sm);
}

.ns-advantages-desc {
   font-size: var(--text-sm);
   line-height: 1.6;
   color: var(--color-text-secondary);
}