/* stylelint-disable */
/* =====================================================================
 * SubQ — Ashby job board theme  (v3)
 * Source: SubQ Brand Guide (Notion › HubQ › Brand Assets)
 *   Headlines  Libre Baskerville Regular
 *   Everything else  Manrope (Regular / Semibold / Bold)
 *   Neutrals   #FFFFFF · #F8F7F7 · #888888 · #1C1919 · #000000
 *   Accents    #0834BC blue · #3F7D31 green · #8FC484 light green
 *              #FFE237 yellow · #EB521E orange (error)
 * Look: clean, editorial, hairline dividers, square corners
 * (modeled on jobs.ashbyhq.com/typesafe-ai).
 * Uses only Ashby's .ashby-* hooks plus ARIA attributes (no hashed
 * class names), so it passes Ashby's validator and survives Ashby updates.
 * ===================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Manrope:wght@400;500;600;700&display=swap");

:root {
  /* SubQ tokens */
  --subq-white: #ffffff;
  --subq-gray-100: #f8f7f7;
  --subq-gray-150: #f2f1f1;
  --subq-gray-200: #ebe9e9;
  --subq-gray-300: #e0dede;
  --subq-gray-400: #aaaaaa;
  --subq-gray-500: #888888;
  --subq-gray-900: #1c1919;
  --subq-black: #000000;
  --subq-blue: #0834bc;
  --subq-green: #3f7d31;
  --subq-green-light: #8fc484;
  --subq-yellow: #ffe237;
  --subq-orange: #eb521e;

  --subq-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --subq-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;

  /* One width for every secondary button (both "Upload file" buttons, "Add another") */
  --subq-button-width: 160px;

  /* paperclip icon, used as a mask so it takes the button's text color */
  --subq-icon-paperclip: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.44%2011.05-9.19%209.19a6%206%200%200%201-8.49-8.49l9.19-9.19a4%204%200%200%201%205.66%205.66l-9.2%209.19a2%202%200%200%201-2.83-2.83l8.49-8.48%22%2F%3E%3C%2Fsvg%3E");

  /* Ashby variables */
  --colorAppBackground: var(--subq-white);
  --colorPrimary900: var(--subq-gray-900); /* also set in Ashby › Theme settings */
  --colorPrimary600: var(--subq-blue);     /* also set in Ashby › Theme settings */
  --widthMaxContent: 880px;
  --widthMaxJobBoard: 880px;
  --widthMaxSubscriptionPreferences: 600px;
  --borderRadiusContainer: 0px;
  --borderRadiusControl: 0px;
  --borderRadiusButton: 0px;
  --fontFamily: var(--subq-sans);
}

body {
  background: var(--subq-white);
  color: var(--subq-gray-900);
  font-family: var(--subq-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection { background: var(--subq-yellow); color: var(--subq-black); }

/* ---------------------------------------------------------------------
 * Job board — list page
 * ------------------------------------------------------------------- */

/* "Open Positions (n)" */
.ashby-job-board-heading {
  font-family: var(--subq-serif);
  font-weight: 400;
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--subq-black);
  margin: 48px 0 8px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--subq-gray-900);
}

.ashby-job-board-heading-count {
  font-family: var(--subq-sans);
  font-size: 0.45em;
  font-weight: 500;
  color: var(--subq-gray-500);
  vertical-align: middle;
  margin-left: 6px;
}

/* Filters */
.ashby-job-board-filters-label,
.ashby-job-board-reset-filters-label {
  font-family: var(--subq-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--subq-gray-500);
}
.ashby-job-board-reset-filters-label:hover { color: var(--subq-blue); }

.ashby-job-board-filter {
  font-family: var(--subq-sans);
  font-size: 14px;
  color: var(--subq-gray-900);
  background-color: var(--subq-white);
  border: 1px solid var(--subq-gray-200);
  border-radius: 0;
  box-shadow: none;
}
.ashby-job-board-filter:hover { border-color: var(--subq-gray-900); }

