/* roulang page: index */
:root {
            --primary: #2D5A43;
            --primary-hover: #224533;
            --accent: #E07A5F;
            --accent-hover: #c9654c;
            --bg-canvas: #F9F8F6;
            --surface-card: #FFFFFF;
            --surface-dark: #1B2A26;
            --text-main: #2A322E;
            --text-muted: #6C7570;
            --border-line: #E6E4DE;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--bg-canvas);
            color: var(--text-main);
            letter-spacing: 0.02em;
            line-height: 1.75;
            overflow-x: hidden;
        }

        .soft-card {
            background-color: var(--surface-card);
            border: 1px solid var(--border-line);
            border-radius: 1rem;
            transition: all 0.3s ease;
        }
        .soft-card:hover {
            box-shadow: 0 12px 30px -8px rgba(27, 42, 38, 0.08);
            transform: translateY(-2px);
        }

        .btn-primary {
            background-color: var(--primary);
            color: #ffffff;
            transition: all 0.25s ease;
        }
        .btn-primary:hover {
            background-color: var(--primary-hover);
            box-shadow: 0 4px 14px rgba(45, 90, 67, 0.25);
        }

        .btn-accent {
            background-color: var(--accent);
            color: #ffffff;
            transition: all 0.25s ease;
        }
        .btn-accent:hover {
            background-color: var(--accent-hover);
            box-shadow: 0 4px 14px rgba(224, 122, 95, 0.3);
        }

        .section-py {
            padding-top: 5.5rem;
            padding-bottom: 5.5rem;
        }
        @media (max-width: 768px) {
            .section-py {
                padding-top: 3.5rem;
                padding-bottom: 3.5rem;
            }
        }
