  /* ============================================
           PROFESSIONAL CONTACT PAGE STYLES
           (Matching Blog & Blog-Details Pages)
        ============================================ */

  /* ----- Contact Header ----- */
  .contact-header {
      background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
      height: 40vh;
      min-height: 320px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 0 20px;
      position: relative;
      overflow: hidden;
  }

  .contact-header::before {
      content: '';
      position: absolute;
      top: -40%;
      right: -15%;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(65, 105, 225, 0.15), transparent 70%);
      border-radius: 50%;
      animation: floatGlow 8s ease-in-out infinite alternate;
  }

  .contact-header::after {
      content: '';
      position: absolute;
      bottom: -35%;
      left: -10%;
      width: 400px;
      height: 400px;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.05), transparent 70%);
      border-radius: 50%;
      animation: floatGlow 10s ease-in-out infinite alternate-reverse;
  }

  @keyframes floatGlow {
      0% {
          transform: translate(0, 0) scale(1);
      }

      100% {
          transform: translate(30px, -30px) scale(1.1);
      }
  }

  .contact-header h2 {
      font-size: 48px;
      font-weight: 800;
      color: #ffffff;
      letter-spacing: 2px;
      position: relative;
      z-index: 1;
      animation: fadeUp 0.8s ease;
  }

  .contact-header h2 span {
      color: #4169E1;
  }

  .contact-header p {
      font-size: 18px;
      color: rgba(255, 255, 255, 0.7);
      margin-top: 10px;
      position: relative;
      z-index: 1;
      animation: fadeUp 0.8s ease 0.2s both;
  }

  @keyframes fadeUp {
      from {
          opacity: 0;
          transform: translateY(30px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  /* ----- Contact Section ----- */
  #contact-section {
      padding: 60px 80px;
      max-width: 1280px;
      margin: 0 auto;
  }

  .contact-wrapper {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px;
      align-items: start;
  }

  /* ----- Contact Info (Left) ----- */
  .contact-info {
      background: #ffffff;
      border-radius: 24px;
      padding: 48px 40px;
      box-shadow: 0 5px 30px rgba(0, 0, 0, 0.04);
      border: 1px solid rgba(0, 0, 0, 0.04);
  }

  .contact-info h3 {
      font-size: 28px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 8px;
  }

  .contact-info>p {
      font-size: 16px;
      color: #64748b;
      margin-bottom: 30px;
  }

  .info-item {
      display: flex;
      align-items: flex-start;
      gap: 18px;
      padding: 18px 0;
      border-bottom: 1px solid #f1f4f9;
      transition: all 0.3s ease;
  }

  .info-item:hover {
      transform: translateX(6px);
  }

  .info-item:last-child {
      border-bottom: none;
  }

  .info-icon {
      width: 48px;
      height: 48px;
      min-width: 48px;
      background: #f1f4f9;
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #4169E1;
      font-size: 20px;
      transition: all 0.3s ease;
  }

  .info-item:hover .info-icon {
      background: #4169E1;
      color: #fff;
      transform: scale(1.05);
  }

  .info-text h4 {
      font-size: 16px;
      font-weight: 600;
      color: #0f172a;
      margin-bottom: 2px;
  }

  .info-text p {
      font-size: 14px;
      color: #64748b;
      margin: 0;
      line-height: 1.5;
  }

  .info-text a {
      color: #64748b;
      text-decoration: none;
      transition: color 0.3s ease;
  }

  .info-text a:hover {
      color: #4169E1;
  }

  /* Social Links */
  .social-links {
      display: flex;
      gap: 12px;
      margin-top: 25px;
      padding-top: 25px;
      border-top: 1px solid #f1f4f9;
  }

  .social-links a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      border-radius: 14px;
      background: #f1f4f9;
      color: #1e293b;
      font-size: 18px;
      transition: all 0.3s ease;
      text-decoration: none;
  }

  .social-links a:hover {
      background: #4169E1;
      color: #fff;
      transform: translateY(-4px);
  }

  /* ----- Contact Form (Right) ----- */
  .contact-form-box {
      background: #ffffff;
      border-radius: 24px;
      padding: 48px 40px;
      box-shadow: 0 5px 30px rgba(0, 0, 0, 0.04);
      border: 1px solid rgba(0, 0, 0, 0.04);
  }

  .contact-form-box h3 {
      font-size: 28px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 8px;
  }

  .contact-form-box>p {
      font-size: 16px;
      color: #64748b;
      margin-bottom: 28px;
  }

  .form-group {
      margin-bottom: 20px;
  }

  .form-group label {
      display: block;
      font-size: 14px;
      font-weight: 600;
      color: #0f172a;
      margin-bottom: 6px;
  }

  .form-group label .required {
      color: #ef4444;
      margin-left: 2px;
  }

  .form-group input,
  .form-group textarea,
  .form-group select {
      width: 100%;
      padding: 14px 18px;
      border: 2px solid #eef2f6;
      border-radius: 14px;
      font-size: 15px;
      font-family: 'Poppins', sans-serif;
      color: #1e293b;
      background: #fafbfc;
      transition: all 0.3s ease;
      outline: none;
  }

  .form-group input:focus,
  .form-group textarea:focus,
  .form-group select:focus {
      border-color: #4169E1;
      background: #ffffff;
      box-shadow: 0 0 0 4px rgba(65, 105, 225, 0.08);
  }

  .form-group textarea {
      resize: vertical;
      min-height: 140px;
  }

  .form-group .input-icon-wrapper {
      position: relative;
  }

  .form-group .input-icon-wrapper i {
      position: absolute;
      left: 16px;
      top: 50%;
      transform: translateY(-50%);
      color: #94a3b8;
      font-size: 16px;
      transition: color 0.3s ease;
  }

  .form-group .input-icon-wrapper input,
  .form-group .input-icon-wrapper select {
      padding-left: 46px;
  }

  .form-group .input-icon-wrapper:focus-within i {
      color: #4169E1;
  }

  /* Submit Button */
  .submit-btn {
      width: 100%;
      padding: 16px 32px;
      background: linear-gradient(135deg, #4169E1, #5c7cff);
      color: #fff;
      border: none;
      border-radius: 14px;
      font-size: 16px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      box-shadow: 0 8px 20px rgba(65, 105, 225, 0.25);
  }

  .submit-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 30px rgba(65, 105, 225, 0.35);
  }

  .submit-btn:active {
      transform: scale(0.98);
  }

  .submit-btn i {
      transition: transform 0.3s ease;
  }

  .submit-btn:hover i {
      transform: translateX(6px);
  }

  /* Alert Messages */
  .alert {
      padding: 16px 20px;
      border-radius: 14px;
      margin-bottom: 20px;
      font-size: 14px;
      font-weight: 500;
      display: flex;
      align-items: center;
      gap: 12px;
      animation: slideDown 0.4s ease;
  }

  .alert i {
      font-size: 18px;
  }

  .alert-success {
      background: #dcfce7;
      color: #166534;
      border: 1px solid #bbf7d0;
  }

  .alert-error {
      background: #fee2e2;
      color: #991b1b;
      border: 1px solid #fecaca;
  }

  @keyframes slideDown {
      from {
          opacity: 0;
          transform: translateY(-15px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  /* ----- Map Section ----- */
  #map-section {
      padding: 0 80px 60px;
      max-width: 1280px;
      margin: 0 auto;
  }

  .map-container {
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 5px 30px rgba(0, 0, 0, 0.06);
      border: 1px solid rgba(0, 0, 0, 0.04);
  }

  .map-container iframe {
      width: 100%;
      height: 380px;
      border: none;
      display: block;
  }

  /* ----- Newsletter ----- */
  #newsletter {
      background: linear-gradient(135deg, #0f172a, #1e293b);
      padding: 50px 80px;
      margin: 0;
  }

  #newsletter h4 {
      color: #fff;
      font-size: 24px;
  }

  #newsletter p {
      color: rgba(255, 255, 255, 0.7);
  }

  #newsletter .form input {
      border-radius: 30px 0 0 30px;
      height: 50px;
  }

  #newsletter .form button {
      background: #4169E1;
      border-radius: 0 30px 30px 0;
      padding: 0 40px;
      font-weight: 600;
      letter-spacing: 0.5px;
  }

  #newsletter .form button:hover {
      background: #254ecb;
  }

  /* ============================================
           RESPONSIVE
        ============================================ */

  @media (max-width: 1024px) {
      .contact-wrapper {
          gap: 35px;
      }
  }

  @media (max-width: 991px) {
      .contact-header {
          height: 35vh;
          min-height: 280px;
      }

      .contact-header h2 {
          font-size: 38px;
      }

      #contact-section {
          padding: 40px;
      }

      .contact-wrapper {
          grid-template-columns: 1fr;
          gap: 40px;
      }

      .contact-info,
      .contact-form-box {
          padding: 35px 30px;
      }

      #map-section {
          padding: 0 40px 40px;
      }
  }

  @media (max-width: 768px) {
      .contact-header {
          height: 30vh;
          min-height: 240px;
      }

      .contact-header h2 {
          font-size: 30px;
      }

      .contact-header p {
          font-size: 16px;
      }

      #contact-section {
          padding: 30px 20px;
      }

      .contact-info,
      .contact-form-box {
          padding: 28px 22px;
      }

      .contact-info h3,
      .contact-form-box h3 {
          font-size: 24px;
      }

      .info-item {
          padding: 14px 0;
      }

      .map-container iframe {
          height: 280px;
      }

      #newsletter {
          padding: 40px 20px;
      }

      #newsletter .form {
          width: 100%;
          flex-wrap: wrap;
      }

      #newsletter .form input {
          border-radius: 30px;
          margin-bottom: 12px;
          width: 100%;
      }

      #newsletter .form button {
          border-radius: 30px;
          width: 100%;
      }
  }

  @media (max-width: 480px) {
      .contact-header {
          height: 28vh;
          min-height: 200px;
      }

      .contact-header h2 {
          font-size: 24px;
      }

      .contact-header p {
          font-size: 14px;
      }

      #contact-section {
          padding: 20px 12px;
      }

      .contact-info,
      .contact-form-box {
          padding: 20px 16px;
          border-radius: 16px;
      }

      .contact-info h3,
      .contact-form-box h3 {
          font-size: 20px;
      }

      .info-icon {
          width: 40px;
          height: 40px;
          min-width: 40px;
          font-size: 16px;
      }

      .form-group input,
      .form-group textarea,
      .form-group select {
          padding: 12px 14px;
          font-size: 14px;
          border-radius: 12px;
      }

      .submit-btn {
          padding: 14px 20px;
          font-size: 15px;
      }

      .map-container iframe {
          height: 220px;
      }

      #map-section {
          padding: 0 12px 30px;
      }
  }