/* Department label with a brand-color square */
.ashby-department-heading {
  font-family: var(--subq-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--subq-gray-500);
  margin: 56px 0 4px;
  border: 0;
  display: block !important;
  padding: 0 12px !important;      /* aligns with the page heading */
}
.ashby-department-heading::before {
  content: "";
  display: inline-block !important;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  vertical-align: 1px;
  background: var(--subq-blue);
}
.ashby-department-heading:nth-of-type(4n + 2)::before { background: var(--subq-green-light); }
.ashby-department-heading:nth-of-type(4n + 3)::before { background: var(--subq-yellow); }
.ashby-department-heading:nth-of-type(4n + 4)::before { background: var(--subq-orange); }

.ashby-department-heading-level {
  display: inline !important;
  font: inherit;
  color: inherit;
}

/* Job list */
.ashby-job-posting-brief-list {
  border-top: 0;
  padding-left: 12px !important;
  padding-right: 12px !important;
}
.ashby-job-posting-brief-list > a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.ashby-job-posting-brief {
  margin: 0 !important;
  padding: 24px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--subq-gray-200);
  border-radius: 0;
  box-shadow: none;
  transition: padding-left 160ms ease;
}
.ashby-job-posting-brief-list > a:last-child .ashby-job-posting-brief { border-bottom: 0; }

.ashby-job-posting-brief-title {
  font-family: var(--subq-sans);
  font-weight: 600;
  font-size: 20px;
  line-height: 1.3;
  color: var(--subq-black);
  margin: 0 0 6px;
  transition: color 160ms ease;
}

.ashby-job-posting-brief-details,
.ashby-job-posting-brief-details p {
  font-family: var(--subq-sans);
  font-size: 14px;
  font-weight: 400;
  color: var(--subq-gray-500);
  margin: 0;
}

.ashby-job-posting-brief-list > a:hover .ashby-job-posting-brief { padding-left: 8px; }
.ashby-job-posting-brief-list > a:hover .ashby-job-posting-brief-title { color: var(--subq-blue); }
.ashby-job-posting-brief-title::after {
  content: " \2192";
  opacity: 0;
  transition: opacity 160ms ease;
}
.ashby-job-posting-brief-list > a:hover .ashby-job-posting-brief-title::after { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .ashby-job-posting-brief,
  .ashby-job-posting-brief-title,
  .ashby-job-posting-brief-title::after { transition: none; }
}

/* ---------------------------------------------------------------------
 * Job posting page
 * ------------------------------------------------------------------- */

/* Back arrow + "View open roles" */
.ashby-job-board-back-to-all-jobs-button {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  width: auto !important;
  font-family: var(--subq-sans);
  font-size: 16px;
  font-weight: 500;
  color: var(--subq-gray-900);
  text-decoration: none;
  white-space: nowrap;
}
.ashby-job-board-back-to-all-jobs-button::after {
  content: "View open roles";
}
.ashby-job-board-back-to-all-jobs-button:hover {
  color: var(--subq-blue);
  text-decoration: none;
}

/* Posting-page header (modeled on TypeSafe): centered Subquadratic logo,
 * big gap, "View open roles" directly above a large left-aligned job title.
 * Nothing sticks on scroll. */
