/* The job board: /search-jobs/ (page 1315), /open-positions/ (1341) and the
   job taxonomy archives, plus the same cards on recruiters' team pages
   (.ob-tsearch, .ob-jobgrid) and the home page's "Open searches right now"
   strip (.ob-hopen). Loaded only where those render (onboard_sl_assets and
   onboard_sl_card_assets in lib/search-listings.php); every rule is scoped
   under body.ob-board or one of those classes, so nothing reaches another page.

   Brings the board in line with the Engine listing pages (css/search-listing.css):
   navy, gold and cream, Georgia titles, calm white cards. It restyles the
   markup the theme already prints: hand-made cards (rw-shortcodes/job-card.php)
   and Engine cards (onboard_sl_render_board_card) share .job-card, so one grid
   holds both. style.css paints .job-slider-cat and .job-slider-blue-box with
   !important, which is why the few !important rules below exist. */

body.ob-board,
.ob-jobgrid,
.ob-tsearch,
.ob-hopen {
	--b-navy: #0E1B2A;
	--b-navy-soft: #1F2A37;
	--b-gold: #C79A3E;
	--b-gold-hi: #E2BE72;
	--b-gold-dk: #7A5E17;
	--b-gold-wash: #FBF4E4;
	--b-cream: #FBF9F4;
	--b-cream-2: #ECE6D8;
	--b-ink: #13202E;
	--b-body: #435061;
	--b-line: #E4E7EB;
	--b-serif: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
	--b-sans: 'Montserrat', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--b-ease: cubic-bezier(.2,.7,.2,1);
}

body.ob-board .site-inner { background: var(--b-cream); }
body.ob-board .entry { background: transparent; }

