@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap');
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }

/* ===== 灰蓝色主题色板 ===== */
:root {
  --primary: #4a6fa5;
  --primary-dark: #3a5a8a;
  --primary-light: #6b8fc5;
  --accent: #5b9bd5;
  --deep: #1b2838;
  --deep-light: #2c3e50;
  --bg-light: #f4f6f8;
  --bg-card: #e8ecf1;
  --text-dark: #1a1a2e;
  --text-muted: #6b7280;
  --border-light: #dce1e8;
  --glow-color: rgba(74, 111, 165, 0.3);
}

/* ===== 入场动画 ===== */
.fade-in-up-delay-1 { transition-delay:0.1s; }
.fade-in-up-delay-2 { transition-delay:0.2s; }
.fade-in-up-delay-3 { transition-delay:0.3s; }
.fade-in-up-delay-4 { transition-delay:0.4s; }
.fade-in-up-delay-5 { transition-delay:0.5s; }
.fade-in-up-delay-6 { transition-delay:0.6s; }

/* ===== 导航 ===== */
.nav-link { position:relative; }
.nav-link::after { content:''; position:absolute; bottom:-2px; left:50%; width:0; height:2px; background:var(--primary); transition:all 0.3s ease; transform:translateX(-50%); }
.nav-link:hover::after { width:80%; }
.nav-link.active::after { width:80%; }

