/*--------------------------------------------------------
	TalentRax brand — primary #1E4483, secondary #ED2939
	(Loaded after styles.css; overrides theme :root tokens.)
--------------------------------------------------------*/

:root,
[data-bs-theme=light] {
	--maincolor: #1e4483;
	--secondcolor: #ed2939;
	--heading-2: #15356a;
	--bghijack: #eef2fa;
	--tagbg: #f4f6fc;

	/* Bootstrap (bundled theme uses these for buttons, badges, links) */
	--bs-blue: #1e4483;
	--bs-primary: #1e4483;
	--bs-primary-rgb: 30, 68, 131;
	--bs-secondary: #ed2939;
	--bs-secondary-rgb: 237, 41, 57;
}

/* Theme uses this class as an accent, not semantic “success” */
.text-green {
	color: var(--maincolor) !important;
}

/* Preloader dots: theme ships hardcoded green in styles.css */
.preloader span {
	background: var(--maincolor);
}

/* ------------------------------------------------------------------
   Public route presence strips (TalentRax marketing layer)
   ------------------------------------------------------------------ */
.trx-public-strip {
	background: linear-gradient(135deg, color-mix(in srgb, var(--maincolor), #ffffff 92%) 0%, #ffffff 55%, color-mix(in srgb, var(--secondcolor), #ffffff 94%) 100%);
}
.trx-public-strip--home {
	background: linear-gradient(120deg, #f4f7fc 0%, #ffffff 45%, color-mix(in srgb, var(--maincolor), #ffffff 88%) 100%);
}
.trx-public-strip--companies {
	background: linear-gradient(120deg, #f4f7fc 0%, #ffffff 50%, color-mix(in srgb, var(--maincolor), #ffffff 90%) 100%);
}
.trx-public-strip--jobs,
.trx-public-strip--jobs-list,
.trx-public-strip--jobs-map {
	background: linear-gradient(110deg, #eef2fa 0%, #ffffff 60%, #f8fbff 100%);
}
.trx-public-strip--employers,
.trx-public-strip--employers-grid,
.trx-public-strip--company-profile {
	background: linear-gradient(105deg, #ffffff 0%, color-mix(in srgb, var(--maincolor), #ffffff 90%) 100%);
}
.trx-public-strip--talent,
.trx-public-strip--talent-list,
.trx-public-strip--talent-map,
.trx-public-strip--talent-detail,
.trx-public-strip--talent-detail-b,
.trx-public-strip--talent-detail-c {
	background: linear-gradient(115deg, #fbf7f8 0%, #ffffff 50%, color-mix(in srgb, var(--secondcolor), #ffffff 94%) 100%);
}
.trx-public-strip--pricing,
.trx-public-strip--contact {
	background: linear-gradient(125deg, #f0f4fb 0%, #ffffff 55%, #fdf5f6 100%);
}
.trx-public-strip--privacy,
.trx-public-strip--404 {
	background: linear-gradient(100deg, #edf1f8 0%, #ffffff 100%);
}
.trx-public-strip--auto {
	background: linear-gradient(130deg, #f7f9fc 0%, #ffffff 100%);
}
.trx-public-strip__eyebrow {
	letter-spacing: 0.08em;
}
.trx-public-strip__title {
	color: var(--heading-2);
}

/* ThemeSanitizer used to inject .text-muted here; that utility is !important and beats .sec-heading.light */
.sec-heading.light p.text-muted {
	color: rgba(255, 255, 255, 0.92) !important;
}

/* Home — How it works (light section; replaces .bg-second / --secondcolor slab) */
.trx-home-how-it-works {
	background: linear-gradient(180deg, #fafbfd 0%, #eef2fa 42%, #f6f8fc 100%);
	border-top: 1px solid rgba(30, 68, 131, 0.07);
	border-bottom: 1px solid rgba(30, 68, 131, 0.06);
}
.trx-home-how-it-works .sec-heading.center h2 {
	color: var(--heading-2);
}
.trx-home-how-it-works .sec-heading.center p.text-muted {
	color: #5a6570 !important;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.65;
}
.trx-home-how-it-works .trx-home-how-card {
	background: #fff !important;
	border: 1px solid rgba(30, 68, 131, 0.11) !important;
	border-radius: 0.65rem !important;
	box-shadow: 0 8px 26px rgba(21, 53, 106, 0.06);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.trx-home-how-it-works .trx-home-how-card:hover {
	box-shadow: 0 14px 34px rgba(21, 53, 106, 0.09);
	transform: translateY(-2px);
}
.trx-home-how-it-works .trx-home-how-card__title {
	color: var(--heading-2) !important;
	font-weight: 600;
	line-height: 1.35;
}
.trx-home-how-it-works .trx-home-how-card__text {
	color: #5c6578 !important;
	margin-bottom: 0;
	line-height: 1.65;
}
.trx-home-how-it-works .serv-ctr-title h2.text-secondcolor {
	color: var(--secondcolor) !important;
	font-weight: 700;
	opacity: 1;
}

/* Home “Choose What You Need” — primary band (avoids harsh red from .bg-second / --secondcolor) */
.trx-public-choose-need {
	background: linear-gradient(
		165deg,
		var(--maincolor) 0%,
		color-mix(in srgb, var(--maincolor), #0a1629 22%) 100%
	) !important;
}
.trx-public-choose-need .serv-ctr-title h2.text-green {
	color: rgba(255, 255, 255, 0.95) !important;
}
.trx-public-choose-need .jobstock-posted-box-y78.colored {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.trx-public-choose-need .serv-ctr-subtitle h5.text-light {
	color: #fff !important;
}

/* ------------------------------------------------------------------
   Home hero — 3-line display headline + 3-line lede (reference rhythm)
   ------------------------------------------------------------------ */
.hero-header .trx-home-hero-copy {
	max-width: 52rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}
.hero-header .trx-home-hero-title {
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.2;
	font-size: clamp(1.35rem, 3.6vw, 2.65rem);
	color: rgba(255, 255, 255, 0.92);
}
.hero-header .trx-home-hero-title__line + .trx-home-hero-title__line {
	margin-top: 0.06em;
}
.hero-header .trx-home-hero-title .trx-home-hero-kicker {
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.03em;
}
.hero-header .trx-home-hero-lede {
	max-width: 36rem;
	font-size: clamp(0.9rem, 1.25vw, 1.05rem);
	line-height: 1.5;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.78);
}
.hero-header .trx-home-hero-lede__line + .trx-home-hero-lede__line {
	margin-top: 0.4em;
}

/* ------------------------------------------------------------------
   Public shell — flush header/ticker to viewport top (no gap above topbar)
   ------------------------------------------------------------------ */
html {
	margin: 0;
	padding: 0;
	/* Material 3 / Google DESIGN.md: 1rem = 16px Body Large */
	font-size: 16px;
}
body {
	margin: 0 !important;
	padding: 0 !important;
}

/* ------------------------------------------------------------------
   Design tokens — DESIGN.md (Material 3 type roles + 8px spacing)
   Sources: m3.material.io typography · google-labs-code/design.md ·
   VoltAgent awesome-design-md (Linear/Notion spacing rhythm)
   ------------------------------------------------------------------ */
:root {
	--trx-type-display-sm: 2.25rem;   /* 36px */
	--trx-type-headline-lg: 2rem;     /* 32px */
	--trx-type-headline-md: 1.75rem;  /* 28px */
	--trx-type-headline-sm: 1.5rem;   /* 24px */
	--trx-type-title-lg: 1.375rem;    /* 22px */
	--trx-type-title-md: 1rem;        /* 16px */
	--trx-type-title-sm: 0.875rem;    /* 14px */
	--trx-type-body-lg: 1rem;         /* 16px */
	--trx-type-body-md: 0.875rem;     /* 14px */
	--trx-type-body-sm: 0.75rem;      /* 12px */
	--trx-type-label-lg: 0.875rem;    /* 14px */
	--trx-type-label-md: 0.75rem;     /* 12px */
	--trx-type-label-sm: 0.6875rem;   /* 11px */

	--trx-lh-body: 1.5;
	--trx-lh-tight: 1.25;

	--trx-space-xxs: 4px;
	--trx-space-xs: 8px;
	--trx-space-sm: 12px;
	--trx-space-md: 16px;
	--trx-space-lg: 24px;
	--trx-space-xl: 32px;
	--trx-space-xxl: 48px;
	--trx-space-section: 64px;

	--trx-radius-md: 8px;
	--trx-radius-lg: 12px;
	--trx-radius-xl: 16px;
}

/* Site-wide type: override theme 14px body → M3 Body Large; keep secondary at Body Medium */
body {
	font-size: var(--trx-type-body-lg) !important;
	line-height: var(--trx-lh-body);
	color: #1a2332;
}
p {
	font-size: var(--trx-type-body-lg);
	line-height: var(--trx-lh-body);
}
.small,
small {
	font-size: var(--trx-type-body-md) !important;
	line-height: 1.43;
}
.lead {
	font-size: var(--trx-type-title-lg) !important;
	line-height: 1.4;
	font-weight: 400;
}
h1, .h1 {
	font-size: var(--trx-type-headline-lg);
	font-weight: 600;
	line-height: var(--trx-lh-tight);
	letter-spacing: -0.02em;
}
h2, .h2 {
	font-size: var(--trx-type-headline-sm);
	font-weight: 600;
	line-height: var(--trx-lh-tight);
	letter-spacing: -0.015em;
}
h3, .h3 {
	font-size: var(--trx-type-title-lg);
	font-weight: 600;
	line-height: 1.3;
}
h4, .h4 {
	font-size: var(--trx-type-title-md);
	font-weight: 600;
	line-height: 1.4;
}
h5, .h5 {
	font-size: var(--trx-type-title-sm);
	font-weight: 600;
}
h6, .h6 {
	font-size: var(--trx-type-label-lg);
	font-weight: 600;
}
.btn {
	font-size: var(--trx-type-label-lg);
	font-weight: 500;
	padding: 10px 18px;
	border-radius: var(--trx-radius-md);
}
.btn-lg {
	font-size: var(--trx-type-label-lg);
	padding: 12px 20px;
}
.btn-sm {
	font-size: var(--trx-type-label-md);
	padding: 6px 12px;
}
.form-control,
.form-select,
.nice-select {
	font-size: var(--trx-type-body-lg) !important;
}
.sec-heading h2 {
	font-size: var(--trx-type-headline-sm) !important;
	font-weight: 600;
}
.sec-heading p {
	font-size: var(--trx-type-body-md) !important;
	line-height: 1.5;
	color: #5a6578;
}
.header .nav-menu > li > a {
	font-size: var(--trx-type-label-lg) !important;
}
.header .nav-menu.nav-menu-social > li > a {
	font-size: var(--trx-type-label-lg) !important;
}
.topbar .trx-topbar-ticker__link {
	font-size: var(--trx-type-body-sm) !important;
}
.topbar .trx-topbar-ticker__ico {
	font-size: 0.875rem !important;
}
.trx-footer,
.trx-footer a,
.footer,
.footer a {
	font-size: var(--trx-type-body-md);
}
.trx-footer .trx-footer__lede,
.footer p {
	font-size: var(--trx-type-body-md);
	line-height: 1.5;
}
#main-wrapper {
	margin: 0;
	padding: 0;
}
#main-wrapper > .topbar:first-child,
.topbar {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.trx-flash-banner {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10000;
	margin: 0 !important;
	border-radius: 0;
	border: none;
}

/* ------------------------------------------------------------------
   Public topbar — job / product ticker (replaces static email/phone)
   ------------------------------------------------------------------ */
.topbar {
	overflow: hidden;
	height: 42px;
	max-height: 42px;
}
.topbar > .container-fluid {
	height: 100%;
	min-width: 0;
}
.topbar .trx-topbar-ticker {
	min-width: 0;
	height: 100%;
}
.topbar .trx-topbar-ticker__viewport {
	overflow: hidden;
	width: 100%;
	height: 42px;
	max-height: 42px;
	display: block;
	position: relative;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.topbar .trx-topbar-ticker__rail {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center;
	width: max-content;
	max-width: none;
	height: 42px;
	transform: translate3d(0, 0, 0);
	will-change: transform;
}
.topbar .trx-topbar-ticker__group {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center;
	flex: 0 0 auto;
	gap: 0.25rem 0.75rem;
	padding-right: 2.75rem;
	height: 42px;
	white-space: nowrap;
}
.topbar .trx-topbar-ticker__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: rgba(255, 255, 255, 0.93) !important;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	flex: 0 0 auto;
}
.topbar .trx-topbar-ticker__link:hover,
.topbar .trx-topbar-ticker__link:focus {
	color: #fff !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.topbar .trx-topbar-ticker__ico {
	font-size: 0.95rem;
	opacity: 0.88;
	flex-shrink: 0;
	line-height: 1;
}
.topbar .trx-topbar-ticker__sep {
	color: rgba(255, 255, 255, 0.42);
	padding: 0 0.1rem;
	user-select: none;
	flex-shrink: 0;
	line-height: 1;
}

/* Job cards — employer mark (SVG / PNG under /assets/img/employers/) */
.trx-job-card-logo {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: contain;
	background: #f8fafc;
	border: 1px solid rgba(30, 68, 131, 0.1);
	box-sizing: border-box;
	padding: 6px;
}
.trx-job-card-logo--sm {
	width: 64px;
	height: 64px;
	padding: 5px;
}
.trx-job-detail-logo {
	object-fit: contain;
	background: #f8fafc;
	box-sizing: border-box;
	padding: 8px;
}

/* ------------------------------------------------------------------
   Public marketing blocks (services, industries, about, resources)
   ------------------------------------------------------------------ */
.trx-mkt-hero {
	border-radius: 0.75rem;
	overflow: hidden;
	min-height: 14rem;
}
.trx-mkt-eyebrow {
	letter-spacing: 0.08em;
}
.trx-mkt-card .trx-mkt-icon-wrap {
	width: 3rem;
	height: 3rem;
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--maincolor), #ffffff 90%);
	color: var(--maincolor);
	font-size: 1.25rem;
}
.trx-mkt-dual-cta {
	background: linear-gradient(180deg, #f8f9fd 0%, #ffffff 100%);
}
.trx-mkt-cta-panel {
	box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.08);
}
.trx-mkt-cta-panel--dark {
	background: linear-gradient(135deg, #0f1f3d 0%, #1e4483 100%);
}
.trx-home-hub {
	background: #fafbfd;
}
.trx-home-hub-card .trx-mkt-icon-wrap {
	width: 2.75rem;
	height: 2.75rem;
	font-size: 1.1rem;
}
.trx-home-hero-search .form-control {
	border-radius: 0.35rem;
}
.nav-menu.trx-nav-cta-cluster {
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	align-items: center;
}
.trx-nav-email {
	max-width: 10rem;
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: bottom;
}
@media (min-width: 992px) {
	.trx-nav-email {
		max-width: 14rem;
	}
}

/* ---- Sticky public nav + top bar ticker + header CTAs ---- */
.trx-public-nav-stack {
	position: sticky;
	top: 0;
	z-index: 1030;
	box-shadow: 0 2px 14px rgba(15, 23, 42, 0.12);
}

/* Public site top strip (replaces legacy .topbar markup for theme-public) */
.trx-site-topbar {
	background: var(--secondcolor);
	color: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
}
.trx-site-topbar__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	min-height: 2.625rem;
	padding-block: 0.3rem;
}
.trx-site-topbar__rail {
	flex: 1 1 10rem;
	min-width: 0;
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 10px, #000 calc(100% - 10px), transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 10px, #000 calc(100% - 10px), transparent);
}
.trx-site-topbar__rail-track {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 2rem;
	width: max-content;
	animation: trx-site-topbar-scroll 50s linear infinite;
	will-change: transform;
}
.trx-site-topbar__msg {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
	font-weight: 600;
	letter-spacing: 0.015em;
}
.trx-site-topbar__msg-dot {
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.75);
	flex-shrink: 0;
}
.trx-site-topbar__spacer {
	flex: 1 1 auto;
	min-width: 0.5rem;
}
.trx-site-topbar__end {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem 1rem;
	flex-shrink: 0;
}
.trx-site-topbar__contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
}
.trx-site-topbar__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: rgba(255, 255, 255, 0.95) !important;
	text-decoration: none !important;
	max-width: 100%;
}
.trx-site-topbar__link:hover,
.trx-site-topbar__link:focus {
	color: #ffffff !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}
.trx-site-topbar__link-ico {
	font-size: 0.95rem;
	opacity: 0.9;
	flex-shrink: 0;
}
.trx-site-topbar__social {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0;
	margin: 0;
}
.trx-site-topbar__soc-a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.72) !important;
	text-decoration: none !important;
	transition: color 0.2s ease, background 0.2s ease;
}
.trx-site-topbar__soc-a:hover,
.trx-site-topbar__soc-a:focus {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.12);
}
@keyframes trx-site-topbar-scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}
@media (prefers-reduced-motion: reduce) {
	.trx-site-topbar__rail-track {
		animation: none;
		flex-wrap: wrap;
		width: 100%;
		row-gap: 0.35rem;
	}
}
@media (max-width: 575.98px) {
	.trx-site-topbar__row {
		flex-direction: column;
		align-items: stretch;
	}
	.trx-site-topbar__rail {
		order: 2;
		width: 100%;
	}
	.trx-site-topbar__spacer {
		display: none;
	}
	.trx-site-topbar__end {
		order: 1;
		justify-content: space-between;
		width: 100%;
	}
}

/* Nav CTA pills: beat .nav-menu.nav-menu-social li a { color: var(--navcolor) } */
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.42rem 1rem;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none;
	border-radius: 999px;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--primary {
	background: var(--maincolor) !important;
	border: 1px solid color-mix(in srgb, var(--maincolor), #000 12%) !important;
	color: #ffffff !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset;
}
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--primary:hover,
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--primary:focus {
	background: color-mix(in srgb, var(--maincolor), #000 10%) !important;
	color: #ffffff !important;
}
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--outline {
	background: #ffffff !important;
	border: 2px solid rgba(8, 24, 75, 0.18) !important;
	color: #0f1f3d !important;
}
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--outline:hover,
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--outline:focus {
	border-color: var(--maincolor) !important;
	color: var(--maincolor) !important;
}
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--ghost {
	background: transparent !important;
	border: 1px solid transparent !important;
	color: var(--navcolor) !important;
	font-weight: 600;
	padding-inline: 0.65rem;
}
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--ghost:hover,
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--ghost:focus {
	color: var(--maincolor) !important;
}
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li.trx-nav-register > a.trx-nav-pill--accent {
	background: var(--maincolor) !important;
	border: 1px solid color-mix(in srgb, var(--maincolor), #000 14%) !important;
	color: #ffffff !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1) inset;
}
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li.trx-nav-register > a.trx-nav-pill--accent:hover,
.navigation .nav-menu.nav-menu-social.trx-nav-cta-cluster > li.trx-nav-register > a.trx-nav-pill--accent:focus {
	background: color-mix(in srgb, var(--maincolor), #000 12%) !important;
	color: #ffffff !important;
}
.navigation-portrait .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--primary,
.navigation-portrait .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--outline,
.navigation-portrait .nav-menu.nav-menu-social.trx-nav-cta-cluster > li > a.trx-nav-pill--ghost,
.navigation-portrait .nav-menu.nav-menu-social.trx-nav-cta-cluster > li.trx-nav-register > a.trx-nav-pill--accent {
	width: 100%;
	justify-content: flex-start;
	margin-top: 0.25rem;
}

/* Home hero: two-line headline strength */
.trx-home-hero-title {
	font-weight: 800;
	font-size: clamp(1.85rem, 4.2vw, 2.85rem);
	line-height: 1.18;
	letter-spacing: -0.03em;
	text-wrap: balance;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}
.trx-home-hero-title__line + .trx-home-hero-title__line {
	margin-top: 0.35rem;
}
.trx-home-hero-kicker {
	font-weight: 800;
	color: #ffffff;
	border-bottom: 2px solid rgba(255, 255, 255, 0.35);
	padding-bottom: 1px;
}

/* Home hero shell: tame the theme's fixed min-heights (500/650/800/850px)
   with one viewport-aware rule. Scoped to .trx-home-hero so inner pages
   that reuse .hero-header keep the theme defaults. */
.hero-header.trx-home-hero {
	padding: clamp(2.5rem, 6vw, 4.25rem) 0;
	min-height: clamp(400px, 58vh, 600px);
}
.hero-header.trx-home-hero .trx-home-hero-lede {
	margin-top: 0.85rem;
	margin-bottom: 0;
}
.trx-home-hero-search .form-control {
	border-radius: 0.35rem;
}
.trx-home-hero-search select.form-control {
	appearance: auto;
	padding-right: 2.25rem;
	cursor: pointer;
}
.trx-home-hero-search .btn-filter-search {
	white-space: nowrap;
}
@media (min-width: 993px) and (max-width: 1199.98px) {
	.trx-home-hero-search .btn-filter-search {
		padding: 5px 14px;
		font-size: 13px;
	}
}
.trx-home-hero-quicklinks {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.875rem;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}
.trx-home-hero-quicklinks a {
	color: #ffffff;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(255, 255, 255, 0.45);
}
.trx-home-hero-quicklinks a:hover,
.trx-home-hero-quicklinks a:focus {
	color: #ffffff;
	text-decoration-color: #ffffff;
}
.trx-home-hero-quicklinks__sep {
	padding: 0 0.4rem;
}
@media (max-width: 575.98px) {
	.trx-home-hero-quicklinks {
		font-size: 0.8125rem;
	}
	.trx-home-hero-quicklinks__sep {
		display: block;
		visibility: hidden;
		height: 0;
	}
}

/* ── What We Offer section ─────────────────────────────────────────────── */

.trx-offer-section {
	background: #ffffff;
}

/* Card shell — shared */
.trx-offer-card {
	background: #f8fafc;
	border: 1px solid rgba(30, 68, 131, 0.08);
	border-radius: 1rem;
	padding: 2rem 1.75rem 1.75rem;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.trx-offer-card:hover {
	box-shadow: 0 10px 32px rgba(30, 68, 131, 0.11);
	transform: translateY(-4px);
}

/* Accent top border per audience */
.trx-offer-card--candidate { border-top: 3px solid #1E4483; }
.trx-offer-card--employer  { border-top: 3px solid #7C3AED; }
.trx-offer-card--recruiter { border-top: 3px solid #D97706; }

/* Icon badge */
.trx-offer-card__icon-wrap {
	width: 56px;
	height: 56px;
	border-radius: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.trx-offer-card__icon-wrap--candidate { background: rgba(30, 68, 131, 0.10); color: #1E4483; }
.trx-offer-card__icon-wrap--employer  { background: rgba(124, 58, 237, 0.10); color: #7C3AED; }
.trx-offer-card__icon-wrap--recruiter { background: rgba(217, 119, 6, 0.12);  color: #D97706; }

/* Eyebrow label */
.trx-offer-card__eyebrow {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.trx-offer-card__eyebrow--candidate { color: #1E4483; }
.trx-offer-card__eyebrow--employer  { color: #7C3AED; }
.trx-offer-card__eyebrow--recruiter { color: #D97706; }

/* Title */
.trx-offer-card__title {
	font-size: 1.05rem;
	font-weight: 700;
	color: #1a2942;
	line-height: 1.35;
}

/* Feature list */
.trx-offer-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	flex-grow: 1;
}
.trx-offer-list li {
	font-size: 0.875rem;
	color: #4a5568;
	padding: 0.35rem 0 0.35rem 1.5rem;
	position: relative;
	border-bottom: 1px solid rgba(30, 68, 131, 0.06);
}
.trx-offer-list li:last-child {
	border-bottom: none;
}
.trx-offer-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.4;
}
.trx-offer-card--candidate .trx-offer-list li::before { color: #1E4483; }
.trx-offer-card--employer  .trx-offer-list li::before { color: #7C3AED; }
.trx-offer-card--recruiter .trx-offer-list li::before { color: #D97706; }

/* CTA link */
.trx-offer-card__cta {
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
}
.trx-offer-card--candidate .trx-offer-card__cta { color: #1E4483; }
.trx-offer-card--employer  .trx-offer-card__cta { color: #7C3AED; }
.trx-offer-card--recruiter .trx-offer-card__cta { color: #D97706; }
.trx-offer-card__cta svg { transition: transform 0.2s ease; }
.trx-offer-card__cta:hover svg { transform: translateX(4px); }

/* ── Latest Insights section ────────────────────────────────────────────── */

.trx-insights-section {
	background: linear-gradient(160deg, #f4f7fc 0%, #ffffff 60%, #f0f4fb 100%);
}

/* Blog post card */
.trx-insight-card {
	background: #ffffff;
	border: 1px solid rgba(30, 68, 131, 0.09);
	border-radius: 0.875rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.trx-insight-card:hover {
	box-shadow: 0 10px 32px rgba(30, 68, 131, 0.13);
	transform: translateY(-4px);
}

/* Cover image */
.trx-insight-card__cover {
	overflow: hidden;
	display: block;
	aspect-ratio: 16/9;
	background: #eef2fa;
}
.trx-insight-card__cover-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.trx-insight-card:hover .trx-insight-card__cover-img {
	transform: scale(1.04);
}

/* Body padding */
.trx-insight-card__body {
	padding: 1.25rem 1.25rem 1.375rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

/* Meta row: category pill + date */
.trx-insight-card__meta {
	flex-wrap: wrap;
}
.trx-insight-card__category {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--maincolor);
	background: rgba(30, 68, 131, 0.08);
	padding: 0.2rem 0.65rem;
	border-radius: 30px;
	white-space: nowrap;
}
.trx-insight-card__date {
	font-size: 0.75rem;
	color: #8494a9;
	font-weight: 500;
}

/* Title */
.trx-insight-card__title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 0.55rem;
	color: #1a2942;
}
.trx-insight-card__title a {
	color: inherit;
	text-decoration: none;
}
.trx-insight-card__title a:hover {
	color: var(--maincolor);
}

/* Excerpt */
.trx-insight-card__excerpt {
	font-size: 0.875rem;
	color: #4a5568;
	line-height: 1.6;
	flex-grow: 1;
	margin-bottom: 1.125rem;
}

/* Read more CTA */
.trx-insight-card__cta {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--maincolor);
	text-decoration: none;
}
.trx-insight-card__cta svg { transition: transform 0.2s ease; }
.trx-insight-card__cta:hover svg { transform: translateX(4px); }

/* ────────────────────────────────────────────────────────────────────────── */

/* ── Jobs list filter sidebar ───────────────────────────────────────────── */

.trx-jobs-filter-panel {
	overflow: hidden;
}

.trx-jobs-filter-panel__head {
	padding: 1rem 1.25rem;
	border-bottom: 1px solid #eef2f5;
}

.trx-jobs-filter-form__section {
	padding: 1rem 1.25rem;
}

.trx-jobs-filter-form__section--divider {
	border-top: 1px solid #eef2f5;
	padding-top: 1rem;
}

.trx-jobs-filter-form__section--actions {
	border-top: 1px solid #eef2f5;
	padding-top: 1rem;
	padding-bottom: 1.25rem;
}

.trx-jobs-filter-form__field {
	margin-bottom: 0.875rem;
}

.trx-jobs-filter-form__field--last {
	margin-bottom: 0;
}

.trx-jobs-filter-form__label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #6c757d;
	margin-bottom: 0.35rem;
	line-height: 1.4;
}

.trx-jobs-filter-form__section--divider > .trx-jobs-filter-form__label {
	margin-bottom: 0.65rem;
}

.trx-jobs-filter-form .form-control-sm,
.trx-jobs-filter-form .form-select-sm {
	border-color: rgba(30, 68, 131, 0.18);
	border-radius: 0.375rem;
	font-size: 0.875rem;
	min-height: calc(1.5em + 0.5rem + 2px);
}

.trx-jobs-filter-form .form-control-sm:focus,
.trx-jobs-filter-form .form-select-sm:focus {
	border-color: var(--maincolor);
	box-shadow: 0 0 0 0.2rem rgba(30, 68, 131, 0.12);
}

.trx-jobs-filter-form__checks {
	margin: 0;
	padding: 0;
}

.trx-jobs-filter-form__checks .form-check {
	padding-left: 1.65em;
	margin-bottom: 0.4rem;
	min-height: 1.35rem;
}

.trx-jobs-filter-form__checks .form-check:last-child {
	margin-bottom: 0;
}

.trx-jobs-filter-form__checks .form-check-input {
	width: 1em;
	height: 1em;
	margin-top: 0.2em;
	border-color: rgba(30, 68, 131, 0.35);
}

.trx-jobs-filter-form__checks .form-check-input:checked {
	background-color: var(--maincolor);
	border-color: var(--maincolor);
}

.trx-jobs-filter-form__checks .form-check-label {
	font-size: 0.875rem;
	font-weight: 400;
	color: #1a2942;
	line-height: 1.45;
	padding-left: 0.15rem;
}

/* ── Services — image cards + detail editorial ──────────────────────────── */

.trx-service-card {
	background: #ffffff;
	border: 1px solid rgba(30, 68, 131, 0.08);
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(20, 33, 61, 0.05);
	transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.trx-service-card:hover {
	border-color: rgba(30, 68, 131, 0.22);
	box-shadow: 0 10px 28px rgba(20, 33, 61, 0.1);
	transform: translateY(-2px);
}

.trx-service-card__media {
	height: 11rem;
	overflow: hidden;
}

.trx-service-card__media--mini {
	height: 7rem;
}

.trx-service-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.trx-service-card:hover .trx-service-card__media img {
	transform: scale(1.04);
}

.trx-service-card__body {
	padding: 1.25rem;
}

.trx-service-card--mini .trx-service-card__body {
	padding: 1rem;
}

.trx-service-card__tagline {
	font-size: var(--trx-type-label-md, 0.75rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--maincolor);
}

.trx-service-card__title {
	font-weight: 700;
	color: #1a2942;
	line-height: 1.35;
}

.trx-service-card:hover .trx-service-card__title {
	color: var(--maincolor);
}

.trx-service-card__blurb {
	font-size: var(--trx-type-body-sm, 0.875rem);
	line-height: var(--trx-lh-body, 1.6);
}

.trx-service-detail__media {
	height: 16rem;
	overflow: hidden;
}

.trx-service-detail__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.trx-service-detail__intro {
	font-size: var(--trx-type-body-lg, 1rem);
	line-height: 1.7;
	color: #3d4a5c;
}

.trx-service-detail__includes li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.4rem 0;
	color: #3d4a5c;
	line-height: 1.55;
}

.trx-service-detail__includes li > i {
	color: #16a34a;
	margin-top: 0.25rem;
	font-size: 0.9rem;
}

.trx-service-detail__bestfor {
	background: rgba(30, 68, 131, 0.05);
	border-left: 3px solid var(--maincolor);
	border-radius: 0 0.5rem 0.5rem 0;
	padding: 1rem 1.25rem;
	color: #3d4a5c;
}

.trx-service-detail__bestfor .small {
	color: var(--maincolor);
}

.trx-service-detail__step {
	background: #f8fafc;
	border: 1px solid rgba(30, 68, 131, 0.08);
	border-radius: 0.65rem;
	padding: 1.25rem;
}

.trx-service-detail__step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--maincolor);
	color: #ffffff;
	font-weight: 700;
	font-size: 0.9rem;
	margin-bottom: 0.75rem;
}

/* ── Company directory cards ────────────────────────────────────────────── */

.trx-company-card {
	background: #ffffff;
	border: 1px solid rgba(30, 68, 131, 0.08);
	border-radius: 0.75rem;
	padding: 1.25rem;
	box-shadow: 0 1px 3px rgba(20, 33, 61, 0.05);
	transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.trx-company-card:hover {
	border-color: rgba(30, 68, 131, 0.22);
	box-shadow: 0 10px 28px rgba(20, 33, 61, 0.1);
	transform: translateY(-2px);
}

.trx-company-card__avatar {
	width: 52px;
	height: 52px;
	border-radius: 0.65rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--maincolor);
	background: rgba(30, 68, 131, 0.08);
}

.trx-company-card__avatar--lg {
	width: 72px;
	height: 72px;
	font-size: 1.75rem;
	border-radius: 0.85rem;
}

.trx-company-card__avatar--round {
	border-radius: 50%;
}

.trx-company-card__avatar--photo {
	object-fit: cover;
	object-position: center top;
	background: #eef2f7;
}

.trx-company-card__name {
	font-weight: 700;
	color: #1a2942;
	line-height: 1.35;
}

.trx-company-card:hover .trx-company-card__name {
	color: var(--maincolor);
}

.trx-company-card__type {
	font-size: var(--trx-type-body-sm, 0.875rem);
	color: #8494a9;
}

/* ── Job detail — summary facts rail ────────────────────────────────────── */

.trx-jobdetail-facts li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.625rem 0;
	border-bottom: 1px solid #eef2f5;
}

.trx-jobdetail-facts li:last-child {
	border-bottom: none;
}

.trx-jobdetail-facts li > i {
	width: 1.25rem;
	margin-top: 0.2rem;
	text-align: center;
	color: var(--maincolor);
	opacity: 0.75;
	font-size: 0.85rem;
}

.trx-jobdetail-facts__label {
	display: block;
	font-size: var(--trx-type-label-md, 0.75rem);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #8494a9;
	margin-bottom: 0.1rem;
}

.trx-jobdetail-facts__value {
	font-size: var(--trx-type-body-sm, 0.875rem);
	font-weight: 600;
	color: #1a2942;
	line-height: 1.45;
}

/* Neutralise legacy theme sidebar filter rules inside our panel */
.trx-jobs-filter-panel .filter-list li {
	padding: 0;
	line-height: inherit;
}

.trx-jobs-filter-panel .single_search_boxed,
.trx-jobs-filter-panel .widget-boxed-header {
	all: unset;
	display: block;
}

/* ── Home hiring categories (image cards) ───────────────────────────────── */

.trx-home-categories {
	background: #ffffff;
}

.trx-category-box {
	align-items: flex-end !important;
	justify-content: flex-start !important;
	text-align: left !important;
	min-height: 220px;
	height: auto;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-color: #1e4483;
	border-radius: 0.75rem !important;
	box-shadow: 0 8px 24px rgba(30, 68, 131, 0.12) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.trx-category-box__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 31, 61, 0.58);
	border-radius: inherit;
	transition: background 0.25s ease;
}

.trx-category-box:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 36px rgba(30, 68, 131, 0.2) !important;
}

.trx-category-box:hover .trx-category-box__overlay {
	background: rgba(15, 31, 61, 0.45);
}

.trx-category-box__content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 1.35rem 1.2rem !important;
	display: flex;
	flex-direction: column;
	align-items: flex-start !important;
	justify-content: flex-end !important;
	min-height: 220px;
}

.trx-category-box .category-icon {
	margin-bottom: 0.65rem;
}

.trx-category-box .category-icon i {
	color: #ffffff !important;
	font-size: 2rem !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.trx-category-box .category-icon i.abs-icon {
	color: rgba(255, 255, 255, 0.2) !important;
}

.trx-category-box:hover .category-icon i.abs-icon {
	opacity: 1 !important;
	bottom: 1.25rem;
	left: 1.2rem;
	color: rgba(255, 255, 255, 0.15) !important;
}

.trx-category-box .category-detail h4 {
	color: #ffffff !important;
	font-weight: 700 !important;
	margin-bottom: 0.65rem !important;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

.trx-category-box .category-detail p.block {
	background: rgba(255, 255, 255, 0.18) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(4px);
}

/* ── Featured Jobs section (home redesign) ─────────────────────────────── */

.trx-featured-jobs {
	background: linear-gradient(160deg, #f4f7fc 0%, #ffffff 55%, #f0f4fb 100%);
}

.trx-section-eyebrow {
	background: rgba(30, 68, 131, 0.09);
	color: var(--maincolor);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.3rem 0.9rem;
	border-radius: 30px;
}

/* Card shell */
.trx-jcard {
	background: #ffffff;
	border: 1px solid rgba(30, 68, 131, 0.10);
	border-radius: 0.875rem;
	padding: 1.25rem;
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
	color: inherit;
}
.trx-jcard:hover {
	box-shadow: 0 8px 28px rgba(30, 68, 131, 0.13);
	border-color: var(--maincolor);
	transform: translateY(-3px);
	color: inherit;
}

/* Employer logo */
.trx-jcard__logo {
	width: 52px;
	height: 52px;
	min-width: 52px;
	border-radius: 0.5rem;
	background: #f4f7fc;
	border: 1px solid rgba(30, 68, 131, 0.10);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.trx-jcard__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 5px;
}
.trx-jcard__logo--initial {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--maincolor);
	background: color-mix(in srgb, var(--maincolor) 12%, #ffffff);
}

/* Text */
.trx-jcard__company {
	font-size: 0.7rem;
	font-weight: 700;
	color: #8494a9;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.trx-jcard__title {
	font-size: 0.9375rem;
	font-weight: 600;
	color: #1a2942;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Divider */
.trx-jcard__divider {
	border: none;
	border-top: 1px solid rgba(30, 68, 131, 0.08);
	margin: 1rem 0 0.875rem;
}

/* Badges */
.trx-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.65rem;
	border-radius: 30px;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.4;
}
.trx-badge--open {
	background: rgba(0, 150, 103, 0.12);
	color: #00774f;
}
.trx-badge--featured {
	background: rgba(30, 68, 131, 0.10);
	color: var(--maincolor);
}

/* CTA arrow */
.trx-jcard__cta {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--maincolor);
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	white-space: nowrap;
}
.trx-jcard__cta svg {
	transition: transform 0.2s ease;
}
.trx-jcard:hover .trx-jcard__cta svg {
	transform: translateX(4px);
}

/* Jobs browse listing (extends trx-jcard) */
.trx-jcard--listing {
	min-height: 100%;
}

.trx-jcard__meta {
	margin-top: 0.875rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.trx-jcard__meta li {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	font-size: 0.8125rem;
	color: #4a5568;
	line-height: 1.45;
}

.trx-jcard__meta li i {
	color: var(--maincolor);
	margin-top: 0.15rem;
	flex-shrink: 0;
	width: 0.875rem;
	text-align: center;
}

.trx-badge--type {
	background: rgba(30, 68, 131, 0.09);
	color: var(--maincolor);
}

.trx-badge--mode {
	background: rgba(13, 148, 136, 0.12);
	color: #0d9488;
}

.trx-badge--mode-remote {
	background: rgba(30, 68, 131, 0.1);
	color: var(--maincolor);
}

.trx-badge--mode-hybrid {
	background: rgba(124, 58, 237, 0.1);
	color: #7c3aed;
}

.trx-badge--mode-onsite {
	background: rgba(100, 116, 139, 0.12);
	color: #475569;
}

.trx-jobs-results__empty {
	background: #ffffff;
	border: 1px solid rgba(30, 68, 131, 0.1);
	border-radius: 0.875rem;
	padding: 3rem 1.5rem;
}

.trx-jobs-results__empty-icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background: rgba(30, 68, 131, 0.08);
	color: var(--maincolor);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
}

.trx-jobs-pagination .page-link {
	border-color: rgba(30, 68, 131, 0.15);
	color: #1a2942;
	font-size: 0.875rem;
}

.trx-jobs-pagination .page-item.active .page-link {
	background-color: var(--maincolor);
	border-color: var(--maincolor);
}

.trx-jobs-pagination .page-link:hover {
	background-color: rgba(30, 68, 131, 0.06);
	border-color: var(--maincolor);
	color: var(--maincolor);
}

/* ────────────────────────────────────────────────────────────────────────── */

/* ── Public marketing sections (stats, logos, testimonials, FAQ, CTA, hero) ─ */

.trx-stats-bar {
	position: relative;
	z-index: 5;
	padding-top: 0;
	padding-bottom: 0;
	background: #ffffff;
	color: #1e4483;
	border-bottom: 1px solid rgba(15, 31, 61, 0.08);
}
.trx-stats-bar .trx-stats-bar__value,
.trx-stats-bar .trx-stats-bar__suffix {
	color: #1e4483 !important;
}
.trx-stats-bar .trx-stats-bar__label {
	color: #5b6b82 !important;
}
.trx-stats-bar__item {
	text-align: center;
	padding: 1.35rem 0.85rem 1.5rem;
}
.trx-stats-bar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 0.7rem;
	border-radius: 50%;
	background: #eef2fa;
	color: #1e4483;
	font-size: 1.15rem;
}
.trx-stats-bar__value {
	font-family: "Fraunces", Georgia, serif;
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
}
.trx-stats-bar__label {
	font-family: "Source Sans 3", "Segoe UI", sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	margin-top: 0.35rem;
}
@media (min-width: 992px) {
	.trx-stats-bar__item {
		padding: 2rem 1.25rem;
	}
	.trx-stats-bar__item:not(:last-child) {
		border-right: 1px solid rgba(15, 31, 61, 0.08);
	}
}
@media (max-width: 991.98px) {
	.trx-stats-bar .col-6:nth-child(odd) .trx-stats-bar__item {
		border-right: 1px solid rgba(15, 31, 61, 0.08);
	}
	.trx-stats-bar .col-6:nth-child(-n+2) .trx-stats-bar__item {
		border-bottom: 1px solid rgba(15, 31, 61, 0.08);
	}
}

.trx-logo-wall {
	background: #ffffff;
}
.trx-logo-wall__grid {
	--trx-logo-wall-gap: 1.25rem;
}

.trx-logo-wall__cell {
	min-height: 4.5rem;
	background: #fff;
	border: 1px solid rgba(15, 31, 61, 0.06);
	border-radius: 0.5rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.trx-logo-wall__cell:hover {
	border-color: rgba(30, 68, 131, 0.15);
	box-shadow: 0 4px 16px rgba(15, 31, 61, 0.06);
}

.trx-logo-wall__img,
.trx-logo-wall__item img {
	display: block;
	height: auto;
	max-height: 2.75rem;
	width: auto;
	max-width: 10rem;
	object-fit: contain;
	object-position: center;
	filter: none;
	opacity: 1;
}

/* ── Testimonials section (flat — no gradients) ─────────────────────────── */

.trx-testimonials-section {
	position: relative;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	background: #eef2fa;
	overflow: hidden;
}

.trx-testimonials-section__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}

.trx-testimonials-section__quote-mark {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -52%);
	font-size: clamp(14rem, 28vw, 22rem);
	font-weight: 800;
	line-height: 1;
	color: rgba(30, 68, 131, 0.05);
	font-family: Georgia, 'Times New Roman', serif;
	user-select: none;
}

.trx-testimonials-section__title {
	color: #1a2942;
	font-size: clamp(1.65rem, 3.2vw, 2.35rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.trx-testimonials-section__lede {
	color: #4a5568;
	font-size: 1.05rem;
	line-height: 1.65;
	max-width: 38rem;
	margin-left: auto;
	margin-right: auto;
}

.trx-testimonials-section__trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem 1.25rem;
	margin-bottom: 2.5rem;
	padding: 0.85rem 1.25rem;
	border-radius: 999px;
	background: #ffffff;
	border: 1px solid rgba(30, 68, 131, 0.12);
	max-width: 52rem;
	margin-left: auto;
	margin-right: auto;
}

.trx-testimonials-section__trust-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	color: #4a5568;
	white-space: nowrap;
}
.trx-testimonials-section__trust-item strong {
	color: #1a2942;
	font-weight: 800;
}

.trx-testimonials-section__trust-stars {
	display: inline-flex;
	gap: 0.15rem;
	color: #f5b942;
	font-size: 0.7rem;
}

.trx-testimonials-section__trust-divider {
	width: 1px;
	height: 1.25rem;
	background: rgba(30, 68, 131, 0.15);
	flex-shrink: 0;
}

.trx-testimonials-section__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	align-items: stretch;
}

@media (min-width: 992px) {
	.trx-testimonials-section__grid {
		grid-template-columns: repeat(auto-fit, minmax(300px, 380px));
		justify-content: center;
		gap: 1.5rem;
		align-items: center;
	}
}

@media (max-width: 991.98px) {
	.trx-testimonials-section__grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 1rem;
		padding: 0.5rem 0.25rem 1.25rem;
		margin: 0 -0.5rem;
		scrollbar-width: thin;
		scrollbar-color: rgba(30, 68, 131, 0.25) transparent;
	}
	.trx-testimonials-section__grid::-webkit-scrollbar {
		height: 6px;
	}
	.trx-testimonials-section__grid::-webkit-scrollbar-thumb {
		background: rgba(30, 68, 131, 0.25);
		border-radius: 999px;
	}
	.trx-tcard {
		flex: 0 0 min(88vw, 340px);
		scroll-snap-align: center;
	}
}

.trx-testimonials-section__note {
	font-size: 0.75rem;
	color: #8494a9;
}

/* Testimonial card */
.trx-tcard {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border-radius: 1.25rem;
	padding: 1.75rem 1.65rem 1.5rem;
	border: 1px solid rgba(30, 68, 131, 0.1);
	box-shadow: 0 8px 24px rgba(30, 68, 131, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	min-height: 100%;
}

.trx-tcard__accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: 1.25rem 1.25rem 0 0;
}
.trx-tcard--employer .trx-tcard__accent { background: #1e4483; }
.trx-tcard--rpo .trx-tcard__accent      { background: #7c3aed; }
.trx-tcard--ops .trx-tcard__accent      { background: #0d9488; }

.trx-tcard:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(30, 68, 131, 0.12);
	border-color: rgba(30, 68, 131, 0.18);
}

@media (min-width: 992px) {
	.trx-tcard--featured {
		transform: translateY(-8px);
		padding: 2rem 1.85rem 1.65rem;
		box-shadow: 0 16px 40px rgba(30, 68, 131, 0.14);
		border-color: rgba(30, 68, 131, 0.2);
		z-index: 2;
	}
	.trx-tcard--featured:hover {
		transform: translateY(-10px);
	}
}

.trx-tcard__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.trx-tcard__stars {
	display: inline-flex;
	gap: 0.2rem;
	color: #f5b942;
	font-size: 0.8rem;
}

.trx-tcard__badge {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.25rem 0.65rem;
	border-radius: 999px;
	white-space: nowrap;
}
.trx-tcard--employer .trx-tcard__badge {
	color: #1e4483;
	background: rgba(30, 68, 131, 0.1);
}
.trx-tcard--rpo .trx-tcard__badge {
	color: #7c3aed;
	background: rgba(124, 58, 237, 0.1);
}
.trx-tcard--ops .trx-tcard__badge {
	color: #0d9488;
	background: rgba(13, 148, 136, 0.12);
}

.trx-tcard__headline {
	font-size: 1.05rem;
	font-weight: 800;
	color: #1a2942;
	line-height: 1.35;
	margin: 0 0 0.75rem;
	letter-spacing: -0.01em;
}
.trx-tcard--featured .trx-tcard__headline {
	font-size: 1.125rem;
}

.trx-tcard__quote {
	margin: 0 0 1rem;
	padding: 0;
	border: none;
	flex-grow: 1;
}
.trx-tcard__quote p {
	font-size: 0.9rem;
	line-height: 1.7;
	color: #4a5568;
	margin: 0;
}
.trx-tcard--featured .trx-tcard__quote p {
	font-size: 0.9375rem;
}

.trx-tcard__metric {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--maincolor);
	background: rgba(30, 68, 131, 0.07);
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	margin-bottom: 1.15rem;
	width: fit-content;
}
.trx-tcard--rpo .trx-tcard__metric { color: #7c3aed; background: rgba(124, 58, 237, 0.08); }
.trx-tcard--ops .trx-tcard__metric { color: #0d9488; background: rgba(13, 148, 136, 0.1); }

.trx-tcard__footer {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid rgba(30, 68, 131, 0.08);
}

.trx-tcard__avatar {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 800;
	color: #ffffff;
	letter-spacing: 0.02em;
	box-shadow: 0 4px 14px rgba(30, 68, 131, 0.25);
	overflow: hidden;
}
.trx-tcard__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}
.trx-tcard--employer .trx-tcard__avatar {
	background: #1e4483;
}
.trx-tcard--rpo .trx-tcard__avatar {
	background: #7c3aed;
}
.trx-tcard--ops .trx-tcard__avatar {
	background: #0d9488;
}

.trx-tcard__name {
	display: block;
	font-style: normal;
	font-size: 0.9rem;
	font-weight: 700;
	color: #1a2942;
	line-height: 1.3;
	margin-bottom: 0.15rem;
}

.trx-tcard__role {
	display: block;
	font-size: 0.75rem;
	color: #8494a9;
	line-height: 1.4;
}

@media (max-width: 575.98px) {
	.trx-testimonials-section__trust {
		border-radius: 1rem;
		flex-direction: column;
		align-items: flex-start;
		padding: 1rem 1.15rem;
	}
	.trx-testimonials-section__trust-divider {
		display: none;
	}
}

.trx-faq-section {
	background: #f8fafc;
}
.trx-faq-section .accordion-item {
	border: 1px solid rgba(30, 68, 131, 0.1);
	border-radius: 0.5rem !important;
	overflow: hidden;
	margin-bottom: 0.65rem;
}
.trx-faq-section .accordion-button {
	font-weight: 600;
	font-size: 0.9375rem;
	color: #1a2942;
}
.trx-faq-section .accordion-button:not(.collapsed) {
	background: rgba(30, 68, 131, 0.06);
	color: var(--maincolor);
}

.trx-trust-section {
	background: #ffffff;
}
.trx-trust-card {
	border: 1px solid rgba(30, 68, 131, 0.09);
	border-radius: 0.875rem;
	padding: 1.35rem;
	background: #f8fafc;
}
.trx-trust-card__icon {
	width: 44px;
	height: 44px;
	border-radius: 0.5rem;
	background: rgba(30, 68, 131, 0.1);
	color: var(--maincolor);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
	margin-bottom: 0.85rem;
}

.trx-cta-banner {
	background: linear-gradient(120deg, #eef2fa 0%, #ffffff 45%, color-mix(in srgb, var(--maincolor), #ffffff 88%) 100%);
}
.trx-cta-banner__inner {
	border-radius: 1rem;
	padding: 3rem 2rem;
	text-align: center;
	background: #ffffff;
	border: 1px solid rgba(30, 68, 131, 0.1);
	box-shadow: 0 12px 40px rgba(30, 68, 131, 0.08);
}
.trx-cta-banner__title {
	font-weight: 800;
	font-size: clamp(1.35rem, 2.5vw, 1.85rem);
	margin-bottom: 0.75rem;
}

.trx-page-hero:not(.trx-page-hero--cover) {
	background: linear-gradient(120deg, #f4f7fc 0%, #ffffff 55%, color-mix(in srgb, var(--maincolor), #ffffff 92%) 100%);
	padding: 2.5rem 0 2rem;
	border-bottom: 1px solid rgba(30, 68, 131, 0.08);
}
.trx-page-hero--cover {
	min-height: 240px;
	padding: 2.75rem 0 2.5rem;
	border-bottom: none;
	background-position: center center;
	background-size: cover;
}
.trx-page-hero--cover .trx-page-hero__sub {
	color: rgba(255, 255, 255, 0.92);
	max-width: 42rem;
}
.trx-page-hero--cover .trx-page-hero__crumbs .breadcrumb-item,
.trx-page-hero--cover .trx-page-hero__crumb-link {
	color: rgba(255, 255, 255, 0.85);
}
.trx-page-hero--cover .trx-page-hero__crumbs .breadcrumb-item.active {
	color: #ffffff;
}
.trx-page-hero--cover .trx-page-hero__crumbs .breadcrumb-item + .breadcrumb-item::before {
	color: rgba(255, 255, 255, 0.45);
}
.trx-page-hero--cover .trx-page-hero__eyebrow {
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.28);
}
.trx-page-hero__title {
	font-weight: 800;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	letter-spacing: -0.02em;
	margin-bottom: 0.5rem;
}
.trx-page-hero:not(.trx-page-hero--cover) .trx-page-hero__sub {
	color: #4a5568;
	max-width: 42rem;
}

/* ── Public pricing page — three audience packages (DESIGN.md tokens) ───── */

.trx-pricing-page {
	background: var(--trx-surface, #f3f6fa);
	padding-bottom: var(--trx-space-xxl);
}

.trx-pricing-packages {
	padding: var(--trx-space-xl) 0 var(--trx-space-md);
}
.trx-pricing-packages__intro {
	max-width: 36rem;
	margin: 0 auto var(--trx-space-xl);
}
.trx-pricing-packages__title {
	font-size: var(--trx-type-headline-sm);
	font-weight: 600;
	letter-spacing: -0.015em;
	margin-bottom: var(--trx-space-xs);
	color: #1a2332;
}
.trx-pricing-packages__lede {
	font-size: var(--trx-type-body-md);
	line-height: 1.5;
	color: #5a6578;
	margin-bottom: 0;
}

.trx-pkg {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid rgba(30, 68, 131, 0.12);
	border-radius: var(--trx-radius-xl);
	padding: var(--trx-space-lg);
	box-shadow: 0 8px 24px rgba(15, 31, 61, 0.05);
	transition: box-shadow 0.2s ease;
}
.trx-pkg:hover {
	box-shadow: 0 12px 28px rgba(15, 31, 61, 0.08);
}
.trx-pkg--featured {
	border-color: var(--maincolor);
	box-shadow: 0 12px 32px rgba(30, 68, 131, 0.12);
	z-index: 1;
}
.trx-pkg--free {
	background: linear-gradient(165deg, #ffffff 0%, #f7fbf9 100%);
}
.trx-pkg__badge {
	position: absolute;
	top: var(--trx-space-md);
	right: var(--trx-space-md);
	background: var(--maincolor);
	color: #fff;
	font-size: var(--trx-type-label-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
}
.trx-pkg__icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--trx-radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(30, 68, 131, 0.08);
	color: var(--maincolor);
	margin-bottom: var(--trx-space-md);
}
.trx-pkg__icon .bi {
	font-size: 1.25rem;
	line-height: 1;
}
.trx-pkg__eyebrow {
	font-size: var(--trx-type-label-md);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b7a90;
	margin-bottom: var(--trx-space-xxs);
}
.trx-pkg__name {
	font-size: var(--trx-type-title-lg);
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #1a2332;
	margin-bottom: var(--trx-space-sm);
	line-height: 1.27;
}
.trx-pkg__price-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem;
	margin-bottom: var(--trx-space-xxs);
}
.trx-pkg__price {
	font-size: var(--trx-type-headline-sm);
	font-weight: 700;
	color: var(--maincolor);
	letter-spacing: -0.02em;
	line-height: 1.2;
}
.trx-pkg__period {
	font-size: var(--trx-type-body-md);
	font-weight: 500;
	color: #5a6578;
}
.trx-pkg__meta {
	font-size: var(--trx-type-body-sm);
	color: #6b7a90;
	margin-bottom: var(--trx-space-sm);
}
.trx-pkg__blurb {
	font-size: var(--trx-type-body-md);
	line-height: 1.5;
	color: #3d4a5c;
	margin-bottom: var(--trx-space-md);
}
.trx-pkg__features {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--trx-space-lg);
	flex-grow: 1;
}
.trx-pkg__features li {
	display: flex;
	align-items: flex-start;
	gap: var(--trx-space-xs);
	font-size: var(--trx-type-body-md);
	line-height: 1.45;
	color: #2d3748;
	margin-bottom: var(--trx-space-xs);
}
.trx-pkg__features .bi {
	font-size: 1.125em;
	color: var(--maincolor);
	flex-shrink: 0;
	margin-top: 0.1rem;
}
.trx-pkg__actions {
	margin-top: auto;
	text-align: center;
}
.trx-pkg__secondary {
	display: inline-block;
	margin-top: var(--trx-space-sm);
	font-size: var(--trx-type-label-lg);
	font-weight: 500;
	color: var(--maincolor);
	text-decoration: none;
}
.trx-pkg__secondary:hover {
	text-decoration: underline;
}

.trx-pricing-notes {
	padding: var(--trx-space-xl) 0 var(--trx-space-md);
}
.trx-pricing-note {
	background: #fff;
	border: 1px solid rgba(30, 68, 131, 0.08);
	border-radius: var(--trx-radius-lg);
	padding: var(--trx-space-lg);
	height: 100%;
}
.trx-pricing-note h3 {
	font-size: var(--trx-type-title-md);
	font-weight: 600;
	color: var(--maincolor);
	margin-bottom: var(--trx-space-xs);
}
.trx-pricing-note p {
	font-size: var(--trx-type-body-md);
	line-height: 1.5;
	color: #5a6578;
	margin-bottom: 0;
}
.trx-pricing-notes__cta {
	margin-top: var(--trx-space-xl);
}

/* ── Public job detail page ─────────────────────────────────────────────── */

.trx-job-detail-page .trx-job-detail-main {
	padding-top: 0.5rem;
}

.trx-job-detail-page .jbs-dts-block.styl-01 {
	box-shadow: 0 12px 40px rgba(15, 31, 61, 0.08);
	border: 1px solid rgba(15, 31, 61, 0.06);
}

.trx-job-detail-page .jbs-dts-header {
	background: linear-gradient(135deg, #f0f7ff 0%, #eef8f6 100%);
	padding: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 3vw, 1.75rem);
}

.trx-job-detail-page .jbs-dts-hgiu {
	width: 6.5rem;
	height: 6.5rem;
	border-radius: 1rem;
	background: #fff;
	border: 1px solid rgba(15, 31, 61, 0.08);
	box-shadow: 0 4px 14px rgba(15, 31, 61, 0.06);
}

.trx-job-detail-page .jbs-dts-hgiu figure {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem;
}

.trx-job-detail-page .trx-job-detail-logo {
	width: 100%;
	height: 100%;
	max-width: 4.5rem;
	max-height: 4.5rem;
	object-fit: contain;
	border: 0;
	background: transparent;
	padding: 0;
}

.trx-job-detail-page .jbs-title-iop h1,
.trx-job-detail-page .jbs-title-iop h2 {
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #1a2942;
	margin: 0 0 0.35rem;
	line-height: 1.25;
}

.trx-job-detail-page .jbs-employer-link {
	font-size: 1.05rem;
	font-weight: 600;
	color: #1e4483;
	text-decoration: none;
}

.trx-job-detail-page .jbs-employer-link:hover {
	text-decoration: underline;
}

.trx-job-detail-page .jbs-locat-oiu {
	font-size: 0.9375rem;
	color: #5a6578;
}

.trx-job-detail-page .jbs-dts-body {
	border-top: 1px solid rgba(15, 31, 61, 0.06);
}

.trx-job-detail-page .trx-job-detail-meta .label {
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.35rem 0.75rem;
	border-radius: 2rem;
}

.trx-job-detail-sidebar {
	position: sticky;
	top: 5.5rem;
}

.trx-job-detail-apply-card {
	border: 1px solid rgba(15, 31, 61, 0.08);
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 8px 28px rgba(15, 31, 61, 0.07);
	overflow: hidden;
}

.trx-job-detail-apply-card__head {
	padding: 1.25rem 1.25rem 0;
}

.trx-job-detail-apply-card__body {
	padding: 1rem 1.25rem 1.25rem;
}

.trx-job-detail-apply-card__divider {
	margin: 0;
	border-color: rgba(15, 31, 61, 0.08);
}

.trx-job-detail-related-link {
	display: block;
	padding: 0.85rem 0;
	border-bottom: 1px solid rgba(15, 31, 61, 0.08);
	text-decoration: none;
	color: inherit;
	transition: background 0.15s ease;
}

.trx-job-detail-related-link:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.trx-job-detail-related-link:hover {
	color: #1e4483;
}

.trx-job-detail-related-link .fw-semibold {
	font-size: 0.9375rem;
}

.trx-job-detail-breadcrumb {
	font-size: 0.8125rem;
}

.trx-job-detail-breadcrumb a {
	color: #5a6578;
	text-decoration: none;
}

.trx-job-detail-breadcrumb a:hover {
	color: #1e4483;
}

.trx-job-description,
.trx-job-detail-body {
	font-size: 1rem;
	line-height: 1.7;
	color: #3d4a5c;
}

.trx-job-description h2,
.trx-job-detail-body h2 {
	font-size: 1.2rem;
	font-weight: 800;
	color: #1a2942;
	margin: 1.75rem 0 0.75rem;
	letter-spacing: -0.01em;
}

.trx-job-description h2:first-child,
.trx-job-detail-body h2:first-child {
	margin-top: 0;
}

.trx-job-description h3,
.trx-job-detail-body h3 {
	font-size: 1.05rem;
	font-weight: 700;
	color: #1a2942;
	margin: 1.35rem 0 0.5rem;
}

.trx-job-description p,
.trx-job-detail-body p {
	margin-bottom: 1rem;
}

.trx-job-description ul,
.trx-job-detail-body ul {
	padding-left: 1.35rem;
	margin-bottom: 1rem;
}

.trx-job-description li,
.trx-job-detail-body li {
	margin-bottom: 0.4rem;
}

@media (max-width: 991.98px) {
	.trx-job-detail-sidebar {
		position: static;
		top: auto;
	}
}

/* ── Public company detail page ─────────────────────────────────────────── */

.trx-company-detail-page .trx-company-detail-header {
	margin-top: 0;
	padding-top: 1.5rem;
	position: relative;
}

.trx-company-detail-page .trx-company-detail-head {
	background: #fff;
	border-radius: 0.75rem;
	border: 1px solid rgba(15, 31, 61, 0.08);
	box-shadow: 0 12px 40px rgba(15, 31, 61, 0.08);
	padding: clamp(1.25rem, 3vw, 2rem);
	margin-bottom: 1.5rem;
}

.trx-company-detail-page .trx-company-detail-thumb {
	width: 6.5rem;
	height: 6.5rem;
	border-radius: 1rem;
	background: #f8fafc;
	border: 1px solid rgba(15, 31, 61, 0.08);
	box-shadow: 0 4px 14px rgba(15, 31, 61, 0.06);
	overflow: hidden;
}

.trx-company-detail-page .trx-company-detail-thumb figure {
	margin: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem;
}

.trx-company-detail-page .trx-company-detail-logo {
	max-width: 4.5rem;
	max-height: 4.5rem;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.trx-company-detail-page .trx-company-detail-initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 2rem;
	font-weight: 800;
	color: #1e4483;
}

.trx-company-detail-page .emplr-title {
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #1a2942;
}

.trx-company-detail-page .emplr-yior-3 {
	gap: 0.35rem 0;
}

.trx-company-detail-page .trx-company-detail-breadcrumb {
	font-size: 0.8125rem;
}

.trx-company-detail-page .trx-company-detail-breadcrumb a {
	color: #5a6578;
	text-decoration: none;
}

.trx-company-detail-page .trx-company-detail-breadcrumb a:hover {
	color: #1e4483;
}

.trx-company-detail-page .single-cdtsr-block {
	border-radius: 0.75rem;
	border: 1px solid rgba(15, 31, 61, 0.08);
	box-shadow: 0 4px 20px rgba(15, 31, 61, 0.05);
}

.trx-company-detail-page .jbs-list-box.border {
	border-color: rgba(15, 31, 61, 0.1) !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.trx-company-detail-page .jbs-list-box.border:hover {
	border-color: rgba(30, 68, 131, 0.2) !important;
	box-shadow: 0 6px 20px rgba(15, 31, 61, 0.06);
}

.trx-company-detail-page .trx-company-job-initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	font-weight: 700;
	color: #1e4483;
	font-size: 1.1rem;
}

.trx-company-detail-page .trx-company-detail-sidebar {
	position: sticky;
	top: 5.5rem;
}

.trx-company-detail-page .eflorio-wrap-block {
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: 0 8px 28px rgba(15, 31, 61, 0.07);
}

@media (max-width: 991.98px) {
	.trx-company-detail-page .trx-company-detail-sidebar {
		position: static;
		top: auto;
	}

	.trx-company-detail-page .emplr-head-block {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}

	.trx-company-detail-page .emplr-head-right {
		width: 100%;
	}

	.trx-company-detail-page .emplr-head-right .btn {
		width: 100%;
	}
}

/* ------------------------------------------------------------------
   Services page — service line cards
   ------------------------------------------------------------------ */
.trx-services-section {
	margin-top: 0.5rem;
}
.trx-services-section__title {
	font-weight: 800;
	font-size: clamp(1.5rem, 2.8vw, 2rem);
	letter-spacing: -0.02em;
	color: #1a2942;
}
.trx-services-section__lead {
	font-size: 1.05rem;
	max-width: 40rem;
	margin-inline: auto;
}
.trx-services-section__footer .btn + .btn {
	margin-top: 0.5rem;
}
@media (min-width: 576px) {
	.trx-services-section__footer .btn + .btn {
		margin-top: 0;
	}
}

.trx-scard {
	background: #ffffff;
	border: 1px solid rgba(30, 68, 131, 0.1);
	border-radius: 1rem;
	padding: 1.75rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}
.trx-scard::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--trx-scard-accent, var(--maincolor));
}
.trx-scard:hover {
	box-shadow: 0 14px 40px rgba(30, 68, 131, 0.12);
	transform: translateY(-4px);
	border-color: rgba(30, 68, 131, 0.18);
}
.trx-scard--rpo { --trx-scard-accent: #1e4483; }
.trx-scard--executive { --trx-scard-accent: #2d5aa8; }
.trx-scard--contingent { --trx-scard-accent: #ed2939; }
.trx-scard--branding { --trx-scard-accent: #7c3aed; }
.trx-scard--compliance { --trx-scard-accent: #059669; }
.trx-scard--rollout { --trx-scard-accent: #d97706; }

.trx-scard__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}
.trx-scard__icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 0.875rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
	background: color-mix(in srgb, var(--trx-scard-accent, var(--maincolor)) 12%, #ffffff);
	color: var(--trx-scard-accent, var(--maincolor));
	flex-shrink: 0;
}
.trx-scard__title {
	font-size: 1.125rem;
	font-weight: 800;
	color: #1a2942;
	line-height: 1.3;
	margin-bottom: 0.65rem;
}
.trx-scard__summary {
	font-size: 0.9rem;
	color: #5a6578;
	line-height: 1.55;
	margin-bottom: 1rem;
	flex-grow: 1;
}
.trx-scard__points {
	list-style: none;
	padding: 0;
	margin: 0 0 1.25rem;
}
.trx-scard__points li {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #3d4f66;
	padding: 0.4rem 0 0.4rem 1.35rem;
	position: relative;
	border-bottom: 1px solid rgba(30, 68, 131, 0.06);
}
.trx-scard__points li:last-child {
	border-bottom: none;
}
.trx-scard__points li::before {
	content: '\f00c';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 0.45rem;
	font-size: 0.65rem;
	color: var(--trx-scard-accent, var(--maincolor));
}
.trx-scard__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--trx-scard-accent, var(--maincolor));
	text-decoration: none;
	margin-top: auto;
}
.trx-scard__cta i {
	font-size: 0.75rem;
	transition: transform 0.2s ease;
}
.trx-scard__cta:hover {
	color: var(--trx-scard-accent, var(--maincolor));
	opacity: 0.85;
}
.trx-scard__cta:hover i {
	transform: translateX(4px);
}

/* ────────────────────────────────────────────────────────────────────────── */

/* Inline SVG wordmark (same slot as theme .nav-brand img / .img-footer) */
.nav-brand svg.trx-brand-logo-svg,
.nav-brand svg.logo {
	max-width: 168px;
	width: 100%;
	height: auto;
	display: block;
}
.footer-widget svg.trx-brand-logo-svg,
.footer-widget svg.img-footer {
	max-width: 168px;
	width: 100%;
	height: auto;
	display: block;
}

/* ── Public footer redesign (brand + contact + 4 link columns + split bottom bar) ── */
.trx-footer .footer-widget p.trx-footer-tagline {
	color: #ffffff;
	font-weight: 600;
	font-size: 0.95rem;
	letter-spacing: -0.01em;
	margin: 1.15rem 0 0.4rem;
}
.trx-footer .footer-add p.footer-widget-lead {
	margin-bottom: 0;
	line-height: 1.65;
}
.trx-footer .footer-widget ul.trx-footer-contact {
	list-style: none;
	margin: 1.35rem 0 0;
	padding: 0;
}
.trx-footer .footer-widget ul.trx-footer-contact li {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin-top: 0.7rem;
	font-size: 13px;
	line-height: 1.5;
}
.trx-footer .footer-widget ul.trx-footer-contact li i {
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.95rem;
	line-height: 1.5;
	flex-shrink: 0;
}
.trx-footer .footer-widget ul.trx-footer-contact li a:hover,
.trx-footer .footer-widget ul.trx-footer-contact li a:focus {
	color: #ffffff;
}
.trx-footer .footer-bottom.trx-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 18px 0;
}
.trx-footer-bottom-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
}
.trx-footer-copy {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.trx-footer-legal-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.35rem;
}
.trx-footer-credit {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.55);
}
.trx-footer-credit a {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
}
.trx-footer-credit a:hover,
.trx-footer-credit a:focus {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.trx-footer-legal {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.4rem;
	margin: 0;
	padding: 0;
}
@media (min-width: 768px) {
	/* keep clear of the fixed back-to-top button (bottom right) */
	.trx-footer-legal-wrap {
		margin-right: 3.75rem;
	}
}
.trx-footer-legal a {
	font-size: 13px;
}
.trx-footer-legal a:hover,
.trx-footer-legal a:focus {
	color: #ffffff;
}
@media (max-width: 767.98px) {
	.trx-footer-bottom-row {
		justify-content: center;
		text-align: center;
	}
	.trx-footer-legal-wrap {
		align-items: center;
	}
	.trx-footer .footer-widget {
		padding-bottom: 28px;
	}
}

/* ══════════════════════════════════════════════════════════════════════════
   Responsive header & topbar
   The theme's nav switches to the off-canvas drawer at ≤992px (custom.js
   mobileBreakpoint). Between 993px and 1199px the landscape menu is too wide
   for the container and used to wrap onto two rows. Fix strategy:
   A) 993–1199px "compact" band: single-row flex layout, tighter type,
      secondary links hidden (.trx-nav-hide-md), shorter CTA label.
   B) ≤992px drawer: surface the auth/CTA cluster (Sign In / Help / Register)
      inside the off-canvas menu — the theme hid it entirely on mobile.
   C) Topbar ticker + brand sizing tuned for small screens.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── A. Compact landscape band (993–1199px) ─────────────────────────────── */
@media (min-width: 993px) and (max-width: 1199.98px) {
	.trx-nav-hide-md {
		display: none !important;
	}
	.header .navigation.navigation-landscape {
		display: flex;
		align-items: center;
	}
	.header .navigation-landscape .nav-header {
		float: none;
		flex: 0 0 auto;
		display: flex;
		align-items: center;
	}
	.header .navigation-landscape .nav-menus-wrapper {
		display: flex;
		flex: 1 1 auto;
		align-items: center;
		justify-content: space-between;
		min-width: 0;
	}
	.header .navigation-landscape .nav-menu {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
	}
	.header .navigation-landscape .nav-menu > li {
		float: none;
		white-space: nowrap;
	}
	.header .navigation-landscape .nav-menu.nav-menu-social.align-to-right {
		float: none;
		margin-left: auto;
	}
	.header .nav-brand {
		margin-right: 0.5rem;
		padding-right: 8px;
	}
	.header .nav-brand svg.trx-brand-logo-svg,
	.header .nav-brand svg.logo,
	.header .nav-brand img.logo,
	.header .nav-brand img.trx-brand-logo {
		max-width: 180px;
		max-height: 52px;
		width: auto;
		height: auto;
		object-fit: contain;
	}
	.header .nav-menu > li > a {
		padding: 14px 8px;
		font-size: var(--trx-type-label-lg) !important;
		letter-spacing: 0;
	}
	.header .submenu-indicator {
		margin-left: 4px;
	}
	.header .nav-menu.nav-menu-social > li > a > .fas {
		font-size: 13px;
	}
	.header .nav-menu.nav-menu-social > li.list-buttons a {
		padding: 11px 14px;
	}
}

/* ── B. Off-canvas drawer (≤992px): auth/CTA cluster inside the drawer ──── */
@media (max-width: 992px) {
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social {
		display: block;
		width: 100%;
		float: none;
		margin: 0.75rem 0 0;
		padding: 0 15px 24px;
		text-align: left;
	}
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li {
		display: block;
		width: 100%;
		float: none;
		border: 0;
		margin: 0 0 0.5rem !important;
	}
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li > a,
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li form,
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li button {
		display: flex;
		align-items: center;
		width: 100%;
		padding: 11px 14px;
		color: #ffffff !important;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.3;
		border-radius: 0.35rem;
		background: rgba(255, 255, 255, 0.08);
		text-decoration: none;
	}
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li form {
		padding: 0;
		background: transparent;
	}
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li > a:hover,
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li button:hover {
		background: rgba(255, 255, 255, 0.16);
		color: #ffffff !important;
	}
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li.list-buttons {
		margin-left: 0 !important;
	}
	.navigation-portrait .nav-menus-wrapper .nav-menu.nav-menu-social > li.list-buttons a {
		justify-content: center;
		padding: 12px 14px;
		font-weight: 600;
		background: var(--maincolor);
		border: 0 !important;
		border-radius: 0.35rem;
	}
}

/* ── C. Topbar ticker + brand sizing on small screens ───────────────────── */
@media (max-width: 992px) {
	.nav-brand svg.trx-brand-logo-svg,
	.nav-brand svg.logo,
	.nav-brand img.logo,
	.nav-brand img.trx-brand-logo {
		max-width: 180px;
		max-height: 52px;
		width: auto;
		height: auto;
		object-fit: contain;
	}
	.navigation-portrait .nav-brand {
		display: flex;
		align-items: center;
		height: auto;
		min-height: 52px;
		margin-top: 0;
		padding-top: 0;
		padding-bottom: 0;
	}
}
@media (max-width: 767.98px) {
	.topbar {
		height: 38px;
		max-height: 38px;
	}
	.topbar .trx-topbar-ticker__viewport,
	.topbar .trx-topbar-ticker__rail,
	.topbar .trx-topbar-ticker__group {
		height: 38px;
		max-height: 38px;
	}
	.topbar .trx-topbar-ticker__viewport {
		-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
		mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
	}
	.topbar .trx-topbar-ticker__link {
		font-size: 12px;
	}
}
@media (max-width: 400px) {
	.nav-brand svg.trx-brand-logo-svg,
	.nav-brand svg.logo,
	.nav-brand img.logo,
	.nav-brand img.trx-brand-logo {
		max-width: min(180px, calc(100vw - 8.5rem));
		max-height: 52px;
		width: auto;
		height: auto;
		object-fit: contain;
	}
}

/* ── Contact page body (hero unchanged) ─────────────────────────────────── */
.trx-contact {
	background: var(--gray, #f4f5f7);
}
.trx-contact__flash {
	border-radius: 0.3rem;
}
.trx-contact__channels {
	border-bottom: 1px solid #e6ebf1;
	background: #ffffff;
}
@media (min-width: 768px) {
	.trx-contact-channels-row > [class*="col-"]:not(:last-child) {
		border-right: 1px solid #e6ebf1;
	}
	.trx-contact-channels-row > [class*="col-"]:not(:first-child) .trx-contact-channel {
		padding-left: 1.25rem;
	}
}
.trx-contact-channel {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-decoration: none !important;
	color: inherit;
}
a.trx-contact-channel:hover,
a.trx-contact-channel:focus {
	color: inherit;
}
a.trx-contact-channel:hover .trx-contact-channel__value,
a.trx-contact-channel:focus .trx-contact-channel__value {
	color: var(--maincolor);
}
.trx-contact-channel__icon {
	width: auto;
	height: auto;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	border-radius: 0;
	background: transparent;
	color: var(--maincolor);
	font-size: 1.35rem;
	margin-bottom: 0.75rem;
	box-shadow: none;
}
.trx-contact-channel__label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.2px;
	text-transform: uppercase;
	color: var(--navcolor, #2a3548);
	margin-bottom: 0.4rem;
}
.trx-contact-channel__value {
	font-size: 15px;
	font-weight: 600;
	color: var(--navcolor, #0f1f3d);
	line-height: 1.45;
	margin-bottom: 0.25rem;
	transition: color 0.2s ease;
}
.trx-contact-channel__hint {
	font-size: 13px;
	color: #6c757d;
	margin-top: 0.15rem;
}
.trx-contact-aside__eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--maincolor);
	margin-bottom: 0.65rem;
}
.trx-contact-aside__title {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--navcolor, #0f1f3d);
	line-height: 1.35;
	margin-bottom: 0.85rem;
}
.trx-contact-aside__lede {
	color: #5a6578;
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 1.5rem;
}
.trx-contact-points {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
}
.trx-contact-points li {
	display: flex;
	gap: 0.7rem;
	align-items: flex-start;
	margin-bottom: 0.85rem;
	font-size: 0.9375rem;
	color: #2a3548;
	line-height: 1.45;
}
.trx-contact-points li i {
	color: var(--maincolor);
	margin-top: 0.15rem;
	flex-shrink: 0;
}
.trx-contact-hours {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	padding: 1rem 0 0;
	background: transparent;
	border: 0;
	border-top: 1px solid #e6ebf1;
	border-radius: 0;
	margin-bottom: 1.5rem;
}
.trx-contact-hours__label {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b778c;
	margin-bottom: 0.35rem;
}
.trx-contact-hours__value {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	color: #0f1f3d;
	line-height: 1.4;
}
.trx-contact-quick__label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #5a6578;
	margin-bottom: 0.55rem;
}
.trx-contact-quick__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}
.trx-contact-quick__links a {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--maincolor);
	text-decoration: none;
}
.trx-contact-quick__links a:hover,
.trx-contact-quick__links a:focus {
	text-decoration: underline;
}
.trx-contact-form-card {
	background: #ffffff;
	border: 1px solid #e6ebf1;
	border-radius: 0.4rem;
	box-shadow: none;
	padding: 1.75rem 1.5rem;
}
.trx-contact-form-card__title {
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--navcolor, #0f1f3d);
	margin-bottom: 0.4rem;
}
.trx-contact-form-card__sub {
	color: #5a6578;
	font-size: 0.9375rem;
	margin-bottom: 1.5rem;
}
.trx-contact-form .form-label {
	font-weight: 600;
	font-size: 0.875rem;
	color: #2a3548;
}
.trx-contact-form .form-control,
.trx-contact-form .form-control-lg {
	border-radius: 0.3rem;
	border-color: #e2e8ed;
	background: #ffffff;
	height: auto;
}
.trx-contact-form .form-control-lg {
	padding: 0.75rem 1rem;
	font-size: 14px;
}
.trx-contact-form .form-control:focus {
	border-color: var(--maincolor);
	box-shadow: none;
	background: #fff;
}
.trx-contact-form textarea.form-control {
	min-height: 8rem;
	resize: vertical;
}
.trx-contact-form__submit {
	display: inline-flex;
	align-items: center;
	padding-inline: 1.5rem;
	margin-top: 0.25rem;
}
.trx-contact-form__legal {
	margin-top: 1rem;
	font-size: 0.8125rem;
	color: #6b778c;
	line-height: 1.5;
}
.trx-contact-form__legal a {
	color: var(--maincolor);
	font-weight: 600;
}
.trx-contact__main {
	padding-bottom: 3.5rem;
}
@media (max-width: 767.98px) {
	.trx-contact-hours {
		grid-template-columns: 1fr;
	}
}

/* ── Blog index + detail (theme-aligned, flat) ──────────────────────────── */
.trx-blog__filter-note {
	font-size: 14px;
	color: #6c757d;
}
.trx-blog-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #e6ebf1;
	border-radius: 0.4rem;
	overflow: hidden;
}
.trx-blog-card__cover {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #e9eef5;
}
.trx-blog-card__cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.trx-blog-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1.15rem 1.15rem 1.25rem;
}
.trx-blog-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.75rem;
	margin-bottom: 0.65rem;
	font-size: 12px;
	color: #6c757d;
}
.trx-blog-card__cat {
	display: inline-block;
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--maincolor);
}
.trx-blog-card__title {
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0 0 0.55rem;
}
.trx-blog-card__title a {
	color: var(--navcolor, #0f1f3d);
	text-decoration: none;
}
.trx-blog-card__title a:hover,
.trx-blog-card__title a:focus {
	color: var(--maincolor);
}
.trx-blog-card__excerpt {
	font-size: 14px;
	color: #6c757d;
	line-height: 1.55;
	margin-bottom: 0.85rem;
	flex: 1;
}
.trx-blog-card__cta {
	font-size: 13px;
	font-weight: 600;
	color: var(--maincolor);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}
.trx-blog-card__cta:hover,
.trx-blog-card__cta:focus {
	text-decoration: underline;
}
.trx-blog-sidebar .side-widget-blocks {
	background: #ffffff;
	border: 1px solid #e6ebf1;
	border-radius: 0.4rem;
	padding: 1.15rem 1.2rem;
	margin-bottom: 1.15rem;
}
.trx-blog-sidebar .widget-title {
	font-size: 15px;
	font-weight: 600;
	color: var(--navcolor, #0f1f3d);
	margin-bottom: 0.85rem;
}
.trx-blog-sidebar .input-with-icon {
	position: relative;
}
.trx-blog-sidebar .input-with-icon .form-control {
	padding-right: 2.5rem;
	height: 44px;
	border-color: #e2e8ed;
	border-radius: 0.3rem;
	font-size: 14px;
}
.trx-blog-sidebar .input-with-icon i {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--maincolor);
	font-size: 13px;
	pointer-events: none;
}
.trx-blog-sidebar__recent-item {
	padding: 0.65rem 0;
	border-bottom: 1px solid #eef2f6;
}
.trx-blog-sidebar__recent-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.trx-blog-sidebar__recent-item:first-child {
	padding-top: 0;
}
.trx-blog-sidebar__recent-item a {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--navcolor, #0f1f3d);
	text-decoration: none;
	line-height: 1.35;
}
.trx-blog-sidebar__recent-item a:hover,
.trx-blog-sidebar__recent-item a:focus {
	color: var(--maincolor);
}
.trx-blog-sidebar__date {
	display: block;
	font-size: 12px;
	color: #6c757d;
	margin-top: 0.2rem;
}
.trx-blog-sidebar__topics li {
	margin-bottom: 0.45rem;
}
.trx-blog-sidebar__topics a {
	font-size: 14px;
	color: #495057;
	text-decoration: none;
}
.trx-blog-sidebar__topics a:hover,
.trx-blog-sidebar__topics a:focus {
	color: var(--maincolor);
}
.trx-blog-sidebar__cta .btn {
	width: 100%;
}
.trx-blog-article {
	background: #ffffff;
	border: 1px solid #e6ebf1;
	border-radius: 0.4rem;
	padding: 1.5rem 1.5rem 1.75rem;
}
.trx-blog-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.85rem;
	align-items: center;
	font-size: 13px;
	color: #6c757d;
	margin-bottom: 1.15rem;
}
.trx-blog-article__cover {
	margin: 0 0 1.5rem;
	border-radius: 0.3rem;
	overflow: hidden;
	background: #e9eef5;
}
.trx-blog-article__cover img {
	width: 100%;
	height: auto;
	display: block;
	max-height: 420px;
	object-fit: cover;
}
.trx-blog-body {
	font-size: 15px;
	line-height: 1.7;
	color: #2a3548;
}
.trx-blog-body h2 {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 1.75rem 0 0.75rem;
	color: var(--navcolor, #0f1f3d);
}
.trx-blog-body p {
	margin-bottom: 1rem;
}
.trx-blog-article__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid #e6ebf1;
}
.trx-blog-related__item {
	display: flex;
	gap: 0.85rem;
	align-items: center;
	padding: 0.85rem;
	background: #ffffff;
	border: 1px solid #e6ebf1;
	border-radius: 0.4rem;
	text-decoration: none !important;
	height: 100%;
	color: inherit;
}
.trx-blog-related__item:hover .trx-blog-related__title,
.trx-blog-related__item:focus .trx-blog-related__title {
	color: var(--maincolor);
}
.trx-blog-related__thumb {
	flex: 0 0 72px;
	width: 72px;
	height: 56px;
	border-radius: 0.25rem;
	overflow: hidden;
	background: #e9eef5;
}
.trx-blog-related__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.trx-blog-related__title {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--navcolor, #0f1f3d);
	line-height: 1.35;
}
.trx-blog-related__date {
	display: block;
	font-size: 12px;
	color: #6c757d;
	margin-top: 0.2rem;
}
@media (max-width: 991.98px) {
	.trx-blog-sidebar {
		margin-top: 0.5rem;
	}
}

/* —— Public About Us —— */
.trx-about {
	background: #f4f5f7;
}
.trx-about__eyebrow {
	display: block;
	margin: 0 0 0.65rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--main-color, #1967d2);
}
.trx-about__eyebrow--center {
	text-align: center;
}
.trx-about__title {
	margin: 0 0 1rem;
	font-size: clamp(1.45rem, 2.2vw, 1.85rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--navcolor, #0f1f3d);
}
.trx-about__title--center {
	text-align: center;
}
.trx-about__lede {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	line-height: 1.65;
	color: #495057;
}
.trx-about__lede--center {
	text-align: center;
}
.trx-about__body {
	margin: 0 0 1.25rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #6c757d;
}
.trx-about-media {
	margin: 0;
	overflow: hidden;
	border-radius: 4px;
	border: 1px solid rgba(15, 31, 61, 0.08);
	background: #fff;
}
.trx-about-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.trx-about-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
}
.trx-about-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin-bottom: 0.65rem;
	font-size: 0.95rem;
	line-height: 1.45;
	color: var(--navcolor, #0f1f3d);
	font-weight: 500;
}
.trx-about-checklist li:last-child {
	margin-bottom: 0;
}
.trx-about-checklist i {
	flex-shrink: 0;
	margin-top: 0.15rem;
	color: var(--main-color, #1967d2);
	font-size: 1.05rem;
}
.trx-about-split--alt {
	background: #fff;
}
.trx-about-do-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.25rem;
	margin-top: 0.5rem;
}
@media (max-width: 575.98px) {
	.trx-about-do-grid {
		grid-template-columns: 1fr;
	}
}
.trx-about-do {
	padding: 1rem 0 0;
	border-top: 1px solid rgba(15, 31, 61, 0.1);
}
.trx-about-do__title {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--navcolor, #0f1f3d);
}
.trx-about-do__text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: #6c757d;
}
.trx-about-why-list {
	margin-top: 0.35rem;
}
.trx-about-why {
	display: flex;
	gap: 1rem;
	padding: 1rem 0;
	border-top: 1px solid rgba(15, 31, 61, 0.1);
}
.trx-about-why:last-child {
	border-bottom: 1px solid rgba(15, 31, 61, 0.1);
}
.trx-about-why__num {
	flex-shrink: 0;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--main-color, #1967d2);
	line-height: 1.4;
	padding-top: 0.1rem;
}
.trx-about-why__title {
	margin: 0 0 0.3rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--navcolor, #0f1f3d);
}
.trx-about-why__text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: #6c757d;
}
.trx-about-mission {
	background: #fff;
}
.trx-about-value {
	height: 100%;
	padding: 1.35rem 1.25rem;
	background: #fff;
	border: 1px solid rgba(15, 31, 61, 0.1);
	border-radius: 4px;
}
.trx-about-value__title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--navcolor, #0f1f3d);
}
.trx-about-value__text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #6c757d;
}
.trx-about-pillars {
	background: #fff;
}
.trx-about-pillar {
	height: 100%;
	padding: 1.5rem 1.35rem;
	background: #f4f5f7;
	border: 1px solid rgba(15, 31, 61, 0.08);
	border-radius: 4px;
}
.trx-about-pillar__badge {
	display: inline-block;
	margin-bottom: 0.85rem;
	padding: 0.28rem 0.65rem;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
	background: var(--main-color, #1967d2);
	border-radius: 3px;
}
.trx-about-pillar__badge--muted {
	background: #6c757d;
}
.trx-about-pillar__badge--dark {
	background: var(--navcolor, #0f1f3d);
}
.trx-about-pillar__title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--navcolor, #0f1f3d);
}
.trx-about-pillar__text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #6c757d;
}
.trx-about-cta__inner {
	padding: 2rem 1.5rem;
	background: #fff;
	border: 1px solid rgba(15, 31, 61, 0.1);
	border-radius: 4px;
}
.trx-about-cta__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}
.trx-about-cta__actions .btn {
	min-width: 10rem;
}
@media (max-width: 991.98px) {
	.trx-about-split .trx-about-media {
		margin-top: 0.25rem;
	}
}

/* ------------------------------------------------------------------
   Home sections (DESIGN.md tokens) — logo wall treatment + audience rows
   ------------------------------------------------------------------ */
/* Muted, uniform logo treatment: grayscale at rest, brand color on hover */
.trx-logo-wall .trx-logo-wall__cell {
	border: none;
	background: transparent;
	min-height: 5rem;
}
.trx-logo-wall .trx-logo-wall__cell:hover {
	box-shadow: none;
}
.trx-logo-wall .trx-logo-wall__img {
	max-height: 2.5rem;
	max-width: 8.5rem;
	filter: grayscale(1);
	opacity: 0.55;
	transition: filter 0.2s ease, opacity 0.2s ease;
}
.trx-logo-wall .trx-logo-wall__cell:hover .trx-logo-wall__img {
	filter: grayscale(0);
	opacity: 1;
}

/* Who it's for — editorial rows instead of card grid */
.trx-audiences {
	background: #f8fafc;
	border-top: 1px solid rgba(30, 68, 131, 0.07);
	border-bottom: 1px solid rgba(30, 68, 131, 0.07);
}
.trx-audiences .sec-heading h2 {
	font-size: var(--trx-type-headline-md);
	line-height: var(--trx-lh-tight);
}
.trx-audience-row {
	padding: var(--trx-space-lg) 0;
	border-bottom: 1px solid rgba(30, 68, 131, 0.1);
}
.trx-audience-row:first-child {
	padding-top: var(--trx-space-xs);
}
.trx-audience-row:last-child {
	border-bottom: none;
	padding-bottom: var(--trx-space-xs);
}
.trx-audience-row__title {
	font-size: var(--trx-type-title-md);
	font-weight: 600;
	color: #1a2942;
	margin-bottom: var(--trx-space-xxs);
}
.trx-audience-row__note {
	font-size: var(--trx-type-body-sm);
	color: #8494a9;
}
.trx-audience-row__text {
	font-size: var(--trx-type-body-md);
	line-height: var(--trx-lh-body);
	color: #4a5568;
}
.trx-audience-row__link {
	font-size: var(--trx-type-label-lg);
	font-weight: 600;
	color: var(--maincolor);
	white-space: nowrap;
}
.trx-audience-row__link:hover,
.trx-audience-row__link:focus {
	color: var(--maincolor);
	text-decoration: underline;
}
@media (max-width: 767.98px) {
	.trx-audience-row__text {
		margin-top: var(--trx-space-xs);
	}
	.trx-audience-row .text-md-end {
		margin-top: var(--trx-space-sm);
	}
}

/* ── Auth: login / register / order summary / welcome ───────────────────── */

.trx-auth {
	background: var(--trx-surface, #f3f6fa);
	padding: var(--trx-space-xxl) 0 var(--trx-space-section);
}
.trx-auth__flash {
	font-size: var(--trx-type-body-md);
	margin-bottom: var(--trx-space-md);
}
.trx-auth__minor-link {
	font-size: var(--trx-type-label-lg);
	font-weight: 500;
	color: var(--maincolor);
	text-decoration: none;
}
.trx-auth__minor-link:hover {
	color: var(--maincolor);
	text-decoration: underline;
}

.trx-auth__shell {
	background: #fff;
	border: 1px solid rgba(30, 68, 131, 0.12);
	border-radius: var(--trx-radius-xl);
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(15, 31, 61, 0.07);
	max-width: 62rem;
	margin: 0 auto;
}
.trx-auth-side {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: var(--trx-space-xxl) var(--trx-space-xl);
	background: linear-gradient(160deg, #16305c 0%, #1e4483 55%, #29569e 100%);
	color: #fff;
}
.trx-auth-side__eyebrow {
	font-size: var(--trx-type-label-md);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
	margin-bottom: var(--trx-space-xs);
}
.trx-auth--register .trx-auth-side__eyebrow {
	color: var(--maincolor);
}
.trx-auth-side__title {
	font-size: var(--trx-type-headline-md);
	font-weight: 600;
	letter-spacing: -0.015em;
	color: #fff;
	margin-bottom: var(--trx-space-sm);
}
.trx-auth-side__lede {
	font-size: var(--trx-type-body-md);
	line-height: var(--trx-lh-body);
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: var(--trx-space-lg);
}
.trx-auth-side__points {
	list-style: none;
	padding: 0;
	margin: 0;
}
.trx-auth-side__points li {
	display: flex;
	align-items: flex-start;
	gap: var(--trx-space-xs);
	font-size: var(--trx-type-body-md);
	color: rgba(255, 255, 255, 0.92);
	margin-bottom: var(--trx-space-sm);
}
.trx-auth-side__points .bi {
	color: #7fd1a8;
	flex-shrink: 0;
	margin-top: 0.15rem;
}

.trx-auth-card {
	background: #fff;
	padding: var(--trx-space-xxl) var(--trx-space-xl);
	height: 100%;
}
.trx-auth-card--wide {
	border: 1px solid rgba(30, 68, 131, 0.12);
	border-radius: var(--trx-radius-xl);
	box-shadow: 0 8px 24px rgba(15, 31, 61, 0.05);
	padding: var(--trx-space-xl);
	height: auto;
}
.trx-auth-card__title {
	font-size: var(--trx-type-headline-sm);
	font-weight: 600;
	letter-spacing: -0.015em;
	color: #1a2332;
	margin-bottom: var(--trx-space-xxs);
}
.trx-auth-card__sub {
	font-size: var(--trx-type-body-md);
	color: #5a6578;
	margin-bottom: var(--trx-space-lg);
}
.trx-auth-card__step {
	font-size: var(--trx-type-label-md);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b7a90;
	margin: var(--trx-space-lg) 0 var(--trx-space-sm);
}
.trx-auth-card__step:first-child {
	margin-top: 0;
}
.trx-auth-card__switch {
	font-size: var(--trx-type-body-md);
	color: #5a6578;
	text-align: center;
	margin: var(--trx-space-lg) 0 0;
}
.trx-auth-card__switch a {
	color: var(--maincolor);
	font-weight: 600;
}

.trx-auth-reg-head {
	max-width: 40rem;
	margin: 0 auto var(--trx-space-xl);
}
.trx-auth-reg-head__title {
	font-size: var(--trx-type-headline-md);
	font-weight: 600;
	letter-spacing: -0.015em;
	color: #1a2332;
	margin-bottom: var(--trx-space-xs);
}
.trx-auth-reg-head__sub {
	font-size: var(--trx-type-body-md);
	color: #5a6578;
	margin-bottom: 0;
}

.trx-auth-types {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--trx-space-sm);
}
.trx-auth-type {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	border: 1px solid rgba(30, 68, 131, 0.16);
	border-radius: var(--trx-radius-lg);
	padding: var(--trx-space-md);
	cursor: pointer;
	margin: 0;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.trx-auth-type:hover {
	border-color: var(--maincolor);
}
.trx-auth-type.is-selected {
	border-color: var(--maincolor);
	box-shadow: 0 0 0 1px var(--maincolor), 0 6px 16px rgba(30, 68, 131, 0.1);
}
.trx-auth-type input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.trx-auth-type__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: var(--trx-radius-md);
	background: rgba(30, 68, 131, 0.08);
	color: var(--maincolor);
	margin-bottom: var(--trx-space-xs);
}
.trx-auth-type__title {
	font-size: var(--trx-type-title-sm);
	font-weight: 600;
	color: #1a2332;
}
.trx-auth-type__sub {
	font-size: var(--trx-type-body-sm);
	color: #6b7a90;
	line-height: 1.4;
}

.trx-auth-terms {
	margin-top: var(--trx-space-lg);
	font-size: var(--trx-type-body-md);
}
.trx-auth-terms a {
	color: var(--maincolor);
	font-weight: 500;
}

.trx-auth-order {
	background: #fff;
	border: 1px solid rgba(30, 68, 131, 0.12);
	border-radius: var(--trx-radius-xl);
	box-shadow: 0 8px 24px rgba(15, 31, 61, 0.05);
	padding: var(--trx-space-lg);
	position: sticky;
	top: var(--trx-space-lg);
}
.trx-auth-order--free {
	background: linear-gradient(165deg, #ffffff 0%, #f7fbf9 100%);
}
.trx-auth-order__eyebrow {
	font-size: var(--trx-type-label-md);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b7a90;
	margin-bottom: var(--trx-space-xxs);
}
.trx-auth-order__name {
	font-size: var(--trx-type-title-lg);
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #1a2332;
	margin-bottom: var(--trx-space-xs);
}
.trx-auth-order__price-row {
	display: flex;
	align-items: baseline;
	gap: 0.25rem;
	margin-bottom: var(--trx-space-xs);
}
.trx-auth-order__price {
	font-size: var(--trx-type-headline-sm);
	font-weight: 700;
	color: var(--maincolor);
	letter-spacing: -0.02em;
}
.trx-auth-order__period {
	font-size: var(--trx-type-body-md);
	font-weight: 500;
	color: #5a6578;
}
.trx-auth-order__blurb {
	font-size: var(--trx-type-body-md);
	line-height: 1.5;
	color: #3d4a5c;
	margin-bottom: var(--trx-space-sm);
}
.trx-auth-order__features {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--trx-space-md);
}
.trx-auth-order__features li {
	display: flex;
	align-items: flex-start;
	gap: var(--trx-space-xs);
	font-size: var(--trx-type-body-md);
	line-height: 1.45;
	color: #2d3748;
	margin-bottom: var(--trx-space-xs);
}
.trx-auth-order__features .bi {
	color: var(--maincolor);
	flex-shrink: 0;
	margin-top: 0.1rem;
}
.trx-auth-order__note {
	display: flex;
	align-items: flex-start;
	gap: var(--trx-space-xs);
	font-size: var(--trx-type-body-sm);
	line-height: 1.45;
	color: #2d5a41;
	background: #eef8f2;
	border: 1px solid #cdeeda;
	border-radius: var(--trx-radius-md);
	padding: var(--trx-space-sm);
	margin-bottom: var(--trx-space-sm);
}
.trx-auth-order__note .bi {
	color: #2d8659;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

.trx-auth-welcome__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: rgba(30, 68, 131, 0.08);
	color: var(--maincolor);
	font-size: 1.75rem;
	margin-bottom: var(--trx-space-md);
}
.trx-auth-welcome__title {
	font-size: var(--trx-type-headline-md);
	font-weight: 600;
	letter-spacing: -0.015em;
	color: #1a2332;
	margin-bottom: var(--trx-space-xs);
}
.trx-auth-welcome__sub {
	font-size: var(--trx-type-body-md);
	color: #5a6578;
	max-width: 32rem;
	margin: 0 auto var(--trx-space-lg);
}
.trx-auth-welcome__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--trx-space-sm);
	margin-bottom: var(--trx-space-lg);
}
.trx-auth-welcome__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--trx-space-md);
	border-top: 1px solid rgba(30, 68, 131, 0.1);
	padding-top: var(--trx-space-md);
}
.trx-auth-welcome__links a {
	font-size: var(--trx-type-label-lg);
	font-weight: 500;
	color: var(--maincolor);
}
.trx-auth-welcome__links a:hover {
	text-decoration: underline;
}

@media (max-width: 991.98px) {
	.trx-auth {
		padding: var(--trx-space-xl) 0 var(--trx-space-xxl);
	}
	.trx-auth__shell {
		max-width: 34rem;
	}
	.trx-auth-card {
		padding: var(--trx-space-xl) var(--trx-space-lg);
	}
	.trx-auth-order {
		position: static;
	}
}
@media (max-width: 767.98px) {
	.trx-auth-types {
		grid-template-columns: 1fr;
	}
	.trx-auth-card--wide {
		padding: var(--trx-space-lg);
	}
	.trx-auth-welcome__actions .btn {
		width: 100%;
	}
}

/* ============================================================
   Public portal upgrade primitives (2026-07)
   Skip link, header search, toasts, chips, skeletons, share,
   tabs, save-job, skill tags
   ============================================================ */

/* Skip to content */
.trx-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 10000;
	background: var(--maincolor);
	color: #fff;
	padding: 10px 18px;
	border-radius: 0 0 var(--trx-radius-md) 0;
	font-size: var(--trx-type-label-lg);
	font-weight: 600;
}
.trx-skip-link:focus {
	left: 0;
	color: #fff;
	outline: 2px solid #fff;
	outline-offset: -4px;
}

/* Header compact job search */
.trx-nav-search {
	position: relative;
	display: flex;
	align-items: center;
}
.trx-nav-search__icon {
	position: absolute;
	left: 12px;
	color: #6b7a90;
	font-size: 0.85rem;
	pointer-events: none;
}
.trx-nav-search__input {
	width: 180px;
	height: 38px;
	border: 1px solid rgba(30, 68, 131, 0.16);
	border-radius: 999px;
	background: #f3f6fa;
	padding: 0 14px 0 32px;
	font-size: var(--trx-type-body-sm);
	color: #1a2332;
	transition: width 0.2s ease, border-color 0.15s ease, background 0.15s ease;
}
.trx-nav-search__input:focus {
	width: 230px;
	outline: none;
	border-color: var(--maincolor);
	background: #fff;
}
.trx-nav-search-item {
	display: flex !important;
	align-items: center;
	padding: 0 6px;
}
@media (max-width: 1199.98px) {
	.trx-nav-search-item { display: none !important; }
}

/* Toasts */
.trx-toast-region {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: min(360px, calc(100vw - 32px));
}
.trx-toast {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: #1a2332;
	color: #fff;
	border-radius: var(--trx-radius-lg);
	padding: 12px 16px;
	font-size: var(--trx-type-body-md);
	line-height: 1.45;
	box-shadow: 0 12px 32px rgba(15, 31, 61, 0.28);
	animation: trxToastIn 0.25s ease;
}
.trx-toast--success { background: #1f5c3d; }
.trx-toast--error { background: #7a2434; }
.trx-toast .bi { flex-shrink: 0; margin-top: 2px; }
.trx-toast__close {
	margin-left: auto;
	background: none;
	border: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 1rem;
	line-height: 1;
	padding: 0;
	cursor: pointer;
}
.trx-toast__close:hover { color: #fff; }
@keyframes trxToastIn {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Active filter chips */
.trx-chip-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: var(--trx-space-md);
}
.trx-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(30, 68, 131, 0.08);
	color: var(--maincolor);
	border: 1px solid rgba(30, 68, 131, 0.14);
	border-radius: 999px;
	padding: 5px 12px;
	font-size: var(--trx-type-label-lg);
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.trx-chip:hover {
	background: rgba(30, 68, 131, 0.14);
	color: var(--maincolor);
}
.trx-chip .bi {
	font-size: 0.75rem;
}
.trx-chip--clear {
	background: transparent;
	border-color: transparent;
	color: #6b7a90;
	text-decoration: underline;
}
.trx-chip--clear:hover { color: #1a2332; background: transparent; }

/* Quick filter chips (e.g. Remote) */
.trx-quick-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: var(--trx-space-sm);
}
.trx-quick-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid rgba(30, 68, 131, 0.2);
	border-radius: 999px;
	background: #fff;
	color: #3d4a5c;
	padding: 6px 14px;
	font-size: var(--trx-type-label-lg);
	font-weight: 500;
	text-decoration: none;
	transition: all 0.15s ease;
}
.trx-quick-chip:hover { border-color: var(--maincolor); color: var(--maincolor); }
.trx-quick-chip.is-active {
	background: var(--maincolor);
	border-color: var(--maincolor);
	color: #fff;
}

/* Skeleton shimmer */
.trx-skeleton {
	position: relative;
	overflow: hidden;
	background: #e9eef5;
	border-radius: var(--trx-radius-md);
}
.trx-skeleton::after {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
	animation: trxShimmer 1.4s infinite;
}
@keyframes trxShimmer {
	100% { transform: translateX(100%); }
}

/* Share buttons */
.trx-share-row {
	display: flex;
	align-items: center;
	gap: 8px;
}
.trx-share-row__label {
	font-size: var(--trx-type-label-lg);
	font-weight: 600;
	color: #6b7a90;
	margin-right: 2px;
}
.trx-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(30, 68, 131, 0.16);
	background: #fff;
	color: #3d4a5c;
	font-size: 0.95rem;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.15s ease;
}
.trx-share-btn:hover {
	border-color: var(--maincolor);
	color: var(--maincolor);
	background: rgba(30, 68, 131, 0.05);
}

/* Tabs */
.trx-tabs {
	display: flex;
	gap: 4px;
	border-bottom: 1px solid rgba(30, 68, 131, 0.12);
	margin-bottom: var(--trx-space-md);
}
.trx-tab {
	appearance: none;
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: 10px 16px;
	font-size: var(--trx-type-body-md);
	font-weight: 500;
	color: #5a6578;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.trx-tab:hover { color: var(--maincolor); }
.trx-tab.is-active {
	color: var(--maincolor);
	border-bottom-color: var(--maincolor);
	font-weight: 600;
}

/* Save job heart */
.trx-save-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(30, 68, 131, 0.16);
	background: #fff;
	color: #6b7a90;
	font-size: 1rem;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.15s ease;
}
.trx-save-btn:hover { border-color: #c94a63; color: #c94a63; }
.trx-save-btn.is-saved {
	background: #fdf1f4;
	border-color: #c94a63;
	color: #c94a63;
}

/* Skill tags */
.trx-skill-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.trx-skill-tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #f3f6fa;
	border: 1px solid rgba(30, 68, 131, 0.1);
	border-radius: var(--trx-radius-sm, 6px);
	color: #3d4a5c;
	padding: 3px 10px;
	font-size: var(--trx-type-label-lg);
	font-weight: 500;
	line-height: 1.4;
}
.trx-skill-tag--required {
	background: rgba(30, 68, 131, 0.08);
	color: var(--maincolor);
	border-color: rgba(30, 68, 131, 0.18);
}
.trx-skill-tag--more {
	background: transparent;
	border-style: dashed;
	color: #6b7a90;
}

/* —— Admin panel extensions —— */
.trx-admin-kpi {
	background: #fff;
	border: 1px solid rgba(15, 31, 61, 0.08);
}
.trx-admin-kanban__col {
	min-width: 220px;
}
.trx-admin-skeleton__cell {
	height: 1rem;
	background: linear-gradient(90deg, #eef1f5 25%, #f8f9fb 50%, #eef1f5 75%);
	background-size: 200% 100%;
	animation: trxSkeleton 1.2s ease-in-out infinite;
	border-radius: 4px;
}
@keyframes trxSkeleton {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}
.trx-admin-table-wrap.is-loading .trx-admin-table-body {
	opacity: 0.45;
}
.trx-empty-state__icon {
	font-size: 2rem;
	color: #94a3b8;
}
.trx-admin-timeline__item {
	border-color: rgba(15, 31, 61, 0.15) !important;
}
.trx-admin-breadcrumbs .breadcrumb {
	background: transparent;
}

/* ------------------------------------------------------------------
   Home hero slider (.trx-hs)
   Pattern: Zanora brand hierarchy + Solar veil/CTAs/dots/progress
   Height: min(82vh, 680px) — tall presence, capped for desktop
   ------------------------------------------------------------------ */
.trx-hs {
	--trx-hs-h: min(82vh, 680px);
	--trx-hs-pad-x: clamp(1.25rem, 5vw, 4.5rem);
	position: relative;
	width: 100%;
	min-height: var(--trx-hs-h);
	overflow: hidden;
	background: #0a1628;
	color: #fff;
	isolation: isolate;
}
.trx-hs__track,
.trx-hs__slide {
	position: absolute;
	inset: 0;
}
.trx-hs__slide {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.9s ease, visibility 0.9s ease;
	pointer-events: none;
}
.trx-hs__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
	pointer-events: auto;
}
.trx-hs__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.trx-hs__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 72% center;
	transform: scale(1.08);
	transition: none;
}
.trx-hs__slide.is-active .trx-hs__media img {
	animation: trxHsKenBurns 14s ease-out forwards;
}
@keyframes trxHsKenBurns {
	from { transform: scale(1.12) translate(0, 0); }
	to { transform: scale(1.02) translate(-1.2%, -0.8%); }
}
.trx-hs__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(100deg, rgba(8, 18, 34, 0.88) 0%, rgba(8, 18, 34, 0.58) 38%, rgba(8, 18, 34, 0.18) 68%, rgba(8, 18, 34, 0.22) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.28) 100%);
}
.trx-hs__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 38rem;
	min-height: var(--trx-hs-h);
	padding: 5.5rem var(--trx-hs-pad-x) 6rem;
	margin: 0;
}
.trx-hs__eyebrow,
.trx-hs__lead {
	font-family: "Source Sans 3", "Segoe UI", sans-serif;
	font-size: 1.05rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
}
.trx-hs__eyebrow {
	margin: 0 0 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.trx-hs__title {
	margin: 0 0 1rem;
	max-width: 14ch;
	font-family: "Fraunces", Georgia, serif;
	font-weight: 700;
	font-size: clamp(2.15rem, 4.2vw, 3.15rem);
	line-height: 1.12;
	letter-spacing: -0.03em;
	color: #fff;
}
.trx-hs__lead {
	margin: 0;
	max-width: 32rem;
	font-weight: 400;
}
.trx-hs__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}
.trx-hs__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.75rem 1.4rem;
	font-family: "Source Sans 3", "Segoe UI", sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none;
	border: 1.5px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.trx-hs__btn--solid {
	background: #fff;
	color: #1e4483;
}
.trx-hs__btn--solid:hover,
.trx-hs__btn--solid:focus {
	background: #eef2f8;
	color: #16305c;
	text-decoration: none;
}
.trx-hs__btn--ghost {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.55);
}
.trx-hs__btn--ghost:hover,
.trx-hs__btn--ghost:focus {
	background: rgba(255, 255, 255, 0.1);
	border-color: #fff;
	color: #fff;
	text-decoration: none;
}
.trx-hs__arrows {
	position: absolute;
	z-index: 3;
	inset: 0;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0.85rem;
}
.trx-hs__arrow {
	pointer-events: auto;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.85);
	color: #1e4483;
	background: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.trx-hs__arrow:hover {
	background: #1e4483;
	border-color: #1e4483;
	color: #fff;
}
.trx-hs__controls {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: 1.35rem;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35rem 0.55rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.88);
}
.trx-hs__dot {
	width: 0.55rem;
	height: 0.55rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(30, 68, 131, 0.28);
	cursor: pointer;
	transition: width 0.3s ease, background-color 0.3s ease;
}
.trx-hs__dot.is-active {
	width: 1.55rem;
	background: #1e4483;
}
.trx-hs__progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	height: 3px;
	background: rgba(255, 255, 255, 0.18);
}
.trx-hs__progress-bar {
	display: block;
	height: 100%;
	width: 0;
	background: #ed2939;
}
@media (min-width: 1400px) {
	.trx-hs {
		--trx-hs-h: min(76vh, 760px);
	}
}
@media (max-width: 767.98px) {
	.trx-hs {
		--trx-hs-h: min(78vh, 560px);
	}
	.trx-hs__arrows {
		display: none;
	}
	.trx-hs__content {
		max-width: none;
		justify-content: center;
		padding: 4.5rem 1.25rem 5.25rem;
	}
	.trx-hs__title,
	.trx-hs__lead {
		max-width: none;
	}
	.trx-hs__btn {
		flex: 1 1 auto;
	}
	.trx-hs__media img {
		object-position: center center;
	}
	.trx-hs__veil {
		background:
			linear-gradient(180deg, rgba(8, 18, 34, 0.45) 0%, rgba(8, 18, 34, 0.72) 48%, rgba(8, 18, 34, 0.9) 100%);
	}
}
@media (prefers-reduced-motion: reduce) {
	.trx-hs__slide,
	.trx-hs__dot,
	.trx-hs__progress-bar {
		transition: none !important;
	}
	.trx-hs__slide.is-active .trx-hs__media img {
		animation: none !important;
		transform: none;
	}
}
/* Trust badges strip */
.trx-trust-badges {
	background: #f6f8fa;
	border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.trx-trust-badges__item {
	font-size: 0.85rem;
	font-weight: 600;
	color: #334155;
	padding: 0.45rem 0.9rem;
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 0.25rem;
	background: #fff;
}

/* Home service preview cards */
.trx-home-services {
	background: #fff;
}
.trx-home-service-card {
	color: inherit;
	background: #fff;
	border: 1px solid rgba(30, 68, 131, 0.1);
	border-radius: 0.5rem;
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.trx-home-service-card:hover {
	border-color: rgba(30, 68, 131, 0.22);
	box-shadow: 0 14px 34px rgba(21, 53, 106, 0.1);
	transform: translateY(-2px);
	text-decoration: none;
	color: inherit;
}
.trx-home-service-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #e8eef6;
}
.trx-home-service-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.trx-home-service-card__body {
	padding: 1.15rem 1.25rem 1.35rem;
}
.trx-home-service-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--maincolor);
}

