.careers-hero-actions { margin-top: 30px; }
.benefit-card:nth-child(1) { --bc: #fbbf24; }
.benefit-card:nth-child(2) { --bc: #f0554f; }
.benefit-card:nth-child(3) { --bc: #c084fc; }
.benefit-card:nth-child(4) { --bc: var(--p-eihom); }
.benefit-card:nth-child(5) { --bc: #4ade80; }
.benefit-card:nth-child(6) { --bc: #67e8f9; }
.benefit-card:nth-child(7) { --bc: #a3e635; }
.benefit-card:nth-child(8) { --bc: #f0554f; }
.careers-culture-grid { margin-top: 22px; }

.job-departments { display: grid; gap: 18px; }
.job-department {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--glass);
}
.job-department-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 28px;
  align-items: center;
  gap: 18px;
  padding: 24px;
  border-radius: inherit;
  cursor: pointer;
  list-style: none;
}
.job-department-summary::-webkit-details-marker { display: none; }
.job-department-summary:hover { background: var(--glass-strong); }
.job-department-summary:focus-visible { outline: 2px solid var(--aurora-1); outline-offset: 4px; }
.job-department-name {
  color: var(--tx-1);
  font-family: var(--font-display);
  font-size: clamp(19px, 2.5vw, 24px);
  font-weight: 600;
  overflow-wrap: anywhere;
}
.job-department-count { color: var(--tx-2); font-size: 14px; }
.job-department-chevron { width: 28px; height: 28px; color: var(--aurora-1); }
.job-department[open] > .job-department-summary {
  border-bottom: 1px solid var(--line);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
}
.job-department[open] > .job-department-summary .job-department-chevron { transform: rotate(180deg); }
.job-department > .job-grid { padding: clamp(16px, 2vw, 24px); }

body.application-privacy-open { overflow: hidden; }

.application-privacy {
  width: min(760px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  color: var(--tx-2);
  background: var(--bg-1);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.application-privacy::backdrop {
  background: rgba(2, 6, 30, 0.76);
  backdrop-filter: blur(6px);
}

.application-privacy-form {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 34px);
}

.application-privacy-header,
.application-privacy-footer {
  flex-shrink: 0;
  padding: 26px 30px;
}

.application-privacy-header { position: relative; padding-right: 64px; }
.application-privacy-header .eyebrow { margin-bottom: 12px; }
.application-privacy-header h2 { font-size: clamp(24px, 4vw, 32px); margin-bottom: 12px; }
.application-privacy-header p { font-size: 14px; }
.application-privacy-header strong { color: var(--tx-1); }

.application-privacy-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--tx-1);
  background: var(--glass-strong);
  font-size: 28px;
  line-height: 1;
}

.application-privacy-terms {
  min-height: 0;
  padding: 0 30px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-block: 1px solid var(--line);
}

.application-privacy-terms details + details { border-top: 1px solid var(--line); }
.application-privacy-terms summary {
  padding: 18px 0;
  color: var(--tx-1);
  font-family: var(--font-display);
  font-weight: 600;
  cursor: pointer;
}
.application-privacy-terms p { padding-bottom: 18px; font-size: 14px; }

.application-privacy-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--tx-1);
  font-size: 14px;
  cursor: pointer;
}

.application-privacy-consent input {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: var(--aurora-2);
  cursor: pointer;
}

.application-privacy-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 22px; }
.application-privacy-actions .btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.application-privacy :focus-visible { outline: 2px solid var(--aurora-1); outline-offset: 4px; }

@media (max-width: 540px) {
  .job-department-summary { grid-template-columns: minmax(0, 1fr) 28px; gap: 8px 14px; padding: 20px; }
  .job-department-count { grid-column: 1; grid-row: 2; }
  .job-department-chevron { grid-column: 2; grid-row: 1 / span 2; }
  .application-privacy-header,
  .application-privacy-footer { padding: 20px; }
  .application-privacy-header { padding-right: 60px; }
  .application-privacy-terms { padding-inline: 20px; }
  .application-privacy-actions .btn { flex: 1; padding-inline: 20px; }
}

@media (max-height: 640px) {
  .application-privacy { overflow-y: auto; overscroll-behavior: contain; }
  .application-privacy-form { max-height: none; }
  .application-privacy-terms { overflow: visible; flex-shrink: 0; }
}
