@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');

/* Global Variables */
:root {
    --primary-color: #0088cc; /* Atheron Blue */
    --primary-dark: #006699;
    --text-black: #000000;
    --text-color: #000000;
    --text-light: #666666;
    --bg-light: #f9f9f9;
    --white: #ffffff;
    --border-color: #eeeeee;
    --max-width: 1920px; /* Wider container for modern look */
    --header-height: 76px;
    --transition-speed: 0.3s;
}

/* 定义字体 */
@font-face {
  font-family: 'Source Sans Pro';
  src: url('../fonts/Source Sans Pro.eot'); /* IE9 兼容 */
  src: url('../fonts/Source Sans Pro.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/Source Sans Pro.woff2') format('woff2'), /* 现代浏览器优先 */
       url('../fonts/Source Sans Pro.woff') format('woff'), /* 较新浏览器 */
       url('../fonts/Source Sans Pro.ttf') format('truetype'), /* 旧版浏览器、移动端 */
       url('../fonts/Source Sans Pro.svg#SourceSansPro') format('svg'); /* 旧版 iOS */
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* 优化加载：先显示系统字体，再替换 */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: 'Source Sans Pro', 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: var(--text-black);
    line-height: 1.6;
    background-color: var(--white);
    font-size: 16px;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color var(--transition-speed);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

.overflow-hidden { overflow: hidden;}

.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 40px;
}

