.elementor .erw-band{--site-heading-color: var(--on-dark-color);
--site-accent-color: var(--on-dark-color);
--site-on-accent-color: var(--site-band-color);
--site-paragraph-color: var(--on-dark-muted-color);
--site-muted-text-color: var(--on-dark-muted-color);
--site-line-color: var(--on-dark-line-color);
--site-line-light-color: var(--on-dark-line-color);
--heading-bar-color: var(--on-dark-color);
--heading-bar-track: var(--on-dark-line-color);
position: relative;
isolation: isolate;
overflow: clip;
background-color: var(--site-band-color);
color: var(--on-dark-color);

/* slow pan of the section background image */
&::after {
  content: "";
  position: absolute;
  inset: -6%;
  z-index: -2;
  background-image: inherit;
  background-color: inherit;
  background-size: cover !important;
  background-position: center !important;
  pointer-events: none;
}

/* band overlay (replaces Elementor's) */
&::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1;
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--site-band-color) var(--band-overlay-mix), transparent) 0%,
    color-mix(in srgb, var(--site-band-color) calc(var(--band-overlay-mix) - 14%), transparent) 50%,
    color-mix(in srgb, var(--site-band-color) calc(var(--band-overlay-mix) + 2%), transparent) 100%) !important;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  &::after { 
      animation: erw-pan var(--duration-pan) ease-in-out infinite alternate; 
      animation-play-state: var(--ambient-play);
  }
}\n}.elementor .erw-eyebrow{margin: 0 0 var(--gap-sm) !important;
color: var(--eyebrow-color, var(--site-accent-color)) !important;
font-family: var(--label-font-family) !important;
font-size: clamp(calc(var(--label-size-phone) / 16 * 1rem), calc(var(--label-size-phone) / 16 * 1rem + (var(--label-size) - var(--label-size-phone)) * (100vw - 360px) / 1080), calc(var(--label-size) / 16 * 1rem)) !important;
font-weight: var(--label-font-weight) !important;
line-height: var(--label-line-height) !important;
letter-spacing: var(--label-letter-spacing) !important;
text-transform: var(--label-text-transform);

& :is(p, span, h1, h2, h3, h4, h5, h6) {
  margin: 0;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit;
}\n}.elementor .erw-bar{position: relative;
flex: 0 0 auto !important;
width: var(--heading-bar-width) !important;
height: var(--heading-bar-height) !important;
min-height: 0 !important;
margin: var(--heading-bar-gap) var(--heading-bar-align) 0;
padding: 0 !important;
background: var(--heading-bar-track) !important;

&::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--heading-bar-color);
  transform-origin: 0 50%;
  transition: transform var(--heading-bar-duration) var(--ease-in-out) var(--heading-bar-delay);
}

/* draws in when a page script reveals its section; static everywhere else */
:is(.sf-ready, .cr-ready, .vl-ready, .ct-ready):not(.is-in) &::after { transform: scaleX(0); }

