
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; color: #1f2937; line-height: 1.6; background: #f7f9fc; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; }

/* 顶部热线 */
.top-bar {
    background: linear-gradient(90deg, #0c4a6e 0%, #0369a1 100%);
    color: #fff;
    font-size: 14px;
    position: relative;
    overflow: hidden;
}
.top-bar::after {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 60px; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
    animation: shine 3s infinite;
}
@keyframes shine { 0% { left: -100%; } 100% { left: 200%; } }
.top-bar-container { max-width: 1200px; margin: 0 auto; padding: 10px 20px; display: flex; justify-content: space-between; align-items: center; }
.top-bar-left span { opacity: 0.9; }
.top-bar-right { font-weight: 600; }
.top-bar-right .hotline { color: #fef08a; font-size: 16px; margin-left: 18px; display: inline-block; animation: ring 2s infinite; }
.top-bar-right .hotline .phone-icon { display: inline-block; animation: shake 1.5s infinite; transform-origin: 50% 50%; margin-right: 6px; }
.top-bar-right .email { margin-left: 18px; opacity: 0.9; cursor: pointer; }
.top-bar-right .email:hover { opacity: 1; color: #fef08a; }
@keyframes ring { 0%,100% { transform: scale(1); } 50% { transform: scale(1.03); } }
@keyframes shake { 0%,100% { transform: rotate(0); } 10%,30% { transform: rotate(-10deg); } 20% { transform: rotate(10deg); } }

/* 导航 */
.header { background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.05); position: sticky; top: 0; z-index: 100; }
.nav-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; height: 72px; }
.logo { font-size: 22px; font-weight: 700; color: #0369a1; }
.logo span { color: #0ea5e9; }
.nav-menu { display: flex; gap: 60px; }
.nav-menu a { font-size: 16px; font-weight: 500; color: #374151; padding: 8px 0; position: relative; letter-spacing: 1px; transition: color .2s; }
.nav-menu a::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 0; height: 3px; background: linear-gradient(90deg,#0369a1,#0ea5e9); border-radius: 2px; transition: all .3s; transform: translateX(-50%); }
.nav-menu a:hover, .nav-menu a.active { color: #0369a1; }
.nav-menu a:hover::after, .nav-menu a.active::after { width: 100%; }
.hamburger { display: none; font-size: 28px; cursor: pointer; color: #0369a1; }

/* Hero */
.hero { background: linear-gradient(135deg,#0c4a6e 0%,#0369a1 50%,#0ea5e9 100%); color: #fff; padding: 80px 20px; position: relative; overflow: hidden; }
.hero::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background: radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 30px 30px; }
.hero-container { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:50px; position:relative; z-index:1; }
.hero-text { flex:1; }
.hero-text h1 { font-size:44px; margin-bottom:20px; line-height:1.3; }
.hero-text p { font-size:18px; opacity:.95; margin-bottom:30px; }
.hero-buttons { display:flex; gap:15px; }
.btn { display:inline-block; padding:14px 32px; border-radius:8px; font-size:16px; font-weight:600; cursor:pointer; transition:all .3s; border:none; }
.btn-primary { background:#fff; color:#0369a1; }
.btn-primary:hover { background:#f0f9ff; transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.15); }
.btn-secondary { background:rgba(255,255,255,.15); color:#fff; border:2px solid rgba(255,255,255,.4); }
.btn-secondary:hover { background:rgba(255,255,255,.25); }
.hero-image { flex:1; display:flex; justify-content:center; align-items:center; }
.hero-icon { font-size:220px; filter:drop-shadow(0 10px 30px rgba(0,0,0,.2)); animation:float 4s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-20px);} }

/* 通用 */
.container { max-width:1200px; margin:0 auto; padding:0 20px; }
.section { padding:60px 0; }
.section-title { text-align:center; margin-bottom:40px; }
.section-title h2 { font-size:32px; color:#0f172a; margin-bottom:12px; }
.section-title p { color:#6b7280; font-size:16px; }

/* 分类卡片网格 */
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.category-card { background:#fff; border-radius:12px; padding:30px 24px; box-shadow:0 2px 12px rgba(0,0,0,.05); transition:all .3s; border-top:4px solid #0ea5e9; }
.category-card:hover { transform:translateY(-6px); box-shadow:0 12px 30px rgba(14,165,233,.18); }
.category-card.ro { border-top-color:#0369a1; }
.category-card.uf { border-top-color:#10b981; }
.category-card.sf { border-top-color:#f59e0b; }
.category-card.ff { border-top-color:#8b5cf6; }
.category-icon { font-size:48px; margin-bottom:16px; }
.category-card h3 { font-size:20px; color:#0f172a; margin-bottom:10px; }
.category-card p { color:#6b7280; font-size:14px; margin-bottom:16px; min-height:42px; }
.category-card ul { margin-bottom:16px; }
.category-card ul li { font-size:13px; color:#4b5563; padding:4px 0; }
.category-card ul li::before { content:'✓ '; color:#10b981; font-weight:700; }
.more-link { color:#0369a1; font-size:14px; font-weight:600; }
.more-link:hover { color:#0ea5e9; }

/* 典型产品 */
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.product-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.05); transition:all .3s; position:relative; }
.product-card:hover { transform:translateY(-6px); box-shadow:0 12px 30px rgba(0,0,0,.1); }
.product-badge { position:absolute; top:16px; left:16px; padding:4px 12px; border-radius:20px; font-size:12px; font-weight:600; color:#fff; z-index:1; }
.badge-ro { background:#0369a1; }
.badge-uf { background:#10b981; }
.badge-sf { background:#f59e0b; }
.badge-ff { background:#8b5cf6; }
.product-img { height:180px; background:linear-gradient(135deg,#e0f2fe,#bae6fd); display:flex; align-items:center; justify-content:center; font-size:80px; }
.product-info { padding:20px; }
.product-info h3 { font-size:18px; color:#0f172a; margin-bottom:8px; }
.product-info p { color:#6b7280; font-size:14px; margin-bottom:12px; min-height:40px; }
.product-specs { display:flex; gap:16px; margin-bottom:14px; font-size:12px; color:#6b7280; }
.product-specs span { background:#f1f5f9; padding:4px 10px; border-radius:4px; }
.product-link { color:#0369a1; font-size:14px; font-weight:600; }
.product-link:hover { color:#0ea5e9; }

/* 优势 */
.advantages-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.advantage-item { background:#fff; border-radius:12px; padding:32px 24px; text-align:center; box-shadow:0 2px 12px rgba(0,0,0,.05); transition:all .3s; }
.advantage-item:hover { transform:translateY(-4px); box-shadow:0 10px 25px rgba(0,0,0,.08); }
.advantage-icon { font-size:48px; margin-bottom:16px; }
.advantage-item h3 { font-size:18px; color:#0f172a; margin-bottom:8px; }
.advantage-item p { color:#6b7280; font-size:14px; }

/* 面包屑 */
.breadcrumb { background:#fff; border-bottom:1px solid #e5e7eb; padding:14px 0; font-size:14px; }
.breadcrumb a { color:#6b7280; }
.breadcrumb a:hover { color:#0369a1; }
.breadcrumb span { color:#9ca3af; margin:0 8px; }
.breadcrumb .current { color:#0369a1; font-weight:500; }

/* 页面标题 */
.page-header { background:linear-gradient(135deg,#0c4a6e,#0369a1); color:#fff; padding:50px 20px; text-align:center; }
.page-header h1 { font-size:36px; margin-bottom:10px; }
.page-header p { opacity:.9; font-size:16px; }

/* ========== 带侧边栏布局 ========== */
.page-layout { display:grid; grid-template-columns:1fr 280px; gap:30px; align-items:start; padding:40px 0; max-width:1200px; margin:0 auto; }
.page-layout.full-width { grid-template-columns:1fr; }
.main-content { background:#fff; border-radius:12px; padding:32px; box-shadow:0 2px 12px rgba(0,0,0,.04); min-width:0; }
.sidebar { position:sticky; top:130px; }
.sidebar-widget { background:#fff; border-radius:12px; padding:24px; margin-bottom:20px; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.sidebar-widget h3 { font-size:18px; color:#0f172a; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid #0ea5e9; display:flex; align-items:center; gap:8px; }
.sidebar-widget h3::before { content:''; width:4px; height:18px; background:#0369a1; border-radius:2px; }
.cat-list li a { display:block; padding:10px 14px; font-size:14px; color:#4b5563; border-radius:6px; margin-bottom:4px; transition:all .2s; }
.cat-list li a:hover { background:#f0f9ff; color:#0369a1; }
.cat-list li a.active { background:#f0f9ff; color:#0369a1; font-weight:600; border-left:4px solid #0369a1; padding-left:10px; }
.cat-list ul.sub-list { margin:6px 0 0 16px; }
.cat-list ul.sub-list li a { font-size:13px; padding:6px 10px; }
.cta-card { background:linear-gradient(135deg,#0369a1,#0ea5e9); color:#fff; text-align:center; }
.cta-card h3 { color:#fff; border-bottom-color:rgba(255,255,255,.3); }
.cta-card h3::before { background:#fef08a; }
.cta-card .contact-list { margin:16px 0; }
.cta-card .contact-list li { padding:8px 0; font-size:14px; display:flex; align-items:center; gap:8px; justify-content:center; }
.cta-card .btn-white { background:#fff; color:#0369a1; display:inline-block; padding:10px 24px; border-radius:6px; font-weight:600; margin-top:8px; }
.cta-card .btn-white:hover { background:#f0f9ff; }

/* 首页保留原有布局——在典型产品板块之后增加侧栏式布局区不适合，首页主要区域使用通栏 */

/* 分类区块 */
.category-section { margin-bottom:50px; padding-bottom:40px; border-bottom:1px dashed #e5e7eb; }
.category-section:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.category-header { margin-bottom:24px; }
.category-header h2 { font-size:24px; color:#0f172a; margin-bottom:8px; display:flex; align-items:center; gap:10px; }
.category-header .cat-icon-big { font-size:36px; }
.category-header p { color:#6b7280; font-size:15px; margin-left:46px; }

/* 技术列表 */
.tech-layout { display:grid; grid-template-columns:200px 1fr; gap:30px; }
.tech-cat-nav { background:#fff; border-radius:12px; padding:20px; box-shadow:0 2px 12px rgba(0,0,0,.04); height:fit-content; position:sticky; top:130px; }
.tech-cat-nav h4 { font-size:16px; color:#0f172a; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #e5e7eb; }
.tech-cat-nav li a { display:block; padding:10px 12px; font-size:14px; color:#4b5563; border-radius:6px; margin-bottom:4px; }
.tech-cat-nav li a:hover, .tech-cat-nav li a.active { background:#f0f9ff; color:#0369a1; font-weight:600; }
.tech-list { background:#fff; border-radius:12px; padding:30px; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.tech-group { margin-bottom:36px; }
.tech-group h3 { font-size:20px; color:#0f172a; margin-bottom:16px; padding-left:12px; border-left:4px solid #0ea5e9; }
.tech-item { padding:18px 0; border-bottom:1px solid #f1f5f9; transition:all .2s; }
.tech-item:last-child { border-bottom:none; }
.tech-item:hover { padding-left:8px; }
.tech-item h4 a { font-size:17px; color:#1f2937; font-weight:600; }
.tech-item h4 a:hover { color:#0369a1; }
.tech-item .meta { font-size:13px; color:#9ca3af; margin:8px 0; }
.tech-item .meta span { margin-right:16px; }
.tech-item .desc { color:#6b7280; font-size:14px; }

/* 文章详情 */
.article { line-height:1.8; color:#374151; }
.article h2 { font-size:22px; color:#0f172a; margin:28px 0 14px; padding-left:12px; border-left:4px solid #0ea5e9; }
.article h3 { font-size:18px; color:#0f172a; margin:22px 0 12px; }
.article p { margin-bottom:14px; font-size:15px; }
.article ul { margin:14px 0 14px 24px; }
.article ul li { list-style:disc; margin-bottom:8px; font-size:15px; }
.article .info-box { background:#f0f9ff; border-left:4px solid #0ea5e9; padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; }
.param-table { width:100%; border-collapse:collapse; margin:20px 0; font-size:14px; }
.param-table th, .param-table td { padding:12px 16px; text-align:left; border:1px solid #e5e7eb; }
.param-table th { background:#f1f5f9; font-weight:600; color:#0f172a; }

/* 联系 */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.contact-info h3, .contact-form h3 { font-size:22px; color:#0f172a; margin-bottom:20px; }
.contact-item { display:flex; gap:14px; margin-bottom:24px; }
.contact-icon { font-size:28px; width:50px; text-align:center; flex-shrink:0; }
.contact-text h4 { font-size:16px; color:#0f172a; margin-bottom:4px; }
.contact-text p { color:#4b5563; font-size:15px; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:14px; color:#374151; margin-bottom:6px; font-weight:500; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:12px 14px; border:1px solid #d1d5db; border-radius:8px; font-size:14px; font-family:inherit; transition:border .2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:#0ea5e9; box-shadow:0 0 0 3px rgba(14,165,233,.1); }
.form-group textarea { min-height:120px; resize:vertical; }

/* CTA */
.cta-section { text-align:center; }

/* 页脚 */
.footer { background:#0f172a; color:#cbd5e1; padding:50px 0 20px; margin-top:40px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:30px; }
.footer-col h4 { color:#fff; font-size:16px; margin-bottom:16px; }
.footer-col p { font-size:14px; line-height:1.8; color:#94a3b8; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a { color:#94a3b8; font-size:14px; }
.footer-col ul li a:hover { color:#0ea5e9; }
.footer-bottom { text-align:center; padding-top:20px; border-top:1px solid #1e293b; font-size:14px; color:#94a3b8; }
.footer-bottom a { color:#94a3b8; }
.footer-bottom a:hover { color:#0ea5e9; }
.beian { margin-top:8px; display:block; }
.back-top { position:fixed; bottom:30px; right:30px; width:48px; height:48px; background:#0369a1; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; cursor:pointer; box-shadow:0 4px 12px rgba(3,105,161,.3); transition:all .3s; opacity:0; visibility:hidden; z-index:99; }
.back-top.show { opacity:1; visibility:visible; }
.back-top:hover { background:#0ea5e9; transform:translateY(-3px); }

/* 移动端 */
@media (max-width:968px) {
    .category-grid, .products-grid, .advantages-grid { grid-template-columns:repeat(2,1fr); }
    .hero-container { flex-direction:column; text-align:center; }
    .hero-text h1 { font-size:32px; }
    .hero-icon { font-size:140px; }
    .hero-buttons { justify-content:center; }
    .page-layout { grid-template-columns:1fr; }
    .sidebar { position:static; order:-1; }
    .tech-layout { grid-template-columns:1fr; }
    .tech-cat-nav { position:static; }
    .contact-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .top-bar-left { display:none; }
    .top-bar-container { justify-content:center; }
}
@media (max-width:640px) {
    .nav-menu { display:none; position:absolute; top:72px; left:0; right:0; background:#fff; flex-direction:column; gap:0; padding:10px 0; box-shadow:0 4px 12px rgba(0,0,0,.1); }
    .nav-menu.open { display:flex; }
    .nav-menu a { padding:14px 24px; }
    .hamburger { display:block; }
    .category-grid, .products-grid, .advantages-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .hero-text h1 { font-size:26px; }
    .page-header h1 { font-size:26px; }
    .section { padding:40px 0; }
    .main-content { padding:20px; }
}