.ashby-job-posting-header {
  position: static !important;     /* Ashby makes this sticky by default */
  top: auto !important;
  height: auto !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
}
.ashby-job-posting-header > ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: var(--widthMaxContent) !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 32px 24px 0 !important;
}
.ashby-job-posting-header > ul > li {
  position: static !important;
  transform: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* logo row: centered */
.ashby-job-posting-header > ul > li:nth-of-type(1) {
  align-self: center !important;
  text-align: center !important;
}
/* back-link row: left-aligned, with the big gap above it */
.ashby-job-posting-header > ul > li:nth-of-type(2) {
  align-self: flex-start !important;
  text-align: left !important;
  margin-top: 120px !important;
}
.ashby-job-posting-header > ul > li:nth-of-type(3) { display: none !important; }
.ashby-job-posting-header > ul > li > a {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
}

/* Job list page: Ashby's top bar has no .ashby-* hook there, so match it
 * by attribute to stop it sticking on scroll. */
[class*="_navRoot_"] {
  position: static !important;
  top: auto !important;
  box-shadow: none !important;
}

/* Swap the wordmark for the Subquadratic logo (job list + job pages).
 * Tip: uploading this same PNG as the wordmark in Ashby › Theme settings
 * makes this rule unnecessary. */
img[alt="SubQ"] {
  content: url("data:image/png;base64,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");
  height: 30px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 auto !important;
  position: static !important;
  transform: none !important;
}

.ashby-job-posting-heading {
  font-family: var(--subq-serif);
  font-weight: 400;
  font-size: 56px;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--subq-black);
  margin: 0 !important;
  padding-bottom: 64px;
  border-bottom: 1px solid var(--subq-gray-200);
}

/* Left pane */
.ashby-job-posting-left-pane {
  font-family: var(--subq-sans);
  color: var(--subq-gray-900);
}
.ashby-job-posting-left-pane h2 {
  font-family: var(--subq-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--subq-gray-500);
}
.ashby-job-posting-left-pane p,
.ashby-job-posting-brief-department-heading,
.ashby-job-posting-brief-department-heading-level {
  font-family: var(--subq-sans);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--subq-gray-900);
}

/* Overview / Application tabs — underline sits under the active label only */
.ashby-job-posting-right-pane-tab-slider { display: none !important; }
[role="tab"],
[role="tab"]:hover,
[role="tab"]:focus {
  width: auto !important;
  flex: none !important;
  margin-right: 28px;
  border-bottom: 0 !important;    /* removes Ashby's gray hover underline */
  box-shadow: none !important;
  text-decoration: none !important;
}

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  display: inline-block;
  padding-bottom: 8px;
  border-bottom: 3px solid transparent;
  font-family: var(--subq-sans);
  font-weight: 500;
  font-size: 16px;
  color: var(--subq-gray-500);
  transition: color 200ms ease-in-out, border-color 200ms ease-in-out;
}
[aria-selected="true"] > .ashby-job-posting-right-pane-overview-tab,
[aria-selected="true"] > .ashby-job-posting-right-pane-application-tab {
  font-weight: 600;
  color: var(--subq-black);
  border-bottom-color: var(--subq-blue);
}
.ashby-job-posting-right-pane-overview-tab:hover,
.ashby-job-posting-right-pane-application-tab:hover {
  color: var(--subq-black);
}