@media (prefers-reduced-motion: reduce) {
  &::after { transition: none; }
}\n}.elementor .erw-title{margin: 0 !important;
color: var(--title-color, var(--site-heading-color)) !important;
font-family: var(--heading-font-family) !important;
font-size: var(--title-size, clamp(calc(var(--heading-size-phone) / 16 * 1rem), calc(var(--heading-size-phone) / 16 * 1rem + (var(--heading-size) - var(--heading-size-phone)) * (100vw - 360px) / 1080), calc(var(--heading-size) / 16 * 1rem))) !important;
font-weight: var(--heading-font-weight) !important;
line-height: var(--heading-line-height) !important;
letter-spacing: var(--heading-letter-spacing) !important;
text-transform: var(--title-transform, var(--heading-text-transform));
overflow-wrap: break-word;
text-wrap: balance;

& :is(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit;
}\n}.elementor .op-jobs{/* Open Positions tokens */
--op-row-pad: clamp(22px, 2.6vw, 34px);
--op-title-size: calc(var(--subheading-font-size) * .82);
--op-stat-size: calc(var(--display-font-size) * .8);
--op-hover-bg: var(--site-secondary-background);
--op-new-color: var(--site-accent-color);
--op-bleed: clamp(12px, 1.6vw, 24px);
--op-stagger: 60ms;
--op-card-width: 320px;
--op-card-gap: 40px;
--op-card-top: calc(var(--sticky-header-height, 100px) + var(--op-card-gap));

display: flex !important;
flex-direction: column !important;
gap: var(--gap-xl) !important;
padding: var(--section-pad-y) var(--section-pad-x) !important;
background: var(--site-primary-background);
color: var(--site-paragraph-color);

& > .e-con-inner { display: contents !important; }

/* logged in: the WordPress toolbar sits above the sticky header */
.admin-bar & { --op-card-top: calc(var(--sticky-header-height, 100px) + var(--op-card-gap) + 32px); }

&, & *, & *::before, & *::after { box-sizing: border-box; }

& > .elementor-element,
& > .e-con-inner > .elementor-element {
width: 100% !important;
max-width: var(--site-max-width);
margin: 0 !important;
}

.op-head { max-width: var(--site-reading-width) !important; }

a {
color: inherit !important;
text-decoration: none !important;
}

:is(button, input, select) {
-webkit-appearance: none;
appearance: none;
margin: 0 !important;
border-radius: 0 !important;
box-shadow: none;
font: inherit;
}

:is(a, button, input, select):focus-visible {
outline: 2px solid var(--site-heading-color);
outline-offset: 4px;
}

svg {
display: block;
fill: none;
stroke: currentColor;
stroke-width: 1.5;
stroke-linecap: round;
stroke-linejoin: round;
}

.op-sr {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
}

/* job view (?gni=): the list header steps aside */
&:has(.op-detail) .op-head { display: none !important; }

.op-board-inner {
scroll-margin-top: calc(var(--sticky-header-height, 100px) + 24px);
display: grid;
gap: var(--gap-lg);
}
.op-board-inner > * { min-width: 0; }

/* stats */
.op-stats {
display: grid;
grid-auto-columns: minmax(0, 1fr);
grid-auto-flow: column;
margin: 0 !important;
padding: 0 !important;
border-top: 1px solid var(--site-line-color);
}
.op-stat {
display: flex;
flex-direction: column-reverse;
justify-content: flex-end;
gap: 10px;
padding: var(--gap-md) var(--gap-md) 0 0;
}
.op-stat + .op-stat {
padding-left: var(--gap-md);
border-left: 1px solid var(--site-line-light-color);
}
.op-stat-num {
margin: 0 !important;
color: var(--site-heading-color);
font-family: var(--heading-font-family);
font-size: var(--op-stat-size);
font-weight: var(--heading-font-weight);
line-height: 1;
letter-spacing: -.02em;
font-variant-numeric: tabular-nums;
}
.op-stat-label {
margin: 0 !important;
color: var(--site-muted-text-color);
font-family: var(--label-font-family);
font-size: var(--label-font-size);
font-weight: var(--label-font-weight);
line-height: var(--label-line-height);
letter-spacing: var(--label-letter-spacing);
text-transform: var(--label-text-transform);
}

/* search, filters, sort */
.op-tools {
display: grid;
gap: var(--gap-md);
margin-top: var(--gap-md);
}
.op-tools[hidden] { display: none !important; }

.op-tools-bar {
display: flex;
align-items: end;
gap: var(--gap-sm);
}
.op-field-search { flex: 1 1 auto; }

.op-search-wrap {
position: relative;
display: block;
}
.op-search-wrap::before {
content: "";
position: absolute;
left: 0;
top: 50%;
width: 20px;
height: 20px;
translate: 0 -50%;
background: url("data:image/svg+xml,svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='5f605c' stroke-width='1.5' stroke-linecap='round'circle cx='10.5' cy='10.5' r='6.5'/path d='M15.5 15.5L21 21'//svg") center / contain no-repeat;
pointer-events: none;
}
.op-kbd {
position: absolute;
right: 0;
top: 50%;
translate: 0 -50%;
display: grid;
place-items: center;
min-width: 26px;
height: 26px;
padding: 0 6px;
border: 1px solid var(--site-line-color);
border-radius: 6px;
background: none;
color: var(--site-muted-text-color);
font: 600 13px/1 var(--label-font-family);
pointer-events: none;
transition: opacity var(--duration-hover) var(--ease-out);
}
.op-search:is(:focus, :not(:placeholder-shown)) + .op-kbd { opacity: 0; }
@media (hover: none) {
.op-kbd { display: none; }
}

.op-filter-toggle {
display: none !important;
align-items: center;
gap: 10px;
min-height: 48px;
padding: 0 18px !important;
border: 1px solid var(--site-line-color) !important;
border-radius: 999px !important;
background: transparent !important;
color: var(--site-heading-color) !important;
font-family: var(--label-font-family) !important;
font-size: 13px !important;
font-weight: var(--label-font-weight) !important;
letter-spacing: .08em !important;
text-transform: uppercase !important;
cursor: pointer;

svg {
 width: 18px;
 height: 18px;
}
}
.op-filter-count {
display: grid;
place-items: center;
min-width: 20px;
height: 20px;
padding: 0 5px;
border-radius: 999px;
background: var(--site-primary-color);
color: #fff;
font-size: 11px;
letter-spacing: 0;
}
.op-filter-count[hidden] { display: none; }

.op-filters {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
gap: var(--gap-md) var(--gap-lg);
align-items: end;
}
.op-field-company { grid-column: 1 / -1; }

.op-chips {
display: flex;
flex-wrap: wrap;
flex: 1 1 100%;
gap: 8px;
min-width: 0;
}

.op-chip {
display: inline-flex !important;
align-items: center;
gap: 10px;
min-height: 44px;
padding: 0 18px !important;
border: 1px solid var(--site-line-color) !important;
border-radius: 999px !important;
background: transparent !important;
color: var(--site-heading-color) !important;
font-family: var(--label-font-family) !important;
font-size: 13px !important;
font-weight: var(--label-font-weight) !important;
line-height: 1 !important;
letter-spacing: .08em !important;
text-transform: uppercase !important;
white-space: nowrap;
cursor: pointer;
transition: background-color var(--duration-hover) var(--ease-out), border-color var(--duration-hover) var(--ease-out), color var(--duration-hover) var(--ease-out);
}
.op-chip::before {
content: "";
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--op-co);
}
.op-chip[data-op-co=""]::before { display: none; }
.op-chip-count {
opacity: .55;
font-variant-numeric: tabular-nums;
}
.op-chip[aria-pressed="true"] {
border-color: var(--op-co, var(--site-primary-color)) !important;
background: var(--op-co, var(--site-primary-color)) !important;
color: var(--op-on, #fff) !important;
}
.op-chip[aria-pressed="true"]::before { background: currentColor; }
.op-chip:disabled {
opacity: .4;
cursor: default;
}
@media (hover: hover) {
.op-chip[aria-pressed="false"]:not(:disabled):hover { border-color: var(--op-co, var(--site-heading-color)) !important; }
}

.op-field {
display: grid;
gap: 8px;
min-width: 0;
margin: 0 !important;
}
.op-field-label {
color: var(--site-muted-text-color);
font-family: var(--label-font-family);
font-size: 12px;
font-weight: var(--label-font-weight);
letter-spacing: var(--label-letter-spacing);
text-transform: uppercase;
}
:is(.op-select, .op-search) {
width: 100% !important;
min-height: 48px !important;
padding: 0 32px 0 0 !important;
border: 0 !important;
border-bottom: 1px solid var(--site-line-color) !important;
background-color: transparent !important;
color: var(--site-heading-color) !important;
font-family: var(--paragraph-font-family) !important;
font-size: var(--paragraph-font-size) !important;
line-height: 1.2 !important;
transition: border-color var(--duration-hover) var(--ease-out);
}
:is(.op-select, .op-search):focus-visible {
outline: none;
border-bottom-color: var(--site-heading-color) !important;
box-shadow: 0 1px 0 0 var(--site-heading-color) !important;
}
.op-select {
background-image: url("data:image/svg+xml,svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='5f605c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'path d='M6 9l6 6 6-6'//svg") !important;
background-repeat: no-repeat !important;
background-position: right 2px center !important;
background-size: 20px !important;
cursor: pointer;
}
.op-search { padding-left: 32px !important; padding-right: 40px !important; }
.op-search::placeholder {
color: var(--site-muted-text-color);
opacity: 1;
}
.op-search::-webkit-search-cancel-button { cursor: pointer; }

/* active filters */
.op-active {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px 14px;
}
.op-active[hidden] { display: none !important; }
.op-active-list {
display: contents;
margin: 0 !important;
padding: 0 !important;
list-style: none !important;

li { margin: 0 !important; }
li::marker { content: none; }
}
.op-pill {
display: inline-flex !important;
align-items: center;
gap: 8px;
min-height: 40px;
padding: 0 12px 0 16px !important;
border: 0 !important;
border-radius: 999px !important;
background: var(--site-secondary-background) !important;
color: var(--site-heading-color) !important;
font-size: var(--small-font-size) !important;
line-height: 1.2 !important;
cursor: pointer;
transition: background-color var(--duration-hover) var(--ease-out), color var(--duration-hover) var(--ease-out);

svg {
 width: 16px;
 height: 16px;
}
}
@media (hover: hover) {
.op-pill:hover {
 background: var(--site-primary-color) !important;
 color: #fff !important;
}
}
.op-active .op-clear { margin-left: 4px; }

mark {
padding: 0 .08em;
border-radius: 2px;
background: color-mix(in srgb, var(--site-heading-color) 12%, transparent);
color: inherit;
}

.op-status {
margin: 0 0 calc(12px - var(--gap-lg)) !important;
color: var(--site-muted-text-color);
font-size: var(--small-font-size);
}

/* job rows */
.op-list {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
border-top: 1px solid var(--site-line-color);
}
.op-job {
margin: 0 !important;
padding: 0 !important;
border-bottom: 1px solid var(--site-line-color);
}
.op-job::marker { content: none; }
.op-job[hidden] { display: none !important; }

.op-job-link {
position: relative;
isolation: isolate;
display: grid !important;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
column-gap: var(--gap-lg);
padding: var(--op-row-pad) 0 !important;
}
.op-job-link::before,
.op-job-link::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
pointer-events: none;
}
.op-job-link::before {
inset-inline: calc(var(--op-bleed) * -1);
z-index: -1;
background: var(--op-hover-bg);
transform: scaleY(0);
transform-origin: 50% 100%;
transition: transform .6s var(--ease-out);
}
.op-job-link::after {
left: calc(var(--op-bleed) * -1);
width: 3px;
background: var(--op-co);
transform: scaleY(0);
transform-origin: 50% 0;
transition: transform .7s var(--ease-out) .05s;
}