/* ===== 背景效果 ===== */
.hero-gradient { background:linear-gradient(160deg, #1b2838 0%, #2c3e50 30%, #4a6fa5 60%, #1b2838 100%); }
.tech-blue-bg { background:linear-gradient(135deg, #1b2838, #2c3e50 40%, #4a6fa5 70%, #5b9bd5) !important; }
.tech-blue-dark { background:linear-gradient(160deg, #1b2838, #2c3e50 50%, #3a5a8a) !important; }

/* ===== 统一页面BANNER ===== */
.page-banner{height:340px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:80px;background:linear-gradient(135deg,#1b2838,#2c3e50 40%,#4a6fa5 70%,#5b9bd5);background-size:cover;background-position:center;}
.page-banner.has-bgimg{background-size:cover !important;background-repeat:no-repeat !important;background-position:center center !important;background-color:#dfe6f2 !important;}
.page-banner.has-bgimg::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(27,40,56,.7),rgba(44,62,80,.55));z-index:0;pointer-events:none;display:none !important;}
.page-banner .banner-bg{position:absolute;inset:0;z-index:0;}
.page-banner .banner-content{position:relative;z-index:1;text-align:center;padding:0 24px;}
.page-banner h1{font-size:2.5rem;font-weight:700;margin-bottom:8px;letter-spacing:-0.02em;}
@media(max-width:640px){.page-banner{height:260px;padding-top:60px;}.page-banner h1{font-size:1.6rem;}.page-banner .banner-sub{font-size:0.65rem;}.page-banner .banner-desc{font-size:0.8rem;}}
.page-banner.has-bgimg h1{color:#2b4f98 !important;text-shadow:none !important;}
.page-banner .banner-sub{color:rgba(107,143,197,0.7);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.25em;margin-bottom:4px;}
.page-banner.has-bgimg .banner-sub{color:#4a6fa5 !important;}
.page-banner .banner-desc{color:rgba(156,163,175,0.9);font-size:0.9rem;max-width:600px;margin:0 auto;line-height:1.6;}
.page-banner.has-bgimg .banner-desc{color:#000 !important;}
.tech-grid-bg { background-image:linear-gradient(rgba(74,111,165,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(74,111,165,0.05) 1px, transparent 1px); background-size:40px 40px; }

@keyframes float-particle { 0%,100% { transform:translateY(0) scale(1); opacity:0; } 20% { opacity:0.8; } 80% { opacity:0.3; } 100% { transform:translateY(-80vh) scale(0); opacity:0; } }
.particle { position:absolute; width:3px; height:3px; background:rgba(74,111,165,0.6); border-radius:50%; animation:float-particle 8s ease-in infinite; pointer-events:none; }

@keyframes data-stream { 0% { opacity:0; transform:scaleY(0); } 20% { opacity:0.4; } 80% { opacity:0.2; } 100% { opacity:0; transform:scaleY(1); } }
.data-line { position:absolute; width:1px; background:linear-gradient(to bottom, transparent, rgba(74,111,165,0.15), transparent); animation:data-stream 4s ease-in-out infinite; }

.hexagon { width:60px; height:34.6px; background:rgba(74,111,165,0.06); position:absolute; clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%); border:1px solid rgba(74,111,165,0.1); }

/* ===== 卡片效果 ===== */
.glow-card { position:relative; transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.4s ease; }
.glow-card::before { content:''; position:absolute; inset:-1px; border-radius:inherit; padding:1px; background:linear-gradient(135deg, transparent 40%, rgba(74,111,165,0.3), transparent 60%); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity 0.5s ease; pointer-events:none; }
.glow-card:hover::before { opacity:1; }
.glow-card:hover { transform:translateY(-8px); box-shadow:0 20px 40px rgba(74,111,165,0.15), 0 0 30px rgba(74,111,165,0.05); }

.product-card { transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.4s ease; }
.product-card:hover { transform:translateY(-8px); box-shadow:0 20px 40px rgba(0,0,0,0.12); }
.product-card .btn-view { transition:all 0.3s ease; }
.product-card:hover .btn-view { background-color:var(--deep); color:white; transform:scale(1.05); }

.partner-card { transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.4s ease; }
.partner-card:hover { transform:translateY(-8px); box-shadow:0 20px 40px rgba(0,0,0,0.3); }

.glass-panel { background:rgba(255,255,255,0.6); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,0.3); }
.glass-dark { background:rgba(27,40,56,0.6); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,0.08); }

.corner-bracket { position:relative; }
.corner-bracket::before { content:''; position:absolute; top:8px; left:8px; width:20px; height:20px; border-top:2px solid rgba(74,111,165,0.2); border-left:2px solid rgba(74,111,165,0.2); pointer-events:none; }
.corner-bracket::after { content:''; position:absolute; bottom:8px; right:8px; width:20px; height:20px; border-bottom:2px solid rgba(74,111,165,0.2); border-right:2px solid rgba(74,111,165,0.2); pointer-events:none; }
.corner-bracket:hover::before, .corner-bracket:hover::after { border-color:rgba(74,111,165,0.5); transition:border-color 0.3s ease; }

#business-sectors .business-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2rem;
}

@media (max-width: 991px) {
    #business-sectors .business-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 639px) {
    #business-sectors .business-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ===== 按钮 ===== */
.tech-btn { position:relative; overflow:hidden; transition:all 0.3s ease; }
.tech-btn::after { content:''; position:absolute; top:50%; left:50%; width:0; height:0; background:rgba(74,111,165,0.15); border-radius:50%; transform:translate(-50%,-50%); transition:width 0.6s ease, height 0.6s ease; }
.tech-btn:hover::after { width:300px; height:300px; }

/* ===== 文字特效 ===== */
.glow-text { text-shadow:0 0 20px rgba(74,111,165,0.3), 0 0 40px rgba(74,111,165,0.1); }
@keyframes typing { from { width:0; } to { width:100%; } }
@keyframes blink { 0%,100% { border-right-color:transparent; } 50% { border-right-color:var(--primary); } }
@keyframes robotPulse { 0%,100% { opacity:0.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.05); } }
@keyframes pulseGlow { 0%,100% { box-shadow:0 0 0 0 rgba(74,111,165,0.4); } 50% { box-shadow:0 0 0 12px rgba(74,111,165,0); } }
.arrow-pulse { animation:pulseGlow 2s infinite; }

@keyframes scanline { 0% { transform:translateY(-100%); } 100% { transform:translateY(100vh); } }
.scanline::after { content:''; position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg, transparent, rgba(74,111,165,0.3), transparent); animation:scanline 3s linear infinite; pointer-events:none; }

.tech-tag { display:inline-block; padding:2px 10px; font-size:11px; border-radius:20px; background:rgba(74,111,165,0.08); color:var(--primary); border:1px solid rgba(74,111,165,0.15); letter-spacing:0.3px; }

/* ===== 禁用动效 ===== */
@media (prefers-reduced-motion: reduce) {
.fade-in-up { opacity:1; transform:none; transition:none; }
.product-card { transition:none; } .product-card:hover { transform:none; }
.nav-link::after { display:none; }
.partner-card { transition:none; } .partner-card:hover { transform:none; }
[class*="animate-"] { animation:none !important; }
.arrow-pulse { animation:none; }
.particle { display:none; }
.data-line { display:none; }
.scanline::after { display:none; }
}

/* ===== 产品页 ===== */
.stat-number{font-size:3rem;font-weight:700;line-height:1;background:linear-gradient(135deg,var(--deep),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.opacity-90 { opacity:0.5 !important; }

/* ===== SVG图标颜色覆盖（所有颜色→灰蓝） ===== */
.text-blue-50, .text-sky-50, .text-cyan-50, .text-teal-50, .text-green-50, .text-emerald-50, .text-lime-50, .text-yellow-50, .text-amber-50, .text-orange-50, .text-red-50, .text-rose-50, .text-pink-50, .text-purple-50, .text-indigo-50, .text-violet-50, .text-fuchsia-50 { color:#eef1f5 !important; }
.text-blue-100, .text-sky-100, .text-cyan-100, .text-teal-100, .text-green-100, .text-emerald-100, .text-lime-100, .text-yellow-100, .text-amber-100, .text-orange-100, .text-red-100, .text-rose-100, .text-pink-100, .text-purple-100, .text-indigo-100, .text-violet-100, .text-fuchsia-100 { color:#dce1e8 !important; }
.text-blue-200, .text-sky-200, .text-cyan-200, .text-teal-200, .text-green-200, .text-emerald-200, .text-lime-200, .text-yellow-200, .text-amber-200, .text-orange-200, .text-red-200, .text-rose-200, .text-pink-200, .text-purple-200, .text-indigo-200, .text-violet-200, .text-fuchsia-200 { color:#c5cdd8 !important; }
.text-blue-300, .text-sky-300, .text-cyan-300, .text-teal-300, .text-green-300, .text-emerald-300, .text-lime-300, .text-yellow-300, .text-amber-300, .text-orange-300, .text-red-300, .text-rose-300, .text-pink-300, .text-purple-300, .text-indigo-300, .text-violet-300, .text-fuchsia-300 { color:#9eacbf !important; }
.text-blue-400, .text-sky-400, .text-cyan-400, .text-teal-400, .text-green-400, .text-emerald-400, .text-lime-400, .text-yellow-400, .text-amber-400, .text-orange-400, .text-red-400, .text-rose-400, .text-pink-400, .text-purple-400, .text-indigo-400, .text-violet-400, .text-fuchsia-400 { color:#6b8fc5 !important; }
.text-blue-500, .text-sky-500, .text-cyan-500, .text-teal-500, .text-green-500, .text-emerald-500, .text-lime-500, .text-yellow-500, .text-amber-500, .text-orange-500, .text-red-500, .text-rose-500, .text-pink-500, .text-purple-500, .text-indigo-500, .text-violet-500, .text-fuchsia-500 { color:#4a6fa5 !important; }
.text-blue-600, .text-sky-600, .text-cyan-600, .text-teal-600, .text-green-600, .text-emerald-600, .text-lime-600, .text-yellow-600, .text-amber-600, .text-orange-600, .text-red-600, .text-rose-600, .text-pink-600, .text-purple-600, .text-indigo-600, .text-violet-600, .text-fuchsia-600 { color:#3a5a8a !important; }
.text-blue-700, .text-sky-700, .text-cyan-700, .text-teal-700, .text-green-700, .text-emerald-700, .text-lime-700, .text-yellow-700, .text-amber-700, .text-orange-700, .text-red-700, .text-rose-700, .text-pink-700, .text-purple-700, .text-indigo-700, .text-violet-700, .text-fuchsia-700 { color:#2c4a70 !important; }
.text-blue-800, .text-sky-800, .text-cyan-800, .text-teal-800, .text-green-800, .text-emerald-800, .text-lime-800, .text-yellow-800, .text-amber-800, .text-orange-800, .text-red-800, .text-rose-800, .text-pink-800, .text-purple-800, .text-indigo-800, .text-violet-800, .text-fuchsia-800 { color:#1b3a5a !important; }

.bg-blue-50, .bg-sky-50, .bg-cyan-50, .bg-teal-50, .bg-green-50, .bg-emerald-50, .bg-lime-50, .bg-yellow-50, .bg-amber-50, .bg-orange-50, .bg-red-50, .bg-rose-50, .bg-pink-50, .bg-purple-50, .bg-indigo-50, .bg-violet-50, .bg-fuchsia-50 { background-color:#eef1f5 !important; }
.bg-blue-100, .bg-sky-100, .bg-cyan-100, .bg-teal-100, .bg-green-100, .bg-emerald-100, .bg-lime-100, .bg-yellow-100, .bg-amber-100, .bg-orange-100, .bg-red-100, .bg-rose-100, .bg-pink-100, .bg-purple-100, .bg-indigo-100, .bg-violet-100, .bg-fuchsia-100 { background-color:#dce1e8 !important; }
.bg-blue-200, .bg-sky-200, .bg-cyan-200, .bg-teal-200, .bg-green-200, .bg-emerald-200, .bg-lime-200, .bg-yellow-200, .bg-amber-200, .bg-orange-200, .bg-red-200, .bg-rose-200, .bg-pink-200, .bg-purple-200, .bg-indigo-200, .bg-violet-200, .bg-fuchsia-200 { background-color:#c5cdd8 !important; }
.bg-blue-500, .bg-sky-500, .bg-cyan-500, .bg-teal-500, .bg-green-500, .bg-emerald-500, .bg-lime-500, .bg-yellow-500, .bg-amber-500, .bg-orange-500, .bg-red-500, .bg-rose-500, .bg-pink-500, .bg-purple-500, .bg-indigo-500, .bg-violet-500, .bg-fuchsia-500 { background-color:#4a6fa5 !important; }
.bg-blue-600, .bg-sky-600, .bg-cyan-600, .bg-teal-600, .bg-green-600, .bg-emerald-600, .bg-lime-600, .bg-yellow-600, .bg-amber-600, .bg-orange-600, .bg-red-600, .bg-rose-600, .bg-pink-600, .bg-purple-600, .bg-indigo-600, .bg-violet-600, .bg-fuchsia-600 { background-color:#3a5a8a !important; }

.border-blue-100, .border-sky-100, .border-cyan-100, .border-teal-100, .border-green-100, .border-emerald-100, .border-lime-100, .border-yellow-100, .border-amber-100, .border-orange-100, .border-red-100, .border-rose-100, .border-pink-100, .border-purple-100, .border-indigo-100, .border-violet-100, .border-fuchsia-100 { border-color:#dce1e8 !important; }
.border-blue-500, .border-sky-500, .border-cyan-500, .border-teal-500, .border-green-500, .border-emerald-500, .border-lime-500, .border-yellow-500, .border-amber-500, .border-orange-500, .border-red-500, .border-rose-500, .border-pink-500, .border-purple-500, .border-indigo-500, .border-violet-500, .border-fuchsia-500 { border-color:#4a6fa5 !important; }

.from-blue-50, .from-sky-50, .from-cyan-50, .from-teal-50, .from-green-50, .from-emerald-50, .from-lime-50, .from-yellow-50, .from-amber-50, .from-orange-50, .from-red-50, .from-rose-50, .from-pink-50, .from-purple-50, .from-indigo-50, .from-violet-50, .from-fuchsia-50 { --tw-gradient-from:#eef1f5 !important; }
.from-blue-100, .from-sky-100, .from-cyan-100, .from-teal-100, .from-green-100, .from-emerald-100, .from-lime-100, .from-yellow-100, .from-amber-100, .from-orange-100, .from-red-100, .from-rose-100, .from-pink-100, .from-purple-100, .from-indigo-100, .from-violet-100, .from-fuchsia-100 { --tw-gradient-from:#dce1e8 !important; }
.from-blue-500, .from-sky-500, .from-cyan-500, .from-teal-500, .from-green-500, .from-emerald-500, .from-lime-500, .from-yellow-500, .from-amber-500, .from-orange-500, .from-red-500, .from-rose-500, .from-pink-500, .from-purple-500, .from-indigo-500, .from-violet-500, .from-fuchsia-500 { --tw-gradient-from:#4a6fa5 !important; }

.to-blue-100, .to-sky-100, .to-cyan-100, .to-teal-100, .to-green-100, .to-emerald-100, .to-lime-100, .to-yellow-100, .to-amber-100, .to-orange-100, .to-red-100, .to-rose-100, .to-pink-100, .to-purple-100, .to-indigo-100, .to-violet-100, .to-fuchsia-100 { --tw-gradient-to:#dce1e8 !important; }
.to-blue-200, .to-sky-200, .to-cyan-200, .to-teal-200, .to-green-200, .to-emerald-200, .to-lime-200, .to-yellow-200, .to-amber-200, .to-orange-200, .to-red-200, .to-rose-200, .to-pink-200, .to-purple-200, .to-indigo-200, .to-violet-200, .to-fuchsia-200 { --tw-gradient-to:#c5cdd8 !important; }

.via-blue-50, .via-sky-50, .via-cyan-50, .via-teal-50, .via-green-50, .via-emerald-50, .via-lime-50, .via-yellow-50, .via-amber-50, .via-orange-50, .via-red-50, .via-rose-50, .via-pink-50, .via-purple-50, .via-indigo-50, .via-violet-50, .via-fuchsia-50 { --tw-gradient-via:#eef1f5 !important; }

.hover\:text-blue-600:hover, .hover\:text-sky-600:hover, .hover\:text-cyan-600:hover, .hover\:text-teal-600:hover, .hover\:text-green-600:hover, .hover\:text-emerald-600:hover, .hover\:text-lime-600:hover, .hover\:text-yellow-600:hover, .hover\:text-amber-600:hover, .hover\:text-orange-600:hover, .hover\:text-red-600:hover, .hover\:text-rose-600:hover, .hover\:text-pink-600:hover, .hover\:text-purple-600:hover, .hover\:text-indigo-600:hover, .hover\:text-violet-600:hover, .hover\:text-fuchsia-600:hover { color:#3a5a8a !important; }
.hover\:bg-orange-50\/50:hover, .hover\:bg-blue-50\/50:hover, .hover\:bg-sky-50\/50:hover, .hover\:bg-cyan-50\/50:hover, .hover\:bg-teal-50\/50:hover, .hover\:bg-green-50\/50:hover, .hover\:bg-amber-50\/50:hover, .hover\:bg-purple-50\/50:hover, .hover\:bg-red-50\/50:hover { background-color:rgba(74,111,165,0.05) !important; }
.hover\:text-orange-600:hover, .hover\:text-teal-600:hover, .hover\:text-cyan-600:hover, .hover\:text-amber-600:hover, .hover\:text-purple-600:hover, .hover\:text-green-600:hover, .hover\:text-red-600:hover { color:#3a5a8a !important; }

/* ===== 背景色灰蓝化 ===== */
.bg-gray-50 { background-color: #f0f2f6 !important; }
.bg-gray-100 { background-color: #e4e8ef !important; }
.bg-gray-200 { background-color: #d5dae4 !important; }
.bg-gray-800 { background-color: #2a3648 !important; }
.bg-gray-800\/50 { background-color: rgba(42,54,72,0.5) !important; }
.bg-gray-800\/60 { background-color: rgba(42,54,72,0.6) !important; }
.bg-gray-800\/80 { background-color: rgba(42,54,72,0.8) !important; }
.bg-gray-900 { background-color: #1b2838 !important; }
.bg-\[\#1A1A1A\] { background-color: #1b2838 !important; }
.bg-\[\#111\] { background: linear-gradient(135deg, #1b2838, #2c3e50) !important; }
.hover\:bg-gray-900:hover { background-color: #1b2838 !important; }
.from-gray-900 { --tw-gradient-from: #1b2838 !important; }
.border-gray-100 { border-color: #dce1e8 !important; }
.border-gray-200 { border-color: #c5cdd8 !important; }
.border-gray-900 { border-color: #2c3e50 !important; }
.text-gray-900 { color: #1a1a2e !important; }