.qualification-modal[hidden] { display: none; }

.qualification-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 20px;
}

.qualification-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(9, 25, 12, 0.76);
  backdrop-filter: blur(5px);
  animation: qualification-fade 180ms ease-out both;
}

.qualification-card {
  position: relative;
  width: min(680px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 30px;
  border: 1px solid rgba(1, 88, 4, 0.16);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  animation: qualification-enter 260ms cubic-bezier(.2, .8, .2, 1) both;
}

.qualification-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #f3f5f3;
  color: #171717;
  cursor: pointer;
  font-size: 18px;
  transition: background-color 160ms ease, color 160ms ease;
}

.qualification-close:hover,
.qualification-close:focus-visible { background: #015804; color: #fff; }

.qualification-brand {
  width: 158px;
  margin-bottom: 20px;
  padding: 8px 12px;
  border-radius: 6px;
  background: #015804;
}

.qualification-brand img {
  display: block;
  width: 100%;
  filter: brightness(0) invert(1);
}

.qualification-heading { padding-right: 36px; }

.qualification-eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #b80027;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.qualification-heading h2 {
  margin: 0 0 8px;
  color: #015804;
  font-size: 30px;
  line-height: 1.14;
  font-weight: 750;
}

.qualification-heading p {
  margin: 0 0 20px;
  color: #4d554f;
  font-size: 16px;
}

.qualification-progress {
  height: 5px;
  overflow: hidden;
  border-radius: 3px;
  background: #e5ebe6;
}

.qualification-progress__bar {
  display: block;
  width: 50%;
  height: 100%;
  background: #b80027;
  transition: width 240ms ease;
}

.qualification-progress__label {
  margin: 7px 0 20px;
  color: #59615b;
  font-size: 13px;
  text-align: right;
}

.qualification-step.is-active { animation: qualification-step 220ms ease-out both; }
.qualification-field { margin-bottom: 18px; }

.qualification-field label,
.qualification-field legend {
  display: block;
  margin-bottom: 7px;
  color: #1a211b;
  font-size: 15px;
  font-weight: 700;
}

