        :root {
            --color-primary: #2563eb;
            --color-primary-hover: #1d4ed8;
            --transition-base: 200ms ease;
            --transition-smooth: 300ms cubic-bezier(0.4, 0, 0.2, 1);
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 5rem;
        }

        /* Mobile Menu */
        .mobile-menu {
            max-height: 0;
            opacity: 0;
            visibility: hidden;
            transition: max-height var(--transition-smooth),
                        opacity var(--transition-smooth),
                        visibility var(--transition-smooth);
            overflow: hidden;
        }

        #mobile-menu-toggle:checked ~ .mobile-menu {
            max-height: 400px;
            opacity: 1;
            visibility: visible;
        }

        .menu-icon { display: block; }
        .close-icon { display: none; }

        #mobile-menu-toggle:checked ~ .nav-content .menu-toggle-label .menu-icon {
            display: none;
        }
        #mobile-menu-toggle:checked ~ .nav-content .menu-toggle-label .close-icon {
            display: block;
        }

        /* Focus States */
        a:focus-visible,
        button:focus-visible,
        [role="button"]:focus-visible {
            outline: 2px solid var(--color-primary);
            outline-offset: 2px;
        }

        /* Screen Reader Only */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        /* Page Loader */
        #loader {
            position: fixed;
            inset: 0;
            z-index: 9999;
            background-color: #e2e8f0;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 1;
            visibility: visible;
            transition: opacity 500ms ease-out, visibility 500ms ease-out;
        }

        #loader.fade-out {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }

        #loader .loader-icon {
            width: 60px;
            height: 60px;
        }

        #main-content {
            opacity: 0;
            visibility: hidden;
            transition: opacity 500ms ease-out, visibility 500ms ease-out;
        }

        #main-content.visible {
            opacity: 1;
            visibility: visible;
        }

        /* Legal Content Styles */
        .legal-content h2 {
            scroll-margin-top: 6rem;
        }

        .legal-content a {
            color: var(--color-primary);
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .legal-content a:hover {
            color: var(--color-primary-hover);
        }

        /* Table of Contents */
        .toc-link {
            transition: color var(--transition-base), padding-left var(--transition-base);
        }

        .toc-link:hover {
            color: var(--color-primary);
            padding-left: 0.5rem;
        }

        /* Reduced Motion */
        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            *, *::before, *::after {
                transition-duration: 0.01ms !important;
            }
        }

        /* No-JS Fallback */
        html:not(.js) #loader { display: none; }
        html:not(.js) #main-content { opacity: 1; visibility: visible; }

        /* Print Styles */
        @media print {
            #loader, header, .toc-sidebar, .back-to-top { display: none !important; }
            #main-content { opacity: 1 !important; visibility: visible !important; }
            .legal-content { max-width: 100%; }
        }