.bg-box-grey { background: #F5F5F5;}

/* Header */
header {
    background: rgba(255, 255, 255, 0.9);
    height: var(--header-height);
    display: flex;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 15px rgba(0,0,0,0.05);
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.header-inner .logo {
    max-width: 165px;
}

.header-inner .logo img {
    height: 48px;
    width: auto;
}

.header-inner .right {    
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
}

.nav-menu {
    display: flex;
    gap: 38px;
}

.nav-menu a {
    font-weight: 500;
    font-size: 20px;
    color: var(--text-color);
    position: relative;
}


.nav-menu a:hover, .nav-menu a.cur {
    color: var(--primary-color);
}

.nav-item {
    position: relative;
}

/* Dropdown Base */
.dropdown-menu {
  position: absolute;
  top: 100%; /* Below header */
  left: 0;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 200;
  border-top: 1px solid #eee;
}

/* Show on Hover */
.nav-item:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* --- Simple Menu --- */
.simple-menu {
  min-width: 300px;
  padding: 10px 0;
}

.simple-menu a {
  padding: 12px 25px !important; /* Override nav a padding */
  color: #000;
  font-size: 20px;
  transition: all 0.2s;
  font-weight: normal;
  display: flex;
  justify-content: space-between;
}

.simple-menu a::after {
  display: none; /* Remove active underline if inherited */
}

.simple-menu a:hover {
  background: #f5f7fa;
  color: #000;
}

.simple-menu a .arrow {
  font-family: sans-serif;
  transition: transform 0.2s;
  display: none;
}

.simple-menu a:hover .arrow {
  transform: translateX(5px);
}

.line {
    width: 1px;
    height: 18px;
    background-color: #ADADAD;
    overflow: hidden;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 28px;
    font-size: 20px;
    font-weight: 500;
}

.lang-selector, .search-icon {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-color);
}

.fas {
    width: 17.4px;
    height: 17.4px;
}

.fa-globe {
    background: url('../images/icon-lang.svg') no-repeat center center/100%;
}

.fa-search {
    background: url('../images/icon-search.svg') no-repeat center center/100%;
}

.fa-wechat {
    background: url('../images/icon-wechat.svg') no-repeat center center/100%;
}

.fa-linkedin-in {
    background: url('../images/icon-linkedin.svg') no-repeat center center/100%;
}

.fa-arrow-rightup {
    background: url('../images/icon-arrow-rightup.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
}

.fa-arrow-left {
    background: url('../images/icon-arrow-left.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
}

.fa-arrow-right {
    background: url('../images/icon-arrow-left.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(180deg);
}

.fa-arrow-left2 {
    background: url('../images/icon-arrow-left2.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
}

.fa-arrow-right2 {
    background: url('../images/icon-arrow-left2.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(180deg);
}

.fa-arrow-up {
    background: url('../images/icon-arrow-left.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(90deg);
}

.fa-arrow-down {
    background: url('../images/icon-arrow-left.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(270deg);
}

.fa-arrow-rightup-green {
    background: url('../images/icon-arrow-rightup-green.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
}

.fa-home {
    background: url('../images/icon-home.svg') no-repeat center center/100%;
    width: 20px;
    height: 20px;
}

.fa-pdf {
    background: url('../images/icon-pdf.svg') no-repeat center center/100%;
    width: 17px;
    height: 22px;
}

.fa-scroll-look {
    background: url('../images/icon-scroll-look.png') no-repeat center center/100%;
    width: 26px;
    height: 36px;
}

.fa-chevron-down {
    background: url('../images/icon-arrow-rightup-green.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    /*transform: rotate(180deg);*/
}

.fa-close {
    background: url('../images/icon-close.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
}

.btn-contact {
    padding: 7px 20px;
    border: 1px solid #e0e0e0;
    border-radius: 40px;
    font-size: 16px;
    font-weight: 500;
    transition: all var(--transition-speed);
    background: var(--white);
}

.btn-contact:hover {
    background: var(--primary-color);
    color: var(--white);
    border-color: var(--primary-color);
}

/* Mobile Menu Toggle */
.menu-toggle {
    display: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--text-color);
}

/* Hero Section (Home) */
.hero {
    position: relative;
    height: calc(100vh - var(--header-height));
    /*min-height: 700px;*/
    /* Placeholder for the lab background */
    /*background: linear-gradient(rgba(0, 68, 102, 0.2), rgba(0, 68, 102, 0.4)), url('https://images.unsplash.com/photo-1579684385127-1ef15d508118?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') no-repeat center center/cover;
    color: var(--white);*/
    overflow: hidden;
}

.hero-wrapper { height: 100%;}

.hero-wrapper .hero-slider {
    height: 100%;
    width: 100%;
}

.hero-img { height: 100%;}

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

.hero-img .mobile-banner {
  display: none;
}

.hero-content {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    color: var(--white);
}

.hero-content .container {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

.hero h1 {
    font-size: 55px;
    line-height: 1.1;
    margin-bottom: 24px;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.hero h1 span {
    color: #A4CA3F; /* Highlight color from design */
    background: linear-gradient(270deg, #A4CA3F 20%, #FFFFFF 85%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.hero h1 p {
    color: #115FAC;
}

.hero h1 p.v2 {
    background: linear-gradient(90deg, #115FAC 0%, #40877C 30%, #83BF3C 95%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    display: inline-block;
}

.hero .con p {
    font-size: 20px;
    margin-bottom: 40px;
    max-width: 500px;
    line-height: 1.6;
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    background: var(--primary-color);
    color: var(--white);
    padding: 12px 30px;
    border-radius: 80px;
    font-weight: 500;
    font-size: 18px;
    transition: background var(--transition-speed);
}

.btn-primary:hover {
    background: var(--primary-dark);
}

.btn-primary i {
    font-size: 12px;
}

.hero-content .btn-primary {background: rgba(255, 255, 255, 0.2);}

/* Carousel Indicators */
.carousel-indicators {
    position: absolute;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    align-items: center;
    z-index: 1;
}

.home-swiper-pagination {
    display: flex;
    gap: 10px; height: 20px;
}

.indicator {
    width: 6px;
    height: 6px;
    background: rgba(255,255,255, 1); opacity: 1;
    border-radius: 50%;
    cursor: pointer;
    
}

.indicator.swiper-pagination-bullet-active {
    width: 20px;
    height: 20px;transition: all 0.3s;
    background: transparent;
    border: 2px solid var(--white);
    /*border-top-color: transparent;*/
    /* Create spinner look */
    border-radius: 50%;
    position: relative;
    top: -7px; /* Adjust alignment */
}

/* Page Banner (About Us) */
.page-banner {
    height: 430px;
    display: flex;
    align-items: flex-start;
    color: var(--white);
    position: relative;
}

.page-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-banner .mobile-banner {
  display: none;
}

.banner-content {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  width: 100%;
}

.banner-title {
    font-size: 55px;
    font-weight: 600;
}

/*.careers_body .banner-content, .contact_body .banner-content {
    text-align: center;
    top: auto;
    transform: none;
    bottom: 20%;
}*/


/* Breadcrumbs */
.breadcrumbs {
    padding: 20px 40px;
    font-size: 20px;
    color: var(--text-black);
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.breadcrumbs i {
    margin-right: 5px;
}

/* General Section Styles */
.section {
    padding: 50px 0 100px;
}

.section-title {
    font-size: 46px;
    margin-bottom: 40px;
    font-weight: 600;
    color: #000;
}

/* Intro Section */
.intro-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3vw;
    align-items: center;
}

.intro-text h2 {
    font-size: 46px;
    margin-bottom: 24px;
    font-weight: 600;
    line-height: 1.4;
}

.intro-text h3 {
    font-size: 27px;
    margin-bottom: 14px;
    font-weight: 500;
    line-height: 1.4;
}

.intro-text .con {
    font-size: 22px;
    color: var(--text-black);
    /*text-align: justify;*/
}

.intro-image img {
    border-radius: 20px;
}

/* History Section */
.history-grid {
    position: relative;
}

.history-grid-fl { display: flex;background: #F5F5F5;border-radius: 20px; padding: 20px;}

.history-image img {
    border-radius: 20px;
}

.history-content { padding-right: 74px;max-height: 300px; overflow-y: auto;}
.history-content .item-title { font-size: 40px; font-weight: 500; margin-bottom: 5px;}
.history-content .item-text { font-size: 20px; line-height: 1.6;}

.history-content::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

.history-content::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
  background: #1585C7;
}

.history-content::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 5px rgba(255, 255, 255, 0.1);
  border-radius: 0;
  background: rgba(24, 86, 166, 0.05);
}






.history-timeline {
    position: relative;
    width: 100%;
    padding-left: 3vw;
    padding-right: 3vw;
    margin-top: 42px;
}
.history-timeline .sss { height: 75px; overflow: hidden; }
.history-timeline::after {
    content: '';
    position: absolute;
    left: 0;
    top: 15px;
    width: calc(100% - 22px);
    margin-left: 22px;
    height: 2px;
    background: #000;
}

.timeline-nav-arrow {
    position: absolute;
    left: 1px;
    width: 45px;
    height: 45px;
    background: #F5F5F5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background var(--transition-speed);
    border: 0;
    top: -6px;
    z-index: 1;
}

.timeline-nav-arrow:hover {
    background: #1585C7;
}


.timeline-nav-arrow.up {
    left: 0;
}

.timeline-nav-arrow.down {
    left: auto;
    right: 0;
}


.timeline-nav-arrow:hover .fa-arrow-left2, .timeline-nav-arrow.active .fa-arrow-left2 {
    background: url('../images/icon-arrow-right2.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(180deg);
}

.timeline-nav-arrow:hover .fa-arrow-right2, .timeline-nav-arrow.active .fa-arrow-right2 {
    background: url('../images/icon-arrow-right2.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(0deg);
}

.timeline {
    position: relative;
    display: flex;
    padding-left: 8px;
    align-items: center;
    justify-content: center;
}

.timeline-item {
    position: relative;
    display: flex;
    gap: 7px;
    justify-content: start;
    align-items: center;
    cursor: pointer;
    flex-direction: column;
}

.timeline-dot {
    width: 31px;
    height: 31px;
    /*background: #fff;*/
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,0);
    transition: all 0.3s;
    position: relative;
}

.timeline-dot::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    background: #5E5E5E;
    border-radius: 50%;
}

.timeline-year {
    font-weight: 400;
    color: #999;
    font-size: 18px;
    transition: all 0.3s;
}

.timeline-item.swiper-slide-thumb-active .timeline-year {
    color: var(--primary-color);
    font-size: 22px;
    font-weight: 500;
}

.timeline-item.swiper-slide-thumb-active .timeline-dot {
    border-color: #1585C7;
}

.timeline-item.swiper-slide-thumb-active .timeline-dot::after {
    background: #1585C7;
}

/* Management Team */
.team-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
}

.team-tabs {
    display: flex;
    gap: 10px;
}

.tab-btn {
    padding: 12px 30px;
    border-radius: 80px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    background: #f5f5f5;
    color: var(--text-black);
    transition: all 0.3s;
}

.tab-btn:hover, .tab-btn.active {
    background: var(--primary-color);
    color: var(--white);
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
.team-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 168px;
}
.team-grid {
    gap: 20px;
    padding: 0 243px;
}

.team-expanded { display: none; grid-column: 1 / -1;}
/*.team-expanded { display: block;  }*/
.team-card {
    /*border-radius: 20px;
    transition: transform 0.3s, box-shadow 0.3s;
    background: #F5F5F5;
    padding: 18px;*/
    position: relative;
    text-align: center;
}

.team-card.active:after { z-index: 10; content:''; width: 100%; height: 4px; background: var(--primary-color); position: absolute; left: 0; bottom: -24px; }
.team-card.active:before { z-index: 10; content:''; width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 12px solid var(--primary-color); position: absolute; left: 50%; margin-left: -10px; bottom: -24px; }


.team-photo {
    width: 100%;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    padding: 1px;
    aspect-ratio: 1 / 1;
}

.team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    border-radius: 50%;
    border: 19px solid #F5F5F5;
}


.team-card:hover .team-photo {
    background: linear-gradient(180deg, #108CCF 0%, #1484C7 52%, #066BB6 100%);
    background-clip: content-box;
}

.team-card:hover .team-photo img {
    border-color: #fff;
}

.team-role-tag {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    color: var(--white);
    padding: 9px 14px;
    font-size: 16px;
    font-weight: 400;
    border-radius: 6px;
    text-transform: uppercase;
    line-height: 1;
}

.team-info {
    padding: 20px 0 0;
    position: relative;
    margin-bottom: 30px;
}

.team-info h4 {
    font-size: 40px;
    margin-bottom: 6px;
    font-weight: 500;
}

.team-info p {
    font-size: 22px;
    color: var(--text-black);
    line-height: 1.4;
}

.team-expand-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--primary-color);
    transition: all 0.3s;
}

.team-card:hover .team-expand-btn,
.team-card.active .team-expand-btn
{
    background: var(--primary-color);
    color: var(--white);
}

.team-card:hover .fa-chevron-down, .team-card.active .fa-chevron-down {
    background: url('../images/icon-arrow-rightup.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(180deg);
}
.team-card.active .fa-chevron-down, .team-card.active .fa-chevron-down {
    background: url('../images/icon-arrow-rightup.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(180deg);
}

/* Expanded Member View */
.team-expanded-hide {display: none;}

.team-expanded {
    background: #f5f5f5;
    padding: 50px;
    position: relative;
    margin-bottom: 40px;
    border-radius: 0px 0px 20px 20px;
    border-top: 4px solid rgba(0, 0, 0, 0.1);
    display: none;
}

.close-btn {
    position: absolute;
    top: 30px;
    right: 30px;
    cursor: pointer;
    font-size: 18px;
    color: #999;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.team-expanded .team-title {
    font-size: 30px;
    margin-bottom: 5px;
    font-weight: 500;
}

.team-expanded .team-desc {
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: 400;
    color: #1585C7;
}

.expanded-content {
    font-size: 20px;
    color: #000;
    line-height: 1.8;
}

.expanded-content ul {
    list-style: disc;
    padding-left: 1em;
}

.expanded-content ul li::marker {
    color: #D8D8D8;
}

/* Investor Section */
.investor-card {
    background: #f5f5f5;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
    padding: 20px;
    gap: 4vw;
}

.investor-img {
    width: 50%;
    position: relative;
    min-height: 540px; overflow: hidden;
}

.investor-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.investor-content {
    width: 50%;
    padding: 80px 60px 80px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.investor-content h3 {
    font-size: 30px;
    margin-bottom: 14px;
    font-weight: 500;
}

.investor-content .con {
    font-size: 16px;
    color: var(--text-black);
    margin-bottom: 40px;
    line-height: 1.8;
}

.investor-content .con p { margin-bottom: 14px;}

/* Footer */
footer {
    background: #f3f3f3;
    padding: 80px 0 30px;
    font-size: 14px;
    border-top: 1px solid #eee;
}

.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 60px;
    /*align-items: stretch;*/
}

.footer-brand {
    max-width: 24%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer-logo img {
    height: 52px;
    margin-bottom: 25px;
}

.footer-desc {
    margin-top: 2vw;
    color: var(--text-black);
    font-size: 16px;
    line-height: 1.6;
}

.footer-nav {
    display: flex;
    gap: 3vw;
    align-items: start;
}

.footer-nav a {
    font-weight: 500;
    color: var(--text-color);
    font-size: 20px;
}

.footer-nav a:hover {
    color: var(--primary-color);
}

.footer-contact {
    text-align: left;
    font-size: 16px;
    color: var(--text-black);
    width: 22%;
}

.footer-contact p {
    margin-bottom: 12px;
    display: grid;
    grid-template-columns: 1fr 3fr;
}

.social-icons {
    display: flex;
    gap: 12px;
    justify-content: flex-start;
    margin-top: 25px;
}

.social-icon {
    width: 50px;
    height: 50px;
    background: #e6e6e6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    transition: all 0.3s;
}

.social-icon:hover {
    background: var(--primary-color);
    color: var(--white);
}

.social-icon:hover a img {
    filter: brightness(10) contrast(10);
}

.social-icon {
  position: relative;
}
.social-icon .qrcode {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 100px;
  display: none;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 10px;
}
.social-icon:hover .qrcode {
  display: flex;
}

.footer-bottom {
    border-top: 1px solid #e5e5e5;
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
    color: #000;
    font-size: 14px;
}

/* Publication Page Styles */

/* Internal Banner (Science) */
.internal-banner {
    height: 400px;
    background: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.2)), url('https://placehold.co/1920x600/004466/ffffff?text=Science+Banner') no-repeat center center/cover; /* Placeholder */
    display: flex;
    align-items: center;
    color: var(--white);
    margin-bottom: 0;
}

.internal-banner h1 {
    font-size: 56px;
    font-weight: 700;
    margin-left: 20px; /* To align better visually if container is not used directly, but we use container */
}
/* Fix for banner content alignment using container */
.internal-banner .container {
    height: 100%;
    display: flex;
    align-items: center;
}
.internal-banner h1 {
    margin-left: 0; /* Reset */
}

/* Breadcrumb Section */
.breadcrumb-section {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
    margin-bottom: 40px;
}

.breadcrumb {
    font-size: 13px;
    color: #999;
    display: flex;
    align-items: center;
    gap: 8px;
}

.breadcrumb a {
    color: #999;
}

.breadcrumb a:hover {
    color: var(--primary-color);
}

.breadcrumb .separator {
    font-size: 10px;
}

.breadcrumb .current {
    color: #666;
}

/* Page Content */
.page-content {
    padding-bottom: 80px;
}

.page-content .section-title {
    margin-bottom: 30px;
    font-size: 32px;
}

/* Publication List */
.publication-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.pub-item {
    display: flex;
    align-items: start;
    background: #F5F5F5; /* Very light gray */
    padding: 30px 30px;
    border-radius: 20px;
    transition: all 0.2s;
    text-decoration: none; /* Reset link style */
    color: inherit;
}

.pub-item:hover {
    background: #f5f7fa; /* Slightly darker on hover */
    /* border-color: #e0e0e0; */
}

.pub-icon {
    flex-shrink: 0;
    width: 17px;
    height: 30px;
    margin-right: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 24px;
}

.pub-content {
    flex-grow: 1;
    margin-right: 20px;
}

.pub-title {
    font-size: 22px;
    font-weight: 400;
    color: #000;
    margin-bottom: 8px;
    line-height: 1.4;
    transition: color 0.2s;
}

.pub-item:hover .pub-title {
    text-decoration: underline;
    font-weight: 500;
}

.pub-meta {
    font-size: 16px;
    color: #888;
    line-height: 1.5;
}

.pub-action {
    flex-shrink: 0;
}

.arrow-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4caf50; /* Green arrow for default */
    background: #F5F5F5;
    font-size: 12px;
    transition: all 0.2s;
}

.pub-action .arrow-circle {
    background: #FFFFFF;
}

.pub-item:hover .arrow-circle, .news-item:hover .arrow-circle, .job-item:hover .arrow-circle {
    background: #115FAC;
    color: var(--white);
}

/* First item active style override if needed, or just hover effect */
.arrow-circle.active {
    background: #115FAC;
    color: var(--white);
}

/* Pagination */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 60px;
    gap: 10px;
}

.page-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #f5f5f5;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
}

.page-btn:hover, .page-btn.cur {
    background: var(--primary-color);
    color: var(--white);
}

.page-ellipsis {
    color: #999;
    padding: 0 5px;
}

/* News Page Styles */
.news-list {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.news-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 29px 0;
    border-bottom: 1px solid #ededed;
    text-decoration: none;
    color: inherit;
    transition: all 0.2s;
}

.news-content {
    flex-grow: 1;
    margin-right: 40px;
}

.news-date {
    font-size: 20px;
    color: var(--primary-color);
    margin-bottom: 8px;
    font-weight: 400;
}

.news-title {
    font-size: 22px;
    font-weight: normal; /* Regular weight as per design */
    color: #000;
    line-height: 1.5;
    font-weight: 400;
}

.news-item:hover .news-title {
    font-weight: 500;
    text-decoration: underline;
}

.news-action {
    flex-shrink: 0;
}

/* Reuse arrow-circle from pub-item but handle colors */
.news-item:hover .fa-arrow-rightup-green, .pub-item:hover .fa-arrow-rightup-green, .job-item:hover .fa-arrow-rightup-green {
    background-image: url(../images/icon-arrow-rightup.svg);
}

/* Override active state for first item if needed, but in HTML we used active class */

/* News Detail Page Styles */
.news-detail-container {
    display: grid;
    grid-template-columns: 2.95fr 1fr;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
}

.news-article {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 40px 30px;
}

.article-title {
    font-size: 32px;
    font-weight: 600;
    color: #000;
    line-height: 1.3;
    margin-bottom: 10px;
}

.article-date {
    font-size: 18px;
    color: var(--primary-color);
    font-weight: 400;
}

.article-line {
    width: 100%;
    height: 1px;
    background: rgba(0, 0, 0, 0.1);
    margin-top: 24px;
    margin-bottom: 24px;
}


.article-body {
    color: #000;
    line-height: 1.8;
    font-size: 20px;
}

.article-body p {
    margin-bottom: 24px;
    text-align: justify;
}

.article-body ul li::marker { color:#D8D8D8; }

.article-body h3 {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin-top: 40px;
    margin-bottom: 20px;
}

.article-image {
    margin: 40px 0;
    border-radius: 15px;
    overflow: hidden;
}

.article-image img {
    width: 100%;
    height: auto;
    border-radius: 15px;
}

.article-nav {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid #eee;
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: space-between;
    gap: 15px;
}

.nav-item2 {
    font-size: 20px;
    color: #000;
}

.nav-item2 .nav-label {
    font-weight: 500;
    color: #000;
}

.nav-item2 a {
    color: #000;
    transition: color 0.2s;
}

.nav-item2 a:hover {
    color: var(--primary-color);
}

.return-btn-wrapper {
    display: flex;
    justify-content: flex-end;
}

.btn-return {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--primary-color);
    color: var(--white);
    padding: 12px 30px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.3s;
}

.btn-return:hover {
    background: var(--primary-dark);
}

/* Sidebar Styles */
.news-sidebar {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 40px 30px;
    position: sticky;
    top: 100px;
    display: none;
}

.sidebar-title {
    width: 100%;
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 25px;
    padding-bottom: 19px;
    border-bottom: 2px solid var(--primary-color);
    display: inline-block;
}

.recommend-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.recommend-item {
    display: block;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.recommend-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rec-date {
    font-size: 16px;
    color: var(--primary-color);
    margin-bottom: 8px;
    font-weight: 400;
}

.rec-title {
    font-size: 20px;
    line-height: 1.4;
    color: #000;
    font-weight: 500;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}

.recommend-item:hover .rec-title {
    text-decoration: underline;
}

.rec-icon {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 10px;
    transition: all 0.2s;
}

.rec-icon.active, .recommend-item:hover .rec-icon {
    background: var(--primary-color);
    color: var(--white);
}

.recommend-item:hover .rec-icon .fa-arrow-rightup-green {
    background-image: url(../images/icon-arrow-rightup.svg);
}

/* Careers Page Styles */
.careers-banner {
    background: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.2)), url('https://placehold.co/1920x600/004466/ffffff?text=Careers+Banner') no-repeat center center/cover;
}

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

.section-subtitle {
    font-size: 22px;
    color: #666;
    margin-top: -30px; /* Pull closer to title */
    margin-bottom: 0px;
}

.careers-intro {
    padding-top: 80px;
    padding-bottom: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.careers-logo-display {
    margin: 66px 0 60px;
}

.careers-logo-display img {
    width: 100%;
    height: auto;
}

.scroll-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: #999;
}

.scroll-text {
    font-size: 16px;
    letter-spacing: 1px;
}

.scroll-icon {
    font-size: 24px;
    animation: bounce 2s infinite;
    display: flex;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

.careers-gallery {
    padding-top: 120px;
    padding-bottom: 120px;
}

.gallery-image {
    margin-top: 40px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.1);
}

.gallery-image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.5s;
}

.gallery-image:hover img {
    transform: scale(1.02);
}

/* Culture And Welfare Page Styles */
.culture-banner {
    background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.3)), url('https://placehold.co/1920x600/003366/ffffff?text=Careers+Teamwork') no-repeat center center/cover;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.section-controls {
    display: flex;
    gap: 15px;
}

.control-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #F3F3F3;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    cursor: pointer;
    transition: all 0.3s;
    border: 0;
}

.control-btn:hover, .control-btn.active {
    background: var(--primary-color);
    color: var(--white);
    border-color: var(--primary-color);
}

.control-btn:hover .fa-arrow-left, .control-btn.active .fa-arrow-left, .visual-nav-arrow:hover .fa-arrow-left, .visual-nav-arrow.active .fa-arrow-left {
    background: url('../images/icon-arrow-right.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(180deg);
}

.control-btn:hover .fa-arrow-right, .control-btn.active .fa-arrow-right, .visual-nav-arrow:hover .fa-arrow-right, .visual-nav-arrow.active .fa-arrow-right {
    background: url('../images/icon-arrow-right.svg') no-repeat center center/100%;
    width: 10px;
    height: 10px;
    transform: rotate(0deg);
}

.prev.swiper-button-disabled, .next.swiper-button-disabled {
    background: #F3F3F3 !important;
    color: #999 !important;
    cursor: not-allowed;
}

.prev.swiper-button-disabled .fa-arrow-left {
    background-image: url('../images/icon-arrow-left.svg');
    transform: rotate(0deg);
}

.next.swiper-button-disabled .fa-arrow-right {
    background-image: url('../images/icon-arrow-left.svg');
    transform: rotate(180deg);
}

.culture-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0px;
}

.culture-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 360px; /* Fixed height for consistency */
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: transform 0.3s;
}

.culture-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.culture-card:hover img {
    transform: scale(1.05);
}

.culture-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent 60%);
    pointer-events: none;
}

.culture-text {
    position: absolute;
    bottom: 23px;
    left: 30px;
    right: 30px;
    color: var(--white);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.4;
    text-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

/* Job Recruitment Page Styles */
.job-banner {
    background: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.3)), url('https://placehold.co/1920x600/002244/ffffff?text=Careers+Meeting') no-repeat center center/cover;
}

