 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }
 .footer-text {
    text-align: center;
    margin-top: 20px;
    font-size: 0.8rem;
    color: #a2a2a2;
    margin-bottom: 10px;
 }
 .pages-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

.page-nav-card {
    background: white;
        border-radius: 12px;
        padding: 20px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        border: 2px solid transparent;
        transition: all 0.3s ease;
        cursor: pointer;
}
 .mobile-menu-nav a::before{
    content: ' ';
    
    width: 10px;
    height:10px;
    border-radius: 50%;
    background: #0000002e;
    margin-right: 10px;
    
 }
 #contact, #services{
    display: none;
 }
 
 body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     line-height: 1.6;
     overflow-x: hidden;
     width: 100%;
     margin: 0;
     padding: 0;
 }

 /* 加载动画容器 */
 .loading-overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     z-index: 9999;
     transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }

 .loading-overlay.fade-out {
     opacity: 0;
     visibility: hidden;
     pointer-events: none;
     z-index: -1;
 }

 /* 加载动画主体 */
 .loading-container {
     text-align: center;
     color: white;
 }

 /* 日本风格的樱花加载动画 */
 .sakura-loader {
     position: relative;
     width: 80px;
     height: 80px;
     margin: 0 auto 30px;
 }

 .sakura-petal {
     position: absolute;
     width: 12px;
     height: 12px;
     background: rgba(255, 182, 193, 0.9);
     border-radius: 0 100% 0 100%;
     animation: sakuraFall 2s infinite ease-in-out;
 }

 .sakura-petal:nth-child(1) {
     top: 0;
     left: 50%;
     animation-delay: 0s;
     background: rgba(255, 182, 193, 1);
 }

 .sakura-petal:nth-child(2) {
     top: 14%;
     right: 14%;
     animation-delay: 0.25s;
     background: rgba(255, 192, 203, 0.9);
 }

 .sakura-petal:nth-child(3) {
     right: 0;
     top: 50%;
     animation-delay: 0.5s;
     background: rgba(255, 182, 193, 0.8);
 }

 .sakura-petal:nth-child(4) {
     bottom: 14%;
     right: 14%;
     animation-delay: 0.75s;
     background: rgba(255, 192, 203, 0.7);
 }

 .sakura-petal:nth-child(5) {
     bottom: 0;
     left: 50%;
     animation-delay: 1s;
     background: rgba(255, 182, 193, 0.6);
 }

 .sakura-petal:nth-child(6) {
     bottom: 14%;
     left: 14%;
     animation-delay: 1.25s;
     background: rgba(255, 192, 203, 0.5);
 }

 .sakura-petal:nth-child(7) {
     left: 0;
     top: 50%;
     animation-delay: 1.5s;
     background: rgba(255, 182, 193, 0.4);
 }

 .sakura-petal:nth-child(8) {
     top: 14%;
     left: 14%;
     animation-delay: 1.75s;
     background: rgba(255, 192, 203, 0.3);
 }

 @keyframes sakuraFall {
     0% {
         transform: scale(1) rotate(0deg);
         opacity: 1;
     }

     50% {
         transform: scale(1.2) rotate(180deg);
         opacity: 0.8;
     }

     100% {
         transform: scale(1) rotate(360deg);
         opacity: 1;
     }
 }

 /* 加载文字动画 */
 .loading-text {
     font-size: 1.5rem;
     font-weight: 600;
     margin-bottom: 10px;
     animation: textPulse 2s infinite ease-in-out;
 }

 .loading-subtitle {
     font-size: 1rem;
     opacity: 0.8;
     animation: textPulse 2s infinite ease-in-out 0.5s;
 }

 @keyframes textPulse {

     0%,
     100% {
         opacity: 0.8;
         transform: scale(1);
     }

     50% {
         opacity: 1;
         transform: scale(1.05);
     }
 }

 /* 进度条 */
 .loading-progress {
     width: 200px;
     height: 4px;
     background: rgba(255, 255, 255, 0.2);
     border-radius: 2px;
     margin: 20px auto 0;
     overflow: hidden;
 }

 .loading-progress-bar {
     width: 0%;
     height: 100%;
     background: linear-gradient(90deg, #ff6b9d, #ffa8c5, #ff6b9d);
     border-radius: 2px;
     animation: progressMove 2s infinite ease-in-out;
 }

 @keyframes progressMove {
     0% {
         width: 0%;
     }

     50% {
         width: 80%;
     }

     100% {
         width: 100%;
     }
 }

 /* 隐藏主内容直到加载完成 */
 .main-content {
     opacity: 0;
     visibility: hidden;
     transition: all 0.8s ease;
 }

 .main-content.loaded {
     opacity: 1;
     visibility: visible;
 }

 /* 整屏滚动容器 */
 .fullscreen-container {
     height: 100vh;
     overflow-y: auto;
     scroll-snap-type: y mandatory;
     scroll-behavior: smooth;
     width: 100%;
 }

 .section {
     height: 100vh;
     scroll-snap-align: start;
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     max-width: 100vw;
 }

 /* 顶部固定导航栏 - 与布局文件保持一致 */
 .navbar {
     height: 70px;
     background: white;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 1002;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 0 24px;
     transition: all 0.3s ease;
     width: 100%;
     max-width: 100vw;
 }

 .navbar.scrolled {
     background: rgba(255, 255, 255, 0.98);
     box-shadow: 0 2px 30px rgba(0, 0, 0, 0.15);
 }

 .navbar-brand {
     display: flex;
     align-items: center;
     text-decoration: none;
     color: #1c5098;
     font-weight: bold;
     font-size: 1.1rem;
     margin-right: auto;
 }

 .navbar-brand img {
     width: 80px;
     height: 40px;
     margin-right: 10px;
     border-radius: 8px;
 }

 .navbar-nav {
     display: flex;
     list-style: none;
     gap: 15px;
     margin: 0;
     padding: 0;
 }

 .nav-item {
     position: relative;
 }

 .nav-link {
     text-decoration: none;
     color: #000;
     font-weight: 500;
     padding: 10px 15px;
     border-radius: 8px;
     position: relative;
     transition: all 0.3s ease;
 }

 .nav-link:hover {
     color: #1c5098;
     background-color: rgba(28, 80, 152, 0.05);
 }

 .nav-link.active {
     color: #1c5098;
     font-weight: 700;
 }

 .nav-link22 {
     text-decoration: none;
     color: #000;
     font-weight: 500;
     padding: 10px 15px;
     border-radius: 8px;
     position: relative;
     transition: all 0.3s ease;
 }

 .nav-link22:hover {
     color: #1c5098;
     background-color: rgba(28, 80, 152, 0.05);
 }

 .nav-link.active {
     color: #1c5098;
     font-weight: 700;
 }

 /* 首屏Banner轮播 */
 .hero-section {
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     position: relative;
     overflow: hidden;
 }

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

 .hero-slide {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     opacity: 0;
     transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
     display: flex;
     align-items: center;
     justify-content: center;
     /* 轻微的初始效果 */
     transform: scale(1.02);
     filter: blur(0px);
     /* 非活动状态无法接收鼠标事件 */
     pointer-events: none;
 }

 /* 轻微渐变遮罩，仅保证文字可读性 */
 .hero-slide::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(45deg,
             rgba(0, 0, 0, 0.15) 0%,
             rgba(0, 0, 0, 0.25) 50%,
             rgba(0, 0, 0, 0.15) 100%);
     z-index: 1;
 }

 .hero-content {
     position: relative;
     z-index: 10;
     text-align: center;
     color: white;
     max-width: 1000px;
     padding: 0 20px;
     text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
 }

 /* 快速图片切换动画 */
 @keyframes slideIn {
     0% {
         opacity: 0;
         transform: scale(1.08);
         filter: blur(1px) brightness(0.9);
     }

     100% {
         opacity: 1;
         transform: scale(1);
         filter: blur(0px) brightness(1);
     }
 }

 /* 轻微Ken Burns效果 */
 @keyframes kenBurns {
     0% {
         transform: scale(1);
     }

     100% {
         transform: scale(1.03);
     }
 }

 /* 激活状态的动画 */
 .hero-slide.active {
     opacity: 1;
     animation: slideIn 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
         kenBurns 15s ease-in-out 0.8s infinite alternate;
     /* 活动状态可以接收鼠标事件 */
     pointer-events: auto;
 }

 /* 性能优化 - 禁用视差滚动以提高加载速度 */
 .hero-slide {
     background-attachment: scroll;
     /* 硬件加速 */
     will-change: transform, opacity;
     transform: translateZ(0);
 }

 /* 减少重绘和回流 */
 .hero-slide.active {
     will-change: auto;
 }

 .hero-title {
     font-size: 3.5rem;
     font-weight: bold;
     margin-bottom: 20px;
     /* 隐藏状态 */
     transform: translateY(50px);
     opacity: 0;
     transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }

 .hero-subtitle {
     font-size: 1.5rem;
     margin-bottom: 30px;
     transform: translateY(50px);
     opacity: 0;
     transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
 }

 .hero-description {
     font-size: 1.1rem;
     margin-bottom: 40px;
     transform: translateY(50px);
     opacity: 0;
     transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
 }

 .hero-btn {
     display: inline-block;
     padding: 15px 40px;
     background: #1c5098;
     color: white;
     text-decoration: none;
     border-radius: 50px;
     font-weight: bold;
     transform: translateY(50px);
     opacity: 0;
     transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
 }

 /* 动画触发类 - 统一的动画入口 */
 .hero-text-animate .hero-title,
 .hero-text-animate .hero-subtitle,
 .hero-text-animate .hero-description,
 .hero-text-animate .hero-btn {
     transform: translateY(0);
     opacity: 1;
 }

 .hero-btn:hover {
     background: #0f3a73;
     transform: translateY(-3px) !important;
     box-shadow: 0 10px 30px rgba(28, 80, 152, 0.3);
     transition: all 0.3s ease !important;
 }

 /* 悬浮搜索触发按钮 */
 .floating-search-trigger {
     margin-top: 40px;
     transform: translateY(50px);
     opacity: 0;
     transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s;
 }

 .hero-text-animate .floating-search-trigger {
     transform: translateY(0);
     opacity: 1;
 }

 .search-trigger-btn {
     background: linear-gradient(45deg, #1c5098, #46acfe);
     color: white;
     border: none;
     padding: 15px 30px;
     border-radius: 50px;
     font-size: 18px;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 10px;
     box-shadow: 0 10px 30px rgba(28, 80, 152, 0.3);
 }

 .search-trigger-btn:hover {
     background: linear-gradient(45deg, #0f3a6b, #1c5098);
     transform: translateY(-3px);
     box-shadow: 0 15px 40px rgba(28, 80, 152, 0.4);
 }

 /* 悬浮搜索组件样式 */
 .floating-search-overlay {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: rgba(0, 0, 0, 0.7);
     backdrop-filter: blur(10px);
     z-index: 10000;
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     visibility: hidden;
     transition: all 0.3s ease;
 }

 .floating-search-overlay.active {
     opacity: 1;
     visibility: visible;
 }

 .floating-search-container {
     background: white;
     border-radius: 20px;
     padding: 0;
     max-width: 800px;
     width: 90%;
     max-height: 80vh;
     overflow-y: auto;
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
     transform: scale(0.9) translateY(50px);
     transition: all 0.3s ease;
 }

 .floating-search-overlay.active .floating-search-container {
     transform: scale(1) translateY(0);
 }

 .floating-search-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 20px 30px;
     border-bottom: 1px solid #e9ecef;
     background: linear-gradient(45deg, #1c5098, #46acfe);
     color: white;
     border-radius: 20px 20px 0 0;
 }

 .floating-search-header h3 {
     margin: 0;
     font-size: 1.5rem;
     font-weight: 700;
 }

 .close-floating-search {
     background: none;
     border: none;
     color: white;
     cursor: pointer;
     padding: 5px;
     border-radius: 50%;
     transition: background-color 0.3s ease;
 }

 .close-floating-search:hover {
     background: rgba(255, 255, 255, 0.2);
 }

 .floating-search-content {
     padding: 30px;
 }

 /* 悬浮搜索表单样式 */
 .floating-search-form {
     margin-bottom: 25px;
 }

 .floating-search-row {
     display: grid;
     grid-template-columns: 1fr auto 1fr 200px;
     gap: 15px;
     align-items: end;
     margin-bottom: 20px;
 }

 .floating-search-field {
     display: flex;
     flex-direction: column;
     gap: 8px;
 }

 .floating-search-field label {
     color: #333;
     font-weight: 600;
     font-size: 14px;
 }

 .floating-search-select,
 .floating-search-date {
     padding: 12px 15px;
     border: 2px solid #e9ecef;
     border-radius: 12px;
     font-size: 16px;
     background: white;
     transition: all 0.3s ease;
     outline: none;
     width: 100%;
     box-sizing: border-box;
     max-height: 200px;
     overflow-y: auto;
 }

 /* 城市选择器样式 */
 .city-selector-container {
     position: relative;
     width: 100%;
 }

 .city-search-input {
     padding: 12px 15px;
     border: 2px solid #e9ecef;
     border-radius: 12px;
     font-size: 16px;
     background: white;
     transition: all 0.3s ease;
     outline: none;
     width: 100%;
     box-sizing: border-box;
     cursor: pointer;
 }

 .city-search-input:focus {
     border-color: #1c5098;
     box-shadow: 0 0 0 3px rgba(28, 80, 152, 0.1);
 }

 .city-dropdown {
     position: absolute;
     top: 100%;
     left: 0;
     right: 0;
     background: white;
     border: 2px solid #1c5098;
     border-top: none;
     border-radius: 0 0 12px 12px;
     max-height: 200px;
     overflow-y: auto;
     z-index: 1000;
     display: none;
 }

 .city-dropdown.active {
     display: block;
 }

 .city-option {
     padding: 10px 15px;
     cursor: pointer;
     border-bottom: 1px solid #f0f0f0;
     transition: background-color 0.2s ease;
 }

 .city-option:hover {
     background-color: #f8f9fa;
 }

 .city-option.selected {
     background-color: #1c5098;
     color: white;
 }

 .city-option.group-header {
     background-color: #f8f9fa;
     font-weight: bold;
     color: #666;
     cursor: default;
     font-size: 13px;
 }

 .city-option.group-header:hover {
     background-color: #f8f9fa;
 }

 .floating-search-select:focus,
 .floating-search-date:focus {
     border-color: #1c5098;
     box-shadow: 0 0 0 3px rgba(28, 80, 152, 0.1);
 }



 .floating-search-swap {
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .floating-swap-btn {
     width: 40px;
     height: 40px;
     border: 2px solid #e9ecef;
     border-radius: 50%;
     background: white;
     color: #666;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .floating-swap-btn:hover {
     border-color: #1c5098;
     color: #1c5098;
     transform: rotate(180deg);
 }

 .floating-search-actions {
     text-align: center;
 }

 .floating-search-btn {
     background: linear-gradient(45deg, #1c5098, #46acfe);
     color: white;
     border: none;
     padding: 15px 40px;
     border-radius: 12px;
     font-size: 16px;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.3s ease;
     display: inline-flex;
     align-items: center;
     gap: 8px;
 }

 .floating-search-btn:hover {
     background: linear-gradient(45deg, #0f3a6b, #1c5098);
     transform: translateY(-2px);
     box-shadow: 0 10px 30px rgba(28, 80, 152, 0.4);
 }

 .floating-quick-search {
     border-top: 1px solid #e9ecef;
     padding-top: 20px;
 }

 .floating-quick-title {
     color: #666;
     font-size: 14px;
     font-weight: 600;
     margin-bottom: 15px;
     text-align: center;
 }

 .floating-quick-routes {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
     gap: 10px;
 }

 .floating-quick-route {
     background: #f8f9fa;
     border: 1px solid #e9ecef;
     border-radius: 10px;
     padding: 10px 15px;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 8px;
     font-size: 14px;
     color: #666;
 }

 .floating-quick-route:hover {
     background: rgba(28, 80, 152, 0.1);
     border-color: #1c5098;
     color: #1c5098;
 }

 /* 响应式设计 */
 @media (max-width: 768px) {
     .floating-search-container {
         width: 95%;
         margin: 20px;
     }

     .floating-search-content {
         padding: 20px;
     }

     .floating-search-row {
         grid-template-columns: 1fr;
         gap: 15px;
     }

     .floating-search-swap {
         order: 3;
     }

     .floating-swap-btn {
         transform: rotate(90deg);
     }

     .floating-swap-btn:hover {
         transform: rotate(270deg);
     }

     .floating-quick-routes {
         grid-template-columns: 1fr;
     }
 }

 /* 模式选择样式 */
 .search-mode {
     display: flex;
     gap: 5px;
     background: #f8f9fa;
     border-radius: 25px;
     padding: 5px;
     margin-bottom: 25px;
 }

 .mode-option {
     position: relative;
     cursor: pointer;
     padding: 8px 20px;
     border-radius: 20px;
     transition: all 0.3s ease;
     font-size: 14px;
     font-weight: 500;
     color: #666;
 }

 .mode-option input {
     display: none;
 }

 .mode-option.active,
 .mode-option:has(input:checked) {
     background: #1c5098;
     color: white;
     box-shadow: 0 2px 10px rgba(28, 80, 152, 0.3);
 }

 .route-icon {
     font-size: 16px;
 }

 /* 轮播控制 */
 .slider-nav {
     position: absolute;
     bottom: 30px;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     gap: 15px;
     z-index: 3;
 }

 .slider-dot {
     width: 12px;
     height: 12px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.5);
     cursor: pointer;
     transition: all 0.3s ease;
 }

 .slider-dot.active {
     background: white;
     transform: scale(1.2);
 }

 .slider-arrow {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     width: 60px;
     height: 60px;
     background: rgba(255, 255, 255, 0.2);
     border: none;
     border-radius: 50%;
     color: white;
     font-size: 24px;
     cursor: pointer;
     transition: all 0.3s ease;
     z-index: 3;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .slider-arrow:hover {
     background: rgba(255, 255, 255, 0.3);
     transform: translateY(-50%) scale(1.1);
 }

 .slider-arrow.prev {
     left: 30px;
 }

 .slider-arrow.next {
     right: 30px;
 }

 /* 其他section样式 */
 .about-section {
     background: linear-gradient(45deg, #f8f9fa, #e9ecef);
 }

 .services-section {
     background: linear-gradient(45deg, #e3f2fd, #f3e5f5);
 }

 .news-section {
     background: linear-gradient(45deg, #fff3e0, #fce4ec);
 }

 .contact-section {
     background: linear-gradient(45deg, #e8f5e8, #f1f8e9);
 }

 /* 统计数据样式优化 */
 .stats-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
     gap: 40px;
     margin-top: 40px;
 }

 .stat-item {
     text-align: center;
     padding: 30px 20px;
     background: rgba(255, 255, 255, 0.9);
     border-radius: 20px;
     backdrop-filter: blur(15px);
     box-shadow: 0 4px 12px rgba(28, 80, 152, 0.05);
     /* transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); */
     /* Removed entry transition */
     position: relative;
     overflow: hidden;
     border: 1px solid rgba(28, 80, 152, 0.1);
     /* Visible by default as JS animation is bypassed */
     opacity: 1;
     transform: translateZ(0);
     /* Or transform: none; keeping translateZ for potential GPU layer */
     will-change: transform;
     /* Keep for hover/pulse effects if any */
 }

 .stat-item::before {
     content: '';
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(28, 80, 152, 0.1), transparent);
     transition: left 0.5s ease;
 }

 .stat-item:hover::before {
     left: 100%;
 }

 .stat-item:hover {
     transform: translateY(-10px) scale(1.02);
     box-shadow: 0 15px 40px rgba(28, 80, 152, 0.2);
     border-color: rgba(28, 80, 152, 0.3);
 }

 .stat-number {
     font-size: 3rem;
     color: #1c5098;
     font-weight: 900;
     margin-bottom: 15px;
     display: block;
     text-shadow: 0 2px 4px rgba(28, 80, 152, 0.1);
     position: relative;
     z-index: 1;
     /* 数字直接显示，无入场动画 */
     opacity: 1;
     /* 直接可见 */
     transform: scale(1) translateZ(0);
     /* 无初始缩放 */
     /* 硬件加速 (主要为后续 bounce 效果) */
     will-change: transform;
     /* opacity 不再通过CSS transition改变 */
 }

 /* .stat-number.animated 规则不再需要，因为没有CSS驱动的入场动画了 */
 /*
        .stat-number.animated {
            opacity: 1;
            transform: scale(1) translateZ(0);
        }
        */

 .stat-number::after {
     content: '';
     position: absolute;
     bottom: -5px;
     left: 50%;
     width: 80%;
     /* Set width directly */
     height: 3px;
     background: linear-gradient(90deg, #1c5098, #4facfe);
     transform: translateX(-50%);
     /* transition: width 0.6s ease 0.3s; */
     /* Remove width transition */
 }

 /* This rule is no longer needed as the line appears instantly */
 /*
        .stat-number.animated::after {
            width: 80%;
        }
        */

 .stat-label {
     font-size: 1.1rem;
     color: #666;
     font-weight: 600;
     position: relative;
     z-index: 1;
     opacity: 0;
     transform: translateY(20px) translateZ(0);
     transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
     /* 硬件加速 */
     will-change: transform, opacity;
 }

 .stat-label.animated {
     opacity: 1;
     transform: translateY(0) translateZ(0);
 }

 /* 闪烁动画效果 */
 @keyframes pulse {
     0% {
         box-shadow: 0 8px 32px rgba(28, 80, 152, 0.12);
     }

     50% {
         box-shadow: 0 8px 32px rgba(28, 80, 152, 0.25);
     }

     100% {
         box-shadow: 0 8px 32px rgba(28, 80, 152, 0.12);
     }
 }

 .stat-item.pulse {
     animation: pulse 2s infinite;
 }

 /* 简化的数字效果，移除复杂的bounce动画 */
 .stat-number.bounce {
     /* 快速干脆的缩放效果 */
     transform: scale(1.08) translateZ(0);
     transition: transform 0.15s ease-out;
 }

 /* 页面导航卡片样式 */
 .page-nav-card {
     /* 入场动画初始状态 */
     opacity: 0 !important;
     transform: translateY(30px) scale(0.95) translateZ(0) !important;
     transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
     /* 硬件加速 */
     will-change: transform, opacity !important;
 }

 .page-nav-card.animate-in {
     opacity: 1 !important;
     transform: translateY(0) scale(1) translateZ(0) !important;
 }

 .page-nav-card:hover {
     border-color: #1c5098 !important;
     transform: translateY(-3px) scale(1.02) translateZ(0) !important;
     box-shadow: 0 8px 25px rgba(28, 80, 152, 0.15) !important;
 }

 .page-nav-card:hover .page-nav-title {
     color: #0f3a73 !important;
 }

 .page-nav-card:active {
     transform: translateY(-1px) scale(0.98) translateZ(0) !important;
 }
.pages-navigation {
    margin-top: 60px;
}
 /* 响应式页面导航 */
 @media (max-width: 768px) {
     .pages-grid {
         grid-template-columns: 1fr !important;
         gap: 15px !important;
     }

     .pages-title {
         font-size: 1.5rem !important;
         margin-bottom: 30px !important;
     }
 }

 /* 响应式设计 */
 @media (max-width: 768px) {
     .navbar-nav {
         display: none;
     }

     .hero-title {
         font-size: 2.5rem;
         /* Existing */
     }

     .hero-subtitle {
         font-size: 1.2rem;
         /* Existing */
     }

     /* "关于我们"部分移动端特殊处理 */
     .about-section .section-content {
         justify-content: flex-start;
         /* 内容从顶部开始排列 */
         overflow-y: auto;
         /* 当内容溢出时显示滚动条 */
         padding-top: 80px;
         /* 增加顶部内边距，避开导航栏 */
         padding-bottom: 40px;
         /* 增加底部内边距 */
     }

     /* General Section Title Styling for Mobile */
     .section-title {
         /* Assuming this is used for "About Us" title */
         font-size: 1.6rem;
         /* Further reduce */
         margin-bottom: 10px;
         /* Reduce margin */
     }

     .section-subtitle {
         /* Assuming this is used for "About Us" subtitle */
         font-size: 0.9rem;
         /* Further reduce */
         margin-bottom: 15px;
         /* Reduce margin */
     }

     /* Assuming a general paragraph within sections like "About Us" */
     .section .content-wrapper p,
     .section p {
         /* Target paragraphs within sections */
         font-size: 0.8rem;
         /* Reduce paragraph font size */
         line-height: 1.4;
         /* Adjust line height */
         margin-bottom: 15px;
         /* Reduce margin */
     }

     /* About Us section specific paddings (if it has a unique ID like #about or class) */
     /* For now, we're adjusting elements directly, assuming they are within the flow */

     /* --- Styles for Statistics in "About Us" --- */
     .stats-grid {
         grid-template-columns: none;
         /* Single column */
         gap: 10px;
         /* Further reduce gap */
         margin-top: 15px;
         /* Reduce top margin */
         display: flex;
         flex-wrap: wrap;
         justify-content: space-between;
     }
    
     .stat-item {
        flex: 0 0 46%;
         padding: 2vh 3vh;
         /* Further reduce padding */
     }
          .stat-item-full {
              flex: 0 0 100%;
          }

     .stat-number {
         font-size: 1.4rem;
         /* Further reduce font size */
         margin-bottom: 5px;
         /* Further reduce margin */
     }

     .stat-label {
         font-size: 0.75rem;
         /* Further reduce font size */
     }

     /* --- Styles for Pages Navigation in "About Us" --- */
     .pages-navigation {
         /* If this is part of "About Us" section */
         margin-top: 20px;
         /* Reduce top margin */
     }

     .pages-navigation .pages-title {
         /* Title for the pages list */
         font-size: 1.3rem;
         /* Reduce font size */
         margin-bottom: 10px;
         /* Reduce margin */
     }

     .pages-navigation .pages-grid {
         /* Grid container for page cards */
         grid-template-columns: repeat(3, 1fr) !important;
         /* 强制两列布局 */
         gap: 10px;
         /* Reduce gap between cards */
     }

     .pages-navigation .page-nav-card {
         padding: 1vw 2vw;
         /* Reduce card padding */
     }

     .pages-navigation .page-nav-card .page-nav-title {
         font-size: 1rem;
        
     }

     .pages-navigation .page-nav-card .page-nav-id {
         font-size: 0.7rem;
         /* Reduce card ID font size */
     }

     /* Existing slider arrow adjustments - keep these */
     .slider-arrow {
         width: 40px;
         height: 40px;
         font-size: 18px;
     }
 }

 /* 滚动指示器 */
 .scroll-indicator {
     position: fixed;
     right: 30px;
     top: 50%;
     transform: translateY(-50%);
     z-index: 1000;
     display: flex;
     flex-direction: column;
     gap: 15px;
 }

 .scroll-dot {
     width: 12px;
     height: 12px;
     border-radius: 50%;
     background: rgba(28, 80, 152, 0.3);
     cursor: pointer;
     transition: all 0.3s ease;
     position: relative;
 }

 .scroll-dot.active {
     background: #1c5098;
     transform: scale(1.3);
 }

 .scroll-dot:hover {
     background: #1c5098;
 }

 /* 汉堡菜单 - 与布局文件保持一致 */
 .hamburger {
     display: none;
     cursor: pointer;
     padding: 5px;
     position: relative;
     z-index: 1003;
     background: transparent;
     border: none;
     outline: none;
     user-select: none;
     -webkit-tap-highlight-color: transparent;
 }

 .hamburger span {
     width: 25px;
     height: 3px;
     background: #333;
     margin: 3px 0;
     transition: 0.3s;
     border-radius: 2px;
     display: block;
 }

 .hamburger.active span:nth-child(1) {
     transform: rotate(-45deg) translate(-5px, 6px);
 }

 .hamburger.active span:nth-child(2) {
     opacity: 0;
 }

 .hamburger.active span:nth-child(3) {
     transform: rotate(45deg) translate(-5px, -6px);
 }

 /* 列表式网站公告样式 */
 .announcements-container {
     max-height: 65vh;
     display: flex;
     flex-direction: column;
 }

 .announcements-grid-compact {
     display: flex;
     flex-direction: column;
     gap: 12px;
     margin-top: 30px;
 }

 .announcement-card-compact {
     background: white;
     border-radius: 10px;
     padding: 16px 20px;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
     transition: all 0.3s ease;
     position: relative;
     display: flex;
     align-items: center;
     gap: 15px;
     border-left: 4px solid transparent;
     min-height: 70px;
     cursor: pointer;
 }

 .announcement-card-compact:hover {
     transform: translateX(5px);
     box-shadow: 0 4px 20px rgba(28, 80, 152, 0.12);
     border-left-color: #1c5098;
 }

 .announcement-category-tag {
     background-color: #1d5098;
     color: white;
     padding: 2px 8px;
     border-radius: 10px;
     font-size: 11px;
     font-weight: 500;
 }

 .announcement-card-compact.featured {
     background: linear-gradient(135deg, #1c5098 0%, #2d6cb8 100%);
     color: white;
     border-left-color: #ff6b6b;
 }

 .announcement-card-compact.featured:hover {
     border-left-color: #ff6b6b;
 }

 .announcement-meta {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 5px;
     min-width: 80px;
     text-align: center;
 }

 .announcement-date-compact {
     color: #666;
     font-size: 12px;
     font-weight: 500;
 }

 .announcement-card-compact.featured .announcement-date-compact {
     color: rgba(255, 255, 255, 0.8);
 }

 .announcement-badge-compact {
     background: #ff6b6b;
     color: white;
     padding: 2px 6px;
     border-radius: 8px;
     font-size: 10px;
     font-weight: bold;
 }

 .announcement-content-compact {
     flex: 1;
     display: flex;
     flex-direction: column;
     gap: 5px;
 }

 .announcement-title-compact {
     font-size: 1rem;
     font-weight: 600;
     line-height: 1.4;
     margin: 0;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
 }

 .announcement-summary {
     font-size: 13px;
     color: #666;
     line-height: 1.3;
     display: -webkit-box;
     -webkit-line-clamp: 1;
     -webkit-box-orient: vertical;
     overflow: hidden;
 }

 .announcement-card-compact.featured .announcement-summary {
     color: rgba(255, 255, 255, 0.7);
 }

 .announcement-actions {
     display: flex;
     align-items: center;
     gap: 10px;
     min-width: 100px;
     justify-content: flex-end;
 }

 .announcement-media-compact {
     font-size: 16px;
     opacity: 0.7;
 }

 .read-more-compact {
     color: #1c5098;
     font-size: 12px;
     font-weight: 500;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 3px;
 }

 .announcement-card-compact.featured .read-more-compact {
     color: rgba(255, 255, 255, 0.9);
 }

 .read-more-compact:hover {
     transform: translateX(3px);
 }

 .no-announcements-compact {
     text-align: center;
     padding: 40px 20px;
     color: #666;
 }

 .no-content-icon-compact {
     font-size: 2.5rem;
     margin-bottom: 15px;
     opacity: 0.6;
 }

 .view-more-announcements {
     text-align: center;
     margin-top: 20px;
 }

 /* 公告响应式样式 */
 @media (max-width: 768px) {
     .announcement-card-compact {
         padding: 12px 16px;
         min-height: 60px;
         gap: 10px;
     }

     .announcement-meta {
         min-width: 60px;
     }

     .announcement-date-compact {
         font-size: 11px;
     }

     .announcement-badge-compact {
         font-size: 9px;
         padding: 1px 4px;
     }

     .announcement-title-compact {
         font-size: 0.9rem;
     }

     .announcement-summary {
         font-size: 12px;
         -webkit-line-clamp: 1;
     }

     .announcement-actions {
         min-width: 60px;
     }

     .read-more-compact {
         font-size: 11px;
     }
 }

 /* 横排多行景点推荐样式 - 基于Vue代码结构 */
 .articles-container {
     max-height: 75vh;
     display: flex;
     flex-direction: column;
 }

 .articles-horizontal-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     grid-template-rows: repeat(3, auto);
     gap: 20px;
     margin-top: 30px;
     overflow: hidden;
     max-height: 900px;
 }

 .bg {
     background: white;
     border-radius: 15px;
     overflow: hidden;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
     transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     cursor: pointer;
     position: relative;
     height: 280px;
     display: flex;
     flex-direction: column;
     /* 入场动画初始状态 */
     opacity: 0;
     transform: translateY(40px) scale(0.9);
 }

 /* 景点卡片入场动画 */
 .bg.animate-in {
     opacity: 1;
     transform: translateY(0) scale(1);
 }

 /* 错落动画延迟 */
 .bg:nth-child(1) {
     transition-delay: 0s;
 }

 .bg:nth-child(2) {
     transition-delay: 0.1s;
 }

 .bg:nth-child(3) {
     transition-delay: 0.2s;
 }

 .bg:nth-child(4) {
     transition-delay: 0.3s;
 }

 .bg:nth-child(5) {
     transition-delay: 0.4s;
 }

 .bg:nth-child(6) {
     transition-delay: 0.5s;
 }

 .bg:nth-child(7) {
     transition-delay: 0.6s;
 }

 .bg:nth-child(8) {
     transition-delay: 0.7s;
 }

 .bg:hover {
     transform: translateY(-8px);
     box-shadow: 0 12px 35px rgba(28, 80, 152, 0.15);
 }

 .bg:active {
     transform: translateY(-4px) scale(0.98);
 }

 .cover {
     position: relative;
     height: 180px;
     overflow: hidden;
     flex-shrink: 0;
 }

 .cover img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.4s ease;
 }

 .bg:hover .cover img {
     transform: scale(1.1);
 }

 .placeholder-cover {
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .placeholder-icon {
     font-size: 3rem;
     color: white;
     opacity: 0.8;
 }

 .recommend-badge {
     position: absolute;
     top: 12px;
     left: 12px;
     background: linear-gradient(135deg, #ff6b6b, #ff5252);
     color: white;
     padding: 6px 12px;
     border-radius: 20px;
     font-size: 12px;
     font-weight: bold;
     z-index: 2;
     box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
 }

 .video-icon {
     position: absolute;
     top: 12px;
     right: 12px;
     background: rgba(0, 0, 0, 0.7);
     color: white;
     padding: 8px;
     border-radius: 50%;
     font-size: 14px;
     z-index: 2;
     width: 36px;
     height: 36px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .title1 {
     flex: 1;
     padding: 20px;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
 }

 .spot-title {
     font-size: 1.1rem;
     font-weight: 600;
     color: #333;
     line-height: 1.4;
     margin-bottom: 12px;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
     white-space: nowrap;
     text-overflow: ellipsis;
 }

 .city_tag {
     font-size: 13px;
     color: #1c5098;
     background: rgba(28, 80, 152, 0.1);
     padding: 6px 12px;
     border-radius: 20px;
     display: inline-block;
     font-weight: 500;
     align-self: flex-start;
     margin-top: auto;
 }

 .no-articles-horizontal {
     grid-column: 1 / -1;
     text-align: center;
     padding: 60px 20px;
     color: #666;
 }

 .no-content-icon {
     font-size: 4rem;
     margin-bottom: 20px;
     opacity: 0.6;
 }

 .no-articles-horizontal small {
     display: block;
     margin-top: 10px;
     font-size: 14px;
     opacity: 0.7;
 }

 .view-more-section {
     text-align: center;
     margin-top: 20px;
 }

 .view-more-btn {
     display: inline-block;
     padding: 8px 16px;
     color: #1c5098;
     text-decoration: none;
     font-size: 14px;
     font-weight: 500;
     border-bottom: 1px solid transparent;
     transition: border-color 0.2s ease;
 }

 .view-more-btn:hover {
     border-bottom-color: #1c5098;
     text-decoration: none;
     color: #1c5098;
 }

 /* 确保每个section正好一屏高度 */
 .section-content {
     max-width: 1200px;
     padding: 0 20px;
     text-align: center;
     height: 100%;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .section-title {
     font-size: 2.5rem;
     color: #333;
     margin-bottom: 15px;
     font-weight: bold;
 }

 .section-subtitle {
     font-size: 1.1rem;
     color: #666;
     margin-bottom: 30px;
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
 }

 /* 所有section使用入场动画 */
 .section .section-title {
     opacity: 0;
     transform: translateY(30px);
     transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }

 .section .section-subtitle {
     opacity: 0;
     transform: translateY(30px);
     transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
 }

 /* 标题和副标题动画触发 */
 .section.animate-section .section-title,
 .section.animate-section .section-subtitle {
     opacity: 1;
     transform: translateY(0);
 }

 /* 统计数据卡片动画 */
 .section.animate-section .stat-item {
     opacity: 1;
     transform: translateY(0) scale(1) translateZ(0);
 }

 .stat-item:nth-child(1) {
     transition-delay: 0.2s;
 }

 .stat-item:nth-child(2) {
     transition-delay: 0.4s;
 }

 .stat-item:nth-child(3) {
     transition-delay: 0.6s;
 }

 /* 页面导航卡片动画 */
 .pages-navigation .page-nav-card:nth-child(1) {
     transition-delay: 0.8s;
 }

 .pages-navigation .page-nav-card:nth-child(2) {
     transition-delay: 0.9s;
 }

 .pages-navigation .page-nav-card:nth-child(3) {
     transition-delay: 1.0s;
 }

 .pages-navigation .page-nav-card:nth-child(4) {
     transition-delay: 1.1s;
 }

 .pages-navigation .page-nav-card:nth-child(5) {
     transition-delay: 1.2s;
 }

 .pages-navigation .page-nav-card:nth-child(6) {
     transition-delay: 1.3s;
 }

 /* 公告卡片动画 */
 .announcement-card-compact {
     opacity: 0;
     transform: translateX(-30px);
     transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }

 .announcement-card-compact:nth-child(1) {
     transition-delay: 0.4s;
 }

 .announcement-card-compact:nth-child(2) {
     transition-delay: 0.5s;
 }

 .announcement-card-compact:nth-child(3) {
     transition-delay: 0.6s;
 }

 .section.animate-section .announcement-card-compact {
     opacity: 1;
     transform: translateX(0);
 }

 /* 联系我们超级酷炫样式 - 浅色系 */
 .contact-section {
     position: relative;
     overflow: hidden;
     background: linear-gradient(135deg, #f8faff 0%, #e8f2ff 50%, #ddeeff 100%);
 }

 /* 动态背景动画 */
 .contact-bg-animation {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     overflow: hidden;
     z-index: 1;
 }

 .floating-shape {
     position: absolute;
     background: linear-gradient(45deg, rgba(28, 80, 152, 0.08), rgba(70, 172, 254, 0.12));
     border-radius: 50%;
     animation: float 20s infinite ease-in-out;
     box-shadow: 0 10px 30px rgba(28, 80, 152, 0.1);
 }

 .shape-1 {
     width: 300px;
     height: 300px;
     top: 10%;
     left: -5%;
     animation-delay: 0s;
 }

 .shape-2 {
     width: 200px;
     height: 200px;
     top: 60%;
     right: -10%;
     animation-delay: -5s;
 }

 .shape-3 {
     width: 150px;
     height: 150px;
     top: 30%;
     left: 70%;
     animation-delay: -10s;
 }

 .shape-4 {
     width: 250px;
     height: 250px;
     bottom: 10%;
     left: 20%;
     animation-delay: -15s;
 }

 @keyframes float {

     0%,
     100% {
         transform: translateY(0px) rotate(0deg);
     }

     33% {
         transform: translateY(-30px) rotate(120deg);
     }

     66% {
         transform: translateY(30px) rotate(240deg);
     }
 }

 /* 文字发光效果 */
 .text-glow {
     background: linear-gradient(45deg, #46acfe, #1c5098);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     position: relative;
 }

 .text-glow::after {
     content: attr(data-text);
     position: absolute;
     top: 0;
     left: 0;
     background: linear-gradient(45deg, #46acfe, #1c5098);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     filter: blur(3px);
     z-index: -1;
 }

 /* 联系网格布局 - 2行3列 */
 .contact-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     grid-template-rows: repeat(2, 1fr);
     gap: 30px;
     margin-top: 40px;
     max-width: 1200px;
     margin-left: auto;
     margin-right: auto;
     position: relative;
     z-index: 2;
 }

 /* 微信矩阵样式 */
 .wechat-matrix {
     position: relative;
 }

 .matrix-title {
     display: flex;
     align-items: center;
     gap: 15px;
     margin-bottom: 30px;
     position: relative;
 }

 .matrix-icon {
     font-size: 2rem;
     filter: drop-shadow(0 0 10px rgba(70, 172, 254, 0.5));
 }

 .matrix-title h3 {
     color: white;
     font-size: 1.5rem;
     margin: 0;
     text-shadow: 0 0 20px rgba(70, 172, 254, 0.3);
 }

 .pulse-dot {
     width: 12px;
     height: 12px;
     background: #00ff88;
     border-radius: 50%;
     animation: pulse 2s infinite;
     box-shadow: 0 0 20px #00ff88;
 }

 @keyframes pulse {
     0% {
         transform: scale(1);
         opacity: 1;
     }

     50% {
         transform: scale(1.2);
         opacity: 0.7;
     }

     100% {
         transform: scale(1);
         opacity: 1;
     }
 }

 .wechat-mega-cards {
     display: flex;
     flex-direction: column;
     gap: 25px;
 }

 .wechat-mega-card {
     position: relative;
     background: rgba(255, 255, 255, 0.05);
     border: 1px solid rgba(70, 172, 254, 0.2);
     border-radius: 20px;
     padding: 25px;
     backdrop-filter: blur(20px);
     transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     overflow: hidden;
 }

 .wechat-mega-card:hover {
     transform: translateY(-10px) scale(1.02);
     border-color: rgba(70, 172, 254, 0.5);
     box-shadow: 0 20px 40px rgba(70, 172, 254, 0.2);
 }

 .card-glow {
     position: absolute;
     top: -50%;
     left: -50%;
     width: 200%;
     height: 200%;
     background: radial-gradient(circle, rgba(70, 172, 254, 0.1) 0%, transparent 70%);
     opacity: 0;
     transition: opacity 0.4s ease;
 }

 .wechat-mega-card:hover .card-glow {
     opacity: 1;
 }

 .wechat-cards {
     display: flex;
     gap: 20px;
     justify-content: center;
 }

 .wechat-card {
     background: white;
     border-radius: 15px;
     padding: 20px;
     box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
     text-align: center;
     width: 180px;
     transition: all 0.3s ease;
 }

 .wechat-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 15px 35px rgba(28, 80, 152, 0.15);
 }

 .wechat-header {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     margin-bottom: 15px;
 }

 .wechat-icon {
     font-size: 1.5rem;
 }

 .wechat-header h3 {
     font-size: 1rem;
     color: #333;
     margin: 0;
 }

 .qr-placeholder {
     width: 120px;
     height: 120px;
     margin: 0 auto 15px;
     border: 2px dashed #ddd;
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: #f9f9f9;
 }

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

 .qr-icon {
     font-size: 2rem;
     display: block;
     margin-bottom: 5px;
 }

 .qr-code p {
     font-size: 12px;
     color: #666;
     margin: 0;
 }

 .wechat-label {
     background: #1c5098;
     color: white;
     padding: 6px 15px;
     border-radius: 15px;
     font-size: 14px;
     font-weight: 500;
 }

 /* 联系信息区域 */
 .contact-info-section {
     display: flex;
     flex-direction: column;
     gap: 25px;
 }

 .contact-item {
     display: flex;
     align-items: flex-start;
     gap: 15px;
     padding: 20px;
     background: white;
     border-radius: 15px;
     box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
     transition: all 0.3s ease;
 }

 .contact-item:hover {
     transform: translateY(-3px);
     box-shadow: 0 10px 30px rgba(28, 80, 152, 0.12);
 }

 .contact-icon {
     font-size: 2rem;
     width: 50px;
     text-align: center;
     flex-shrink: 0;
 }

 .contact-details h4 {
     color: #333;
     font-size: 1.1rem;
     margin: 0 0 10px 0;
     font-weight: 600;
 }

 .contact-main {
     color: #1c5098;
     font-weight: 600;
     font-size: 1rem;
     margin: 5px 0;
 }

 .contact-sub {
     color: #666;
     font-size: 14px;
     margin: 5px 0;
 }

 .phone-list {
     display: flex;
     flex-direction: column;
     gap: 8px;
 }

 .phone-item {
     display: flex;
     align-items: center;
     gap: 10px;
     flex-wrap: wrap;
 }

 .country {
     color: #666;
     font-size: 14px;
     min-width: 80px;
 }

 .phone-number {
     color: #1c5098;
     text-decoration: none;
     font-weight: 600;
     font-size: 15px;
 }

 .phone-number:hover {
     color: #0f3a73;
     text-decoration: underline;
 }

 .phone-type {
     color: #999;
     font-size: 12px;
 }

 /* 联系我们动画 */
 .contact-wechat-section,
 .contact-info-section {
     opacity: 0;
     transform: translateY(40px);
     transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }

 .contact-wechat-section {
     transition-delay: 0.4s;
 }

 .contact-info-section {
     transition-delay: 0.5s;
 }

 .contact-section.animate-section .contact-wechat-section,
 .contact-section.animate-section .contact-info-section {
     opacity: 1;
     transform: translateY(0);
 }

 /* 响应式设计 */
 @media (max-width: 768px) {
     .contact-grid {
         grid-template-columns: 1fr;
         gap: 30px;
         width: 94vw;
     }

     .wechat-cards {
         flex-direction: column;
         align-items: center;
     }

     .wechat-card {
         width: 160px;
     }

     .phone-item {
         flex-direction: column;
         align-items: flex-start;
         gap: 5px;
     }

     .country {
         min-width: auto;
     }
 }

 @media (max-width: 768px) {
     .hamburger {
         display: block !important;
         z-index: 1001;
         position: relative;
     }

     .navbar::before {
         display: none;
     }

     .navbar-nav {
         display: none !important;
     }

     .nav-item {
         margin: 10px 0;
     }

     .section-content {
         padding: 90px 20px 20px;
         justify-content: flex-start;
         height: auto;
         min-height: 100vh;
     }

     .section-title {
         font-size: 2rem;
         margin-bottom: 15px;
         color: #333 !important;
         opacity: 1 !important;
         transform: translateY(0) !important;
     }

     .section-subtitle {
         font-size: 1rem;
         margin-bottom: 25px;
         color: #666 !important;
         opacity: 1 !important;
         transform: translateY(0) !important;
     }

     .announcements-grid-compact {
         grid-template-columns: 1fr;
         gap: 15px;
         margin-top: 20px;
     }

     .announcement-card-compact {
         height: 120px;
         padding: 15px;
     }

     .articles-horizontal-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 15px;
         margin-top: 20px;
     }
     .articles-horizontal-grid .bg:nth-child(n + 5){
        display: none;
     }
     .bg {
         height: 240px;
     }

     .cover {
         height: 140px;
     }

     .title1 {
         padding: 15px;
     }

     .spot-title {
         font-size: 1rem;
         margin-bottom: 8px;
     }

     .city_tag {
         font-size: 12px;
         padding: 4px 8px;
     }

     /* 强制所有section立即显示标题，不依赖动画 */
     .section .section-title,
     .section .section-subtitle {
         opacity: 1 !important;
         transform: translateY(0) !important;
     }
 }

 @media (max-width: 480px) {
     .hamburger {

         z-index: 1001;
     }

     .navbar::before {
         display: none;
     }

     .section-content {
         padding: 80px 15px 15px !important;
     }

     .section-title {
         font-size: 1.6rem !important;
         margin-bottom: 12px !important;
         color: #333 !important;
         opacity: 1 !important;
         transform: translateY(0) !important;
     }

     .section-subtitle {
         font-size: 0.95rem !important;
         margin-bottom: 20px !important;
         color: #666 !important;
         opacity: 1 !important;
         transform: translateY(0) !important;
     }

     .articles-horizontal-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 8px;
         margin-top: 15px;
     }

     .bg {
         height: 200px;
         border-radius: 10px;
     }

     .cover {
         height: 120px;
     }

     .title1 {
         padding: 10px;
     }

     .spot-title {
         font-size: 0.9rem;
         margin-bottom: 6px;
         -webkit-line-clamp: 1;
     }

     .city_tag {
         font-size: 11px;
         padding: 3px 6px;
     }

     .announcements-container,
     .articles-container {
         max-height: 70vh;
     }
 }

 /* 超小屏幕优化 */
 @media (max-width: 360px) {
     .section-content {
         padding: 80px 15px 10px !important;
     }

     .section-title {
         font-size: 1.4rem !important;
         margin-bottom: 10px !important;
         color: #333 !important;
         opacity: 1 !important;
         transform: translateY(0) !important;
     }

     .section-subtitle {
         font-size: 0.9rem !important;
         margin-bottom: 15px !important;
         color: #666 !important;
         opacity: 1 !important;
         transform: translateY(0) !important;
     }

     .articles-horizontal-grid {
         gap: 6px;
     }

     .bg {
         height: 180px;
     }

     .cover {
         height: 100px;
     }

     .title1 {
         padding: 8px;
     }

     .spot-title {
         font-size: 0.85rem;
     }

     .city_tag {
         font-size: 10px;
         padding: 2px 4px;
     }

     .announcements-container,
     .articles-container {
         max-height: 75vh;
     }
 }

 /* 微信矩阵样式 */
 .wechat-matrix {
     position: relative;
 }

 .matrix-title {
     display: flex;
     align-items: center;
     gap: 15px;
     margin-bottom: 30px;
     position: relative;
 }

 .matrix-icon {
     font-size: 2rem;
     filter: drop-shadow(0 0 10px rgba(70, 172, 254, 0.5));
 }

 .matrix-title h3 {
     color: white;
     font-size: 1.5rem;
     margin: 0;
     text-shadow: 0 0 20px rgba(70, 172, 254, 0.3);
 }

 .pulse-dot {
     width: 12px;
     height: 12px;
     background: #00ff88;
     border-radius: 50%;
     animation: pulse 2s infinite;
     box-shadow: 0 0 20px #00ff88;
 }

 @keyframes pulse {
     0% {
         transform: scale(1);
         opacity: 1;
     }

     50% {
         transform: scale(1.2);
         opacity: 0.7;
     }

     100% {
         transform: scale(1);
         opacity: 1;
     }
 }

 .wechat-mega-cards {
     display: flex;
     flex-direction: column;
     gap: 25px;
 }

 .wechat-mega-card {
     position: relative;
     background: rgba(255, 255, 255, 0.05);
     border: 1px solid rgba(70, 172, 254, 0.2);
     border-radius: 20px;
     padding: 25px;
     backdrop-filter: blur(20px);
     transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     overflow: hidden;
 }

 .wechat-mega-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(70, 172, 254, 0.1), transparent);
     transition: left 0.6s ease;
 }

 .wechat-mega-card:hover::before {
     left: 100%;
 }

 .wechat-mega-card:hover {
     transform: translateY(-10px) scale(1.02);
     border-color: rgba(70, 172, 254, 0.5);
     box-shadow: 0 20px 40px rgba(70, 172, 254, 0.2);
 }

 .card-glow {
     position: absolute;
     top: -50%;
     left: -50%;
     width: 200%;
     height: 200%;
     background: radial-gradient(circle, rgba(70, 172, 254, 0.1) 0%, transparent 70%);
     opacity: 0;
     transition: opacity 0.4s ease;
 }

 .wechat-mega-card:hover .card-glow {
     opacity: 1;
 }

 .card-content {
     position: relative;
     z-index: 2;
     display: flex;
     align-items: center;
     gap: 20px;
 }

 .qr-mega-container {
     position: relative;
     width: 100px;
     height: 100px;
 }

 .qr-placeholder-mega {
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, #1a1a2e, #16213e);
     border: 2px solid rgba(70, 172, 254, 0.3);
     border-radius: 15px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
     overflow: hidden;
 }

 .qr-matrix {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 8px;
 }

 .qr-pixel {
     width: 20px;
     height: 20px;
     background: linear-gradient(45deg, #46acfe, #1c5098);
     border-radius: 3px;
     animation: pixelGlow 3s infinite ease-in-out;
 }

 .qr-pixel:nth-child(1) {
     animation-delay: 0s;
 }

 .qr-pixel:nth-child(2) {
     animation-delay: 0.5s;
 }

 .qr-pixel:nth-child(3) {
     animation-delay: 1s;
 }

 .qr-pixel:nth-child(4) {
     animation-delay: 1.5s;
 }

 @keyframes pixelGlow {

     0%,
     100% {
         opacity: 0.3;
         transform: scale(1);
     }

     50% {
         opacity: 1;
         transform: scale(1.1);
     }
 }

 .scan-line {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 2px;
     background: linear-gradient(90deg, transparent, #00ff88, transparent);
     animation: scan 2s infinite ease-in-out;
 }

 @keyframes scan {
     0% {
         transform: translateY(0);
     }

     100% {
         transform: translateY(96px);
     }
 }

 .qr-scanner-effect {
     position: absolute;
     top: -2px;
     left: -2px;
     right: -2px;
     bottom: -2px;
     border: 2px solid transparent;
     border-radius: 17px;
     background: linear-gradient(45deg, #46acfe, #00ff88) border-box;
     mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
     mask-composite: exclude;
     animation: borderGlow 3s infinite ease-in-out;
 }

 @keyframes borderGlow {

     0%,
     100% {
         opacity: 0.3;
     }

     50% {
         opacity: 1;
     }
 }

 .card-label {
     display: flex;
     align-items: center;
     gap: 10px;
     color: white;
     font-weight: 600;
 }

 .label-icon {
     font-size: 1.5rem;
     filter: drop-shadow(0 0 10px rgba(70, 172, 254, 0.5));
 }

 /* 联系超级面板 */
 .contact-mega-panel {
     position: relative;
 }

 .panel-header {
     display: flex;
     align-items: center;
     gap: 15px;
     margin-bottom: 30px;
     position: relative;
 }

 .panel-icon {
     font-size: 2rem;
     filter: drop-shadow(0 0 10px rgba(255, 100, 100, 0.5));
 }

 .panel-header h3 {
     color: white;
     font-size: 1.5rem;
     margin: 0;
     text-shadow: 0 0 20px rgba(255, 100, 100, 0.3);
 }

 .status-indicator {
     width: 12px;
     height: 12px;
     border-radius: 50%;
     position: relative;
 }

 .status-indicator.online {
     background: #00ff88;
     box-shadow: 0 0 20px #00ff88;
     animation: statusPulse 2s infinite;
 }

 @keyframes statusPulse {
     0% {
         box-shadow: 0 0 20px #00ff88;
     }

     50% {
         box-shadow: 0 0 30px #00ff88, 0 0 40px #00ff88;
     }

     100% {
         box-shadow: 0 0 20px #00ff88;
     }
 }

 .mega-contact-grid {
     display: flex;
     flex-direction: column;
     gap: 20px;
 }

 .mega-contact-card {
     position: relative;
     background: rgba(255, 255, 255, 0.05);
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 20px;
     padding: 25px;
     backdrop-filter: blur(20px);
     transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     overflow: hidden;
 }

 .mega-contact-card:hover {
     transform: translateX(10px) scale(1.02);
     border-color: rgba(70, 172, 254, 0.5);
     box-shadow: -10px 20px 40px rgba(0, 0, 0, 0.3);
 }

 .card-bg-effect {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, rgba(70, 172, 254, 0.05), rgba(255, 100, 100, 0.05));
     opacity: 0;
     transition: opacity 0.4s ease;
 }

 .mega-contact-card:hover .card-bg-effect {
     opacity: 1;
 }

 .card-hover-effect {
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
     transition: left 0.6s ease;
 }

 .mega-contact-card:hover .card-hover-effect {
     left: 100%;
 }

 .card-icon-mega {
     position: relative;
     width: 60px;
     height: 60px;
     margin-bottom: 20px;
 }

 .icon-3d {
     font-size: 2.5rem;
     filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.3));
 }

 .icon-ring {
     position: absolute;
     top: -10px;
     left: -10px;
     width: 80px;
     height: 80px;
     border: 2px solid rgba(70, 172, 254, 0.3);
     border-radius: 50%;
     animation: iconRing 4s infinite ease-in-out;
 }

 @keyframes iconRing {

     0%,
     100% {
         transform: scale(1) rotate(0deg);
         opacity: 0.3;
     }

     50% {
         transform: scale(1.1) rotate(180deg);
         opacity: 0.7;
     }
 }

 .card-info h4 {
     color: white;
     font-size: 1.2rem;
     margin: 0 0 15px 0;
     text-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
 }

 /* 邮箱列表样式 */
 .email-list {
     display: flex;
     flex-direction: column;
     gap: 10px;
 }

 .email-item {
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .email-dot {
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: linear-gradient(45deg, #46acfe, #00ff88);
     animation: emailDot 3s infinite ease-in-out;
 }

 .email-item.primary .email-dot {
     animation-delay: 0s;
 }

 .email-item.secondary .email-dot {
     animation-delay: 1.5s;
 }

 @keyframes emailDot {

     0%,
     100% {
         opacity: 0.5;
         transform: scale(1);
     }

     50% {
         opacity: 1;
         transform: scale(1.2);
     }
 }

 .email-text {
     color: #46acfe;
     font-weight: 600;
     font-family: 'Courier New', monospace;
 }

 /* 电话列表样式 */
 .phone-mega-list {
     display: flex;
     flex-direction: column;
     gap: 12px;
 }

 .phone-mega-item {
     display: flex;
     align-items: center;
     gap: 12px;
     padding: 10px;
     background: rgba(255, 255, 255, 0.05);
     border-radius: 10px;
     transition: all 0.3s ease;
 }

 .phone-mega-item:hover {
     background: rgba(70, 172, 254, 0.1);
     transform: translateX(5px);
 }

 .country-flag {
     font-size: 1.5rem;
     filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.3));
 }

 .phone-details {
     flex: 1;
     display: flex;
     flex-direction: column;
     gap: 2px;
 }

 .country-name {
     color: #ccc;
     font-size: 12px;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 .phone-mega-number {
     color: #46acfe;
     text-decoration: none;
     font-weight: 700;
     font-family: 'Courier New', monospace;
     font-size: 14px;
 }

 .phone-mega-number:hover {
     color: #00ff88;
     text-shadow: 0 0 10px #00ff88;
 }

 .phone-status {
     padding: 4px 8px;
     border-radius: 12px;
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .phone-status.active {
     background: linear-gradient(45deg, #00ff88, #00cc66);
     color: #000;
 }

 .phone-status.info {
     background: linear-gradient(45deg, #46acfe, #1c5098);
     color: white;
 }

 /* 服务状态样式 */
 .service-status {
     display: flex;
     flex-direction: column;
     gap: 12px;
 }

 .status-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .status-label {
     color: #ccc;
     font-size: 14px;
 }

 .status-badge {
     padding: 6px 12px;
     border-radius: 15px;
     font-size: 12px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .status-badge.online {
     background: linear-gradient(45deg, #00ff88, #00cc66);
     color: #000;
     animation: badgeGlow 3s infinite ease-in-out;
 }

 .status-badge.fast {
     background: linear-gradient(45deg, #ff6b6b, #ff5252);
     color: white;
     animation: badgeGlow 3s infinite ease-in-out;
     animation-delay: 1.5s;
 }

 @keyframes badgeGlow {

     0%,
     100% {
         box-shadow: none;
     }

     50% {
         box-shadow: 0 0 20px currentColor;
     }
 }

 /* 联系我们浅色系样式覆盖 */
 .contact-section .section-title {
     color: #1c5098;
     text-shadow: 0 4px 20px rgba(28, 80, 152, 0.3);
 }

 .contact-section .section-subtitle {
     color: #666;
 }

 /* 浅色主题样式覆盖 */
 .matrix-icon {
     filter: drop-shadow(0 2px 8px rgba(28, 80, 152, 0.3)) !important;
 }

 .matrix-title h3 {
     color: #1c5098 !important;
     text-shadow: 0 2px 10px rgba(28, 80, 152, 0.2) !important;
     font-weight: 700 !important;
 }

 .pulse-dot {
     background: #28a745 !important;
     box-shadow: 0 0 15px rgba(40, 167, 69, 0.6) !important;
 }

 .wechat-mega-card {
     background: rgba(255, 255, 255, 0.9) !important;
     border: 1px solid rgba(28, 80, 152, 0.15) !important;
     box-shadow: 0 8px 32px rgba(28, 80, 152, 0.1) !important;
 }

 .wechat-mega-card:hover {
     border-color: rgba(28, 80, 152, 0.3) !important;
     box-shadow: 0 20px 40px rgba(28, 80, 152, 0.2) !important;
 }

 .wechat-mega-card::before {
     background: linear-gradient(90deg, transparent, rgba(28, 80, 152, 0.1), transparent) !important;
 }

 .card-glow {
     background: radial-gradient(circle, rgba(28, 80, 152, 0.1) 0%, transparent 70%) !important;
 }

 .qr-placeholder-mega {
     background: linear-gradient(135deg, #f8f9fa, #e9ecef) !important;
     border: 2px solid rgba(28, 80, 152, 0.2) !important;
 }

 .scan-line {
     background: linear-gradient(90deg, transparent, rgba(40, 167, 69, 0.2), transparent) !important;
     opacity: 0.3 !important;
 }

 .qr-scanner-effect {
     background: linear-gradient(45deg, rgba(28, 80, 152, 0.3), rgba(40, 167, 69, 0.3)) border-box !important;
     opacity: 0.4 !important;
 }

 .card-label {
     color: #1c5098 !important;
     font-weight: 600 !important;
 }

 .label-icon {
     filter: drop-shadow(0 2px 8px rgba(28, 80, 152, 0.3)) !important;
 }

 .panel-icon {
     filter: drop-shadow(0 2px 8px rgba(220, 53, 69, 0.3)) !important;
 }

 .panel-header h3 {
     color: #dc3545 !important;
     text-shadow: 0 2px 10px rgba(220, 53, 69, 0.2) !important;
 }

 .status-indicator.online {
     background: #28a745 !important;
     box-shadow: 0 0 15px rgba(40, 167, 69, 0.6) !important;
 }

 .mega-contact-card {
     background: rgba(255, 255, 255, 0.9) !important;
     border: 1px solid rgba(0, 0, 0, 0.1) !important;
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1) !important;
 }

 .mega-contact-card:hover {
     border-color: rgba(28, 80, 152, 0.3) !important;
     box-shadow: -10px 20px 40px rgba(28, 80, 152, 0.15) !important;
 }

 .card-bg-effect {
     background: linear-gradient(135deg, rgba(28, 80, 152, 0.05), rgba(220, 53, 69, 0.05)) !important;
 }

 .card-hover-effect {
     background: linear-gradient(90deg, transparent, rgba(28, 80, 152, 0.1), transparent) !important;
 }

 .icon-3d {
     filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15)) !important;
 }

 .icon-ring {
     border: 2px solid rgba(28, 80, 152, 0.2) !important;
 }

 .card-info h4 {
     color: #333 !important;
     text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
 }

 .email-dot {
     background: linear-gradient(45deg, #1c5098, #28a745) !important;
 }

 .email-text {
     color: #1c5098 !important;
 }

 .phone-mega-item {
     background: rgba(248, 249, 250, 0.8) !important;
 }

 .phone-mega-item:hover {
     background: rgba(28, 80, 152, 0.1) !important;
 }

 .country-name {
     color: #666 !important;
 }

 .phone-mega-number {
     color: #1c5098 !important;
 }

 .phone-mega-number:hover {
     color: #28a745 !important;
     text-shadow: 0 0 8px rgba(40, 167, 69, 0.4) !important;
 }

 .status-label {
     color: #666 !important;
 }

 /* 联系项目样式 - 与关于我们统计卡片风格一致 */
 .contact-item {
     text-align: center;
     padding: 30px 20px;
     background: rgba(255, 255, 255, 0.9);
     border-radius: 20px;
     backdrop-filter: blur(15px);
     box-shadow: 0 8px 32px rgba(28, 80, 152, 0.12);
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     position: relative;
     overflow: hidden;
     border: 1px solid rgba(28, 80, 152, 0.1);
 }

 .contact-item::before {
     content: '';
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(28, 80, 152, 0.1), transparent);
     transition: left 0.5s ease;
 }

 .contact-item:hover::before {
     left: 100%;
 }

 .contact-item:hover {
     transform: translateY(-10px) scale(1.02);
     box-shadow: 0 15px 40px rgba(28, 80, 152, 0.2);
     border-color: rgba(28, 80, 152, 0.3);
 }

 /* 移除contact-icon样式 */

 .contact-details h4 {
     color: #1c5098;
     font-size: 1.2rem;
     font-weight: 700;
     margin: 0 0 20px 0;
     text-shadow: 0 2px 10px rgba(28, 80, 152, 0.2);
     text-align: center;
 }

 /* 微信卡片样式 */
 .wechat-cards {
     display: flex;
     gap: 15px;
     justify-content: center;
     flex-wrap: wrap;
 }

 .wechat-card {
     background: rgba(248, 249, 250, 0.8);
     border-radius: 12px;
     padding: 15px;
     text-align: center;
     border: 1px solid rgba(28, 80, 152, 0.1);
     transition: all 0.3s ease;
     flex: 1;
     min-width: 120px;
 }

 .wechat-card:hover {
     transform: translateY(-3px);
     box-shadow: 0 8px 20px rgba(28, 80, 152, 0.15);
 }

 .qr-placeholder {
     width: 80px;
     height: 80px;
     margin: 0 auto 10px;
     background: #f8f9fa;
     border: 2px dashed rgba(28, 80, 152, 0.3);
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
     overflow: hidden;
 }

 .qr-code {
     text-align: center;
     color: #666;
 }

 .qr-icon {
     font-size: 1.5rem;
     margin-bottom: 3px;
     display: block;
 }

 .qr-code p {
     margin: 0;
     font-size: 10px;
 }

 .scan-line {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(40, 167, 69, 0.2), transparent);
     animation: scan 2s infinite ease-in-out;
     opacity: 0.3;
 }

 @keyframes scan {
     0% {
         transform: translateY(0);
     }

     100% {
         transform: translateY(76px);
     }
 }

 .wechat-label {
     background: linear-gradient(45deg, #1c5098, #46acfe);
     color: white;
     padding: 4px 8px;
     border-radius: 12px;
     font-size: 12px;
     font-weight: 600;
 }

 /* 单个微信卡片样式 */
 .wechat-single {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 15px;
 }

 .wechat-single .qr-placeholder {
     width: 120px;
     height: 120px;
 }

 .wechat-single .wechat-label {
     margin-top: 5px;
 }

 /* 邮箱列表样式 */
 .email-list {
     text-align: left;
 }

 .contact-main {
     color: #1c5098;
     font-weight: 600;
     font-family: 'Courier New', monospace;
     margin: 0 0 8px 0;
     font-size: 16px;
 }

 .contact-sub {
     color: #666;
     margin: 0;
     font-size: 14px;
 }

 /* 电话列表样式 */
 .phone-list {
     display: flex;
     flex-direction: column;
     gap: 12px;
     text-align: left;
 }

 .phone-item {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 8px;
     background: rgba(248, 249, 250, 0.8);
     border-radius: 8px;
     transition: all 0.3s ease;
     flex-wrap: wrap;
 }

 .phone-item:hover {
     background: rgba(28, 80, 152, 0.1);
     transform: translateX(3px);
 }

 .country {
     font-size: 12px;
     color: #666;
     min-width: 60px;
 }

 .phone-number {
     color: #1c5098;
     text-decoration: none;
     font-weight: 600;
     font-family: 'Courier New', monospace;
     font-size: 14px;
     flex: 1;
 }

 .phone-number:hover {
     color: #28a745;
     text-shadow: 0 0 8px rgba(40, 167, 69, 0.4);
 }

 .phone-type {
     font-size: 12px;
     color: #999;
 }

 /* 服务信息样式 */
 .service-info {
     text-align: left;
 }

 .status-dot {
     display: inline-block;
     width: 8px;
     height: 8px;
     border-radius: 50%;
     margin-right: 8px;
 }

 .status-dot.online {
     background: #28a745;
     box-shadow: 0 0 10px rgba(40, 167, 69, 0.6);
     animation: statusPulse 2s infinite;
 }

 @keyframes statusPulse {
     0% {
         box-shadow: 0 0 10px rgba(40, 167, 69, 0.6);
     }

     50% {
         box-shadow: 0 0 15px rgba(40, 167, 69, 0.8);
     }

     100% {
         box-shadow: 0 0 10px rgba(40, 167, 69, 0.6);
     }
 }

 /* 响应式优化 */
 @media (max-width: 1024px) {
     .contact-grid {
         grid-template-columns: repeat(2, 1fr);
         grid-template-rows: auto;
     }
 }

 @media (max-width: 768px) {

     /* 合并后的移动端样式 */
     .hamburger {
         display: flex;
     }

     .navbar-nav {
         position: fixed;
         top: 80px;
         left: -100%;
         width: 100%;
         height: calc(100vh - 80px);
         background: rgba(255, 255, 255, 0.98);
         flex-direction: column;
         align-items: center;
         justify-content: flex-start;
         padding-top: 50px;
         transition: left 0.3s ease;
     }

     .navbar-nav.active {
         left: 0;
     }

     .nav-item {
         margin: 10px 0;
     }

     .section-content {
         padding: 60px 20px 20px;
         justify-content: flex-start;
         height: auto;
         min-height: 100vh;
     }

     .section-title {
         font-size: 2rem;
         margin-bottom: 15px;
     }

     .section-subtitle {
         font-size: 1rem;
         margin-bottom: 25px;
     }

     /* 联系我们模块 */
     .contact-grid {
         grid-template-columns: 1fr;
         grid-template-rows: auto;
         gap: 20px;
         margin-top: 0px !important;
     }

     .contact-item {
         padding: 20px 15px !important;

     }

     .phone-item {
         flex-direction: column;
         align-items: flex-start;
         gap: 5px;
     }

     .wechat-single .qr-placeholder {
         width: 100px;
         height: 100px;
     }

     .contact-super-grid {
         grid-template-columns: 1fr;
         gap: 40px;
     }

     .wechat-mega-cards {
         flex-direction: row;
         gap: 15px;
     }

     .wechat-mega-card {
         flex: 1;
         padding: 20px;
     }

     .card-content {
         flex-direction: column;
         text-align: center;
         gap: 15px;
     }

     .qr-mega-container {
         width: 80px;
         height: 80px;
     }

     .mega-contact-card {
         padding: 20px;
     }

     .floating-shape {
         display: none;
     }

     /* 公告与文章 */
     .announcements-grid-compact {
         grid-template-columns: 1fr;
         gap: 15px;
         margin-top: 20px;
     }

     .announcement-card-compact {
         height: auto;
         /* Allow height to adjust */
         min-height: 120px;
         padding: 15px;
     }

     .articles-horizontal-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 15px;
         margin-top: 20px;
     }

     .bg {
         height: 240px;
     }

     .cover {
         height: 140px;
     }

     .title1 {
         padding: 15px;
     }

     .spot-title {
         font-size: 1rem;
         margin-bottom: 8px;
     }

     .city_tag {
         font-size: 12px;
         padding: 4px 8px;
     }

     /* 更多按钮 */
     .view-more-btn {
         padding: 6px 12px;
         font-size: 13px;
     }

     .view-more-section {
         margin-top: 15px;
     }
 }



 /* 超小屏幕优化 */
 @media (max-width: 360px) {
     .articles-horizontal-grid {
         gap: 6px;
     }

     .bg {
         height: 180px;
     }

     .cover {
         height: 100px;
     }

     .title1 {
         padding: 8px;
     }

     .spot-title {
         font-size: 0.85rem;
     }

     .city_tag {
         font-size: 10px;
         padding: 2px 4px;
     }
 }

 /* 联系我们样式重新设计 */
 .contact-section {
     background: linear-gradient(135deg, #f8faff 0%, #e8f2ff 100%);
     position: relative;
     overflow: hidden;
 }

 .contact-section::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background:
         radial-gradient(circle at 20% 20%, rgba(28, 80, 152, 0.05) 0%, transparent 50%),
         radial-gradient(circle at 80% 80%, rgba(70, 172, 254, 0.05) 0%, transparent 50%);
     z-index: 1;
 }

 .contact-section .section-content {
     position: relative;
     z-index: 2;
 }

 .contact-section .section-title {
     color: #1e293b;
     font-weight: 700;
 }

 .contact-section .section-subtitle {
     color: #64748b;
     font-size: 1.1rem;
 }

 .contact-grid {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 30px;
     margin-top: 60px;
     max-width: 1000px;
     margin-left: auto;
     margin-right: auto;
     padding: 40px 20px;
 }

 .contact-sticky-note {
     background: #ffffff;
     border-radius: 0;
     padding: 25px 20px 20px;
     text-align: center;
     border: none;
     box-shadow:
         0 8px 16px rgba(0, 0, 0, 0.12),
         0 2px 4px rgba(0, 0, 0, 0.08);
     position: relative;
     width: 180px;
     min-height: 140px;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 /* 不同类型卡片的颜色 */
 .phone-note {
     background: #fef3c7;
     transform: rotate(-2deg);
 }

 .qr-note {
     background: #d1fae5;
     transform: rotate(1.5deg);
     width: 160px;
     min-height: 200px;
 }

 .email-note {
     background: #e0f2fe;
     transform: rotate(-1deg);
     width: 200px;
 }

 .wechat-note {
     background: #f3e8ff;
     transform: rotate(2deg);
 }

 /* 随机分布效果 */
 .contact-sticky-note:nth-child(2) {
     margin-top: 20px;
 }

 .contact-sticky-note:nth-child(3) {
     margin-top: -10px;
 }

 .contact-sticky-note:nth-child(4) {
     margin-top: 30px;
 }

 .contact-sticky-note:nth-child(5) {
     margin-top: -20px;
 }

 .contact-sticky-note:nth-child(6) {
     margin-top: 15px;
 }

 /* 钉子效果 */
 .contact-sticky-note::before {
     content: '';
     position: absolute;
     top: 10px;
     left: 50%;
     transform: translateX(-50%);
     width: 12px;
     height: 12px;
     background: radial-gradient(circle, #0369a1 70%);
     border-radius: 50%;
     box-shadow:
         0 2px 4px rgba(0, 0, 0, 0.3),
         inset 0 1px 2px rgba(255, 255, 255, 0.4),
         inset 0 -1px 1px rgba(0, 0, 0, 0.2);
     z-index: 10;
 }

 /* 钉子的小阴影 */
 .contact-sticky-note::after {
     content: '';
     position: absolute;
     top: 18px;
     left: 50%;
     transform: translateX(-50%);
     width: 8px;
     height: 6px;
     background: rgba(0, 0, 0, 0.1);
     border-radius: 50%;
     filter: blur(1px);
     z-index: 1;
 }

 .contact-sticky-note:hover {
     transform: rotate(0deg) translateY(-3px);
     box-shadow:
         0 12px 24px rgba(0, 0, 0, 0.15),
         0 4px 8px rgba(0, 0, 0, 0.1);
 }



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

 .note-label {
     font-size: 0.85rem;
     font-weight: 600;
     color: #64748b;
     margin-bottom: 8px;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .note-value {
     font-size: 0.95rem;
     font-weight: 700;
     color: #1e293b;
     text-align: center;
     line-height: 1.3;
     word-break: break-all;
 }

 .note-qr {
     width: 100px;
     height: 100px;
     object-fit: cover;
     border: 2px solid rgba(0, 0, 0, 0.1);
     margin-top: 5px;
 }

 /* 不同类型卡片的特殊样式 */
 .phone-note .note-value {
     color: #d97706;
     font-size: 1rem;
 }

 .phone-note .note-label {
     color: #b45309;
 }

 .email-note .note-value {
     color: #0369a1;
     font-size: 0.85rem;
 }

 .email-note .note-label {
     color: #0c4a6e;
 }

 .wechat-note .note-value {
     color: #7c3aed;
     font-size: 0.9rem;
 }

 .wechat-note .note-label {
     color: #6b21a8;
 }

 .qr-note .note-label {
     color: #047857;
 }


 /* 移除旧的动态背景样式 */
 .contact-bg-animation,
 .floating-shape,
 .contact-super-grid,
 .wechat-mega-card,
 .contact-mega-panel,
 .text-glow {
     display: none !important;
 }

 /* 响应式设计 */
 @media (max-width: 992px) {
     .contact-grid {
         gap: 25px;
         padding: 30px 15px;
     }

     .contact-sticky-note {
         width: 160px;
         min-height: 120px;
     }

     .qr-note {
         width: 140px;
         min-height: 180px;
     }

     .email-note {
         width: 180px;
     }
 }

 @media (max-width: 768px) {
     .contact-grid {
         flex-direction: column;
         align-items: center;
         gap: 30px;
         margin-top: 40px;
         padding: 20px 10px;
     }

     .contact-item {
         transform: rotate(0deg) !important;
         width: 100%;
         max-width: 320px;
         min-height: 380px;
     }

     .contact-item:nth-child(2),
     .contact-item:nth-child(3) {
         margin-top: 0;
     }

     .contact-details {
         padding: 35px 20px 20px;
         height: 100%;
         justify-content: space-around;
     }



     .contact-details h4 {
         font-size: 1.3rem;
         margin-bottom: 20px;
     }

     .contact-grid {
         gap: 20px;
         margin-top: 40px;
         padding: 20px 10px;
         justify-content: center;
         max-width: 100%;
         display: grid;
         grid-template-columns: repeat(2, 1fr);
     }

     .contact-sticky-note {
         transform: rotate(0deg) !important;
         width: 100%;
         max-width: 220px;
         min-height: 140px;
         margin-top: 0 !important;
         justify-self: center;
         padding: 30px 22px 22px;
     }

     .qr-note {
         max-width: 200px;
         min-height: 220px;
     }

     .email-note {
         max-width: 230px;
         min-height: 150px;
     }

     .note-qr {
         width: 120px;
         height: 120px;
     }

     .note-label {
         font-size: 0.9rem;
         margin-bottom: 12px;
     }

     .note-value {
         font-size: 1rem;
     }
 }

 @media (max-width: 480px) {
     .contact-section .section-subtitle {
         font-size: 1rem;
     }

     .contact-grid {
         gap: 12px;
         margin-top: 30px;
         padding: 15px 5px;
         display: grid;
         grid-template-columns: repeat(2, 1fr);
     }

     .contact-sticky-note {
         width: 100%;
         max-width: 180px;
         min-height: 130px;
         padding: 25px 18px 18px;
         justify-self: center;
     }

     .qr-note {
         max-width: 160px;
         min-height: 180px;
     }

     .email-note {
         max-width: 190px;
         min-height: 140px;
     }

     .note-qr {
         width: 100px;
         height: 100px;
     }

     .note-label {
         font-size: 0.8rem;
         margin-bottom: 10px;
     }

     .note-value {
         font-size: 0.9rem;
     }
 }