/* Category image tiles */
.trx-category-box {
	position: relative;
	min-height: 14rem;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.trx-category-box__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 20, 38, 0.15) 0%, rgba(8, 20, 38, 0.78) 100%);
}
.trx-category-box__content {
	position: relative;
	z-index: 1;
}

/* Candidate / employer benefit panels */
.trx-home-benefits {
	background: #f4f7fb;
}
.trx-home-benefit {
	position: relative;
	min-height: 28rem;
	background-size: cover;
	background-position: center;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}
.trx-home-benefit__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 20, 38, 0.2) 0%, rgba(8, 20, 38, 0.82) 100%);
}
.trx-home-benefit__content {
	position: relative;
	z-index: 1;
	padding: 2rem 1.75rem;
	color: #fff;
	width: 100%;
}
.trx-home-benefit__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
}
.trx-home-benefit__title {
	margin: 0 0 1rem;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}
.trx-home-benefit__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.trx-home-benefit__list li {
	position: relative;
	padding-left: 1.1rem;
	margin-bottom: 0.55rem;
	font-size: 0.92rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.88);
}
.trx-home-benefit__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	background: #fff;
}
@media (max-width: 575.98px) {
	.trx-home-benefit,
	.trx-home-benefit__content {
		min-height: 24rem;
	}
	.trx-home-benefit__content {
		padding: 1.5rem 1.25rem;
	}
}

/* Footer social + map */
.trx-footer-social a {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.15rem;
}
.trx-footer-social a:hover {
	color: #fff;
}
.trx-footer-map iframe {
	border: 0;
	width: 100%;
	height: 100%;
	min-height: 180px;
}
.trx-jcard__logo--initial i {
	font-size: 1rem;
}