.op-job-co {
display: flex;
flex-wrap: wrap;
margin-bottom: 10px;
color: var(--site-muted-text-color);
font-family: var(--label-font-family);
font-size: 13px;
font-weight: var(--label-font-weight);
line-height: 1.5;
letter-spacing: var(--label-letter-spacing);
text-transform: uppercase;
}
.op-job-co::before {
content: "";
display: inline-block;
width: 8px;
height: 8px;
margin: 0 10px 2px 0;
border-radius: 50%;
background: var(--op-co);
vertical-align: middle;
}
.op-job-co-name,
.op-job-dept { white-space: nowrap; }
.op-job-dept::before {
content: "\00B7";
margin: 0 8px;
opacity: .6;
}

h3.op-job-title {
margin: 0 !important;
padding: 0 !important;
color: var(--site-heading-color) !important;
font-family: var(--subheading-font-family) !important;
font-size: var(--op-title-size) !important;
font-weight: var(--subheading-font-weight) !important;
line-height: var(--subheading-line-height) !important;
letter-spacing: var(--subheading-letter-spacing) !important;
text-transform: none !important;
overflow-wrap: break-word;
transition: translate .6s var(--ease-out);
}

.op-job-text {
display: -webkit-box;
max-width: var(--site-reading-width);
margin-top: 10px;
overflow: hidden;
color: var(--site-paragraph-color);
font-size: var(--small-font-size);
line-height: var(--small-line-height);
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}