/* Rich-text job description */
.ashby-job-posting-description {
  font-family: var(--subq-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--subq-gray-900);
}
.ashby-job-posting-description h1,
.ashby-job-posting-description h2,
.ashby-job-posting-description h3 {
  font-family: var(--subq-serif);
  font-weight: 400;
  color: var(--subq-black);
  line-height: 1.3;
  margin-top: 2em;
}
.ashby-job-posting-description h1 { font-size: 28px; }
.ashby-job-posting-description h2 { font-size: 24px; }
.ashby-job-posting-description h3 { font-size: 20px; }
.ashby-job-posting-description h4,
.ashby-job-posting-description h5,
.ashby-job-posting-description h6,
.ashby-job-posting-description p,
.ashby-job-posting-description li,
.ashby-job-posting-description code {
  font-family: var(--subq-sans);
}
.ashby-job-posting-description strong { font-weight: 700; color: var(--subq-black); }
.ashby-job-posting-description a {
  color: var(--subq-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ashby-job-posting-description ul li::marker { color: var(--subq-gray-500); }

/* ---------------------------------------------------------------------
 * Application form
 * ------------------------------------------------------------------- */

.ashby-application-form-container {
  font-family: var(--subq-sans);
  color: var(--subq-gray-900);
}

.ashby-application-form-section-header-title {
  font-family: var(--subq-serif);
  font-weight: 400;
  font-size: 22px;
  color: var(--subq-black);
}
.ashby-application-form-section-header-description {
  font-family: var(--subq-sans);
  font-size: 14px;
  color: var(--subq-gray-500);
}

.ashby-application-form-question-title {
  font-family: var(--subq-sans);
  font-weight: 600;
  font-size: 15px;
  color: var(--subq-gray-900);
}
.ashby-application-form-question-description,
.ashby-application-form-texting-consent-description {
  font-family: var(--subq-sans);
  font-size: 13px;
  color: var(--subq-gray-500);
}

/* Inputs */
.ashby-application-form-input-text,
.ashby-application-form-input-textarea,
.ashby-application-form-input-date,
.ashby-application-form-input-dropdown-select,
.ashby-application-form-input-autocomplete {
  font-family: var(--subq-sans);
  font-size: 15px;
  color: var(--subq-gray-900);
  background: var(--subq-white);
  border: 1px solid var(--subq-gray-200);
  border-radius: 0;
  box-shadow: none;
  transition: border-color 120ms ease;
}
.ashby-application-form-input-text:hover,
.ashby-application-form-input-textarea:hover,
.ashby-application-form-input-autocomplete:hover {
  border-color: var(--subq-gray-500);
}
.ashby-application-form-input-text:focus,
.ashby-application-form-input-textarea:focus,
.ashby-application-form-input-autocomplete:focus,
.ashby-application-form-input-autocomplete[aria-expanded="true"] {
  border-color: var(--subq-gray-900);
  box-shadow: 0 0 0 1px var(--subq-gray-900);
  outline: none;
}
.ashby-application-form-input-text::placeholder,
.ashby-application-form-input-textarea::placeholder { color: var(--subq-gray-500); }

.ashby-application-form-input-autocomplete-popup {
  font-family: var(--subq-sans);
  border: 1px solid var(--subq-gray-200);
  border-radius: 0;
  box-shadow: 0 8px 24px rgba(28, 25, 25, 0.08);
}
.ashby-application-form-input-autocomplete-popup-result[aria-selected="true"] {
  background: var(--subq-gray-100);
}

/* Radio / checkbox */
.ashby-application-form-input-radio-group-option-label,
.ashby-application-form-input-checkbox-group-option-label {
  font-family: var(--subq-sans);
  font-size: 15px;
  color: var(--subq-gray-900);
}
.ashby-application-form-input-radio-group-option-radio,
.ashby-application-form-input-checkbox-group-option-checkbox {
  accent-color: var(--subq-black);
}

/* Yes / No */
.ashby-application-form-input-yesno-option {
  font-family: var(--subq-sans);
  font-weight: 600;
  border-color: var(--subq-gray-200);
  border-radius: 0;
}
.ashby-application-form-input-yesno-option[aria-pressed="true"] {
  background: var(--subq-black);
  border-color: var(--subq-black);
  color: var(--subq-white);
}

/* Autofill-from-resume card: dashed gray panel */
.ashby-application-form-autofill-input-root {
  background: var(--subq-gray-150);
  border: 1px dashed var(--subq-gray-400);
  border-radius: 0;
  padding: 20px;
}
.ashby-application-form-autofill-input-title {
  font-family: var(--subq-sans);
  font-size: 16px;
  font-weight: 600;
  color: var(--subq-black);
}
.ashby-application-form-autofill-input-description {
  font-family: var(--subq-sans);
  font-size: 14px;
  color: var(--subq-gray-500);
}
.ashby-application-form-autofill-input-icon { color: var(--subq-blue); }
.ashby-application-form-autofill-input-form-alert {
  font-family: var(--subq-sans);
}
.ashby-application-form-autofill-input-form-alert[data-highlight="positive"] { color: var(--subq-green); }
.ashby-application-form-autofill-input-form-alert[data-highlight="negative"] { color: var(--subq-orange); }

/* File input — same dashed gray panel as the autofill card */
.ashby-application-form-input-file {
  background: var(--subq-gray-150);
  border: 1px dashed var(--subq-gray-400) !important;
  border-radius: 0 !important;
}
.ashby-application-form-input-file-dropzone {
  font-family: var(--subq-sans);
  background: transparent;
  border: 0;
  border-radius: 0;
}
.ashby-application-form-input-file-dropzone-instructions {
  font-family: var(--subq-sans);
  font-size: 14px;
  color: var(--subq-gray-500);
}
.ashby-application-form-input-file-item {
  font-family: var(--subq-sans);
  background: var(--subq-gray-150);
  border-radius: 0;
}

/* "Upload file" buttons (autofill + resume) and "Add another":
 * flat gray, square, paperclip icon, all the same width */
.ashby-application-form-autofill-input-base-layer button,
.ashby-application-form-input-file-dropzone-upload,
.ashby-application-form-input-education-add {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  width: var(--subq-button-width) !important;
  min-width: var(--subq-button-width) !important;
  height: 44px;
  padding: 10px 14px;
  font-family: var(--subq-sans);
  font-size: 15px;
  font-weight: 600;
  color: var(--subq-gray-900);
  background: var(--subq-gray-300);
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background-color 140ms ease;
}
.ashby-application-form-autofill-input-base-layer button::before,
.ashby-application-form-input-file-dropzone-upload::before {
  content: "";
  display: block;
  flex: none;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask-image: var(--subq-icon-paperclip);
  mask-image: var(--subq-icon-paperclip);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.ashby-application-form-input-file-dropzone-upload svg { display: none; }
.ashby-application-form-autofill-input-base-layer button:hover,
.ashby-application-form-input-file-dropzone-upload:hover,
.ashby-application-form-input-education-add:hover {
  background: var(--subq-gray-400);
}

.ashby-application-form-input-file-item-name { font-family: var(--subq-sans); }

/* Submit — full-width primary */
.ashby-application-form-submit-button {
  width: 100% !important;
  font-family: var(--subq-sans);
  font-weight: 600;
  font-size: 16px;
  color: var(--subq-white);
  background: var(--subq-black);
  border: 1px solid var(--subq-black);
  border-radius: 0;
  box-shadow: none;
  transition: background-color 140ms ease, border-color 140ms ease;
}
.ashby-application-form-submit-button:hover {
  background: var(--subq-blue);
  border-color: var(--subq-blue);
}
.ashby-application-form-submit-button[disabled] {
  opacity: 0.5;
  background: var(--subq-black);
  border-color: var(--subq-black);
}

/* Result states */
.ashby-application-form-success-container {
  font-family: var(--subq-sans);
  border-left: 3px solid var(--subq-green);
  background: var(--subq-gray-100);
}
.ashby-application-form-failure-container {
  font-family: var(--subq-sans);
  border-left: 3px solid var(--subq-orange);
  background: var(--subq-gray-100);
}
.ashby-application-blocking-disclosure,
.ashby-application-form-blocked-application-container {
  font-family: var(--subq-sans);
  background: var(--subq-gray-100);
  border: 1px solid var(--subq-gray-200);
  border-radius: 0;
}

/* ---------------------------------------------------------------------
 * Mobile
 * ------------------------------------------------------------------- */
@media (max-width: 640px) {
  .ashby-job-board-heading { font-size: 34px; margin-top: 24px; padding-bottom: 20px; }
  .ashby-job-posting-heading { font-size: 34px; padding-bottom: 40px; }
  .ashby-job-posting-header > ul { padding: 20px 16px 0 !important; }
  .ashby-job-posting-header > ul > li:nth-of-type(2) { margin-top: 56px !important; }
  img[alt="SubQ"] { height: 24px !important; }
  .ashby-department-heading { margin-top: 40px; }
  .ashby-job-posting-brief { padding: 20px 0; }
  .ashby-job-posting-brief-title { font-size: 18px; }
}
