/*
  Valkryn job board theme for Ashby (jobs.ashbyhq.com/valkryn)
  Upload at Admin > Job Boards > Theme (Job Board) > Custom CSS.
  Source of tokens: Valkryn design system and the Webflow build (Homepage Reference 2026-10-09).
  Owner: CMO. Version 2026-10-26.

  Before upload:
  1. Replace the two TASA Orbiter URLs below with the Webflow-served font URLs from Warpcraft.
  2. Keep the Montserrat @import; Google Fonts serves it with CORS headers.
  3. Selectors are Ashby's stable public class names. Do not add hashed classes (e.g. _details_xxxx) here;
     they change when Ashby rebuilds.
*/

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

@font-face {
  font-family: "TASA Orbiter";
  src: url("REPLACE_WITH_WEBFLOW_URL/tasa-orbiter-v2-latin-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TASA Orbiter";
  src: url("REPLACE_WITH_WEBFLOW_URL/tasa-orbiter-v2-latin-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --vk-display: "Montserrat", system-ui, sans-serif;
  --vk-body: "TASA Orbiter", "Montserrat", system-ui, sans-serif;
  --vk-ink: #1C1C1C;
  --vk-ink-2: #141414;
  --vk-zeus: #2C1F1A; /* hover state; matches Ashby "Brand Color (Dark)" */
  --vk-paper: #F3F2EF;
  --vk-paper-2: #E9E7E2;
  --vk-line: #D9D6D0;
  --vk-muted: #8D8D8D;
  --vk-pine: #6F5F54;
  --vk-white: #FFFFFF;
  --vk-radius: 3px;
}

/* Surface and base type */
html, body {
  background: var(--vk-paper) !important;
  color: var(--vk-ink) !important;
  font-family: var(--vk-body) !important;
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--vk-pine) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
a:hover { color: var(--vk-zeus) !important; }

h1, h2, h3, h4,
.ashby-job-board-heading,
.ashby-department-heading,
.ashby-job-posting-heading,
.ashby-job-posting-brief-title,
.ashby-application-form-section-header-title {
  font-family: var(--vk-display) !important;
  font-weight: 600 !important;
  color: var(--vk-ink) !important;
  letter-spacing: 0;
  text-transform: none !important;
}

/* Board header */
.ashby-job-board-heading {
  font-size: 48px !important;
  line-height: 1.05 !important;
}
.ashby-job-board-heading-count {
  font-family: var(--vk-display) !important;
  font-weight: 500 !important;
  color: var(--vk-muted) !important;
}

/* Department and team headings (used only if Group by teams is turned back on) */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  font-size: 20px !important;
  margin-top: 40px !important;
  margin-bottom: 12px !important;
}
.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  font-family: var(--vk-display) !important;
  font-weight: 500 !important;
  font-size: 12.5px !important;
  letter-spacing: 0.14em !important;
  color: var(--vk-pine) !important;
}

/* Role rows */
.ashby-job-posting-brief-list { gap: 0 !important; }
.ashby-job-posting-brief {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--vk-line) !important;
  border-radius: 0 !important;
  padding: 20px 0 !important;
  box-shadow: none !important;
}
.ashby-job-posting-brief:hover { background: var(--vk-paper-2) !important; }
.ashby-job-posting-brief-title {
  font-size: 20px !important;
  line-height: 1.25 !important;
}
.ashby-job-posting-brief-details {
  font-family: var(--vk-body) !important;
  font-size: 14.5px !important;
  color: var(--vk-muted) !important;
}

/* Filters (off by default; styled in case they are enabled later) */
.ashby-job-board-filters-label,
.ashby-job-board-filter {
  font-family: var(--vk-body) !important;
  color: var(--vk-ink) !important;
}
.ashby-job-board-filter {
  background: var(--vk-white) !important;
  border: 1px solid var(--vk-line) !important;
  border-radius: var(--vk-radius) !important;
}