.op-job-meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px 22px;
margin-top: 14px;
color: var(--site-muted-text-color);
font-size: var(--small-font-size);
line-height: 1.3;
}
.op-job-meta > span {
display: inline-flex;
align-items: center;
gap: 7px;
}
.op-job-meta svg {
flex: 0 0 auto;
width: 16px;
height: 16px;
}
.op-job-new {
padding: 5px 10px 4px;
border: 1px solid var(--op-new-color);
border-radius: 999px;
color: var(--op-new-color);
font-family: var(--label-font-family);
font-size: 11px;
font-weight: var(--label-font-weight);
line-height: 1;
letter-spacing: .12em;
text-transform: uppercase;
}

.op-job-icon {
display: grid;
place-items: center;
width: var(--icon-button-size);
height: var(--icon-button-size);
border: 1px solid var(--site-line-color);
border-radius: 50%;
color: var(--site-heading-color);
box-shadow: inset 0 0 0 0 var(--op-co);
transition: box-shadow .55s var(--ease-out), color .45s var(--ease-out), border-color .45s var(--ease-out);

svg {
 width: 20px;
 height: 20px;
 transition: translate .6s var(--ease-out);
}
}

@media (hover: hover) {
.op-job-link:hover::before { transform: scaleY(1); }
.op-job-link:hover::after { transform: scaleY(1); }
.op-job-link:hover .op-job-title { translate: 6px 0; }
.op-job-link:hover .op-job-icon {
 border-color: var(--op-co);
 box-shadow: inset 0 0 0 calc(var(--icon-button-size) / 2 + 1px) var(--op-co);
 color: var(--op-on);
}
.op-job-link:hover .op-job-icon svg { translate: 3px 0; }
}
.op-job-link:focus-visible { outline-offset: 2px; }
.op-job-link:focus-visible::before { transform: scaleY(1); }
.op-job-link:focus-visible::after { transform: scaleY(1); }

