 :root {
     --primary-red: #E31E24;
     --dark-red: #B91C1C;
     --light-red: #FEE2E2;
     --dark: #1A1A1A;
     --gray: #6B7280;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     overflow-x: hidden;
     color: var(--dark);
 }

 /* Navbar */
 .navbar {
     padding: 1rem 0;
     transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
     background: rgba(255, 255, 255, 0.85) !important;
     backdrop-filter: blur(20px) saturate(180%);
     box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08);
     border-bottom: 1px solid rgba(227, 30, 36, 0.1);
     position: fixed;
     width: 100%;
     top: 0;
     z-index: 1000;
 }

 .navbar.scrolled {
     padding: 0.5rem 0;
     background: rgba(255, 255, 255, 0.98) !important;
     box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
 }

 .navbar-brand {
     font-size: 2rem;
     font-weight: 800;
     background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-red) 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     letter-spacing: 2px;
     position: relative;
     transition: all 0.3s ease;
 }

 .nav-link {
     color: var(--dark) !important;
     font-weight: 600;
     font-size: 0.95rem;
     margin: 0 0.8rem;
     padding: 0.5rem 1rem !important;
     position: relative;
     transition: all 0.3s ease;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .nav-link::before {
     content: '';
     position: absolute;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
     width: 0;
     height: 2px;
     background: var(--primary-red);
     transition: width 0.3s ease;
     border-radius: 2px;
 }

 .nav-link:hover::before {
     width: 80%;
 }

 .btn-primary {
     background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-red) 100%);
     border: none;
     padding: 0.75rem 2rem;
     border-radius: 50px;
     font-weight: 700;
     font-size: 0.9rem;
     text-transform: uppercase;
     letter-spacing: 1px;
     position: relative;
     overflow: hidden;
     transition: all 0.3s ease;
     box-shadow: 0 4px 15px rgba(227, 30, 36, 0.3);
 }

 .btn-primary:hover {
     transform: translateY(-3px);
     box-shadow: 0 8px 30px rgba(227, 30, 36, 0.4);
     color: white;
 }

 /* Hero Section for Contact */
 .contact-hero {
     min-height: 40vh;
     display: flex;
     align-items: center;
     background: linear-gradient(135deg, var(--light-red) 0%, #FFFFFF 100%);
     position: relative;
     overflow: hidden;
     margin-top: 80px;
 }

 .contact-hero::before {
     content: '';
     position: absolute;
     top: -50%;
     right: -20%;
     width: 80%;
     height: 150%;
     background: radial-gradient(circle, rgba(227, 30, 36, 0.05) 0%, transparent 70%);
     border-radius: 50%;
 }

 .contact-hero h1 {
     font-size: 3.5rem;
     font-weight: 800;
     color: var(--dark);
     position: relative;
     z-index: 2;
 }

 .contact-hero h1 span {
     color: var(--primary-red);
 }

 .contact-hero p {
     font-size: 1.2rem;
     color: var(--gray);
     position: relative;
     z-index: 2;
     max-width: 600px;
 }

 /* Main Contact Section */
 .contact-section {
     padding: 5rem 0;
     background: #fff;
 }

 .contact-container {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 4rem;
     align-items: start;
 }

 /* Contact Form */
 .contact-form-wrapper {
     animation: fadeInUp 0.8s ease;
 }

 .form-title {
     font-size: 2.2rem;
     font-weight: 800;
     margin-bottom: 1rem;
     color: var(--dark);
 }

 .form-title span {
     color: var(--primary-red);
 }

 .form-subtitle {
     font-size: 1rem;
     color: var(--gray);
     margin-bottom: 2rem;
 }

 .form-group {
     margin-bottom: 1.8rem;
 }

 .form-group label {
     color: var(--dark);
     font-weight: 600;
     margin-bottom: 0.8rem;
     display: block;
     font-size: 0.95rem;
 }

 .form-control {
     border: 2px solid #E5E7EB;
     border-radius: 10px;
     padding: 0.9rem 1.2rem;
     font-size: 1rem;
     transition: all 0.3s ease;
     background-color: #FAFAFA;
     color: var(--dark);
 }

 .form-control::placeholder {
     color: var(--gray);
 }

 .form-control:focus {
     border-color: var(--primary-red);
     background-color: white;
     box-shadow: 0 0 0 3px rgba(227, 30, 36, 0.1);
     outline: none;
 }

 textarea.form-control {
     resize: vertical;
     min-height: 140px;
 }

 .submit-btn {
     background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-red) 100%);
     color: white;
     border: none;
     padding: 1rem 2.5rem;
     border-radius: 10px;
     font-weight: 700;
     font-size: 1rem;
     width: 100%;
     cursor: pointer;
     transition: all 0.3s ease;
     text-transform: uppercase;
     letter-spacing: 1px;
     box-shadow: 0 4px 15px rgba(227, 30, 36, 0.3);
 }

 .submit-btn:hover {
     transform: translateY(-3px);
     box-shadow: 0 8px 30px rgba(227, 30, 36, 0.4);
     color: white;
     filter: brightness(1.1);
     /* Make it slightly brighter on hover */
 }

 .submit-btn:active {
     transform: translateY(0) scale(0.98);
     /* clearly pressed down */
     box-shadow: 0 2px 10px rgba(227, 30, 36, 0.3);
     /* reduce shadow size */
 }

 /* Contact Info Cards */
 .contact-info {
     animation: fadeInRight 0.8s ease;
 }

 .info-title {
     font-size: 2.2rem;
     font-weight: 800;
     margin-bottom: 2rem;
     color: var(--dark);
 }

 .info-title span {
     color: var(--primary-red);
 }

 .info-card {
     background: white;
     padding: 2rem;
     border-radius: 15px;
     margin-bottom: 1.5rem;
     border: 2px solid #F0F0F0;
     transition: all 0.3s ease;
 }

 .info-card:hover {
     border-color: var(--primary-red);
     box-shadow: 0 10px 30px rgba(227, 30, 36, 0.15);
     transform: translateY(-5px);
 }

 .info-card-icon {
     font-size: 1.8rem;
     color: var(--primary-red);
     margin-bottom: 1rem;
     width: 50px;
     height: 50px;
     background: var(--light-red);
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .info-card h4 {
     color: var(--dark);
     font-weight: 700;
     margin-bottom: 0.5rem;
     font-size: 1.2rem;
 }

 .info-card p {
     color: var(--gray);
     margin: 0;
     line-height: 1.6;
 }

 .info-card a {
     color: var(--primary-red);
     text-decoration: none;
     font-weight: 600;
     transition: all 0.3s ease;
 }

 .info-card a:hover {
     color: var(--dark-red);
 }

 /* Map Section */
 .map-section {
     padding: 5rem 0;
     background: #F9FAFB;
 }

 .map-title {
     font-size: 2.5rem;
     font-weight: 800;
     text-align: center;
     margin-bottom: 3rem;
     color: var(--dark);
 }

 .map-title span {
     color: var(--primary-red);
 }

 .map-wrapper {
     border-radius: 20px;
     overflow: hidden;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
     height: 500px;
     animation: fadeInUp 0.8s ease 0.2s both;
 }

 .map-wrapper iframe {
     width: 100%;
     height: 100%;
     border: none;
 }

 /* Alert Messages */
 .alert-custom {
     display: none;
     padding: 1rem;
     border-radius: 10px;
     margin-bottom: 1.5rem;
     animation: slideDown 0.3s ease;
 }

 .alert-success {
     background-color: #D1FAE5;
     color: #065F46;
     border: 1px solid #A7F3D0;
 }

 .alert-error {
     background-color: #FEE2E2;
     color: #991B1B;
     border: 1px solid #FECACA;
 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 @keyframes fadeInRight {
     from {
         opacity: 0;
         transform: translateX(30px);
     }

     to {
         opacity: 1;
         transform: translateX(0);
     }
 }

 @keyframes slideDown {
     from {
         opacity: 0;
         transform: translateY(-20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* Footer */
 .footer {
     background: var(--dark);
     color: white;
     padding: 3rem 0 1.5rem;
 }

 .footer h5 {
     color: var(--primary-red);
     margin-bottom: 1.5rem;
     font-weight: 700;
 }

 .footer a {
     color: rgba(255, 255, 255, 0.7);
     text-decoration: none;
     transition: color 0.3s;
 }

 .footer a:hover {
     color: var(--primary-red);
 }

 .social-icons a {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 50%;
     margin-right: 0.5rem;
     transition: all 0.3s;
     color: white;
 }

 .social-icons a:hover {
     background: var(--primary-red);
     color: white;
 }

 @media (max-width: 768px) {
     .contact-hero h1 {
         font-size: 2.5rem;
     }

     .contact-container {
         grid-template-columns: 1fr;
         gap: 3rem;
     }

     .nav-link {
         margin: 0.5rem 0;
     }

     .map-wrapper {
         height: 350px;
     }

     .form-title,
     .info-title,
     .map-title {
         font-size: 1.8rem;
     }
 }