
  body { background-color: #fff; }
  .serif-title { font-family: 'Playfair Display', serif; }
  .section-pill {
    display: inline-flex; align-items: center; gap: 7px;
    background: linear-gradient(135deg, #EAF6EF, #d4eddf);
    color: #0B6B3A; font-size: 10px; font-weight: 800;
    letter-spacing: 0.12em; text-transform: uppercase;
    padding: 6px 14px; border-radius: 99px; margin-bottom: 14px;
    border: 1px solid #2B8B57;
  }
  .shadow-card {
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 16px rgba(0,0,0,0.06);
    transition: box-shadow 0.35s cubic-bezier(.4,0,.2,1), transform 0.35s cubic-bezier(.4,0,.2,1);
  }
  .glow-card { position: relative; overflow: hidden; }
  .glow-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%, rgba(43,139,87,0.08) 0%, transparent 70%); opacity: 0; transition: opacity 0.4s; pointer-events: none; z-index: 0; }
  .glow-card:hover::before { opacity: 1; }
  .section-divider { background: linear-gradient(90deg, transparent, #EAF6EF 30%, #EAF6EF 70%, transparent); height: 1px; }
  .hero-mask { background: linear-gradient(90deg, #fff 0%, #fff 35%, rgba(247,243,234,0) 65%); }
  .form-field {
    border: 1.5px solid #d1d5db !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    width: 100% !important;
    outline: none !important;
    background: #f9fafb !important;
    font-family: 'Montserrat', sans-serif !important;
    color: #1F2933 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    padding: 12px 27px !important;
  }
  input.form-field:focus, select.form-field:focus {
    border-color: #0B6B3A !important;
    box-shadow: 0 0 0 3px rgba(11,107,58,0.09) !important;
    background: #fff !important;
  }
  .step-card { transition: all 0.2s; }
  .step-card.active { border-color: #0B6B3A; background: #EAF6EF; }
  .step-card.inactive { border-color: #dcdee2; background: #fff; }

  /* ---- Validation states ---- */
  .form-field.field-invalid {
    border-color: #dc2626 !important;
    background: #fef2f2 !important;
  }
  .form-field.field-valid {
    border-color: #0B6B3A !important;
  }
  .field-error-msg {
    display: none;
    align-items: center;
    gap: 4px;
    color: #dc2626;
    font-size: 10px;
    font-weight: 600;
    margin-top: 5px;
  }
  .field-error-msg::before {
    content: '⚠';
    font-size: 10px;
  }
  .upload-label-error {
    border-color: #dc2626 !important;
    background: #fef2f2 !important;
  }
  .upload-label-success {
    border-color: #0B6B3A !important;
    background: #EAF6EF !important;
  }
  #form-toast, #form-toast-success {
    position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%);
    color: #fff; padding: 13px 22px; border-radius: 14px;
    font-size: 12px; font-weight: 700; z-index: 99999;
    box-shadow: 0 8px 28px rgba(0,0,0,0.22);
    max-width: 340px; text-align: center;
    animation: toast-in 0.3s cubic-bezier(.4,0,.2,1) forwards;
  }
  @keyframes toast-in { from { opacity:0; transform: translate(-50%, 16px); } to { opacity:1; transform: translate(-50%, 0); } }
