/* ── Careers page component CSS ──────────────────────────────── */

.careers-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-scale-16);
  background: var(--color-surface-dark);
}

.careers-hero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-scale-10);
}

.careers-hero__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-scale-4);
}

.careers-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: var(--space-scale-2);
  color: var(--color-text-accent);
}

.careers-hero__eyebrow-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: var(--radius-scale-full);
  background: var(--color-brand-gradient);
  flex-shrink: 0;
}

.careers-hero__headline {
  color: var(--color-text-on-dark);
  font-size: var(--font-size-heading-h1);
  line-height: 1.15;
  letter-spacing: var(--tracking-heading);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-scale-2);
  max-width: var(--layout-headline-max, 840px);
}

.careers-hero__subhead {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary-inverse);
  max-width: 100%;
  width: 100%;
  margin-bottom: var(--space-scale-2);
}

@media (min-width: 768px) {
  .careers-hero__subhead {
    font-size: 1.25rem;
    line-height: 1.6;
    max-width: var(--layout-subhead-max, 720px);
  }
}

.careers-hero__actions {
  margin-top: var(--space-scale-2);
}

.careers-culture,
.careers-day,
.careers-roles,
.careers-benefits,
.careers-proof {
  padding-block: var(--space-section-vertical);
}

.careers-culture + .careers-day {
  margin-bottom: var(--space-scale-4);
}

.careers-day__eyebrow,
.careers-roles__eyebrow,
.careers-benefits__eyebrow,
.careers-proof__eyebrow {
  margin-bottom: var(--space-scale-4);
  color: var(--color-text-accent);
}

.careers-day__headline,
.careers-roles__headline,
.careers-benefits__headline,
.careers-proof__headline {
  font-size: var(--font-size-heading-h2);
  line-height: var(--line-height-heading-h2);
  letter-spacing: var(--tracking-heading);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-scale-3);
  color: var(--color-text-primary);
  max-width: var(--layout-headline-max, 840px);
}

.careers-day__subhead {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
  max-width: var(--layout-subhead-max, 720px);
  margin-bottom: var(--space-scale-8);
}

.careers-day__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-scale-6);
}

@media (min-width: 768px) {
  .careers-day__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.careers-day__card {
  display: flex;
  flex-direction: column;
  padding: var(--space-scale-6);
  background: var(--color-surface-card);
  border: var(--border-width-hairline) solid var(--color-border-light);
  border-radius: var(--radius-scale-lg);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--motion-duration-fast) var(--motion-easing);
}

.careers-day__card:hover {
  border-color: var(--color-brand-primary);
}

.careers-day__time {
  align-self: flex-start;
  font-size: var(--font-size-caption);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-accent);
  background: rgba(14, 193, 246, 0.08);
  border: 1px solid rgba(14, 193, 246, 0.2);
  padding: 2px 8px;
  border-radius: var(--radius-scale-sm);
  margin-bottom: var(--space-scale-3);
}

.careers-day__title {
  font-size: var(--font-size-heading-h3);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-scale-2);
  color: var(--color-text-primary);
}

.careers-day__desc {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
  margin-bottom: 0;
}

.careers__role-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-scale-4);
  padding: var(--space-scale-8);
  border: none !important;
  border-radius: var(--radius-scale-lg);
  background: var(--color-surface-card);
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.08), 0 2px 6px -1px rgba(0, 0, 0, 0.04);
  transition: transform var(--motion-duration-fast) var(--motion-easing), box-shadow var(--motion-duration-fast) var(--motion-easing);
}

.careers__role-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px -4px rgba(0, 0, 0, 0.12), 0 4px 12px -2px rgba(0, 0, 0, 0.06);
}

.section--dark .careers__role-card {
  background: var(--color-navy-card);
  border: none !important;
  box-shadow: 0 4px 18px -2px rgba(0, 0, 0, 0.35), 0 2px 6px -1px rgba(0, 0, 0, 0.2);
}

.section--dark .careers__role-card:hover {
  transform: translateY(-4px);
  background: var(--color-navy-card-hover);
  box-shadow: 0 16px 36px -4px rgba(0, 0, 0, 0.55), 0 6px 14px -2px rgba(0, 0, 0, 0.3);
}

.section--dark .careers__role-card-title {
  color: #FFFFFF;
}

