@font-face { font-family: "PP Mori"; font-style: normal; font-weight: 400; font-display: swap; src: url("https://cdn.prod.website-files.com/6a5c93a0f204be1459f417f5/6a5c95842f02464c81c76b2a_PPMori-Regular.woff2") format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 400; font-display: swap; src: url("https://cdn.prod.website-files.com/6a5c93a0f204be1459f417f5/6a5c95840d7e445bbb2492e0_SourceSerif4_48pt-Regular.woff2") format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 500; font-display: swap; src: url("https://cdn.prod.website-files.com/6a5c93a0f204be1459f417f5/6a5c9e04a6aa4a305865c8bd_SourceSerif4_48pt-Medium.woff2") format("woff2"); }
/* Act Security Ashby theme. Brand assets supplied by Yael Ortman, September 2026. */
/* Keep Ashby's native Show Job Filters enabled. Hide only with low variety and no active filter.
   Count real options, excluding placeholders and All options (empty values).
   If markup or selector support changes, filters remain visible. */
@supports selector(option:nth-child(3 of option[value]:not([value=""]))) {
  body:has(.ashby-job-board-heading):not(:has(.ashby-job-board-filter > option[value]:not([value=""]):checked)):has(.ashby-job-board-filter[name="departmentId"] > option[value]:not([value=""])):not(:has(.ashby-job-board-filter[name="departmentId"] > option:nth-child(3 of option[value]:not([value=""])))):has(.ashby-job-board-filter[name="locationId"] > option[value]:not([value=""])):not(:has(.ashby-job-board-filter[name="locationId"] > option:nth-child(2 of option[value]:not([value=""])))):has(.ashby-job-board-filter[name="employmentType"] > option[value]:not([value=""])):not(:has(.ashby-job-board-filter[name="employmentType"] > option:nth-child(2 of option[value]:not([value=""])))):has(.ashby-job-board-filter[name="workplaceType"] > option[value]:not([value=""])):not(:has(.ashby-job-board-filter[name="workplaceType"] > option:nth-child(2 of option[value]:not([value=""]))))
    :is(div[class*="_filtersContainer_"], button[class*="_filtersOpen_"]) { display: none; }
}

