:root {
            --primary-color: #2563eb;
            --primary-light: #60a5fa;
            --accent-color: #06b6d4;
            --brand-purple: #7c3aed;
            --brand-orange: #f97316;
            --gradient-text: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);
            --hero-bg-light: #f8fafc;
            --hero-bg-dark: #0f172a;
            --glass-bg-light: rgba(255, 255, 255, 0.8);
            --glass-bg-dark: rgba(15, 23, 42, 0.7);
            --glass-border-light: rgba(255, 255, 255, 0.6);
            --glass-border-dark: rgba(255, 255, 255, 0.1);
        }

        html { scroll-padding-top: 80px; }
        body { font-family: 'Inter', 'Noto Sans SC', sans-serif; overflow-x: hidden; }

        .reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.5, 0, 0, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        /* --- 导航栏 --- */
        .navbar {
            backdrop-filter: blur(12px);
            background-color: rgba(255,255,255,0.85) !important;
            border-bottom: 1px solid rgba(0,0,0,0.05);
            padding: 1rem 0;
            transition: all 0.3s ease;
            box-shadow: 0 4px 24px rgba(0,0,0,0.06);
        }
        [data-bs-theme="dark"] .navbar {
            background-color: rgba(15, 23, 42, 0.85) !important;
            border-bottom: 1px solid rgba(255,255,255,0.05);
            box-shadow: 0 4px 24px rgba(0,0,0,0.4);
        }
        .nav-link { font-weight: 500; margin: 0 5px; position: relative; color: var(--bs-body-color); }
        .nav-link::after { content: ''; position: absolute; width: 0; height: 2px; bottom: 0; left: 50%; background: var(--primary-color); transition: all 0.3s; transform: translateX(-50%); }
        .nav-link:hover::after, .nav-link.active::after { width: 80%; }
        .nav-link.active { color: var(--primary-color) !important; }

        /* --- Hero Section (Optimized) --- */
        .hero-section {
            background-color: var(--hero-bg-light);
            background-image: radial-gradient(rgba(148, 163, 184, 0.2) 1px, transparent 1px);
            background-size: 30px 30px;
            padding: 200px 0 160px;
            position: relative;
            overflow: hidden;
            text-align: center;
        }
        [data-bs-theme="dark"] .hero-section {
            background-color: var(--hero-bg-dark);
            background-image: radial-gradient(rgba(148, 163, 184, 0.1) 1px, transparent 1px);
        }
        
        .world-map-bg {
            position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
            width: 100%; height: 100%;
            background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2394a3b8' fill-opacity='0.15'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3e");
            mask-image: radial-gradient(circle, black 30%, transparent 70%);
            -webkit-mask-image: radial-gradient(circle, black 30%, transparent 70%);
            z-index: 0; pointer-events: none;
        }

        .hero-glow {
            position: absolute; border-radius: 50%; filter: blur(100px); z-index: 0; opacity: 0.5;
            animation: breathe 10s infinite alternate;
        }
        .glow-1 { width: 600px; height: 600px; background: radial-gradient(circle, rgba(37, 99, 235, 0.2) 0%, transparent 70%); top: -20%; left: 10%; }
        .glow-2 { width: 500px; height: 500px; background: radial-gradient(circle, rgba(6, 182, 212, 0.2) 0%, transparent 70%); bottom: -20%; right: 10%; animation-delay: -5s; }
        @keyframes breathe {
            0% { transform: scale(1) translate(0, 0); opacity: 0.4; }
            100% { transform: scale(1.1) translate(20px, 20px); opacity: 0.6; }
        }

        .floating-icon {
            position: absolute; font-size: 3rem; color: var(--primary-color); opacity: 0.05; z-index: 0;
            animation: floatIcon 8s ease-in-out infinite;
        }
        [data-bs-theme="dark"] .floating-icon { opacity: 0.1; color: white; }
        .float-1 { top: 15%; left: 15%; font-size: 4rem; animation-duration: 12s; }
        .float-2 { top: 25%; right: 20%; font-size: 3rem; animation-delay: 2s; animation-duration: 10s; }
        .float-3 { bottom: 20%; left: 25%; font-size: 3.5rem; animation-delay: 4s; animation-duration: 14s; }
        @keyframes floatIcon {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(5deg); }
        }

        .title-highlight { position: relative; display: inline-block; z-index: 1; }
        .title-highlight::after {
            content: ''; position: absolute; bottom: 5px; left: -5px; right: -5px; height: 12px;
            background-color: rgba(37, 99, 235, 0.15); z-index: -1; transform: skewX(-15deg); border-radius: 4px;
        }
        [data-bs-theme="dark"] .title-highlight::after { background-color: rgba(37, 99, 235, 0.3); }
        
        .hero-values {
            margin-top: 60px; padding: 20px; background: var(--glass-bg-light); border: 1px solid var(--glass-border-light);
            border-radius: 50px; display: inline-flex; align-items: center; gap: 30px; backdrop-filter: blur(10px);
        }
        [data-bs-theme="dark"] .hero-values { background: var(--glass-bg-dark); border-color: var(--glass-border-dark); }
        .value-item { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--bs-body-color); transition: 0.3s; }
        .value-item i { color: var(--primary-color); }
        .value-item:hover { transform: translateY(-2px); color: var(--primary-color); }
        .value-divider { width: 1px; height: 20px; background-color: rgba(0,0,0,0.1); }
        [data-bs-theme="dark"] .value-divider { background-color: rgba(255,255,255,0.1); }

        .scroll-hint {
            position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
            display: flex; flex-direction: column; align-items: center; gap: 10px; opacity: 0.6; animation: fadeUp 2s infinite;
        }
        .mouse-icon { width: 26px; height: 40px; border: 2px solid var(--bs-body-color); border-radius: 20px; position: relative; }
        .mouse-icon::before {
            content: ''; position: absolute; top: 6px; left: 50%; transform: translateX(-50%);
            width: 4px; height: 4px; background: var(--bs-body-color); border-radius: 50%; animation: scrollWheel 2s infinite;
        }
        @keyframes scrollWheel { 0% { top: 6px; opacity: 1; } 100% { top: 20px; opacity: 0; } }
        @keyframes fadeUp { 0%, 100% { opacity: 0.6; transform: translate(-50%, 0); } 50% { opacity: 1; transform: translate(-50%, 5px); } }

        /* --- Intro Section --- */
        .intro-img-container {
            position: relative; border-radius: 24px; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,0.1);
        }
        .intro-img-container::after {
            content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
        }
        .intro-stats-row {
            display: flex; gap: 30px; margin-top: 30px; padding-top: 30px; border-top: 1px solid rgba(0,0,0,0.1);
        }
        [data-bs-theme="dark"] .intro-stats-row { border-color: rgba(255,255,255,0.1); }
        .intro-stat h4 { color: var(--primary-color); font-weight: 800; margin-bottom: 5px; }
        .intro-quote {
            border-left: 4px solid var(--primary-color); padding-left: 20px; font-style: italic;
            color: var(--bs-secondary-color); margin-top: 20px;
        }

        /* --- Global Footprint --- */
        .global-section { position: relative; background-color: #0f172a; color: white; padding: 80px 0; overflow: hidden; }
        .map-bg {
            position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
            width: 80%; height: 80%; background-image: radial-gradient(#334155 2px, transparent 2px);
            background-size: 20px 20px; opacity: 0.3; mask-image: radial-gradient(circle, black 40%, transparent 80%);
        }
        .pulse-dot {
            position: absolute; width: 10px; height: 10px; background: var(--accent-color);
            border-radius: 50%; box-shadow: 0 0 15px var(--accent-color);
        }
        .pulse-dot::after {
            content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
            width: 30px; height: 30px; border: 1px solid var(--accent-color); border-radius: 50%; animation: pulse 2s infinite;
        }
        @keyframes pulse { 0% { width: 10px; height: 10px; opacity: 1; } 100% { width: 40px; height: 40px; opacity: 0; } }

        /* --- History Timeline --- */
        .history-section { position: relative; padding: 80px 0; }
        .timeline-vertical { position: relative; max-width: 800px; margin: 0 auto; }
        .timeline-vertical::before {
            content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px;
            background: #e2e8f0; transform: translateX(-50%);
        }
        [data-bs-theme="dark"] .timeline-vertical::before { background: #334155; }
        .timeline-item { display: flex; justify-content: center; align-items: center; margin-bottom: 60px; position: relative; }
        .timeline-content {
            width: 45%; padding: 25px; background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 16px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08); transition: 0.3s; position: relative;
        }
        [data-bs-theme="dark"] .timeline-content {
            background: #1e293b; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 10px 40px rgba(0,0,0,0.4);
        }
        .timeline-content:hover { transform: translateY(-5px); border-color: var(--primary-color); }
        .timeline-date {
            position: absolute; left: 50%; transform: translateX(-50%); background: var(--primary-color); color: white;
            padding: 5px 15px; border-radius: 20px; font-weight: bold; font-size: 0.9rem; z-index: 2; border: 4px solid var(--bs-body-bg);
        }
        .timeline-item:nth-child(odd) .timeline-content { margin-left: auto; text-align: left; }
        .timeline-item:nth-child(even) .timeline-content { margin-right: auto; text-align: right; }
        
        /* --- Culture (Bento Grid - Fixed) --- */
        .bento-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }
        .bento-card {
            background: white;
            border-radius: 24px;
            padding: 40px 30px;
            border: 1px solid rgba(0,0,0,0.05);
            /* 增加顶部彩色边框 */
            border-top: 4px solid transparent; 
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
            height: 100%;
            box-shadow: 0 10px 30px rgba(0,0,0,0.03);
        }
        [data-bs-theme="dark"] .bento-card {
            background: #1e293b;
            border-color: rgba(255,255,255,0.05);
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }
        .bento-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.08);
        }
        
        /* 装饰背景大图标 */
        .bento-bg-icon {
            position: absolute;
            bottom: -20px;
            right: -20px;
            font-size: 8rem;
            opacity: 0.05;
            transform: rotate(-15deg);
            transition: all 0.5s ease;
            pointer-events: none;
        }
        .bento-card:hover .bento-bg-icon {
            transform: rotate(0deg) scale(1.1);
            opacity: 0.1;
        }

        /* 内部图标容器 */
        .bento-icon-wrapper {
            width: 70px; height: 70px; border-radius: 20px; display: flex; align-items: center; justify-content: center;
            font-size: 2rem; margin-bottom: 25px; transition: 0.3s; position: relative; z-index: 2;
        }
        .bento-card:hover .bento-icon-wrapper { transform: scale(1.1); border-radius: 50%; }

        /* 风格 1: 使命 (Mission) - 蓝色 */
        .bento-mission {
            border-top-color: var(--primary-color);
            background: linear-gradient(180deg, rgba(37, 99, 235, 0.02) 0%, white 100%);
        }
        [data-bs-theme="dark"] .bento-mission { background: linear-gradient(180deg, rgba(37, 99, 235, 0.1) 0%, #1e293b 100%); }
        .bento-mission .bento-icon-wrapper { background: rgba(37, 99, 235, 0.1); color: var(--primary-color); }
        .bento-mission .bento-bg-icon { color: var(--primary-color); }
        
        /* 风格 2: 愿景 (Vision) - 紫色 */
        .bento-vision {
            border-top-color: var(--brand-purple);
            background: linear-gradient(180deg, rgba(124, 58, 237, 0.02) 0%, white 100%);
        }
        [data-bs-theme="dark"] .bento-vision { background: linear-gradient(180deg, rgba(124, 58, 237, 0.1) 0%, #1e293b 100%); }
        .bento-vision .bento-icon-wrapper { background: rgba(124, 58, 237, 0.1); color: var(--brand-purple); }
        .bento-vision .bento-bg-icon { color: var(--brand-purple); }

        /* 风格 3: 价值观 (Values) - 橙色 */
        .bento-values {
            border-top-color: var(--brand-orange);
            background: linear-gradient(180deg, rgba(249, 115, 22, 0.02) 0%, white 100%);
        }
        [data-bs-theme="dark"] .bento-values { background: linear-gradient(180deg, rgba(249, 115, 22, 0.1) 0%, #1e293b 100%); }
        .bento-values .bento-icon-wrapper { background: rgba(249, 115, 22, 0.1); color: var(--brand-orange); }
        .bento-values .bento-bg-icon { color: var(--brand-orange); }

        /* --- Strengths (Optimized UI) --- */
        .strength-card {
            background: var(--glass-bg-light); border: 1px solid var(--glass-border-light); border-radius: 24px;
            padding: 30px 25px; position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            height: 100%; z-index: 1; text-align: left;
        }
        [data-bs-theme="dark"] .strength-card { background: var(--glass-bg-dark); border-color: var(--glass-border-dark); }
        .strength-card::before {
            content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px;
            background: linear-gradient(90deg, var(--primary-color), var(--brand-purple));
            transform: scaleX(0); transform-origin: left; transition: transform 0.4s ease;
        }
        .strength-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
        .strength-card:hover::before { transform: scaleX(1); }
        .strength-index {
            position: absolute; top: 15px; right: 20px; font-size: 3.5rem; font-weight: 900; line-height: 1;
            opacity: 0.05; color: var(--bs-body-color); font-family: 'Inter', sans-serif; transition: all 0.4s; z-index: -1; pointer-events: none;
        }
        .strength-card:hover .strength-index { opacity: 0.1; transform: translateY(-5px); color: var(--primary-color); }
        .strength-icon-box {
            width: 60px; height: 60px; background: rgba(37, 99, 235, 0.08); border-radius: 16px;
            display: flex; align-items: center; justify-content: center; font-size: 1.8rem; color: var(--primary-color);
            transition: all 0.4s; margin-bottom: 20px;
        }
        .strength-card:hover .strength-icon-box {
            background: var(--primary-color); color: white; transform: rotate(-10deg) scale(1.1); box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
        }
        
        /* --- Philosophy --- */
        .philosophy-section {
            position: relative; padding: 120px 0;
            background: url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=2072&auto=format&fit=crop') no-repeat center center;
            background-size: cover; background-attachment: fixed; overflow: hidden;
        }
        .philosophy-section::before {
            content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(15, 23, 42, 0.85); backdrop-filter: blur(3px);
        }
        .philosophy-card {
            background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 24px; padding: 0; overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); position: relative; z-index: 2;
        }
        .phil-badge {
            display: inline-block; padding: 6px 16px; border: 1px solid rgba(255,255,255,0.3);
            border-radius: 50px; color: rgba(255,255,255,0.9); font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 20px;
        }
        .phil-divider { width: 100%; height: 1px; background: rgba(255,255,255,0.1); margin: 30px 0; display: block; }
        @media (min-width: 768px) {
            .phil-divider { width: 1px; height: 100px; background: rgba(255,255,255,0.1); margin: 0 auto; }
            .phil-left { text-align: right; padding-right: 40px; }
            .phil-right { text-align: left; padding-left: 40px; }
        }
        
        /* Footer */
        .footer-premium { background-color: #020617; color: #94a3b8; padding: 80px 0 30px; }
        .footer-link { color: #94a3b8; text-decoration: none; transition: 0.2s; display: block; margin-bottom: 10px; }
        .footer-link:hover { color: white; }

        @media (max-width: 991px) {
            .hero-section { padding: 120px 0 60px; }
            .display-3 { font-size: 2.2rem; }
            .bento-grid { grid-template-columns: 1fr; }
            .intro-stats-row { flex-wrap: wrap; gap: 20px; }
            .intro-stat { width: 45%; }
            .timeline-vertical::before { left: 20px; }
            .timeline-item { flex-direction: column; align-items: flex-start; margin-bottom: 40px; position: relative; }
            .timeline-content { 
                width: calc(100% - 50px); margin-left: 50px !important; margin-right: 0 !important; text-align: left !important; 
            }
            .timeline-date { left: 20px; transform: translate(-50%, -50%); top: 0; margin-top: 0; }
            .phil-left, .phil-right { text-align: center !important; padding: 0 !important; }
            .philosophy-card .p-5 { padding: 2rem !important; }
            .phil-divider { width: 100%; height: 1px; margin: 30px 0; }
        }