/* Validation styles */
  .field-error {
    display: block;
    font-size: 0.78rem;
    color: #FFFFFF;
    margin-top: 0.3rem;
    min-height: 1em;
    transition: opacity 0.2s;
  }
  .field-error:empty { display: none; }
  .form-group input.invalid,
  .form-group select.invalid,
  .form-group textarea.invalid {
    border-color: #c0392b;
    background: #fff8f7;
  }
  .form-group input.valid,
  .form-group select.valid,
  .form-group textarea.valid {
    border-color: var(--green);
  }
  .char-count {
    display: block;
    font-size: 0.75rem;
    color: var(--text-light);
    text-align: right;
    margin-top: 0.25rem;
  }
  .char-count.warn { color: var(--accent); }
  .char-count.over { color: #c0392b; }
  .form-banner {
    border-radius: 10px;
    padding: 0.85rem 1rem;
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 1.25rem;
  }
  .form-banner--success {
    background: var(--red-light);
    color: var(--white);
    border: 1px solid #ffffff;
  }
  .form-banner--error {
    background: #fff0ee;
    color: #c0392b;
    border: 1px solid #f5c2bb;
  }
  .php-error { color: #c0392b; font-size: 0.78rem; margin-top: 0.3rem; display: block; }






  /* Validation styles */
  .field-error-contact {
    display: block;
    font-size: 0.78rem;
    color: #000000;
    margin-top: 0.3rem;
    min-height: 1em;
    transition: opacity 0.2s;
  }
  .field-error-contact:empty { display: none; }
  .form-group-contact input.invalid,
  .form-group-contact select.invalid,
  .form-group-contact textarea.invalid {
    border-color: #c0392b;
    background: #fff8f7;
  }
  .form-group-contact input.valid,
  .form-group-contact select.valid,
  .form-group-contact textarea.valid {
    border-color: var(--green);
  }
  .char-count {
    display: block;
    font-size: 0.75rem;
    color: var(--text-light);
    text-align: right;
    margin-top: 0.25rem;
  }
  .char-count.warn { color: var(--accent); }
  .char-count.over { color: #c0392b; }
  .form-banner-contact {
    border-radius: 10px;
    padding: 0.85rem 1rem;
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 1.25rem;
  }
  .form-banner-contact--success {
    background: var(--blue-light);
    color: var(--black);
    border: 1px solid #ffffff;
  }
  .form-banner-contact--error {
    background: #fff0ee;
    color: #c0392b;
    border: 1px solid #f5c2bb;
  }
  .php-error { color: #c0392b; font-size: 0.78rem; margin-top: 0.3rem; display: block; }


    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

  

    .banner {
      background: #e61d2f;
      padding: 40px 70px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: #fff;
    }

    .banner-content h2 {
      font-size: 32px;
      font-weight: 700;
      margin-bottom: 12px;
      color: #f2f2f2;
    }

    .banner-content p {
      font-size: 16px;
      color: #f2f2f2;
    }

    .download-btn {
      background: #0c1f4f;
      color: #fff;
      text-decoration: none;
      padding: 16px 32px;
      font-size: 16px;
      font-weight: 600;
      transition: 0.3s ease;
      display: inline-block;
    }

    .download-btn:hover {
      background: #081634;
    }

    @media (max-width: 768px) {
      .banner {
        flex-direction: column;
        text-align: center;
        gap: 25px;
        padding: 30px 20px;
      }

      .banner-content h2 {
        font-size: 26px;
      }
    }