/* Cover images live in Top Description. Display the supplied mobile composition below 600px. */
/* Cover-only variant on the main board; retain branding on job and application pages. */
body:has(.ashby-job-board-heading) ul:has(img[src*="/org-theme-wordmark/"]) { display: none; }
/* Edge-to-edge cover, with the reading column retained below it. */
div:has(> div > .ashby-job-board-heading) { max-width: none; width: 100%; }
div:has(> .ashby-job-board-heading) { margin: 0; }
div:has(> .ashby-job-board-heading) + div { max-width: 750px; margin-left: auto; margin-right: auto; }
.ashby-job-board-heading,
div[class*="_topDescription_"] > h2,
div[class*="_topDescription_"] > p { width: calc(100% - 48px); max-width: 702px; margin-left: auto; margin-right: auto; }
div[class*="_topDescription_"] > p:first-of-type { margin-top: 12px; }
img[src*="eed7ed23-cae0-4c43-8d23-c2a8b2343cf4"],
img[src*="813fa679-4528-4f41-a920-8de32bafff9f"] {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 0;
}
img[src*="813fa679-4528-4f41-a920-8de32bafff9f"] { display: none; }
@media (max-width: 600px) {
  img[src*="eed7ed23-cae0-4c43-8d23-c2a8b2343cf4"] { display: none; }
  img[src*="813fa679-4528-4f41-a920-8de32bafff9f"] { display: block; }
}
:root {
  --colorAppBackground: #F8F6F3;
  --colorPrimary600: #3D50E1;
  --colorPrimary900: #340C05;
  --fontFamily: "PP Mori", Arial, sans-serif;
  --widthMaxContent: 1000px;
  --widthMaxJobBoard: 1000px;
  --borderRadiusContainer: 12px;
  --borderRadiusControl: 6px;
  --borderRadiusButton: 6px;
}
body { background: #F8F6F3; color: #340C05; font-family: var(--fontFamily); }
button, input, select, textarea { font-family: var(--fontFamily); }
.ashby-job-board-heading, .ashby-job-posting-heading {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #340C05;
}
.ashby-job-board-heading-count { font-family: "PP Mori", Arial, sans-serif; font-size: 18px; letter-spacing: 0; color: #706A68; }
.ashby-department-heading {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 26px;
  font-weight: 400;
  color: #340C05;
  margin-top: 28px;
}
.ashby-job-posting-brief-list .ashby-job-posting-brief {
  padding: 16px 20px;
  border: 1px solid #D7D0C3;
  border-radius: 8px;
  background: #FAFAF9;
  margin: 0 0 10px;
}
/* Ashby removes the first listing border by default. Restore the full card outline. */
.ashby-job-posting-brief-list .ashby-job-posting-brief:first-child { border-top: 1px solid #D7D0C3; }
.ashby-job-posting-brief-list .ashby-job-posting-brief:hover { border-color: #4086FF; background: #F0EBE2; }
.ashby-job-posting-brief-title { font-size: 18px; font-weight: 600; color: #4086FF; }
.ashby-job-posting-brief-details { margin-top: 6px; color: #706A68; font-size: 14px; line-height: 1.5; }
.ashby-job-board-filter { background: #FAFAF9; border: 1px solid #A19D92; border-radius: 6px; min-height: 44px; color: #340C05; }
.ashby-job-board-filters-label { color: #706A68; font-weight: 400; }
.ashby-job-posting-description { font-size: 16px; line-height: 1.65; }
.ashby-job-posting-description h2, .ashby-job-posting-description h3 {
  font-family: "Source Serif 4", Georgia, serif; font-weight: 500; line-height: 1.3; color: #340C05;
}
.ashby-job-posting-header { padding: 0; }
.ashby-job-posting-left-pane, .ashby-job-posting-right-pane { background: #FAFAF9; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #3D50E1; outline-offset: 4px; }
@media (max-width: 600px) {
  .ashby-job-board-heading, .ashby-job-posting-heading { font-size: 30px; }
  .ashby-job-posting-brief-list .ashby-job-posting-brief { padding: 15px 16px; }
  .ashby-job-posting-brief-title { font-size: 17px; }
  .ashby-department-heading { font-size: 24px; }
}

/* Primary careers headline and secondary jobs heading. */
div[class*="_topDescription_"] > h2 {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: #4086FF;
  text-align: left;
  margin-top: 32px;
  margin-bottom: 0;
}
.ashby-job-board-heading { font-size: 30px; }
@media (max-width: 600px) {
  div[class*="_topDescription_"] > h2 { font-size: 30px; margin-top: 24px; }
  .ashby-job-board-heading { font-size: 26px; }
}

/* Vertical rhythm: separate the cover from the introduction, then keep jobs close. */
body:has(.ashby-job-board-heading) div[class*="_topDescription_"] > h2 { margin-top: 32px; }
body:has(.ashby-job-board-heading) .ashby-job-board-heading { margin-top: 32px; }
body .ashby-department-heading:first-child { margin-top: 16px; }
@media (max-width: 600px) {
  body:has(.ashby-job-board-heading) div[class*="_topDescription_"] > h2 { margin-top: 24px; }
  body:has(.ashby-job-board-heading) .ashby-job-board-heading { margin-top: 28px; }
}

/* Main careers board blue refresh; job detail/application styling stays independent. */
body:has(.ashby-job-board-heading) { --colorPrimary600: #4086FF; }
body:has(.ashby-job-board-heading) :is(a, button, input, select, textarea):focus-visible { outline-color: #4086FF; }

/* Individual jobs and applications: Act typography, color and spacing. */
body:has(.ashby-job-posting-heading) {
  --colorPrimary600: #4086FF;
  --colorPrimary900: #340C05;
  --widthMaxContent: 960px;
  --widthMaxJobBoard: 960px;
}
body:has(.ashby-job-posting-heading) img[src*="/org-theme-wordmark/"] {
  width: 170px; height: auto; max-height: 70px; object-fit: contain;
}
.ashby-job-posting-header { padding: 0; }
.ashby-job-posting-heading { font-size: 36px; line-height: 1.2; color: #4086FF; margin: 0; }
.ashby-job-posting-left-pane, .ashby-job-posting-right-pane { background: transparent; }
.ashby-job-posting-left-pane { padding: 24px 24px 24px 0; }
.ashby-job-posting-left-pane h2 { font-family: "PP Mori", Arial, sans-serif; font-size: 13px; font-weight: 400; color: #706A68; line-height: 1.4; }
.ashby-job-posting-right-pane { min-width: 0; }
.ashby-job-posting-description-container { padding: 24px; background: #FAFAF9; }
.ashby-job-posting-description { font-family: "PP Mori", Arial, sans-serif; font-size: 16px; line-height: 1.6; color: #340C05; overflow-wrap: break-word; }
.ashby-job-posting-description p { margin: 0 0 14px; }
.ashby-job-posting-description p:empty,
.ashby-job-posting-description p:has(> br:only-child) { display: none; }
.ashby-job-posting-description :is(h2,h3) { font-size: 24px; margin: 28px 0 12px; }
.ashby-job-posting-description :is(h2,h3):first-child { margin-top: 0; }
.ashby-job-posting-description :is(ul,ol) { padding-left: 22px; margin: 0 0 20px; }
.ashby-job-posting-description li { margin-bottom: 8px; }
.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab { font-family: "PP Mori", Arial, sans-serif; font-size: 15px; min-height: 48px; }
body:has(.ashby-job-posting-heading) [role="tab"][aria-selected="true"] { color: #340C05; }
.ashby-job-posting-right-pane-tab-slider { background-color: #4086FF; }
body:has(.ashby-job-posting-heading) :is(a,button,input,select,textarea):focus-visible { outline-color: #4086FF; }
.ashby-application-form-container { font-family: "PP Mori", Arial, sans-serif; color: #340C05; }
.ashby-application-form-question-title { font-size: 15px; line-height: 1.5; }
.ashby-application-form-field-entry { margin-bottom: 24px; }
.ashby-application-form-input-text,
.ashby-application-form-input-textarea,
.ashby-application-form-input-dropdown-select { font-size: 16px; border-color: #A19D92; background: #FAFAF9; border-radius: 6px; }
.ashby-application-form-input-text { min-height: 44px; }
.ashby-application-form-submit-button,
.ashby-job-posting-description-container a[href$="/application"] > button { background: #4086FF; color: #340C05; border: 1px solid #4086FF; border-radius: 6px; min-height: 44px; font-family: "PP Mori", Arial, sans-serif; font-weight: 600; }
.ashby-application-form-submit-button:hover,
.ashby-job-posting-description-container a[href$="/application"] > button:hover { background: #340C05; color: #F8F6F3; border-color: #340C05; }
@media (max-width: 600px) {
  .ashby-job-posting-header { padding: 0; }
  .ashby-job-posting-heading { font-size: 30px; }
  .ashby-job-posting-left-pane { padding: 16px; }
  .ashby-job-posting-description-container { padding: 20px 16px; }
  .ashby-job-posting-description :is(h2,h3) { font-size: 22px; margin-top: 24px; }
}

/* Keep the primary job action label white. */
.ashby-job-posting-description-container a[href$="/application"] > button { color: #FFFFFF; }

