        body {
            font-family: 'DM Sans', sans-serif;
            background-color: #FFFFFF;
            color: #1A05A2;
            overflow-x: hidden;
        }
        /* Strict Color Representation Classes */
        .bg-clinical-blue { background-color: #1A05A2; }
        .text-clinical-blue { color: #1A05A2; }
        .border-clinical-blue { border-color: #1A05A2; }
        .bg-research-yellow { background-color: #FBEF76; }
        .text-research-yellow { color: #FBEF76; }
        .border-research-yellow { border-color: #FBEF76; }

        /* Custom Asymmetric Button Geometry */
        .btn-editorial-asymmetric {
            border-top-left-radius: 0px;
            border-bottom-left-radius: 0px;
            border-top-right-radius: 14px;
            border-bottom-right-radius: 14px;
        }

        /* Reveal & Animation Matrix */
        .reveal-element {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal-element.revealed {
            opacity: 1;
            transform: translateY(0);
        }

        /* Pulse and Marker Animations */
        @keyframes dynamic-marker-pulse {
            0%, 100% { transform: scale(1); opacity: 0.3; }
            50% { transform: scale(2.2); opacity: 0.8; }
        }
        .pulse-marker-node {
            animation: dynamic-marker-pulse 4s infinite ease-in-out;
        }

        /* Hide Scrollbar helper while processing grid shifts */
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
