/* roulang page: index */
:root {
            --primary-dark: #0B192C;
            --primary-deep: #060D17;
            --accent-teal: #00A88F;
            --accent-emerald: #00C49F;
            --accent-cyan: #0EA5E9;
            --text-main: #1E293B;
            --text-muted: #64748B;
            --bg-canvas: #F8FAFC;
            --border-soft: rgba(148, 163, 184, 0.2);
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--bg-canvas);
            color: var(--text-main);
            overflow-x: hidden;
        }

        .section-anchor {
            scroll-margin-top: 118px;
        }

        .bg-mesh-dark {
            background-color: var(--primary-deep);
            background-image: radial-gradient(circle at 15% 50%, rgba(0, 168, 143, 0.12) 0%, transparent 45%),
                              radial-gradient(circle at 85% 30%, rgba(14, 165, 233, 0.15) 0%, transparent 45%);
        }

        .card-biotech {
            background: #ffffff;
            border: 1px solid var(--border-soft);
            box-shadow: 0 4px 20px -2px rgba(11, 25, 44, 0.05);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .card-biotech:hover {
            transform: translateY(-4px);
            border-color: rgba(0, 168, 143, 0.4);
            box-shadow: 0 16px 32px -4px rgba(0, 168, 143, 0.12);
        }

        .btn-glow-teal {
            background: linear-gradient(135deg, #00A88F 0%, #008772 100%);
            box-shadow: 0 4px 14px rgba(0, 168, 143, 0.35);
            transition: all 0.25s ease;
        }

        .btn-glow-teal:hover {
            background: linear-gradient(135deg, #00C49F 0%, #00A88F 100%);
            box-shadow: 0 6px 20px rgba(0, 168, 143, 0.5);
            transform: translateY(-1px);
        }

        .badge-pill {
            display: inline-flex;
            align-items: center;
            padding: 0.25rem 0.75rem;
            border-radius: 9999px;
            font-size: 0.8125rem;
            font-weight: 500;
        }

        /* 移动端菜单过渡控制 */
        #mobile-menu {
            transition: max-height 0.35s ease-in-out, opacity 0.25s ease;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }
        #mobile-menu.open {
            max-height: 520px;
            opacity: 1;
        }