/* no matches / no jobs */
.op-nomatch[hidden] { display: none !important; }
.op-nomatch {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px 24px;
padding: var(--op-row-pad) 0;
}
.op-nomatch-text {
margin: 0 !important;
color: var(--site-paragraph-color);
}
.op-clear {
padding: 12px 0 !important;
border: 0 !important;
border-bottom: 1px solid currentColor !important;
background: none !important;
color: var(--site-heading-color) !important;
font-family: var(--label-font-family) !important;
font-size: 13px !important;
font-weight: var(--label-font-weight) !important;
letter-spacing: .08em !important;
text-transform: uppercase !important;
cursor: pointer;
}

.op-none {
padding-top: var(--gap-lg);
border-top: 1px solid var(--site-line-color);
}
h3.op-none-title {
margin: 0 0 14px !important;
padding: 0 !important;
color: var(--site-heading-color) !important;
font-family: var(--subheading-font-family) !important;
font-size: var(--subheading-font-size) !important;
font-weight: var(--subheading-font-weight) !important;
line-height: var(--subheading-line-height) !important;
text-transform: none !important;
}
.op-none-text {
max-width: var(--site-reading-width);
margin: 0 !important;
font-size: var(--paragraph-font-size);
line-height: var(--paragraph-line-height);
}
.op-links {
display: flex;
flex-wrap: wrap;
gap: 8px var(--gap-lg);
margin-top: var(--gap-md);
}

/* same look as erw-link */
.op-link {
position: relative;
display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 20px;
min-width: 240px;
padding: 14px 0;
color: var(--site-heading-color) !important;
}
.op-link::after,
.op-link::before {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 1px;
}
.op-link::after { background: var(--site-line-color); }
.op-link::before {
z-index: 1;
background: currentColor;
transform: scaleX(0);
transform-origin: 100% 50%;
transition: transform .7s var(--ease-out);
}
.op-link-text {
font-family: var(--label-font-family);
font-size: var(--label-font-size);
font-weight: var(--label-font-weight);
letter-spacing: .08em;
text-transform: uppercase;
}
.op-link-icon {
display: grid;
place-items: center;
width: var(--icon-button-size);
height: var(--icon-button-size);
border: 1px solid currentColor;
border-radius: 50%;
box-shadow: inset 0 0 0 0 var(--site-accent-color);
transition: box-shadow .55s var(--ease-out), color .45s var(--ease-out), border-color .45s var(--ease-out);

svg {
 width: 20px;
 height: 20px;
 transition: translate .6s var(--ease-out);
}
}
.op-link:is(:hover, :focus-visible)::before { transform: scaleX(1); transform-origin: 0 50%; }
.op-link:is(:hover, :focus-visible) .op-link-icon {
border-color: var(--site-accent-color);
box-shadow: inset 0 0 0 calc(var(--icon-button-size) / 2 + 1px) var(--site-accent-color);
color: var(--site-on-accent-color);
}
.op-link:is(:hover, :focus-visible) .op-link-icon svg { translate: 3px 0; }

.op-note {
padding: 16px 20px;
border: 1px dashed var(--site-line-color);
color: var(--site-muted-text-color);
}

