:root {
  --primary: #005BAC;
  --primary-light: #e8f1fa;
  --primary-dark: #003d75;
  --accent: #f0a020;
  --bg: #f5f7fa;
  --text: #1a1a2e;
  --text-2: #666;
  --border: #e0e0e0;
  --radius: 8px;
  --shadow: 0 2px 8px rgba(0,0,0,.08);
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif; color:var(--text); line-height:1.75; background:#fff; -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
ul { list-style:none; }
.container { max-width:1200px; margin:0 auto; padding:0 16px; }

.site-header { position:sticky; top:0; z-index:100; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.top-bar { background:var(--primary-dark); color:#fff; font-size:12px; padding:6px 0; }
.top-bar .container { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.top-bar-slogan { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:rgba(255,255,255,.9); }
.top-bar-slogan .sep { color:rgba(255,255,255,.4); margin:0 2px; }
.top-bar-hotline { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#fff; white-space:nowrap; }
.top-bar-hotline i { color:#ffb740; font-size:13px; }
.top-bar-hotline b { font-weight:600; letter-spacing:.5px; }
.nav-bar { padding:12px 0; }
.nav-inner { display:flex; align-items:center; gap:24px; }
.logo { display:flex; align-items:center; gap:8px; font-size:22px; font-weight:700; color:var(--primary); white-space:nowrap; }
.logo img { height:48px; width:auto; }
.main-nav ul { display:flex; gap:28px; }
.main-nav li { position:relative; }
.main-nav a { font-size:16px; color:var(--text); padding:8px 4px; display:block; border-bottom:2px solid transparent; transition:.2s; }
.main-nav li.active a, .main-nav a:hover { color:var(--primary); border-color:var(--primary); }
.nav-actions { margin-left:auto; }
.btn-inquiry { background:var(--primary); color:#fff; padding:8px 24px; border-radius:4px; font-size:14px; transition:.2s; }
.btn-inquiry:hover { background:var(--primary-dark); }
.menu-toggle { display:none; flex-direction:column; gap:4px; background:none; border:none; cursor:pointer; padding:4px; }
.menu-toggle span { width:24px; height:3px; background:var(--primary); border-radius:2px; transition:.3s; }
.mobile-nav { display:none; background:#fff; border-top:1px solid var(--border); }
.mobile-nav.open { display:block; }
.mobile-nav a { display:block; padding:12px 16px; border-bottom:1px solid var(--border); font-size:15px; }

.banner-section { position:relative; overflow:hidden; background:#eee; }
.banner-slider { display:flex; transition:transform .5s ease; }
.banner-slide { min-width:100%; position:relative; }
.banner-slide img { width:100%; height:auto; aspect-ratio:16/9; max-height:680px; object-fit:cover; }
.banner-content { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center; color:#fff; width:80%; }
.banner-content h2 { font-size:36px; margin-bottom:12px; text-shadow:0 2px 8px rgba(0,0,0,.5); }
.banner-content p { font-size:18px; margin-bottom:20px; text-shadow:0 2px 8px rgba(0,0,0,.5); }
.banner-btn { display:inline-block; padding:10px 36px; border:2px solid #fff; border-radius:4px; color:#fff; font-size:15px; transition:.2s; }
.banner-btn:hover { background:#fff; color:var(--primary); }
.banner-dots { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); display:flex; gap:8px; }
.banner-dots span { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:.2s; }
.banner-dots span.active { background:#fff; }

.section-title { text-align:center; margin:48px 0 32px; }
.section-title h2 { font-size:28px; color:var(--text); margin-bottom:8px; }
.section-title p { font-size:15px; color:var(--text-2); }
.section-title-left { text-align:left; }

.section-more { text-align:center; margin:24px 0; }
.btn-more { display:inline-block; padding:10px 36px; border:1px solid var(--primary); border-radius:4px; color:var(--primary); font-size:14px; transition:.2s; }
.btn-more:hover { background:var(--primary); color:#fff; }

.advantages-section { background:var(--bg); padding:24px 0 48px; }
.advantages-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.advantage-card { background:#fff; border-radius:var(--radius); padding:28px 20px; text-align:center; box-shadow:var(--shadow); transition:.3s; }
.advantage-card:hover { transform:translateY(-4px); }
.adv-icon { width:64px; height:64px; margin:0 auto 12px; background:var(--primary-light); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:28px; }
.advantage-card h3 { font-size:18px; margin-bottom:8px; }
.advantage-card p { font-size:14px; color:var(--text-2); }

.product-section { padding:24px 0 48px; }
.product-cats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:32px; }
.cat-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:.3s; }
.cat-card:hover { box-shadow:var(--shadow); transform:translateY(-4px); }
.cat-img { height:180px; overflow:hidden; }
.cat-img img { width:100%; height:100%; object-fit:cover; }
.cat-card h3 { font-size:17px; padding:12px 16px 4px; }
.cat-card p { font-size:13px; color:var(--text-2); padding:0 16px 12px; }
.cat-link { display:block; padding:0 16px 16px; color:var(--primary); font-size:14px; }
.home-products { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.product-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:.3s; }
.product-card:hover { box-shadow:var(--shadow); transform:translateY(-4px); }
.product-img { height:240px; overflow:hidden; background:#f5f5f5; }
.product-img img { width:100%; height:100%; object-fit:cover; transition:.3s; }
.product-card:hover .product-img img { transform:scale(1.05); }
.product-info { padding:16px; }
.product-info h3 { font-size:16px; margin-bottom:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-model { font-size:13px; color:var(--primary); margin-bottom:4px; }
.product-summary { font-size:13px; color:var(--text-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-link { display:block; margin-top:8px; color:var(--primary); font-size:14px; }

.news-section { background:var(--bg); padding:24px 0 48px; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr) repeat(2,1fr); gap:20px; }
.news-card { background:#fff; border-radius:var(--radius); overflow:hidden; transition:.3s; grid-column:span 2; }
.news-card:nth-child(1), .news-card:nth-child(2) { grid-column:span 3; }
.news-card:hover { box-shadow:var(--shadow); }
.news-img { height:200px; overflow:hidden; }
.news-card:nth-child(1) .news-img, .news-card:nth-child(2) .news-img { height:220px; }
.news-img img { width:100%; height:100%; object-fit:cover; }
.news-info { padding:16px; }
.news-date { font-size:13px; color:var(--primary); }
.news-info h3 { font-size:16px; margin:6px 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news-info p { font-size:13px; color:var(--text-2); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.about-section { padding:24px 0 48px; }
.about-flex { display:flex; gap:40px; align-items:center; }
.about-text { flex:1; }
.about-text p { font-size:15px; color:var(--text-2); margin:16px 0; line-height:2; }
.about-stats { display:flex; gap:32px; margin:24px 0; }
.stat-item { text-align:center; }
.stat-item strong { display:block; font-size:28px; color:var(--primary); }
.stat-item span { font-size:13px; color:var(--text-2); }

.cta-section { background:linear-gradient(135deg,var(--primary-dark),var(--primary)); color:#fff; padding:48px 0; text-align:center; }
.cta-section h2 { font-size:26px; margin-bottom:8px; }
.cta-section p { font-size:16px; opacity:.9; margin-bottom:20px; }
.btn-large { display:inline-block; padding:12px 48px; border:2px solid #fff; border-radius:4px; color:#fff; font-size:16px; transition:.2s; }
.btn-large:hover { background:#fff; color:var(--primary); }

.site-footer { background:#1a1a2e; color:#adb5bd; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px; padding:40px 0; }
.footer-about h4, .footer-contact h4, .footer-nav h4 { color:#fff; margin-bottom:12px; font-size:16px; }
.footer-about p { font-size:14px; line-height:2; }
.footer-contact p { font-size:14px; margin-bottom:6px; }
.footer-nav a { font-size:14px; color:#adb5bd; display:block; margin-bottom:6px; transition:.2s; }
.footer-nav a:hover { color:#fff; }
.footer-bottom { border-top:1px solid #333; padding:16px 0; text-align:center; font-size:13px; }
.footer-bottom a { color:#adb5bd; }
.footer-bottom a.footer-icp { text-decoration:none; transition:color .2s; }
.footer-bottom a.footer-icp:hover { color:#fff; text-decoration:underline; }

.floating-bar { position:fixed; right:16px; bottom:100px; z-index:99; display:flex; flex-direction:column; gap:8px; }
.float-item { display:flex; flex-direction:column; align-items:center; width:56px; height:56px; background:var(--primary); border-radius:50%; color:#fff; font-size:10px; justify-content:center; box-shadow:var(--shadow); transition:.2s; }
.float-item:hover { background:var(--primary-dark); transform:scale(1.05); }
.float-icon { font-size:18px; margin-bottom:2px; }

.page-banner { height:280px; background:linear-gradient(135deg,var(--primary-dark),var(--primary)); color:#fff; display:flex; align-items:center; justify-content:center; text-align:center; }
/* 有自定义图：图片按高度等比缩放后横向平铺（repeat-x）铺满整个区域，不裁切、无空白 */
.page-banner.has-bg { position:relative; overflow:hidden; background:linear-gradient(135deg,var(--primary-dark),var(--primary)); }
.page-banner.has-bg::after { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(8,24,48,.45),rgba(8,24,48,.6)), var(--pb-img); background-size:100% 100%, auto 100%; background-position:center, center top; background-repeat:no-repeat, repeat-x; }
.page-banner.has-bg .container { position:relative; z-index:1; }
.page-banner h1 { font-size:32px; margin-bottom:8px; text-shadow:0 2px 8px rgba(0,0,0,.4); }
.page-banner p { font-size:16px; opacity:.95; text-shadow:0 1px 6px rgba(0,0,0,.4); }

.products-layout { display:grid; grid-template-columns:260px 1fr; gap:24px; margin:32px 0; }
.products-sidebar h3 { font-size:16px; padding:12px 16px; background:var(--primary); color:#fff; border-radius:4px 4px 0 0; }
.cat-filter { border:1px solid var(--border); border-top:none; border-radius:0 0 4px 4px; }
.cat-filter li a { display:block; padding:12px 16px; border-bottom:1px solid var(--border); font-size:14px; transition:.2s; }
.cat-filter li a:hover, .cat-filter li.active a { background:var(--primary-light); color:var(--primary); padding-left:20px; }
.sidebar-contact { margin-top:24px; background:var(--primary-light); border-radius:8px; padding:20px; text-align:center; }
.sidebar-contact h3 { background:none; color:var(--primary); padding:0 0 8px; font-size:16px; }
.sidebar-phone { font-size:20px; font-weight:700; color:var(--primary); margin-bottom:12px; }
.product-list { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pagination { display:flex; justify-content:center; gap:6px; margin:24px 0; flex-wrap:wrap; }
.page-btn { padding:6px 12px; border:1px solid var(--border); border-radius:4px; font-size:14px; cursor:pointer; transition:.2s; }
.page-btn:hover, .page-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.empty-state { padding:60px 0; text-align:center; color:var(--text-2); }

.product-detail-page { padding:24px 0 48px; }
.breadcrumb { padding:12px 0; font-size:14px; color:var(--text-2); }
.breadcrumb a { color:var(--primary); }
.detail-top { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-bottom:32px; }
.gallery-main img { width:100%; border-radius:8px; }
.gallery-thumbs { display:flex; gap:8px; margin-top:8px; }
.thumb { width:80px; height:80px; border:2px solid transparent; border-radius:4px; overflow:hidden; cursor:pointer; }
.thumb.active, .thumb:hover { border-color:var(--primary); }
.thumb img { width:100%; height:100%; object-fit:cover; }
.detail-info h1 { font-size:24px; margin-bottom:12px; }
.detail-model { font-size:16px; color:var(--primary); margin-bottom:8px; }
.detail-summary { font-size:14px; color:var(--text-2); margin-bottom:20px; }
.detail-actions { display:flex; gap:12px; margin-bottom:16px; }
.btn-inquiry-lg, .btn-quote { padding:10px 32px; border-radius:4px; font-size:15px; }
.btn-inquiry-lg { background:var(--primary); color:#fff; }
.btn-inquiry-lg:hover { background:var(--primary-dark); }
.btn-quote { border:1px solid var(--primary); color:var(--primary); }
.detail-hotline { font-size:16px; }
.detail-hotline strong { color:var(--primary); font-size:20px; }
.detail-section { margin-bottom:32px; }
.detail-title { font-size:20px; border-left:4px solid var(--primary); padding-left:12px; margin-bottom:16px; }
.params-table { width:100%; border-collapse:collapse; }
.params-table th, .params-table td { border:1px solid var(--border); padding:10px 16px; font-size:14px; }
.params-table th { background:var(--primary-light); width:200px; text-align:right; }
.params-table tr:nth-child(even) td { background:#fafbfc; }
.detail-content { font-size:15px; line-height:2; }
.detail-content h3 { margin:12px 0; }
.detail-content ul { padding-left:20px; margin:8px 0; }
.detail-content li { margin-bottom:6px; list-style:disc; }
.detail-nav { display:flex; justify-content:space-between; border-top:1px solid var(--border); padding-top:16px; }
.detail-nav a { color:var(--primary); font-size:14px; }

.about-page { padding:24px 0 48px; }
.about-stats { display:flex; justify-content:space-around; margin:24px 0 48px; }
.stat-card { text-align:center; padding:20px; background:var(--primary-light); border-radius:8px; min-width:160px; }
.stat-card strong { display:block; font-size:28px; color:var(--primary); }
.stat-card span { font-size:14px; color:var(--text-2); }
.about-section-block { margin-bottom:40px; }
.block-title { font-size:22px; border-left:4px solid var(--primary); padding-left:12px; margin-bottom:16px; }
.about-intro-text { font-size:15px; line-height:2; color:var(--text-2); }
.business-list { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.business-item { padding:20px; border:1px solid var(--border); border-radius:8px; }
.business-item h3 { color:var(--primary); margin-bottom:8px; }
.business-item p { font-size:14px; color:var(--text-2); }
.about-contact p { font-size:15px; margin-bottom:8px; }

.news-page { padding:24px 0 48px; }
.news-tabs { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.news-tabs a { padding:8px 24px; border:1px solid var(--border); border-radius:20px; font-size:14px; transition:.2s; }
.news-tabs a.active, .news-tabs a:hover { background:var(--primary); color:#fff; border-color:var(--primary); }

/* 新闻轮播（置顶/最新 5 条） */
.news-carousel { position:relative; border-radius:8px; overflow:hidden; margin-bottom:32px; background:#000; }
.news-carousel-slider { display:flex; transition:transform .5s ease; }
.news-carousel-slide { min-width:100%; position:relative; display:block; }
.news-carousel-slide img { width:100%; height:420px; object-fit:cover; opacity:.9; transition:.3s; display:block; }
.news-carousel-slide:hover img { opacity:1; transform:scale(1.02); }
.news-carousel-info { position:absolute; left:0; right:0; bottom:0; padding:24px 32px; background:linear-gradient(transparent,rgba(0,0,0,.85)); color:#fff; }
.news-carousel-date { font-size:12px; opacity:.8; }
.news-carousel-info h3 { font-size:22px; margin:8px 0; line-height:1.5; }
.news-carousel-info p { font-size:14px; opacity:.85; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:760px; }
.news-carousel-link { display:inline-block; margin-top:10px; font-size:13px; color:#fff; border:1px solid rgba(255,255,255,.6); padding:4px 14px; border-radius:4px; transition:.2s; }
.news-carousel-slide:hover .news-carousel-link { background:#1a73e8; border-color:#1a73e8; }
.news-carousel-dots { position:absolute; bottom:20px; right:32px; display:flex; gap:8px; z-index:2; }
.news-carousel-dots span { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:.2s; }
.news-carousel-dots span.active { background:#fff; width:24px; border-radius:5px; }

/* 新闻分类三列 */
.news-cat-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:40px; }
.news-cat-col { background:#fff; border:1px solid var(--border); border-radius:8px; padding:20px; }
.news-cat-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--primary); }
.news-cat-head h3 { font-size:17px; color:var(--primary); }
.news-cat-more { font-size:13px; color:var(--text-2); }
.news-cat-more:hover { color:var(--primary); }
.news-cat-list { display:flex; flex-direction:column; gap:10px; }
.news-cat-list li a { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:14px; color:var(--text); line-height:1.6; }
.news-cat-list li a:hover { color:var(--primary); }
.news-cat-title { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news-cat-date { font-size:12px; color:#bbb; flex-shrink:0; }
.news-cat-empty { color:#ccc; font-size:13px; text-align:center; padding:20px 0; }

/* 全部新闻 */
.news-all-section { border-top:1px solid var(--border); padding-top:32px; }
.news-all-title { font-size:20px; margin-bottom:20px; padding-left:10px; border-left:3px solid var(--primary); }
.news-list { display:flex; flex-direction:column; gap:20px; }
.news-item { display:flex; gap:16px; border:1px solid var(--border); border-radius:8px; overflow:hidden; transition:.3s; }
.news-item:hover { box-shadow:var(--shadow); }
.news-item-img { width:240px; height:160px; flex-shrink:0; overflow:hidden; }
.news-item-img img { width:100%; height:100%; object-fit:cover; }
.news-item-info { padding:16px; flex:1; }
.news-item-date { font-size:13px; color:var(--primary); }
.news-item-info h3 { font-size:18px; margin:6px 0; }
.news-item-info p { font-size:14px; color:var(--text-2); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-item-link { color:var(--primary); font-size:14px; }

.news-detail-page { padding:24px 0 48px; }
.article-box { background:#fff; padding:32px; border-radius:8px; box-shadow:var(--shadow); }
.article-title { font-size:26px; margin-bottom:16px; }
.article-meta { display:flex; gap:24px; font-size:14px; color:var(--text-2); border-bottom:1px solid var(--border); padding-bottom:16px; margin-bottom:24px; }
.article-content { font-size:16px; line-height:2; }
.article-content h3 { margin:16px 0 8px; }
.article-content p { margin-bottom:12px; }
.article-content ul { padding-left:20px; margin:8px 0; }
.article-content li { list-style:disc; margin-bottom:6px; }
.article-source-link { margin:24px 0 0; padding:16px 20px; background:linear-gradient(135deg,#f0f6ff,#e8f4fe); border-radius:8px; border:1px solid #d0e3ff; }
.article-source-link a { color:var(--primary); font-size:16px; font-weight:500; text-decoration:none; transition:.2s; }
.article-source-link a:hover { color:#1e3a5f; text-decoration:underline; }
.related-news { margin-top:32px; }
.related-news h2 { font-size:20px; margin-bottom:16px; border-left:4px solid var(--primary); padding-left:12px; }
.related-list { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.related-item { border:1px solid var(--border); border-radius:8px; overflow:hidden; transition:.2s; }
.related-item:hover { box-shadow:var(--shadow); }
.related-img { height:120px; overflow:hidden; }
.related-img img { width:100%; height:100%; object-fit:cover; }
.related-item span { display:block; padding:8px 12px; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.contact-page { padding:24px 0 48px; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.contact-info h2, .contact-form-box h2 { font-size:22px; margin-bottom:16px; }
.contact-item { margin-bottom:12px; }
.contact-item label { display:inline-block; width:80px; color:var(--text-2); font-size:14px; }
.contact-item p { display:inline; font-size:15px; }
.contact-map { margin-top:16px; }
#mapContainer { width:100%; height:500px; border-radius:16px; overflow:hidden; }
.contact-form-box { background:var(--bg); border-radius:8px; padding:24px; }
.form-tip { color:var(--text-2); margin-bottom:16px; font-size:14px; }
.form-group { margin-bottom:14px; }
.form-group label { display:block; margin-bottom:4px; font-size:14px; }
.form-group em { color:#e74c3c; font-style:normal; }
.form-group input, .form-group textarea { width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:4px; font-size:14px; font-family:inherit; }
.form-group input:focus, .form-group textarea:focus { border-color:var(--primary); outline:none; }
.captcha-row { display:flex; gap:8px; align-items:center; }
.captcha-row input { flex:1; }
.captcha-row img { height:40px; cursor:pointer; border-radius:4px; }
.btn-submit { width:100%; padding:12px; background:var(--primary); color:#fff; border:none; border-radius:4px; font-size:16px; cursor:pointer; transition:.2s; }
.btn-submit:hover { background:var(--primary-dark); }
.form-msg { margin-top:8px; font-size:14px; text-align:center; }
.form-msg.success { color:var(--primary); }
.form-msg.error { color:#e74c3c; }

.search-page { padding:24px 0 48px; }
.search-box { display:flex; gap:8px; max-width:600px; margin:0 auto 24px; }
.search-input { flex:1; padding:10px 12px; border:1px solid var(--border); border-radius:4px; font-size:14px; }
.search-btn { padding:10px 28px; background:var(--primary); color:#fff; border:none; border-radius:4px; cursor:pointer; font-size:14px; }
.search-result-count { margin-bottom:16px; font-size:15px; color:var(--text-2); }
.search-page h3 { font-size:18px; margin:20px 0 12px; }

.error-page { text-align:center; padding:80px 0; }
.error-page h1 { font-size:72px; color:var(--primary); }
.error-page p { font-size:18px; color:var(--text-2); margin:16px 0 24px; }

/* ===== v2 新增：能量束主题组件 ===== */
.banner-btns { display:flex; gap:12px; justify-content:center; }
.banner-btn-solid { background:#fff; color:var(--primary); border-color:#fff; }
.banner-btn-solid:hover { background:transparent; color:#fff; }

.advantages-grid.adv-5 { grid-template-columns:repeat(5,1fr); }

.solutions-section { padding:24px 0 48px; }
.solutions-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.solution-card { display:block; background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:.3s; }
.solution-card:hover { transform:translateY(-4px); }
.solution-card-img { height:200px; overflow:hidden; }
.solution-card-img img { width:100%; height:100%; object-fit:cover; transition:.3s; }
.solution-card:hover .solution-card-img img { transform:scale(1.05); }
.solution-card-body { padding:18px 20px 20px; }
.solution-card-body h3 { font-size:19px; margin-bottom:2px; }
.solution-card-sub { color:var(--primary); font-size:13px; margin-bottom:8px; }
.solution-card-body > p:not([class]) { font-size:13px; color:var(--text-2); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.solution-effect { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
.solution-effect span { background:var(--primary-light); border-radius:4px; padding:4px 10px; font-size:12px; color:var(--text-2); }
.solution-effect span strong { color:var(--primary); font-size:14px; margin-right:4px; }
.solution-link { display:inline-block; margin-top:12px; color:var(--primary); font-size:14px; }

.partners-section { background:var(--bg); padding:24px 0 48px; }
.partner-wall { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.partner-item { border:1px solid var(--border); border-radius:8px; min-height:88px; display:flex; align-items:center; justify-content:center; padding:12px; background:#fff; color:var(--text-2); font-size:15px; font-weight:600; transition:.2s; text-align:center; }
.partner-item:hover { border-color:var(--primary); color:var(--primary); box-shadow:var(--shadow); }
.partner-item img { max-height:56px; max-width:100%; object-fit:contain; }

.intro-long-text { white-space:pre-line; }
.block-desc { font-size:14px; color:var(--text-2); margin:-8px 0 20px; }

.mission-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.mission-card { position:relative; background:#fff; border:1px solid var(--border); border-radius:12px; padding:36px 28px 32px; text-align:center; transition:transform .3s, box-shadow .3s, border-color .3s; overflow:hidden; }
.mission-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--primary); transform:scaleX(0); transform-origin:center; transition:transform .3s; }
.mission-card:hover { transform:translateY(-6px); box-shadow:0 10px 28px rgba(0,91,172,.12); border-color:#c3d8ee; }
.mission-card:hover::before { transform:scaleX(1); }
.mission-index { position:absolute; top:10px; right:16px; font-size:38px; font-weight:800; line-height:1; color:var(--primary-light); font-family:Consolas,monospace; }
.mission-icon { width:60px; height:60px; margin:0 auto 16px; border-radius:50%; background:var(--primary-light); color:var(--primary); display:flex; align-items:center; justify-content:center; transition:.3s; }
.mission-icon svg { width:28px; height:28px; }
.mission-card:hover .mission-icon { background:var(--primary); color:#fff; }
.mission-card h3 { font-size:18px; margin-bottom:10px; color:var(--text); letter-spacing:1px; }
.mission-divider { width:36px; height:2px; background:var(--primary); margin:0 auto 14px; border-radius:2px; opacity:.55; }
.mission-card p { font-size:15px; color:var(--text-2); line-height:1.9; }
.mission-card-dark { background:linear-gradient(150deg,var(--primary-dark) 0%,var(--primary) 100%); border-color:transparent; }
.mission-card-dark::before { background:var(--accent); transform:scaleX(1); }
.mission-card-dark:hover { box-shadow:0 10px 28px rgba(0,61,117,.35); border-color:transparent; }
.mission-card-dark .mission-index { color:rgba(255,255,255,.14); }
.mission-card-dark .mission-icon { background:rgba(255,255,255,.15); color:#fff; }
.mission-card-dark:hover .mission-icon { background:var(--accent); color:#fff; }
.mission-card-dark h3 { color:#fff; }
.mission-card-dark .mission-divider { background:var(--accent); opacity:1; }
.mission-card-dark p { color:rgba(255,255,255,.92); }

/* 横向发展历程时间轴（可左右滑动，箭头在滚动区外） */
.timeline-wrap { display:flex; align-items:flex-start; gap:12px; }
.timeline-scroll { position:relative; flex:1; min-width:0; overflow-x:auto; scroll-behavior:smooth; padding:8px 0 16px; }
.timeline-scroll::-webkit-scrollbar { height:6px; }
.timeline-scroll::-webkit-scrollbar-thumb { background:#c3d8ee; border-radius:3px; }
.timeline-h { position:relative; display:flex; gap:20px; width:max-content; padding:0 4px; }
.timeline-h::before { content:''; position:absolute; left:10px; right:10px; top:8px; height:2px; background:linear-gradient(90deg,var(--primary-light),#c3d8ee,var(--primary-light)); }
.timeline-h-item { position:relative; width:200px; flex-shrink:0; }
.timeline-h-dot { width:14px; height:14px; border-radius:50%; background:#fff; border:3px solid var(--primary); margin:0 0 14px 0; position:relative; z-index:1; transition:.25s; }
.timeline-h-item:hover .timeline-h-dot { background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px rgba(240,160,32,.18); }
.timeline-h-card { background:#fff; border:1px solid var(--border); border-radius:10px; padding:16px 16px 14px; transition:transform .3s, box-shadow .3s, border-color .3s; }
.timeline-h-item:hover .timeline-h-card { transform:translateY(-4px); box-shadow:0 8px 20px rgba(0,91,172,.1); border-color:#c3d8ee; }
.timeline-h-period { display:inline-block; font-family:Consolas,monospace; font-size:12px; font-weight:700; color:var(--primary); background:var(--primary-light); border-radius:20px; padding:3px 12px; white-space:nowrap; margin-bottom:10px; letter-spacing:.5px; }
.timeline-h-title { font-size:15px; font-weight:700; color:var(--text); margin-bottom:6px; line-height:1.5; }
.timeline-h-desc { font-size:12.5px; color:var(--text-2); line-height:1.7; }
.ts-arrow { flex-shrink:0; width:36px; height:36px; border-radius:50%; background:var(--primary); color:#fff; border:none; cursor:pointer; font-size:14px; z-index:3; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.15); transition:background .2s, opacity .25s; }
.ts-arrow:hover { background:var(--primary-dark); }

.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.team-card { text-align:center; background:#fff; border:1px solid var(--border); border-radius:8px; padding:24px 20px; transition:.3s; }
.team-card:hover { box-shadow:var(--shadow); transform:translateY(-4px); }
.team-avatar { width:92px; height:92px; border-radius:50%; margin:0 auto 12px; overflow:hidden; background:var(--primary-light); display:flex; align-items:center; justify-content:center; font-size:34px; color:var(--primary); font-weight:700; }
.team-avatar img { width:100%; height:100%; object-fit:cover; }
.team-card h3 { font-size:17px; }
.team-title { color:var(--primary); font-size:13px; margin:2px 0 10px; }
.team-bio { font-size:13px; color:var(--text-2); text-align:left; line-height:1.9; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }

.patents-table { width:100%; border-collapse:collapse; background:#fff; }
.patents-table th, .patents-table td { border:1px solid var(--border); padding:12px 16px; font-size:14px; text-align:left; }
.patents-table th { background:var(--primary-light); color:var(--primary); }
.patent-tag { display:inline-block; padding:2px 12px; border-radius:12px; font-size:12px; background:var(--primary-light); color:var(--primary); border:1px solid #cfe2f5; }
.patent-tag-inv { background:#0a2d5e; color:#fff; border-color:#0a2d5e; }
.patent-status { display:inline-block; padding:2px 12px; border-radius:12px; font-size:12px; }
.patent-status-ing { background:#fff4e5; color:#d48806; }
.patent-status-plan { background:#f0f0f0; color:#666; }
.patent-status-ok { background:#e8f7ef; color:#0a7a3d; }

/* 知识产权卡片网格 */
.patent-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.patent-card { display:flex; gap:14px; background:#fff; border:1px solid var(--border); border-radius:8px; padding:18px; cursor:pointer; transition:.3s; }
.patent-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); border-color:var(--primary); }
.patent-icon { width:48px; height:48px; border-radius:8px; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; flex-shrink:0; }
.patent-card-body { flex:1; min-width:0; }
.patent-card-body h4 { font-size:15px; margin-bottom:8px; line-height:1.5; }
.patent-card-tags { display:flex; gap:6px; margin-bottom:8px; }
.patent-view { font-size:12px; color:var(--primary); }

/* 专利详情弹窗 */
.patent-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9999; align-items:center; justify-content:center; padding:20px; }
.patent-modal-content { background:#fff; border-radius:12px; max-width:560px; width:100%; padding:32px; position:relative; max-height:80vh; overflow-y:auto; }
.patent-modal-close { position:absolute; top:16px; right:16px; background:none; border:none; font-size:28px; color:#999; cursor:pointer; line-height:1; }
.patent-modal-close:hover { color:#333; }
.patent-modal-content h3 { font-size:20px; margin-bottom:12px; padding-right:30px; }
.pm-meta { display:flex; gap:8px; margin-bottom:20px; }
.pm-info { border-top:1px solid var(--border); padding-top:16px; }
.pm-info-row { display:flex; gap:8px; margin-bottom:12px; font-size:14px; }
.pm-info-row label { color:var(--text-2); flex-shrink:0; width:80px; }
.pm-info-row span { color:var(--text); flex:1; line-height:1.7; }

/* 微信二维码弹窗 */
.qr-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9999; align-items:center; justify-content:center; padding:20px; }
.qr-modal-content { background:#fff; border-radius:12px; max-width:360px; width:100%; padding:28px 24px; text-align:center; position:relative; animation:qrPop .3s ease; }
@keyframes qrPop { from{transform:scale(.8);opacity:0;} to{transform:scale(1);opacity:1;} }
.qr-modal-close { position:absolute; top:12px; right:12px; background:none; border:none; font-size:24px; color:#999; cursor:pointer; }
.qr-modal-content h3 { font-size:18px; color:var(--primary); margin-bottom:6px; }
.qr-tip { font-size:13px; color:var(--text-2); margin-bottom:16px; }
.qr-img { width:200px; height:200px; object-fit:contain; margin:0 auto; border:1px solid var(--border); border-radius:8px; }
.qr-hint { font-size:12px; color:#999; margin-top:12px; }

/* 解决方案列表页 */
.solutions-page { padding:24px 0 48px; }
.solutions-list { display:flex; flex-direction:column; gap:40px; }
.solution-row { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden; }
.solution-row-rev .solution-row-img { order:2; }
.solution-row-img { height:300px; }
.solution-row-img img { width:100%; height:100%; object-fit:cover; }
.solution-row-body { padding:28px 32px; }
.solution-row-body h2 { font-size:24px; margin-bottom:4px; }
.solution-row-sub { color:var(--primary); font-size:14px; margin-bottom:12px; }
.solution-row-summary { font-size:14px; color:var(--text-2); margin-bottom:16px; }
.solution-effect-row { margin-bottom:16px; }
.solution-effect-item { background:var(--primary-light); border-radius:8px; padding:12px 18px; text-align:center; }
.solution-effect-item strong { display:block; font-size:20px; color:var(--primary); }
.solution-effect-item span { font-size:12px; color:var(--text-2); }

/* 解决方案详情页 */
.solution-detail-page { padding:24px 0 48px; }
.solution-hero { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; margin-bottom:40px; }
.solution-hero-img { border-radius:12px; overflow:hidden; height:340px; position:relative; }
.solution-hero-img img { width:100%; height:100%; object-fit:cover; }
/* 解决方案详情轮播 */
.solution-carousel { width:100%; height:100%; position:relative; overflow:hidden; }
.sc-track { display:flex; height:100%; transition:transform .5s ease; }
.sc-slide { min-width:100%; height:100%; }
.sc-slide img { width:100%; height:100%; object-fit:cover; }
.sc-arrow { position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:50%; background:rgba(0,0,0,.4); color:#fff; border:none; cursor:pointer; font-size:16px; z-index:2; display:flex; align-items:center; justify-content:center; transition:.2s; }
.sc-arrow:hover { background:rgba(0,0,0,.7); }
.sc-prev { left:12px; }
.sc-next { right:12px; }
.sc-dots { position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:2; }
.sc-dots span { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:.2s; }
.sc-dots span.active { background:#fff; width:20px; border-radius:4px; }
.solution-hero-body h2 { font-size:22px; margin-bottom:12px; }
.solution-hero-body p { font-size:15px; color:var(--text-2); line-height:2; }
.pain-list { display:flex; flex-direction:column; gap:12px; }
.pain-item { display:flex; gap:16px; align-items:flex-start; background:var(--bg); border-radius:8px; padding:16px 20px; }
.pain-idx { flex-shrink:0; width:36px; height:36px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; }
.pain-item p { font-size:15px; color:var(--text-2); padding-top:4px; }
.solution-recommend { background:linear-gradient(135deg,#f0f6ff,#e8f4fe); border-radius:12px; padding:24px; margin-bottom:24px; }
.solution-recommend p { font-size:15px; color:var(--text); }
.solution-products { grid-template-columns:repeat(3,1fr); gap:20px; }
.solution-products .product-card { border:1px solid #d0e3ff; border-radius:12px; }
.solution-products .product-card:hover { border-color:var(--primary); }
.solution-products .product-img { height:200px; }
.solution-products .product-info { padding:14px 16px; }
.other-solutions { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.other-solution-card { border:1px solid var(--border); border-radius:8px; padding:20px 24px; transition:.2s; background:#fff; }
.other-solution-card:hover { border-color:var(--primary); box-shadow:var(--shadow); }
.other-solution-card h3 { font-size:18px; margin-bottom:2px; }
.other-solution-card p { font-size:13px; color:var(--text-2); margin-bottom:8px; }
.cta-inline { background:linear-gradient(135deg,var(--primary-dark),var(--primary)); color:#fff; border-radius:12px; text-align:center; padding:32px; margin-top:40px; }
.cta-inline p { font-size:18px; margin-bottom:16px; }

/* 技术优势页 */
.technology-page { padding:24px 0 48px; }
.tech-block { margin-bottom:48px; }
.tech-data { grid-template-columns:repeat(4,1fr); }
.data-strip { display:grid; gap:24px; margin:32px 0; }
.data-cell { background:linear-gradient(135deg,var(--primary-dark),var(--primary)); color:#fff; text-align:center; padding:28px 16px; border-radius:8px; }
.data-cell strong { font-size:32px; display:block; line-height:1.3; }
.data-cell span { font-size:14px; opacity:.92; }
.tech-adv { margin-top:20px; }
.tech-adv .adv-icon { background:none; font-size:34px; color:var(--primary); }
.table-scroll { overflow-x:auto; }
.vs-table { width:100%; border-collapse:collapse; background:#fff; min-width:640px; table-layout:fixed; }
.vs-table th, .vs-table td { border:1px solid var(--border); padding:14px 10px; font-size:14px; text-align:center; }
.vs-table thead th { background:#fafafa; color:#222; font-size:15px; }
.vs-table td:first-child, .vs-table th:first-child { background:var(--primary-light); font-weight:600; width:25%; color:var(--text); }
.vs-table th:nth-child(2), .vs-table td:nth-child(2),
.vs-table th:nth-child(3), .vs-table td:nth-child(3) { width:20%; background:#fafafa; }
.vs-table th:nth-child(4), .vs-table td:nth-child(4) { width:35%; }
.vs-table .col-win-head { background:linear-gradient(135deg,var(--primary-dark),var(--primary)); color:#fff; position:relative; }
.vs-table .col-win-head::after { content:'推荐'; position:absolute; top:4px; right:4px; background:#e74c3c; color:#fff; font-size:10px; padding:1px 6px; border-radius:8px; }
.vs-table .col-win { background:linear-gradient(135deg,#e8f7ef,#d4edda); color:#0a7a3d; font-weight:700; }
.vs-table .col-win::before { content:'✓ '; color:#0a7a3d; }
.tech-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:24px 0; }
.tech-step { background:#fff; border:1px solid var(--border); border-radius:8px; padding:28px 24px; text-align:center; transition:.3s; }
.tech-step:hover { box-shadow:var(--shadow); transform:translateY(-4px); }
.step-num { display:inline-block; font-size:26px; font-weight:800; color:var(--primary); opacity:.35; margin-bottom:8px; font-family:Consolas,monospace; }
.tech-step h3 { font-size:18px; margin-bottom:8px; }
.tech-step p { font-size:14px; color:var(--text-2); text-align:left; }

@media (max-width:1199px) {
  .advantages-grid, .product-cats { grid-template-columns:repeat(2,1fr); }
  .advantages-grid.adv-5 { grid-template-columns:repeat(3,1fr); }
  .home-products, .solution-products { grid-template-columns:repeat(2,1fr); }
  .news-grid { grid-template-columns:1fr 1fr; }
  .news-card, .news-card:nth-child(1), .news-card:nth-child(2) { grid-column:span 1; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .partner-wall { grid-template-columns:repeat(3,1fr); }
  .data-strip, .tech-data { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:991px) {
  .main-nav { display:none; }
  .nav-actions { display:none; }
  .menu-toggle { display:flex; margin-left:auto; }
  .banner-content h2 { font-size:24px; }
  .banner-content p { font-size:14px; }
  .banner-slide img { max-height:420px; }
  .products-layout { grid-template-columns:1fr; }
  .detail-top { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .footer-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:0 10px; }
  .footer-nav h4 { grid-column:1 / -1; }
  .related-list { grid-template-columns:repeat(2,1fr); }
  .business-list { grid-template-columns:1fr; }
  .solutions-grid { grid-template-columns:1fr; }
  .mission-grid { grid-template-columns:1fr; }
  .solution-row { grid-template-columns:1fr; }
  .solution-row-rev .solution-row-img { order:0; }
  .solution-row-img { height:220px; }
  .solution-hero { grid-template-columns:1fr; }
  .tech-steps { grid-template-columns:1fr; }
  .other-solutions { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .top-bar { font-size:11px; }
  .top-bar .container { justify-content:center; }
  .top-bar-hotline { display:none; }
  .top-bar-slogan { font-size:11px; }
  .banner-content h2 { font-size:18px; }
  .banner-content p { font-size:13px; margin-bottom:12px; }
  .banner-slide img { max-height:240px; }
  .advantages-grid, .product-cats, .home-products, .product-list { grid-template-columns:1fr; }
  .advantages-grid.adv-5 { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:1fr; }
  .about-stats { flex-wrap:wrap; gap:16px; }
  .stat-card { min-width:120px; padding:12px; }
  .news-item { flex-direction:column; }
  .news-item-img { width:100%; height:180px; }
  .news-carousel-slide img { height:220px; }
  .news-carousel-info { padding:16px; }
  .news-carousel-info h3 { font-size:16px; }
  .news-carousel-info p { display:none; }
  .news-carousel-dots { right:16px; bottom:12px; }
  .news-cat-columns { grid-template-columns:1fr; }
  .page-banner { height:160px; }
  .page-banner h1 { font-size:22px; }
  .floating-bar { right:8px; }
  .float-item { width:48px; height:48px; }
  .team-grid { grid-template-columns:1fr; }
  .partner-wall { grid-template-columns:repeat(2,1fr); }
  .patent-grid { grid-template-columns:1fr; }
  .data-strip, .tech-data { grid-template-columns:1fr; }
  .solution-row-body { padding:20px; }
  .solution-hero-img { height:220px; }
}

/* 招聘页面 */
.jobs-page { padding:48px 0; }
.jobs-intro { max-width:800px; margin:0 auto 40px; text-align:center; }
.jobs-intro h2 { font-size:26px; margin-bottom:12px; }
.jobs-intro p { font-size:15px; color:var(--text-2); line-height:1.9; }
.jobs-list { display:flex; flex-direction:column; gap:16px; }
.job-card { border:1px solid var(--border); border-radius:8px; overflow:hidden; transition:.3s; }
.job-card:hover { box-shadow:var(--shadow); }
.job-card-header { display:flex; align-items:center; gap:20px; padding:20px 24px; cursor:pointer; }
.job-card-main { flex:1; }
.job-card-main h3 { font-size:18px; margin-bottom:4px; }
.job-summary { font-size:14px; color:var(--text-2); }
.job-card-meta { display:flex; gap:8px; flex-wrap:wrap; }
.job-tag { font-size:12px; padding:3px 10px; border-radius:4px; background:var(--primary-light); color:var(--primary); white-space:nowrap; }
.job-salary { background:#fff4e6; color:#e67e22; }
.job-card-toggle { width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--primary-light); color:var(--primary); font-size:20px; font-weight:700; flex-shrink:0; }
.job-card-body { border-top:1px solid var(--border); padding:24px; background:#fafbfc; }
.job-detail-row { display:flex; gap:32px; margin-bottom:20px; }
.job-detail-row label { display:block; font-size:13px; color:var(--text-2); margin-bottom:4px; }
.job-detail-row span { font-size:15px; font-weight:600; }
.job-detail-section { margin-bottom:20px; }
.job-detail-section h4 { font-size:15px; margin-bottom:10px; color:var(--primary); }
.job-detail-list { list-style:disc; padding-left:20px; }
.job-detail-list li { font-size:14px; color:var(--text-2); margin-bottom:6px; line-height:1.8; }
.job-benefits { display:flex; gap:8px; flex-wrap:wrap; }
.benefit-chip { font-size:13px; padding:4px 12px; border-radius:20px; background:#e8f5e9; color:#2e7d32; }
.job-apply { margin-top:16px; }
.btn-apply { display:inline-block; padding:10px 32px; background:var(--primary); color:#fff; border-radius:4px; font-size:14px; transition:.2s; }
.btn-apply:hover { background:var(--primary-dark); }
.jobs-empty { text-align:center; padding:60px 0; color:var(--text-2); }
.jobs-contact-cta { margin-top:48px; text-align:center; padding:32px; background:var(--primary-light); border-radius:8px; }
.jobs-contact-cta h3 { font-size:20px; margin-bottom:8px; }
.jobs-contact-cta p { font-size:14px; color:var(--text-2); margin-bottom:16px; }

/* 投递简历弹窗 */
.apply-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9999; align-items:center; justify-content:center; padding:20px; }
.apply-modal-content { background:#fff; border-radius:12px; max-width:480px; width:100%; padding:28px; position:relative; }
.apply-modal-close { position:absolute; top:16px; right:16px; background:none; border:none; font-size:24px; color:#999; cursor:pointer; }
.apply-modal-content h3 { font-size:20px; margin-bottom:6px; }
.apply-job-title { font-size:14px; color:var(--primary); margin-bottom:20px; }
.apply-form .form-group { margin-bottom:16px; }
.apply-form label { display:block; font-size:14px; margin-bottom:6px; }
.apply-form input[type=text], .apply-form input[type=email] { width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:4px; font-size:14px; }
.apply-form input[type=file] { font-size:13px; }
.apply-tip { display:block; font-size:12px; color:#999; margin-top:4px; }
.btn-apply-submit { width:100%; padding:12px; background:var(--primary); color:#fff; border:none; border-radius:4px; font-size:15px; cursor:pointer; transition:.2s; }
.btn-apply-submit:hover { background:var(--primary-dark); }
.apply-msg { text-align:center; margin-top:12px; font-size:14px; }
.apply-msg.success { color:#0a7a3d; }
.apply-msg.error { color:#e74c3c; }

/* 招聘页移动端适配（置于文件末尾，确保覆盖上方主样式） */
@media (max-width:767px) {
  .jobs-page { padding:32px 0; }
  .jobs-intro { margin-bottom:24px; }
  .jobs-intro h2 { font-size:20px; }
  .jobs-intro p { font-size:14px; line-height:1.8; }
  .jobs-list { gap:12px; }
  .job-card-header { display:block; position:relative; padding:14px 44px 14px 14px; }
  .job-card-main h3 { font-size:16px; margin-bottom:6px; }
  .job-summary { font-size:13px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .job-card-meta { margin-top:8px; gap:6px; }
  .job-tag { font-size:11px; padding:2px 8px; }
  .job-card-toggle { position:absolute; right:12px; top:50%; transform:translateY(-50%); width:28px; height:28px; font-size:18px; }
  .job-card-body { padding:16px 14px; }
  .job-detail-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px; }
  .job-detail-row label { font-size:12px; }
  .job-detail-row span { font-size:14px; }
  .job-detail-section h4 { font-size:14px; }
  .job-detail-list { padding-left:18px; }
  .job-detail-list li { font-size:13px; line-height:1.7; }
  .benefit-chip { font-size:12px; padding:3px 10px; }
  .btn-apply { display:block; width:100%; text-align:center; padding:11px; }
  .jobs-contact-cta h3 { font-size:17px; }
  .apply-modal-content { padding:20px 16px; }
}
