        /* Contact Form Specific Styles */
        .form-input, .form-textarea {
            width: 100%;
            padding: 1rem 1.25rem;
            background: var(--card-bg);
            border: 1px solid var(--card-border);
            color: var(--text-primary);
            font-family: 'IBM Plex Sans', sans-serif;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .form-input:focus, .form-textarea:focus {
            outline: none;
            border-color: var(--accent-electric);
            box-shadow: 0 0 0 3px var(--glow-color);
        }

        .form-label {
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--accent-electric);
            margin-bottom: 0.5rem;
            display: block;
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .info-card {
            padding: 2.5rem;
            background: var(--card-bg);
            border: 1px solid var(--card-border);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            overflow: hidden;
        }

        .info-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, var(--glow-color), transparent);
            transition: left 0.6s ease;
        }

        .info-card:hover::before {
            left: 100%;
        }

        .info-card:hover {
            transform: translateY(-8px);
            border-color: var(--accent-electric);
            box-shadow: 0 20px 60px var(--shadow-color);
        }

        .info-icon {
            width: 64px;
            height: 64px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, var(--accent-green) 0%, var(--accent-electric) 100%);
            margin-bottom: 1.5rem;
            position: relative;
        }

        .info-icon::after {
            content: '';
            position: absolute;
            inset: -4px;
            border: 2px solid var(--accent-electric);
            opacity: 0.3;
        }

        .submit-btn {
            width: 100%;
            padding: 1.5rem 3rem;
            background: linear-gradient(135deg, var(--accent-green) 0%, var(--accent-electric) 100%);
            color: white;
            border: 2px solid var(--accent-electric);
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.125rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            cursor: pointer;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            overflow: hidden;
        }

        .submit-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.5s ease;
        }

        .submit-btn:hover::before {
            left: 100%;
        }

        .submit-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 20px 60px var(--shadow-color);
        }

        .submit-btn:active {
            transform: scale(0.98);
        }

        .map-container {
            width: 100%;
            height: 400px;
            background: var(--card-bg);
            border: 1px solid var(--card-border);
            position: relative;
            overflow: hidden;
        }

        .map-placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, var(--grid-color) 0%, transparent 100%);
            position: relative;
        }

        .map-placeholder::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(var(--grid-color) 1px, transparent 1px),
                linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
            background-size: 50px 50px;
        }

        /* Responsive Styles for Contact Page */
        @media (max-width: 768px) {
            /* Hero Section */
            .hero-section h1 {
                font-size: 2.5rem !important;
                line-height: 1.1;
            }

            .hero-section p {
                font-size: 1rem !important;
            }

            .hero-section {
                min-height: auto !important;
                padding-top: 6rem !important;
                padding-bottom: 2rem !important;
            }

            /* Info Cards */
            .info-card {
                padding: 1.5rem;
            }

            .info-card a,
            .info-card .font-display {
                font-size: 1.25rem !important;
            }

            .info-icon {
                width: 48px;
                height: 48px;
            }

            /* Office Hours */
            .py-12 {
                padding-top: 2rem !important;
                padding-bottom: 2rem !important;
            }

            /* Contact Form */
            .contact-section h3 {
                font-size: 2rem !important;
            }

            .form-input,
            .form-textarea {
                padding: 0.875rem 1rem;
                font-size: 1rem;
            }

            .submit-btn {
                padding: 1.25rem 2rem;
                font-size: 1rem;
            }

            /* Map Section */
            .map-container {
                height: 300px;
            }

            /* General */
            section.py-20 {
                padding-top: 3rem !important;
                padding-bottom: 3rem !important;
            }

            .max-w-4xl,
            .max-w-7xl {
                padding-left: 1.5rem !important;
                padding-right: 1.5rem !important;
            }

            .mb-20 {
                margin-bottom: 2rem !important;
            }

            .mb-12 {
                margin-bottom: 1.5rem !important;
            }
        }

        /* Extra Small Screens */
        @media (max-width: 480px) {
            .hero-section h1 {
                font-size: 2rem !important;
            }

            .info-card {
                padding: 1.25rem;
            }

            .info-card a,
            .info-card .font-display {
                font-size: 1.125rem !important;
            }

            nav .logo-reveal a {
                font-size: 1.25rem !important;
            }

            .contact-section h3 {
                font-size: 1.75rem !important;
            }
        }