/* job view */
.op-back {
display: inline-flex;
align-items: center;
gap: 14px;
justify-self: start;
min-height: 44px;
color: var(--site-heading-color) !important;
}
.op-back-icon {
display: grid;
place-items: center;
width: 40px;
height: 40px;
border: 1px solid var(--site-line-color);
border-radius: 50%;
transition: border-color var(--duration-hover) var(--ease-out), box-shadow .55s var(--ease-out), color .45s var(--ease-out);

svg {
 width: 18px;
 height: 18px;
 rotate: 180deg;
 transition: translate .6s var(--ease-out);
}
}
.op-back-text {
font-family: var(--label-font-family);
font-size: 13px;
font-weight: var(--label-font-weight);
letter-spacing: .08em;
text-transform: uppercase;
}
@media (hover: hover) {
.op-back:hover .op-back-icon {
 border-color: var(--site-accent-color);
 box-shadow: inset 0 0 0 21px var(--site-accent-color);
 color: var(--site-on-accent-color);
}
.op-back:hover .op-back-icon svg { translate: -3px 0; }
}

.op-detail-head {
padding-bottom: var(--gap-lg);
border-bottom: 1px solid var(--site-line-color);
}

h2.op-detail-title {
margin: 0 !important;
padding: 0 !important;
color: var(--site-heading-color) !important;
font-family: var(--heading-font-family) !important;
font-size: var(--heading-font-size) !important;
font-weight: var(--heading-font-weight) !important;
line-height: var(--heading-line-height) !important;
letter-spacing: var(--heading-letter-spacing) !important;
text-transform: var(--heading-text-transform) !important;
overflow-wrap: break-word;
text-wrap: balance;
}
.op-detail .op-job-meta { margin-top: 18px; }

/* description (left) + sticky apply card (right) */
.op-detail-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) var(--op-card-width);
gap: var(--gap-xl);
align-items: start;
}

.op-desc {
min-width: 0;
color: var(--site-paragraph-color);
font-family: var(--paragraph-font-family);
font-size: var(--paragraph-font-size);
line-height: var(--paragraph-line-height);

& > :first-child { margin-top: 0 !important; }

/* the theme styles p and li directly, so set them here */
:is(p, li) {
 color: var(--site-paragraph-color) !important;
 font-family: var(--paragraph-font-family) !important;
 font-size: var(--paragraph-font-size) !important;
 font-weight: var(--paragraph-font-weight) !important;
 line-height: var(--paragraph-line-height) !important;
 letter-spacing: normal !important;
 text-transform: none !important;
}

p {
 max-width: var(--site-reading-width);
 margin: 0 0 14px !important;
 padding: 0 !important;
}

:is(strong, b) {
 color: var(--site-heading-color) !important;
 font-weight: 700 !important;
}

h3 {
 margin: 48px 0 14px !important;
 padding: 0 !important;
 color: var(--site-heading-color) !important;
 font-family: var(--subheading-font-family) !important;
 font-size: calc(var(--subheading-font-size) * .8) !important;
 font-weight: var(--subheading-font-weight) !important;
 line-height: var(--subheading-line-height) !important;
 letter-spacing: var(--subheading-letter-spacing) !important;
 text-transform: none !important;
}

:is(ul, ol) {
 margin: 0 0 14px !important;
 padding: 0 0 0 22px !important;
}

li {
 margin: 0 0 8px !important;
 padding-left: 6px;
}

li::marker { color: var(--site-accent-color); }


a {
 color: var(--site-heading-color) !important;
 text-decoration: underline !important;
 text-underline-offset: 3px;
}
}

/* Location / Schedule / Compensation…: shaded panel, one detail per row */
.op-facts {
display: grid;
gap: 6px;
max-width: var(--site-reading-width);
margin: 0 0 8px !important;
padding: 20px 26px !important;
border-left: 3px solid var(--site-accent-color);
border-radius: 0 8px 8px 0;
background: var(--site-secondary-background);
}
.op-fact {
margin: 0 !important;
font-family: var(--paragraph-font-family);
font-size: var(--paragraph-font-size);
line-height: 1.6;
}
.op-fact :is(dt, dd) {
display: inline;
margin: 0 !important;
font-family: inherit !important;
font-size: inherit !important;
line-height: inherit !important;
}
.op-fact dt {
color: var(--site-heading-color) !important;
font-weight: 700 !important;
}
.op-fact dt::after { content: ":"; }
.op-fact dd {
margin-left: .3em !important;
color: var(--site-paragraph-color) !important;
}

/* phones/tablets: jump from the end of the description back to the buttons */
.op-desc-cta {
display: none;
align-items: center;
gap: 14px;
margin-top: var(--gap-lg);
color: var(--site-heading-color) !important;
font-family: var(--label-font-family);
font-size: 13px;
font-weight: var(--label-font-weight);
letter-spacing: .08em;
text-decoration: none !important;
text-transform: uppercase;
}
.op-desc-cta-icon {
display: grid;
place-items: center;
width: 40px;
height: 40px;
border: 1px solid var(--site-line-color);
border-radius: 50%;

svg {
 width: 18px;
 height: 18px;
 rotate: -90deg;
}
}

