

        /* =========================================
           02. RESET & BASE
        ========================================= */
        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
            -webkit-text-size-adjust: 100%;
            max-width: 100vw;
            overflow-x: hidden;
        }

        body {
            font-family: var(--font-main);
            color: var(--text-muted);
            background-color: var(--bg-primary);
            line-height: 1.65;
            font-size: 1rem;
            text-rendering: optimizeLegibility;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
            overflow-wrap: break-word;
            word-break: break-word;
            max-width: 100vw;
            width: 100%;
        }

        h1, h2, h3, h4, h5, h6 {
            color: var(--text-main);
            font-weight: 700;
            line-height: 1.15;
            letter-spacing: -0.025em;
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: color var(--transition-fast);
        }

        ul, ol {
            list-style: none;
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        button, input {
            font-family: inherit;
            font-size: inherit;
        }

        :focus-visible {
            outline: 2px solid var(--accent);
            outline-offset: 3px;
        }
