:root {
  color-scheme: light;
  font: 16px/1.5 system-ui, sans-serif;
  background: #f7f6fa;
  color: #1b1924;
}

* { box-sizing: border-box; }
body { min-width: 0; margin: 0; }
a { color: #6d4ae8; }
a:focus-visible { outline: 2px solid #6d4ae8; outline-offset: 2px; }
.skip-link { position: absolute; left: 1rem; top: -5rem; z-index: 1; display: inline-flex; min-height: 2.75rem; align-items: center; padding: .6rem 1rem; background: #fff; }
.skip-link:focus { top: 1rem; }
.page { width: min(100%, 48rem); margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.site-header { margin-bottom: 2rem; }
.brand { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .625rem; padding: 0 .25rem; color: #1b1924; font-size: .8125rem; font-weight: 600; text-decoration: none; }
.brand img { width: 2rem; height: 2rem; border-radius: 50%; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: .75rem; font-size: 1.5rem; line-height: 1.2; }
h2 { margin: 0; font-size: 1.25rem; line-height: 1.35; }
h2 a { display: inline-flex; min-height: 2.75rem; align-items: center; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: .15em; }
.intro { margin-bottom: 1.5rem; }
.intro p { margin-bottom: .5rem; }
.result-count { color: #555166; font-size: .9375rem; }
.job-list, .job-facts { list-style: none; margin: 0; padding: 0; }
.job-list { display: grid; gap: 1rem; }
.job-card { min-width: 0; padding: 1.25rem; border: 1px solid #ebe9f0; border-radius: .5rem; background: #fff; }
.employer { margin: .15rem 0 .75rem; color: #494750; font-weight: 500; overflow-wrap: anywhere; }
.job-facts { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.job-facts li { max-width: 100%; padding: .25rem .625rem; border: 1px solid #ebe9f0; border-radius: .375rem; background: #f7f6fa; color: #555166; font-size: .875rem; overflow-wrap: anywhere; }
time { color: #555166; font-size: .875rem; }
.empty-state { margin-top: 1.5rem; padding: 1.5rem; border: 1px solid #ebe9f0; border-radius: .5rem; background: #fff; overflow-wrap: anywhere; }
.empty-state h2 { margin-bottom: .75rem; }
.empty-state p { margin-bottom: .75rem; color: #555166; }
.empty-state .action { display: inline-flex; min-height: 2.75rem; align-items: center; margin-top: .5rem; color: #6d4ae8; font-weight: 600; }
.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1.5rem; }
.pagination a { display: inline-flex; min-height: 2.75rem; align-items: center; padding: .35rem .75rem; color: #6d4ae8; font-weight: 600; text-decoration: underline; }
.pagination span { color: #555166; font-size: .875rem; font-weight: 600; }
.job-card article > *:last-child { margin-bottom: 0; }
.job-summary { margin: 0 0 .75rem; color: #3b3847; font-size: .9375rem; overflow-wrap: anywhere; }
.job-skills { display: flex; flex-wrap: wrap; gap: .375rem; list-style: none; margin: 0 0 .75rem; padding: 0; }
.job-skills li { padding: .125rem .5rem; border-radius: .25rem; background: #efeafd; color: #3d2a8a; font-size: .8125rem; overflow-wrap: anywhere; }
.posted { margin: 0; }
.breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; list-style: none; margin: 0 0 1rem; padding: 0; color: #555166; font-size: .875rem; }
.breadcrumb a { display: inline-flex; min-height: 2.75rem; align-items: center; }
.breadcrumb [aria-current] { color: #1b1924; overflow-wrap: anywhere; }
.companies, .browse, .latest { margin-top: 2rem; }
.companies h2, .browse h2, .latest h2 { margin-bottom: .75rem; }
.company-list, .browse ul { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; list-style: none; margin: 0 0 .5rem; padding: 0; }
.company-list li, .browse li { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .375rem; overflow-wrap: anywhere; }
.count, .more { color: #555166; font-size: .875rem; }
.browse h3 { margin: 1rem 0 .25rem; font-size: 1rem; }
.latest .job-list h3 { margin: 0; font-size: 1.125rem; line-height: 1.35; }
.latest .job-list h3 a { display: inline-flex; min-height: 2.75rem; align-items: center; overflow-wrap: anywhere; }
.all-jobs { margin-top: 1.5rem; }
.all-jobs a { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 600; }
footer { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid #ebe9f0; }
footer a { display: inline-flex; min-height: 2.75rem; align-items: center; }
@media (min-width: 40rem) { .page { padding: 2rem 1.5rem 4rem; } h1 { font-size: 1.875rem; } .job-card { padding: 1.5rem; } }
