:root {
            /* GIGW Color Palette */
            --gov-blue: #003366;       /* Official Header Blue */
            --gov-orange: #FF9933;     /* Saffron */
            --gov-green: #138808;      /* India Green */
            --gov-yellow: #FFD700;     /* Accent Yellow (NIC links) */
            --gov-bg: #f8f9fa;         /* Light Background */
            --gov-text: #212529;
            
            /* Base font size for accessibility resizer */
            --base-font-size: 16px;
        }

        body {
            font-family: 'Roboto', sans-serif;
            background-color: var(--gov-bg);
            color: var(--gov-text);
            display: flex;
            flex-direction: column;
            min-height: 100vh;
            font-size: var(--base-font-size);
        }

        /* --- Accessibility: Skip Link --- */
  

        /* --- Top Bar (Black/Dark Blue usually) --- */
       
		.top-bar {
			background-color: #000000; /* Black background for Govt standard */
			color: #ffffff;
			padding: 8px 0;
			font-size: 0.85rem;
		}

		.top-bar a {
			text-decoration: none;
		}

		/* --- Skip Link Styling (Crucial for Accessibility) --- */
		.skip-link {
			left: 0;
			background-color: var(--gov-orange); /* Saffron background when visible */
			color: #000;
			padding: 10px 20px;
			z-index: 1050; /* Ensures it sits on top of everything */
			font-weight: bold;
			transition: top 0.3s;
			border-radius: 0 0 4px 0;
		}

		/* This makes the link appear when a user tabs to it */
		.skip-link:focus {
			top: 0; 
			outline: none;
		}

		/* --- Font Resizer Styling --- */
		.fontResize {
			display: flex;
			gap: 5px;
			align-items: center;
		}

		.fontResize a {
			border: 1px solid #666;
			padding: 2px 8px;
			border-radius: 4px;
			background: rgba(255,255,255,0.1);
		}

		.fontResize a:hover, .fontResize a:focus {
			background-color: #fff;
			color: #000;
		}
        .gov-text {
            color: #fff;
            text-decoration: none;
        }
        .access-control a {
            color: #fff;
            text-decoration: none;
            border: 1px solid rgba(255,255,255,0.3);
            padding: 2px 8px;
            margin-left: 5px;
            border-radius: 4px;
            transition: all 0.2s;
        }
        .access-control a:hover, .access-control a:focus {
            background-color: var(--gov-orange);
            border-color: var(--gov-orange);
            color: #000;
        }
		
		/* --- Contact Page Specific Styles --- */
        .page-header {
            background: linear-gradient(to right, var(--gov-blue), #004c99);
            color: white;
            padding: 2rem 0;
            margin-bottom: 2rem;
        }

        /* --- Header / Branding Section --- */
        .main-header {
            background-color: #fff;
            padding: 1.5rem 0;
            border-bottom: 4px solid var(--gov-orange);
        }
        .emblem-img {
            max-height: 70px;
            margin-right: 15px;
        }
        .brand-title h1 {
            font-size: 1.4rem;
            margin-bottom: 2px;
            color: var(--gov-blue);
            font-weight: 700;
        }
        .brand-title h2 {
            font-size: 1.1rem;
            margin-bottom: 2px;
            color: var(--gov-text);
            font-weight: 500;
        }
        .brand-hindi {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--gov-text);
        }
        .kaba-img {
            max-height: 80px;
            object-fit: cover;
            border-radius: 4px;
        }

        /* --- Navigation Bar --- */
        .main-navbar {
            background-color: var(--gov-blue);
            padding: 0;
        }
        .navbar-brand {
            color: white !important;
            font-weight: 500;
            display: none; /* Hidden on desktop usually, but kept for mobile context */
        }
        @media (max-width: 767px) {
            .navbar-brand { display: block; }
            .kaba-container { display: none; } /* Hide kaba on mobile to save space */
        }
        .nav-link {
            color: rgba(255,255,255,0.9) !important;
            font-weight: 500;
            text-transform: uppercase;
            padding: 15px 20px !important;
            transition: background 0.3s;
        }
        .nav-link:hover, .nav-link:focus {
            background-color: var(--gov-orange);
            color: #000 !important;
        }
        .navbar-toggler {
            border-color: white;
        }
        .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }

        /* --- Main Content Cards --- */
        .custom-card {
            border: none;
            border-radius: 0; /* Gov sites often prefer sharp corners or slight radius */
            background: #fff;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            overflow: hidden;
            height: 100%;
            border-top: 5px solid transparent;
        }

        .custom-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0,0,0,0.15);
        }

        /* Header Colors for Cards */
        .card-1 { border-top-color: var(--gov-blue); }
        .card-2 { border-top-color: var(--gov-green); }
        .card-3 { border-top-color: var(--gov-orange); }

        .card-header-custom {
            background-color: #f4f6f9;
            padding: 2rem 1rem;
            text-align: center;
            border-bottom: 1px solid #eee;
        }

        .card-icon {
            font-size: 3rem;
            color: #555;
            margin-bottom: 0.5rem;
            transition: color 0.3s;
        }
        
        .card-1:hover .card-icon { color: var(--gov-blue); }
        .card-2:hover .card-icon { color: var(--gov-green); }
        .card-3:hover .card-icon { color: var(--gov-orange); }

        .card-body-custom {
            padding: 1.5rem;
            text-align: center;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .card-title {
            font-weight: 700;
            color: var(--gov-blue);
            margin-bottom: 1rem;
            font-size: 1.2rem;
        }

        .btn-gov {
            border-radius: 0;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-size: 0.9rem;
            width: 100%;
            padding: 10px;
        }

        .btn-primary-gov {
            background-color: var(--gov-blue);
            border: 1px solid var(--gov-blue);
            color: #fff;
        }

        .btn-primary-gov:hover {
            background-color: #002244;
            color: #fff;
        }
        
        /* Specific Card Button Colors for variety */
        .card-2 .btn-gov { background-color: var(--gov-green); border-color: var(--gov-green); }
        .card-2 .btn-gov:hover { background-color: #0e6b06; }
        
        .card-3 .btn-gov { background-color: var(--gov-orange); border-color: var(--gov-orange); }
        .card-3 .btn-gov:hover { background-color: #e68a00; }


        /* --- Footer: Black Background & White Text (GIGW Compliant) --- */
		.footer {
			background-color: #212529; /* Pure Black */
			color: #ffffff; /* Pure White */
			padding-top: 2rem;
			margin-top: auto; /* Pushes footer to bottom if content is short */
		}

		/* Footer Links Styling */
		.footer-links ul {
			list-style: none;
			padding: 0;
			margin: 0;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 15px; /* Space between links */
		}

		.footer-links a {
			color: #e0e0e0; /* Off-white for softer contrast */
			text-decoration: none;
			font-size: 0.9rem;
			font-weight: 500;
			transition: color 0.3s;
		}

		.footer-links a:hover {
			color: #ffffff; /* Pure white on hover */
			text-decoration: underline;
		}

		/* Footer Bottom Separator */
		.footer-bottom {
			border-top: 1px solid #333333; /* Subtle grey line separator */
			padding: 1.5rem 0;
			margin-top: 2rem;
			font-size: 0.85rem;
			color: #cccccc; /* Light grey for body text */
		}

		/* NIC Link Styling - Gold/Yellow for contrast on Black */
		.nic-link {
			color: #FFD700; /* Standard NIC Gold */
			font-weight: 700;
			text-decoration: none;
		}

		.nic-link:hover {
			color: #ffeb3b; /* Lighter yellow on hover */
			text-decoration: underline;
		}

		/* Responsive Tweaks */
		@media (max-width: 768px) {
			.footer-links ul {
				flex-direction: column;
				align-items: center;
				gap: 10px;
			}
		}