/* Scoped Styles for Careers Page */
/* Scoped Styles for Careers Page */
    .careers-hero {
      padding: 70px 0 40px;
      text-align: center;
      position: relative;
    }
    .careers-hero-title {
      font-size: clamp(2rem, 4.5vw, 3.2rem);
      font-weight: 900;
      color: var(--c-heading);
      margin-bottom: 20px;
      line-height: 1.25;
    }
    .careers-hero-title em {
      font-style: normal;
      background: linear-gradient(135deg, var(--c-brand), #9196ff);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .careers-hero-sub {
      font-size: 1.15rem;
      color: var(--c-muted);
      max-width: 720px;
      margin: 0 auto 36px;
      line-height: 1.8;
    }

    /* Dual Path Cards */
    .dual-path-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 28px;
      margin-bottom: 60px;
    }
    .path-card {
      background: #ffffff;
      border: 2px solid var(--c-border-light);
      border-radius: var(--r-lg);
      padding: 36px 30px;
      position: relative;
      overflow: hidden;
      transition: all 0.35s var(--ease-spring);
      box-shadow: var(--shadow-sm);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .path-card:hover {
      transform: translateY(-8px);
      border-color: var(--c-brand);
      box-shadow: var(--shadow-hover);
    }
    .path-card.featured {
      border-color: rgba(109, 115, 255, 0.4);
      background: linear-gradient(180deg, #ffffff 0%, rgba(109, 115, 255, 0.04) 100%);
    }
    .path-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(109, 115, 255, 0.1);
      color: var(--c-brand-deep);
      padding: 6px 14px;
      border-radius: var(--r-pill);
      font-size: 12.5px;
      font-weight: 800;
      margin-bottom: 20px;
      width: fit-content;
    }
    .path-tag.nurse-tag {
      background: rgba(174, 250, 124, 0.25);
      color: #1e6e02;
    }
    .path-title {
      font-size: 22px;
      font-weight: 900;
      color: var(--c-heading);
      margin-bottom: 12px;
    }
    .path-desc {
      font-size: 14.5px;
      color: var(--c-body);
      line-height: 1.75;
      margin-bottom: 24px;
    }
    .path-perks {
      list-style: none;
      padding: 0;
      margin: 0 0 28px;
    }
    .path-perks li {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 14px;
      font-weight: 600;
      color: var(--c-heading);
      margin-bottom: 10px;
    }
    .path-perks li i {
      color: var(--c-brand);
      font-size: 14px;
    }
    .path-perks li i.fa-check-double {
      color: #2e8b08;
    }

    /* Stats strip */
    .hero-stats-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      max-width: 960px;
      margin: 0 auto 50px;
      background: #ffffff;
      border: 1px solid var(--c-border);
      padding: 20px;
      border-radius: var(--r-md);
      box-shadow: var(--shadow-sm);
    }
    .stat-box {
      text-align: center;
      padding: 10px;
    }
    .stat-box:not(:last-child) {
      border-left: 1px solid var(--c-border-light);
    }
    .stat-num {
      font-size: 28px;
      font-weight: 900;
      color: var(--c-brand);
      display: block;
      line-height: 1.2;
    }
    .stat-lbl {
      font-size: 13px;
      color: var(--c-muted);
      font-weight: 600;
    }

    /* Culture Strip */
    .culture-section {
      padding: 60px 0;
      background: var(--c-bg-soft);
      border-top: 1px solid var(--c-border-light);
      border-bottom: 1px solid var(--c-border-light);
      margin-bottom: 60px;
    }
    .culture-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 20px;
    }
    .cult-card {
      background: #ffffff;
      border: 1px solid var(--c-border);
      border-radius: var(--r-md);
      padding: 28px 24px;
      transition: all 0.3s;
    }
    .cult-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-sm);
      border-color: var(--c-brand);
    }
    .cult-icon {
      font-size: 32px;
      margin-bottom: 14px;
      display: inline-block;
    }
    .cult-card h3 {
      font-size: 18px;
      font-weight: 800;
      color: var(--c-heading);
      margin-bottom: 8px;
    }
    .cult-card p {
      font-size: 13.5px;
      color: var(--c-muted);
      line-height: 1.7;
      margin: 0;
    }

    /* Filter Bar */
    .filter-bar {
      display: flex;
      gap: 10px;
      justify-content: center;
      flex-wrap: wrap;
      margin: 30px 0 40px;
    }
    .filter-btn {
      background: #ffffff;
      border: 1px solid var(--c-border);
      color: var(--c-body);
      padding: 10px 22px;
      border-radius: var(--r-pill);
      font-family: var(--ff-head);
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      transition: all 0.25s;
    }
    .filter-btn:hover {
      border-color: var(--c-brand);
      color: var(--c-brand-deep);
    }
    .filter-btn.active {
      background: var(--c-brand);
      color: #ffffff;
      border-color: var(--c-brand);
      box-shadow: 0 4px 14px rgba(109, 115, 255, 0.3);
    }

    /* Positions Section */
    .positions-section {
      padding: 40px 0 80px;
    }
    .dept-group {
      margin-bottom: 36px;
    }
    .dept-header {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
      padding-bottom: 10px;
      border-bottom: 2px solid var(--c-border-light);
    }
    .dept-icon {
      font-size: 22px;
    }
    .dept-name {
      font-size: 20px;
      font-weight: 800;
      color: var(--c-heading);
    }
    .dept-count {
      font-size: 12px;
      font-weight: 700;
      background: var(--c-brand-5);
      color: var(--c-brand-deep);
      padding: 3px 10px;
      border-radius: var(--r-pill);
      margin-right: auto;
    }
    .jobs-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
      gap: 18px;
    }
    .job-card {
      background: #ffffff;
      border: 1px solid var(--c-border);
      border-radius: var(--r-md);
      padding: 22px 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      cursor: pointer;
      transition: all 0.25s var(--ease-spring);
    }
    .job-card:hover {
      border-color: var(--c-brand);
      transform: translateY(-4px);
      box-shadow: var(--shadow-sm);
    }
    .job-title {
      font-size: 16.5px;
      font-weight: 800;
      color: var(--c-heading);
      margin-bottom: 8px;
    }
    .job-meta {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      align-items: center;
    }
    .job-tag {
      font-size: 12px;
      color: var(--c-muted);
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }
    .tag-badge {
      font-size: 11px;
      font-weight: 800;
      padding: 2px 8px;
      border-radius: 6px;
    }
    .tag-intern { background: #eef0ff; color: var(--c-brand-deep); }
    .tag-remote { background: #e7f9ec; color: #15803d; }
    .tag-hybrid { background: #fef3c7; color: #b45309; }
    .tag-onsite { background: #f3f4f6; color: #374151; }
    .apply-arrow {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: var(--c-brand-5);
      color: var(--c-brand);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: all 0.25s;
    }
    .job-card:hover .apply-arrow {
      background: var(--c-brand);
      color: #ffffff;
      transform: translateX(-4px);
    }

    /* Modal Styling */
    .overlay {
      position: fixed;
      inset: 0;
      background: rgba(10, 15, 30, 0.7);
      backdrop-filter: blur(8px);
      z-index: 9999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }
    .overlay.open { display: flex; }
    .modal {
      background: #ffffff;
      border-radius: var(--r-lg);
      width: 100%;
      max-width: 680px;
      max-height: 90vh;
      overflow-y: auto;
      box-shadow: var(--shadow-lg);
      position: relative;
    }
    .modal-header {
      padding: 24px 28px;
      border-bottom: 1px solid var(--c-border-light);
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      position: sticky;
      top: 0;
      background: #ffffff;
      z-index: 10;
    }
    .modal-close {
      background: #f1f3ff;
      border: none;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: var(--c-muted);
      transition: all 0.2s;
    }
    .modal-close:hover {
      background: #ffebee;
      color: #e53935;
    }
    .progress-wrap {
      padding: 20px 28px 0;
    }
    .progress-steps {
      display: flex;
      justify-content: space-between;
      position: relative;
    }
    .prog-step {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      flex: 1;
      position: relative;
    }
    .prog-circle {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: #f1f3ff;
      color: var(--c-muted);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      font-size: 13px;
      border: 2px solid var(--c-border);
      transition: all 0.3s;
    }
    .prog-step.active .prog-circle {
      background: var(--c-brand);
      color: #fff;
      border-color: var(--c-brand);
      box-shadow: 0 0 12px rgba(109, 115, 255, 0.4);
    }
    .prog-step.done .prog-circle {
      background: #22c55e;
      color: #fff;
      border-color: #22c55e;
    }
    .prog-label {
      font-size: 11px;
      font-weight: 700;
      color: var(--c-muted);
    }
    .modal-body {
      padding: 24px 28px 32px;
    }
    .step-panel { display: none; }
    .step-panel.active { display: block; }
    .step-title {
      font-size: 18px;
      font-weight: 800;
      color: var(--c-heading);
      margin-bottom: 4px;
    }
    .step-sub {
      font-size: 13px;
      color: var(--c-muted);
      margin-bottom: 20px;
    }
    .field {
      margin-bottom: 18px;
    }
    .field label {
      display: block;
      font-size: 13.5px;
      font-weight: 700;
      color: var(--c-heading);
      margin-bottom: 6px;
    }
    .field label .req {
      color: #ef4444;
      margin-inline-end: 4px;
    }
    .field input, .field textarea {
      width: 100%;
      padding: 12px 16px;
      border: 1px solid var(--c-border);
      border-radius: var(--r-sm);
      font-family: var(--ff-body);
      font-size: 14px;
      outline: none;
      transition: all 0.25s;
    }
    .field input:focus, .field textarea:focus {
      border-color: var(--c-brand);
      box-shadow: 0 0 0 3px rgba(109, 115, 255, 0.15);
    }
    .field input.err { border-color: #ef4444; }
    .two-col {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .radio-cards {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      gap: 12px;
    }
    .radio-card {
      border: 1px solid var(--c-border);
      border-radius: var(--r-sm);
      padding: 14px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 10px;
      transition: all 0.25s;
    }
    .radio-card input { display: none; }
    .radio-card.selected {
      border-color: var(--c-brand);
      background: rgba(109, 115, 255, 0.06);
    }
    .rc-title {
      font-size: 13.5px;
      font-weight: 800;
      color: var(--c-heading);
      display: block;
    }
    .rc-sub {
      font-size: 11px;
      color: var(--c-muted);
    }
    .dept-picker {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      max-height: 220px;
      overflow-y: auto;
      padding: 4px;
    }
    .dept-pill {
      border: 1px solid var(--c-border);
      border-radius: var(--r-sm);
      padding: 10px 12px;
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font-size: 13px;
      font-weight: 700;
      transition: all 0.2s;
    }
    .dept-pill input { display: none; }
    .dept-pill.selected {
      border-color: var(--c-brand);
      background: rgba(109, 115, 255, 0.08);
      color: var(--c-brand-deep);
    }
    .step-nav {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-top: 24px;
    }
    .btn-back {
      background: #f1f3ff;
      border: none;
      padding: 12px 24px;
      border-radius: var(--r-sm);
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
    }
    .btn-next {
      background: var(--c-brand);
      color: #fff;
      border: none;
      padding: 12px 28px;
      border-radius: var(--r-sm);
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      box-shadow: 0 4px 14px rgba(109, 115, 255, 0.3);
    }
    .btn-submit {
      background: #16a34a;
    }
    .success-state {
      display: none;
      text-align: center;
      padding: 40px 20px;
    }
    .success-state.show { display: block; }
    .job-info-view {
      padding: 24px 28px;
      display: none;
    }
    .job-info-view h4 {
      font-size: 15px;
      font-weight: 800;
      color: var(--c-heading);
      margin: 18px 0 8px;
    }
    .job-info-view ul {
      padding-right: 20px;
      font-size: 13.5px;
      color: var(--c-body);
      line-height: 1.8;
    }

    @media (max-width: 768px) {
      .hero-stats-row { grid-template-columns: 1fr 1fr; }
      .two-col, .dept-picker { grid-template-columns: 1fr; }
      .jobs-grid { grid-template-columns: 1fr; }
    }
