:root {
  --fontFamily: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif;
  --colorAppBackground: #000000;
  --colorNeutral000: #000000;
  --borderRadiusContainer: 6px;
  --borderRadiusControl: 5px;
  --borderRadiusButton: 4px;
  --widthMaxJobBoard: 920px;
  --colorPrimary900: #e8e0e0;
  --colorPrimary600: #fff7f7;
  --h-black: #000000;
  --h-surface: #0a0a0a;
  --h-card: #111111;
  --h-card-hover: #181818;
  --h-border: #242424;
  --h-white: #ffffff;
  --h-off-white: #f0eded;
  --h-muted: #777777;
  --h-accent: #fff7f7;
  --h-accent-dim: #e8e0e0;
  --h-sep: #2a2a2a;
}

body { background-color: var(--h-black) !important; }

/* ============================================================
   SHARED H1 STYLE - identical across entire page
   ============================================================ */

[class*="_topDescription_"] h1,
[class*="_bottomDescription_"] h1,
.ashby-job-board-heading,
.ashby-job-posting-heading {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  line-height: 1.1 !important;
}

/* ============================================================
   TOP DESCRIPTION
   ============================================================ */

[class*="_topDescription_"] {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 32px 16px 16px !important;
}

[class*="_topDescription_"] h1 {
  text-align: center !important;
  margin: 0 0 12px !important;
}

[class*="_topDescription_"] h1 ~ h1 {
  border-top: 1px solid var(--h-sep) !important;
  padding-top: 32px !important;
  margin-top: 32px !important;
}

[class*="_topDescription_"] img + h1,
[class*="_topDescription_"] div + h1 {
  margin-top: 20px !important;
}

[class*="_topDescription_"] h2 {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #fff7f7 !important;
  text-align: center !important;
  margin: 20px 0 4px !important;
}

[class*="_topDescription_"] h3 {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #666666 !important;
  text-align: center !important;
  margin: 0 0 12px !important;
}

[class*="_topDescription_"] p {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
  color: #888888 !important;
  text-align: center !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

[class*="_topDescription_"] img {
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ============================================================
   OPEN POSITIONS HEADING - separator above
   ============================================================ */

.ashby-job-board-heading {
  text-align: left !important;
  border-top: 1px solid var(--h-sep) !important;
  padding-top: 20px !important;
  margin-top: 20px !important;
}

/* ============================================================
   BOTTOM DESCRIPTION
   Single border-top on container only — no border on h1
   ============================================================ */

[class*="_bottomDescription_"] {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 16px 32px !important;
  border-top: none !important;
  margin-top: 0 !important;
}

[class*="_bottomDescription_"] h1 {
  text-align: center !important;
  margin: 0 0 16px !important;
  border-top: 1px solid var(--h-sep) !important;
  padding-top: 32px !important;
  margin-top: 32px !important;
}

[class*="_bottomDescription_"] h2 {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #fff7f7 !important;
  text-align: center !important;
  margin: 20px 0 4px !important;
}

[class*="_bottomDescription_"] h3 {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  color: #666666 !important;
  text-align: center !important;
  margin: 0 0 12px !important;
}

[class*="_bottomDescription_"] p {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
  color: #888888 !important;
  text-align: center !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}

[class*="_bottomDescription_"] a {
  color: #f0eded !important;
  text-decoration: none !important;
}

/* ============================================================
   JOB BOARD LIST PAGE
   ============================================================ */

.ashby-job-board-heading-count {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--h-muted) !important;
}

.ashby-job-board-filters-label {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--h-muted) !important;
}

.ashby-job-board-reset-filters-label {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--h-off-white) !important;
  cursor: pointer !important;
}

.ashby-job-board-filter {
  background-color: var(--h-card) !important;
  border: 1px solid var(--h-border) !important;
  border-radius: 4px !important;
  color: var(--h-white) !important;
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  padding: 9px 14px !important;
  transition: border-color 0.2s !important;
}

.ashby-job-board-filter:hover,
.ashby-job-board-filter:focus {
  border-color: var(--h-off-white) !important;
  outline: none !important;
}

/* ============================================================
   DEPARTMENT HEADINGS
   ============================================================ */

.ashby-department-heading {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--h-off-white) !important;
  padding-bottom: 8px !important;
  margin-top: 20px !important;
  margin-bottom: 8px !important;
  border-bottom: none !important;
}

.ashby-department-heading-level {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--h-muted) !important;
  padding-bottom: 8px !important;
  margin-top: 20px !important;
  margin-bottom: 8px !important;
  border-bottom: none !important;
}

/* ============================================================
   JOB CARDS
   ============================================================ */

