:root {
    --orange: #f79250;
    --coral: #fc686f;
    --ink: #1e1918;
    --ink-soft: #2a2422;
    --cream: #f5efe8;
    --paper: #fbf8f4;
    --white: #ffffff;
    --muted: #77706b;
    --line: rgba(30, 25, 24, 0.14);
    --line-dark: rgba(255, 255, 255, 0.14);
    --gradient: linear-gradient(0deg, #f79250 0%, #fc686f 120%);
    --gradient-horizontal: linear-gradient(90deg, #f79250 0%, #fc686f 120%);
    --font-display: "Manrope", sans-serif;
    --font-body: "DM Sans", sans-serif;
    --container-pad: clamp(1.25rem, 4vw, 4.75rem);
    --section-space: clamp(5rem, 9vw, 9rem);
}
input[type="radio"], input[type="checkbox"]{
    width: 1em;
    height: 1em;
}
/* Card */
    .career-card {
      max-width: 1000px;
      margin: 30px auto 0;      
      padding: 40px;
      border: 1px solid var(--line);
      border-radius:1.5rem;
      background: #f7f2eb;
    }

    /* Inputs */
    .career-card .form-control,
    .career-card .form-select {
      border: none;
      border-bottom: 1px solid var(--muted);
      border-radius: 0px;
      padding: 15px 15px 15px 0px;
      font-size: 1rem;
      color: var(--ink-soft);
      background-color: transparent;
      box-shadow: none;
      transition: border-color .2s ease, box-shadow .2s ease;
    }

    .career-card .form-control::placeholder { color: var(--muted); }
    .career-card .form-select:invalid { color: var(--muted); }
    .career-card .form-select option { color: var(--ink-soft); }

    .career-card .form-control:focus,
    .career-card .form-select:focus {
      border-color: var(--coral);
      box-shadow: none;
    }

    .career-card textarea.form-control {
      min-height: 100px;
      resize: none;
    }

    /* Validation - Matching Contact Form */
    .career-card .invalid-feedback,
    .career-card .captcha-error {
      color: #dc3545;
      font-size: .85rem;
      margin-top: 6px;
      margin-left: 4px;
    }

    .career-card .invalid-feedback {
      display: none;
    }

    .career-card .form-control.is-invalid,
    .career-card .form-select.is-invalid,
    .career-card.was-validated .form-control:invalid,
    .career-card.was-validated .form-select:invalid,
    .career-card form.was-validated .form-control:invalid,
    .career-card form.was-validated .form-select:invalid {
      border-color: #dc3545 !important;
      padding-right: calc(1.5em + .75rem);
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
      background-repeat: no-repeat;
      background-position: right calc(.375em + .25rem) center;
      background-size: calc(.75em + .375rem) calc(.75em + .375rem);
    }

    .career-card .form-control.is-invalid:focus,
    .career-card .form-select.is-invalid:focus,
    .career-card.was-validated .form-control:invalid:focus,
    .career-card.was-validated .form-select:invalid:focus,
    .career-card form.was-validated .form-control:invalid:focus,
    .career-card form.was-validated .form-select:invalid:focus {
      border-color: #dc3545 !important;
      box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) !important;
    }

    .career-card form.was-validated .form-control:valid,
    .career-card form.was-validated .form-select:valid {
      /* border-color: var(--line); */
      /* background-image: none; */
    }

    .career-card .was-validated :invalid ~ .invalid-feedback,
    .career-card form.was-validated :invalid ~ .invalid-feedback,
    .career-card .form-control.is-invalid ~ .invalid-feedback,
    .career-card .form-select.is-invalid ~ .invalid-feedback,
    .career-card .form-check-input.is-invalid ~ .invalid-feedback,
    .career-card .file-field.is-invalid ~ .invalid-feedback {
      display: block;
    }

    /* Resume upload */
    .file-field { position: relative; }
    .file-field .file-display {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      min-height: 58px;
      padding: 12px 16px;
     border: none;
      border-bottom: 1px solid var(--muted);
      border-radius: 0px;
      background: none;
      color: var(--ink-soft);
      cursor: pointer;
      text-align: left;
      transition: border-color .2s ease, box-shadow .2s ease;
    }
    .file-field .file-display .file-name {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .file-field .file-display.has-file { color: var(--ink-soft); }
    .file-field .file-display svg { flex: 0 0 auto; }
    .file-field input[type="file"] {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      cursor: pointer;
    }
    .file-field:focus-within .file-display {
      border-color: var(--coral);
      box-shadow: 0 0 0 .2rem rgba(252, 104, 111, .2);
    }
    .file-field.is-invalid .file-display,
    .career-card form.was-validated .file-field:has(input:invalid) .file-display {
      border-color: #dc3545 !important;
    }
    .file-field.is-invalid ~ .invalid-feedback,
    .career-card form.was-validated .file-field:has(input:invalid) ~ .invalid-feedback {
      display: block;
      color: #dc3545;
    }
    .file-hint { font-size: .8rem; color: var(--muted); margin: 6px 0 0 8px; }

    /* Consent */
    .consent .form-check-input {
      margin-top: .35rem;
      border-color: var(--muted);
    }
    .consent .form-check-input:checked {
      background-color: var(--coral);
      border-color: var(--coral);
    }
    .consent .form-check-input:focus {
      border-color: var(--coral);
      box-shadow: 0 0 0 .2rem rgba(252, 104, 111, .2);
    }
    .consent .form-check-input.is-invalid,
    .career-card form.was-validated .consent .form-check-input:invalid {
      border-color: #dc3545 !important;
    }
    .consent .form-check-input.is-invalid:focus,
    .career-card form.was-validated .consent .form-check-input:invalid:focus {
      border-color: #dc3545 !important;
      box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) !important;
    }
    .consent .form-check-label { font-size: .95rem; line-height: 1.7; color: var(--ink);}
    .consent a { color: #0d4fe0; text-decoration: none; }
    .consent a:hover { text-decoration: underline; }

    /* Button */
    .btn-gradient {
      background: var(--gradient-horizontal);
      color: #fff;
      border: 0;
      border-radius: 10px;
      padding: 13px 30px;
      font-size: 1.15rem;
      font-weight: 500;
      position: relative;
      z-index: 0;
      transition: transform .15s ease, box-shadow .2s ease;
    }
    .btn-gradient:hover,
    .btn-gradient:focus-visible {
      color: #fff;
      box-shadow: 0 8px 20px rgba(252, 104, 111, .3);
      transform: translateY(-1px);
    }
    .btn-gradient:focus-visible { outline: 3px solid rgba(252, 104, 111, .4); outline-offset: 2px; }
    .btn-gradient:disabled { opacity: .7; }

    /* Success & Error messages - matching contact form */
    .career-card .form-success,
    .form-success {
      display: none;
      align-items: center;
      gap: 0.75rem;
      padding: 1rem 1.25rem;
      border-radius: 0.8rem;
      background: rgba(65, 165, 118, 0.12);
      color: #26754e;
      font-size: 0.95rem;
      font-weight: 500;
      border: 1px solid rgba(65, 165, 118, 0.25);
    }
    .career-card .form-success.show,
    .form-success.show {
      display: flex;
    }
    .career-card .form-success i,
    .form-success i {
      font-size: 1.25rem;
      color: #26754e;
      flex-shrink: 0;
    }
.form-control.is-valid:focus, .was-validated .form-control:valid:focus {
    box-shadow: none;
}
    .career-card .form-error,
    .form-error {
      display: none;
      align-items: center;
      gap: 0.75rem;
      padding: 1rem 1.25rem;
      border-radius: 0.8rem;
      background: rgba(220, 53, 69, 0.12);
      color: #dc3545;
      font-size: 0.95rem;
      font-weight: 500;
      border: 1px solid rgba(220, 53, 69, 0.25);
    }
    .career-card .form-error.show,
    .form-error.show {
      display: flex;
    }
    .career-card .form-error i,
    .form-error i {
      font-size: 1.25rem;
      color: #dc3545;
      flex-shrink: 0;
    }

    /* Responsive */
    @media (max-width: 767.98px) {
      .career-card { padding: 28px 22px; border-radius: 28px; }
    }
    @media (max-width: 575.98px) {
      .career-card { padding: 24px 16px; border-radius: 22px; }
      .btn-gradient { width: 100%; }
    }

    @media (prefers-reduced-motion: reduce) {
      * { transition: none !important; }
    }