body {
            font-family: 'Inter', sans-serif;
            background-color: #f8f8f8;
            color: #333;
        }
        /* Modal Styles (kept for consistency, though no longer a separate modal element) */
        .modal {
            display: none; /* Hidden by default */
            position: fixed; /* Stay in place */
            z-index: 100; /* Sit on top */
            left: 0;
            top: 0;
            width: 100%; /* Full width */
            height: 100%; /* Full height */
            overflow: auto; /* Enable scroll if needed */
            background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .modal-content {
            background-color: #fff;
            margin: auto;
            padding: 2.5rem;
            border-radius: 1rem;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
            max-width: 90%;
            width: 400px;
            position: relative;
        }
        .close-button {
            color: #aaa;
            float: right;
            font-size: 28px;
            font-weight: bold;
            position: absolute;
            top: 1rem;
            right: 1.5rem;
            cursor: pointer;
        }
        .close-button:hover,
        .close-button:focus {
            color: #777;
            text-decoration: none;
            cursor: pointer;
        }
        /* Animations */
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        @keyframes slideIn {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .animate-fadeIn {
            animation: fadeIn 0.3s ease-out forwards;
        }
        .animate-slideIn {
            animation: slideIn 0.4s ease-out forwards;
        }

        /* Responsive adjustments specific to landing page */
        @media (max-width: 767px) { /* Mobile */
            /* Ensure full width on mobile */
            .landing-left-col, .landing-right-col {
                width: 100%;
                padding: 1rem; /* Consistent padding */
            }
            .landing-left-col {
                padding-bottom: 2rem; /* Add space below hero text on mobile */
            }
            main.flex-grow {
                padding: 0; /* Remove container padding for main content area */
            }
            header.bg-white {
                padding: 1rem; /* Adjust header padding on mobile */
                border-radius: 0; /* Remove border-radius for full width */
            }
            .header-nav {
                display: none; /* Hide desktop nav on mobile */
            }
            .mobile-menu-button {
                display: block; /* Show mobile menu icon */
                cursor: pointer; /* Indicate it's clickable */
            }
            /* Make login card full width on mobile */
            .login-section-card { /* Custom class for specific targeting */
                width: 100%;
                max-width: none;
                border-radius: 0; /* Remove border-radius for full width */
                box-shadow: none; /* Remove shadow to blend with background */
                padding: 1.5rem 1rem; /* Adjust padding for mobile */
            }
        }
        @media (min-width: 768px) { /* Desktop */
            .landing-left-col {
                padding-right: 2rem;
            }
            .landing-right-col {
                padding-left: 2rem;
            }
            .header-nav {
                display: block; /* Show desktop nav on desktop */
            }
            .mobile-menu-button {
                display: none; /* Hide mobile menu icon */
            }
            .login-section-card { /* Revert for desktop */
                max-width: 400px;
                border-radius: 1rem;
                box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
                padding: 2.5rem;
            }
        }

        /* Mobile Menu Overlay */
        .mobile-menu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.7);
            backdrop-filter: blur(5px); /* Frosted glass effect */
            -webkit-backdrop-filter: blur(5px); /* For Safari */
            z-index: 110;
            display: none; /* Hidden by default, shown by JS */
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        .mobile-menu-content {
            background-color: #fff;
            padding: 2rem;
            border-radius: 1rem;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
            width: 80%;
            max-width: 300px;
            text-align: center;
            position: relative;
        }
        .mobile-menu-item {
            display: block;
            padding: 1rem;
            font-size: 1.25rem;
            font-weight: 500;
            color: #333;
            border-bottom: 1px solid #eee;
            transition: background-color 0.2s;
        }
        .mobile-menu-item:hover {
            background-color: #f3f4f6; /* Light gray on hover */
        }
        .mobile-menu-item:last-child {
            border-bottom: none;
        }

        /* Custom OTP input styling */
        .otp-input-group input {
            width: 4rem; /* Larger input boxes */
            height: 4rem;
            text-align: center;
            font-size: 1.5rem; /* Larger font for OTP digits */
            font-weight: bold;
            border-radius: 0.5rem; /* Rounded corners */
            border: 2px solid #e2e8f0; /* Default border */
            transition: border-color 0.2s, box-shadow 0.2s;
        }
        .otp-input-group input:focus {
            border-color: #2563eb; /* Blue border on focus */
            box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3); /* Blue shadow on focus */
            outline: none;
        }

        #snackbar-success {
        	visibility: hidden;
        	min-width: 250px;
        	margin-left: -125px;
        	background-color: #69d931;
        	color: var(--font-secondary-theme-color);
        	font-weight: 800;
        	text-align: center;
        	border-radius: 2px;
        	padding: 16px;
        	position: fixed;
        	z-index: 999999999;
        	top: 80px;
        	right: 30px;
        	font-size: 17px;
        }
         .edit-icon {
            cursor: pointer;
            margin-left: 0.5rem;
            color: #6B7280; /* Gray-500 */
        }
        .edit-icon:hover {
            color: #2563EB; /* Blue-600 */
        }
