/* Careers page only. All selectors are scoped to Careers-specific classes. */
.careers-page { background: var(--bg-primary); }
.careers-hero {
  min-height: 100vh;
  overflow: hidden;
  padding: calc(var(--nav-height) + 96px) 0 120px;
  isolation: isolate;
}
.careers-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -3;
  background: linear-gradient(180deg, rgba(255,255,255,.025), transparent 28%), radial-gradient(ellipse 70% 45% at 50% 0%, rgba(255,255,255,.06), transparent 70%);
}
.careers-grid-lines {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .42;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 72%);
}
.careers-glow {
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  filter: blur(120px);
  opacity: .06;
  background: #fff;
}
.careers-glow-one { top: 10%; left: -190px; }
.careers-glow-two { right: -190px; bottom: 8%; }
.careers-inner { position: relative; }
.careers-heading { max-width: 920px; margin: 0 auto 72px; text-align: center; }
.careers-label { justify-content: center; }
.careers-heading h1 {
  margin: 22px 0 26px;
  font-family: var(--font-display);
  font-size: clamp(3.25rem, 7vw, 7rem);
  font-weight: 800;
  line-height: .96;
  letter-spacing: -.055em;
}
.careers-heading h1 span { color: transparent; -webkit-text-stroke: 1.5px var(--text-primary); }
.careers-heading > p { max-width: 680px; margin: 0 auto; color: var(--text-secondary); font-size: clamp(1rem, 1.45vw, 1.2rem); line-height: 1.7; }
.career-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 1160px; margin: 0 auto; }
.career-card {
  position: relative;
  display: flex;
  min-height: 430px;
  flex-direction: column;
  padding: 34px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  transition: transform .4s var(--ease-out), border-color .4s, background .4s;
}
.career-card:hover { transform: translateY(-8px); border-color: var(--border-hover); background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); }
.career-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.career-number { color: var(--text-muted); font-size: .76rem; font-weight: 700; letter-spacing: .14em; }
.career-icon { width: 32px; height: 32px; color: var(--text-primary); }
.career-card-image {
  position: relative;
  height: 168px;
  margin: 0 0 26px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--bg-secondary);
}
.career-card-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(10,10,10,.38));
  pointer-events: none;
}
.career-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(1.05);
  transition: transform .55s var(--ease-out), filter .55s;
}
.career-card:hover .career-card-image img { transform: scale(1.055); filter: saturate(.95) contrast(1.08); }
.career-card h2 { margin-bottom: 16px; font-family: var(--font-display); font-size: clamp(1.5rem, 2vw, 2rem); letter-spacing: -.025em; }
.career-card > p { margin-bottom: 24px; color: var(--text-secondary); font-size: .94rem; line-height: 1.7; }
.career-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.career-tags span {
  padding: 7px 12px;
  border: 1px solid var(--border);
  border-radius: 100px;
  color: var(--text-secondary);
  background: rgba(255,255,255,.015);
  font-size: .72rem;
  font-weight: 600;
  transition: transform .25s var(--ease-out), color .25s, border-color .25s, background .25s, box-shadow .25s;
}
.career-tags span:hover {
  transform: translateY(-4px) scale(1.08);
  color: var(--text-primary);
  border-color: rgba(255,255,255,.38);
  background: rgba(255,255,255,.09);
  box-shadow: 0 10px 24px rgba(0,0,0,.3), 0 0 18px rgba(255,255,255,.08);
}
.career-apply {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: auto;
  padding: 15px 20px;
  border-radius: 100px;
  background: var(--text-primary);
  color: var(--bg-primary);
  font-weight: 700;
  transition: transform .3s var(--ease-out), box-shadow .3s;
}
.career-apply:hover { transform: scale(1.02); box-shadow: 0 0 40px rgba(255,255,255,.12); }
.career-apply svg { width: 18px; height: 18px; transition: transform .3s; }
.career-apply:hover svg { transform: translateX(4px); }
.careers-note {
  display: grid;
  grid-template-columns: 1fr 2fr auto;
  align-items: center;
  gap: 28px;
  max-width: 1160px;
  margin: 22px auto 0;
  padding: 26px 30px;
  border: 1px solid var(--border);
  color: var(--text-secondary);
}
.careers-note strong, .careers-note a { color: var(--text-primary); font-weight: 700; }
.careers-note p, .careers-note a { font-size: .9rem; }
@media (max-width: 960px) {
  .career-cards { grid-template-columns: 1fr 1fr; }
  .career-card:last-child { grid-column: 1 / -1; }
  .careers-note { grid-template-columns: 1fr auto; }
  .careers-note p { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 640px) {
  .careers-hero { padding-top: calc(var(--nav-height) + 64px); padding-bottom: 80px; }
  .careers-heading { margin-bottom: 48px; text-align: left; }
  .careers-label { justify-content: flex-start; }
  .careers-heading h1 { font-size: clamp(2.7rem, 14vw, 4.25rem); }
  .career-cards, .careers-note { grid-template-columns: 1fr; }
  .career-card:last-child, .careers-note p { grid-column: auto; grid-row: auto; }
  .career-card { min-height: 390px; padding: 28px; }
}
