/* Careers page (careers.html). Loaded after tms.css and reuses its tokens, header, buttons, form fields and FAQ. */
/* Forms and panels here set display, which would otherwise override the hidden attribute. */
[hidden] { display: none !important; }

.header-nav a[aria-current="page"] { color: #fff; text-decoration: underline; text-decoration-color: var(--blue); text-decoration-thickness: 3px; text-underline-offset: 8px; }

.careers-hero { padding: 84px 0 92px; }
.careers-hero h1 { max-width: 13em; }
.hiring-tag { background: var(--go); border-radius: 999px; color: #fff; display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .12em; margin-bottom: 20px; padding: 6px 14px; text-transform: uppercase; }

/* Roles */
.role-card { align-items: center; border-radius: 8px; display: grid; gap: 24px 40px; grid-template-columns: minmax(0, 1fr) auto; margin-top: 32px; padding: 32px; }
.role-featured { background: var(--paper); border: 2px solid var(--blue); box-shadow: 0 18px 40px rgba(18, 23, 29, .08); }
.role-other { border: 1.5px dashed #aeb8c4; margin-top: 16px; padding: 24px 32px; }
.role-eyebrow { color: var(--blue); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.role-card h3 { font-size: 30px; margin-top: 6px; }
.role-other h3 { font-size: 21px; margin-top: 0; }
.role-card p { color: var(--muted); margin-top: 12px; max-width: 40em; }
.role-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 14px 0 0; padding: 0; }
.role-tags li { background: var(--concrete); border-radius: 999px; font-size: 14px; font-weight: 600; padding: 5px 12px; }
.link-strong { font-weight: 800; white-space: nowrap; }

/* Earnings */
.earn-grid { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 36px; }
.earn { background: var(--asphalt-2); border: 1px solid rgba(255, 255, 255, .1); border-radius: 8px; display: grid; gap: 6px; padding: 24px; }
.earn strong { color: #fff; font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 40px; font-weight: 600; line-height: 1.1; }
.earn span { color: var(--on-dark-muted); font-size: 16px; }
.earn-example { color: var(--on-dark); font-size: 18px; font-weight: 600; margin-top: 22px; }
.how-steps { counter-reset: step; display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 44px 0 0; padding: 28px 0 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.how-steps li { counter-increment: step; display: grid; gap: 4px; padding-left: 52px; position: relative; }
.how-steps li::before { align-items: center; background: var(--blue); border-radius: 50%; color: #fff; content: counter(step); display: flex; font-weight: 800; height: 38px; justify-content: center; left: 0; position: absolute; top: -4px; width: 38px; }
.how-steps strong { color: #fff; font-size: 18px; }
.how-steps span { color: var(--on-dark-muted); font-size: 15px; }

/* Application form */
.apply-form { border: 1px solid var(--line); }
.agree { align-items: flex-start; background: var(--concrete); border-radius: 6px; display: flex; gap: 12px; padding: 14px; }
.agree input { accent-color: var(--blue); flex: none; height: 22px; margin: 1px 0 0; width: 22px; }
.agree label { font-size: 15px; }
.apply-done { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; display: grid; gap: 14px; justify-items: start; padding: 32px 28px; }
.apply-done[hidden] { display: none; }
.apply-done:focus { outline: none; }
.apply-done h3 { font-size: 30px; }
.apply-done p { color: var(--muted); }
.done-check { background: var(--go); border-radius: 50%; height: 56px; position: relative; width: 56px; }
.done-check::after { border: solid #fff; border-width: 0 4px 4px 0; content: ""; height: 24px; left: 20px; position: absolute; top: 11px; transform: rotate(45deg); width: 12px; }
.done-steps { margin: 0; padding-left: 20px; }
.done-steps li { padding: 4px 0; }

@media (max-width: 960px) {
  .earn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .how-steps { grid-template-columns: 1fr; }
  .role-card { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .careers-hero { padding: 52px 0 60px; }
  .role-card, .role-other { padding: 22px; }
  .role-card .button { width: 100%; }
  .earn-grid { grid-template-columns: 1fr; }
  .header-actions .button { padding: 8px 14px; }
}
