/* roulang page: index */
:root {
            --primary: #0F172A;
            --secondary: #1E293B;
            --accent: #2563EB;
            --cyan-accent: #06B6D4;
            --bg-light: #F8FAFC;
            --text-main: #0F172A;
            --text-body: #334155;
            --text-muted: #64748B;
            --border-color: rgba(226, 232, 240, 0.8);
            --radius-outer: 16px;
            --radius-card: 12px;
            --radius-btn: 8px;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: var(--font-sans);
            color: var(--text-body);
            background-color: var(--bg-light);
            overflow-x: hidden;
        }

        .header-glass {
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--border-color);
        }

        .card-shadow {
            box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .card-shadow:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 30px -4px rgba(15, 23, 42, 0.12);
        }

        .hero-pattern {
            background-image: linear-gradient(to right, rgba(15, 23, 42, 0.88), rgba(30, 41, 59, 0.82)), url('/assets/images/00f247cb86ac35b9.webp');
            background-size: cover;
            background-position: center;
        }

        .tab-btn.active {
            color: #2563EB;
            border-bottom: 2px solid #2563EB;
            font-weight: 600;
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease-out;
        }

        .accordion-item.active .accordion-content {
            max-height: 250px;
        }

        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }
