/* Native HTML adapters for Braid. Values come from the generated LinkMe theme. */
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-family); font-size: var(--text-standard-font-size); line-height: var(--text-standard-line-height); font-weight: var(--text-weight-regular); color: var(--foreground-color-neutral); background: var(--background-color-body); }
[hidden] { display: none !important; }
a { color: var(--foreground-color-link); text-underline-offset: .2em; }
a:visited { color: var(--foreground-color-link-visited); }
a:hover { text-decoration-thickness: var(--border-width-standard); }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: var(--border-width-standard) solid var(--border-color-form-accent); outline-offset: var(--grid); box-shadow: 0 0 0 var(--focus-ring-size) var(--border-color-focus); }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { font-weight: var(--heading-weight-regular); }
h1 { font-size: var(--heading-1-font-size); line-height: var(--heading-1-line-height); }
h2 { font-size: var(--heading-3-font-size); line-height: var(--heading-3-line-height); }
h3, h4, .heading-4 { font-size: var(--heading-4-font-size); line-height: var(--heading-4-line-height); }
p { margin-bottom: var(--space-gutter); }
.icon { width: 1.25em; height: 1.25em; display: inline-block; vertical-align: middle; fill: currentColor; flex-shrink: 0; }
.icon--right { transform: rotate(90deg); }
.icon--left { transform: rotate(-90deg); }
.icon--external { transform: rotate(45deg); }
.icon--down { transform: rotate(180deg); }
.icon--chevron-right { transform: rotate(-90deg); }
.shell { width: min(var(--content-width-large), calc(100% - var(--space-xxlarge))); margin-inline: auto; }
.btn, .fake-btn { display: inline-flex; justify-content: center; align-items: center; gap: var(--space-xsmall); min-height: var(--touchable-size); padding: var(--space-xsmall) var(--space-gutter); border: 0; border-radius: var(--border-radius-standard); box-shadow: inset 0 0 0 var(--border-width-standard) var(--border-color-neutral); background: transparent; color: var(--foreground-color-neutral); font-size: var(--text-standard-font-size); line-height: var(--text-standard-line-height); font-weight: var(--text-weight-medium); text-align: center; text-decoration: none; cursor: pointer; transition: var(--transition-touchable); }
.fake-btn:visited { color: var(--foreground-color-neutral); }
.btn:hover, .fake-btn:hover { background: var(--background-color-neutral-soft-hover); text-decoration: none; }
.btn:active, .fake-btn:active { background: var(--background-color-neutral-soft-active); transform: var(--transform-touchable); }
.btn--primary, .fake-btn--primary, .fake-btn--primary:visited { background: var(--background-color-brand-accent); color: var(--foreground-color-neutral-inverted); box-shadow: none; }
.btn--primary:hover, .fake-btn--primary:hover { background: var(--background-color-brand-accent-hover); }
.btn--primary:active, .fake-btn--primary:active { background: var(--background-color-brand-accent-active); }
.btn--form { background: var(--background-color-form-accent); color: var(--foreground-color-neutral-inverted); box-shadow: none; }
.btn--form:hover { background: var(--background-color-form-accent-hover); }
.btn--form:active { background: var(--background-color-form-accent-active); }
.textbox, .select { position: relative; display: flex; align-items: center; width: 100%; min-width: 0; border-radius: var(--border-radius-standard); background: var(--background-color-surface); box-shadow: inset 0 0 0 var(--border-width-standard) var(--border-color-field); }
.textbox:hover, .select:hover, .textbox:focus-within, .select:focus-within { box-shadow: inset 0 0 0 var(--border-width-standard) var(--border-color-form-accent); }
.textbox:focus-within, .select:focus-within { outline: var(--border-width-standard) solid var(--border-color-form-accent); outline-offset: var(--grid); }
.textbox__control, .select__control { width: 100%; min-width: 0; height: var(--touchable-size); border: 0; border-radius: inherit; padding-inline: var(--space-small); color: var(--foreground-color-neutral); background: transparent; outline: none; box-shadow: none; }
.textbox__control::placeholder { color: var(--foreground-color-secondary); opacity: 1; }
.textbox .field-icon { margin-left: var(--space-small); color: var(--foreground-color-neutral); }
.textbox .field-icon + .textbox__control { padding-left: var(--space-xsmall); }
.select__control { appearance: none; padding-right: var(--touchable-size); text-overflow: ellipsis; cursor: pointer; }
.select > .icon { position: absolute; right: var(--space-small); pointer-events: none; }
.site-header { background: var(--background-color-surface); }
.header-inner { min-height: calc(var(--touchable-size) + var(--space-large)); display: flex; align-items: center; justify-content: space-between; gap: var(--space-gutter); }
.wordmark, .wordmark:visited { color: var(--background-color-brand); font-size: var(--heading-2-font-size); line-height: var(--heading-2-line-height); font-weight: var(--text-weight-strong); text-decoration: none; white-space: nowrap; }
.wordmark span { color: var(--foreground-color-brand-accent); }
.header-inner nav { display: flex; align-items: center; gap: var(--space-large); }
.header-inner nav a { color: var(--foreground-color-neutral); text-decoration: none; font-weight: var(--text-weight-medium); min-height: var(--touchable-size); display: inline-flex; align-items: center; gap: var(--space-xxsmall); }
.header-inner nav a:hover { text-decoration: underline; }
.saved-count { border-radius: var(--border-radius-standard); padding: 0 var(--space-xxsmall); background: var(--background-color-brand-accent-soft); color: var(--foreground-color-brand-accent); font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); }
.home-search, .search-strip { background: var(--background-color-brand); color: var(--foreground-color-neutral-inverted); }
.home-search { padding: var(--space-xxlarge) 0 var(--space-xlarge); }
.home-search h1 { margin-bottom: var(--space-large); }
.search-form { display: grid; grid-template-columns: 1.2fr 1fr auto; gap: var(--space-small); align-items: end; }
.search-field { min-width: 0; }
.search-field label, .filter-field label, .company-search label { display: block; font-weight: var(--text-weight-medium); margin-bottom: var(--space-small); }
.browse-link, .browse-link:visited { display: inline-flex; align-items: center; gap: var(--space-xxsmall); margin-top: var(--space-large); color: var(--foreground-color-link-light); }
.home-content { padding-block: var(--space-xlarge) var(--space-xxlarge); }
.browse-section + .browse-section { margin-top: var(--space-xxlarge); }
.browse-section h2 { margin-bottom: var(--space-gutter); }
.location-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-small); }
.browse-tile, .company-card, .job-card, .apply-panel { border-radius: var(--border-radius-large); background: var(--background-color-surface); box-shadow: inset 0 0 0 var(--border-width-standard) var(--border-color-neutral-light); padding: var(--space-gutter); }
.browse-tile { display: flex; flex-direction: column; gap: var(--space-small); color: var(--foreground-color-neutral); text-decoration: none; font-weight: var(--text-weight-medium); }
.tile-heading { display: flex; align-items: center; gap: var(--space-small); }
.location-icon { display: grid; place-items: center; width: var(--touchable-size); height: var(--touchable-size); background: var(--background-color-form-accent-soft); color: var(--foreground-color-form-accent); border-radius: var(--border-radius-standard); }
.browse-tile:hover, .company-card:hover { box-shadow: inset 0 0 0 var(--border-width-standard) var(--border-color-form-accent); }
.browse-tile:visited, .company-card:visited { color: var(--foreground-color-neutral); }
.tile-count { font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); color: var(--foreground-color-secondary); font-weight: var(--text-weight-regular); }
.browse-tile .tile-count { display: flex; align-items: center; justify-content: space-between; }
.browse-tile .tile-count .icon { color: var(--foreground-color-form-accent); }
.section-heading { display: flex; gap: var(--space-small); align-items: baseline; justify-content: space-between; }
.section-heading > a { white-space: nowrap; }
.home-jobs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-gutter); }
.job-card { min-width: 0; }
.job-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-small); margin-bottom: var(--space-xxsmall); }
.job-title { margin: 0; overflow-wrap: anywhere; }
.job-title a { color: var(--foreground-color-neutral); text-decoration: none; }
.job-title a:hover { text-decoration: underline; }
.employer-name { display: inline-block; color: var(--foreground-color-link); overflow-wrap: anywhere; margin-bottom: var(--space-gutter); }
.job-meta { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xsmall) var(--space-gutter); color: var(--foreground-color-secondary); }
.job-meta > span, .salary { display: inline-flex; align-items: center; gap: var(--space-xxsmall); }
.work-type { text-transform: capitalize; }
.salary { font-weight: var(--text-weight-medium); margin-block: var(--space-small) 0; }
.job-summary { margin: var(--space-gutter) 0 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.listed { font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); color: var(--foreground-color-secondary); margin-top: var(--space-gutter); }
.save-button { display: grid; place-items: center; width: var(--touchable-size); height: var(--touchable-size); flex-shrink: 0; border: 0; border-radius: var(--border-radius-standard); background: transparent; color: var(--foreground-color-neutral); cursor: pointer; margin-top: calc(-1 * var(--space-xxsmall)); margin-right: calc(-1 * var(--space-xsmall)); }
.save-button:hover { background: var(--background-color-neutral-soft-hover); }
.save-button[aria-pressed="true"] { color: var(--foreground-color-form-accent); background: var(--background-color-form-accent-soft); }
.category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 var(--space-large); }
.category-grid a { display: flex; justify-content: space-between; gap: var(--space-xsmall); padding: var(--space-small) 0; border-bottom: var(--border-width-standard) solid var(--border-color-neutral-light); color: var(--foreground-color-link); text-decoration: none; }
.category-grid a:hover { text-decoration: underline; }
.search-strip { padding-block: var(--space-large); }
.results-layout { display: grid; grid-template-columns: calc(var(--space-xxlarge) * 4) minmax(0, 1fr); gap: var(--space-large); padding-block: var(--space-xlarge) var(--space-xxlarge); align-items: start; }
.filters, .company-facts { background: var(--background-color-neutral-soft); border-radius: var(--border-radius-large); padding: var(--space-gutter); }
.filters h2 { margin-bottom: var(--space-large); }
.filter-field { margin-bottom: var(--space-gutter); }
.filters .btn { width: 100%; }
.reset-link { display: block; margin-top: var(--space-small); text-align: center; }
.results-heading { display: flex; justify-content: space-between; gap: var(--space-small); align-items: center; margin-bottom: var(--space-large); }
.results-heading h1 { margin-bottom: var(--space-xxsmall); overflow-wrap: anywhere; }
.results-heading p { color: var(--foreground-color-secondary); margin: 0; }
.job-list { display: grid; gap: var(--space-gutter); }
.active-filters { display: flex; flex-wrap: wrap; gap: var(--space-xxsmall); margin-bottom: var(--space-gutter); }
.active-filters a, .detail-categories span { display: inline-flex; align-items: center; gap: var(--space-xxsmall); font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); padding: var(--space-xxsmall) var(--space-xsmall); border-radius: var(--border-radius-standard); background: var(--background-color-form-accent-soft); color: var(--foreground-color-form-accent); text-decoration: none; }
.active-filters a:hover { background: var(--background-color-form-accent-soft-hover); }
.result-range { font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); color: var(--foreground-color-secondary); margin-block: var(--space-gutter) 0; }
.pagination { display: flex; justify-content: space-between; gap: var(--space-small); margin-top: var(--space-gutter); }
.pagination a[rel="next"] { margin-left: auto; }
.detail-wrap { padding-block: var(--space-large) var(--space-xxlarge); }
.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xsmall); font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); margin-bottom: var(--space-large); }
.breadcrumbs .icon { color: var(--foreground-color-secondary); }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) calc(var(--space-xxlarge) * 5); gap: var(--space-xlarge); align-items: start; }
.job-detail h1 { overflow-wrap: anywhere; margin-bottom: var(--space-small); }
.detail-employer { display: inline-block; font-size: var(--text-large-font-size); line-height: var(--text-large-line-height); margin-bottom: var(--space-gutter); }
.job-detail header { padding-bottom: var(--space-gutter); border-bottom: var(--border-width-standard) solid var(--border-color-neutral-light); margin-bottom: var(--space-large); }
.job-description { overflow-wrap: anywhere; }
.job-description h2, .job-description h3, .job-description h4 { margin-top: var(--space-large); }
.job-description li { margin-block: var(--space-xxsmall); }
.job-description ul, .job-description ol { padding-left: var(--space-gutter); }
.job-description table { display: block; overflow-x: auto; max-width: 100%; }
.job-description th, .job-description td { padding: var(--space-xxsmall); text-align: left; }
.apply-panel { position: sticky; top: var(--space-gutter); display: flex; flex-direction: column; gap: var(--space-gutter); }
.apply-panel h2 { margin: 0; }
.apply-panel .fake-btn { overflow-wrap: anywhere; }
.apply-panel > a:last-of-type { font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); }
.detail-categories { display: flex; flex-wrap: wrap; gap: var(--space-xxsmall); }
.directory { padding-block: var(--space-xlarge) var(--space-xxlarge); }
.company-search { max-width: var(--content-width-small); margin-top: var(--space-large); }
.company-search > div { display: flex; gap: var(--space-xsmall); }
.company-search .textbox { flex: 1; }
.directory-count { color: var(--foreground-color-secondary); margin-block: var(--space-large); }
.company-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-gutter); }
.company-card { color: var(--foreground-color-neutral); text-decoration: none; }
.company-card h2 { margin-bottom: var(--space-gutter); overflow-wrap: anywhere; }
.company-card > span { display: flex; align-items: center; justify-content: space-between; font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); color: var(--foreground-color-secondary); }
.company-card > span .icon { color: var(--foreground-color-form-accent); }
.saved-page { max-width: var(--content-width-medium); padding-block: var(--space-xlarge) var(--space-xxlarge); }
.saved-page h1 { margin-bottom: var(--space-large); }
.empty-state { padding-block: var(--space-xlarge); }
.site-footer { background: var(--background-color-brand); color: var(--foreground-color-neutral-inverted); padding-block: var(--space-large); margin-top: var(--space-small); }
.footer-inner { display: flex; gap: var(--space-gutter); align-items: center; font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); }
.footer-inner .wordmark { margin-right: auto; color: var(--foreground-color-neutral-inverted); }
.footer-inner > a:not(.wordmark), .footer-inner > a:not(.wordmark):visited { color: var(--foreground-color-link-light); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; top: -100%; padding: var(--space-xsmall) var(--space-gutter); background: var(--background-color-surface); z-index: 10; }
.skip-link:focus { top: var(--space-xxsmall); left: var(--space-xxsmall); }
.unavailable { display: inline-block; font-size: var(--text-small-font-size); line-height: var(--text-small-line-height); color: var(--foreground-color-caution); background: var(--background-color-caution-light); padding: var(--space-xxsmall) var(--space-xsmall); border-radius: var(--border-radius-standard); margin: 0 0 var(--space-small); }
.related-jobs { margin-top: var(--space-xxlarge); border-top: var(--border-width-standard) solid var(--border-color-neutral-light); padding-top: var(--space-large); }
.related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-gutter); }
.company-page { padding-block: var(--space-large) var(--space-xxlarge); }
.company-page > h1 { margin-bottom: var(--space-xsmall); }
.company-total { color: var(--foreground-color-secondary); margin-bottom: var(--space-large); }
.company-layout { display: grid; grid-template-columns: calc(var(--space-xxlarge) * 4) minmax(0, 1fr); gap: var(--space-large); align-items: start; }
.company-facts ul { padding: 0; list-style: none; margin-bottom: var(--space-large); }
.company-facts ul:last-child { margin-bottom: 0; }
.company-facts li { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-small); margin-bottom: var(--space-small); }
.company-facts li span { color: var(--foreground-color-secondary); }
#save-status:not(:empty) { position: fixed; bottom: var(--space-gutter); left: 50%; transform: translateX(-50%); padding: var(--space-small) var(--space-gutter); max-width: calc(100% - var(--space-large)); width: max-content; border-radius: var(--border-radius-standard); background: var(--background-color-positive-light); color: var(--foreground-color-positive); z-index: 10; box-shadow: var(--shadow-medium); }
#save-status[data-tone="critical"]:not(:empty) { background: var(--background-color-critical-light); color: var(--foreground-color-critical); }
#save-status[data-tone="caution"]:not(:empty) { background: var(--background-color-caution-light); color: var(--foreground-color-caution); }
@media (max-width: 991px) {
  .location-grid, .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-form { grid-template-columns: 1fr 1fr; }
  .search-form .btn { grid-column: 1 / -1; justify-self: start; }
  .detail-layout { gap: var(--space-large); grid-template-columns: minmax(0, 1fr) calc(var(--space-xxlarge) * 4); }
  .related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 739px) {
  .shell { width: calc(100% - var(--space-large)); }
  .header-inner { flex-wrap: wrap; gap: 0; padding-block: var(--space-xsmall); }
  .header-inner nav { width: 100%; justify-content: space-between; gap: var(--space-xxsmall); }
  .home-search { padding-block: var(--space-large); }
  .search-form { grid-template-columns: 1fr; gap: var(--space-gutter); }
  .search-form .btn { width: 100%; }
  .home-content { padding-block: var(--space-large) var(--space-xlarge); }
  .browse-section + .browse-section { margin-top: var(--space-xlarge); }
  .location-grid, .home-jobs, .company-grid { grid-template-columns: 1fr; }
  .category-grid { grid-template-columns: 1fr; }
  .results-layout { display: flex; flex-direction: column; gap: var(--space-gutter); padding-top: var(--space-large); }
  .js .filters { display: none; }
  .js .filters.is-open { display: block; }
  .filters { width: 100%; order: 1; }
  .results { display: contents; }
  .results-heading { width: 100%; order: 0; margin-bottom: 0; align-items: start; }
  .results .active-filters { order: 2; margin: 0; }
  .results .job-list { order: 3; width: 100%; }
  .results .result-range { order: 4; margin: 0; }
  .results .pagination { order: 5; margin-top: 0; width: 100%; }
  .filter-toggle { flex-shrink: 0; padding-inline: var(--space-small); }
  .detail-layout { display: flex; flex-direction: column; gap: var(--space-large); }
  .job-detail { display: contents; }
  .job-detail header { order: 0; margin-bottom: 0; padding-bottom: 0; border-bottom: 0; width: 100%; }
  .apply-panel { order: 1; width: 100%; position: static; }
  .job-description { order: 2; width: 100%; }
  .company-layout { grid-template-columns: 1fr; gap: var(--space-gutter); }
  .footer-inner { flex-wrap: wrap; gap: var(--space-gutter); }
  .footer-inner .wordmark { flex-basis: 100%; }
  .section-heading { align-items: start; }
}
@media (min-width: 740px) { .filter-toggle { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .btn, .fake-btn { transition: none; } }

.support-wrap { padding-block: var(--space-xlarge) var(--space-xxlarge); }
.support-page { max-width: var(--content-width-small); overflow-wrap: anywhere; }
.support-page h1 { margin-bottom: var(--space-large); }
.support-page section { margin-top: var(--space-xlarge); }
.support-page h2 { margin-bottom: var(--space-gutter); }
.footer-inner { flex-wrap: wrap; }
