@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --fontFamily: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* PointFive brand */
  --colorPrimary900: #1C232C;
  --colorPrimary600: #1C232C;
  --colorAppBackground: #F4F2EC;

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

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

  /* Status colors */
  --colorNegative200: #fce8e8;
  --colorPositive200: #eafcec;
  --colorWarning800: #8c6d1f;
  --colorWarning600: #f4ca64;
  --colorNegative600: #dc3030;
  --colorPositive600: #29b458;
  --colorWarning900: #5c4813;
}

/* Careers page heading */
.ashby-job-board-heading {
  font-family: var(--fontFamily);
  font-size: 40px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #1C232C;
  margin-bottom: 28px;
}

.ashby-job-board-heading-count {
  font-family: var(--fontFamily);
  font-size: 15px;
  font-weight: 500;
  color: #6F6B63;
}

/* Team / department headings */
.ashby-department-heading {
  font-family: var(--fontFamily);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6F6B63;
  border-bottom: 1px solid #DED9CF;
  padding-bottom: 12px;
  margin-top: 36px;
}

.ashby-department-heading-level {
  font-family: var(--fontFamily);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6F6B63;
  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: #FFFFFF;
  border: 1px solid #E3DED4;
  border-radius: 20px;
  padding: 24px 30px;
  margin-bottom: 14px;
  box-shadow: none;
  transition: all 0.18s ease;
}

.ashby-job-posting-brief:hover {
  background-color: #FFFFFF;
  border-color: #CFC8BA;
  transform: translateY(-1px);
}

.ashby-job-posting-brief-title {
  font-family: var(--fontFamily);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #1C232C;
}

.ashby-job-posting-brief-details {
  font-family: var(--fontFamily);
  font-size: 14px;
  font-weight: 500;
  color: #6F6B63;
}

/* Department chip */
.ashby-job-posting-brief-department-heading {
  font-family: var(--fontFamily);
  font-size: 13px;
  font-weight: 600;
  color: #6F6B63;
  background-color: #F4F2EC;
  border-radius: 999px;
  padding: 6px 12px;
  display: inline-block;
}

.ashby-job-posting-brief-department-heading-level {
  font-family: var(--fontFamily);
  font-size: 13px;
  color: #6F6B63;
}

/* Job detail page title - smaller and cleaner */
.ashby-job-posting-heading {
  font-family: var(--fontFamily);
  font-size: 30px !important;
  line-height: 1.12 !important;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: #1C232C;
  margin-bottom: 18px;
}

/* Filters */
.ashby-job-board-filter {
  font-family: var(--fontFamily);
  font-size: 15px;
  font-weight: 500;
  color: #4A4640;
  border: 1px solid #DED9CF;
  border-radius: 999px;
  background-color: #FFFFFF;
  padding: 10px 18px;
}

.ashby-job-board-filter:hover {
  border-color: #CFC8BA;
}

.ashby-job-board-filter:focus {
  border-color: #1C232C;
  outline: none;
  box-shadow: 0 0 0 3px rgba(28, 35, 44, 0.12);
}

/* Main white application/content card */
.ashby-application-form-container {
  background-color: #FFFFFF;
  border: 1px solid #E3DED4;
  border-radius: 22px;
  padding: 34px;
  box-shadow: none;
}

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

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

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

.ashby-application-form-question-description {
  font-family: var(--fontFamily);
  font-size: 12px;
  color: #6F6B63;
  margin-top: 2px;
}

.ashby-application-form-section-container {
  border-top: 1px solid #E3DED4;
  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: 15px;
  font-weight: 700;
  color: #1C232C;
}

.ashby-application-form-section-header-description {
  font-family: var(--fontFamily);
  font-size: 13px;
  color: #6F6B63;
  margin-top: 4px;
}

/* Submit button */
.ashby-application-form-submit-button {
  font-family: var(--fontFamily);
  font-size: 14px;
  font-weight: 700;
  background-color: #1C232C;
  color: #FFFFFF;
  border: none;
  border-radius: 999px;
  padding: 14px 28px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.ashby-application-form-submit-button:hover {
  background-color: #000000;
}

/* States */
.ashby-application-form-success-container {
  font-family: var(--fontFamily);
  font-size: 15px;
  color: #1C232C;
  background-color: #FFFFFF;
  border: 1px solid #E3DED4;
  border-radius: 20px;
  padding: 24px;
}

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

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

/* Mobile */
@media (max-width: 768px) {
  .ashby-job-board-heading {
    font-size: 28px;
    line-height: 1.1;
    margin-bottom: 20px;
  }

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

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

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

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

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

  .ashby-application-form-container {
    border-radius: 16px;
    padding: 22px;
  }
}