.section--dark .careers__role-card-location,
.section--dark .careers__role-card-type {
  color: rgba(255, 255, 255, 0.65);
}

.section--dark .careers__role-card-summary {
  color: var(--color-text-secondary-inverse);
}

.careers__role-card-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-scale-2);
}

.careers__role-card-title {
  font-size: var(--font-size-heading-h3);
  line-height: var(--line-height-heading-h3);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.careers__role-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-scale-2);
}

.careers__role-card-location,
.careers__role-card-type {
  font-size: var(--font-size-small);
  color: var(--color-text-secondary);
}

.careers__role-card-summary {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
}

.careers__role-card-link {
  align-self: flex-start;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brand-secondary);
  text-decoration: none;
}

.careers__role-card-link:hover {
  text-decoration: underline;
}

.careers-roles__empty {
  display: flex;
  flex-direction: column;
  gap: var(--space-scale-6);
  align-items: flex-start;
  padding: var(--space-scale-10);
  border: var(--border-width-hairline) solid var(--color-border-light);
  border-radius: var(--radius-scale-lg);
  background: var(--color-surface-secondary);
}

.careers-roles__empty-text {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
}

.careers-roles__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-scale-6);
}

.careers-benefits__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-scale-4);
}

@media (min-width: 640px) {
  .careers-benefits__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .careers-benefits__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.careers-benefits__card {
  display: flex;
  gap: var(--space-scale-4);
  align-items: flex-start;
  padding: var(--space-scale-8);
  border: none !important;
  border-radius: var(--radius-scale-lg);
  background: var(--color-surface-card);
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.08), 0 2px 6px -1px rgba(0, 0, 0, 0.04);
  transition: transform var(--motion-duration-fast) var(--motion-easing), box-shadow var(--motion-duration-fast) var(--motion-easing);
}

.careers-benefits__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px -4px rgba(0, 0, 0, 0.12), 0 4px 12px -2px rgba(0, 0, 0, 0.06);
}

.section--dark .careers-benefits__card {
  background: var(--color-navy-card);
  border: none !important;
  box-shadow: 0 4px 18px -2px rgba(0, 0, 0, 0.35), 0 2px 6px -1px rgba(0, 0, 0, 0.2);
}

.section--dark .careers-benefits__card:hover {
  transform: translateY(-4px);
  background: var(--color-navy-card-hover);
  box-shadow: 0 16px 36px -4px rgba(0, 0, 0, 0.55), 0 6px 14px -2px rgba(0, 0, 0, 0.3);
}

.section--dark .careers-benefits__card-title {
  color: #FFFFFF;
}

.section--dark .careers-benefits__card-desc {
  color: var(--color-text-secondary-inverse);
}

.careers-benefits__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-scale-md);
  background: rgba(14, 193, 246, 0.12);
  color: var(--color-text-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.careers-benefits__icon svg {
  width: 22px;
  height: 22px;
}

.careers-benefits__card-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-scale-1);
}

.careers-benefits__card-title {
  font-size: var(--font-size-heading-h3);
  line-height: var(--line-height-heading-h3);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.careers-benefits__card-desc {
  font-size: var(--font-size-small);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
}

.careers-process {
  padding-block: var(--space-section-vertical);
}

.careers-process__eyebrow {
  margin-bottom: var(--space-scale-4);
  color: var(--color-text-accent);
}

.careers-process__headline {
  font-size: var(--font-size-heading-h2);
  line-height: var(--line-height-heading-h2);
  letter-spacing: var(--tracking-heading);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-scale-10);
}

.careers-process__steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-scale-4);
}

@media (min-width: 768px) {
  .careers-process__steps {
    grid-template-columns: repeat(3, 1fr);
  }
}

.careers-requirements {
  padding-block: var(--space-section-vertical);
}

.careers-requirements__eyebrow {
  margin-bottom: var(--space-scale-4);
  color: var(--color-text-accent);
}

.careers-requirements__headline {
  font-size: var(--font-size-heading-h2);
  line-height: var(--line-height-heading-h2);
  letter-spacing: var(--tracking-heading);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-scale-3);
  color: var(--color-text-primary);
  max-width: var(--layout-headline-max, 840px);
}