/* ---------- filters ---------- */
body.ob-board .job_filters {
	background: #fff;
	border: 1px solid var(--b-cream-2);
	border-radius: 20px;
	box-shadow: 0 30px 60px -44px rgba(14,27,42,.45);
	max-width: 960px;
	margin: 8px auto 48px;
	overflow: visible;
}
body.ob-board .job_filters .search_jobs {
	padding: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	background: transparent;
	border: 0;
}
body.ob-board .job_filters .search_jobs label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.ob-board .job_filters input[type="text"],
body.ob-board .job_filters select,
body.ob-board .job_filters .select2-container--default .select2-selection--single {
	width: 100%;
	height: 54px !important;
	min-height: 54px;
	padding: 0 18px;
	border: 1.5px solid #CDD2D8 !important;
	border-radius: 12px !important;
	background-color: #fff;
	font-family: var(--b-sans);
	font-size: 16px;
	color: var(--b-ink);
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
body.ob-board .job_filters select { -webkit-appearance: none; appearance: none; padding-right: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A5E17' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; }
body.ob-board .job_filters .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 51px; padding-left: 0; color: var(--b-ink); }
body.ob-board .job_filters .select2-container--default .select2-selection--single .select2-selection__arrow { height: 51px; right: 10px; }

/* The practice picker's open list (2026-11-10). Select2 hangs it off <body>,
   outside .job_filters, so it kept the plugin's look: a grey search box, a
   green highlight and three different type sizes. It now matches the fields. */
body.ob-board .job_filters .select2-container--default .select2-selection--single .select2-selection__arrow b { display: none; }
body.ob-board .job_filters .select2-container--default .select2-selection--single .select2-selection__arrow {
	width: 24px; right: 16px; top: 1px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A5E17' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
	transition: transform .15s ease;
}
body.ob-board .job_filters .select2-container--open .select2-selection--single .select2-selection__arrow { transform: rotate(180deg); }
body.ob-board .job_filters .select2-container--default.select2-container--open .select2-selection--single,
body.ob-board .job_filters .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--b-gold) !important;
	box-shadow: 0 0 0 4px rgba(199,154,62,.2);
	outline: none;
}
body.ob-board .select2-container--default .select2-dropdown {
	margin-top: 6px;
	border: 1.5px solid #CDD2D8;
	border-radius: 12px !important;
	background: #fff;
	box-shadow: 0 24px 48px -28px rgba(14,27,42,.45);
	overflow: hidden;
	font-family: var(--b-sans);
}
body.ob-board .select2-container--default .select2-dropdown--above { margin-top: -6px; }
body.ob-board .select2-container--default .select2-search--dropdown { padding: 10px 10px 6px; }
body.ob-board .select2-container--default .select2-search--dropdown .select2-search__field {
	height: 42px;
	padding: 0 12px;
	border: 1.5px solid #CDD2D8;
	border-radius: 8px;
	background: #fff;
	font-family: var(--b-sans);
	font-size: 16px;
	color: var(--b-ink);
	box-shadow: none;
	outline: none;
}
body.ob-board .select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: var(--b-gold); box-shadow: 0 0 0 3px rgba(199,154,62,.2); }
body.ob-board .select2-container--default .select2-results > .select2-results__options { max-height: 300px; padding: 4px 6px 8px; }
body.ob-board .select2-container--default .select2-results__option {
	margin: 0;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 16px;
	line-height: 1.35;
	color: var(--b-ink);
}
body.ob-board .select2-container--default .select2-results__option--highlighted[aria-selected],
body.ob-board .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--b-cream-2);
	color: var(--b-ink);
}
body.ob-board .select2-container--default .select2-results__option[aria-selected="true"],
body.ob-board .select2-container--default .select2-results__option[data-selected="true"] {
	background: transparent;
	color: var(--b-ink);
	font-weight: 600;
}
body.ob-board .select2-container--default .select2-results__option[aria-selected="true"].select2-results__option--highlighted,
body.ob-board .select2-container--default .select2-results__option[data-selected="true"].select2-results__option--highlighted { background: var(--b-cream-2); }
body.ob-board .select2-container--default .select2-results__message { color: #5D6878; font-size: 15px; }
body.ob-board .job_filters input[type="text"]::placeholder { color: #5D6878; opacity: 1; }
body.ob-board .job_filters input[type="text"]:focus,
body.ob-board .job_filters select:focus { border-color: var(--b-gold) !important; box-shadow: 0 0 0 4px rgba(199,154,62,.2); outline: none; }
body.ob-board .job_filters .showing_jobs {
	margin: 0;
	padding: 12px 22px;
	border-top: 1px solid var(--b-line);
	background: transparent;
	font-family: var(--b-sans);
	font-size: 14px;
	color: var(--b-body);
	border-radius: 0 0 20px 20px;
}
body.ob-board .job_filters .showing_jobs a { color: var(--b-gold-dk); font-weight: 700; }

/* ---------- the grid ---------- */
body.ob-board ul.job_listings {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	border: 0;
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 28px 28px 24px;
	border: 1px solid var(--b-cream-2);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 1px 0 rgba(14,27,42,.04);
	color: var(--b-ink);
	text-decoration: none;
	background-image: none;
	transition: transform .22s var(--b-ease), box-shadow .22s var(--b-ease), border-color .22s ease;
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card::before {
	content: "";
	position: absolute;
	left: 28px;
	top: -1px;
	width: 44px;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: var(--b-gold);
	transition: width .3s var(--b-ease);
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -36px rgba(14,27,42,.45); border-color: rgba(199,154,62,.5); }
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card:hover::before { width: calc(100% - 56px); }
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card:focus-visible { outline: 3px solid var(--b-gold); outline-offset: 3px; }
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card .job-slider-cont { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }

/* practice tag: a quiet eyebrow, not a black block */
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-slider-cat {
	position: static;
	order: -1;
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 14px;
	padding: 0;
	background: none !important;
	color: var(--b-gold-dk) !important;
	font-family: var(--b-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	border-radius: 0;
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-slider-cat .ob-tagicon { display: none; }

:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-card h4 {
	font-family: var(--b-serif);
	font-size: 23px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--b-ink);
	margin: 0 0 12px;
	text-wrap: balance;
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-logo-wrapper { margin: 0; }

:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-data-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-data-filters span {
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--b-cream);
	border: 1px solid var(--b-cream-2);
	color: var(--b-ink);
	font-family: var(--b-sans);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}

:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-card p {
	font-family: var(--b-sans);
	font-size: 15px;
	line-height: 1.6;
	color: var(--b-body);
	margin: 0 0 20px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* "Apply Online": a footer line with an arrow, not a heavy bar */
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-slider-blue-box {
	position: static;
	margin: auto 0 0;
	padding: 16px 0 0;
	width: auto;
	border-top: 1px solid var(--b-line);
	border-radius: 0;
	background: none !important;
	color: var(--b-navy) !important;
	text-align: left;
	font-family: var(--b-sans);
	font-size: 15px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 8px;
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-slider-blue-box::after {
	content: "";
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A5E17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s var(--b-ease);
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card:hover .job-slider-blue-box { background: none !important; }
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card:hover .job-slider-blue-box::after { transform: translateX(4px); }

/* the listing's first "worth a call" hook, when it has one */
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-card p.ob-jcard__hook {
	display: flex; align-items: flex-start; gap: 7px;
	margin: 0 0 12px;
	font-family: var(--b-sans); font-size: 13.5px; font-weight: 700; line-height: 1.4;
	color: var(--b-gold-dk);
	-webkit-line-clamp: unset; overflow: visible;
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-card p.ob-jcard__hook .ob-sl__icon { flex: 0 0 auto; margin-top: 2px; }

/* ---------- Engine listings: the confidential search card ---------- */
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.ob-jcard--engine {
	background: linear-gradient(180deg, #fff 0%, #fff 70%, var(--b-cream) 100%);
	border-color: rgba(199,154,62,.42);
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) a.ob-jcard--engine::before { width: 72px; background: linear-gradient(90deg, var(--b-gold), var(--b-gold-hi)); }
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-card p.ob-jcard__eyebrow {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 14px;
	font-family: var(--b-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--b-gold-dk);
	-webkit-line-clamp: unset;
	overflow: visible;
}
:is(body.ob-board ul.job_listings, .ob-jobgrid) .ob-jcard__eyebrow .ob-sl__icon { flex: 0 0 auto; }
:is(body.ob-board ul.job_listings, .ob-jobgrid) .ob-jcard__chips span { background: var(--b-gold-wash); border-color: rgba(199,154,62,.3); }
:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-card p.ob-jcard__lede { color: var(--b-ink); }

/* ---------- cards outside the board ---------- */
.ob-jobgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; }
.ob-jobgrid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ob-jobgrid > a.job-card { margin: 0; }
.ob-jobgrid .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- team page: "<First>'s open searches" ---------- */
.ob-tsearch {
	margin: 56px 0 8px;
	padding-top: 36px;
	border-top: 2px solid var(--b-gold);
	font-family: var(--b-sans);
}
.ob-tsearch .ob-tsearch__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 28px; margin: 0 0 24px; }
.ob-tsearch .ob-tsearch__eye {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 10px;
	font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
	color: var(--b-gold-dk);
}
.ob-tsearch .ob-tsearch__eye::before { content: ""; width: 16px; height: 2px; background: currentColor; }
.ob-tsearch .ob-tsearch__h {
	font-family: var(--b-serif); font-size: clamp(26px, 2.4vw, 32px); font-weight: 700; line-height: 1.15;
	letter-spacing: -.01em; text-transform: none; color: var(--b-ink); margin: 0 0 8px;
}
.ob-tsearch .ob-tsearch__p { font-size: 16px; line-height: 1.6; color: var(--b-body); margin: 0; }
.ob-tsearch .ob-tsearch__cal {
	display: inline-flex; align-items: center; gap: 10px;
	min-height: 48px; padding: 12px 22px;
	border-radius: 999px; background: var(--b-navy); color: #fff;
	font-size: 15px; font-weight: 700; text-decoration: none; background-image: none;
	transition: background-color .15s ease, transform .15s ease;
}
.ob-tsearch .ob-tsearch__cal:hover { background: var(--b-navy-soft); color: #fff; transform: translateY(-2px); }
.ob-tsearch .ob-tsearch__cal:focus-visible { outline: 3px solid var(--b-gold); outline-offset: 3px; }
.ob-tsearch .ob-tsearch__cal .ob-sl__icon { color: var(--b-gold-hi); }
.ob-tsearch .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.ob-tsearch .ob-tsearch__more { margin: 22px 0 0; font-size: 15px; font-weight: 700; }
.ob-tsearch .ob-tsearch__more a { display: inline-flex; align-items: center; gap: 8px; color: var(--b-navy); text-decoration: none; background-image: linear-gradient(var(--b-gold), var(--b-gold)); background-size: 100% 2px; background-position: 0 100%; background-repeat: no-repeat; padding-bottom: 3px; }
.ob-tsearch .ob-tsearch__more .ob-sl__icon { color: var(--b-gold-dk); }

/* ---------- home page: "Open searches right now" ---------- */
.ob-hopen {
	position: relative;
	background: #fff;
	border-bottom: 1px solid var(--b-cream-2);
	font-family: var(--b-sans);
}
.ob-hopen::before {
	content: "";
	position: absolute; left: 0; right: 0; top: 0; height: 3px;
	background: linear-gradient(90deg, var(--b-gold), var(--b-gold-hi) 40%, rgba(199,154,62,0) 100%);
}
.ob-hopen .ob-hopen__inner {
	max-width: 1200px; margin: 0 auto; padding: 34px 32px 36px;
	display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 40px; align-items: center;
}
.ob-hopen .ob-hopen__eye {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 10px;
	font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--b-gold-dk);
}
.ob-hopen .ob-hopen__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--b-gold); box-shadow: 0 0 0 4px rgba(199,154,62,.2); animation: obHopenPulse 2.4s ease-in-out infinite; }
@keyframes obHopenPulse { 0%,100% { box-shadow: 0 0 0 4px rgba(199,154,62,.22); } 50% { box-shadow: 0 0 0 8px rgba(199,154,62,0); } }
.ob-hopen .ob-hopen__h { margin: 0 0 14px; font-family: var(--b-sans); font-size: 15px; font-weight: 600; line-height: 1.45; text-transform: none; letter-spacing: 0; color: var(--b-body); }
.ob-hopen .ob-hopen__n { display: block; font-family: var(--b-serif); font-size: 46px; font-weight: 700; line-height: 1; color: var(--b-ink); margin-bottom: 6px; }
.ob-hopen .ob-hopen__all {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 15px; font-weight: 700; color: var(--b-navy); text-decoration: none;
	background-image: linear-gradient(var(--b-gold), var(--b-gold)); background-size: 100% 2px; background-position: 0 100%; background-repeat: no-repeat; padding-bottom: 3px;
}
.ob-hopen .ob-hopen__all .ob-sl__icon { color: var(--b-gold-dk); transition: transform .2s var(--b-ease); }
.ob-hopen .ob-hopen__all:hover .ob-sl__icon { transform: translateX(4px); }
.ob-hopen .ob-hopen__all:focus-visible { outline: 3px solid var(--b-gold); outline-offset: 4px; border-radius: 4px; }
.ob-hopen .ob-hopen__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ob-hopen .ob-hopen__list > .ob-hopen__item { list-style: none; margin: 0; padding: 0; min-width: 0; }
.ob-hopen .ob-hopen__card {
	position: relative;
	display: flex; flex-direction: column; gap: 8px; height: 100%;
	padding: 20px 22px 18px;
	border: 1px solid var(--b-cream-2); border-radius: 16px; background: var(--b-cream);
	color: var(--b-ink); text-decoration: none; background-image: none;
	transition: transform .22s var(--b-ease), box-shadow .22s var(--b-ease), border-color .22s ease, background-color .22s ease;
}
.ob-hopen .ob-hopen__card:hover { transform: translateY(-3px); background: #fff; border-color: rgba(199,154,62,.5); box-shadow: 0 24px 48px -32px rgba(14,27,42,.45); }
.ob-hopen .ob-hopen__card:focus-visible { outline: 3px solid var(--b-gold); outline-offset: 3px; }
.ob-hopen .ob-hopen__ceye { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--b-gold-dk); line-height: 1.4; }
.ob-hopen .ob-hopen__ct { font-family: var(--b-serif); font-size: 19px; font-weight: 700; line-height: 1.25; color: var(--b-ink); text-wrap: balance; }
.ob-hopen .ob-hopen__cw { display: flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 4px; font-size: 13px; font-weight: 600; color: var(--b-body); }
.ob-hopen .ob-hopen__cw .ob-sl__icon { color: var(--b-gold-dk); }

.ob-hopen--related { background: var(--b-cream); border-top: 1px solid var(--b-cream-2); }
.ob-hopen--related::before { display: none; }
.ob-hopen--related .ob-hopen__card { background: #fff; }
.ob-hopen--related .ob-hopen__h { font-size: 16px; }

/* ---------- load more ---------- */
body.ob-board .load_more_jobs {
	display: block;
	width: max-content;
	margin: 40px auto 0;
	padding: 14px 28px;
	border: 2px solid rgba(14,27,42,.2);
	border-radius: 999px;
	background: #fff;
	color: var(--b-navy);
	font-family: var(--b-sans);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	background-image: none;
	transition: border-color .15s ease, transform .15s ease;
}
body.ob-board .load_more_jobs:hover { border-color: var(--b-navy); transform: translateY(-2px); }
body.ob-board .load_more_jobs strong { font-weight: 700; }
body.ob-board .job_listings + .load_more_jobs,
body.ob-board .job_listings ~ .load_more_jobs { text-align: center; }

/* ---------- responsive ---------- */
@media (max-width: 992px) {
	body.ob-board ul.job_listings,
	.ob-jobgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ob-hopen .ob-hopen__inner { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.ob-hopen .ob-hopen__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 24px; }
	.ob-hopen .ob-hopen__eye { flex: 1 0 100%; }
	.ob-hopen .ob-hopen__h { margin: 0; }
}
@media (max-width: 768px) {
	.ob-jobgrid, .ob-jobgrid--two { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.ob-tsearch { margin-top: 40px; padding-top: 28px; }
	.ob-tsearch .ob-tsearch__cal { width: 100%; justify-content: center; }
	.ob-hopen .ob-hopen__inner { padding: 28px 16px 30px; }
	.ob-hopen .ob-hopen__list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.ob-hopen .ob-hopen__card { padding: 16px 18px 14px; gap: 6px; }
	.ob-hopen .ob-hopen__ct { font-size: 18px; }
	.ob-hopen .ob-hopen__n { font-size: 40px; }
	body.ob-board .job_filters { margin-bottom: 32px; border-radius: 18px; }
	body.ob-board .job_filters .search_jobs { grid-template-columns: minmax(0, 1fr); padding: 14px; gap: 10px; }
	body.ob-board ul.job_listings { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card { padding: 24px 20px 20px; }
	:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card::before { left: 20px; }
	:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-card h4 { font-size: 21px; }
	:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-card p { -webkit-line-clamp: 3; }
	body.ob-board .load_more_jobs { width: 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.ob-hopen .ob-hopen__dot { animation: none; }
	.ob-hopen .ob-hopen__card, .ob-tsearch .ob-tsearch__cal { transition: none; }
	.ob-hopen .ob-hopen__card:hover { transform: none; }
	:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card,
	:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card::before,
	body.ob-board .load_more_jobs,
	:is(body.ob-board ul.job_listings, .ob-jobgrid) .job-slider-blue-box::after { transition: none; }
	:is(body.ob-board ul.job_listings, .ob-jobgrid) a.job-card:hover { transform: none; }
}