.job-tabs {
    display: flex;
    gap: 15px;
    padding: 5px;
}

.job-tab {
    padding: 15px 30px;
    border-radius: 80px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    background: #F3F3F3;
    color: #666;
    transition: all 0.3s;
}

.job-tab.active {
    background: var(--primary-color);
    color: var(--white);
    box-shadow: 0 4px 10px rgba(0, 136, 204, 0.3);
}

.job-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.job-item {
    border-radius: 20px;
    padding: 29px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.2s;
    text-decoration: none;
    color: inherit;
    background: #F5F5F5;
}

.job-info {
    flex-grow: 1;
    margin-right: 40px;
}

.job-title {
    font-size: 24px;
    font-weight: 500;
    color: #000;
    margin-bottom: 5px;
}

.job-item:hover .job-title {
    text-decoration: underline;
}

.job-tags {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.job-tag {
    font-size: 16px;
    padding: 7px 13px;
    background: rgba(21, 133, 199, 0.07);
    backdrop-filter: blur(10px);
    color: var(--primary-color);
    border-radius: 6px;
    font-weight: 400;
}

/* Active/Hover state overrides for tags */
.job-item:hover .job-tag {
    background: var(--primary-color);
    color: var(--white);
}

.job-desc {
    font-size: 20px;
    color: #000;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.job-action {
    flex-shrink: 0;
}

.job-apply-text a { text-decoration: underline; color: var(--primary-color);}

/* Contact Page Styles */
.contact-banner {
    background: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.3)), url('https://placehold.co/1920x600/002244/ffffff?text=Contact+Us') no-repeat center center/cover;
}