.qualification-field label > span[aria-hidden="true"],
.qualification-field legend > span[aria-hidden="true"] { color: #b80027; }

.qualification-field input[type="text"],
.qualification-field select {
  width: 100%;
  min-height: 50px;
  padding: 11px 14px;
  border: 1px solid #c7d0c9;
  border-radius: 6px;
  outline: 0;
  background: #fff;
  color: #171717;
  font-size: 16px;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.qualification-field input[type="text"]:focus,
.qualification-field select:focus {
  border-color: #015804;
  box-shadow: 0 0 0 3px rgba(1, 88, 4, 0.13);
}

.qualification-field.has-error input[type="text"],
.qualification-field.has-error select,
.qualification-options.has-error .qualification-option { border-color: #b80027; }

.qualification-help {
  margin: 6px 0 0;
  color: #667069;
  font-size: 13px;
  line-height: 1.35;
}

.qualification-error {
  min-height: 18px;
  margin: 5px 0 0;
  color: #b80027;
  font-size: 13px;
  line-height: 1.3;
}

.qualification-options { padding: 0; border: 0; }
.qualification-options[hidden],
.qualification-option[hidden] { display: none !important; }

.qualification-option {
  display: flex !important;
  align-items: flex-start;
  gap: 11px;
  margin-bottom: 9px !important;
  padding: 12px 14px;
  border: 1px solid #d5dcd6;
  border-radius: 6px;
  background: #fbfcfb;
  cursor: pointer;
  font-weight: 500 !important;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.qualification-option:hover { border-color: #71a373; background: #f4f8f4; }
.qualification-option:has(input:checked) { border-color: #015804; background: #edf6ee; }

.qualification-option input {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: #015804;
  flex: 0 0 auto;
}

.qualification-option span { line-height: 1.35; }

@media (min-width: 576px) {
  .qualification-card { max-height: calc(100vh - 24px); padding: 24px; }
  .qualification-brand { width: 140px; margin-bottom: 12px; }
  .qualification-step[data-step="2"] .qualification-field { margin-bottom: 12px; }
  .qualification-step[data-step="2"] .qualification-option { margin-bottom: 6px !important; padding: 9px 12px; }
  .qualification-step[data-step="2"] .qualification-actions { margin-top: 12px; }
}

.qualification-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
}

.qualification-actions--end { justify-content: flex-end; }

.qualification-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 750;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.qualification-button:hover { transform: translateY(-1px); }
.qualification-button:disabled { cursor: wait; opacity: .7; transform: none; }
.qualification-button--primary { background: #b80027; color: #fff; }
.qualification-button--primary:hover,
.qualification-button--primary:focus-visible { background: #980020; }

.qualification-button--secondary {
  border-color: #b8c3ba;
  background: #fff;
  color: #015804;
}

.qualification-button--secondary:hover,
.qualification-button--secondary:focus-visible { border-color: #015804; background: #f1f7f2; }

.qualification-result {
  padding: 18px 0 4px;
  text-align: center;
  animation: qualification-step 220ms ease-out both;
}

.qualification-result__icon {
  width: 56px;
  height: 56px;
  display: inline-grid;
  place-items: center;
  margin-bottom: 15px;
  border-radius: 50%;
  background: #e6f2e7;
  color: #015804;
  font-size: 23px;
}

.qualification-result h3 { margin-bottom: 9px; color: #015804; font-size: 25px; }
.qualification-result p { max-width: 520px; margin: 0 auto 20px; color: #4d554f; line-height: 1.55; }
.qualification-result__actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.qualification-result__actions [hidden] { display: none !important; }

.qualification-status {
  min-height: 20px;
  margin: 12px 0 0;
  color: #b80027;
  font-size: 14px;
  text-align: center;
}

.qualification-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

body.qualification-open { overflow: hidden !important; }

.qualified-page {
  min-height: 78vh;
  display: grid;
  place-items: center;
  padding: 150px 20px 70px;
  background: #f5f7f5;
}

.qualified-panel {
  width: min(680px, 100%);
  padding: 44px 34px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(1, 88, 4, .12);
  text-align: center;
}

.qualified-panel__icon {
  width: 68px;
  height: 68px;
  display: inline-grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: #e5f3e6;
  color: #015804;
  font-size: 28px;
}

.qualified-panel h1 { margin: 0 0 12px; color: #015804; font-size: 38px; line-height: 1.12; }
.qualified-panel > p { max-width: 510px; margin: 0 auto 24px; color: #4d554f; font-size: 17px; line-height: 1.5; }
.qualified-panel .btn-one { display: inline-flex; align-items: center; gap: 9px; }
.qualified-panel .qualified-panel__redirect { margin-top: 16px; margin-bottom: 0; color: #687069; font-size: 13px; }

@keyframes qualification-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes qualification-enter { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes qualification-step { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }

@media (max-width: 575px) {
  .qualification-modal { align-items: end; padding: 0; }
  .qualification-card { width: 100%; max-height: 92vh; padding: 24px 18px 20px; border-radius: 8px 8px 0 0; }
  .qualification-brand { width: 138px; margin-bottom: 16px; }
  .qualification-heading h2 { font-size: 25px; }
  .qualification-heading p { font-size: 15px; }
  .qualification-actions { flex-direction: column-reverse; }
  .qualification-actions--end { flex-direction: row; }
  .qualification-button { width: 100%; }
  .qualified-page { padding: 120px 16px 48px; }
  .qualified-panel { padding: 34px 20px; }
  .qualified-panel h1 { font-size: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .qualification-modal__backdrop,
  .qualification-card,
  .qualification-step.is-active,
  .qualification-result { animation: none; }
  .qualification-progress__bar,
  .qualification-button { transition: none; }
}
