.wfc-job-search { color: #101828; }
.wfc-job-filters { align-items: end; display: grid; gap: 0.75rem; grid-template-columns: minmax(180px, 1.4fr) repeat(3, minmax(145px, 1fr)) auto; }
.wfc-filter-field { display: grid; gap: 0.35rem; }
.wfc-filter-field > span { color: inherit; font-size: 0.75rem; font-weight: 800; }
.wfc-filter-field input, .wfc-filter-field select { appearance: none; background: #fff; border: 1px solid #d9e2f2; border-radius: 4px; color: #101828; font: inherit; min-height: 52px; padding: 0 0.85rem; width: 100%; }
.wfc-job-filters button { background: #ff4f18; border: 0; border-radius: 4px; color: #fff; cursor: pointer; font: inherit; font-weight: 800; min-height: 52px; padding: 0 1.6rem; }
.wfc-search-shell .wfc-job-search { color: #fff; }
.wfc-search-shell .wfc-job-count, .wfc-search-shell .wfc-job-grid { display: none; }
.wfc-job-count { color: #667085; margin: 2rem 0 1rem; }
.wfc-job-count strong { color: #0755bd; font-size: 1.5rem; }
.wfc-job-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wfc-job-card { background: #fff; border: 1px solid #d9e2f2; box-shadow: 0 8px 24px rgba(16,24,40,0.06); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: transform 180ms ease, box-shadow 180ms ease; }
.wfc-job-card:hover { box-shadow: 0 18px 44px rgba(8,47,115,0.12); transform: translateY(-4px); }
.wfc-job-card__image { aspect-ratio: 16 / 10; background: linear-gradient(145deg,#0755bd,#082f73); display: block; overflow: hidden; }
.wfc-job-card__image img { height: 100%; object-fit: cover; transition: transform 300ms ease; width: 100%; }
.wfc-job-card:hover .wfc-job-card__image img { transform: scale(1.035); }
.wfc-job-card__image.is-placeholder { align-items: center; display: flex; justify-content: center; text-decoration: none; }
.wfc-job-card__image.is-placeholder span { color: rgba(255,255,255,0.35); font-size: 3rem; font-weight: 900; }
.wfc-job-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.wfc-job-card__eyebrow { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.wfc-job-card__eyebrow span { background: #eef5ff; color: #0755bd; font-size: 0.72rem; font-weight: 800; padding: 0.2rem 0.45rem; }
.wfc-job-card h3 { font-size: 1.08rem; line-height: 1.45; margin: 0.8rem 0; }
.wfc-job-card h3 a { color: #101828; text-decoration: none; }
.wfc-job-card__salary { color: #ff4f18; font-weight: 800; margin: auto 0 0.25rem; }
.wfc-job-card__location { color: #667085; font-size: 0.85rem; margin: 0; }
.wfc-job-card__actions { align-items: center; border-top: 1px solid #e8edf5; display: flex; justify-content: space-between; margin-top: 1rem; padding-top: 0.85rem; }
.wfc-primary-link { color: #0755bd; font-size: 0.85rem; font-weight: 800; text-decoration: none; }
.wfc-share-trigger, .wfc-copy-url { background: transparent; border: 0; color: #667085; cursor: pointer; font: inherit; font-size: 0.8rem; padding: 0.3rem; }
.wfc-share-trigger:hover, .wfc-copy-url:hover { color: #ff4f18; }
.wfc-empty-state { background: #eef5ff; padding: 3rem; text-align: center; }
.wfc-job-pagination ul { display: flex; gap: 0.5rem; justify-content: center; list-style: none; margin: 2.5rem 0 0; padding: 0; }
.wfc-job-pagination a, .wfc-job-pagination span { align-items: center; border: 1px solid #d9e2f2; display: flex; height: 42px; justify-content: center; text-decoration: none; width: 42px; }
.wfc-job-pagination .current { background: #0755bd; border-color: #0755bd; color: #fff; }

.wfc-job-detail__hero { align-items: center; display: grid; gap: 2.5rem; grid-template-columns: 1.15fr 0.85fr; }
.wfc-job-detail__hero h1 { font-size: clamp(2.25rem, 5vw, 4.5rem); letter-spacing: -0.045em; line-height: 1.15; }
.wfc-job-detail__terms { color: #0755bd; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.08em; }
.wfc-job-detail__lead { font-size: 1.2rem; }
.wfc-job-detail__image { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.wfc-job-summary { background: #082f73; color: #fff; display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); margin: 3rem 0; }
.wfc-job-summary > div { background: rgba(255,255,255,0.05); display: grid; gap: 0.4rem; padding: 1.4rem; }
.wfc-job-summary span { color: rgba(255,255,255,0.7); font-size: 0.75rem; }
.wfc-job-summary strong { color: #fff; }
.wfc-job-detail__layout { align-items: start; display: grid; gap: 3rem; grid-template-columns: minmax(0,1fr) 340px; }
.wfc-job-section { border-bottom: 1px solid #d9e2f2; padding: 1rem 0 2.5rem; }
.wfc-job-section h2 { border-left: 6px solid #0755bd; font-size: 1.75rem; padding-left: 1rem; }
.wfc-job-section li { margin-bottom: 0.55rem; }
.wfc-job-flow { counter-reset: flow; display: grid; gap: 0.7rem; grid-template-columns: repeat(4,1fr); list-style: none; padding: 0; }
.wfc-job-flow li { background: #eef5ff; padding: 1rem; position: relative; text-align: center; }
.wfc-job-flow li + li::before { color: #0755bd; content: '→'; left: -0.8rem; position: absolute; }
.wfc-job-apply { background: #eef5ff; padding: 1.75rem; position: sticky; top: 100px; }
.wfc-job-apply h2 { font-size: 1.45rem; }
.wfc-apply-button { background: #ff4f18; border: 0; border-radius: 4px; color: #fff; cursor: pointer; display: inline-flex; font: inherit; font-weight: 800; justify-content: center; padding: 1rem 1.25rem; text-decoration: none; width: 100%; }
.wfc-apply-button:hover { background: #d93600; color: #fff; }
.wfc-share-panel { border-top: 1px solid #d9e2f2; margin-top: 1.5rem; padding-top: 1rem; }
.wfc-share-panel h3 { font-size: 0.95rem; }
.wfc-share-list { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.wfc-share-list a, .wfc-share-list button { background: #fff; border: 1px solid #d9e2f2; color: #101828; font-size: 0.72rem; padding: 0.5rem 0.65rem; text-decoration: none; }
.wfc-share-feedback { color: #0755bd; font-size: 0.75rem; min-height: 1.3em; }
.wfc-job-notice { border-left: 6px solid #0755bd; margin: 2rem 0; padding: 1rem 1.25rem; }
.wfc-job-notice.is-closed, .wfc-job-notice.is-error { background: #fff0eb; border-color: #ff4f18; }
.wfc-job-notice.is-success { background: #e9fff4; border-color: #087443; }

.wfc-application { background: #f7f9fc; margin-top: 4rem; padding: clamp(1.5rem, 5vw, 3.5rem); }
.wfc-form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.wfc-form-grid label { display: grid; font-weight: 700; gap: 0.4rem; }
.wfc-form-grid label span { color: #ff4f18; font-size: 0.75rem; }
.wfc-form-grid input, .wfc-form-grid textarea { background: #fff; border: 1px solid #cbd5e1; border-radius: 4px; font: inherit; padding: 0.8rem; width: 100%; }
.wfc-form-wide { grid-column: 1 / -1; }
.wfc-consent { display: block; margin: 1.2rem 0; }
.wfc-honeypot { left: -9999px; position: absolute; }

@media (max-width: 1040px) {
  .wfc-job-filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .wfc-job-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .wfc-job-detail__layout { grid-template-columns: 1fr; }
  .wfc-job-apply { position: static; }
}

@media (max-width: 680px) {
  .wfc-job-filters, .wfc-job-grid, .wfc-job-detail__hero, .wfc-job-summary, .wfc-form-grid { grid-template-columns: 1fr; }
  .wfc-job-filters button { width: 100%; }
  .wfc-job-flow { grid-template-columns: 1fr; }
  .wfc-job-flow li + li::before { content: '↓'; left: 50%; top: -1.05rem; }
  .wfc-job-card__image { aspect-ratio: 16 / 8; }
  .wfc-form-wide { grid-column: auto; }
}

