/* roulang page: index */
:root {
            --primary: #0F52BA;
            --primary-hover: #0C4196;
            --accent: #2563EB;
            --bg-light: #F8FAFC;
            --text-dark: #0F172A;
            --text-body: #334155;
            --text-muted: #64748B;
            --card-radius: 14px;
            --shadow-soft: 0 4px 20px -2px rgba(15, 82, 186, 0.07);
            --shadow-hover: 0 12px 28px -4px rgba(15, 82, 186, 0.15);
        }

        html {
            scroll-behavior: smooth;
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
        }

        body {
            background-color: #FFFFFF;
            color: var(--text-body);
            overflow-x: hidden;
        }

        .custom-container {
            max-width: 1240px;
            margin-left: auto;
            margin-right: auto;
            padding-left: 24px;
            padding-right: 24px;
        }

        .soft-card {
            background: #FFFFFF;
            border-radius: var(--card-radius);
            box-shadow: var(--shadow-soft);
            border: 1px solid #E2E8F0;
            transition: all 0.28s ease-in-out;
        }

        .soft-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-hover);
            border-color: #CBD5E1;
        }

        .hero-banner-bg {
            background-image: linear-gradient(135deg, rgba(15, 23, 42, 0.88) 0%, rgba(15, 82, 186, 0.82) 100%), url('/assets/images/ef82db3407a804b7.jpg');
            background-size: cover;
            background-position: center;
        }

        .dark-section-bg {
            background-image: linear-gradient(180deg, #0F172A 0%, #1E293B 100%);
        }

        details summary::-webkit-details-marker {
            display: none;
        }

        .nav-link {
            position: relative;
            color: #334155;
            transition: color 0.2s;
        }

        .nav-link:hover {
            color: #0F52BA;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -4px;
            left: 0;
            background-color: #0F52BA;
            transition: width 0.2s ease-in-out;
        }

        .nav-link:hover::after {
            width: 100%;
        }