.ashby-job-posting-brief-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.ashby-job-posting-brief {
  background-color: var(--h-card) !important;
  border: 1px solid var(--h-border) !important;
  border-radius: 6px !important;
  padding: 18px 22px !important;
  margin-bottom: 0 !important;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.14s ease !important;
  cursor: pointer !important;
}

.ashby-job-posting-brief:hover {
  background-color: var(--h-card-hover) !important;
  border-color: #333333 !important;
  transform: translateY(-1px) !important;
}

.ashby-job-posting-brief-department-heading {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--h-off-white) !important;
  margin-bottom: 4px !important;
}

.ashby-job-posting-brief-department-heading-level {
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--h-muted) !important;
  margin-bottom: 4px !important;
}

.ashby-job-posting-brief-title {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 600 !important;
  color: var(--h-white) !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 6px !important;
}

.ashby-job-posting-brief-details {
  font-size: 0.78rem !important;
  color: var(--h-muted) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  margin-top: 4px !important;
}

/* ============================================================
   JOB POSTING DETAIL PAGE
   ============================================================ */

.ashby-job-posting-header {
  background-color: var(--h-surface) !important;
  border-bottom: 1px solid var(--h-border) !important;
  padding: 32px !important;
}

.ashby-job-posting-heading {
  text-align: left !important;
}

.ashby-job-posting-left-pane {
  background-color: var(--h-surface) !important;
  border: 1px solid var(--h-border) !important;
  border-radius: 6px !important;
  padding: 28px !important;
  color: var(--h-white) !important;
  font-size: 0.92rem !important;
  line-height: 1.75 !important;
}

.ashby-job-posting-right-pane {
  background-color: var(--h-surface) !important;
  border: 1px solid var(--h-border) !important;
  border-radius: 6px !important;
  padding: 24px !important;
}

.ashby-job-posting-right-pane-tab-slider {
  border-bottom: 1px solid var(--h-border) !important;
  margin-bottom: 24px !important;
}

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--h-muted) !important;
  padding-bottom: 12px !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
}

.ashby-job-posting-right-pane-overview-tab:hover,
.ashby-job-posting-right-pane-application-tab:hover {
  color: var(--h-white) !important;
  text-decoration: none !important;
}

/* ============================================================
   BACK BUTTON
   ============================================================ */

.ashby-job-board-back-to-all-jobs-button,
[class*="_link_"].ashby-job-board-back-to-all-jobs-button {
  background-color: #2a2a2a !important;
  border: 1px solid #555555 !important;
  border-radius: 4px !important;
  color: #cccccc !important;
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 9px 14px !important;
  cursor: pointer !important;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s !important;
}

.ashby-job-board-back-to-all-jobs-button:hover,
[class*="_link_"].ashby-job-board-back-to-all-jobs-button:hover {
  background-color: #3a3a3a !important;
  border-color: var(--h-white) !important;
  color: var(--h-white) !important;
}

.ashby-job-board-back-to-all-jobs-button svg,
[class*="_link_"].ashby-job-board-back-to-all-jobs-button svg {
  fill: #cccccc !important;
}

.ashby-job-board-back-to-all-jobs-button:hover svg,
[class*="_link_"].ashby-job-board-back-to-all-jobs-button:hover svg {
  fill: #ffffff !important;
}

/* ============================================================
   APPLICATION FORM
   ============================================================ */

.ashby-application-form-container {
  background-color: transparent !important;
}

.ashby-application-form-section-header-title {
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--h-white) !important;
  margin-bottom: 4px !important;
}

.ashby-application-form-section-header-description {
  font-size: 0.82rem !important;
  color: var(--h-muted) !important;
  line-height: 1.6 !important;
}

.ashby-application-form-question-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--h-white) !important;
  margin-bottom: 5px !important;
}

.ashby-application-form-question-description {
  font-size: 0.76rem !important;
  color: var(--h-muted) !important;
  margin-bottom: 6px !important;
  line-height: 1.5 !important;
}

.ashby-application-form-field-entry {
  margin-bottom: 18px !important;
}

.ashby-application-form-submit-button {
  background-color: var(--h-accent) !important;
  color: #000000 !important;
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 36px !important;
  cursor: pointer !important;
  transition: background-color 0.2s, transform 0.15s !important;
}

.ashby-application-form-submit-button:hover {
  background-color: var(--h-accent-dim) !important;
  transform: translateY(-1px) !important;
}

.ashby-application-form-success-container {
  background-color: rgba(255, 247, 247, 0.05) !important;
  border: 1px solid var(--h-off-white) !important;
  border-radius: 6px !important;
  padding: 24px !important;
  color: var(--h-white) !important;
}