.op-apply-card {
position: sticky;
top: var(--op-card-top);
display: grid;
gap: 12px;
padding: 28px;
border-radius: 10px;
background: var(--site-secondary-background);
scroll-margin-top: var(--op-card-top);
}
.op-apply-kicker {
margin: 0 !important;
color: var(--site-heading-color);
font-family: var(--label-font-family);
font-size: 13px;
font-weight: var(--label-font-weight);
letter-spacing: var(--label-letter-spacing);
text-transform: uppercase;
}
.op-apply-text {
margin: 0 0 6px !important;
color: var(--site-muted-text-color);
font-size: var(--small-font-size);
line-height: var(--small-line-height);
}

.op-desc-back {
display: inline-flex !important;
align-items: center;
gap: 14px;
justify-self: start;
min-height: 44px;
margin-bottom: 8px !important;
padding: 0 !important;
border: 0 !important;
background: none !important;
color: var(--site-heading-color) !important;
cursor: pointer;
}
.op-desc-back[hidden] { display: none !important; }
@media (hover: hover) {
.op-desc-back:hover .op-back-icon {
 border-color: var(--site-accent-color);
 box-shadow: inset 0 0 0 21px var(--site-accent-color);
 color: var(--site-on-accent-color);
}
}

.op-embed {
position: relative;
min-height: 120px;

iframe {
 display: block;
 width: 100% !important;
 max-width: 100%;
 border: 0 !important;
}
}

/* spinner until Paycor's iframe reports in (and between its pages) */
.op-embed.is-loading {
min-height: 150px;

iframe {
 opacity: 0;
 pointer-events: none;
}
}
.op-embed iframe { transition: opacity .4s var(--ease-out); }
.op-embed.is-loading::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 32px;
height: 32px;
margin: -16px 0 0 -16px;
border: 2px solid var(--site-line-color);
border-top-color: var(--site-heading-color);
border-radius: 50%;
animation: erw-spin .8s linear infinite;
}
.op-detail.is-applying .op-embed.is-loading { min-height: 50vh; }

/* applying: description steps aside, the form gets the full width */
.op-detail.is-applying .op-desc { display: none; }
.op-detail.is-applying .op-detail-layout { grid-template-columns: minmax(0, 1fr); }
.op-detail.is-applying .op-apply-card {
position: static;
padding: 0;
background: none;
}
.op-detail.is-applying :is(.op-apply-kicker, .op-apply-text) { display: none; }

@media (max-width: 1023px) {
.op-detail-layout { grid-template-columns: minmax(0, 1fr); }
.op-apply-card {
 position: static;
 order: -1;
}
.op-desc-cta { display: inline-flex; }
}

/* reveal (script adds is-ready, then is-in) */
.op-board-inner.is-ready :is(.op-stats, .op-tools, .op-status, .op-job) {
opacity: 0;
}
.op-board-inner.is-in :is(.op-stats, .op-tools, .op-status, .op-job) {
animation: erw-rise var(--duration-reveal) var(--ease-out) both;
animation-delay: calc(var(--i, 0) * var(--op-stagger));
}

@media (max-width: 767px) {
--op-bleed: 0px;
--icon-button-size: 40px;

.op-chips {
 flex-wrap: nowrap;
 margin-inline: calc(var(--site-gutter) * -1);
 padding-inline: var(--site-gutter);
 overflow-x: auto;
 scrollbar-width: none;
}
.op-chips::-webkit-scrollbar { display: none; }
.op-filter-toggle { display: inline-flex !important; }
.op-apply-card { padding: 22px; }
.op-kbd { display: none; }
.op-search { padding-right: 8px !important; }
.op-tools.is-collapsed .op-filters { display: none; }
.op-tools-bar { flex-wrap: nowrap; }
.op-filters { grid-template-columns: 1fr; }
.op-job-link { column-gap: 16px; }
.op-stat-label { font-size: 12px; letter-spacing: .1em; }
.op-link { min-width: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
 animation: none !important;
 transition-duration: .01ms !important;
}
.op-board-inner :is(.op-stats, .op-tools, .op-status, .op-job) { opacity: 1 !important; }
}\n}