/* roulang page: index */
:root {
            --color-primary: #1d4ed8;
            --color-safety: #ea580c;
            --color-dark: #0f172a;
            --color-text: #334155;
            --color-heading: #0f172a;
            --color-border: #e2e8f0;
        }
        body {
            font-feature-settings: "cv02", "cv03", "cv04", "cv11";
            line-height: 1.75;
            color: var(--color-text);
            background-color: #ffffff;
            overflow-x: hidden;
        }
        .text-balanced {
            text-wrap: balance;
        }
        .tech-grid-bg {
            background-size: 32px 32px;
            background-image: 
                linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
        }
        .light-grid-bg {
            background-size: 32px 32px;
            background-image: 
                linear-gradient(to right, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(15, 23, 42, 0.03) 1px, transparent 1px);
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }
