/* roulang page: index */
:root {
            --brand-teal: #0D5C75;
            --brand-dark: #1A2B3C;
            --brand-amber: #E08A1E;
            --bg-canvas: #F8FAFC;
        }
        * { box-sizing: border-box; }
        body {
            font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--bg-canvas);
            color: #1e293b;
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
        }
        .hero-diagonal {
            clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
        }
        @media (max-width: 768px) {
            .hero-diagonal {
                clip-path: polygon(0 0, 100% 0, 100% 96%, 0 100%);
            }
        }
        .smooth-shadow {
            box-shadow: 0 4px 20px -2px rgba(13, 92, 117, 0.08), 0 2px 6px -2px rgba(0, 0, 0, 0.04);
        }
        .accordion-content {
            transition: max-height 0.3s ease-out, opacity 0.25s ease-out;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }
        .accordion-content.open {
            max-height: 280px;
            opacity: 1;
        }
        .badge-pulse {
            position: relative;
        }
        .badge-pulse::after {
            content: '';
            position: absolute;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #22c55e;
            top: 50%;
            left: 8px;
            transform: translateY(-50%);
            animation: pulseDot 2s infinite;
        }
        @keyframes pulseDot {
            0% { transform: translateY(-50%) scale(0.95); opacity: 0.8; }
            50% { transform: translateY(-50%) scale(1.3); opacity: 0.3; }
            100% { transform: translateY(-50%) scale(0.95); opacity: 0.8; }
        }
