/* PointFive — Ashby job board CSS, aligned to the 2026 brand kit (pointfive.co/brand-kit)
   Color: Ink + Cream only. Grays are Ink mixed into Cream. No accent hue.
   Type: Switzer only. Display 300 / body 350 / actions 400. Sentence case, no tracking on labels.
   Radius: 8px cards, 14px large panels, full for pills. Spacing from the 4–128 ladder. */

@font-face {
  font-family: 'Switzer';
  src: url('https://www.pointfive.co/brand/site/assets/fonts/Switzer-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --fontFamily: 'Switzer', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  /* Brand core */
  --colorPrimary900: #1D242D;   /* Ink */
  --colorPrimary600: #1D242D;   /* Ink */
  --colorAppBackground: #FCFCF9; /* Cream — the page surface */

  /* Shape */
  --borderRadiusContainer: 14px;
  --borderRadiusControl: 999px;
  --borderRadiusButton: 999px;

  /* Layout */
  --widthMaxJobBoard: 1240px;
  --borderWidthBold: 1px;

  /* Status (Ashby uses these for form validation — kept so errors stay visible) */
  --colorNegative200: #fce8e8;
  --colorNegative600: #dc3030;
  --colorPositive200: #eafcec;
  --colorPositive600: #29b458;
  --colorWarning600: #f4ca64;
  --colorWarning800: #8c6d1f;
  --colorWarning900: #5c4813;
}

/* ---------- Careers page heading ---------- */
.ashby-job-board-heading {
  font-family: var(--fontFamily);
  font-size: 48px;
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.03em;
  color: #1D242D;
  margin-bottom: 32px;
}

.ashby-job-board-heading-count {
  font-family: var(--fontFamily);
  font-size: 16px;
  font-weight: 350;
  letter-spacing: 0;
  color: #60656A;
}

/* ---------- Team / department headings (sentence case, no tracking) ---------- */
.ashby-department-heading {
  font-family: var(--fontFamily);
  font-size: 20px;
  font-weight: 300;
  letter-spacing: -0.01em;
  text-transform: none;
  color: #1D242D;
  border-bottom: 1px solid #DDDEDC;
  padding-bottom: 12px;
  margin-top: 48px;
}

.ashby-department-heading-level {
  font-family: var(--fontFamily);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #60656A;
  margin-top: 24px;
}

/* ---------- Job list ---------- */
.ashby-job-posting-brief-list {
  background-color: transparent;
}

/* Job cards */
.ashby-job-posting-brief {
  font-family: var(--fontFamily);
  background-color: #FCFCF9;
  border: 1px solid #DDDEDC;
  border-radius: 8px;
  padding: 24px 32px;
  margin-bottom: 12px;
  box-shadow: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.ashby-job-posting-brief:hover {
  background-color: #F1F1EF;
  border-color: #DDDEDC;
}

.ashby-job-posting-brief-title {
  font-family: var(--fontFamily);
  font-size: 20px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: #1D242D;
}

.ashby-job-posting-brief-details {
  font-family: var(--fontFamily);
  font-size: 14px;
  font-weight: 350;
  color: #60656A;
}

/* Department chip */
.ashby-job-posting-brief-department-heading {
  font-family: var(--fontFamily);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #60656A;
  background-color: #F1F1EF;
  border-radius: 999px;
  padding: 4px 12px;
  display: inline-block;
}

.ashby-job-posting-brief-department-heading-level {
  font-family: var(--fontFamily);
  font-size: 12px;
  font-weight: 350;
  color: #60656A;
}

/* ---------- Job detail page ---------- */
.ashby-job-posting-heading {
  font-family: var(--fontFamily);
  font-size: 40px !important;
  line-height: 1.1 !important;
  font-weight: 300;
  letter-spacing: -0.03em;
  color: #1D242D;
  margin-bottom: 20px;
}

/* ---------- Filters ---------- */
.ashby-job-board-filter {
  font-family: var(--fontFamily);
  font-size: 14px;
  font-weight: 400;
  color: #1D242D;
  border: 1px solid #DDDEDC;
  border-radius: 999px;
  background-color: #FCFCF9;
  padding: 8px 16px;
}

.ashby-job-board-filter:hover {
  background-color: #F1F1EF;
}

.ashby-job-board-filter:focus {
  border-color: #1D242D;
  outline: none;
  box-shadow: 0 0 0 3px rgba(29, 36, 45, 0.12);
}

/* ---------- Application form (large panel) ---------- */
.ashby-application-form-container {
  background-color: #FCFCF9;
  border: 1px solid #DDDEDC;
  border-radius: 14px;
  padding: 40px;
  box-shadow: none;
}

.ashby-application-form-field-entry {
  font-family: var(--fontFamily);
  margin-bottom: 16px;
}

.ashby-application-form-question-title {
  font-family: var(--fontFamily);
  font-size: 14px;
  font-weight: 400;
  color: #1D242D;
  margin-bottom: 4px;
}

.ashby-application-form-question-title::after {
  color: #1D242D;
}

.ashby-application-form-question-description {
  font-family: var(--fontFamily);
  font-size: 12px;
  font-weight: 350;
  color: #60656A;
  margin-top: 4px;
}

.ashby-application-form-section-container {
  border-top: 1px solid #DDDEDC;
  padding-top: 24px;
  margin-top: 24px;
}

.ashby-application-form-section-header {
  margin-bottom: 16px;
}

.ashby-application-form-section-header-title {
  font-family: var(--fontFamily);
  font-size: 20px;
  font-weight: 300;
  letter-spacing: -0.01em;
  color: #1D242D;
}

.ashby-application-form-section-header-description {
  font-family: var(--fontFamily);
  font-size: 14px;
  font-weight: 350;
  color: #60656A;
  margin-top: 4px;
}

/* Submit button — Ink pill, 44px tall, weight 400 */
.ashby-application-form-submit-button {
  font-family: var(--fontFamily);
  font-size: 15px;
  font-weight: 400;
  line-height: 20px;
  background-color: #1D242D;
  color: #FCFCF9;
  border: none;
  border-radius: 999px;
  padding: 12px 24px;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.ashby-application-form-submit-button:hover {
  opacity: 0.88;
}

/* ---------- States ---------- */
.ashby-application-form-success-container {
  font-family: var(--fontFamily);
  font-size: 16px;
  font-weight: 350;
  color: #1D242D;
  background-color: #F1F1EF;
  border: 1px solid #DDDEDC;
  border-radius: 14px;
  padding: 24px;
}

.ashby-application-form-failure-container {
  font-family: var(--fontFamily);
  font-size: 14px;
  color: #dc3030;
  background-color: #fce8e8;
  border-radius: 8px;
  padding: 12px 16px;
}

/* Survey form */
.ashby-survey-form-container {
  font-family: var(--fontFamily);
  background-color: #FCFCF9;
  border-radius: 14px;
}

/* ---------- Phone (brand breakpoint 760px) ---------- */
@media (max-width: 760px) {
  .ashby-job-board-heading {
    font-size: 32px;
    line-height: 1.1;
    margin-bottom: 24px;
  }

  .ashby-job-board-heading-count {
    font-size: 14px;
  }

  .ashby-department-heading {
    font-size: 18px;
    margin-top: 40px;
  }

  .ashby-job-posting-heading {
    font-size: 28px !important;
    line-height: 1.15 !important;
    margin-bottom: 16px;
  }

  .ashby-job-posting-brief {
    padding: 20px;
  }

  .ashby-job-posting-brief-title {
    font-size: 18px;
  }

  .ashby-job-posting-brief-details {
    font-size: 13px;
  }

  .ashby-application-form-container {
    padding: 24px;
  }
}