/* Posting page */
.ashby-job-posting-heading {
  font-size: 44px !important;
  line-height: 1.05 !important;
}
@media (max-width: 720px) {
  .ashby-job-board-heading { font-size: 32px !important; }
  .ashby-job-posting-heading { font-size: 30px !important; }
  .ashby-job-posting-brief-title { font-size: 18px !important; }
}
.ashby-job-posting-left-pane {
  font-family: var(--vk-body) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: var(--vk-ink) !important;
}
.ashby-job-posting-left-pane h2,
.ashby-job-posting-left-pane h3 {
  font-size: 20px !important;
  margin-top: 32px !important;
}
.ashby-job-posting-right-pane {
  background: var(--vk-white) !important;
  border: 1px solid var(--vk-line) !important;
  border-radius: var(--vk-radius) !important;
  box-shadow: none !important;
}
.ashby-job-posting-right-pane-tab-slider a[role="tab"] {
  font-family: var(--vk-display) !important;
  font-weight: 500 !important;
  color: var(--vk-muted) !important;
  text-decoration: none !important;
}
.ashby-job-posting-right-pane-tab-slider a[role="tab"][aria-selected="true"] {
  color: var(--vk-ink) !important;
  border-bottom: 2px solid var(--vk-ink) !important;
}
.ashby-job-board-back-to-all-jobs-button {
  font-family: var(--vk-display) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  color: var(--vk-ink) !important;
  text-decoration: none !important;
}

/* Application form */
.ashby-application-form-container,
.ashby-survey-form-container {
  font-family: var(--vk-body) !important;
  color: var(--vk-ink) !important;
}
.ashby-application-form-section-header-title { font-size: 20px !important; }
.ashby-application-form-section-header-description,
.ashby-application-form-question-description,
.ashby-application-form-autofill-input-description {
  color: var(--vk-muted) !important;
  font-size: 14.5px !important;
}
.ashby-application-form-question-title {
  font-family: var(--vk-display) !important;
  font-weight: 500 !important;
  font-size: 14.5px !important;
  color: var(--vk-ink) !important;
}
.ashby-application-form-field-entry input,
.ashby-application-form-field-entry textarea,
.ashby-application-form-field-entry select,
.ashby-application-form-autofill-input-base-layer {
  font-family: var(--vk-body) !important;
  background: var(--vk-white) !important;
  border: 1px solid var(--vk-line) !important;
  border-radius: var(--vk-radius) !important;
  color: var(--vk-ink) !important;
}
.ashby-application-form-field-entry input:focus,
.ashby-application-form-field-entry textarea:focus {
  outline: none !important;
  border-color: var(--vk-ink) !important;
  box-shadow: 0 0 0 2px rgba(28, 28, 28, 0.12) !important;
}

/* Buttons: ink on paper, white type, 3 px radius, matching .btn-primary on the site */
.ashby-application-form-submit-button,
button[type="submit"],
.ashby-job-posting-right-pane button {
  font-family: var(--vk-display) !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  letter-spacing: 0.01em !important;
  background: var(--vk-ink) !important;
  color: var(--vk-white) !important;
  border: 1px solid var(--vk-ink) !important;
  border-radius: var(--vk-radius) !important;
  padding: 14px 24px !important;
  box-shadow: none !important;
  text-transform: none !important;
}
.ashby-application-form-submit-button:hover,
button[type="submit"]:hover {
  background: var(--vk-zeus) !important;
  border-color: var(--vk-zeus) !important;
}

/* States */
.ashby-application-form-success-container,
.ashby-application-form-failure-container {
  font-family: var(--vk-body) !important;
  background: var(--vk-white) !important;
  border: 1px solid var(--vk-line) !important;
  border-radius: var(--vk-radius) !important;
  color: var(--vk-ink) !important;
}

/* No accent stripes, no colored bars, no uppercase tracking anywhere */
[class*="ashby"] { text-transform: none !important; }
