*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
.doc-main .detail-section-title{scroll-margin-top:120px}
body{font-family:"PingFang SC","Source Han Sans CN","Microsoft YaHei",sans-serif;font-size:16px;color:#1F2937;line-height:1.6;background:#fff;overflow-x:hidden;overflow-x:clip}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}
button{cursor:pointer;border:none;font-family:inherit}
:root{--deep-blue:#1f1f37;--tech-blue:#1A6FD6;--eco-green:#00B578;--cyan:#00C2D1;--text-dark:#1F2937;--text-medium:#4B5563;--bg-light:#F3F4F6;--gradient-banner:linear-gradient(135deg,#0A2E5C 0%,#1A6FD6 50%,#00C2D1 100%);--gradient-deep:linear-gradient(135deg,#0A2E5C 0%,#1A6FD6 100%);--gradient-cyan:linear-gradient(135deg,#1A6FD6 0%,#00C2D1 100%)}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background-color:transparent}
::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:5px}
::-webkit-scrollbar-button{background-color:transparent;height:3px}
::-webkit-scrollbar-corner{background-color:#ccc}
.container{max-width:1440px;margin:0 auto;padding:0 32px}
.section-title{font-size:36px;font-weight:700;color:var(--deep-blue);text-align:center;margin-bottom:8px}
.page-section .section-title{margin-bottom:8px}
.page-section .section-subtitle{margin-bottom:46px}
.section-subtitle{font-size:16px;color:var(--text-medium);text-align:center;margin-bottom:46px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border-radius:6px;font-size:15px;font-weight:600;transition:all 0.3s ease;white-space:nowrap}
.btn-primary{background:var(--tech-blue);color:#fff}
.btn-primary:hover{background:#155ab0;transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,111,214,0.3)}
.btn-outline-white{background:transparent;color:#fff;border:1px solid #fff}
.btn-outline-white:hover{background:#fff;color:var(--deep-blue)}
.btn-green{background:var(--eco-green);color:#fff}
.btn-green:hover{background:#009a65;transform:translateY(-2px)}
.btn-white-outline{background:transparent;color:var(--tech-blue);border:1px solid var(--tech-blue)}
.btn-white-outline:hover{background:var(--tech-blue);color:#fff}
.fade-in-up{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s ease}
.fade-in-up.visible{opacity:1;transform:translateY(0)}
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#082759;color:#fff;transition:all 0.3s ease}
.navbar.scrolled{background:rgba(255,255,255,0.92);backdrop-filter:blur(16px);color:var(--text-dark);box-shadow:0 2px 20px rgba(0,0,0,0.08)}
.nav-logo .logo-dark{display:inline-block}
.nav-logo .logo-light{display:none}
.navbar.scrolled .nav-logo .logo-dark{display:none}
.navbar.scrolled .nav-logo .logo-light{display:inline-block}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-logo{display:flex;align-items:center;gap:12px;line-height:1.2}
.nav-logo img{height:44px;width:auto;flex-shrink:0}
.nav-logo .text-group{display:flex;flex-direction:column}
.nav-logo .cn{font-size:18px;font-weight:700;letter-spacing:1px}
.nav-logo .en{font-size:10px;opacity:0.7;letter-spacing:0.5px;margin-top:2px}
.nav-menu{display:flex;gap:0}
.nav-item{position:relative}
.nav-item > a{display:block;padding:26px 14px;font-size:15px;font-weight:500;transition:color 0.3s ease;position:relative;white-space:nowrap}
.navbar .nav-item > a:hover{color:var(--cyan)}
.navbar.scrolled .nav-item > a:hover{color:var(--tech-blue)}
.nav-item > a::after{content:'';position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--cyan);transition:width 0.3s ease}
.nav-item > a:hover::after{width:24px}
.nav-item.active > a{color:var(--cyan)}
.nav-item.active > a::after{width:24px}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:180px;background:#fff;border-radius:8px;box-shadow:0 12px 40px rgba(10,46,92,0.15);opacity:0;visibility:hidden;transition:all 0.3s ease;padding:8px 0;z-index:100}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown a{display:block;padding:12px 20px;font-size:14px;color:var(--text-dark);transition:all 0.2s ease}
.dropdown a:hover{color:var(--tech-blue);background:#f0f7ff;padding-left:24px}
.dropdown a.active{color:var(--tech-blue);background:#eef5ff}
.nav-right{display:flex;align-items:center;gap:16px}
.nav-consult{background:var(--eco-green);color:#fff;padding:2px 12px;border-radius:4px;font-size:14px;font-weight:600;transition:all 0.3s ease}
.nav-consult:hover{background:#009a65;transform:translateY(-1px)}
.nav-consult .iconfont{margin-right:6px;font-size:20px;vertical-align:-3px}
.search-icon{width:20px;height:20px;cursor:pointer;opacity:0.9}
.mobile-menu-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.mobile-menu-btn span{width:24px;height:2px;background:currentColor}
.page-banner{padding:140px 0 80px;background:var(--gradient-banner);color:#fff;position:relative;overflow:hidden;text-align:center}
.page-banner.banner-service{background-image:url('../images/service-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-news{background-image:url('../images/news-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-software{background-image:url('../images/software-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-gov{background-image:url('../images/gov-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-park{background-image:url('../images/park-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-enterprise{background-image:url('../images/enterprise-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-group{background-image:url('../images/group-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-case-city{background-image:url('../images/case-city-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-case-county{background-image:url('../images/case-county-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-case-enterprise{background-image:url('../images/case-enterprise-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-case-province{background-image:url('../images/case-province-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-about-honors{background-image:url('../images/about-honors-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-about-jobs{background-image:url('../images/about-jobs-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-about-company{background-image:url('../images/about-company-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,0;background-blend-mode:soft-light,normal}
.page-banner::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.05) 1px,transparent 1px);background-size:60px 60px;opacity:0.5}
.page-banner h1{font-size:42px;font-weight:700;margin-bottom:16px;position:relative;z-index:2}
.page-banner p{font-size:17px;opacity:0.9;max-width:600px;margin:0 auto;position:relative;z-index:2}
.breadcrumb{position:relative;z-index:2;margin-top:24px;font-size:14px;opacity:0.8}
.breadcrumb a{opacity:0.8}
.breadcrumb a:hover{opacity:1;color:var(--cyan)}
.breadcrumb span{margin:0 8px}
.page-section{padding:60px 0}
.page-section.alt{background:var(--bg-light)}
.page-section h2{font-size:32px;font-weight:700;color:var(--deep-blue);margin-bottom:20px}
.page-section h3{font-size:22px;font-weight:700;color:var(--deep-blue);margin-bottom:16px}
.page-section p{color:var(--text-medium);line-height:1.8;margin-bottom:16px}
.product-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.product-list-grid.related-four{grid-template-columns:repeat(4,1fr)}
.product-list-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;transition:all 0.4s ease}
.product-list-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,0.12);border-color:var(--tech-blue)}
.product-list-thumb{height:200px;background:linear-gradient(135deg,#e8f1fc 0%,#d0e8f5 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.product-list-thumb .iconfont{font-size:80px;opacity:0.6}
.product-list-thumb img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2}
.product-list-body{padding:24px}
.product-list-body h4{font-size:18px;font-weight:700;color:var(--deep-blue);margin-bottom:10px}
.product-list-body p{font-size:14px;color:var(--text-medium);line-height:1.6;margin-bottom:16px}
.product-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.product-tag{padding:4px 10px;font-size:12px;border-radius:4px;background:#eef5ff;color:var(--tech-blue)}
.product-link{font-size:14px;color:var(--tech-blue);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.partner-card{background:#fff;border-radius:12px;padding:28px;border:1px solid #e5e7eb;transition:all 0.3s}
.partner-card:hover{box-shadow:0 8px 24px rgba(10,46,92,0.08);transform:translateY(-2px)}
.partner-card h3{font-size:16px;font-weight:700;color:var(--deep-blue);margin-bottom:12px}
.partner-card p{font-size:13px;color:var(--text-medium);line-height:1.8}
@media (max-width:992px){.partner-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:576px){.partner-grid{grid-template-columns:1fr}}
.doc-main{min-width:0}
.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.doc-card{background:#fff;border-radius:12px;padding:28px;border:1px solid #e5e7eb;transition:all 0.3s}
.doc-card:hover{box-shadow:0 8px 24px rgba(10,46,92,0.08);transform:translateY(-2px)}
.doc-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.doc-card-title{font-size:16px;font-weight:700;color:var(--deep-blue);line-height:1.5}
.doc-version{font-size:12px;background:#eef5ff;color:var(--tech-blue);padding:4px 10px;border-radius:4px;flex-shrink:0;margin-left:12px}
.doc-card-desc{font-size:13px;color:var(--text-medium);line-height:1.6;margin-bottom:16px}
.doc-card-foot{display:flex;justify-content:space-between;align-items:center}
.doc-date{font-size:12px;color:var(--text-medium)}
.doc-download{font-size:13px;color:var(--tech-blue);font-weight:600}
@media (max-width:992px){.doc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:576px){.doc-grid{grid-template-columns:1fr}}

.category-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:48px;background:var(--bg-light);padding:6px;border-radius:10px;width:fit-content;margin-left:auto;margin-right:auto}
.category-tab{padding:12px 28px;font-size:15px;font-weight:600;color:var(--text-medium);border-radius:8px;cursor:pointer;transition:all 0.3s ease;background:transparent}
.category-tab.active{background:#fff;color:var(--tech-blue);box-shadow:0 2px 10px rgba(0,0,0,0.06)}
.case-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.case-list-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;transition:all 0.4s ease}
.case-list-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,0.12);border-color:var(--tech-blue)}
.case-list-cover{height:200px;background:linear-gradient(135deg,#e8f1fc 0%,#d0e8f5 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.case-list-body{padding:24px}
.case-list-client{font-size:13px;color:var(--text-medium);margin-bottom:8px}
.case-list-name{font-size:18px;font-weight:700;color:var(--deep-blue);margin-bottom:12px;line-height:1.5}
.case-list-desc{font-size:14px;color:var(--text-medium);line-height:1.6;margin-bottom:16px}
.case-list-results{display:flex;gap:16px;padding-top:16px;border-top:1px solid #f3f4f6}
.case-result{flex:1;text-align:center}
.case-result .num{font-size:22px;font-weight:700;color:var(--tech-blue)}
.case-result .label{font-size:12px;color:var(--text-medium);margin-top:2px}
.news-list{display:flex;flex-direction:column;gap:24px}
.news-list-item{display:flex;gap:28px;background:#fff;border-radius:12px;padding:28px;border:1px solid #e5e7eb;transition:all 0.3s ease}
.news-list-item:hover{box-shadow:0 10px 30px rgba(10,46,92,0.08);border-color:var(--tech-blue)}
.news-list-date{flex-shrink:0;width:100px;text-align:center;border-right:1px solid #eee;padding-right:20px;}
.news-list-date .day{font-size:46px;font-weight:700;color:var(--tech-blue);line-height:1;margin-top:10px;}
.news-list-date .month{font-size:14px;color:var(--text-medium);margin-top:4px}
.news-list-content{flex:1}
.news-list-title{font-size:20px;font-weight:700;color:var(--deep-blue);margin-bottom:10px}
.news-list-summary{font-size:14px;color:var(--text-medium);line-height:1.7}
.timeline-item{position:relative;margin-bottom:48px}
.timeline-item::before{content:'';position:absolute;left:-33px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--tech-blue);border:3px solid #fff;box-shadow:0 0 0 3px var(--tech-blue)}
.honor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.honor-card{background:#fff;border-radius:12px;padding:10px;text-align:center;border:1px solid #e5e7eb;transition:all 0.3s ease;overflow: hidden;}
.honor-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,0.12);border-color:var(--tech-blue)}
.honor-card h4{font-size:16px;font-weight:700;color:var(--deep-blue);margin-bottom:6px}
.honor-card p{font-size:13px;color:var(--text-medium)}
.faq-item{background:#fff;border-radius:10px;margin-bottom:16px;border:1px solid #e5e7eb;overflow:hidden}
.faq-question{padding:20px 24px;margin:0!important;font-size:16px!important;line-height:1.6!important;font-weight:600!important;color:var(--deep-blue);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-question::after{content:'+';font-size:24px;color:var(--tech-blue);transition:transform 0.3s}
.faq-item.open .faq-question::after{transform:rotate(45deg)}
.faq-answer{padding:0 24px;max-height:0;overflow:hidden;transition:all 0.3s ease;color:var(--text-medium);line-height:1.8}
.faq-item.open .faq-answer{padding:0 24px 20px;max-height:500px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-info-card{background:#fff;border-radius:12px;padding:40px;border:1px solid #e5e7eb}
.contact-info-item{display:flex;gap:16px;margin-bottom:28px}
.contact-info-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,rgba(26,111,214,0.1),rgba(0,194,209,0.1));display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-info-icon i{font-size:22px;color:#1A6FD6}
.contact-info-item h4{font-size:16px;font-weight:700;color:var(--deep-blue);margin-bottom:4px}
.contact-info-item p{font-size:14px;color:var(--text-medium);margin:0}
.contact-form{background:#fff;border-radius:12px;padding:40px;border:1px solid #e5e7eb}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:14px;font-weight:600;color:var(--deep-blue);margin-bottom:8px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color 0.3s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--tech-blue)}
.form-group select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239aa5b1'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.form-group textarea{resize:vertical;min-height:100px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.solution-arch{background:#fff;border-radius:16px;padding:48px;border:1px solid #e5e7eb;margin:40px 0}
.arch-layer{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.arch-layer-label{width:100px;font-size:14px;font-weight:700;color:var(--deep-blue);flex-shrink:0}
.arch-layer-items{display:flex;gap:12px;flex-wrap:wrap;flex:1}
.arch-item{padding:10px 20px;background:#f0f7ff;border-radius:6px;font-size:14px;color:var(--tech-blue);font-weight:500}
.job-list{display:flex;flex-direction:column;gap:16px}
.job-item{background:#fff;border-radius:10px;padding:24px 28px;border:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;transition:all 0.3s ease}
.job-item:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,0.12);border-color:var(--tech-blue)}
.job-info h4{font-size:18px;font-weight:700;color:var(--deep-blue);margin-bottom:6px}
.job-meta{display:flex;gap:20px;font-size:13px;color:var(--text-medium)}
.job-apply{padding:10px 24px;background:var(--tech-blue);color:#fff;border-radius:6px;font-size:14px;font-weight:600}
.cta-section{padding:80px 0;text-align:center;color:var(--text-dark);position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,0.55) 0%,rgba(255,255,255,0.10) 50%,rgba(255,255,255,0.55) 100%),url('../images/cta-bg-light.webp') center / cover no-repeat}
.cta-content{position:relative;z-index:2}
.cta-title{font-size:36px;font-weight:700;margin-bottom:12px;color:#0d1f3c}
.cta-subtitle{font-size:16px;color:#4b5563;margin-bottom:32px}
.cta-buttons{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.footer{background:var(--deep-blue);color:#fff;padding:60px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:36px;padding-bottom:40px}
.footer-col h4{font-size:16px;font-weight:700;margin-bottom:20px;position:relative;padding-bottom:12px}
.footer-col h4::after{content:'';position:absolute;bottom:0;left:0;width:32px;height:2px;background:var(--cyan)}
.footer-company-name{font-size:18px;font-weight:700;margin-bottom:10px}
.footer-company-desc{font-size:13px;opacity:0.7;line-height:1.7;margin-bottom:16px}
.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:13px;opacity:0.8}
.footer-contact-item{display:flex;align-items:flex-start;gap:8px;line-height:200%}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:14px;opacity:0.7;transition:all 0.3s}
.footer-links a::before{opacity:0.7}
.footer-links a:hover{opacity:1;color:var(--cyan);padding-left:4px}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:20px 0;text-align:center;font-size:13px;opacity:0.6}
@media (max-width:1024px){.nav-menu{display:none}
.mobile-menu-btn{display:flex}
.product-list-grid,.case-list-grid{grid-template-columns:repeat(2,1fr)}
.product-list-grid.related-four{grid-template-columns:repeat(2,1fr)}
.honor-grid{grid-template-columns:repeat(3,1fr)}
.footer-grid{grid-template-columns:repeat(2,1fr)}
.contact-grid{grid-template-columns:repeat(2,1fr);gap:24px}
.nav-menu .nav-item > a{padding:10px 8px !important;font-size:15px !important}
.nav-menu .dropdown{position:static !important;display:none;transform:none !important;background:transparent !important;box-shadow:none !important;padding:2px 0 6px 12px !important}
.nav-menu .nav-item.open .dropdown{display:block}
.nav-menu .nav-item .dropdown{opacity:1;visibility:visible;transition:none}
.nav-menu .nav-item.open > a{color:var(--cyan)}
.nav-menu .nav-item > a::before{content:'';position:absolute;right:6px;top:50%;width:7px;height:7px;border-right:2px solid rgba(255,255,255,0.85);border-bottom:2px solid rgba(255,255,255,0.85);transform:translateY(-70%) rotate(45deg);transition:transform .25s ease}
.nav-menu .nav-item.open > a::before{transform:translateY(-30%) rotate(225deg)}
.nav-menu .nav-item > a::after{display:none !important}
.nav-menu .dropdown a{padding:7px 10px !important;font-size:14px !important;color:inherit !important;opacity:0.85}
.nav-menu[style*="display: flex"]{border-radius:0 0 16px 16px}
.nav-menu .nav-item > a:hover,.nav-menu .dropdown a:hover{background:rgba(255,255,255,0.08);border-radius:8px;color:var(--cyan)}
.nav-menu[style*="display: flex"]{background:#0A2E5C !important;max-height:calc(100vh - 72px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.nav-menu[style*="display: flex"] .nav-item > a{color:#fff !important}
.nav-menu[style*="display: flex"] .dropdown a{color:rgba(255,255,255,0.85) !important}
.nav-menu .dropdown a:hover{opacity:1;padding-left:10px}
.nav-menu .dropdown a.active{color:var(--tech-blue);background:rgba(255,255,255,0.15) !important}
}@media (max-width:640px){.container{padding:0 20px}
.footer-col.dis{display:none}
.page-banner h1{font-size:28px}
.product-list-grid,.case-list-grid{grid-template-columns:1fr}
.product-list-grid.related-four{grid-template-columns:1fr}
.honor-grid{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:1fr}
.form-row{grid-template-columns:1fr}
.news-list-item{flex-direction:column;gap:16px}
.news-list-date{display:flex;align-items:baseline;gap:8px;width:auto}
div[style*="grid-template-columns:1fr 300px"]{grid-template-columns:1fr !important;gap:32px !important}
div[style*="position:sticky"]{position:static !important}
div[style*="grid-template-columns:repeat(4,1fr)"],div[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr) !important;gap:20px !important}
.category-tabs{flex-wrap:wrap;width:100%;max-width:100%;gap:6px}
.category-tab{padding:10px 14px;font-size:14px;flex:1 1 auto;text-align:center}
}@media (max-width:480px){div[style*="grid-template-columns:repeat(4,1fr)"],div[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr !important}
}.search-overlay{position:fixed;top:70px;left:0;right:0;z-index:1500;background:#fff;box-shadow:0 8px 32px rgba(10,46,92,0.15);border-top:1px solid #e5e7eb;transform:translateY(-110%);opacity:0;visibility:hidden;transition:all 0.35s cubic-bezier(0.4,0,0.2,1)}
.search-overlay.active{transform:translateY(0);opacity:1;visibility:visible}
.search-overlay-inner{max-width:1200px;margin:0 auto;padding:28px 32px}
.search-close{position:absolute;top:20px;right:24px;width:36px;height:36px;border-radius:50%;background:#f3f4f6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s}
.search-close:hover{background:#e5e7eb;transform:rotate(90deg)}
.search-close .iconfont{font-size:16px;color:#6b7280}
.search-input-wrap{position:relative;margin-bottom:20px;max-width:720px;margin-left:auto;margin-right:auto}
.search-input-wrap input{width:100%;padding:16px 56px 16px 24px;font-size:16px;color:var(--deep-blue);background:#f8fafc;border:2px solid #e5e7eb;border-radius:10px;outline:none;transition:all 0.3s;box-sizing:border-box}
.search-input-wrap input::placeholder{color:#9ca3af}
.search-input-wrap input:focus{border-color:var(--tech-blue);background:#fff;box-shadow:0 0 0 3px rgba(26,111,214,0.1)}
.search-input-wrap .search-submit{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:8px;background:var(--tech-blue);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s}
.search-input-wrap .search-submit:hover{background:var(--deep-blue)}
.search-input-wrap .search-submit .iconfont{font-size:18px;color:#fff}
.search-hot{max-width:720px;margin:0 auto}
.search-hot-title{font-size:13px;color:#9ca3af;margin-bottom:12px;letter-spacing:0.5px}
.search-hot-tags{display:flex;flex-wrap:wrap;gap:10px}
.search-hot-tag{padding:8px 16px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;font-size:13px;color:#6b7280;cursor:pointer;transition:all 0.3s}
.search-hot-tag:hover{background:var(--tech-blue);border-color:var(--tech-blue);color:#fff}
.search-icon{cursor:pointer}
.search-overlay-backdrop{position:fixed;top:70px;left:0;right:0;bottom:0;z-index:1499;background:rgba(0,0,0,0.3);opacity:0;visibility:hidden;transition:all 0.3s}
.search-overlay-backdrop.active{opacity:1;visibility:visible}
html,body{overflow-x:hidden;overflow-x:clip}
@media (min-width:1025px){.nav-menu{position:static !important;top:auto !important;left:auto !important;right:auto !important;flex-direction:row !important;background:transparent !important;padding:0 !important;box-shadow:none !important}
}.detail-overview{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;margin-bottom:24px}
.detail-overview-text h2{font-size:28px;font-weight:700;color:var(--deep-blue);margin-bottom:16px}
.detail-overview-text p{font-size:15px;line-height:1.9;color:var(--text-medium);margin-bottom:16px}
.detail-overview-img{border-radius:12px;overflow:hidden;}
.detail-overview-img img{width:100%;height:auto;max-height:420px;object-fit:cover;display:block}
.detail-overview-img:hover {box-shadow:0 12px 36px rgba(10,46,92,0.12)}
.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:48px 0 20px}
.detail-stat{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:28px 20px;text-align:center;transition:all 0.3s ease}
.detail-stat:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(10,46,92,0.1)}
.detail-stat .num{font-size:34px;font-weight:800;color:var(--tech-blue);line-height:1.2}
.detail-stat .label{font-size:13px;color:var(--text-medium);margin-top:8px}
.arch-flow{display:flex;justify-content:space-between;gap:28px;margin:32px 0 64px;flex-wrap:wrap}
.arch-step{flex:1;min-width:150px;background:#fff;border-radius:12px;padding:24px 20px;text-align:center;border:1px solid #e5e7eb;position:relative}
.arch-step::after{content:'→';position:absolute;right:-24px;top:50%;transform:translateY(-50%);color:var(--tech-blue);font-size:20px;z-index:2}
.arch-step:last-child::after{display:none}
.arch-step .step-no{width:32px;height:32px;border-radius:50%;margin:0 auto 12px;background:var(--tech-blue);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.arch-step h5{font-size:15px;font-weight:700;color:var(--deep-blue);margin-bottom:8px}
.arch-step p{font-size:12px;color:var(--text-medium);line-height:1.6}
.detail-pain{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}
.detail-pain .pain-item{background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb;display:flex;gap:14px;align-items:flex-start}
.detail-pain .pain-ic{width:40px;height:40px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,#fde8e8 0%,#fbd5d5 100%);display:flex;align-items:center;justify-content:center;color:#e11d48}
.detail-pain .pain-ic i{font-size:20px}
.detail-pain h5{font-size:15px;font-weight:700;color:var(--deep-blue);margin-bottom:6px}
.detail-pain p{font-size:13px;color:var(--text-medium);line-height:1.7}
.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}
.result-card{background:linear-gradient(135deg,#0a2e5c 0%,#1a6fd6 100%);border-radius:12px;padding:32px 20px;text-align:center;color:#fff}
.result-card .num{font-size:36px;font-weight:800;color:#00e5ff;line-height:1.2}
.result-card .label{font-size:13px;opacity:0.85;margin-top:8px}
.detail-timeline{position:relative;padding-left:28px;margin:32px 0 64px}
.detail-timeline::before{content:'';position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--tech-blue),var(--cyan))}
.timeline-item{position:relative;padding-bottom:28px}
.timeline-item:last-child{padding-bottom:0}
.timeline-item::before{content:'';position:absolute;left:-24px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--tech-blue)}
.timeline-item h5{font-size:15px;font-weight:700;color:var(--deep-blue);margin-bottom:6px}
.timeline-item p{font-size:13px;color:var(--text-medium);line-height:1.7}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:40px}
.related-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;transition:all 0.3s ease}
.related-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,0.12);border-color:var(--tech-blue)}
.related-card .r-cover{height:160px;overflow:hidden}
.related-card .r-cover img{width:100%;height:100%;object-fit:cover}
.related-card .r-body{padding:20px 24px}
.related-card .r-body h4{font-size:16px;font-weight:700;color:var(--deep-blue);margin-bottom:8px}
.related-card .r-body p{font-size:13px;color:var(--text-medium);line-height:1.6;margin-bottom:12px}
.related-card .r-body a{font-size:13px;color:var(--tech-blue);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.related-card .r-body a i{font-size:12px;transition:transform .3s ease}
.related-card .r-body a:hover{color:var(--deep-blue)}
.related-card .r-body a:hover i{transform:translateX(3px)}
.detail-section-title{font-size:24px;font-weight:700;color:var(--deep-blue);text-align:center;margin-bottom:12px;position:relative}
.detail-section-sub{text-align:center;color:var(--text-medium);font-size:14px;margin-bottom:40px}
@media (max-width:768px){.detail-overview{grid-template-columns:1fr;gap:28px}
.detail-overview-img{display:block}
.detail-overview-img img{max-height:100%}
.detail-stats{grid-template-columns:1fr}
.detail-pain{grid-template-columns:1fr}
.result-grid{grid-template-columns:repeat(2,1fr)}
.related-grid{grid-template-columns:1fr}
.arch-flow{flex-direction:column}
.arch-step::after{display:none}
}@media (max-width:768px){.category-tabs{flex-wrap:wrap;width:100%;max-width:100%;gap:6px}
.category-tab{flex:0 0 auto;padding:10px 16px;font-size:14px}
}@media (max-width:640px){.nav-logo .en{display:none}
.nav-logo img{width:auto;height:36px}
.nav-logo .cn{font-size:15px}
.nav-consult{padding:2px 10px;font-size:13px;white-space:nowrap;flex-shrink:0}
.nav-right{gap:10px}
.category-tab{padding:9px 12px;font-size:13px}
}@media (max-width:480px){.nav-consult{padding:2px 10px;font-size:12px}
.category-tab{padding:8px 10px;font-size:12px}
}@media (max-width:768px){.product-tabs,.case-tabs,.category-tabs{flex-wrap:nowrap !important;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;width:100%;max-width:100%;scrollbar-width:none}
.product-tabs::-webkit-scrollbar,.case-tabs::-webkit-scrollbar,.category-tabs::-webkit-scrollbar{display:none}
.product-tab,.case-tab,.category-tab{flex:0 0 auto !important;white-space:nowrap}
}.case-list-cover img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2}
.case-list-cover::after{display:none}
.detail-timeline.hz{display:flex;justify-content:space-between;gap:24px;padding-left:0}
.detail-timeline.hz::before{left:24px;right:24px;top:5px;bottom:auto;width:auto;height:2px}
.detail-timeline.hz .timeline-item{flex:1;padding-bottom:0;padding-top:32px;text-align:center}
.detail-timeline.hz .timeline-item::before{left:50%;top:0;transform:translateX(-50%)}
@media (max-width:992px){.detail-timeline.hz{flex-direction:column;gap:0}
.detail-timeline.hz::before{left:8px;right:auto;top:6px;bottom:6px;width:2px}
.detail-timeline.hz .timeline-item{text-align:left;padding-bottom:28px;padding-left:28px;padding-top:0}
.detail-timeline.hz .timeline-item::before{left:0;top:4px;transform:none}
}.arch-premium{background:#fff;border:1px solid #E3EDF9;border-radius:20px;padding:52px 48px;box-shadow:0 24px 50px -24px rgba(26,111,214,0.16)}
.arch-premium .arch-layer{position:relative;display:flex;align-items:center;gap:20px;margin-bottom:28px;padding:18px 26px;border:1px solid #D9E8FA;border-radius:12px;background:linear-gradient(180deg,#F8FBFF 0%,#F0F7FF 100%);box-shadow:0 6px 18px -8px rgba(26,111,214,0.12)}
.arch-premium .arch-layer:last-child{margin-bottom:0}
.arch-premium .arch-layer:not(:last-child)::after{content:'↓';position:absolute;left:50%;bottom:-25px;transform:translateX(-50%);color:#7EA8D9;font-size:18px;line-height:1;z-index:2}
.arch-premium .arch-layer-label{position:relative;width:150px;flex-shrink:0;color:#0E4B9E;font-size:16px;font-weight:700;letter-spacing:2px;padding-left:18px;display:flex;align-items:center;min-height:30px}
.arch-premium .arch-layer-label::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:3px;background:linear-gradient(180deg,#00C2D1,#1A6FD6)}
.arch-premium .arch-layer-label::after{content:attr(data-num);position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:11px;color:#A9C6E8;letter-spacing:1px;font-weight:700}
.arch-premium .arch-item{padding:8px 18px;background:#fff;border:1px solid #C9E0F7;border-radius:999px;color:#2563A8;font-size:13.5px;font-weight:600;box-shadow:0 2px 6px rgba(26,111,214,0.08);transition:all .3s ease}
.arch-premium .arch-item:hover{background:#1A6FD6;color:#fff;border-color:#1A6FD6;transform:translateY(-2px);box-shadow:0 8px 18px -6px rgba(26,111,214,0.4)}
@media (max-width:768px){.arch-premium{padding:32px 20px}
.arch-premium .arch-layer{flex-direction:column;align-items:flex-start;gap:14px;padding:18px}
.arch-premium .arch-layer-label{width:auto}
.arch-premium .arch-layer:not(:last-child)::after{bottom:-22px}
}.stats-premium{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;background:transparent;border-radius:0;padding:0px 0;margin:30px 0 8px}
.stats-premium .stats-bar-item{text-align:center;position:relative;background:transparent;box-shadow:none;border-radius:0;padding:10px 16px;overflow:visible}
.stats-premium .stats-icon{width:80px;height:80px;margin:0 auto 18px;border-radius:50%;border:1px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center}
.stats-premium .stats-icon .iconfont{font-size:36px;color:#1A6FD6}
.stats-premium .stats-bar-num{font-size:38px;font-weight:700;color:#0F2E5C;background:none;-webkit-text-fill-color:#0F2E5C;-webkit-background-clip:initial;background-clip:initial;margin-bottom:6px;line-height:1.2}
.stats-premium .stats-bar-item:hover .stats-icon{background:#1A6FD6}
.stats-premium .stats-bar-item:hover .iconfont{color:#fff}
.stats-premium .stats-bar-label{font-size:14px;color:#6B7280}
@media (max-width:768px){.stats-premium{grid-template-columns:repeat(2,1fr);gap:28px 14px}
}.scene-card{background:#fff;border-radius:12px;padding:32px;border:1px solid #e5e7eb;margin:24px 0;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.scene-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,0.12);border-color:var(--tech-blue) !important}
.news-list-title a{color:inherit;text-decoration:none;transition:color .25s}
.news-list-title a:hover{color:var(--primary-blue)}
.news-title a{color:inherit;text-decoration:none;transition:color .25s}
.news-title a:hover{color:var(--primary-blue)}
.news-detail-wrap{width:96%;margin:0 auto}
.news-detail-head{border-bottom:1px solid var(--line,#e6ecf5);padding-bottom:24px;margin-bottom:28px;text-align:center}
.news-detail-title{font-size:32px;font-weight:700;color:var(--deep-blue);line-height:1.4;margin-bottom:14px}
.news-detail-meta{font-size:14px;color:var(--text-medium);display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.news-detail-body{font-size:16px;color:#3a4556;line-height:1.9}
.news-detail-body p{margin-bottom:18px}
.news-detail-body h2{font-size:22px;color:var(--deep-blue);margin:30px 0 14px;font-weight:700}
.news-detail-note{font-size:13px;color:#99a3b3;background:#f6f8fb;padding:10px 16px;border-radius:6px;margin-top:26px}
.news-detail-tags{margin:28px 0 22px;display:flex;gap:10px;flex-wrap:wrap}
.detail-tag{font-size:13px;color:#1A6FD6;background:#eef5ff;border:1px solid #d7e6fb;padding:5px 14px;border-radius:20px}
.news-detail-nav{border-top:1px solid var(--line,#e6ecf5);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.detail-back{font-size:14px;color:var(--primary-blue);}
@media (max-width:768px){.news-detail-title{font-size:24px}
.news-detail-meta{gap:12px}
}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.faq-grid .faq-item{margin-bottom:0}
@media (max-width:768px){.faq-grid{grid-template-columns:1fr}
}.page-banner.banner-about-company{background-image:url('../images/about-company-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.search-page-box{max-width:1440px;margin:0 auto 36px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:28px 32px;box-shadow:0 2px 12px rgba(15,82,186,.05)}
.search-page-form{display:flex;align-items:center;gap:12px;border:2px solid #0f52ba;border-radius:50px;padding:6px 8px 6px 20px;transition:box-shadow .3s}
.search-page-form:focus-within{box-shadow:0 0 0 4px rgba(15,82,186,.12)}
.search-page-form-icon{font-size:20px;color:#0f52ba;flex:none}
.search-page-form input{flex:1;border:none;outline:none;font-size:16px;color:#1f2937;background:transparent;min-width:0}
.search-page-submit{flex:none;background:#0f52ba;color:#fff;border:none;border-radius:50px;padding:10px 30px;font-size:15px;cursor:pointer;transition:background .3s}
.search-page-submit:hover{background:#0a3f8f}
.search-page-hot{margin-top:16px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px}
.search-page-hot-label{color:#6b7280}
.search-page-tag{color:#0f52ba;background:#eef4ff;border:1px solid #d6e4ff;border-radius:50px;padding:4px 14px;text-decoration:none;transition:all .3s}
.search-page-tag:hover{background:#0f52ba;color:#fff}
.search-result-head{max-width:1440px;margin:0 auto 20px}
.search-result-title{font-size:16px;color:#374151;padding-left:4px;border-left:4px solid #0f52ba;line-height:1.4}
.search-result-title b{color:#0f52ba;font-size:18px}
.search-result-list{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.search-result-item{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:22px 26px;text-decoration:none;transition:all .3s;position:relative}
.search-result-item:hover{border-color:#0f52ba;box-shadow:0 6px 20px rgba(15,82,186,.10);transform:translateY(-2px)}
.search-result-cat{display:inline-block;font-size:12px;color:#0f52ba;background:#eef4ff;border-radius:4px;padding:2px 10px;margin-bottom:10px}
.search-result-title2{font-size:17px;font-weight:600;color:#111827;margin-bottom:8px}
.search-result-desc{font-size:14px;color:#6b7280;line-height:1.7;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-result-link{font-size:13px;color:#0f52ba;display:inline-flex;align-items:center;gap:4px}
.search-result-link .iconfont{font-size:13px;transition:transform .3s}
.search-result-item:hover .search-result-link .iconfont{transform:translateX(4px)}
.search-result-empty{background:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:60px 20px;text-align:center}
.search-result-empty .iconfont{font-size:40px;color:#9ca3af;display:inline-block;margin-bottom:12px}
.search-result-empty p{color:#6b7280;font-size:14px}
@media (max-width:768px){.search-page-box{padding:20px;border-radius:10px}
.search-page-form{border-radius:40px;padding:4px 6px 4px 14px}
.search-page-submit{padding:9px 18px;font-size:14px}
.search-result-item{padding:16px 18px}

}.about-wrap{max-width:900px;margin:0 auto}
.about-title{text-align:center;margin-bottom:32px}
.about-culture-title{text-align:center;margin-bottom:48px}
.culture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.culture-card{background:#fff;border-radius:12px;padding:32px;text-align:center;border:1px solid #e5e7eb;transition:all 0.4s ease}
.culture-card-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}
.culture-card-icon i {font-size:26px;}
.culture-card-icon.c1{background:linear-gradient(135deg,rgba(26,111,214,0.1),rgba(0,194,209,0.1));color:var(--tech-blue)}
.culture-card-icon.c2{background:linear-gradient(135deg,rgba(0,181,120,0.1),rgba(0,194,209,0.1));color:var(--eco-green)}
.culture-card-icon.c3{background:linear-gradient(135deg,rgba(0,194,209,0.1),rgba(26,111,214,0.1));color:var(--cyan)}
.culture-card-icon.c4{background:linear-gradient(135deg,rgba(139,92,246,0.1),rgba(26,111,214,0.1));color:#8B5CF6}
.culture-card h3{font-size:18px;margin-bottom:8px}
.culture-card p{font-size:14px;color:var(--text-medium)}
.ability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ability-card{border-radius:16px;padding:40px;color:#fff;transition:all 0.4s ease}
.ability-card.b1{background:linear-gradient(135deg,#0A2E5C,#1A6FD6)}
.ability-card.b2{background:linear-gradient(135deg,#0e7490,#00C2D1)}
.ability-card.b3{background:linear-gradient(135deg,#065f46,#00B578)}
.ability-card h3{color:#fff;margin-bottom:16px}
.ability-card p{color:rgba(255,255,255,0.8);font-size:14px;line-height:1.8}
@media (max-width:900px){.culture-grid{grid-template-columns:repeat(2,1fr)}
.ability-grid{grid-template-columns:1fr}
}@media (max-width:600px){.culture-grid{grid-template-columns:1fr}
}.page-banner.banner-product-ai{background-image:url('../images/product-ai-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-product-hardware{background-image:url('../images/product-hardware-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-product-group{background-image:url('../images/product-group-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}
.page-banner.banner-search{background-image:url('../images/search-banner.webp'),var(--gradient-banner);background-size:cover,auto;background-position:center,center;background-blend-mode:soft-light,normal}

/* ===== 返回顶部 ===== */
.back-top {
  position: fixed; right: 24px; bottom: 40px; width: 44px; height: 44px;
  border: none; border-radius: 50%; cursor: pointer; z-index: 999;
  display: flex; align-items: center; justify-content: center;
  background:#fff; color: #1A6FD6;
  font-size: 20px; font-style: normal;
  box-shadow: 0 6px 16px rgba(10,63,160,0.35);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity .3s, transform .3s, visibility .3s, background .3s;
}
.back-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.back-top:hover { background: linear-gradient(135deg, #2b7bff, #1250c0); transform: translateY(-2px);color: #fff; }
@media (max-width: 768px) {
  .back-top { right: 14px; bottom: 24px; width: 40px; height: 40px; font-size: 18px; }
}

/* ===== 服务体系页 ===== */
.service-intro { max-width: 800px; margin: 0 auto 60px; text-align: center; }
.service-intro h2 { margin-bottom: 16px; }
.service-intro p { color: var(--text-medium); line-height: 1.7; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-bottom:20px; }
.service-card { background: #fff; border-radius: 12px; padding: 32px; text-align: center; border: 1px solid #e5e7eb; transition: all .3s; }
.service-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(10,46,92,.08); border-color:var(--tech-blue)}
.service-icon { width: 56px; height: 56px; margin: 0 auto 16px; border-radius: 50%; background: #eee; display: flex; align-items: center; justify-content: center; }
.service-icon i { font-size: 26px; color: var(--tech-blue); }
.service-card h3 { font-size: 18px; margin-bottom: 10px; }
.service-card p { font-size: 13px; color: var(--text-medium); line-height: 1.6; }
.service-section-title { text-align: center; margin-bottom: 48px; }
.service-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.service-promise { background: linear-gradient(135deg, #0A2E5C, #1A6FD6); border-radius: 12px; padding: 32px; color: #fff; }
.service-promise h3 { color: #fff; margin-bottom: 12px; }
.service-promise p { color: rgba(255,255,255,.8); font-size: 14px; line-height: 1.7; }
.service-note { text-align: center; max-width: 700px; margin: 0 auto; color: var(--text-medium); }
@media (max-width: 768px) {
  .service-grid, .service-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .service-grid, .service-grid-3 { grid-template-columns: 1fr; }
}

.ability-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,0.12)}
.culture-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,0.12);border-color:var(--tech-blue)}
/* 职位详情页 */
.job-detail-back{display:inline-flex;align-items:center;gap:6px;color:var(--tech-blue);font-size:14px;margin-bottom:28px;text-decoration:none;transition:color .3s ease}
.job-detail-back:hover{color:var(--deep-blue)}
.job-detail-head{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;margin-bottom:24px}
.job-detail-head h2{font-size:26px;color:var(--deep-blue);margin-bottom:20px}
.job-detail-meta{display:flex;flex-wrap:wrap;gap:12px}
.job-detail-meta span{display:inline-flex;align-items:center;gap:6px;background:#f5f8fc;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;font-size:13px;color:var(--text-medium)}
.job-detail-meta .iconfont{color:var(--tech-blue);font-size:15px}
.job-detail-meta b{color:var(--deep-blue);font-weight:600}
.job-detail-block{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;margin-bottom:24px}
.job-detail-block h3{font-size:18px;color:var(--deep-blue);margin-bottom:16px;position:relative;padding-left:14px}
.job-detail-block h3::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:2px;background:var(--tech-blue)}
.job-detail-block ul{list-style:none;padding:0;margin:0}
.job-detail-block li{position:relative;padding-left:18px;font-size:14px;line-height:1.9;color:var(--text-medium)}
.job-detail-block li::before{content:'';position:absolute;left:2px;top:13px;width:6px;height:6px;border-radius:50%;background:var(--tech-blue)}
.job-detail-apply{background:linear-gradient(135deg,#f5f9ff,#eaf4fc);border:1px solid #d7e8fa;border-radius:12px;padding:32px;text-align:center}
.job-detail-apply h3{font-size:18px;color:var(--deep-blue);margin-bottom:14px}
.job-detail-apply p{font-size:14px;color:var(--text-medium);line-height:1.9;margin-bottom:6px}
.job-detail-apply strong{color:var(--deep-blue)}
.job-detail-apply .btn{margin-top:18px}
@media (max-width:768px){
  .job-detail-head{padding:24px 20px}
  .job-detail-block{padding:24px 20px}
  .job-detail-meta span{width:100%;justify-content:flex-start}
}

.job-info h4 a{color:inherit;text-decoration:none;transition:color .3s ease}
.job-info h4 a:hover{color:var(--tech-blue)}

/* 加入我们 */
.jobs-intro{max-width:800px;margin:0 auto 60px;text-align:center}
.jobs-title{text-align:center;margin-bottom:32px}
.jobs-contact{text-align:center;margin-top:40px}
.jobs-contact p{color:var(--text-medium);margin-bottom:16px}
.jobs-contact strong{color:var(--deep-blue)}
.jobs-contact .jobs-phone{font-size:14px;margin-bottom:0}

/* 新闻资讯 */
.news-layout{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}
.news-sidebar{position:sticky;top:100px}
.news-widget{background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb}
.news-widget + .news-widget{margin-top:24px}
.news-widget h4{font-size:16px;font-weight:700;color:var(--deep-blue);margin-bottom:16px}
.news-cat{display:flex;flex-direction:column;gap:10px}
.news-cat a{font-size:14px;color:var(--text-medium);padding:8px 0;border-bottom:1px solid #f3f4f6;text-decoration:none;transition:color .3s ease}
.news-cat a:hover{color:var(--tech-blue)}
.news-cat a.active{color:var(--tech-blue);font-weight:700}
.news-cat a.active::before{content:'';display:inline-block;width:4px;height:14px;border-radius:2px;background:var(--tech-blue);margin-right:8px;vertical-align:-1px}
.news-cat a:last-child{border-bottom:none}
.news-hot{display:flex;flex-direction:column;gap:12px}
.news-hot a{font-size:14px;color:var(--text-medium);line-height:1.5;text-decoration:none;transition:color .3s ease}
.news-hot a:hover{color:var(--tech-blue)}
.news-more{text-align:center;margin-top:48px}
.news-detail-breadcrumb{margin:30px 0}
@media (max-width:992px){
  .news-layout{grid-template-columns:1fr}
  .news-sidebar{position:static;margin-top:40px}
}

/* 解决方案 */
.solutions-intro{max-width:900px;margin:0 auto 60px;text-align:center}
.solutions-intro p,.about-wrap p {text-indent:2em;text-align:left;}
.solutions-title{text-align:center;margin-bottom:48px}
.scene-card h3{margin-bottom:12px}
.scene-card p{margin-bottom:20px}
.scene-card .arch-layer-items{gap:10px}
.scene-card .product-link{margin-top:16px}
.case-list-body .product-link{margin-top:12px}
.fp-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;cursor:pointer;transition:all .3s ease}
.fp-dot.active{width:26px;border-radius:5px;background:var(--gradient-cyan)}

/* ===== 智慧水厂详情页（最小新增） ===== */
.hero-points{display:flex;justify-content:center;gap:16px;margin-top:24px;flex-wrap:wrap}
.hero-point{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);color:#fff;padding:8px 22px;border-radius:24px;font-size:14px;letter-spacing:2px}
.pw-table{background:#fff;border-radius:0;border:1px solid #e5e7eb;overflow-x:auto;padding:0;margin-bottom:24px}
.pw-table table{width:100%;border-collapse:collapse;min-width:640px}
.pw-table th,.pw-table td{padding:14px 18px;font-size:14px;border-bottom:1px solid #eef0f3;text-align:left;color:var(--text-medium);line-height:1.7}
.pw-table thead th{background:var(--gradient-deep);color:#fff;font-weight:600}
.pw-table thead th:first-child{width:18%}
.pw-table tbody tr:last-child td{border-bottom:none}
.pw-table tbody tr:hover td{background:#f8fafc}
.pw-table td:first-child{font-weight:600;color:var(--text-dark)}
.pw-table td:nth-child(3){color:var(--tech-blue);font-weight:500}
.pw-table th{width:24%;color:var(--text-dark);font-weight:600;background:#f8fafc}
.service-card img{width:100%;border-radius:8px;margin-bottom:16px;display:block;border:1px solid #eef0f3}

.cl-tags{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cl-tag{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px 24px;transition:all .3s ease}
.cl-tag i{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(0,194,209,.12),rgba(26,111,214,.12));color:var(--tech-blue);font-size:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cl-tag span{font-size:15px;font-weight:600;color:var(--text-dark)}
.cl-tag:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 12px 28px rgba(0,194,209,.14)}
.cl-tag:hover i{background:var(--gradient-cyan);color:#fff}
@media(max-width:1024px){.cl-tags{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.cl-tags{grid-template-columns:1fr}}
.hw-list{margin:0;padding:0;list-style:none}
.hw-list li{padding:7px 0 7px 18px;position:relative;font-size:14px;color:var(--text-medium);line-height:1.6}
.hw-list li::before{content:'';position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--tech-blue)}
.hw-list li:hover{color:var(--deep-blue)}
.product-list-card-full{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch}
.product-list-card-full .product-list-thumb{height:auto;min-height:240px}
.product-list-card-full .product-list-body{padding:36px 40px;display:flex;flex-direction:column;justify-content:center}
.product-list-card-full .product-list-body h4{font-size:22px;margin-bottom:12px}
.product-list-card-full .product-list-body p{font-size:15px;margin-bottom:20px}
@media (max-width:768px){.product-list-card-full{grid-template-columns:1fr}.product-list-card-full .product-list-thumb{height:200px;min-height:0}}
.agent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.agent-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:0;position:relative;overflow:hidden;transition:all .3s ease;display:grid;grid-template-columns:300px 1fr;align-items:stretch}
.agent-card::after{content:'';position:absolute;right:-46px;top:-46px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(26,111,214,.10),transparent 70%)}
.agent-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,.12);border-color:var(--tech-blue)}
.agent-card h3{font-size:19px;font-weight:700;color:var(--deep-blue);margin:0}
.agent-desc{font-size:13px;color:var(--text-medium);line-height:1.7;margin-bottom:16px}
.agent-card .product-tags{margin-bottom:0;gap:8px}
.agent-card .product-tag{padding:4px 10px;font-size:12px;border-radius:4px;background:#eef5ff;color:var(--tech-blue)}
@media (max-width:768px){.agent-grid{grid-template-columns:1fr}.agent-card{grid-template-columns:1fr}.agent-card-body{padding:24px 26px}}
.agent-card-img{overflow:hidden}
.agent-card-img img{width:100%;height:100%;min-height:240px;object-fit:cover;display:block}
.agent-card-body{padding:28px 32px;display:flex;flex-direction:column;justify-content:center}
.agent-card h3{margin-bottom:14px}
/* ===== products-hardware 响应式增强 ===== */
@media (max-width:1024px){
  .agent-card{grid-template-columns:220px 1fr;gap:20px}
  .agent-card-body{padding:22px 24px}
  .product-list-card-full{grid-template-columns:repeat(3,1fr);gap:28px}
  .product-list-card-full .product-list-body{padding:28px 30px}
}
@media (max-width:768px){
  .agent-card{grid-template-columns:1fr}
  .agent-card-img img{height:180px;min-height:180px}
  .product-list-card-full{grid-template-columns:1fr}
  .product-list-card-full .product-list-body{padding:24px 26px}
}
@media (max-width:480px){
  .agent-card-body{padding:20px 22px}
  .agent-card h3{font-size:18px}
  .agent-card .product-tag{font-size:12px}
  .product-list-card-full .product-list-thumb{height:180px;min-height:0}
  .product-list-card-full .product-list-body{padding:20px 22px}
  .product-list-card-full .product-list-body h4{font-size:19px}
  .product-list-card-full .product-list-body p{font-size:14px}
}
/* ===== products-hardware 页（body.page-hardware）产品简介3行截断 ===== */
body.page-hardware .product-list-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* ===== 产品卡图片与标题链接 ===== */
.product-list-thumb a{display:block;width:100%;height:100%}
.product-list-card:hover .product-list-thumb img{transform:scale(1.03);-webkit-transition:all ease .4s;-moz-transition:all ease .4s;-ms-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s}
.product-list-body h4 a{color:inherit;transition:color 0.25s}
.product-list-body h4 a:hover{color:var(--tech-blue)}
.agent-card-body h3 a{color:inherit;transition:color 0.25s}
.agent-card-body h3 a:hover{color:var(--tech-blue)}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.rel-grid .scene-card{margin:0;padding:28px}
@media(max-width:992px){.rel-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){.rel-grid{grid-template-columns:1fr}}
/* 解决方案页响应式完善 */
@media (max-width:768px){.case-list-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media (max-width:640px){.case-list-grid{grid-template-columns:1fr;gap:16px}}
@media (max-width:768px){.page-banner{padding:110px 0 52px}.page-banner h1{font-size:32px}}
@media (max-width:480px){.page-banner{padding:96px 0 44px}.page-banner h1{font-size:26px}.page-banner p{font-size:15px}.breadcrumb{font-size:12px}}
@media (max-width:480px){.case-list-results{gap:8px}.solutions-intro{margin-bottom:36px}}
@media (max-width:768px){.case-list-cover{height:190px}}
@media (max-width:480px){.case-list-cover{height:160px}}
.case-list-cover a{display:block;width:100%;height:100%}
.case-list-card:hover .case-list-cover img{transform:scale(1.03);-webkit-transition:all ease .4s;-moz-transition:all ease .4s;-ms-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s}

.product-slogan{font-size:15px;color:var(--tech-blue) !important;margin:0 0 10px;font-weight:400;}
.product-points{list-style:none;padding:12px 0 0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px dashed #e5e7eb}
.product-points li{font-size:13px;color:var(--text-dark);padding:8px 10px 8px 26px;position:relative;line-height:1.5;background:#f4f8ff;border:1px solid #e6effc;border-radius:8px}
.product-points li::before{content:"﹥";position:absolute;left:12px;top:9px;color:var(--tech-blue);font-size:12px;font-weight:700}
.product-points li:hover{border-color:var(--tech-blue);background:#eaf3ff}
@media(max-width:576px){.product-points{grid-template-columns:1fr}}


/* ===== 典型案例栏目 ===== */
.cases-hero-data{display:flex;justify-content:center;gap:48px;margin-top:36px;position:relative;z-index:2}
.hero-stat .num{font-size:40px;font-weight:800;color:#fff;line-height:1.1}
.hero-stat .label{font-size:14px;opacity:.85;margin-top:6px}
.cat-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.cat-card{position:relative;background:#fff;border:1px solid #eef2f7;border-radius:16px;padding:20px 22px 24px;display:flex;flex-direction:column;gap:12px;text-decoration:none;overflow:hidden;box-shadow:0 4px 16px rgba(10,46,92,.06);transition:all .35s ease}
.cat-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(10,46,92,.12)}
.cat-index{font-size:34px;font-weight:800;color:rgba(10,46,92,.08);line-height:1;letter-spacing:2px}
.cat-title-row{display:flex;align-items:baseline;gap:10px}
.cat-name{font-size:17px;font-weight:700;color:#0A2E5C}
.cat-badge{font-size:11px;color:#fff;padding:2px 10px;border-radius:20px;font-weight:700;white-space:nowrap}
.cat-card.cat-province .cat-badge{background:#11998e}
.cat-card.cat-city .cat-badge{background:#e13f2a}
.cat-card.cat-county .cat-badge{background:#4764e3}
.cat-card.cat-enterprise .cat-badge{background:#667eea}
.cat-card.cat-it .cat-badge{background:#0A2E5C}
.cat-desc{font-size:13px;color:#5a6b7f;line-height:1.7;margin:0;flex:1}
.cat-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#1f74e9;font-weight:700;margin-top:auto}
.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.featured-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;text-decoration:none;display:block;transition:all .3s ease}
.featured-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(10,46,92,.12);border-color:var(--tech-blue)}
.featured-cover{height:150px;overflow:hidden}
.featured-cover img{width:100%;height:100%;object-fit:cover;display:block}
.featured-body{padding:20px}
.featured-client{font-size:12px;color:var(--text-medium)}
.featured-body h4{font-size:16px;font-weight:700;color:var(--deep-blue);margin:6px 0 8px;line-height:1.5}
.featured-body p{font-size:13px;color:var(--text-medium);line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.featured-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--tech-blue);font-weight:600}
.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.logo-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px 16px;text-align:center;transition:all .3s ease}
.logo-item b{display:block;font-size:15px;color:var(--deep-blue);margin-bottom:6px}
.logo-item span{font-size:12px;color:var(--text-medium)}
.logo-item:hover{border-color:var(--tech-blue);box-shadow:0 10px 30px rgba(10,46,92,.08)}
.cases-layout{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
.case-sidebar{position:sticky;top:100px}
.side-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:24px}
.side-title{font-size:16px;font-weight:700;color:var(--deep-blue);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--bg-light);position:relative}
.side-title::after{content:'';position:absolute;left:0;bottom:-2px;width:32px;height:2px;background:var(--tech-blue)}
.side-list{list-style:none;padding:0;margin:0}
.side-link{margin-bottom:14px}
.side-link:last-child{margin-bottom:0}
.side-link a{display:flex;align-items:center;gap:12px;text-decoration:none}
.side-rank{flex:0 0 28px;height:28px;line-height:28px;text-align:center;background:var(--bg-light);color:var(--tech-blue);font-weight:700;font-size:13px;border-radius:8px}
.side-txt{flex:1;min-width:0}
.side-txt b{display:block;font-size:14px;color:var(--deep-blue);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-txt i{font-style:normal;font-size:12px;color:var(--text-medium)}
.side-link a:hover .side-txt b{color:var(--tech-blue)}
.case-pagination{display:flex;justify-content:center;gap:10px;margin-top:48px}
.pag-current,.pag-link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border-radius:8px;font-size:14px;font-weight:600}
.pag-current{background:var(--tech-blue);color:#fff}
.pag-link{background:#fff;border:1px solid #e5e7eb;color:var(--text-medium);text-decoration:none;transition:all .3s ease}
.pag-link:hover{border-color:var(--tech-blue);color:var(--tech-blue)}
.case-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.detail-para{font-size:15px;line-height:1.9;color:var(--text-medium);margin-bottom:40px}
.rel-products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}
.rel-product{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px;text-decoration:none;transition:all .3s ease}
.rel-product:hover{border-color:var(--tech-blue);box-shadow:0 10px 30px rgba(10,46,92,.08)}
.rel-product i{color:var(--tech-blue);font-size:20px}
.rel-product span{flex:1;font-size:14px;font-weight:600;color:var(--deep-blue)}
.rel-product em{font-style:normal;font-size:12px;color:var(--tech-blue)}
.quote-card{background:linear-gradient(135deg,#f0f7ff 0%,#e8f1fc 100%);border-left:4px solid var(--tech-blue);border-radius:12px;padding:28px 32px;margin-bottom:40px}
.quote-text{font-size:16px;line-height:1.9;color:var(--deep-blue);margin-bottom:16px}
.quote-author{font-size:13px;color:var(--text-medium);text-align:right}
@media (max-width:1100px){.cat-cards{grid-template-columns:repeat(3,1fr)}.featured-grid{grid-template-columns:repeat(2,1fr)}.logo-wall{grid-template-columns:repeat(3,1fr)}.rel-products{grid-template-columns:repeat(2,1fr)}.cases-layout{grid-template-columns:1fr}}
@media (max-width:640px){.cat-cards{grid-template-columns:1fr}.featured-grid{grid-template-columns:1fr}.logo-wall{grid-template-columns:repeat(2,1fr)}.cases-hero-data{gap:24px}.hero-stat .num{font-size:30px}.rel-products{grid-template-columns:1fr}.case-sidebar{position:static}}

/* 图文版侧边栏（列表页） */
.side-case{display:flex;gap:12px;padding:10px;border-radius:10px;border:1px solid #eef1f5;background:#fbfcfe;margin-bottom:10px;text-decoration:none;transition:all .3s ease}
.side-case:last-child{margin-bottom:0}
.side-case:hover{border-color:var(--tech-blue);box-shadow:0 8px 20px rgba(10,46,92,.08)}
.side-case-cover{flex:0 0 86px;height:64px;border-radius:8px;overflow:hidden}
.side-case-cover img{width:100%;height:100%;object-fit:cover;display:block}
.side-case-body{flex:1;min-width:0}
.side-case-body b{display:block;font-size:13px;font-weight:700;color:var(--deep-blue);line-height:1.4;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-case-body i{display:block;font-style:normal;font-size:11px;color:var(--text-medium);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-case-body p{font-size:11px;color:var(--text-light);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 案例列表下方横排版块（热门案例 / 相关解决方案，复用产品中心卡片） */
.case-extra-row{margin-bottom:44px}
.case-extra-row:last-child{margin-bottom:0}
.case-extra-row .section-subtitle{margin-bottom:46px}
.case-extra-row .product-tags{margin-bottom:12px}
.case-extra-row .product-list-grid{grid-template-columns:repeat(4,1fr);gap:20px}
.case-extra-row .product-list-card{display:block;text-decoration:none;height:100%}
.case-extra-row .product-list-body h4{font-size:15px}
.case-extra-row .product-list-body p{font-size:13px}
@media (max-width:1100px){.case-extra-row .product-list-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.case-extra-row .product-list-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.case-extra-row .product-list-grid{grid-template-columns:1fr}}

/* solution 场景卡整卡链接 */
.scene-card-link{display:block;text-decoration:none;color:inherit}

.rel-grid-4{grid-template-columns:repeat(4,1fr);gap:16px}
.rel-grid-4 .scene-card{padding:20px}
@media (max-width:768px){.rel-grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.rel-grid-4{grid-template-columns:1fr}}

/* about-history 蓝色居中轴时间线 */
.history-wrap{position:relative;margin-top:48px}
.ht-line{position:relative}
.ht-line::before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:2px;background:rgba(26,111,214,.20);border-radius:2px;transform:translateX(-50%)}
.ht-item{position:relative;width:50%;padding:0 56px 40px 0}
.ht-item:nth-child(even){margin-left:50%;padding:0 0 40px 56px}
.ht-dot{position:absolute;top:6px;right:-8px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--tech-blue);box-shadow:0 0 0 4px rgba(30,111,255,.15)}
.ht-item:nth-child(even) .ht-dot{right:auto;left:-8px}
.ht-card{background:#fff;border-radius:12px;padding:24px 26px;border:1px solid #e5e7eb;box-shadow:0 6px 24px rgba(10,46,92,.06);transition:transform .3s ease,box-shadow .3s ease}
.ht-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(10,46,92,.12)}
.ht-year{display:inline-block;font-size:13px;font-weight:700;color:var(--tech-blue);background:#eef5ff;padding:4px 14px;border-radius:20px;margin-bottom:10px}
.ht-card h3{font-size:17px;font-weight:700;color:var(--deep-blue);margin-bottom:8px}
.ht-card p{font-size:13px;color:var(--text-medium);line-height:1.7;margin:0}
@media (max-width:768px){
  .ht-line::before{left:20px;transform:none}
  .ht-item,.ht-item:nth-child(even){width:100%;margin-left:0;padding:0 0 32px 52px}
  .ht-dot,.ht-item:nth-child(even) .ht-dot{right:auto;left:12px}
}
/* service-contact 联系我们响应式 */
@media (max-width:768px){
  .contact-grid{grid-template-columns:1fr;gap:24px}
  .contact-info-card,.contact-form{padding:24px}
  .contact-info-item{margin-bottom:20px}
  .contact-info-icon{width:42px;height:42px}
  .contact-info-item img{max-width:100%;height:auto}
}


.case-list-empty{padding:48px 24px;text-align:center;color:var(--text-medium);font-size:15px;background:#fff;border-radius:10px;border:1px dashed var(--border-color)}

/* ===== 技术文档下载弹窗 ===== */
.doc-modal-overlay{position:fixed;inset:0;background:rgba(10,32,60,0.55);z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.doc-modal-overlay.active{opacity:1;visibility:visible}
.doc-modal{width:100%;max-width:560px;background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(10,46,92,0.24);padding:34px 32px 30px;position:relative;transform:translateY(16px);transition:transform .3s ease;max-height:92vh;overflow-y:auto}
.doc-modal-overlay.active .doc-modal{transform:translateY(0)}
.doc-modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-light);color:var(--text-medium);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease}
.doc-modal-close:hover{background:#e2e8f0;color:var(--deep-blue)}
.doc-modal-icon{width:54px;height:54px;border-radius:14px;background:var(--gradient-cyan);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:16px}
.doc-modal h3{font-size:20px;font-weight:700;color:var(--deep-blue);margin:0 0 6px}
.doc-modal-doc{font-size:13px;font-weight:600;color:var(--tech-blue);margin:0 0 10px}
.doc-modal-tip{font-size:13px;color:var(--text-medium);line-height:1.7;margin:0 0 20px}
.doc-modal-field{margin-bottom:16px}
.doc-modal-field label{display:block;font-size:13px;font-weight:600;color:var(--deep-blue);margin-bottom:6px}
.doc-modal-field input{width:100%;height:44px;border:1px solid #dde3ec;border-radius:8px;padding:0 14px;font-size:14px;color:var(--deep-blue);background:#f8fafc;outline:none;box-sizing:border-box;transition:border-color .25s ease,box-shadow .25s ease}
.doc-modal-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,194,209,.15);background:#fff}
.doc-modal-field input::placeholder{color:#9aa5b1}
.doc-modal-error{font-size:12px;color:#e5484d;min-height:16px;margin:0 0 10px}
.doc-modal-actions{display:flex;gap:12px}
.doc-modal-cancel,.doc-modal-submit{flex:1;height:44px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease}
.doc-modal-cancel{border:1px solid #dde3ec;background:#fff;color:var(--text-medium)}
.doc-modal-cancel:hover{border-color:#c3cdda;color:var(--deep-blue)}
.doc-modal-submit{border:none;background:var(--gradient-cyan);color:#fff}
.doc-modal-submit:hover{opacity:.92;transform:translateY(-1px)}
.doc-modal-success{display:none;text-align:center;padding:18px 0 6px}
.doc-modal-success .doc-modal-icon{margin:0 auto 16px}
.doc-modal-success h3{margin-bottom:10px}
.doc-modal-success p{font-size:14px;color:var(--text-medium);line-height:1.8;margin:0 0 22px}
.doc-modal-success .doc-modal-actions{justify-content:center}
.doc-modal-success .btn-ok{flex:0 0 auto;min-width:150px;height:42px;border:none;border-radius:8px;background:var(--gradient-cyan);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .25s ease}
.doc-modal-success .btn-ok:hover{opacity:.92}
@media (max-width:480px){.doc-modal{padding:28px 20px 24px}}

/* 下载弹窗 安全验证码 */
.doc-modal-captcha-row{display:flex;gap:10px;align-items:stretch}
.doc-modal-captcha-row input{flex:1;min-width:0}
.doc-modal-captcha{width:120px;height:44px;flex:0 0 120px;border:1px solid #dde3ec;border-radius:8px;cursor:pointer;background:#f6f9fc}
.doc-modal-captcha:hover{border-color:var(--cyan)}

/* 下载弹窗 两列布局 */
.doc-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}
.doc-modal-grid .doc-modal-field{margin-bottom:0}
.doc-modal-field-full{grid-column:1/-1}
@media (max-width:360px){.doc-modal-grid{grid-template-columns:1fr}}

/* 下载弹窗 标题行（图标在标题左侧） */
.doc-modal-title-row{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.doc-modal-title-row .doc-modal-icon{margin-bottom:0;flex:0 0 auto}
.doc-modal-title-row h3{margin-bottom:0}

/* 首页技术文档标题可点击 */
.support-panel .doc-card-head{cursor:pointer;transition:color .25s ease}
.support-panel .doc-card-head:hover h4{color:var(--tech-blue)}