/* * ==========================================
         * BRAND IDENTITY & THEME VARIABLES
         * ==========================================
         */
        :root {
            /* --- Identity & Background Colors --- */
            --theme-nav-bg: #597cbf;
             --theme-nav-secondary: #2a4375;
            --theme-banner-bg: #4f71b3;
            --theme-footer-bg: #0072bc;
            --theme-bg-body: #f9fafb;
            --theme-bg-hover: #f3f4f6;
            --theme-nav-hover: rgba(255, 255, 255, 0.2);
            --theme-overlay-bg: rgba(0, 0, 0, 0.6);
            
            /* --- Dark PDF Viewer Colors --- */
            --theme-pdf-bg: #2e2e2e;
            --theme-pdf-header: #1b1b1b;
            --theme-pdf-btn: #363636;
            --theme-pdf-btn-hover: #4d4d4d;

            /* --- Border Colors --- */
            --theme-border-light: #e5e7eb;
            
            /* --- Button Colors --- */
            --theme-btn-primary: var(--theme-nav-bg);
            --theme-btn-primary-hover: var(--theme-nav-secondary);
            --theme-btn-secondary: var(--theme-nav-bg);
            --theme-btn-secondary-hover: var(--theme-nav-secondary);
            
            /* --- Icon & Accent Colors --- */
            --theme-icon-bg: var(--theme-nav-bg);
            --theme-accent: var(--theme-nav-bg);
            --theme-accent-hover: var(--theme-nav-bg);
            --theme-accent-light: #93c5fd;
            --theme-accent-soft: #eff6ff;
            --theme-badge-bg: #60a5fa;
            
            /* --- Text Colors --- */
            --theme-text-dark: #111827; 
            --theme-text-base: #374151; 
            --theme-text-muted: #6b7280;
            --theme-text-black-80: rgba(0, 0, 0, 0.8);
            --theme-logo-text: #1e3a8a;
            --theme-footer-text: #dbeafe;
            --theme-footer-text-hover: #bfdbfe;
        }

        /* Smooth scrolling */
        html { scroll-behavior: smooth; }
        
        .line-clamp-2 {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;  
            overflow: hidden;
            line-clamp: 2;
        }

        /* Physical Sliding Transition for the Dropdown */
        #mega-menu {
            transition: transform 0.5s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.2s ease-in-out;
        }
        
        /* Sidebar Performance optimization */
        #mobile-sidebar {
            will-change: transform;
            touch-action: none;
        }

        /* Smooth View Transitions & Card Animations */
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .animate-fade-in-up {
            animation: fadeInUp 0.4s ease-out forwards;
        }

        /* Mobile Scroll-based Back Button Animations */
        @media (max-width: 767px) {
            /* Top Navbar Back Button (Fades out & collapses on scroll) */
            #large-back-btn {
                transition: opacity 0.3s ease, transform 0.3s ease, width 0.3s ease, margin 0.3s ease, padding 0.3s ease;
                opacity: 1;
                transform: scale(1) translateX(0);
                width: 2.5rem; /* Equivalent to Tailwind's w-10 */
                margin-right: 0.25rem; /* mr-1 */
                overflow: hidden;
            }
            header.is-scrolled #large-back-btn {
                opacity: 0;
                transform: scale(0.5) translateX(-10px);
                width: 0;
                margin-right: 0;
                padding-left: 0;
                padding-right: 0;
                pointer-events: none;
            }


            header.is-scrolled #main-back-btn {
                opacity: 1;
                transform: scale(1) translateX(0);
                width: 2.5rem; /* w-10 */
                margin-right: 0.5rem; /* mr-2 */
                padding-left: 0.5rem; /* p-2 */
                padding-right: 0.5rem; /* p-2 */
                pointer-events: auto;
            }
        }