/* ===== 轮播 Banner ===== */
.banner-wrapper {position: relative;width: 100%;height: 720px;overflow: hidden;background: #0b1a33;}
.banner-swiper {width: 100%;height: 100%;}
.banner-swiper .swiper-slide {position: relative;display: flex;align-items: center;justify-content: center;text-align: center;color: #fff;background-size: cover;background-position: center;overflow: hidden;padding: 0 24px;}
.slide-bg-1 {background: linear-gradient(135deg, #0b1a33 0%, #1a3a7a 50%, #2563eb 100%);}
.slide-bg-2 {background: linear-gradient(135deg, #0f2b4f 0%, #4a1a6b 50%, #d45a3a 100%);}
.slide-bg-3 {background: linear-gradient(135deg, #0a1e2e 0%, #0f4c5c 50%, #2a9d8f 100%);}
.slide-bg-4 {background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);}
.swiper-slide::before {content: '';position: absolute;inset: 0;background: radial-gradient(ellipse at 30% 50%, rgba(37, 99, 235, 0.15) 0%, transparent 70%);z-index: 1;pointer-events: none;}
.swiper-slide::after {content: '';position: absolute;inset: 0;background: rgba(0, 0, 0, 0.20);z-index: 1;pointer-events: none;}
.swiper-slide .slide-content {position: relative;z-index: 2;max-width: 780px;width: 100%;opacity: 0;transform: translateY(40px);transition: opacity 0.8s ease, transform 0.8s ease;}
.swiper-slide.swiper-slide-active .slide-content {opacity: 1;transform: translateY(0);}
.slide-content .subtitle {display: inline-block;background: rgba(255, 255, 255, 0.15);backdrop-filter: blur(4px);padding: 4px 22px;border-radius: 30px;font-size: 14px;letter-spacing: 2px;color: rgba(255, 255, 255, 0.85);margin-bottom: 22px;border: 1px solid rgba(255, 255, 255, 0.10);}
.slide-content h2 {font-size: 52px;font-weight: 700;line-height: 1.2;margin-bottom: 18px;text-shadow: 0 2px 20px rgba(0, 0, 0, 0.20);}
.slide-content h2 .highlight {color: #fcd34d;}
.slide-content p {font-size: 20px;line-height: 1.7;opacity: 0.9;margin: 0 auto 30px auto;max-width: 560px;text-shadow: 0 1px 12px rgba(0, 0, 0, 0.15);}
.slide-content .btn-group {display: flex;flex-wrap: wrap;justify-content: center;gap: 16px;}
.slide-content .btn {display: inline-block;padding: 14px 38px;border-radius: 50px;font-weight: 600;font-size: 16px;transition: all 0.3s;border: 2px solid transparent;text-decoration: none;cursor: pointer;}
.slide-content .btn-primary {background: #fff;color: #1a3a7a;}
.slide-content .btn-primary:hover {background: #2563eb;color: #fff;border-color: #fff;transform: translateY(-2px);box-shadow: 0 8px 30px rgba(37, 99, 235, 0.35);}
.slide-content .btn-outline {background: transparent;color: #fff;border-color: rgba(255, 255, 255, 0.5);}
.slide-content .btn-outline:hover {background: #fff;color: #1a3a7a;border-color: #fff;transform: translateY(-2px);}
.slide-decoration {position: absolute;right: 40px;bottom: 40px;z-index: 0;font-size: 200px;opacity: 0.06;pointer-events: none;font-weight: 900;color: #fff;letter-spacing: 12px;user-select: none;line-height: 1;}
.banner-wrapper .swiper-button-next,.banner-wrapper .swiper-button-prev {position: absolute;top: 50%;transform: translateY(-50%);z-index: 20;width: 50px;height: 50px;border-radius: 50%;background: rgba(255, 255, 255, 0.12);backdrop-filter: blur(8px);border: 1px solid rgba(255, 255, 255, 0.15);color: #fff;cursor: pointer;transition: all 0.3s;display: flex;align-items: center;justify-content: center;}
.banner-wrapper .swiper-button-next:hover,.banner-wrapper .swiper-button-prev:hover {background: rgba(255, 255, 255, 0.25);transform: translateY(-50%) scale(1.06);}
.banner-wrapper .swiper-button-prev {left: 24px;}
.banner-wrapper .swiper-button-next {right: 24px;}
.banner-wrapper .swiper-button-next::after,.banner-wrapper .swiper-button-prev::after {font-size: 18px;font-weight: bold;}
.banner-pagination {position: absolute;bottom: 32px;left: 50%;transform: translateX(-50%);z-index: 20;display: flex;gap: 10px;}
.banner-pagination .swiper-pagination-bullet {width: 12px;height: 12px;background: rgba(255, 255, 255, 0.35);border-radius: 50%;cursor: pointer;transition: all 0.3s;opacity: 1;}
.banner-pagination .swiper-pagination-bullet-active {background: #fff;width: 36px;border-radius: 6px;box-shadow: 0 0 20px rgba(255, 255, 255, 0.25);}
.banner-progress {position: absolute;bottom: 0;left: 0;height: 3px;background: rgba(255, 255, 255, 0.15);z-index: 20;width: 100%;}
.banner-progress .progress-bar {height: 100%;width: 0%;background: linear-gradient(90deg, #2563eb, #fcd34d);transition: width 0.1s linear;}
/* ===== 公共标题 ===== */
.section-title {text-align: center;margin-bottom: 50px;}
.section-title h3 {font-size: 36px;color: #222;margin-bottom: 12px;font-weight: 700;}
.section-title p {color: #666;font-size: 16px;}
/* ===== 关于我们 ===== */
.about {padding: 80px 0;background: #f8fafc;}
.about-wrap {display: flex;gap: 60px;align-items: center;}
.about-text {flex: 1;}
.about-text .tag {font-size: 22px;color: #2563eb;font-weight: bold;margin-bottom: 16px;text-align: center;}
.about-text p {font-size: 16px;line-height: 1.8;color: #555;margin-bottom: 16px;text-indent: 2em;}
.about-text ul {margin-top: 20px;display: grid;grid-template-columns: 1fr 1fr;gap: 6px 20px;}
.about-text li {line-height: 2;font-size: 15px;color: #444;}
.about-img {flex: 1;border-radius: 12px;overflow: hidden;box-shadow: 0 4px 20px rgba(0,0,0,0.06);}
.about-img img {width: 100%;height: 400px;object-fit: cover;}
/* ===== 业务服务 ===== */
.service {padding: 80px 0;}
.service-tab-wrap {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px;}
.service-tab {background: #f8fafc;padding: 30px 24px;border-radius: 8px;transition: transform 0.3s, box-shadow 0.3s;}
.service-tab:hover {transform: translateY(-4px);box-shadow: 0 8px 30px rgba(0,0,0,0.06);}
.service-tab h4 {font-size: 22px;margin-bottom: 20px;color: #222;border-left: 4px solid #2563eb;padding-left: 12px;}
.service-tab ul li {line-height: 2.4;font-size: 15px;color: #555;}
.service-tab ul li a {display: block;padding: 2px 0;}
.service-tab ul li a:hover {color: #2563eb;padding-left: 4px;}
/* 广告条 */
.ad-banner {width: 100%;padding: 0;background: #0a1628;overflow: hidden;position: relative;min-height: 320px;background-image: url('../gy/3.jpg');background-size: cover;background-position: center;display: flex;align-items: center;justify-content: center;}
.ad-banner::before {content: '';position: absolute;inset: 0;background: rgba(10, 22, 40, 0.55);z-index: 1;}
.ad-banner::after {content: '';position: absolute;bottom: 0;left: 0;width: 100%;height: 3px;background: linear-gradient(90deg, #2563eb, #fcd34d, #2563eb);z-index: 2;}
.ad-banner .ad-text {position: relative;z-index: 2;text-align: center;padding: 40px 30px;max-width: 1100px;margin: 0 auto;}
.ad-banner .ad-slogan {font-size: 28px;font-weight: 600;color: #fff;line-height: 1.6;text-shadow: 0 2px 20px rgba(0, 0, 0, 0.30);letter-spacing: 1px;}
.ad-banner .ad-slogan .highlight-year {color: #fcd34d;font-weight: 700;}
/* 合作流程板块 */
.process {padding: 80px 0;background: #f8fafc;}
.process .section-title {display: block;font-size: 14px;color: #2563eb;font-weight: 600;letter-spacing: 3px;text-transform: uppercase;margin-bottom: 50px;}
.process-grid {display: grid;grid-template-columns: repeat(6, 1fr);gap: 20px;margin-top: 20px;position: relative;}
.process-grid::before {content: '';position: absolute;top: 52px;left: 8%;right: 8%;height: 2px;background: linear-gradient(90deg, #2563eb, #2563eb 80%, #ddd);z-index: 0;}
.process-item {background: #fff;border-radius: 12px;padding: 30px 18px 24px;text-align: center;box-shadow: 0 2px 12px rgba(0,0,0,0.04);transition: transform 0.3s, box-shadow 0.3s;position: relative;z-index: 1;display: flex;flex-direction: column;align-items: center;}
.process-item:hover {transform: translateY(-6px);box-shadow: 0 8px 30px rgba(37, 99, 235, 0.12);}
.process-item .step-num {width: 44px;height: 44px;border-radius: 50%;background: #2563eb;color: #fff;font-size: 18px;font-weight: 700;display: flex;align-items: center;justify-content: center;margin-bottom: 16px;flex-shrink: 0;position: relative;z-index: 2;transition: background 0.3s, transform 0.3s;}
.process-item:hover .step-num {background: #1d4ed8;transform: scale(1.06);}
.process-item .step-icon {font-size: 32px;margin-bottom: 10px;display: block;}
.process-item h5 {font-size: 17px;color: #222;font-weight: 700;margin-bottom: 6px;}
.process-item p {font-size: 13px;color: #888;line-height: 1.6;max-width: 140px;margin: 0 auto;}
/* 客户案例 */
.case {padding: 80px 0;background: #fff;}
.case-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px;}
.case-card {background: #f8fafc;border: 1px solid #e5e7eb;border-radius: 12px;overflow: hidden;transition: transform 0.3s, box-shadow 0.3s;display: flex;flex-direction: column;}
.case-card:hover {transform: translateY(-8px);box-shadow: 0 12px 40px rgba(0,0,0,0.08);}
.case-card img {width: 100%;height: 220px;object-fit: cover;}
.case-card .case-body {padding: 20px 24px 24px;flex: 1;display: flex;flex-direction: column;background: #fff;}
.case-card h5 {font-size: 20px;color: #222;margin-bottom: 6px;font-weight: 700;}
.case-card .case-desc {font-size: 15px;color: #555;line-height: 1.7;flex: 1;}
.case-card .case-link {margin-top: 16px;font-size: 14px;font-weight: 500;color: #2563eb;display: inline-flex;align-items: center;gap: 4px;transition: gap 0.3s;}
.case-card .case-link:hover {gap: 10px;}
.case-card .case-link::after {content: '\2192';transition: transform 0.3s;}
.case-card .case-link:hover::after {transform: translateX(4px);}
/* 资讯动态 */
.news {padding: 80px 0;background: #f8fafc;}
.news-wrap {display: flex;gap: 30px;}
.news-left {flex: 2;}
.news-right {flex: 1;background: #fff;padding: 24px 28px;border-radius: 8px;box-shadow: 0 2px 12px rgba(0,0,0,0.04);}
.news-list li {padding: 16px 0;border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 8px;}
.news-list li:last-child {border-bottom: none;}
.news-list li a {font-size: 16px;color: #333;transition: color 0.2s;}
.news-list li a:hover {color: #2563eb;}
.news-list .date {color: #999;font-size: 14px;white-space: nowrap;}
.news-right h4 {font-size: 20px;margin-bottom: 20px;padding-bottom: 12px;border-bottom: 1px solid #ddd;color: #222;}
.news-right ul li {line-height: 2.6;font-size: 15px;}
.news-right ul li a {display: block;padding: 2px 0;}
.news-right ul li a:hover {color: #2563eb;padding-left: 6px;}
/* ===== 响应式 ===== */
@media screen and (max-width: 992px) {
.banner-wrapper {height: 600px;}
.slide-content h2 {font-size: 40px;}
.slide-content p {font-size: 18px;max-width: 480px;}
.slide-decoration {font-size: 140px;right: 20px;bottom: 20px;}
.about-wrap {flex-direction: column;}
.service-tab-wrap {grid-template-columns: repeat(2, 1fr);}
.news-wrap {flex-direction: column;}
.about-text ul {grid-template-columns: 1fr;}
.case-grid {grid-template-columns: repeat(2, 1fr);}
.ad-banner {min-height: 260px;}
.ad-banner .ad-slogan {font-size: 22px;}
.process-grid {grid-template-columns: repeat(3, 1fr);gap: 24px;}
.process-grid::before {display: none;}
.process-item p {max-width: 100%;}
}
@media screen and (max-width: 768px) {
.nav-list {position: fixed;top: 0;left: -100%;width: 80%;max-width: 320px;height: 100%;background: #fff;flex-direction: column;padding: 80px 30px 30px;box-shadow: 4px 0 20px rgba(0,0,0,0.15);transition: left 0.35s ease;gap: 0;overflow-y: auto;z-index: 1001;}
.nav-list.active {left: 0;}
.nav-list li a {display: block;padding: 14px 0;border-bottom: 1px solid #f0f0f0;font-size: 17px;}
.nav-list li a::after {display: none;}
.menu-btn {display: flex;}
.menu-overlay.active {display: block;}
.top-bar .container {justify-content: center;text-align: center;}
.hotline {width: 100%;margin-bottom: 4px;}
.banner-wrapper {height: 520px;}
.slide-content h2 {font-size: 30px;}
.slide-content p {font-size: 16px;max-width: 100%;padding: 0 10px;}
.slide-content .btn {padding: 12px 28px;font-size: 14px;}
.slide-decoration {font-size: 100px;right: 10px;bottom: 10px;opacity: 0.04;}
.banner-wrapper .swiper-button-next,.banner-wrapper .swiper-button-prev {width: 38px;height: 38px;}
.banner-wrapper .swiper-button-next::after,.banner-wrapper .swiper-button-prev::after {font-size: 14px;}
.banner-wrapper .swiper-button-prev {left: 10px;}
.banner-wrapper .swiper-button-next {right: 10px;}
.banner-pagination .swiper-pagination-bullet {width: 8px;height: 8px;}
.banner-pagination .swiper-pagination-bullet-active {width: 24px;}
.section-title h3 {font-size: 28px;}
.about,.service,.process,.case,.news {padding: 50px 0;}
.about-img img {width: 100%;height: auto;}
.service-tab-wrap {grid-template-columns: 1fr;}
.contact-banner h3 {font-size: 26px;}
.tel-num {font-size: 22px;}
.contact-btns a {padding: 12px 30px;font-size: 15px;width: 80%;}
.footer-wrap {gap: 30px;}
.footer-col {min-width: 100%;}
.case-grid {grid-template-columns: 1fr;gap: 24px;}
.case-card img {height: 260px;}
.ad-banner {min-height: 200px;}
.ad-banner .ad-slogan {font-size: 18px;padding: 0 10px;}
.ad-banner .ad-text {padding: 30px 20px;}
.process-grid {grid-template-columns: repeat(2, 1fr);gap: 20px;}
.process-grid::before {display: none;}
}
@media screen and (max-width: 480px) {
.banner-wrapper {height: 380px;}
.banner-swiper .swiper-slide {padding-left: 20px;padding-right: 20px;}
.slide-content h2 {font-size: 22px;}
.slide-content p {font-size: 14px;margin-bottom: 20px;}
.slide-content .subtitle {font-size: 12px;padding: 2px 14px;margin-bottom: 14px;}
.slide-content .btn {padding: 8px 18px;font-size: 13px;}
.slide-content .btn-group {gap: 10px;}
.banner-wrapper .swiper-button-next,.banner-wrapper .swiper-button-prev {display: none;}
.header .container {height: 60px;}
.logo {font-size: 20px;}
.about,.service,.process,.case,.news {padding: 40px 0;}
.section-title h3 {font-size: 24px;}
.about-text .tag {font-size: 18px;}
.contact-banner h3 {font-size: 22px;}
.tel-num {font-size: 22px;}
.ad-banner {min-height: 160px;}
.ad-banner .ad-slogan {font-size: 15px;line-height: 1.6;}
.ad-banner .ad-text {padding: 20px 16px;}
.process-grid {grid-template-columns: 1fr;gap: 16px;max-width: 360px;margin-left: auto;margin-right: auto;}
.process-item {flex-direction: row;padding: 16px 20px;text-align: left;gap: 16px;align-items: center;}
.process-item .step-num {margin-bottom: 0;flex-shrink: 0;width: 38px;height: 38px;font-size: 15px;}
.process-item .step-icon {display: none;}
.process-item h5 {font-size: 15px;margin-bottom: 2px;}
.process-item p {font-size: 12px;max-width: 100%;margin: 0;}
.process-grid::before {display: none;}
}