.contact-container {
    display: grid;
    grid-template-columns: 1fr 1.85fr;
    gap: 110px;
    align-items: start;
}

.contact-title {
    font-size: 46px;
    font-weight: 600;
    color: #000;
    margin-bottom: 30px;
}

.contact-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 46px;
}

.contact-list li {
    display: flex;
    gap: 17px;
}

.contact-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(21, 133, 199, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 18px;
    flex-shrink: 0;
}

.contact-details {
    flex-grow: 1;
}

.contact-label {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    margin-bottom: 5px;
}

.contact-value {
    font-size: 20px;
    color: #000;
    line-height: 1.5;
}

.btn-navigate {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--primary-color);
    color: var(--white);
    padding: 12px 30px;
    border-radius: 25px;
    font-weight: 500;
    font-size: 18px;
    transition: background 0.3s;
}

.btn-navigate:hover {
    background: var(--primary-dark);
}

.contact-map-col {
    position: relative;
}

.map-container {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
}

.map-container img {
    width: 100%;
    height: auto;
    display: block;
}

.map-pin-overlay {
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.pin-tooltip {
    background: var(--white);
    padding: 10px 20px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: #000;
    white-space: nowrap;
}

.pin-tooltip img {
    height: 20px;
    width: auto;
}

.pin-icon {
    font-size: 32px;
    color: var(--primary-color);
    filter: drop-shadow(0 2px 5px rgba(0,0,0,0.2));
    animation: bounce 2s infinite;
}

/* Responsive Adaptations */
@media (max-width: 1200px) {
    .breadcrumbs {padding: 20px 30px;}

    .container {
        padding: 0 30px;
    }

    .careers-gallery {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    
    .news-detail-container {
        gap: 40px;
        grid-template-columns: 1fr 300px;
    }
    
    .hero h1 {
        font-size: 48px;
    }
    
    .team-grid {
        grid-template-columns: repeat(3, 1fr);
        padding: 0;
    }
}

@media (max-width: 1100px) {
    .nav-menu, .header-actions {
        display: none; /* In a real app, implement JS toggle */
    }
    
    .news-detail-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .news-sidebar {
        position: static;
        margin-top: 40px;
    }
    
    .menu-toggle {
        display: block;
    }
    
    /*.intro-grid, .history-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }*/
    
    .investor-card {
        flex-direction: column;
        gap: 0;
    }
    
    .investor-img, .investor-content {
        width: 100%;
    }
    
    .investor-img {
        height: 300px;
        min-height: auto;
    }
    
    .investor-content {
        padding: 25px 10px 0px;
    }
    .investor-content .con { margin-bottom: 10px; }
    
    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .culture-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-top {
        flex-direction: column;
        gap: 40px;
    }
    
    .footer-contact {
        text-align: left;
    }
    
    .social-icons {
        justify-content: flex-start;
    }
    
    .footer-nav {
        flex-wrap: wrap;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .section {
        padding: 10px 0 50px;
    }

    .hero h1 {
        font-size: 36px;
    }
    
    .article-title {
        font-size: 24px;
    }

    .careers_body .section-header {
        flex-direction: column;
    }
    
    .section-title {
        font-size: 28px;
    }
    
    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    /* Publication Page Mobile */
    .pub-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }
    
    .pub-icon {
        margin-bottom: 15px;
    }
    
    .pub-action {
        align-self: flex-end;
        margin-top: 10px;
    }

    .internal-banner h1 {
        font-size: 36px;
    }

    /* News Page Mobile */
    .news-item {
        flex-direction: row; /* Keep row layout but maybe adjust spacing */
        align-items: flex-start;
    }
    
    .news-content {
        margin-right: 20px;
    }
    
    .news-action {
        margin-top: 5px; /* Align with date or title */
    }

    .culture-grid {
        grid-template-columns: 1fr;
        display: flex;
    }

    .culture-card {
        height: 300px;
    }

    /* Job Recruitment Mobile */
    .job-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }

    .job-info {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .job-action {
        align-self: flex-end;
    }
    
    .job-tabs {
        width: 100%;
        justify-content: center;
    }

    /* Contact Page Mobile */
    .contact-container {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .contact-map-col {
        order: -1; /* Show map first on mobile if desired, or remove line to show after info */
    }
}

@media (max-width: 600px) {
    .team-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Therapeutic Area Page */
.science-banner {
    background-image: url('https://placehold.co/1920x400/003366/ffffff?text=Science+Banner');
    background-size: cover;
    background-position: center;
    padding: 100px 0;
    color: #fff;
    margin-bottom: 0;
}

.science-banner h1 {
    font-size: 48px;
    font-weight: 700;
}

.therapeutic-section {
    padding-top: 50px;
    padding-bottom: 100px;
}

.therapeutic-intro-text {
    margin-bottom: 47px;
    font-size: 20px;
}

.therapeutic-intro-text p {
    margin-bottom: 20px;
    line-height: 1.8;
    color: #000;
    font-size: 22px;
}

.therapeutic-container {
    display: flex;
    background: linear-gradient(135deg, #e6f7ff 0%, #ffffff 100%);
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    /*height: 812px;*/
    flex-wrap: wrap;padding-right: 4vw;
    /*align-items: start;*/
    /*justify-content: start;*/
}

.therapeutic-info {
    flex: 1;
    padding: 6vw 5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 50%;
}

.therapeutic-icon-circle {
    width: 90px;
    height: 90px;
    background-color: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    color: #fff;
    font-size: 24px;
    box-shadow: 0 5px 15px rgba(0, 136, 204, 0.3);
}

.therapeutic-subtitle {
    font-size: 30px;
    color: #000;
    margin-bottom: 17px;
    font-weight: 500;
}

.therapeutic-desc-list {
    font-size: 22px;
    color: #000;
    line-height: 1.6;
}

.therapeutic-desc-list p {
    margin-bottom: 15px;
}

.therapeutic-tabs-btn {
    display: flex;
    gap: 11px;
    margin-top: 60px;
    justify-content: center;
}

.t-btn {
    padding: 23px 40px;
    border-radius: 25px;
    border: none;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 20px;
    flex: 1;
}

.t-btn.cur {
    background-color: var(--primary-color);
    color: #fff;
    box-shadow: 0 4px 10px rgba(0, 136, 204, 0.3);
}

.t-btn:not(.cur) {
    background-color: #fff;
    color: #000;
    border: 1px solid #ddd;
}

.t-btn:not(.cur):hover {
    background-color: #f0f0f0;
}

.therapeutic-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /*height: 100%;*/
    background: url(../images/science_b1.png) no-repeat center;
    background-size: 100% auto;
    width: 50%;
    padding: 0 10vw;
}

.visual-circle-dashed {
    position: absolute;
    width: 500px;
    height: 500px;
    border: 2px dashed #b3e0ff;
    border-radius: 50%;
    animation: rotate 60s linear infinite;
}

.visual-circle-solid {
    position: absolute;
    width: 400px;
    height: 400px;
    border: 20px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.human-model-container {
    z-index: 2;
    position: relative;
    height: 80%;
    display: flex;
    align-items: center;
    justify-content: start;
    width: 407px;
}

.human-img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.visual-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    background-color: #fff;
    border-radius: 50%;
    border: none;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    color: var(--primary-color);
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.visual-nav-arrow:hover, .visual-nav-arrow.active {
    background-color: var(--primary-color);
    color: #fff;
}

.visual-nav-arrow.prev {
    left: 71px;
}

.visual-nav-arrow.next {
    right: 71px;
}

/* Responsive for Therapeutic Page */
@media (max-width: 1100px) {
    .therapeutic-container {
        flex-direction: column; padding-right: 0;
    }

    .therapeutic-info {
        max-width: 100%;
        padding: 20px 15px;
    }

    .therapeutic-visual {
        min-height: 400px;
        padding: 20px 0;
    }

    .visual-circle-dashed {
        width: 350px;
        height: 350px;
    }
    .therapeutic-tabs-btn { margin-top: 30px; }
    .visual-nav-arrow.prev { left: 10px; }
    .visual-nav-arrow.next { right: 10px; }
}

@media (max-width: 768px) {
    .therapeutic-tabs-btn {
        flex-direction: column;
        align-items: stretch;
    }

    .t-btn {
        width: 100%;
        text-align: center;
    }

    .science-banner {
        padding: 60px 0;
    }
    
    .science-banner h1 {
        font-size: 32px;
    }
    
    .visual-circle-dashed {
        width: 280px;
        height: 280px;
    }
    
    .human-img {
        max-height: 300px;
    }
}
.footer-top { flex-wrap: wrap;  position: relative; overflow: hidden; }
footer .line2 { width: 1px; position: relative; height: ; background:#E8E8E8; }


.history-grid-fl { overflow: hidden; }
.history-grid-fl .swiper-slide { align-items: center; display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; }
.history-grid-fl .swiper-pagination { display: none; }

#investor-swiper-container .swiper-pagination span { vertical-align: top; opacity: 1; background:#fff; border-radius: 5px; transition: all 0.5s; }
#investor-swiper-container .swiper-pagination span.swiper-pagination-bullet-active { width: 40px; }
#investor-swiper-container .swiper-pagination { bottom: 20px; padding: 12px 20px; height: 32px; left: 50%; transform: translateX(-50%); width: auto; border-radius: 100px; background: rgba(255, 255, 255, 0.3); backdrop-filter: blur(10px) saturate(100%); }


.therapeutic-desc-list { max-height: 280px; overflow-y: auto; padding-right: 15px; }
.therapeutic-desc-list::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

.therapeutic-desc-list::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
  background: #1585C7;
}

.therapeutic-desc-list::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 5px rgba(255, 255, 255, 0.1);
  border-radius: 0;
  background: rgba(24, 86, 166, 0.05);
}
@media(max-width: 1900px){
    .history-grid { gap: 7vw; }
    .history-content { padding-right: 3vw; }
    .history-grid-fl .swiper-slide { gap: 4vw; }
    .t-btn { padding: 0.6vw 1.5vw; border-radius: 10px; }
    .team-expanded { padding: 2.5vw; }
}


@media(max-width: 1600px){
    .intro-text h2,.section-title { font-size: 51px; margin-bottom: 35px; }
    .history-content .item-title { font-size: 36px; }
    .hero h1 { font-size: 45px; }
}

@media(max-width: 1100px){
    .team-expanded,.team-card.active:before,.team-card.active:after { display: none!important; }
    
    .history-timeline { display: none; }
    .history-grid-fl .swiper-container { padding-bottom: 40px; }
    .history-grid-fl .swiper-pagination { text-align: center; transform: translate(0); display: block; width: 100%; left: 0; top: auto; bottom: 10px; }
    .history-grid-fl .swiper-pagination .swiper-pagination-bullet { display: inline-block; margin: 0 5px; }
    .history-grid-fl .swiper-pagination .swiper-pagination-bullet-active { background:#1585C7; }
    
    .intro-text h2,.section-title { font-size: 32px; margin-bottom: 25px; }
    .history-content .item-title { font-size: 28px; }
    /*.intro-text h3 { font-size: 18px; }*/
    footer { padding: 4vw 0 2vw; }
    .footer-brand,.footer-contact { width: 100%; max-width: 100%; }
    .footer-contact { max-width: 360px; }
    .container { padding: 0 4vw; }
    
    .footer-nav { display: flex; gap: 0; justify-content: space-between; }
    .footer-nav a { width: 30%; }
    footer .line2 { display: none; }
    .footer-nav { width: 100%; }
    
    .therapeutic-desc-list { max-height: 28000000px; overflow-y: hidden; padding-right: 0; }
    .t-btn { padding: 15px 20px; }
    .therapeutic-visual { width: 100%; display: block; margin: 0 auto; }
    .human-img { width: 100%; }
    .therapeutic-icon-circle { width: 60px; height: 60px; }
    
}
@media(max-width: 900px){
    .history-grid-fl .swiper-slide { display: block; }
    .history-content { height: auto; overflow: hidden; padding: 0; margin-top: 20px; max-height: 10000000px; }
    #investor-swiper-container .swiper-pagination { height: 28px; padding: 10px 12px; bottom: 15px; }
    
    .team-header { display: block; }
    .team-header .section-title { width: 100%; }
    .team-header .team-tabs .tab-btn { padding: 10px 20px; }
    .team-header .team-tabs { margin-top: 15px; width: 100%; }
    .page-banner { height: 60vh; }
    .page-banner .pc { display: none; }
    .page-banner .mobile-banner {display: block;}
    
    .hero { height: calc(640 / 385 * 100vw);}
    .hero-content .container {justify-content: flex-end; padding-bottom: 4rem;}
    .carousel-indicators { bottom: 1rem;}
    
    .hero-img {  }
    .hero-img .pc { display: none; }
    .hero-img .mobile-banner {display: block;}
    
}

@media(max-width: 500px){
    .hero h1 {
        font-size: 25px;
    }
    .hero .con p {
        font-size: 16px;
    }
}





/**搜索结果页**/
.tesubanner { background: var(--primary-color); padding: 120px 0; text-align: center; }

.tesubanner .sumaze { width: 75%; display: inline-block; }
.tesubanner .sumaze .mazel { width: 19.8%; }
.tesubanner .sumaze .mazel input { height: 56px; background: rgba(255,255,255,.05); border: 0px solid #e1dacf; border-radius: 5px; padding-left: 19px; font-size: 16px; color: rgba(255, 255, 255, .4); }
.tesubanner .sumaze .mazel input::-webkit-input-placeholder {color: rgba(255, 255, 255, .4);}
.tesubanner .sumaze .mazel input::-moz-placeholder {color: rgba(255, 255, 255, .4);}
.tesubanner .sumaze .mazel input:-moz-placeholder {color: rgba(255, 255, 255, .4);}
.tesubanner .sumaze .mazel input:-ms-input-placeholder {color: #267F40;}
.tesubanner .sumaze .mazel .layui-form-select dl { top: 60px; }
.tesubanner .sumaze .mazel .layui-form-selectup dl { bottom: 60px; top: auto; }
.tesubanner .sumaze .mazel .layui-form-select dl dd.layui-this { background: #267F40; }
.tesubanner .sumaze .mazel .layui-form-select .layui-edge { background: url(../images/selecwtw.png)no-repeat center center/cover; width: 11px; height: 6px; border-style:initial; margin-top: -2px; right: 20px; }

.tesubanner .sumaze .quanqil { width: 100%; margin-left: 0%; }
.tesubanner .sumaze .quanqil input { outline: none; width: 100%; height: 56px; background: rgba(255,255,255,.1); border: 0 solid #e1dacf; border-radius: 5px; padding-left: 19px; font-size: 16px; color: rgba(255, 255, 255, 1); padding-right: 154px; }
.tesubanner .sumaze .quanqil input::-webkit-input-placeholder {color: rgba(255, 255, 255, 1);}
.tesubanner .sumaze .quanqil input::-moz-placeholder {color: rgba(255, 255, 255, 1);}
.tesubanner .sumaze .quanqil input:-moz-placeholder {color: rgba(255, 255, 255, 1);}
.tesubanner .sumaze .quanqil input:-ms-input-placeholder {color: #267F40;}
.tesubanner .sumaze .quanqil .tjanmo { position: absolute; right: 0; height: 54px; top: 0; }
.tesubanner .sumaze .quanqil .tjanmo button { border:none; height: 100%; width: 160px; height: 56px; border-radius: 5px; background: #8EC31F; padding: 0; font-size: 16px; color: #fff; }
.tesubanner .sumaze .quanqil .tjanmo button i { display: inline-block; width: 13px; height: 13px; background: url(../images/search1.svg)no-repeat center center/cover; vertical-align: middle; margin-top: -2px; margin-right: 7px; }
.tesubanner .sumaze .quanqil .tjanmo button:hover { opacity: .9; }

.searchresultA { background: #f7f7f7; padding: 5vw 0; }
.searchresultA2 { padding: 16vh 0; }
.searchresultA .xbtpox { border-color: #eeeeee; }
.searchresultA .suirxz { margin: 32px 0 38px; }
.searchresultA .suirxz .gykbt .bt { line-height: 1; }
.searchresultA .suirxz .zmsns { color: #000; }
.searchresultA .suirxz .zmsns span { color: #8EC31F; }
.searchresultA .esutazm ul li { margin-bottom: 16px; }
.searchresultA .esutazm ul li:last-child { margin-bottom: 0; }
.searchresultA .esutazm ul li a { display: block; padding: 43px 50px 40px 30px; position: relative; border-radius: 10px; overflow: hidden; background: #fff; }
.searchresultA .esutazm ul li a::before { position: absolute; content: ""; bottom: 0; left: 0; width: 100%; height: 3px; background: #e8e8f3; }
.searchresultA .esutazm ul li a .azmn .mnl { color: #ffffff; background: var(--primary-color); border-radius: 5px; float: left; line-height: 1; padding: 10px 13px 10px; }
.searchresultA .esutazm ul li a .azmn .mne { float: left; color: #000; line-height: 36px; padding-left: 12px; }
.searchresultA .esutazm ul li a .azmne { color: #000; line-height: 1.73; margin-top: 15px; }
.searchresultA .fyq { margin-top: 4.16666vw; }

.relative { position: relative; }


@media(max-width:1480px) {
  .tesubanner .sumaze .mazel input { font-size: 14px; height: 45px; }
  .tesubanner .sumaze .quanqil input { font-size: 14px; height: 45px; }
  .tesubanner .sumaze .quanqil .tjanmo button { font-size: 14px; height: 45px; width: 130px; }
}

@media(max-width:1200px) {
    .careers-intro { padding-bottom: 60px; margin-bottom: 40px; }
}

@media(max-width:1100px) {
  .tesubanner { padding: 60px 0 60px; }
  .tesubanner .sumaze,
  .tesubanner .sumaze .mazel { width: 100%; }
  .tesubanner .sumaze .quanqil { width: 100%; margin-top: 20px; margin-left: 0; }
  
  .searchresultA { padding: 35px 0 45px; }
  .searchresultA .suirxz { margin: 15px 0 20px; }
  .searchresultA .esutazm ul li a { padding: 20px; }
  .searchresultA .esutazm ul li a .azmn .mne { line-height: 1.6; width: 100%; padding-left: 0; margin-top: 10px; }
  .searchresultA .esutazm ul li a .azmne { margin-top: 5px; }
  .searchresultA .fyq { margin-top: 30px; }
  .header-inner .right { display: none; }
  .header-inner .logo img,.footer-logo img { height: 40px; }
    .header-inner { width: 100%; position: relative; }
    .article-nav { display: block; gap: 0; }
    .return-btn-wrapper { margin-top: 15px; }
    .careers-logo-display { margin: 30px 0; }
    .careers-gallery .section-title { margin-bottom: 0px; }
    .gallery-image { margin-top:10px; }
    .careers-gallery { padding: 0px 4vw 50px; }
    .team-expanded { padding: 30px 15px 30px; }
  
}
@media(max-width: 500px){
    .job-tabs { gap: 5px; }
    .job-tab { padding: 10px 20px; font-size: 14px; }
}
@media(max-width: 380px){
    .job-tabs { gap: 5px; }
    .job-tab { padding: 10px 12px; font-size: 14px; }
}

.teamDet { display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 1000; }
.teamDet .team-expanded { display: block!important; position: absolute; left: 4vw; width: 92vw; top: 50%; transform: translateY(-50%); }
.teamDet.active { display: block; }
.teamDet .team-expanded .close-btn { top: 10px; right: 10px; }
.teamDet .team-expanded .team-title { padding-right: 40px; }
.teamDet .expanded-content { max-height: 50vh; overflow: auto; padding-right: 10px; }
@media(max-width: 1100px){ 
    .teamDet.active { display: block; }
}




/*手机导航*/
/**mobile nav**/
.navR { position: absolute; right: 4vw; }
.nav_box {width: 100%;height: 100%;position: fixed;right: auto;top: 0;bottom: 0;left: -100%;overflow: auto;z-index: 99999999;background: #405fa5;transition: all .8s;-o-transition: all .8s;-moz-transition: all .8s;-ms-transition: all .8s;-webkit-transition: all .8s;}
.nav_box.cur {left: 0;transition: all .8s;-o-transition: all .8s;-moz-transition: all .8s;-ms-transition: all .8s;-webkit-transition: all .8s;}
.nav_box .box {/*background: #212222;*/width: 100%;height: 100%;position: relative;z-index: 2;}
.nav_box .nav-title {height: 57px;position: relative;border-bottom: 1px solid rgba(255, 255, 255, 0.06);}
.nav_box .nav-title .navclose {width: 22px;height: 22px;display: block;font-size: 0;line-height: 41px;position: absolute;right: 15px;top: 50%;z-index: 2;transform: translateY(-50%);}
.nav_box .nav-title .navclose img {width: 100%;}
.nav_box .nav-title h1 {text-align: left;width: 86px;margin-left: 15px;line-height: 0;padding-top: 11px;}
.nav_box .nav-title h1 img {width: 100%;}
.nav_box .navlist {width: 100%;padding-bottom: 20px;}
.nav_box .navlist ul>li { float: left;width: 100%;font-size: 16px;line-height: 60px;border-bottom: 1px solid rgba(255, 255, 255, .06);padding: 0 15px;text-transform: capitalize;}
.nav_box .navlist ul>li>a {display: block;color: #fff;position: relative;}
.nav_box .navlist ul>li>a.sub:before {content: "";position: absolute;right: 0;top: 50%;transform: translateY(-50%);width: 8px;height: 14px;background: url(../images/jtwhite.png) no-repeat center center / cover;}
.nav_box .navlist ul>li .navlist2 {border-top: 1px solid rgba(255, 255, 255, .06);display: none;padding: 10px 0;}
.nav_box .navlist ul>li .navlist2 a {display: block;width: 100%;color: #fff;font-size: 14px;line-height: 34px;}
.navmo.fixed-headA { background: #fff; }
@media(max-width:1100px) { 
	.navmo .avmocn { padding: 0 20px; }
	.navmo .moup { display: none; }
	.navmo.fixed-head { padding: 0; top: 0; border-radius: 0; }
	.navmo.fixed-head .avmocn { border-radius: 0; padding: 0 3%; }
	.navmo.fixed-headA { padding: 0; top: 0; border-radius: 0; }
	.navmo.fixed-headA .avmocn { border-radius: 0; padding: 0 3%; }
	.navmo .logo a { padding: 11px 0; }
	.navmo .logo a, .navmo.fixed-head .logo a { padding: 11px 0; }
	/*.navmo .moub { display: none; }*/
	.navmo .moub { margin-right: 15px; }
	.navmo .moup ul li .sub, .navmo .moub .topBtn .icon { height: 54px; line-height: 54px; }
	.navBtn {height: 50px;margin-top: -1px;float: left;left: 3%;width: 50px;position: relative;}
	.menu-i {height: 2px;right: 0;position: absolute;border-radius: 1px;font-style: normal;background-color: #000;display: block;transition: all 0.5s;border-radius: 2px;}
    .menu-i-1 {width: 24px;top: 15px;}
    .menu-i-2 {width: 32px;top: 25px;}
    .menu-i-3 {width: 24px;top: 35px;}
    .mobile-menu {width: 36px;height: 54px;position: relative;display: block;background: none;border: none;}
    .mobile-menu-on {z-index: 1001;}
    .mobile-menu .menu-i-1,.mobile-menu .menu-i-2,.mobile-menu .menu-i-3 { background: #000; }
    .fixed-head .mobile-menu .menu-i-1,.fixed-head .mobile-menu .menu-i-2,.fixed-head .mobile-menu .menu-i-3 { background: #000; }
    .mobile-menu-on .menu-i-1 {transform: translateY(10px) rotate(45deg);background-color: #000;}
    .mobile-menu-on .menu-i-2 {opacity: 0;}
    .mobile-menu-on .menu-i-3 {transform: translateY(-10px) rotate(-45deg);background-color: #000;}
	.nav_box { display: block!important; top: 75px; width: 100%; left:-100%; border-top: 1px solid rgba(255,255,255,0.2); height: calc(100% - 75px); }
    .nav_box { background: #1585C7; }
    .bgGreen { background: #1585C7; }
    .nav_box .navlist { padding-top: 10px; }
    .nav_box .navlist ul>li { border:none; line-height: 50px; }
    .navSear { margin-top: 30px; padding: 0 15px;}
    .navSear .search { padding-top: 20px; border-top:1px solid rgba(255,255,255,0.3); }
    .navSear .search .subsearch { z-index: 9;}
    .navSear .search .subsearch .subsearcha { border-radius: 3px;position: relative; padding-left: 30px; height: 30px;}
    .navSear .search .subsearch .subsearcha .inp {width: 90%;height: 30px;border: 0; font-size: 14px;color: #fff; padding-left: 0px; background: none; } 
    .navSear .search .subsearch .subsearcha .sub { opacity: 0.7; border: none;outline: none;position: absolute;left: 0px;top: 50%;height: 26px;background: url(../images/searchxa.png) no-repeat left center;font-size: 0;width: 26px;transform: translateY(-50%);}
    .navSear .search:hover .subsearch {display: block;}
    .navSear .search .subsearch .subsearcha .inp:-moz-placeholder { /* Mozilla Firefox 4 to 18 */color: rgba(255,255,255,0.7); }
    .navSear .search .subsearch .subsearcha .inp::-moz-placeholder { /* Mozilla Firefox 19+ */color: rgba(255,255,255,0.7);}
    .navSear .search .subsearch .subsearcha .inp:-ms-input-placeholder{color: rgba(255,255,255,0.7); } 
    .navSear .search .subsearch .subsearcha .inp::-webkit-input-placeholder {color: rgba(255,255,255,0.7);}
    /*.nav_box .navlist ul>li { border-bottom:1px solid rgba(255,255,255,0.3); }*/
    .nav_box .navlist ul>li .navlist2,.nav_box .navlist ul>li .secondNav .navlist3,.nav_box .navlist ul>li .fourthNav .navlist4 { position: fixed; left:-102%; transition: all 0.6s; display: block; top:75px; width: 100%; height: calc(100% - 75px); background: #1585C7; z-index: 10000; }
    .nav_box .navlist ul>li .navlist2 a,.nav_box .navlist ul>li .secondNav .navlist3 a,.nav_box .navlist ul>li .fourthNav .navlist4 a { padding: 0 15px; line-height: 50px; font-size: 16px; color:rgba(255,255,255,0.8); }
    .nav_box .navlist ul>li.cur .navlist2,.nav_box .navlist ul>li .secondNav.cur .navlist3,.nav_box .navlist ul>li .fourthNav.cur .navlist4 { left:0; }
    .nav_box .navlist ul>li .backNav { padding: 0 15px; }
    .nav_box .navlist ul>li .backNav span { display: block; padding: 5px 0 5px 25px; border-top: 1px solid rgba(255,255,255,0); background: url(../images/back.png) no-repeat left center; font-size: 18px;color:#fff; border-bottom:1px solid rgba(255,255,255,0.3); margin-bottom: 10px; }
    .nav_box .navlist ul>li a.cur { font-weight: bold; color:#fff!important;  }
    .subsearche form { padding: 8px 12px; }
    .subsearche { width: 240px; padding-top:32px; }
    .subsearche form input.inp { height: 20px; font-size: 14px; padding-left: 6px; }
    .subsearche form input.subxx { height: 33px; right: 10px; }
}

.font18 { font-size: 18px; }
.font20 { font-size: 20px; }
.font22 { font-size: 22px; }
.pipelA-Con { overflow: hidden; border-radius: 0 0 20px 20px; border:1px solid rgba(0, 0, 0, 0.1); border-top: none; }
.pipelA-Con .pipelA-c { background:#f5f5f5; }
.pipelA-Con .pipelA-c:nth-child(2n) { background:#ffffff; }
.pipelA-Con .tit { padding: 10px 20px; display: flex; align-items: center; min-height: 80px;}
.clearfix { clear: both; }
.clearfix:after {clear: both;height: 0;content: "";line-height: 0;font-size: 0;display: block; }
.weight500 { font-weight: 500; }
.color3 { color:#000; }
.colorWhite { color:#fff; }
.pipelA-a { border-radius: 20px; }
.pipelA-a .pipelA-b { background: #003B5C; border-radius: 20px 20px 0 0; }
.pipelA-b { display: flex; }
.pipelA-b .t { display: flex; align-items: center; min-height: 80px; border-right: 1px solid rgba(255,255,255,0.15); padding: 10px 20px; float: left; justify-content: left; text-transform: uppercase; font-weight: 600; border: none;}
.pipelA-c3 .t { display: flex; align-items: center; min-height: 80px; border-right: 1px solid rgba(0, 0, 0, 0.07); padding: 10px 20px; float: left; border: none;}
.pipelA-b .t, .pipelA-c .t { width: calc(100% / 8) !important;}
.pipelA-c3 { display: flex; }
.pipelA-content {border-top: 1px solid rgba(0, 0, 0, 0.07); padding: 20px 20px; display: none;}
.pipelA-c2.cur .pipelA-content { display: block;}
.pipelA-c .line { position: absolute; left: 0px; height: 18px; border-radius: 0 20px 20px 0; background: linear-gradient(90deg, #0F8436 0%, #2A943C 32%, #67BD4B 100%); }
.pipelA-c.pipeB44 .line { background: linear-gradient(90deg, #003579 0%, #1D5495 32%, #598DCF 100%); }
.pipelA-a .t:last-child { border:none; }
.pipelA-a .t1 { width: 9.8%; display:none; }
.pipelA-a .t2 { width: 7.8%; display:none; }
.pipelA-a .t3 { width: calc(100% / 8 * 1.5) !important; }
.pipelA-a .t4 { width: 8.8%; }
.pipelA-a .t5 { width: calc(100% / 8 * 1.5) !important; }
.pipelA-a .t6 { width: 10.14%; }
.pipelA-a .t7 { width: 10.14%; }
.pipelA-a .t8 { width: 10.14%; }
.pipelA-a .t9 { width: 10.14%; }
.pipelA-a .t10 { width: 10.14%; display:none; }
.pipelA-a .t11 { width: 10.14%; display:none; }
.pipelA-Con .pipelA-c.pipeD44 { background: #ffffff;}
.pipelA-Con .pipelA-c.pipeD43 { background: #F5F5F5;}

.pipelA-a .pipelA-c2 .t6, .pipelA-a .pipelA-c2 .t7, .pipelA-a .pipelA-c2 .t8, .pipelA-a .pipelA-c2 .t9, .pipelA-a .pipelA-c2 .t10 { border-right:0; }


@media(max-width: 1700px){
    .font18 { font-size: 16px; }
    .font20 { font-size: 18px; }
    .font22 { font-size: 20px; }
    .pipelA-Con { border-radius: 0 0 15px 15px; }
    .pipelA-Con .tit { padding: 10px 12px; min-height: 80px;}
    .pipelA-a { border-radius: 15px; }
    .pipelA-a .pipelA-b { border-radius: 15px 15px 0 0; }
    .pipelA-b .t { min-height: 80px; padding: 10px 12px; }
    .pipelA-c .t { min-height: 80px; padding: 10px 12px; } 
}
@media(max-width: 1400px){
    .font18 { font-size: 14px; }
    .font20 { font-size: 16px; }
    .font22 { font-size: 18px; }
}
@media(max-width: 1100px){
    .pipelA-Con .tit { padding: 10px 12px; min-height: 70px;}
    .pipelA-b .t { min-height: 70px; padding: 10px 12px; }
    .pipelA-c .t { min-height: 70px; padding: 10px 12px; } 
    .pipelA { overflow: auto; padding-bottom: 20px; }
    .pipelA-a { min-width: 1200px; }
    .pipelA::-webkit-scrollbar {
      width: 4px;
      height: 4px;
    }
    .pipelA::-webkit-scrollbar-thumb {
      -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
      background: #1585C7;
    }
    .pipelA::-webkit-scrollbar-track {
      -webkit-box-shadow: inset 0 0 5px rgba(255, 255, 255, 0.1);
      border-radius: 0;
      background: rgba(24, 86, 166, 0.05);
    }
}

.borderRadius20 { border-radius: 20px; overflow: hidden; }
.paltformB { margin-top: 40px; }
.paltformB .tit {font-size: 32px;}
.paltformB-a { margin-top: 20px; }
.swiper-container-bot { margin-top: 30px; }
.paltformC { display: grid; grid-template-columns: 1fr 2.02fr; gap: 15px; }
.paltformC .text { background:#F5F5F5; padding: 3vw 3vw; }
.paltformC .text .t1 {flex-shrink: 0;}
.paltformC .text .c1 { height: 9vw; overflow-y:auto; height: 12.5vw; height: 25rem; font-size: 22px;}
.paltformC .text .c1::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

.paltformC .text .c1::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
  background: #1585C7;
}

.paltformC .text .c1::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 5px rgba(255, 255, 255, 0.1);
  border-radius: 0;
  background: rgba(24, 86, 166, 0.05);
}
.paltformC .pic img { height: 100%;}
.swiper-container-bot .swiper-button-prev,
.swiper-container-bot .swiper-button-next { width: 45px; height: 45px; border-radius: 60px; background:#fff; top: auto; margin: 0; bottom: 2vw; }
.swiper-container-bot .swiper-button-prev:after,.swiper-container-bot .swiper-button-next:after { display: none; }
.swiper-container-bot .swiper-button-prev { left: 3vw; background: url(../images/addprev.svg) no-repeat center #fff; background-size: 34% auto; }
.swiper-container-bot .swiper-button-next { left: calc(3vw + 55px); background: url(../images/addnext.svg) no-repeat center #fff; background-size: 34% auto; }
.swiper-container-bot .swiper-button-prev:hover { background: url(../images/addprevbg.svg) no-repeat center #1585C7; background-size: 34% auto; }
.swiper-container-bot .swiper-button-next:hover { background: url(../images/addnextbg.svg) no-repeat center #1585C7; background-size: 34% auto; }
.alignC { text-align: center; }
.paltformB-b { background: #F5F5F5; border-radius: 20px; min-height: 10.5vw; display:flex; align-items: center; justify-content: center; }
.paltformB-b img { margin: 0 auto 10px; }
.paltformB-b img.pic2 { display: none; }
.swiper-slide-thumb-active .paltformB-b .t { color:#ffffff; }
.swiper-slide-thumb-active .paltformB-b { background:#0090D0; }
.swiper-slide-thumb-active .paltformB-b img.pic2 { display: none; }
.swiper-slide-thumb-active .paltformB-b img.pic1 { filter: brightness(10) contrast(10); }
.swiper-container { overflow: hidden; }
.paltform .section-title { padding-bottom: 30px; border-bottom: 1px solid rgba(0, 0, 0, 0.07); }
.font36 { font-size: 36px; line-height: 1.3; }
.font28 { font-size: 28px; line-height: 1.3; }
.font30 { font-size: 30px; line-height: 1.3; }
.font16 { font-size: 16px; }
.color6 { color:#666; }
.paltformA-a .text { margin-top: 15px; font-size: 22px; }
@media(max-width: 1920px){
    .paltformC .text .c1 { height: 20.5vw; }
}
@media(max-width: 1900px){
    .paltformB-b img { width: auto; height:2.85vw; }
}
@media(max-width: 1700px){
    .font36 { font-size: 32px; }
    .font28 { font-size: 26px; }
    .font30 { font-size: 28px; }
    .paltformB { margin-top: 2vw; }
    .paltformC .text { background:#F5F5F5; padding: 3vw 2vw; }
    .paltformC .text .c1 { height: 18.5vw; }
    .swiper-container-bot .swiper-button-prev { left: 2vw; background: url(../images/addprev.svg) no-repeat center #fff; background-size: 34% auto; }
    .swiper-container-bot .swiper-button-next { left: calc(2vw + 55px); background: url(../images/addnext.svg) no-repeat center #fff; background-size: 34% auto; }
    
}
@media(max-width: 1500px){
    .font36 { font-size: 28px; }
    .font28 { font-size: 24px; }
    .font30 { font-size: 26px; }
}
@media(max-width: 1100px){
    .font36 { font-size: 24px; }
    .font28 { font-size: 20px; }
    .font30 { font-size: 22px; }
    .paltformB { margin-top: 20px; }
    .paltformB-b { height: 120px; }
    .paltformB-b img { width: auto; height: 40px; }
    .swiper-container-bot .swiper-button-prev,.swiper-container-bot .swiper-button-next { display: none; }
    .paltformC { border-radius: 10px; overflow: hidden; display: block; }
    .paltformC .text { padding: 20px 15px 30px; border-radius: 0; }
    .paltformC .pic { border-radius: 0; }
}
@media(max-width: 1550px){
    .nav-menu a { font-size: 17px;}
    .header-actions { font-size: 17px;}
    .banner-title { font-size: 48px;}
    .intro-text h2, .section-title {font-size: 40px;}
    .intro-text h3 {font-size: 22px;}
    .intro-text .con {font-size: 18px;}
    .therapeutic-intro-text, .therapeutic-intro-text p {font-size: 18px;}
    .therapeutic-subtitle {font-size: 24px;}
    .therapeutic-desc-list {font-size: 16px;}
    .t-btn {font-size: 18px;}
    .paltformA-a .text {font-size: 18px;}
    .paltformB .tit {font-size: 24px;}
    .paltformC .text .t1 {font-size: 24px;}
    .paltformC .text .c1 {font-size: 16px;}
    .article-title {font-size: 24px;}
    .article-body {font-size: 18px;}
    .history-content .item-text {font-size: 18px;}
    .job-title {font-size: 22px;}
}

/*new footer*/
footer { padding-top: 31px; padding-bottom: 27px; background: #f5f5f5;}
.footer-top { margin-bottom: 0; overflow: inherit;}
.footer-brand, .footer-nav, footer .line2 { display: none;}
.footer-contact { width: 100%; display: flex; justify-content: space-between;}
.footer-contact .con { display: flex; justify-content: center; align-items: start; gap: 16px; flex-direction: column; line-height: 26px; color: #666666;}
.footer-contact p { display: flex; margin-bottom: 0;}
.footer-contact p br { content: ''; display: none;}
.social-icons { margin-top: 0;}
.social-icon { width: 40px; height: 40px; z-index: 1000;}
.social-icon .qrcode { top: auto; bottom: 100%;}
.footer-bottom { padding-top: 23px; color: #666666; border-top: 0; line-height: 19px;}
.footer-contact .con2 { display: flex; flex-direction: column; align-items: flex-end;}
@media (max-width: 1100px) {
    .footer-contact {
        max-width: 100%; 
        flex-direction: column;
        gap: 10px;
    }
    .footer-contact .con {
        gap: 0;
        flex-direction: column;
        align-items: stretch;
    }
    .footer-contact p { display: grid; margin-bottom: 12px; grid-template-columns: 1fr 4fr;}
    .footer-contact .con2 {align-items: center;}
    .footer-bottom {padding-top: 13px;}
}
.team-info h4 { font-size: 24px;}
.team-info p { font-size: 18px;}

.lang-selector {
    position: relative;
}
.lang-selector .list {position: absolute;
    top: 100%;
    background: #fff;
    padding: 5px;
    width: 200%;
    left: -50%;
    display: none;
    text-align: center;
    color: #666;
    font-size: 16px;
    gap: 5px;
}
.lang-selector .list a {}
.lang-selector:hover .list { display:grid;}