/* roulang page: index */
:root {
            --primary-gradient: linear-gradient(135deg, #0e7490 0%, #059669 100%);
            --hero-bg-overlay: linear-gradient(180deg, rgba(15, 30, 46, 0.88) 0%, rgba(14, 116, 144, 0.75) 100%);
            --card-shadow: 0 10px 30px -5px rgba(14, 116, 144, 0.08);
            --card-hover-shadow: 0 20px 40px -10px rgba(14, 116, 144, 0.16);
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: #f8fafc;
            color: #334155;
            overflow-x: hidden;
        }
        .bg-medical-gradient {
            background-image: var(--primary-gradient);
        }
        .medical-card {
            box-shadow: var(--card-shadow);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .medical-card:hover {
            box-shadow: var(--card-hover-shadow);
            transform: translateY(-4px);
        }
        .badge-pulse {
            position: relative;
        }
        .badge-pulse::after {
            content: '';
            position: absolute;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #10b981;
            top: 50%;
            left: 8px;
            transform: translateY(-50%);
            box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
            animation: pulse-ring 2s infinite cubic-bezier(0.45, 0, 0.2, 1);
        }
        @keyframes pulse-ring {
            0% {
                transform: translateY(-50%) scale(0.95);
                box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
            }
            70% {
                transform: translateY(-50%) scale(1);
                box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
            }
            100% {
                transform: translateY(-50%) scale(0.95);
                box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
            }
        }
        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease-out, opacity 0.3s ease;
            opacity: 0;
        }
        .accordion-content.open {
            max-height: 400px;
            opacity: 1;
        }