.careers-requirements__subhead {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
  max-width: var(--layout-subhead-max, 720px);
  margin-bottom: var(--space-scale-8);
}

.careers-requirements__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-scale-4);
}

@media (min-width: 768px) {
  .careers-requirements__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.careers-requirements__card {
  display: flex;
  flex-direction: column;
  padding: var(--space-scale-8);
  border: none !important;
  border-radius: var(--radius-scale-lg);
  background: var(--color-surface-card);
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.08), 0 2px 6px -1px rgba(0, 0, 0, 0.04);
  transition: transform var(--motion-duration-fast) var(--motion-easing), box-shadow var(--motion-duration-fast) var(--motion-easing);
}

.careers-requirements__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px -4px rgba(0, 0, 0, 0.12), 0 4px 12px -2px rgba(0, 0, 0, 0.06);
}

.section--dark .careers-requirements__card {
  background: var(--color-navy-card);
  border: none !important;
  box-shadow: 0 4px 18px -2px rgba(0, 0, 0, 0.35), 0 2px 6px -1px rgba(0, 0, 0, 0.2);
}

.section--dark .careers-requirements__card:hover {
  transform: translateY(-4px);
  background: var(--color-navy-card-hover);
  box-shadow: 0 16px 36px -4px rgba(0, 0, 0, 0.55), 0 6px 14px -2px rgba(0, 0, 0, 0.3);
}

.section--dark .careers-requirements__card-title {
  color: #FFFFFF;
}

.section--dark .careers-requirements__card-desc {
  color: var(--color-text-secondary-inverse);
}

.careers-requirements__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-scale-full);
  background: rgba(14, 193, 246, 0.12);
  border: 1px solid rgba(14, 193, 246, 0.28);
  color: var(--color-text-accent);
  flex-shrink: 0;
}

.careers-requirements__card-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-scale-1);
}

.careers-requirements__card-title {
  font-size: var(--font-size-heading-h3);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: 0;
}

.careers-requirements__card-desc {
  font-size: var(--font-size-small);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
  margin-bottom: 0;
}

.careers-faq {
  padding-block: var(--space-section-vertical);
}

.careers-faq__eyebrow {
  margin-bottom: var(--space-scale-4);
  color: var(--color-text-accent);
}

.careers-faq__headline {
  font-size: var(--font-size-heading-h2);
  line-height: var(--line-height-heading-h2);
  letter-spacing: var(--tracking-heading);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-scale-3);
  color: var(--color-text-primary);
  max-width: var(--layout-headline-max, 840px);
}

.careers-faq__subhead {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
  max-width: var(--layout-subhead-max, 720px);
  margin-bottom: var(--space-scale-8);
}

.careers-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-scale-4);
  max-width: var(--layout-prose-max, 720px);
}

.careers-faq__item {
  border: var(--border-width-hairline) solid var(--color-card-border);
  border-radius: var(--radius-scale-lg);
  background: var(--color-surface-card);
  padding: var(--space-scale-5) var(--space-scale-6);
  transition: border-color var(--motion-duration-fast) var(--motion-easing);
}

.careers-faq__item:hover {
  border-color: var(--color-brand-primary);
}

.careers-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-scale-4);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  cursor: pointer;
  list-style: none;
}

.careers-faq__question::-webkit-details-marker {
  display: none;
}

.careers-faq__question::marker {
  display: none;
}

.careers-faq__chevron {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--color-text-accent);
  transition: transform var(--motion-duration-fast) var(--motion-easing);
}

.careers-faq__item[open] > .careers-faq__question > .careers-faq__chevron {
  transform: rotate(180deg);
}

.careers-faq__answer {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-secondary);
  margin-top: var(--space-scale-4);
  margin-bottom: 0;
  padding-top: var(--space-scale-4);
  border-top: var(--border-width-hairline) solid var(--color-border-light);
}

@media (min-width: 768px) {
  .careers-roles__list,
  .careers-benefits__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .careers-proof__metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .careers-proof__metric-number {
    font-size: var(--font-size-display);
  }
}

@media (min-width: 1024px) {
  .careers-hero__headline {
    font-size: var(--font-size-display);
    line-height: var(--line-height-display);
  }

  .careers-benefits__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .careers-proof__metrics {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1440px) {
  .careers-hero {
    padding-block: var(--space-scale-24);
  }
}