.ashby-application-form-failure-container {
  background-color: rgba(255, 80, 80, 0.07) !important;
  border: 1px solid #ff5050 !important;
  border-radius: 6px !important;
  padding: 24px !important;
  color: var(--h-white) !important;
}

.ashby-application-form-blocked-application-container {
  background-color: var(--h-card) !important;
  border: 1px solid var(--h-border) !important;
  border-radius: 6px !important;
  padding: 24px !important;
  color: var(--h-muted) !important;
}

.ashby-application-form-texting-consent-description {
  font-size: 0.72rem !important;
  color: var(--h-muted) !important;
  line-height: 1.5 !important;
}

.ashby-application-form-autofill-uploader {
  background-color: var(--h-card) !important;
  border: 1px dashed var(--h-border) !important;
  border-radius: 6px !important;
  padding: 20px !important;
  color: var(--h-muted) !important;
  transition: border-color 0.2s !important;
}

.ashby-application-form-autofill-uploader:hover {
  border-color: var(--h-off-white) !important;
}

.ashby-application-form-autofill-input-title {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--h-white) !important;
}

.ashby-application-form-autofill-input-description {
  font-size: 0.76rem !important;
  color: var(--h-muted) !important;
}

.ashby-application-form-autofill-input-icon {
  color: var(--h-off-white) !important;
}

.ashby-application-form-autofill-input-form-alert[data-highlight="positive"] {
  border-color: var(--h-off-white) !important;
  background-color: rgba(255, 247, 247, 0.05) !important;
}

.ashby-application-form-autofill-input-form-alert[data-highlight="negative"] {
  border-color: #ff5050 !important;
  background-color: rgba(255, 80, 80, 0.07) !important;
}

.ashby-survey-form-container {
  background-color: var(--h-card) !important;
  border: 1px solid var(--h-border) !important;
  border-radius: 6px !important;
  padding: 24px !important;
}

/* ============================================================
   UPLOAD FILE BUTTON
   ============================================================ */

[class*="_secondary_"][class*="_button_"],
[class*="_button_"][class*="_secondary_"] {
  background-color: #2a2a2a !important;
  border: 1px solid #555555 !important;
  color: #cccccc !important;
  border-radius: 4px !important;
}

[class*="_secondary_"][class*="_button_"]:hover,
[class*="_button_"][class*="_secondary_"]:hover {
  background-color: #3a3a3a !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

[class*="_secondary_"][class*="_button_"] svg,
[class*="_button_"][class*="_secondary_"] svg {
  fill: #cccccc !important;
  stroke: #cccccc !important;
}

/* ============================================================
   GLOBAL INPUTS
   ============================================================ */

input,
textarea,
select {
  background-color: #0a0a0a !important;
  border: 1px solid var(--h-border) !important;
  border-radius: 4px !important;
  color: var(--h-white) !important;
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
  font-size: 0.88rem !important;
  padding: 10px 14px !important;
  transition: border-color 0.2s !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--h-off-white) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 247, 247, 0.08) !important;
}

input::placeholder,
textarea::placeholder {
  color: #444444 !important;
}

/* ============================================================
   TYPOGRAPHY AND LINKS
   ============================================================ */

body, p, li, td {
  color: var(--h-white) !important;
  font-family: Avenir, 'Avenir Next', 'Avenir Next LT Pro', sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--h-white) !important;
}

.ashby-job-posting-left-pane p,
.ashby-job-posting-left-pane li,
.ashby-job-posting-left-pane ul,
.ashby-job-posting-left-pane ol {
  color: #c0c0c0 !important;
  font-size: 0.92rem !important;
  line-height: 1.8 !important;
}

[class*="_descriptionText_"] h2,
.ashby-job-posting-left-pane h2 {
  border-top: 1px solid #2a2a2a !important;
  padding-top: 32px !important;
  margin-top: 32px !important;
}

a {
  color: var(--h-off-white) !important;
  text-decoration: none !important;
}

a:hover {
  color: var(--h-white) !important;
}

/* ============================================================
   SCROLLBAR
   ============================================================ */

::-webkit-scrollbar { width: 5px; background: var(--h-black); }
::-webkit-scrollbar-thumb { background: #2a2a2a; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #3a3a3a; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 640px) {
  .ashby-job-posting-brief { padding: 14px 16px !important; }
  .ashby-job-posting-header { padding: 20px 16px !important; }
  .ashby-job-posting-left-pane,
  .ashby-job-posting-right-pane { padding: 18px 14px !important; }
  [class*="_topDescription_"] h1,
  [class*="_bottomDescription_"] h1,
  .ashby-job-board-heading { font-size: 1.2rem !important; }
}
