/*
========================================
TRISTAR GLOBAL VARIABLES
========================================
*/

:root {
	--tristar-navy: #082955;
	--tristar-blue: #0a5fde;
	--tristar-red: #e52222;
	--tristar-red-dark: #bd1515;
	--tristar-dark: #061b33;
	--tristar-light: #f4f7fa;
	--tristar-white: #ffffff;
	--tristar-text: #1a2435;
	--tristar-muted: #5a6677;
	--tristar-border: #dce3eb;
	--tristar-radius: 6px;
	--tristar-content-width: 1180px;
}


/*
========================================
GENERAL PAGE STYLING
========================================
*/

html {
	scroll-behavior: smooth;
}

body {
	color: var(--tristar-text);
	background: var(--tristar-white);
}

.site-main {
	overflow-x: hidden;
}

.entry-content {
	margin-top: 0;
}

.entry-content > .alignfull {
	margin-top: 0;
	margin-bottom: 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	color: var(--tristar-navy);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.025em;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: none;
}

.entry-content p,
.entry-content li,
.entry-content a {
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: none;
}

.entry-content p,
.entry-content li {
	line-height: 1.65;
}

.site-title {
	color: var(--tristar-blue);
}


/*
========================================
TRISTAR CUSTOM HEADER
OPTION 5 — ANGLED NAVY LOGO PANEL
========================================
*/

#tristar-custom-header,
#tristar-custom-header * {
	box-sizing: border-box;
}

#tristar-custom-header {
	--tristar-header-navy: var(--tristar-navy, #082955);
	--tristar-header-dark: var(--tristar-dark, #061b33);
	--tristar-header-blue: var(--tristar-blue, #0a5fde);
	--tristar-header-red: var(--tristar-red, #e52222);
	--tristar-header-red-dark: var(--tristar-red-dark, #bd1515);
	--tristar-header-white: var(--tristar-white, #ffffff);
	--tristar-header-width: 1760px;
	position: relative;
	z-index: 1000;
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--tristar-header-white);
}

#tristar-custom-header a {
	text-decoration: none;
}

#tristar-custom-header img {
	max-width: 100%;
}

#tristar-custom-header .tristar-custom-header__frame {
	position: relative;
	width: 100%;
	margin: 0 0 -1px;
	padding: 0;
	overflow: visible;
	background: var(--tristar-header-white);
	border-bottom: 0;
	box-shadow: 0 10px 28px rgba(6, 27, 51, 0.11), 0 2px 6px rgba(6, 27, 51, 0.05);
}

#tristar-custom-header .tristar-custom-header__accent {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 5;
	height: 8px;
	background: linear-gradient(90deg, #061b33 0%, #082955 50%, #061b33 100%);
}

#tristar-custom-header .tristar-custom-header__inner {
	position: relative;
	display: grid;
	grid-template-columns: 250px minmax(300px, 0.9fr) minmax(560px, 1.45fr) auto;
	align-items: center;
	column-gap: clamp(22px, 2.3vw, 42px);
	width: 100%;
	max-width: var(--tristar-header-width);
	min-height: 126px;
	margin: 0 auto;
	padding: 8px clamp(28px, 4vw, 66px) 0 0;
	background: var(--tristar-header-white);
}

#tristar-custom-header .tristar-custom-header__logo-panel {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	width: 100%;
	min-width: 0;
	min-height: 118px;
	padding: 18px 48px 18px clamp(28px, 4vw, 58px);
	overflow: visible;
	isolation: isolate;
	background: linear-gradient(135deg, #061b33 0%, #082955 58%, #061b33 100%);
	clip-path: polygon(0 0, calc(100% - 42px) 0, 100% 50%, calc(100% - 42px) 100%, 0 100%);
}


#tristar-custom-header .tristar-custom-header__logo-panel::after {
	position: absolute;
	inset: 0;
	z-index: -2;
	content: "";
	pointer-events: none;
	background: radial-gradient(circle at 35% 45%, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0) 52%);
}

#tristar-custom-header .tristar-custom-header__logo {
	display: block;
	width: auto;
	max-width: 112px;
	height: auto;
	max-height: 92px;
	margin: 0;
	object-fit: contain;
	object-position: center;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.18));
}

#tristar-custom-header .tristar-custom-header__identity {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	min-width: 0;
	padding: 12px 0;
}

#tristar-custom-header .tristar-custom-header__company {
	margin: 0 0 5px;
	color: var(--tristar-header-navy);
	font-size: clamp(20px, 1.55vw, 27px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: 0.005em;
	text-transform: uppercase;
	white-space: nowrap;
}

#tristar-custom-header .tristar-custom-header__tagline {
	margin: 0;
	color: #3f4856;
	font-size: clamp(14px, 1.05vw, 18px);
	font-weight: 400;
	line-height: 1.3;
	white-space: nowrap;
}

#tristar-custom-header .tristar-custom-header__desktop-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-width: 0;
	gap: 0;
}

#tristar-custom-header .tristar-custom-header__nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 4px clamp(18px, 1.55vw, 29px);
	color: var(--tristar-header-dark);
	font-size: clamp(12px, 0.82vw, 14px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.005em;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color 0.2s ease;
}

#tristar-custom-header .tristar-custom-header__nav-link + .tristar-custom-header__nav-link::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 30px;
	content: "";
	background: rgba(229, 34, 34, 0.8);
	transform: translateY(-50%);
}

#tristar-custom-header .tristar-custom-header__nav-link::after {
	position: absolute;
	bottom: 2px;
	left: 50%;
	width: 0;
	height: 3px;
	content: "";
	background: var(--tristar-header-blue);
	border-radius: 20px;
	transform: translateX(-50%);
	transition: width 0.2s ease, background-color 0.2s ease;
}

#tristar-custom-header .tristar-custom-header__nav-link:hover,
#tristar-custom-header .tristar-custom-header__nav-link:focus {
	color: var(--tristar-header-blue);
}

#tristar-custom-header .tristar-custom-header__nav-link:hover::after,
#tristar-custom-header .tristar-custom-header__nav-link:focus::after {
	width: calc(100% - 36px);
	background: var(--tristar-header-blue);
}

#tristar-custom-header .tristar-custom-header__nav-link[aria-current="page"] {
	color: var(--tristar-header-red);
}

#tristar-custom-header .tristar-custom-header__nav-link[aria-current="page"]::after {
	width: calc(100% - 36px);
	background: var(--tristar-header-red);
}

body.home #tristar-custom-header .tristar-custom-header__nav-link.nav-home,
body.page-about-us #tristar-custom-header .tristar-custom-header__nav-link.nav-about,
body.page-facilities-services #tristar-custom-header .tristar-custom-header__nav-link.nav-facilities,
body.page-contact-us #tristar-custom-header .tristar-custom-header__nav-link.nav-contact {
	color: var(--tristar-header-red);
}

body.home #tristar-custom-header .tristar-custom-header__nav-link.nav-home::after,
body.page-about-us #tristar-custom-header .tristar-custom-header__nav-link.nav-about::after,
body.page-facilities-services #tristar-custom-header .tristar-custom-header__nav-link.nav-facilities::after,
body.page-contact-us #tristar-custom-header .tristar-custom-header__nav-link.nav-contact::after {
	width: calc(100% - 36px);
	background: var(--tristar-header-red);
}

body.home #tristar-custom-header .tristar-custom-header__nav-link.nav-home:hover,
body.page-about-us #tristar-custom-header .tristar-custom-header__nav-link.nav-about:hover,
body.page-facilities-services #tristar-custom-header .tristar-custom-header__nav-link.nav-facilities:hover,
body.page-contact-us #tristar-custom-header .tristar-custom-header__nav-link.nav-contact:hover {
	color: var(--tristar-header-blue);
}

body.home #tristar-custom-header .tristar-custom-header__nav-link.nav-home:hover::after,
body.page-about-us #tristar-custom-header .tristar-custom-header__nav-link.nav-about:hover::after,
body.page-facilities-services #tristar-custom-header .tristar-custom-header__nav-link.nav-facilities:hover::after,
body.page-contact-us #tristar-custom-header .tristar-custom-header__nav-link.nav-contact:hover::after {
	background: var(--tristar-header-blue);
}

#tristar-custom-header .tristar-custom-header__quote-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: end;
	min-width: 202px;
	min-height: 54px;
	margin-left: clamp(8px, 1vw, 18px);
	padding: 13px 24px;
	color: var(--tristar-header-white);
	background: linear-gradient(180deg, #ef2f2f 0%, #e52222 100%);
	border: 1px solid rgba(189, 21, 21, 0.36);
	border-radius: 4px;
	box-shadow: 0 8px 18px rgba(229, 34, 34, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.015em;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

#tristar-custom-header .tristar-custom-header__quote-button:hover,
#tristar-custom-header .tristar-custom-header__quote-button:focus {
	color: var(--tristar-header-white);
	background: linear-gradient(180deg, #d91e1e 0%, #bd1515 100%);
	border-color: var(--tristar-header-red-dark);
	box-shadow: 0 10px 22px rgba(189, 21, 21, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

#tristar-custom-header .tristar-custom-header__mobile-menu {
	display: none;
	margin: 0;
	padding: 0;
}

#tristar-custom-header .tristar-custom-header__mobile-menu summary {
	list-style: none;
}

#tristar-custom-header .tristar-custom-header__mobile-menu summary::-webkit-details-marker {
	display: none;
}

#tristar-custom-header .tristar-custom-header__menu-label {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#tristar-custom-header .tristar-custom-header__menu-icon {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 22px;
}

#tristar-custom-header .tristar-custom-header__menu-icon span {
	display: block;
	width: 100%;
	height: 2px;
	background: currentColor;
	border-radius: 20px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

#tristar-custom-header .tristar-custom-header__mobile-menu[open] .tristar-custom-header__menu-icon span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

#tristar-custom-header .tristar-custom-header__mobile-menu[open] .tristar-custom-header__menu-icon span:nth-child(2) {
	opacity: 0;
}

#tristar-custom-header .tristar-custom-header__mobile-menu[open] .tristar-custom-header__menu-icon span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

#tristar-custom-header .tristar-custom-header__mobile-nav {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	padding: 12px 22px 24px;
	background: var(--tristar-header-white);
	border-top: 3px solid var(--tristar-header-red);
	box-shadow: 0 18px 30px rgba(6, 27, 51, 0.18);
}

#tristar-custom-header .tristar-custom-header__mobile-nav > a:not(.tristar-custom-header__mobile-quote) {
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 10px 2px;
	color: var(--tristar-header-dark);
	border-bottom: 1px solid rgba(8, 41, 85, 0.11);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

#tristar-custom-header .tristar-custom-header__mobile-nav > a:not(.tristar-custom-header__mobile-quote):hover,
#tristar-custom-header .tristar-custom-header__mobile-nav > a:not(.tristar-custom-header__mobile-quote):focus {
	color: var(--tristar-header-blue);
}

#tristar-custom-header .tristar-custom-header__mobile-quote {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	margin-top: 18px;
	padding: 12px 20px;
	color: var(--tristar-header-white);
	background: var(--tristar-header-red);
	border-radius: 4px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

#tristar-custom-header .tristar-custom-header__mobile-quote:hover,
#tristar-custom-header .tristar-custom-header__mobile-quote:focus {
	color: var(--tristar-header-white);
	background: var(--tristar-header-red-dark);
}

@media (max-width: 1450px) {
	#tristar-custom-header .tristar-custom-header__inner {
		grid-template-columns: 220px minmax(250px, 0.75fr) minmax(500px, 1.35fr) auto;
		column-gap: 22px;
		padding-right: 30px;
	}

	#tristar-custom-header .tristar-custom-header__company {
		font-size: 21px;
	}

	#tristar-custom-header .tristar-custom-header__tagline {
		font-size: 17px;
	}

	#tristar-custom-header .tristar-custom-header__nav-link {
		padding-right: 20px;
		padding-left: 20px;
		font-size: 12px;
	}

	#tristar-custom-header .tristar-custom-header__quote-button {
		min-width: 178px;
		padding-right: 18px;
		padding-left: 18px;
		font-size: 13px;
	}
}

@media (max-width: 1180px) {
	#tristar-custom-header .tristar-custom-header__inner {
		grid-template-columns: 190px minmax(220px, 0.7fr) minmax(440px, 1.3fr) auto;
		column-gap: 18px;
		min-height: 110px;
		padding-right: 22px;
	}

	#tristar-custom-header .tristar-custom-header__logo-panel {
		min-height: 102px;
		padding-right: 40px;
	}

	#tristar-custom-header .tristar-custom-header__logo {
		max-width: 92px;
		max-height: 78px;
	}

	#tristar-custom-header .tristar-custom-header__company {
		font-size: 18px;
	}

	#tristar-custom-header .tristar-custom-header__tagline {
		font-size: 13px;
	}

	#tristar-custom-header .tristar-custom-header__nav-link {
		padding-right: 15px;
		padding-left: 15px;
		font-size: 12px;
	}

	#tristar-custom-header .tristar-custom-header__quote-button {
		min-width: 154px;
		min-height: 48px;
		font-size: 13px;
	}
}

@media (max-width: 1020px) {
	#tristar-custom-header .tristar-custom-header__inner {
		grid-template-columns: 170px minmax(0, 1fr) auto;
		min-height: 100px;
		padding-right: 20px;
	}

	#tristar-custom-header .tristar-custom-header__logo-panel {
		min-height: 92px;
		padding: 14px 38px 14px 20px;
	}

	#tristar-custom-header .tristar-custom-header__logo {
		max-width: 80px;
		max-height: 68px;
	}

	#tristar-custom-header .tristar-custom-header__company {
		font-size: 19px;
	}

	#tristar-custom-header .tristar-custom-header__tagline {
		font-size: 14px;
	}

	#tristar-custom-header .tristar-custom-header__desktop-nav,
	#tristar-custom-header .tristar-custom-header__quote-button {
		display: none;
	}

	#tristar-custom-header .tristar-custom-header__mobile-menu {
		position: static;
		display: block;
		justify-self: end;
	}

	#tristar-custom-header .tristar-custom-header__mobile-menu summary {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		min-width: 102px;
		min-height: 46px;
		padding: 10px 15px;
		color: var(--tristar-header-navy);
		background: var(--tristar-header-white);
		border: 2px solid var(--tristar-header-navy);
		border-radius: 4px;
		cursor: pointer;
	}
}

@media (max-width: 680px) {
	#tristar-custom-header .tristar-custom-header__accent {
		height: 6px;
	}

	#tristar-custom-header .tristar-custom-header__inner {
		grid-template-columns: 112px minmax(0, 1fr) auto;
		column-gap: 12px;
		min-height: 84px;
		padding: 6px 14px 0 0;
	}

	#tristar-custom-header .tristar-custom-header__logo-panel {
		min-height: 78px;
		padding: 11px 28px 11px 13px;
		clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 50%, calc(100% - 26px) 100%, 0 100%);
	}


	#tristar-custom-header .tristar-custom-header__logo {
		max-width: 59px;
		max-height: 56px;
	}

	#tristar-custom-header .tristar-custom-header__identity {
		padding: 8px 0;
	}

	#tristar-custom-header .tristar-custom-header__company {
		margin-bottom: 3px;
		font-size: clamp(13px, 3.5vw, 17px);
		white-space: normal;
	}

	#tristar-custom-header .tristar-custom-header__tagline {
		font-size: 11px;
		white-space: normal;
	}

	#tristar-custom-header .tristar-custom-header__mobile-menu summary {
		width: 46px;
		min-width: 46px;
		height: 44px;
		padding: 10px;
	}

	#tristar-custom-header .tristar-custom-header__menu-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	#tristar-custom-header .tristar-custom-header__mobile-nav {
		padding-right: 16px;
		padding-left: 16px;
	}
}

@media (max-width: 420px) {
	#tristar-custom-header .tristar-custom-header__inner {
		grid-template-columns: 96px minmax(0, 1fr) auto;
		column-gap: 8px;
		padding-right: 10px;
	}

	#tristar-custom-header .tristar-custom-header__logo-panel {
		padding-left: 10px;
	}

	#tristar-custom-header .tristar-custom-header__logo {
		max-width: 52px;
		max-height: 51px;
	}

	#tristar-custom-header .tristar-custom-header__company {
		font-size: 12px;
	}

	#tristar-custom-header .tristar-custom-header__tagline {
		font-size: 10px;
	}
}

#tristar-custom-header a:focus-visible,
#tristar-custom-header summary:focus-visible {
	outline: 3px solid rgba(10, 95, 222, 0.48);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	#tristar-custom-header *,
	#tristar-custom-header *::before,
	#tristar-custom-header *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

body:has(#tristar-custom-header) > #page > #masthead:not(:has(#tristar-custom-header)),
body:has(#tristar-custom-header) .site-header:not(:has(#tristar-custom-header)) {
	display: none !important;
}

/*
========================================
GLOBAL BUTTONS
========================================
*/

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	min-height: 48px;
	padding: 12px 24px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	border: 2px solid transparent;
	border-radius: var(--tristar-radius);
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.wp-block-button__link:hover {
}

.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button__link.has-primary-background-color {
	color: var(--tristar-white);
	background: var(--tristar-red);
	border-color: var(--tristar-red);
}

.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button__link.has-primary-background-color:hover {
	background: var(--tristar-red-dark);
	border-color: var(--tristar-red-dark);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--tristar-white);
	background: transparent;
	border-color: rgba(255, 255, 255, 0.8);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: var(--tristar-navy);
	background: var(--tristar-white);
	border-color: var(--tristar-white);
}


/*
========================================
HERO
THE TRUST STRIP IS NESTED INSIDE THE COVER
========================================
*/

.tristar-hero {
	position: relative;
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
	min-height: clamp(650px, 68vw, 760px) !important;
	padding: 0 !important;
	overflow: hidden;
	isolation: isolate;
}

.tristar-hero::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(2, 14, 28, 0) 0%,
			rgba(2, 14, 28, 0.04) 54%,
			rgba(2, 14, 28, 0.68) 100%
		),
		linear-gradient(
			90deg,
			rgba(2, 14, 28, 0.9) 0%,
			rgba(2, 14, 28, 0.72) 40%,
			rgba(2, 14, 28, 0.2) 72%,
			rgba(2, 14, 28, 0.06) 100%
		);
}

.tristar-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: inherit;
	margin: 0;
	padding: 0;
}

.tristar-hero .wp-block-cover__inner-container > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.tristar-hero-content {
	display: flex !important;
	justify-content: center;
	flex: 1 1 auto;
	flex-direction: column;
	box-sizing: border-box;
	width: min(100% - 40px, var(--tristar-content-width)) !important;
	max-width: var(--tristar-content-width) !important;
	min-height: 0;
	margin: 0 auto !important;
	padding: clamp(54px, 7vw, 92px) 0 clamp(38px, 5vw, 66px);
}

.tristar-hero-content > .wp-block-group__inner-container {
	width: 100%;
}

.tristar-hero h1 {
	max-width: 760px;
	margin-top: 0;
	margin-bottom: 22px;
	color: var(--tristar-white);
	font-size: clamp(52px, 7vw, 86px) !important;
	line-height: 0.97;
	letter-spacing: -0.045em;
	text-align: left;
	text-transform: uppercase;
}

.tristar-hero p {
	max-width: 580px;
	margin: 0 0 30px;
	color: var(--tristar-white);
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.55;
	text-align: left;
}

.tristar-hero .wp-block-buttons {
	justify-content: flex-start;
	gap: 14px;
}


/*
========================================
STANDARD SECTIONS
========================================
*/

.tristar-section {
	box-sizing: border-box;
	padding-top: clamp(70px, 8vw, 108px);
	padding-right: 24px;
	padding-bottom: clamp(70px, 8vw, 108px);
	padding-left: 24px;
}

.tristar-section-small {
	box-sizing: border-box;
	padding-top: clamp(44px, 6vw, 72px);
	padding-right: 24px;
	padding-bottom: clamp(44px, 6vw, 72px);
	padding-left: 24px;
}

.tristar-section-label {
	margin: 0 0 18px !important;
	color: var(--tristar-red);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-align: center;
	text-transform: uppercase;
}

.tristar-section-title {
	max-width: 900px;
	margin: 0 auto 48px;
	color: var(--tristar-navy);
	font-size: clamp(38px, 5vw, 60px);
	font-weight: 800;
	line-height: 1.03;
	letter-spacing: -0.035em;
	text-align: center;
	text-transform: uppercase;
}


/*
========================================
ICONS
========================================
*/

.tristar-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: var(--tristar-blue);
}

.tristar-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tristar-icon-small {
	width: 28px;
	height: 28px;
}

.tristar-icon-medium {
	width: 52px;
	height: 52px;
}

.tristar-icon-large {
	width: 68px;
	height: 68px;
}


/*
========================================
TRUST BAR
INTEGRATED INTO THE BOTTOM OF THE HERO
========================================
*/

.tristar-trust-bar {
	position: relative;
	z-index: 3;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 18px 24px 22px;
	color: var(--tristar-white);
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0.08) 0%,
			rgba(6, 27, 51, 0.38) 100%
		);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.tristar-trust-bar > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.tristar-trust-bar .wp-block-columns {
	width: 100%;
	max-width: var(--tristar-content-width);
	margin: 0 auto;
	gap: 0;
}

.tristar-trust-bar .wp-block-column {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 82px;
	padding: 14px 28px;
	border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.tristar-trust-bar .wp-block-column:last-child {
	border-right: 0;
}

.tristar-trust-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: 100%;
}

/*
Use one optical icon box for the full trust strip. The two Lucide icons
receive small size adjustments below so they balance with the existing
location and rail drawings without changing those drawings.
*/

.tristar-trust-item .tristar-icon {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	color: var(--tristar-white);
}

.tristar-trust-item .tristar-icon svg {
	width: 48px;
	height: 48px;
	stroke-width: 2;
}

.tristar-trust-item .tristar-icon svg * {
	vector-effect: non-scaling-stroke;
}

.tristar-trust-item .tristar-trust-icon--award svg {
	width: 52px;
	height: 52px;
}

.tristar-trust-item .tristar-trust-icon--shield-check svg {
	width: 50px;
	height: 50px;
}

.tristar-trust-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.tristar-trust-number {
	color: var(--tristar-white);
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.tristar-trust-label {
	margin-top: 5px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* BNSF logo replaces the former rail icon + text trust item. */
.tristar-trust-item--logo {
	justify-content: center;
}

.tristar-trust-logo {
	display: block;
	width: auto;
	max-width: 185px;
	height: auto;
	max-height: 68px;
	margin: 0 auto;
	object-fit: contain;
}


/*
========================================
SERVICES SECTION
REFERENCE IMAGE LAYOUT
NO LEARN MORE LINKS
NO TOP CARD BORDER
========================================
*/

.tristar-services {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding-top: clamp(62px, 6vw, 92px);
	padding-right: 24px;
	padding-bottom: clamp(36px, 4vw, 52px);
	padding-left: 24px;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f5f7fa 100%
		);
}


/*
========================================
OVERRIDE WORDPRESS CONSTRAINED WIDTH
========================================
*/

.tristar-services > .wp-block-group__inner-container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1460px !important;
	margin-right: auto;
	margin-left: auto;
}

.tristar-services.is-layout-constrained > :where(
	:not(.alignleft):not(.alignright):not(.alignfull)
) {
	width: 100%;
	max-width: 1460px !important;
}


/*
========================================
SECTION LABEL
========================================
*/

.tristar-services .tristar-section-label {
	margin: 0 0 18px !important;
	color: var(--tristar-red);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-align: center;
	text-transform: uppercase;
}


/*
========================================
SECTION TITLE
========================================
*/

.tristar-services .tristar-section-title {
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px !important;
	margin: 0 auto 44px;
	padding: 0;
	color: var(--tristar-navy);
	font-size: clamp(38px, 4.5vw, 62px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.035em;
	text-align: center;
	text-transform: uppercase;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}


/*
========================================
SERVICE GRID
DESKTOP — SIX CARDS ACROSS
========================================
*/

.tristar-service-grid {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items: stretch;
	gap: 14px;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 1420px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.tristar-service-grid > .wp-block-column {
	display: flex;
	align-items: stretch;
	flex-basis: auto !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
SERVICE CARDS
========================================
*/

.tristar-service-card {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 390px;
	margin: 0 !important;
	padding: 32px 17px 28px;
	overflow: hidden;
	color: var(--tristar-white);
	border: 0 !important;
	border-top: 0 !important;
	border-radius: 9px;
	outline: 0;
	box-shadow: 0 14px 30px rgba(6, 27, 51, 0.16);
	text-align: center;
	transition:
		transform 0.24s ease,
		box-shadow 0.24s ease;
}

/*
Remove the former decorative top line.
*/

.tristar-service-card::before {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	content: none !important;
	background: none !important;
}

.tristar-service-card::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.055) 0%,
			rgba(255, 255, 255, 0) 38%,
			rgba(0, 0, 0, 0.08) 100%
		);
}

.tristar-service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 44px rgba(6, 27, 51, 0.24);
}


/*
========================================
SERVICE CARD COLORS
========================================
*/

.tristar-service-grid > .wp-block-column:nth-child(1) .tristar-service-card,
.tristar-service-grid > .wp-block-column:nth-child(4) .tristar-service-card {
	background:
		linear-gradient(
			155deg,
			#0d376d 0%,
			#061b33 100%
		);
}

.tristar-service-grid > .wp-block-column:nth-child(2) .tristar-service-card,
.tristar-service-grid > .wp-block-column:nth-child(5) .tristar-service-card {
	background:
		linear-gradient(
			155deg,
			#1268e8 0%,
			#08439d 100%
		);
}

.tristar-service-grid > .wp-block-column:nth-child(3) .tristar-service-card,
.tristar-service-grid > .wp-block-column:nth-child(6) .tristar-service-card {
	background:
		linear-gradient(
			155deg,
			#ef2d2d 0%,
			#bf1118 100%
		);
}


/*
========================================
SERVICE ICONS
========================================
*/

.tristar-service-card .wp-block-html {
	position: relative;
	z-index: 2;
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

.tristar-service-card .tristar-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	margin: 0 auto;
	color: var(--tristar-white);
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.tristar-service-card .tristar-icon svg {
	display: block;
	width: 58px;
	height: 58px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/*
========================================
SERVICE HEADINGS
========================================
*/

.tristar-service-card h3 {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 195px;
	min-height: 60px;
	margin: 0 auto 21px !important;
	padding: 0 !important;
	color: var(--tristar-white);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.015em;
	text-align: center;
	text-transform: uppercase;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	hyphens: none !important;
}

.tristar-service-card h3::after {
	position: absolute;
	bottom: -10px;
	left: 50%;
	width: 42px;
	height: 2px;
	content: "";
	background: rgba(255, 255, 255, 0.34);
	transform: translateX(-50%);
}


/*
========================================
SERVICE DESCRIPTIONS
========================================
*/

.tristar-service-card p {
	position: relative;
	z-index: 2;
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 195px;
	margin: 0 auto !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, 0.94);
	font-size: 14px;
	line-height: 1.55;
	text-align: center;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	hyphens: none !important;
}


/*
========================================
REMOVE LEARN MORE LINKS
========================================
*/

.tristar-service-card .wp-block-buttons,
.tristar-service-card > .wp-block-buttons {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
EXTRA-WIDE DESKTOP
SIX COLUMNS
========================================
*/

@media (min-width: 1600px) {
	.tristar-services > .wp-block-group__inner-container {
		max-width: 1500px !important;
	}

	.tristar-services.is-layout-constrained > :where(
		:not(.alignleft):not(.alignright):not(.alignfull)
	) {
		max-width: 1500px !important;
	}

	.tristar-service-grid {
		max-width: 1440px !important;
		gap: 16px;
	}

	.tristar-service-card {
		min-height: 300px;
		padding-right: 19px;
		padding-left: 19px;
	}

	.tristar-service-card h3,
	.tristar-service-card p {
		max-width: 200px;
	}
}


/*
========================================
STANDARD DESKTOP
SIX COLUMNS
========================================
*/

@media (min-width: 1280px) and (max-width: 1599px) {
	.tristar-services {
		padding-right: 20px;
		padding-left: 20px;
	}

	.tristar-service-grid {
		max-width: 1380px !important;
		gap: 13px;
	}

	.tristar-service-card {
		min-height: 300px;
		padding: 30px 15px 26px;
	}

	.tristar-service-card .tristar-icon {
		width: 72px;
		height: 72px;
	}

	.tristar-service-card .tristar-icon svg {
		width: 55px;
		height: 55px;
	}

	.tristar-service-card h3 {
		max-width: 185px;
		min-height: 58px;
		font-size: 19px;
	}

	.tristar-service-card p {
		max-width: 185px;
		font-size: 13px;
		line-height: 1.5;
	}
}


/*
========================================
TABLET
THREE COLUMNS / TWO ROWS
========================================
*/

@media (max-width: 1279px) {
	.tristar-services > .wp-block-group__inner-container {
		max-width: 960px !important;
	}

	.tristar-services.is-layout-constrained > :where(
		:not(.alignleft):not(.alignright):not(.alignfull)
	) {
		max-width: 960px !important;
	}

	.tristar-service-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 940px !important;
		gap: 18px;
	}

	.tristar-service-card {
		min-height: 315px;
		padding: 27px 22px 25px;
	}

	.tristar-service-card .wp-block-html {
		margin-bottom: 15px !important;
	}

	.tristar-service-card .tristar-icon {
		width: 72px;
		height: 72px;
	}

	.tristar-service-card .tristar-icon svg {
		width: 54px;
		height: 54px;
	}

	.tristar-service-card h3 {
		max-width: 260px;
		min-height: 52px;
		font-size: 21px;
	}

	.tristar-service-card p {
		max-width: 270px;
		font-size: 14px;
	}
}


/*
========================================
SMALL TABLET
THREE COLUMNS / TWO ROWS
========================================
*/

@media (max-width: 900px) {
	.tristar-services {
		padding-right: 18px;
		padding-left: 18px;
	}

	.tristar-services > .wp-block-group__inner-container {
		max-width: 820px !important;
	}

	.tristar-services.is-layout-constrained > :where(
		:not(.alignleft):not(.alignright):not(.alignfull)
	) {
		max-width: 820px !important;
	}

	.tristar-service-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 800px !important;
		gap: 13px;
	}

	.tristar-service-card {
		min-height: 310px;
		padding: 24px 15px 23px;
	}

	.tristar-service-card .tristar-icon {
		width: 66px;
		height: 66px;
	}

	.tristar-service-card .tristar-icon svg {
		width: 49px;
		height: 49px;
	}

	.tristar-service-card h3 {
		max-width: 210px;
		min-height: 50px;
		font-size: 18px;
	}

	.tristar-service-card p {
		max-width: 210px;
		font-size: 13px;
		line-height: 1.48;
	}
}


/*
========================================
MOBILE
TWO COLUMNS / THREE ROWS
========================================
*/

@media (max-width: 680px) {
	.tristar-services {
		padding-top: 48px;
		padding-right: 12px;
		padding-bottom: 48px;
		padding-left: 12px;
	}

	.tristar-services > .wp-block-group__inner-container {
		max-width: 580px !important;
	}

	.tristar-services.is-layout-constrained > :where(
		:not(.alignleft):not(.alignright):not(.alignfull)
	) {
		max-width: 580px !important;
	}

	.tristar-services .tristar-section-label {
		margin-bottom: 14px !important;
		font-size: 15px;
	}

	.tristar-services .tristar-section-title {
		max-width: 540px !important;
		margin-bottom: 28px;
		font-size: clamp(30px, 9vw, 43px);
	}

	.tristar-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 560px !important;
		gap: 11px;
	}

	.tristar-service-card {
		min-height: 300px;
		padding: 22px 13px;
		border-radius: 8px;
	}

	.tristar-service-card .wp-block-html {
		margin-bottom: 11px !important;
	}

	.tristar-service-card .tristar-icon {
		width: 62px;
		height: 62px;
	}

	.tristar-service-card .tristar-icon svg {
		width: 46px;
		height: 46px;
	}

	.tristar-service-card h3 {
		max-width: 200px;
		min-height: 52px;
		margin-bottom: 18px !important;
		font-size: clamp(16px, 4.4vw, 19px);
		line-height: 1.08;
	}

	.tristar-service-card p {
		max-width: 205px;
		font-size: 12px;
		line-height: 1.45;
	}
}


/*
========================================
SMALL MOBILE
TWO COLUMNS / THREE ROWS
========================================
*/

@media (max-width: 430px) {
	.tristar-services {
		padding-right: 8px;
		padding-left: 8px;
	}

	.tristar-services .tristar-section-title {
		font-size: clamp(28px, 9vw, 36px);
	}

	.tristar-service-grid {
		gap: 8px;
	}

	.tristar-service-card {
		min-height: 290px;
		padding: 20px 9px;
	}

	.tristar-service-card .tristar-icon {
		width: 56px;
		height: 56px;
	}

	.tristar-service-card .tristar-icon svg {
		width: 42px;
		height: 42px;
	}

	.tristar-service-card h3 {
		max-width: 165px;
		min-height: 50px;
		font-size: 15px;
	}

	.tristar-service-card p {
		max-width: 165px;
		font-size: 11px;
		line-height: 1.4;
	}
}
/*
========================================
FACILITIES SECTION
========================================
*/

.tristar-facilities {
	position: relative;
	box-sizing: border-box;
	padding-top: clamp(44px, 5vw, 64px);
	padding-right: 24px;
	padding-bottom: clamp(72px, 8vw, 104px);
	padding-left: 24px;
	background:
		linear-gradient(
			180deg,
			#f5f7fa 0%,
			#edf2f7 100%
		);
}

.tristar-facilities .tristar-section-label {
	margin: 0 0 18px !important;
	color: var(--tristar-red);
}

.tristar-facilities .tristar-section-title {
	max-width: 820px;
	margin-bottom: 44px;
	font-size: clamp(38px, 4.5vw, 56px);
}

.tristar-facility-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 28px;
	box-sizing: border-box;
	width: 100%;
	max-width: var(--tristar-content-width);
	margin: 0 auto !important;
}

.tristar-facility-grid > .wp-block-column {
	display: flex;
	align-items: stretch;
	flex-basis: auto !important;
	min-width: 0;
	max-width: none;
	margin: 0 !important;
}

.tristar-facility-card {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-self: stretch;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	gap: 0 !important;
	row-gap: 0 !important;
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.11);
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(8, 41, 85, 0.09);
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}

.tristar-facility-card.is-layout-constrained > :where(
	:not(.alignleft):not(.alignright):not(.alignfull)
) {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.tristar-facility-card > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.tristar-facility-card * {
	box-sizing: border-box;
	max-width: 100%;
}

.tristar-facility-card::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 4;
	height: 4px;
	content: "";
	background: var(--tristar-red);
}

.tristar-facility-card:hover {
	transform: translateY(-6px);
	border-color: rgba(10, 95, 222, 0.28);
	box-shadow: 0 22px 48px rgba(8, 41, 85, 0.15);
}


/*
========================================
FACILITY IMAGES
========================================
*/

.tristar-facility-card figure,
.tristar-facility-card .wp-block-image {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	line-height: 0;
	background: var(--tristar-dark);
}

.tristar-facility-card figure::after,
.tristar-facility-card .wp-block-image::after {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0) 55%,
			rgba(6, 27, 51, 0.4) 100%
		);
}

.tristar-facility-card img {
	display: block;
	width: 100%;
	height: 225px;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover;
	object-position: center;
	vertical-align: bottom;
	transition: transform 0.45s ease;
}

.tristar-facility-card:hover img {
	transform: scale(1.04);
}


/*
========================================
FACILITY HEADINGS
========================================
*/

.tristar-facility-card h3 {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 100%;
	min-height: 76px;
	margin: 0 !important;
	padding: 16px 22px;
	color: var(--tristar-white);
	background:
		linear-gradient(
			90deg,
			var(--tristar-navy) 0%,
			#0d376d 100%
		);
	border-left: 5px solid var(--tristar-red);
	font-size: 19px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	overflow: visible !important;
	text-overflow: clip !important;
}


/*
========================================
FACILITY DETAILS
========================================
*/

.tristar-facility-card ul {
	display: grid;
	grid-template-columns: 1fr;
	align-content: start;
	flex: 1 1 auto;
	gap: 0;
	box-sizing: border-box;
	width: 100%;
	min-height: 220px;
	margin: 0 !important;
	padding: 34px 26px 30px;
	list-style: none;
}

.tristar-facility-card li {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 11px 0 11px 31px;
	color: var(--tristar-text);
	font-size: 15px;
	line-height: 1.45;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	overflow: visible !important;
	text-overflow: clip !important;
	border-bottom: 1px solid #e8edf3;
}

.tristar-facility-card li:last-child {
	border-bottom: 0;
}

.tristar-facility-card li::before {
	position: absolute;
	top: 11px;
	left: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	color: var(--tristar-white);
	content: "✓";
	background: var(--tristar-red);
	border-radius: 50%;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
}


/*
========================================
FACILITY CARD FOOTER
========================================
*/

.tristar-facility-card > .wp-block-buttons,
.tristar-facility-card .wp-block-buttons {
	position: relative;
	z-index: 3;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 100% !important;
	min-height: 70px;
	margin: auto 0 0 !important;
	padding: 18px 22px !important;
	background:
		linear-gradient(
			180deg,
			#f8fafc 0%,
			#eef3f8 100%
		) !important;
	border-top: 1px solid #dce4ed !important;
	border-radius: 0 !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.9),
		0 -4px 12px rgba(8, 41, 85, 0.025);
}

.tristar-facility-card .wp-block-button {
	display: block !important;
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-facility-card .wp-block-button__link {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box;
	width: 100% !important;
	min-height: 30px !important;
	margin: 0 !important;
	padding: 0 34px !important;
	color: var(--tristar-blue) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2 !important;
	letter-spacing: 0.025em;
	text-align: center !important;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap !important;
	word-break: normal !important;
	overflow: visible !important;
	transform: none !important;
}

.tristar-facility-card .wp-block-button__link::after {
	position: absolute !important;
	top: 50% !important;
	right: 0 !important;
	bottom: auto !important;
	left: auto !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	content: "→" !important;
	color: var(--tristar-blue);
	font-size: 18px;
	line-height: 1 !important;
	white-space: nowrap !important;
	transform: translateY(-50%) !important;
	transition:
		color 0.2s ease,
		transform 0.2s ease;
}

.tristar-facility-card .wp-block-button__link:hover {
	color: var(--tristar-red) !important;
	background: transparent !important;
	transform: none !important;
}

.tristar-facility-card .wp-block-button__link:hover::after {
	color: var(--tristar-red);
	transform: translate(5px, -50%) !important;
}


/*
========================================
WHY TRISTAR SECTION
TESTED REFERENCE LAYOUT
========================================
*/
















































/*
========================================
PROCESS SECTION
========================================
*/

.tristar-process {
	background: var(--tristar-white);
}

.tristar-process-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 34px;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto !important;
}

.tristar-process-grid > .wp-block-column {
	display: flex;
	flex-basis: auto !important;
	min-width: 0;
	margin: 0 !important;
}

.tristar-process-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 20px 24px 10px;
	text-align: center;
}

.tristar-process-icon-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 108px;
	height: 108px;
	margin: 0 auto 24px;
	color: var(--tristar-navy);
	background: var(--tristar-white);
	border: 2px solid var(--tristar-blue);
	border-radius: 50%;
}

.tristar-process-icon-wrap .tristar-icon {
	width: 56px;
	height: 56px;
	color: var(--tristar-navy);
}

.tristar-process-badge {
	position: absolute;
	top: -10px;
	left: -10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--tristar-white);
	background: var(--tristar-navy);
	border: 4px solid var(--tristar-white);
	border-radius: 50%;
	font-size: 18px;
	font-weight: 800;
}

.tristar-process-step h3 {
	max-width: 260px;
	margin: 0 auto 12px;
	font-size: 22px;
	line-height: 1.15;
	text-transform: uppercase;
}

.tristar-process-step p {
	max-width: 290px;
	margin: 0 auto;
	color: var(--tristar-muted);
	font-size: 16px;
}


/*
========================================
QUOTE SECTION
========================================
*/

.tristar-quote-section {
	box-sizing: border-box;
	padding-top: clamp(64px, 8vw, 100px);
	padding-right: 24px;
	padding-bottom: clamp(64px, 8vw, 100px);
	padding-left: 24px;
	background: var(--tristar-light);
}

.tristar-quote-wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: stretch;
	gap: 0;
	width: 100%;
	max-width: var(--tristar-content-width);
	margin: 0 auto !important;
	overflow: hidden;
	background: var(--tristar-white);
	border: 1px solid var(--tristar-border);
	border-radius: var(--tristar-radius);
	box-shadow: 0 14px 38px rgba(8, 41, 85, 0.1);
}

.tristar-quote-wrap > .wp-block-column {
	flex-basis: auto !important;
	min-width: 0;
	margin: 0 !important;
}

.tristar-quote-intro {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	padding: clamp(40px, 5vw, 66px);
	color: var(--tristar-white);
	background:
		linear-gradient(
			rgba(8, 41, 85, 0.94),
			rgba(8, 41, 85, 0.94)
		),
		var(--tristar-navy);
}

.tristar-quote-intro h2 {
	margin-top: 0;
	color: var(--tristar-white);
	font-size: clamp(34px, 4vw, 48px);
	text-transform: uppercase;
}

.tristar-quote-intro p {
	color: rgba(255, 255, 255, 0.9);
	font-size: 17px;
}

.tristar-quote-intro .wp-block-buttons {
	margin-top: 16px;
}

.tristar-quote-form {
	box-sizing: border-box;
	padding: clamp(34px, 5vw, 58px);
}

.tristar-quote-form h3 {
	margin-top: 0;
	font-size: 30px;
}

.tristar-contact-detail {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 14px 0;
}

.tristar-contact-detail .tristar-icon {
	width: 25px;
	height: 25px;
	color: var(--tristar-blue);
}

.tristar-contact-detail a {
	color: var(--tristar-navy);
	font-weight: 700;
	text-decoration: none;
}

.tristar-contact-detail a:hover {
	color: var(--tristar-red);
}


/*
========================================
CONTACT FORM
========================================
*/

.contact-form {
	width: 100%;
}

.contact-form label {
	display: block;
	margin-bottom: 7px;
	color: var(--tristar-dark);
	font-size: 14px;
	font-weight: 700;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="url"],
.contact-form input[type="number"],
.contact-form select,
.contact-form textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 18px;
	padding: 13px 14px;
	color: var(--tristar-text);
	background: var(--tristar-white);
	border: 1px solid #bdc8d4;
	border-radius: 4px;
	outline: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form input[type="url"]:focus,
.contact-form input[type="number"]:focus,
.contact-form select:focus,
.contact-form textarea:focus {
	border-color: var(--tristar-blue);
	box-shadow: 0 0 0 3px rgba(10, 95, 222, 0.12);
}

.contact-form textarea {
	float: none;
	min-height: 180px;
	resize: vertical;
}

.contact-form input[type="submit"],
.contact-form button[type="submit"] {
	min-height: 48px;
	padding: 12px 26px;
	color: var(--tristar-white);
	background: var(--tristar-red);
	border: 0;
	border-radius: var(--tristar-radius);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	cursor: pointer;
}

.contact-form input[type="submit"]:hover,
.contact-form button[type="submit"]:hover {
	background: var(--tristar-red-dark);
}


/*
========================================
SITE FOOTER
========================================
*/

.site-footer,
#colophon {
	color: rgba(255, 255, 255, 0.8);
	background: var(--tristar-dark);
}

.site-footer h2,
.site-footer h3,
.site-footer h4,
#colophon h2,
#colophon h3,
#colophon h4 {
	color: var(--tristar-white);
}

.site-footer a,
#colophon a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
}

.site-footer a:hover,
#colophon a:hover {
	color: var(--tristar-white);
}


/*
========================================
LARGE DESKTOP
========================================
*/

@media (min-width: 1300px) {
	.tristar-service-grid {
		max-width: 1240px;
		gap: 20px;
	}

	.tristar-service-card {
		min-height: 0;
		padding: 15px 26px 14px;
	}

	.tristar-service-card h3 {
		max-width: 330px;
		font-size: 21px;
	}

	.tristar-service-card p {
		max-width: 330px;
	}
}


/*
========================================
MEDIUM DESKTOP
========================================
*/

@media (max-width: 1100px) {
	.tristar-service-grid {
		max-width: 940px;
		gap: 16px;
	}

	.tristar-service-card {
		min-height: 0;
		padding-right: 20px;
		padding-left: 20px;
	}

	.tristar-service-card h3 {
		font-size: 19px;
	}

	.tristar-service-card p {
		font-size: 12px;
	}
}


/*
========================================
WIDE TABLET / SMALL DESKTOP
========================================
*/

@media (max-width: 1280px) {
	.tristar-facility-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 900px;
	}

	.tristar-facility-grid > .wp-block-column:last-child {
		grid-column: 1 / -1;
		width: 100%;
		max-width: 436px;
		justify-self: center;
	}

	.tristar-facility-card h3 {
		min-height: 76px;
		font-size: 18px;
	}

	.tristar-facility-card ul {
		min-height: 220px;
	}
}


/*
========================================
TABLET
========================================
*/

@media (max-width: 1024px) {
	.tristar-facility-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 860px;
		gap: 24px;
	}

	.tristar-facility-grid > .wp-block-column:last-child {
		grid-column: 1 / -1;
		width: 100%;
		max-width: 418px;
		justify-self: center;
	}

	.tristar-facility-card img {
		height: 235px;
	}

	.tristar-facility-card ul {
		min-height: 220px;
	}


	.tristar-process-grid {
		gap: 18px;
	}

	.tristar-quote-wrap {
		grid-template-columns: 1fr;
	}

	.tristar-quote-intro,
	.tristar-quote-form {
		width: 100%;
	}
}


/*
========================================
SERVICES TABLET
========================================
*/

@media (max-width: 900px) {
	.tristar-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 760px;
		gap: 16px;
	}

	.tristar-service-card {
		min-height: 0;
		padding: 15px 20px 14px;
	}

	.tristar-service-card h3 {
		max-width: 280px;
		font-size: 19px;
	}

	.tristar-service-card p {
		max-width: 285px;
		font-size: 13px;
	}
}


/*
========================================
MOBILE
========================================
*/

@media (max-width: 781px) {
	.tristar-hero {
		min-height: 720px !important;
	}

	.tristar-hero::after {
		background:
			linear-gradient(
				180deg,
				rgba(2, 14, 28, 0.2) 0%,
				rgba(2, 14, 28, 0.56) 62%,
				rgba(2, 14, 28, 0.86) 100%
			),
			rgba(2, 14, 28, 0.58);
	}

	.tristar-hero .wp-block-cover__inner-container {
		width: 100%;
	}

	.tristar-hero-content {
		width: min(100% - 30px, var(--tristar-content-width)) !important;
		padding-top: 70px;
		padding-bottom: 48px;
	}

	.tristar-hero h1 {
		font-size: clamp(40px, 10.8vw, 66px) !important;
	}

	.tristar-hero .wp-block-buttons {
		align-items: stretch;
		flex-direction: column;
	}

	.tristar-hero .wp-block-button,
	.tristar-hero .wp-block-button__link {
		width: 100%;
	}

	.tristar-trust-bar {
		padding: 14px 18px 18px;
	}

	.tristar-trust-bar .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.tristar-trust-bar .wp-block-column {
		flex-basis: 50% !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}

	.tristar-trust-bar .wp-block-column:nth-child(2n) {
		border-right: 0;
	}

	.tristar-trust-item {
		justify-content: flex-start;
		max-width: 270px;
		margin-right: auto;
		margin-left: auto;
	}

	.tristar-facility-grid {
		grid-template-columns: 1fr;
		max-width: 560px;
		gap: 22px;
	}

	.tristar-facility-grid > .wp-block-column:last-child {
		grid-column: auto;
		width: 100%;
		max-width: none;
	}

	.tristar-facility-card {
		width: 100%;
		max-width: 560px;
		margin: 0 auto;
	}

	.tristar-facility-card img {
		height: 230px;
	}

	.tristar-facility-card h3 {
		min-height: 0;
	}

	.tristar-facility-card ul {
		flex: 0 0 auto;
		min-height: 0;
		padding: 28px 20px;
	}


	.tristar-process-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.tristar-process-step {
		max-width: 520px;
		margin: 0 auto;
	}

	.tristar-quote-section {
		padding-right: 18px;
		padding-left: 18px;
	}
}


/*
========================================
SERVICES SMALL TABLET
========================================
*/

@media (max-width: 700px) {
	.tristar-services {
		padding-top: 48px;
		padding-right: 20px;
		padding-bottom: 48px;
		padding-left: 20px;
	}

	.tristar-services .tristar-section-title {
		margin-bottom: 26px;
		font-size: clamp(33px, 8vw, 48px);
	}

	.tristar-service-grid {
		grid-template-columns: 1fr;
		max-width: 520px;
		gap: 14px;
	}

	.tristar-service-card {
		min-height: 0;
		padding: 14px 22px 13px;
	}

	.tristar-service-card h3 {
		min-height: 0;
		max-width: 360px;
		font-size: 20px;
	}

	.tristar-service-card p {
		max-width: 380px;
		font-size: 14px;
	}
}


/*
========================================
SERVICES MOBILE
========================================
*/

@media (max-width: 580px) {
	.tristar-services {
		padding-top: 46px;
		padding-right: 18px;
		padding-bottom: 46px;
		padding-left: 18px;
	}

	.tristar-services .tristar-section-label {
		margin-bottom: 14px !important;
		font-size: 15px;
	}

	.tristar-services .tristar-section-title {
		margin-bottom: 24px;
		font-size: clamp(31px, 10vw, 43px);
	}

	.tristar-service-grid {
		grid-template-columns: 1fr;
		max-width: 440px;
		gap: 13px;
	}

	.tristar-service-card {
		min-height: 0;
		padding: 13px 20px 12px;
	}

	.tristar-service-card .wp-block-html {
		margin: 0;
	}

	.tristar-service-card .tristar-icon {
		width: 60px;
		height: 60px;
	}

	.tristar-service-card .tristar-icon svg {
		width: 44px;
		height: 44px;
	}

	.tristar-service-card h3 {
		min-height: 0;
		margin-top: -2px;
		margin-bottom: 12px;
		font-size: 19px;
	}

	.tristar-service-card p {
		max-width: 330px;
		font-size: 14px;
	}

	.tristar-service-card .wp-block-buttons {
		margin-top: 7px;
		padding-top: 0;
	}
}


/*
========================================
SMALL MOBILE
========================================
*/

@media (max-width: 520px) {
	.tristar-section,
	.tristar-facilities {
		padding-right: 18px;
		padding-left: 18px;
	}

	.tristar-section-title,
	.tristar-facilities .tristar-section-title {
		margin-bottom: 34px;
		font-size: clamp(32px, 10vw, 44px);
	}

	.tristar-hero {
		min-height: 0 !important;
	}

	.tristar-hero-content {
		padding-top: 58px;
		padding-bottom: 42px;
	}

	.tristar-trust-bar .wp-block-column {
		flex-basis: 100% !important;
		border-right: 0;
	}

	.tristar-trust-item {
		max-width: 280px;
	}

	.wp-block-button,
	.wp-block-button__link {
		width: 100%;
	}

	.tristar-service-card .wp-block-button,
	.tristar-service-card .wp-block-button__link {
		width: auto;
	}

	.tristar-facility-card img {
		height: 195px;
	}

	.tristar-facility-card h3 {
		min-height: 0;
		padding: 16px 18px;
		font-size: 17px;
	}

	.tristar-facility-card ul {
		flex: 0 0 auto;
		min-height: 0;
		padding: 22px 18px;
	}

	.tristar-facility-card li {
		padding-right: 0;
		font-size: 14px;
	}

	.tristar-facility-card > .wp-block-buttons,
	.tristar-facility-card .wp-block-buttons {
		min-height: 66px;
		padding: 16px 18px !important;
	}

	.tristar-facility-card .wp-block-button,
	.tristar-facility-card .wp-block-button__link {
		width: 100% !important;
	}

	.tristar-facility-card .wp-block-button__link {
		padding-right: 30px !important;
		padding-left: 30px !important;
		font-size: 12px;
	}

	.tristar-quote-intro,
	.tristar-quote-form {
		padding: 34px 24px;
	}
}


/*
========================================
SERVICES SMALL MOBILE
========================================
*/

@media (max-width: 420px) {
	.tristar-services {
		padding-top: 42px;
		padding-right: 15px;
		padding-bottom: 42px;
		padding-left: 15px;
	}

	.tristar-services .tristar-section-title {
		margin-bottom: 22px;
		font-size: clamp(29px, 10vw, 38px);
	}

	.tristar-service-card {
		min-height: 0;
		padding: 12px 17px 11px;
		border-radius: 8px;
	}

	.tristar-service-card .tristar-icon {
		width: 56px;
		height: 56px;
	}

	.tristar-service-card .tristar-icon svg {
		width: 41px;
		height: 41px;
	}

	.tristar-service-card h3 {
		font-size: 18px;
	}

	.tristar-service-card p {
		font-size: 13px;
	}

	.tristar-service-card .wp-block-button.is-style-outline .wp-block-button__link,
	.tristar-service-card .wp-block-button__link {
		font-size: 10px;
	}
}

/*
========================================
FINAL FACILITY CARD ALIGNMENT
ALL CARDS MATCH SPOKANE
========================================
*/

.tristar-facility-grid {
	align-items: stretch !important;
}

.tristar-facility-grid > .wp-block-column {
	display: flex !important;
	align-items: stretch !important;
}

.tristar-facility-card {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 0 !important;
}

.tristar-facility-card > .wp-block-list,
.tristar-facility-card > ul {
	flex: 0 0 auto !important;
	min-height: 0 !important;
}

.tristar-facility-card > .wp-block-buttons,
.tristar-facility-card .wp-block-buttons {
	margin-top: auto !important;
	margin-bottom: 0 !important;
}

.tristar-facility-card > .wp-block-buttons + *,
.tristar-facility-card .wp-block-buttons + * {
	display: none !important;
}

/*
========================================
FINAL FACILITY FOOTER FIX
SUPPORTS WORDPRESS GROUP INNER WRAPPER
========================================
*/

.tristar-facility-grid {
	align-items: stretch !important;
}

.tristar-facility-grid > .wp-block-column {
	display: flex !important;
	align-items: stretch !important;
}

.tristar-facility-card {
	display: flex !important;
	flex: 1 1 0 !important;
	flex-direction: column !important;
	align-self: stretch !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

/*
Some WordPress themes insert this wrapper around Group block content.
It must also be a full-height flex column so the footer can reach the bottom.
*/

.tristar-facility-card > .wp-block-group__inner-container {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

.tristar-facility-card > .wp-block-list,
.tristar-facility-card > ul,
.tristar-facility-card > .wp-block-group__inner-container > .wp-block-list,
.tristar-facility-card > .wp-block-group__inner-container > ul {
	flex: 0 0 auto !important;
	min-height: 0 !important;
}

.tristar-facility-card > .wp-block-buttons,
.tristar-facility-card > .wp-block-group__inner-container > .wp-block-buttons {
	flex: 0 0 auto !important;
	margin-top: auto !important;
	margin-bottom: 0 !important;
}

/* Prevent theme clearing pseudo-elements from becoming flex items. */

.tristar-facility-card::after,
.tristar-facility-card > .wp-block-group__inner-container::after {
	display: none !important;
	content: none !important;
}
/*
========================================
FINAL WHY TRISTAR REFERENCE MATCH
========================================
*/



































/*
========================================
FINAL WHY TRISTAR — IMAGE BACKGROUND COLUMN
========================================
*/

/*
========================================
WHY TRISTAR — FULL-BLEED IMAGE COLUMN
========================================
*/

.tristar-why {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	color: var(--tristar-white);
	background: linear-gradient(90deg, #071d3a 0%, #0a2d5c 100%);
}

.tristar-why > .wp-block-group__inner-container,
.tristar-why.is-layout-constrained > :where(
	:not(.alignleft):not(.alignright):not(.alignfull)
) {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-why h2,
.tristar-why h3,
.tristar-why p {
	color: var(--tristar-white);
}

.tristar-why-grid {
	display: grid !important;
	grid-template-columns: minmax(500px, 32%) repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 0 !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 390px;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-why-grid > .wp-block-column {
	box-sizing: border-box;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}

.tristar-why-intro {
	position: relative;
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	min-height: 390px;
	padding: 48px clamp(36px, 3.2vw, 62px) 44px clamp(42px, 4.8vw, 94px) !important;
	overflow: hidden;
	isolation: isolate;
	background-image:
		linear-gradient(
			90deg,
			rgba(4, 20, 43, 0.92) 0%,
			rgba(4, 20, 43, 0.8) 58%,
			rgba(4, 20, 43, 0.64) 100%
		),
		url("https://tristarpnw.com/wp-content/uploads/2026/07/Picture3.png");
	background-repeat: no-repeat;
	background-position: center 58%;
	background-size: cover;
	border-right: 0;
}

.tristar-why-intro::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(4, 20, 43, 0.04) 0%,
			rgba(4, 20, 43, 0.18) 100%
		);
}

.tristar-why-intro .tristar-section-label {
	margin: 0 0 18px !important;
	color: var(--tristar-red);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-align: left;
	text-transform: uppercase;
}

.tristar-why-intro h2 {
	width: 100%;
	max-width: 590px;
	margin: 0 0 26px !important;
	color: var(--tristar-white);
	font-size: clamp(42px, 3vw, 54px);
	font-weight: 800;
	line-height: 0.96;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.tristar-why-intro h2 span {
	display: block;
	white-space: nowrap;
}

.tristar-why-intro-copy {
	width: 100%;
	max-width: 520px;
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: 14px;
	line-height: 1.55;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.tristar-why-feature {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	min-height: 390px;
	padding: 48px clamp(20px, 1.55vw, 30px) 38px !important;
	border-right: 1px solid rgba(255, 255, 255, 0.3);
}

.tristar-why-feature:last-child {
	border-right: 0;
}

.tristar-why-feature .wp-block-html {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-why-feature .tristar-icon {
	width: 52px;
	height: 52px;
	margin: 0 0 18px !important;
	color: rgba(255, 255, 255, 0.9);
}

.tristar-why-feature h3 {
	width: 100%;
	margin: 0 0 16px !important;
	color: var(--tristar-white);
	font-size: clamp(14px, 1vw, 17px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.tristar-why-feature p {
	width: 100%;
	max-width: 260px;
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 13px;
	line-height: 1.55;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

@media (max-width: 1280px) and (min-width: 1101px) {
	.tristar-why-grid {
		grid-template-columns: minmax(470px, 36%) repeat(4, minmax(0, 1fr));
	}

	.tristar-why-intro {
		padding-right: 36px !important;
		padding-left: 46px !important;
	}

	.tristar-why-intro h2 {
		font-size: clamp(38px, 3.3vw, 46px);
	}

	.tristar-why-feature {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.tristar-why-feature h3 {
		font-size: 14px;
	}

	.tristar-why-feature p {
		font-size: 12px;
	}
}

@media (max-width: 1100px) {
	.tristar-why-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-height: 0;
	}

	.tristar-why-intro {
		grid-column: 1 / -1;
		min-height: 380px;
		padding: 58px 44px !important;
		background-position: center 58%;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	}

	.tristar-why-intro h2 {
		max-width: 720px;
	}

	.tristar-why-intro-copy {
		max-width: 620px;
	}

	.tristar-why-feature {
		min-height: 260px;
		padding: 38px 36px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	}

	.tristar-why-feature:nth-child(3),
	.tristar-why-feature:nth-child(5) {
		border-right: 0;
	}

	.tristar-why-feature p {
		max-width: 360px;
		font-size: 14px;
	}
}

@media (max-width: 700px) {
	.tristar-why-grid {
		grid-template-columns: 1fr;
	}

	.tristar-why-intro {
		grid-column: auto;
		min-height: 430px;
		padding: 52px 24px !important;
		background-position: 60% center;
	}

	.tristar-why-intro .tristar-section-label {
		margin-bottom: 18px !important;
	}

	.tristar-why-intro h2 {
		margin-bottom: 22px !important;
		font-size: clamp(35px, 10vw, 48px);
	}

	.tristar-why-intro h2 span {
		white-space: normal;
	}

	.tristar-why-feature,
	.tristar-why-feature:nth-child(3),
	.tristar-why-feature:nth-child(5) {
		min-height: 0;
		padding: 36px 24px !important;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	}

	.tristar-why-feature:last-child {
		border-bottom: 0;
	}

	.tristar-why-feature p {
		max-width: 480px;
	}
}
/*
========================================
TRISTAR HERO POLISH
Load this file after tristar-styles-hero-integrated.css.
No HTML changes are required.
========================================
*/

/*
Tighten the vertical space between the hero buttons and the icon strip.
The slightly shorter desktop hero and asymmetric content padding move the
content lower without disturbing the icon strip's position at the bottom.
*/

.tristar-hero {
	min-height: clamp(620px, 62vw, 700px) !important;
}

.tristar-hero-content {
	padding-top: clamp(68px, 8vw, 110px) !important;
	padding-bottom: clamp(12px, 1.5vw, 22px) !important;
}

.tristar-hero-content .wp-block-buttons {
	margin-bottom: 0 !important;
}


/*
Remove every faint divider from the integrated icon strip.
*/

.tristar-trust-bar {
	padding: 8px 24px 18px !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.tristar-trust-bar .wp-block-columns,
.tristar-trust-bar .wp-block-column {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}


/*
Keep the tighter spacing and divider-free treatment on tablets and phones.
*/

@media (max-width: 781px) {
	.tristar-hero {
		min-height: 720px !important;
	}

	.tristar-hero-content {
		padding-top: 56px !important;
		padding-bottom: 22px !important;
	}

	.tristar-trust-bar {
		padding: 8px 18px 14px !important;
	}

	.tristar-trust-bar .wp-block-column {
		border-right: 0 !important;
		border-bottom: 0 !important;
	}
}

/*
========================================
FINAL SECTION LABEL SIZE, ALIGNMENT AND SPACING
========================================
*/

/*
WordPress may place section content inside a generated
.wp-block-group__inner-container. These descendant selectors work whether
that wrapper is present or not.
*/

.tristar-services .tristar-section-label,
.tristar-facilities .tristar-section-label,
.tristar-process .tristar-section-label {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-top: 0 !important;
	margin-right: auto !important;
	margin-bottom: 18px !important;
	margin-left: auto !important;
	padding: 0 !important;
	color: var(--tristar-red) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.tristar-services .tristar-section-label + .tristar-section-title,
.tristar-facilities .tristar-section-label + .tristar-section-title,
.tristar-process .tristar-section-label + .tristar-section-title,
.tristar-services .tristar-section-label + h2,
.tristar-facilities .tristar-section-label + h2,
.tristar-process .tristar-section-label + h2 {
	margin-top: 0 !important;
}

/* Why TriStar intentionally remains left-aligned inside the image column. */
.tristar-why-intro .tristar-section-label {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-size: 17px !important;
	text-align: left !important;
}

.tristar-why-intro .tristar-section-label + h2 {
	margin-top: 0 !important;
}

@media (max-width: 680px) {
	.tristar-services .tristar-section-label,
	.tristar-facilities .tristar-section-label,
	.tristar-process .tristar-section-label {
		margin-bottom: 14px !important;
		font-size: 15px !important;
	}

	.tristar-why-intro .tristar-section-label {
		margin-bottom: 14px !important;
		font-size: 15px !important;
	}
}

/*
========================================
FINAL COMPACT SECTION RHYTHM
Keeps the verified label alignment while reducing excess vertical space.
========================================
*/

/* Standard section rhythm */
.tristar-section {
	padding-top: clamp(48px, 5vw, 64px) !important;
	padding-bottom: clamp(48px, 5vw, 64px) !important;
}

.tristar-section-small {
	padding-top: clamp(36px, 4vw, 50px) !important;
	padding-bottom: clamp(36px, 4vw, 50px) !important;
}

/* Services */
.tristar-services {
	padding-top: clamp(48px, 5vw, 64px) !important;
	padding-bottom: clamp(42px, 4vw, 56px) !important;
}

.tristar-services .tristar-section-title {
	margin-bottom: clamp(28px, 3vw, 36px) !important;
}

/* Facilities */
.tristar-facilities {
	padding-top: clamp(46px, 4.5vw, 60px) !important;
	padding-bottom: clamp(52px, 5vw, 68px) !important;
}

.tristar-facilities .tristar-section-title {
	margin-bottom: clamp(28px, 3vw, 36px) !important;
}

/* Process */
.tristar-process {
	padding-top: clamp(48px, 5vw, 64px) !important;
	padding-bottom: clamp(46px, 5vw, 62px) !important;
}

.tristar-process .tristar-section-title {
	margin-bottom: clamp(28px, 3vw, 36px) !important;
}

.tristar-process-step {
	padding-top: 10px !important;
	padding-bottom: 4px !important;
}

.tristar-process-icon-wrap {
	margin-bottom: 18px !important;
}

/* Quote */
.tristar-quote-section {
	padding-top: clamp(48px, 5vw, 64px) !important;
	padding-bottom: clamp(48px, 5vw, 64px) !important;
}

.tristar-quote-intro {
	padding: clamp(34px, 4vw, 50px) !important;
}

.tristar-quote-form {
	padding: clamp(30px, 4vw, 46px) !important;
}

/* Why TriStar is already full-bleed; compact its internal height instead. */
.tristar-why-grid,
.tristar-why-intro,
.tristar-why-feature {
	min-height: 350px !important;
}

.tristar-why-intro {
	padding-top: 40px !important;
	padding-bottom: 38px !important;
}

.tristar-why-feature {
	padding-top: 40px !important;
	padding-bottom: 32px !important;
}

@media (max-width: 1100px) {
	.tristar-why-intro {
		min-height: 330px !important;
		padding: 44px 36px !important;
	}

	.tristar-why-feature {
		min-height: 230px !important;
		padding: 30px 30px !important;
	}
}

@media (max-width: 781px) {
	.tristar-section,
	.tristar-services,
	.tristar-facilities,
	.tristar-process,
	.tristar-quote-section {
		padding-top: 42px !important;
		padding-bottom: 42px !important;
	}

	.tristar-services .tristar-section-title,
	.tristar-facilities .tristar-section-title,
	.tristar-process .tristar-section-title {
		margin-bottom: 26px !important;
	}

	.tristar-why-intro {
		min-height: 360px !important;
		padding: 42px 24px !important;
	}

	.tristar-why-feature {
		min-height: 0 !important;
		padding: 30px 24px !important;
	}
}

@media (max-width: 520px) {
	.tristar-section,
	.tristar-services,
	.tristar-facilities,
	.tristar-process,
	.tristar-quote-section {
		padding-top: 36px !important;
		padding-bottom: 36px !important;
	}

	.tristar-services .tristar-section-title,
	.tristar-facilities .tristar-section-title,
	.tristar-process .tristar-section-title {
		margin-bottom: 22px !important;
	}
}

/*
========================================
FINAL COMPACT ONE-LINE SECTION TITLES
Keeps major desktop headings on one line and allows responsive wrapping.
========================================
*/

@media (min-width: 1101px) {
	.tristar-services .tristar-section-title,
	.tristar-facilities .tristar-section-title,
	.tristar-process .tristar-section-title {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 1480px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		font-size: clamp(34px, 3vw, 48px) !important;
		line-height: 1 !important;
		letter-spacing: -0.035em !important;
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	/* Remove manual line breaks that may still exist in the Facilities heading. */
	.tristar-facilities .tristar-section-title br {
		display: none !important;
	}

	.tristar-services .tristar-section-title {
		font-size: clamp(36px, 3.15vw, 50px) !important;
	}

	.tristar-facilities .tristar-section-title {
		font-size: clamp(36px, 3.15vw, 50px) !important;
	}

	.tristar-process .tristar-section-title {
		font-size: clamp(34px, 2.9vw, 46px) !important;
	}
}

@media (max-width: 1100px) {
	.tristar-services .tristar-section-title,
	.tristar-facilities .tristar-section-title,
	.tristar-process .tristar-section-title {
		max-width: 920px !important;
		font-size: clamp(32px, 5vw, 44px) !important;
		white-space: normal !important;
	}
}

@media (max-width: 680px) {
	.tristar-services .tristar-section-title,
	.tristar-facilities .tristar-section-title,
	.tristar-process .tristar-section-title {
		font-size: clamp(28px, 8vw, 38px) !important;
		line-height: 1.03 !important;
	}
}

/*
========================================
FINAL FULL-WIDTH RESPONSIVE LAYOUT
Expands section content across the viewport while preserving responsive grids.
========================================
*/

/* Let full-width sections use the available screen width. */
.tristar-services,
.tristar-facilities,
.tristar-process,
.tristar-quote-section {
	padding-right: clamp(18px, 3vw, 56px) !important;
	padding-left: clamp(18px, 3vw, 56px) !important;
}

.tristar-services > .wp-block-group__inner-container,
.tristar-facilities > .wp-block-group__inner-container,
.tristar-process > .wp-block-group__inner-container,
.tristar-quote-section > .wp-block-group__inner-container,
.tristar-services.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.tristar-facilities.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.tristar-process.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.tristar-quote-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

/* Headings scale with the viewport instead of sitting inside a narrow box. */
.tristar-services .tristar-section-title,
.tristar-facilities .tristar-section-title,
.tristar-process .tristar-section-title {
	width: 100% !important;
	max-width: none !important;
}

/* Services: six equal cards across wide screens. */
.tristar-service-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	width: 100% !important;
	max-width: none !important;
	gap: clamp(12px, 1.25vw, 24px) !important;
}

.tristar-service-card {
	min-height: 270px !important;
	padding: 24px clamp(14px, 1.4vw, 26px) 22px !important;
}

.tristar-service-card h3,
.tristar-service-card p {
	max-width: 100% !important;
}

/* Facilities: three equal cards using the complete section width. */
.tristar-facility-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	width: 100% !important;
	max-width: none !important;
	gap: clamp(18px, 2vw, 36px) !important;
}

.tristar-facility-grid > .wp-block-column,
.tristar-facility-grid > .wp-block-column:last-child {
	grid-column: auto !important;
	width: 100% !important;
	max-width: none !important;
	justify-self: stretch !important;
}

.tristar-facility-card img {
	height: clamp(220px, 20vw, 360px) !important;
}

.tristar-facility-card ul {
	min-height: 0 !important;
	padding: clamp(24px, 2vw, 38px) clamp(20px, 2vw, 34px) !important;
}

/* Process and quote sections also span the available width. */
.tristar-process-grid,
.tristar-quote-wrap {
	width: 100% !important;
	max-width: none !important;
}

.tristar-process-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(22px, 3vw, 56px) !important;
}

.tristar-process-step {
	max-width: none !important;
}

/* Large tablet and compact desktop. */
@media (max-width: 1279px) {
	.tristar-service-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.tristar-facility-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.tristar-service-card {
		min-height: 280px !important;
	}
}

/* Tablet. */
@media (max-width: 960px) {
	.tristar-services,
	.tristar-facilities,
	.tristar-process,
	.tristar-quote-section {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.tristar-service-grid,
	.tristar-facility-grid,
	.tristar-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.tristar-facility-grid > .wp-block-column:last-child {
		grid-column: 1 / -1 !important;
		width: min(100%, calc((100% - clamp(18px, 2vw, 36px)) / 2)) !important;
		justify-self: center !important;
	}

	.tristar-service-card {
		min-height: 270px !important;
	}

	.tristar-facility-card img {
		height: clamp(220px, 32vw, 300px) !important;
	}
}

/* Mobile. */
@media (max-width: 680px) {
	.tristar-services,
	.tristar-facilities,
	.tristar-process,
	.tristar-quote-section {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}

	.tristar-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.tristar-facility-grid,
	.tristar-process-grid {
		grid-template-columns: 1fr !important;
	}

	.tristar-facility-grid > .wp-block-column:last-child {
		grid-column: auto !important;
		width: 100% !important;
	}

	.tristar-service-card {
		min-height: 255px !important;
		padding: 18px 12px 16px !important;
	}

	.tristar-facility-card img {
		height: clamp(210px, 58vw, 290px) !important;
	}
}

/* Narrow phones keep two compact service cards per row. */
@media (max-width: 430px) {
	.tristar-services,
	.tristar-facilities,
	.tristar-process,
	.tristar-quote-section {
		padding-right: 10px !important;
		padding-left: 10px !important;
	}

	.tristar-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.tristar-service-card {
		min-height: 245px !important;
		padding: 16px 9px 14px !important;
	}
}
/*
========================================
ABOUT US PAGE
WEST COAST PARTNER MODULE
Load after the existing TriStar stylesheet.
========================================
*/

.tristar-about-partner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding:
		clamp(58px, 6vw, 88px)
		clamp(24px, 5vw, 82px);
	overflow: hidden;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8fafc 100%
		);
}


/*
========================================
REMOVE WORDPRESS WIDTH RESTRICTIONS
========================================
*/

.tristar-about-partner > .wp-block-group__inner-container,
.tristar-about-partner.is-layout-constrained > :where(
	:not(.alignleft):not(.alignright):not(.alignfull)
) {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
}


/*
========================================
TWO-COLUMN LAYOUT
========================================
*/

.tristar-about-partner-grid {
	display: grid !important;
	grid-template-columns:
		minmax(0, 0.9fr)
		minmax(480px, 1.1fr);
	align-items: center !important;
	gap: clamp(48px, 6vw, 100px) !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 1480px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.tristar-about-partner-grid > .wp-block-column {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
CONTENT COLUMN
========================================
*/

.tristar-about-partner-content {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.tristar-about-partner-content > * {
	box-sizing: border-box;
	width: 100%;
	max-width: 680px;
	margin-right: 0;
	margin-left: 0;
}


/*
========================================
SECTION LABEL
========================================
*/

.tristar-about-label {
	margin: 0 0 12px !important;
	padding: 0 !important;
	color: var(--tristar-red) !important;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.13em;
	text-align: left;
	text-transform: uppercase;
}


/*
========================================
HEADING
========================================
*/

.tristar-about-title {
	margin: 0 0 24px !important;
	padding: 0 !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(42px, 4.1vw, 68px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.045em !important;
	text-align: left;
	text-transform: uppercase;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}


/*
========================================
BODY COPY
========================================
*/

.tristar-about-partner-content p:not(.tristar-about-label) {
	margin: 0 0 18px !important;
	color: var(--tristar-text);
	font-size: clamp(15px, 1vw, 17px);
	line-height: 1.58;
	text-align: left;
}

.tristar-about-partner-content p:not(.tristar-about-label):last-of-type {
	margin-bottom: 0 !important;
}


/*
========================================
BUTTON
========================================
*/

.tristar-about-buttons {
	justify-content: flex-start !important;
	width: auto !important;
	max-width: none !important;
	margin: 28px 0 0 !important;
	padding: 0 !important;
}

.tristar-about-buttons .wp-block-button {
	margin: 0 !important;
}

.tristar-about-buttons .wp-block-button__link {
	width: auto;
	min-height: 48px;
	padding: 12px 24px;
	color: var(--tristar-white) !important;
	background: var(--tristar-red) !important;
	border: 2px solid var(--tristar-red) !important;
	border-radius: var(--tristar-radius);
	box-shadow: 0 8px 18px rgba(229, 34, 34, 0.2);
}

.tristar-about-buttons .wp-block-button__link:hover {
	color: var(--tristar-white) !important;
	background: var(--tristar-red-dark) !important;
	border-color: var(--tristar-red-dark) !important;
	box-shadow: 0 12px 24px rgba(189, 21, 21, 0.24);
}


/*
========================================
IMAGE COLUMN
========================================
*/

.tristar-about-partner-media {
	position: relative;
}

.tristar-about-image {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: var(--tristar-dark);
	border-radius: 8px;
	box-shadow:
		0 18px 42px rgba(8, 41, 85, 0.18),
		0 2px 8px rgba(8, 41, 85, 0.08);
	line-height: 0;
}

.tristar-about-image::after {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0) 58%,
			rgba(6, 27, 51, 0.18) 100%
		);
}

.tristar-about-image img {
	display: block;
	width: 100%;
	height: clamp(360px, 35vw, 590px);
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover;
	object-position: center;
	vertical-align: bottom;
}


/*
========================================
STANDARD DESKTOP
========================================
*/

@media (max-width: 1200px) {
	.tristar-about-partner {
		padding-right: 36px;
		padding-left: 36px;
	}

	.tristar-about-partner-grid {
		grid-template-columns:
			minmax(0, 0.92fr)
			minmax(440px, 1.08fr);
		gap: 52px !important;
	}

	.tristar-about-title {
		font-size: clamp(40px, 4.4vw, 58px) !important;
	}

	.tristar-about-image img {
		height: clamp(360px, 40vw, 510px);
	}
}


/*
========================================
TABLET
========================================
*/

@media (max-width: 960px) {
	.tristar-about-partner {
		padding:
			52px
			24px;
	}

	.tristar-about-partner-grid {
		grid-template-columns: 1fr;
		gap: 38px !important;
		max-width: 760px !important;
	}

	.tristar-about-partner-content {
		align-items: flex-start;
	}

	.tristar-about-partner-content > * {
		max-width: 720px;
	}

	.tristar-about-title {
		font-size: clamp(42px, 7vw, 62px) !important;
	}

	.tristar-about-image img {
		height: clamp(360px, 58vw, 520px);
	}
}


/*
========================================
MOBILE
========================================
*/

@media (max-width: 680px) {
	.tristar-about-partner {
		padding:
			42px
			18px;
	}

	.tristar-about-partner-grid {
		gap: 30px !important;
	}

	.tristar-about-label {
		margin-bottom: 10px !important;
		font-size: 14px;
	}

	.tristar-about-title {
		margin-bottom: 20px !important;
		font-size: clamp(35px, 10.5vw, 48px) !important;
		line-height: 1 !important;
	}

	.tristar-about-partner-content p:not(.tristar-about-label) {
		margin-bottom: 16px !important;
		font-size: 15px;
		line-height: 1.58;
	}

	.tristar-about-buttons {
		width: 100% !important;
		margin-top: 18px !important;
	}

	.tristar-about-buttons .wp-block-button,
	.tristar-about-buttons .wp-block-button__link {
		width: 100%;
	}

	.tristar-about-image {
		border-radius: 7px;
	}

	.tristar-about-image img {
		height: clamp(260px, 68vw, 390px);
	}
}


/*
========================================
SMALL MOBILE
========================================
*/

@media (max-width: 430px) {
	.tristar-about-partner {
		padding:
			36px
			14px;
	}

	.tristar-about-title br {
		display: none;
	}

	.tristar-about-title {
		font-size: clamp(32px, 10vw, 42px) !important;
	}

	.tristar-about-image img {
		height: 260px;
	}
}
/*
========================================
ABOUT US
PEOPLE & CULTURE MODULE
IMAGE LEFT / DIAGONAL SEPARATOR
========================================
*/

.tristar-people-culture {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background:
		linear-gradient(
			135deg,
			#0b3265 0%,
			#071f40 100%
		);
}


/*
========================================
REMOVE WORDPRESS WIDTH RESTRICTIONS
========================================
*/

.tristar-people-culture > .wp-block-group__inner-container,
.tristar-people-culture.is-layout-constrained > :where(
	:not(.alignleft):not(.alignright):not(.alignfull)
) {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
TWO-COLUMN LAYOUT
========================================
*/

.tristar-people-culture-grid {
	display: grid !important;
	grid-template-columns:
		minmax(0, 1.08fr)
		minmax(0, 0.92fr);
	align-items: stretch !important;
	gap: 0 !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 520px;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-people-culture-grid > .wp-block-column {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
IMAGE COLUMN
DIAGONAL RIGHT EDGE
========================================
*/

.tristar-people-culture-media {
	position: relative;
	z-index: 2;
	display: flex !important;
	align-items: stretch;
	min-height: 520px;
	margin-right: -1px !important;
	overflow: hidden;
	background: var(--tristar-dark);
	clip-path: polygon(
		0 0,
		100% 0,
		88% 100%,
		0 100%
	);
}

.tristar-people-culture-media::after {
	position: absolute;
	inset: 0;
	z-index: 4;
	content: "";
	pointer-events: none;
	background: var(--tristar-red);
	clip-path: polygon(
		99.2% 0,
		100% 0,
		88.8% 100%,
		88% 100%
	);
}

.tristar-people-culture-image {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 520px;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	line-height: 0;
}

.tristar-people-culture-image::after {
	position: absolute;
	inset: 0;
	z-index: 2;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			rgba(6, 27, 51, 0.04) 0%,
			rgba(6, 27, 51, 0.04) 65%,
			rgba(6, 27, 51, 0.2) 100%
		),
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0) 58%,
			rgba(6, 27, 51, 0.18) 100%
		);
}

.tristar-people-culture-image img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 520px;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover;
	object-position: center;
	vertical-align: bottom;
}


/*
========================================
CONTENT COLUMN
========================================
*/

.tristar-people-culture-content {
	position: relative;
	z-index: 1;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	box-sizing: border-box;
	min-height: 520px;
	padding:
		clamp(58px, 6vw, 92px)
		clamp(110px, 10vw, 190px)
		clamp(58px, 6vw, 92px)
		clamp(64px, 6vw, 104px) !important;
	color: var(--tristar-white);
	background:
		linear-gradient(
			135deg,
			#0b3265 0%,
			#071f40 100%
		);
}

.tristar-people-culture-content > * {
	box-sizing: border-box;
	width: 100%;
	max-width: 610px;
}

.tristar-people-culture-title,
.tristar-people-culture-content p:not(.tristar-people-culture-label) {
	max-width: 610px !important;
}


/*
========================================
SECTION LABEL
========================================
*/

.tristar-people-culture-label {
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: var(--tristar-red) !important;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.13em;
	text-align: left;
	text-transform: uppercase;
}


/*
========================================
HEADING
========================================
*/

.tristar-people-culture-title {
	margin: 0 0 24px !important;
	padding: 0 !important;
	color: var(--tristar-white) !important;
	font-size: clamp(38px, 3.35vw, 58px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.045em !important;
	text-align: left;
	text-transform: uppercase;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}


/*
========================================
BODY COPY
========================================
*/

.tristar-people-culture-content p:not(
	.tristar-people-culture-label
) {
	margin: 0 0 18px !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: clamp(15px, 1.1vw, 17px);
	line-height: 1.62;
	text-align: left;
}

.tristar-people-culture-content p:not(
	.tristar-people-culture-label
):last-of-type {
	margin-bottom: 0 !important;
}


/*
========================================
BUTTON
========================================
*/

.tristar-people-culture-buttons {
	justify-content: flex-start !important;
	width: auto !important;
	max-width: none !important;
	margin: 28px 0 0 !important;
	padding: 0 !important;
}

.tristar-people-culture-buttons .wp-block-button {
	margin: 0 !important;
}

.tristar-people-culture-buttons .wp-block-button__link {
	width: auto;
	min-height: 48px;
	padding: 12px 24px;
	color: var(--tristar-white) !important;
	background: var(--tristar-red) !important;
	border: 2px solid var(--tristar-red) !important;
	border-radius: var(--tristar-radius);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
}

.tristar-people-culture-buttons .wp-block-button__link:hover {
	color: var(--tristar-white) !important;
	background: var(--tristar-red-dark) !important;
	border-color: var(--tristar-red-dark) !important;
}


/*
========================================
TABLET
STACKED DIAGONAL
========================================
*/

@media (max-width: 960px) {
	.tristar-people-culture-grid {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.tristar-people-culture-media {
		min-height: 440px;
		margin-right: 0 !important;
		clip-path: polygon(
			0 0,
			100% 0,
			100% 88%,
			0 100%
		);
	}

	.tristar-people-culture-media::after {
		clip-path: polygon(
			0 99.1%,
			100% 87.1%,
			100% 88%,
			0 100%
		);
	}

	.tristar-people-culture-image {
		min-height: 440px;
	}

	.tristar-people-culture-image img {
		height: 440px !important;
		min-height: 440px;
	}

	.tristar-people-culture-content {
		min-height: 0;
		margin-top: -54px !important;
		padding:
			104px
			48px
			58px !important;
	}

	.tristar-people-culture-content > * {
		max-width: 640px;
	}

	.tristar-people-culture-title,
	.tristar-people-culture-content p:not(.tristar-people-culture-label) {
		max-width: 640px !important;
	}

	.tristar-people-culture-title {
		font-size: clamp(40px, 7vw, 58px) !important;
	}
}


/*
========================================
MOBILE
========================================
*/

@media (max-width: 680px) {
	.tristar-people-culture-media {
		min-height: 330px;
	}

	.tristar-people-culture-image {
		min-height: 330px;
	}

	.tristar-people-culture-image img {
		height: 330px !important;
		min-height: 330px;
		object-position: center;
	}

	.tristar-people-culture-content {
		margin-top: -40px !important;
		padding:
			80px
			24px
			44px !important;
	}

	.tristar-people-culture-label {
		margin-bottom: 11px !important;
		font-size: 14px;
	}

	.tristar-people-culture-title {
		margin-bottom: 20px !important;
		font-size: clamp(34px, 10vw, 46px) !important;
		line-height: 1 !important;
	}

	.tristar-people-culture-content p:not(
		.tristar-people-culture-label
	) {
		margin-bottom: 16px !important;
		font-size: 15px;
		line-height: 1.58;
	}

	.tristar-people-culture-buttons {
		width: 100% !important;
		margin-top: 24px !important;
	}

	.tristar-people-culture-buttons .wp-block-button,
	.tristar-people-culture-buttons .wp-block-button__link {
		width: 100%;
	}
}


/*
========================================
SMALL MOBILE
========================================
*/

@media (max-width: 430px) {
	.tristar-people-culture-media {
		min-height: 280px;
	}

	.tristar-people-culture-image {
		min-height: 280px;
	}

	.tristar-people-culture-image img {
		height: 280px !important;
		min-height: 280px;
	}

	.tristar-people-culture-content {
		margin-top: -34px !important;
		padding:
			70px
			18px
			38px !important;
	}

	.tristar-people-culture-title br {
		display: none;
	}

	.tristar-people-culture-title {
		font-size: clamp(31px, 10vw, 40px) !important;
	}
}


/*
========================================
ABOUT US
OUR JOURNEY TIMELINE MODULE
========================================
*/

.tristar-journey {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding:
		clamp(52px, 5.5vw, 82px)
		clamp(20px, 4vw, 64px)
		clamp(58px, 6vw, 92px);
	overflow: hidden;
	background: var(--tristar-white);
}

.tristar-journey > .wp-block-group__inner-container,
.tristar-journey.is-layout-constrained > :where(
	:not(.alignleft):not(.alignright):not(.alignfull)
) {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.tristar-journey-header {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 1480px;
	margin: 0 auto 28px !important;
	padding: 0;
}

.tristar-journey-header::before,
.tristar-journey-header::after {
	flex: 1 1 auto;
	height: 1px;
	content: "";
	background: rgba(8, 41, 85, 0.16);
}

.tristar-journey-title {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 22px !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(18px, 1.6vw, 24px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0.04em !important;
	text-align: center;
	text-transform: uppercase;
}

.tristar-journey-track {
	position: relative;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: start;
	gap: 0 !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 1480px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.tristar-journey-track::before {
	position: absolute;
	top: 46px;
	right: 12.5%;
	left: 12.5%;
	height: 2px;
	content: "";
	background: #b8c5d6;
}

.tristar-journey-track > .wp-block-column {
	position: relative;
	z-index: 2;
	display: flex !important;
	align-items: stretch;
	justify-content: center;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 24px !important;
}

.tristar-journey-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 270px;
	margin: 0 auto !important;
	padding: 0 !important;
	text-align: center;
}

.tristar-journey-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 58px;
	height: 58px;
	margin: 17px auto 18px;
	color: var(--tristar-blue);
	background: var(--tristar-white);
	border: 2px solid currentColor;
	border-radius: 50%;
	box-shadow: 0 0 0 8px var(--tristar-white);
}

.tristar-journey-icon svg {
	display: block;
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tristar-journey-track > .wp-block-column:nth-child(1) .tristar-journey-icon,
.tristar-journey-track > .wp-block-column:nth-child(4) .tristar-journey-icon {
	color: var(--tristar-red);
}

.tristar-journey-year {
	margin: 0 0 9px !important;
	padding: 0 !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(19px, 1.4vw, 23px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase;
}

.tristar-journey-copy {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--tristar-text) !important;
	font-size: clamp(13px, 0.85vw, 15px);
	line-height: 1.5;
	text-align: center;
}

@media (max-width: 960px) {
	.tristar-journey {
		padding-right: 24px;
		padding-left: 24px;
	}

	.tristar-journey-track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 38px 24px !important;
	}

	.tristar-journey-track::before {
		display: none;
	}

	.tristar-journey-track > .wp-block-column {
		padding: 0 14px !important;
	}

	.tristar-journey-item {
		max-width: 340px;
	}

	.tristar-journey-icon {
		margin-top: 0;
	}
}

@media (max-width: 600px) {
	.tristar-journey {
		padding:
			42px
			18px
			48px;
	}

	.tristar-journey-header {
		margin-bottom: 32px !important;
	}

	.tristar-journey-title {
		padding-right: 14px !important;
		padding-left: 14px !important;
		font-size: 18px !important;
	}

	.tristar-journey-track {
		grid-template-columns: 1fr;
		gap: 0 !important;
	}

	.tristar-journey-track::after {
		position: absolute;
		top: 29px;
		bottom: 29px;
		left: 29px;
		width: 2px;
		content: "";
		background: #b8c5d6;
	}

	.tristar-journey-track > .wp-block-column {
		justify-content: flex-start;
		padding: 0 !important;
	}

	.tristar-journey-item {
		position: relative;
		z-index: 2;
		display: grid;
		grid-template-columns: 60px minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: center;
		column-gap: 18px;
		width: 100%;
		max-width: none;
		padding: 0 0 32px !important;
		text-align: left;
	}

	.tristar-journey-track > .wp-block-column:last-child .tristar-journey-item {
		padding-bottom: 0 !important;
	}

	.tristar-journey-icon {
		grid-row: 1 / 3;
		grid-column: 1;
		width: 58px;
		height: 58px;
		margin: 0;
		box-shadow: 0 0 0 7px var(--tristar-white);
	} 

	.tristar-journey-year {
		grid-row: 1;
		grid-column: 2;
		margin-bottom: 6px !important;
		text-align: left;
	}

	.tristar-journey-copy {
		grid-row: 2;
		grid-column: 2;
		font-size: 14px;
		text-align: left;
	}
}

/*
========================================
ABOUT US
TEAM SHOWCASE + VALUES MODULES
========================================
*/

#tristar-team-showcase,
#tristar-team-showcase * {
	box-sizing: border-box;
}

#tristar-team-showcase {
	position: relative;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: clamp(54px, 5.5vw, 82px) clamp(18px, 3.5vw, 54px) clamp(54px, 5vw, 76px);
	overflow: hidden;
	background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

#tristar-team-showcase .tristar-team-showcase__inner {
	width: 100%;
	max-width: 1480px;
	margin: 0 auto;
}

#tristar-team-showcase .tristar-team-showcase__header {
	max-width: 1280px;
	margin: 0 0 clamp(30px, 3vw, 42px);
	text-align: left;
}

#tristar-team-showcase .tristar-team-showcase__eyebrow {
	margin: 0 0 13px;
	color: var(--tristar-red);
	font-size: 19px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-showcase__title {
	margin: 0 0 16px;
	color: var(--tristar-navy);
	font-size: clamp(38px, 3.5vw, 54px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-showcase__intro {
	max-width: 900px;
	margin: 0;
	color: var(--tristar-text);
	font-size: clamp(15px, 1.15vw, 18px);
	line-height: 1.6;
}

#tristar-team-showcase .tristar-team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(16px, 2vw, 28px);
	width: 100%;
}

#tristar-team-showcase .tristar-team-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.13);
	border-radius: 10px;
	box-shadow: 0 13px 30px rgba(8, 41, 85, 0.09);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

#tristar-team-showcase .tristar-team-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 42px rgba(8, 41, 85, 0.15);
}

#tristar-team-showcase .tristar-team-card__media {
	position: relative;
	width: 100%;
	aspect-ratio: 1.22 / 1;
	margin: 0;
	overflow: hidden;
	background: var(--tristar-dark);
	line-height: 0;
}

#tristar-team-showcase .tristar-team-card__media::after {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
	background: linear-gradient(180deg, transparent 62%, rgba(6, 27, 51, 0.14) 100%);
}

#tristar-team-showcase .tristar-team-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
}

#tristar-team-showcase .tristar-team-card:hover .tristar-team-card__media img {
	transform: scale(1.035);
}

#tristar-team-showcase .tristar-team-card__body {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	min-height: 205px;
	padding: 22px 62px 20px 22px;
}

#tristar-team-showcase .tristar-team-card__name {
	margin: 0 0 5px;
	color: var(--tristar-navy);
	font-size: clamp(20px, 1.55vw, 27px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.025em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-card__role {
	margin: 0 0 13px;
	color: var(--tristar-red);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-card__copy {
	margin: 0 0 18px;
	color: var(--tristar-text);
	font-size: 14px;
	line-height: 1.55;
}

#tristar-team-showcase .tristar-team-card__linkedin {
	position: absolute;
	right: 22px;
	bottom: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	color: var(--tristar-white);
	background: #0a66c2;
	border-radius: 3px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

#tristar-team-showcase .tristar-team-card__linkedin:hover,
#tristar-team-showcase .tristar-team-card__linkedin:focus {
	color: var(--tristar-white);
	background: #084f95;
}

/*
========================================
FACILITY IMAGE GALLERY
DIRECTLY BELOW THE TEAM HEADSHOTS
========================================
*/

#tristar-team-showcase .tristar-team-facilities {
	width: 100%;
	margin: clamp(38px, 4vw, 56px) 0 0;
	padding-top: clamp(34px, 3vw, 44px);
	border-top: 1px solid rgba(6, 27, 51, 0.14);
}

#tristar-team-showcase .tristar-team-facilities__header {
	margin: 0 0 22px;
	text-align: left;
}

#tristar-team-showcase .tristar-team-facilities__eyebrow {
	margin: 0 0 8px;
	color: var(--tristar-red);
	font-size: 19px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-facilities__header h3 {
	margin: 0;
	color: var(--tristar-navy);
	font-size: clamp(26px, 2.5vw, 40px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.035em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-facilities__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(16px, 2vw, 28px);
	width: 100%;
}

#tristar-team-showcase .tristar-team-facility {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	background: var(--tristar-dark);
	border-radius: 10px;
	box-shadow: 0 13px 30px rgba(8, 41, 85, 0.12);
	aspect-ratio: 1.55 / 1;
	line-height: 0;
}

#tristar-team-showcase .tristar-team-facility::after {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
	background: linear-gradient(180deg, rgba(6, 27, 51, 0.02) 38%, rgba(6, 27, 51, 0.88) 100%);
}

#tristar-team-showcase .tristar-team-facility img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
}

#tristar-team-showcase .tristar-team-facility:hover img {
	transform: scale(1.04);
}

#tristar-team-showcase .tristar-team-facility figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	padding: 22px 24px;
	color: var(--tristar-white);
	font-size: clamp(17px, 1.45vw, 23px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.015em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-values {
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
	gap: clamp(24px, 3vw, 40px);
	width: 100%;
	margin: clamp(38px, 4vw, 56px) 0 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
}

#tristar-team-showcase .tristar-team-quote {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 340px;
	margin: 0;
	padding: clamp(42px, 5vw, 72px) clamp(34px, 5vw, 76px);
	overflow: hidden;
	isolation: isolate;
	color: var(--tristar-white);
	background:
		repeating-radial-gradient(
			ellipse at 12% 24%,
			rgba(255, 255, 255, 0.025) 0,
			rgba(255, 255, 255, 0.025) 1px,
			transparent 1px,
			transparent 20px
		),
		linear-gradient(135deg, #0a3265 0%, #061b33 100%);
	border-radius: 10px;
	box-shadow: 0 16px 38px rgba(8, 41, 85, 0.16);
}

#tristar-team-showcase .tristar-team-quote::after {
	position: absolute;
	right: 4%;
	bottom: -56px;
	z-index: -1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 220px;
	height: 220px;
	content: "✦";
	color: rgba(255, 255, 255, 0.045);
	border: 7px solid rgba(255, 255, 255, 0.045);
	border-radius: 50%;
	font-size: 112px;
	line-height: 1;
}

#tristar-team-showcase .tristar-team-quote__mark {
	display: block;
	height: 42px;
	margin: 0 0 12px;
	color: var(--tristar-red);
	font-family: Georgia, serif;
	font-size: 82px;
	font-weight: 800;
	line-height: 0.75;
}

#tristar-team-showcase .tristar-team-quote__text {
	position: relative;
	z-index: 2;
	max-width: 620px;
	margin: 0;
	color: var(--tristar-white);
	font-size: clamp(22px, 2.1vw, 31px);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.025em;
}

#tristar-team-showcase .tristar-team-quote__footer {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 30px;
	padding-top: 22px;
}

#tristar-team-showcase .tristar-team-quote__footer::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 68px;
	height: 3px;
	content: "";
	background: var(--tristar-red);
}

#tristar-team-showcase .tristar-team-quote__footer strong {
	color: var(--tristar-white);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-quote__footer span {
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
	line-height: 1.4;
}

#tristar-team-showcase .tristar-team-principles {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 340px;
	padding: clamp(38px, 4.5vw, 64px) clamp(28px, 4.4vw, 68px);
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.13);
	border-radius: 10px;
	box-shadow: 0 16px 38px rgba(8, 41, 85, 0.1);
}

#tristar-team-showcase .tristar-team-principles__header {
	max-width: 720px;
	margin: 0 0 30px;
}

#tristar-team-showcase .tristar-team-principles__header h3 {
	margin: 0 0 9px;
	color: var(--tristar-red);
	font-size: clamp(16px, 1.35vw, 21px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-principles__header p {
	max-width: 690px;
	margin: 0;
	color: var(--tristar-text);
	font-size: 15px;
	line-height: 1.55;
}

#tristar-team-showcase .tristar-team-principles__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	width: 100%;
}

#tristar-team-showcase .tristar-team-principle {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	padding: 0 clamp(16px, 2vw, 28px);
	text-align: center;
	border-right: 1px solid rgba(8, 41, 85, 0.16);
}

#tristar-team-showcase .tristar-team-principle:first-child {
	padding-left: 0;
}

#tristar-team-showcase .tristar-team-principle:last-child {
	padding-right: 0;
	border-right: 0;
}

#tristar-team-showcase .tristar-team-principle__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 0 14px;
	color: var(--tristar-navy);
}

#tristar-team-showcase .tristar-team-principle__icon svg {
	display: block;
	width: 58px;
	height: 58px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-team-showcase .tristar-team-principle h4 {
	margin: 0 0 9px;
	color: var(--tristar-navy);
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-team-principle p {
	max-width: 230px;
	margin: 0;
	color: var(--tristar-text);
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 1180px) {
	#tristar-team-showcase .tristar-team-showcase__title {
		font-size: clamp(38px, 4.7vw, 52px);
	}

	#tristar-team-showcase .tristar-team-card__body {
		padding-right: 18px;
		padding-left: 18px;
	}

	#tristar-team-showcase .tristar-team-card__name {
		font-size: 21px;
	}

	#tristar-team-showcase .tristar-team-principles {
		padding-right: 34px;
		padding-left: 34px;
	}

	#tristar-team-showcase .tristar-team-principle {
		padding-right: 14px;
		padding-left: 14px;
	}
}

@media (max-width: 960px) {
	#tristar-team-showcase {
		padding-right: 24px;
		padding-left: 24px;
	}

	#tristar-team-showcase .tristar-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}

	#tristar-team-showcase .tristar-team-card__media {
		aspect-ratio: 1.3 / 1;
	}

	#tristar-team-showcase .tristar-team-card__body {
		min-height: 210px;
		padding: 22px;
	}

	#tristar-team-showcase .tristar-team-card__name {
		font-size: 25px;
	}

	#tristar-team-showcase .tristar-team-facilities__grid {
		gap: 16px;
	}

	#tristar-team-showcase .tristar-team-facility {
		aspect-ratio: 1.32 / 1;
	}

	#tristar-team-showcase .tristar-team-facility figcaption {
		padding: 18px;
		font-size: 17px;
	}

	#tristar-team-showcase .tristar-team-values {
		grid-template-columns: 1fr;
	}

	#tristar-team-showcase .tristar-team-quote,
	#tristar-team-showcase .tristar-team-principles {
		min-height: 0;
	}
}

@media (max-width: 680px) {
	#tristar-team-showcase {
		padding-top: 42px;
		padding-right: 16px;
		padding-bottom: 42px;
		padding-left: 16px;
	}

	#tristar-team-showcase .tristar-team-showcase__header {
		margin-bottom: 28px;
	}

	#tristar-team-showcase .tristar-team-showcase__eyebrow {
		margin-bottom: 10px;
		font-size: 17px;
	}

	#tristar-team-showcase .tristar-team-showcase__title {
		font-size: clamp(34px, 10vw, 46px);
		line-height: 1;
	}

	#tristar-team-showcase .tristar-team-showcase__intro {
		font-size: 15px;
	}

	#tristar-team-showcase .tristar-team-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	#tristar-team-showcase .tristar-team-card {
		max-width: 520px;
		margin: 0 auto;
	}

	#tristar-team-showcase .tristar-team-card__media {
		aspect-ratio: 1.24 / 1;
	}

	#tristar-team-showcase .tristar-team-card__body {
		min-height: 0;
		padding: 20px;
	}

	#tristar-team-showcase .tristar-team-card__name {
		font-size: 23px;
	}

	#tristar-team-showcase .tristar-team-facilities {
		margin-top: 34px;
	}

	#tristar-team-showcase .tristar-team-facilities__header {
		margin-bottom: 18px;
	}

	#tristar-team-showcase .tristar-team-facilities__eyebrow {
		font-size: 14px;
	}

	#tristar-team-showcase .tristar-team-facilities__header h3 {
		font-size: clamp(25px, 8vw, 34px);
	}

	#tristar-team-showcase .tristar-team-facilities__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	#tristar-team-showcase .tristar-team-facility {
		width: 100%;
		max-width: 520px;
		margin: 0 auto;
		aspect-ratio: 1.6 / 1;
	}

	#tristar-team-showcase .tristar-team-facility figcaption {
		padding: 20px;
		font-size: 19px;
	}

	#tristar-team-showcase .tristar-team-values {
		gap: 18px;
		margin-top: 34px;
	}

	#tristar-team-showcase .tristar-team-quote {
		padding: 32px 22px;
	}

	#tristar-team-showcase .tristar-team-quote__text {
		font-size: clamp(21px, 6.5vw, 28px);
	}

	#tristar-team-showcase .tristar-team-principles {
		padding: 42px 24px;
	}

	#tristar-team-showcase .tristar-team-principles__grid {
		grid-template-columns: 1fr;
	}

	#tristar-team-showcase .tristar-team-principle,
	#tristar-team-showcase .tristar-team-principle:first-child,
	#tristar-team-showcase .tristar-team-principle:last-child {
		padding: 24px 0;
		border-right: 0;
		border-bottom: 1px solid rgba(8, 41, 85, 0.14);
	}

	#tristar-team-showcase .tristar-team-principle:first-child {
		padding-top: 0;
	}

	#tristar-team-showcase .tristar-team-principle:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	#tristar-team-showcase .tristar-team-principle p {
		max-width: 310px;
	}
}

@media (max-width: 430px) {
	#tristar-team-showcase {
		padding-right: 12px;
		padding-bottom: 36px;
		padding-left: 12px;
	}

	#tristar-team-showcase .tristar-team-card__body {
		padding-right: 18px;
		padding-left: 18px;
	}

	#tristar-team-showcase .tristar-team-quote,
	#tristar-team-showcase .tristar-team-principles {
		padding-right: 20px;
		padding-left: 20px;
	}
}

/*
========================================
ABOUT US
JOIN OUR TEAM CTA
WHITE VERSION OF THE JOURNEY CTA FORMAT
========================================
*/

#tristar-careers-cta,
#tristar-careers-cta * {
	box-sizing: border-box;
}

#tristar-careers-cta {
	position: relative;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding:
		clamp(18px, 2vw, 28px)
		clamp(18px, 3vw, 48px)
		clamp(44px, 5vw, 68px);
	overflow: hidden;
	background: #f6f9fc;
}

#tristar-careers-cta .tristar-careers-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(24px, 5vw, 72px);
	width: 100%;
	max-width: 1080px;
	min-height: 158px;
	margin: 0 auto;
	padding: clamp(30px, 4vw, 48px) clamp(28px, 5vw, 64px);
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.11);
	border-radius: 10px;
	box-shadow: 0 18px 40px rgba(8, 41, 85, 0.12);
}

#tristar-careers-cta .tristar-careers-cta__copy {
	min-width: 0;
}

#tristar-careers-cta .tristar-careers-cta__title {
	margin: 0 0 10px;
	color: var(--tristar-navy);
	font-size: clamp(28px, 3vw, 43px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.035em;
	text-transform: uppercase;
}

#tristar-careers-cta .tristar-careers-cta__text {
	max-width: 720px;
	margin: 0;
	color: var(--tristar-text);
	font-size: clamp(14px, 1vw, 17px);
	line-height: 1.55;
}

#tristar-careers-cta .tristar-careers-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 174px;
	min-height: 50px;
	padding: 12px 24px;
	color: var(--tristar-white);
	background: var(--tristar-red);
	border: 2px solid var(--tristar-red);
	border-radius: 5px;
	box-shadow: 0 10px 22px rgba(8, 41, 85, 0.16);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

#tristar-careers-cta .tristar-careers-cta__button:hover,
#tristar-careers-cta .tristar-careers-cta__button:focus {
	color: var(--tristar-white);
	background: var(--tristar-red-dark);
	border-color: var(--tristar-red-dark);
}

@media (max-width: 820px) {
	#tristar-careers-cta {
		padding:
		20px
		18px
		40px;
	}

	#tristar-careers-cta .tristar-careers-cta__inner {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 34px 30px;
	}

	#tristar-careers-cta .tristar-careers-cta__button {
		justify-self: start;
	}
}

@media (max-width: 480px) {
	#tristar-careers-cta {
		padding:
		16px
		12px
		32px;
	}

	#tristar-careers-cta .tristar-careers-cta__inner {
		padding: 30px 22px;
		border-radius: 8px;
	}

	#tristar-careers-cta .tristar-careers-cta__title {
		font-size: clamp(26px, 8vw, 34px);
	}

	#tristar-careers-cta .tristar-careers-cta__button {
		width: 100%;
	}
}


/*
========================================
TRISTAR COMPACT SITE FOOTER — OPTION 3
COMBINED WITH MAIN TRISTAR STYLESHEET
========================================
*/

/*
========================================
TRISTAR COMPACT SITE FOOTER — OPTION 3
FULL-WIDTH RESPONSIVE VERSION
========================================
*/

#tristar-site-footer,
#tristar-site-footer * {
	box-sizing: border-box;
}

#tristar-site-footer {
	position: relative;
	z-index: 10;
	display: block;
	width: 100vw !important;
	max-width: none !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 0 !important;
	overflow: hidden;
	color: #ffffff;
	background: #061b33;
}

#tristar-site-footer a {
	text-decoration: none;
}


/*
========================================
MAIN NAVY STRIP
========================================
*/

#tristar-site-footer .tristar-site-footer__main {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background:
		linear-gradient(
			90deg,
			#061b33 0%,
			#082955 52%,
			#061b33 100%
		);
}

#tristar-site-footer .tristar-site-footer__inner {
	display: grid;
	grid-template-columns:
		minmax(100px, auto)
		minmax(190px, 0.8fr)
		minmax(0, 1.5fr)
		auto;
	align-items: center;
	gap: 22px;
	width: calc(100% - clamp(40px, 7vw, 120px));
	max-width: 1760px;
	min-height: 126px;
	margin: 0 auto;
	padding: 23px 0;
}


/*
========================================
BRAND / LOGO IMAGE
========================================
*/

#tristar-site-footer .tristar-site-footer__brand {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	color: #ffffff;
}

#tristar-site-footer .tristar-site-footer__logo {
	display: block;
	width: auto;
	max-width: 220px;
	height: auto;
	max-height: 68px;
	margin: 0;
	object-fit: contain;
	transform: translateX(18px);
}


/*
========================================
BRAND STATEMENT
VISIBLE AT EVERY SCREEN SIZE
========================================
*/

#tristar-site-footer .tristar-site-footer__statement {
	display: block;
	min-width: 0;
	margin: 0;
	padding: 3px 0 3px 22px;
	color: rgba(255, 255, 255, 0.88);
	border-left: 2px solid #e52222;
	font-size: 14px;
	line-height: 1.55;
}


/*
========================================
NAVIGATION
========================================
*/

#tristar-site-footer .tristar-site-footer__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	min-width: 0;
	gap: 10px 0;
	padding-right: clamp(14px, 1.5vw, 28px);
}

#tristar-site-footer .tristar-site-footer__nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 4px clamp(12px, 1.35vw, 24px);
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	transition: color 0.2s ease;
}

#tristar-site-footer .tristar-site-footer__nav a + a::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 2px;
	height: 18px;
	content: "";
	background: #e52222;
	transform: translateY(-50%);
}

#tristar-site-footer .tristar-site-footer__nav a:hover,
#tristar-site-footer .tristar-site-footer__nav a:focus {
	color: #ffffff;
}


/*
========================================
SOCIAL ICONS
========================================
*/

#tristar-site-footer .tristar-site-footer__social {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
	gap: 13px;
	min-width: 34px;
}

#tristar-site-footer .tristar-site-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #061b33;
	background: #ffffff;
	border-radius: 4px;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

#tristar-site-footer .tristar-site-footer__social a:hover,
#tristar-site-footer .tristar-site-footer__social a:focus {
	color: #ffffff;
	background: #e52222;
}

#tristar-site-footer .tristar-site-footer__social svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/*
========================================
LEGAL STRIP
========================================
*/

#tristar-site-footer .tristar-site-footer__legal {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	color: #455164;
	background: #ffffff;
	border-top: 1px solid rgba(8, 41, 85, 0.12);
}

#tristar-site-footer .tristar-site-footer__legal-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: calc(100% - clamp(40px, 7vw, 120px));
	max-width: 1760px;
	min-height: 58px;
	margin: 0 auto;
	padding: 14px 0;
}

#tristar-site-footer .tristar-site-footer__legal p {
	margin: 0;
	color: #455164;
	font-size: 13px;
	line-height: 1.4;
}

#tristar-site-footer .tristar-site-footer__legal nav {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 0;
}

#tristar-site-footer .tristar-site-footer__legal a {
	position: relative;
	padding: 3px 0;
	color: #455164;
	font-size: 13px;
	line-height: 1.4;
	white-space: nowrap;
	transition: color 0.2s ease;
}

#tristar-site-footer .tristar-site-footer__legal a + a {
	margin-left: 28px;
	padding-left: 28px;
}

#tristar-site-footer .tristar-site-footer__legal a + a::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 16px;
	content: "";
	background: rgba(8, 41, 85, 0.36);
	transform: translateY(-50%);
}

#tristar-site-footer .tristar-site-footer__legal a:hover,
#tristar-site-footer .tristar-site-footer__legal a:focus {
	color: #e52222;
}


/*
========================================
HIDE ORIGINAL THEME FOOTER
========================================
*/

body:has(#tristar-site-footer) > #page > #colophon:not(
	:has(#tristar-site-footer)
),
body:has(#tristar-site-footer) .site-footer:not(
	:has(#tristar-site-footer)
) {
	display: none !important;
}


/*
========================================
SMALL DESKTOP
========================================
*/

@media (max-width: 1180px) {
	#tristar-site-footer .tristar-site-footer__inner {
		grid-template-columns:
			minmax(100px, auto)
			minmax(170px, 0.75fr)
			minmax(0, 1.25fr)
			auto;
		gap: 22px;
		width: calc(100% - 48px);
	}

	#tristar-site-footer .tristar-site-footer__statement {
		padding-left: 22px;
		font-size: 13px;
	}

	#tristar-site-footer .tristar-site-footer__nav a {
		padding-right: 12px;
		padding-left: 12px;
		font-size: 13px;
	}
}


/*
========================================
TABLET
========================================
*/

@media (max-width: 900px) {
	#tristar-site-footer .tristar-site-footer__inner {
		grid-template-columns:
			minmax(100px, auto)
			minmax(0, 1fr)
			auto;
		align-items: center;
		width: calc(100% - 36px);
		min-height: 0;
		column-gap: 22px;
		row-gap: 20px;
		padding: 24px 0 20px;
	}

	#tristar-site-footer .tristar-site-footer__brand {
		grid-column: 1;
		grid-row: 1;
	}

	#tristar-site-footer .tristar-site-footer__statement {
		grid-column: 2;
		grid-row: 1;
		padding-left: 22px;
		font-size: 13px;
	}

	#tristar-site-footer .tristar-site-footer__social {
		grid-column: 3;
		grid-row: 1;
	}

	#tristar-site-footer .tristar-site-footer__nav {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-content: center;
		padding-top: 17px;
		border-top: 1px solid rgba(255, 255, 255, 0.14);
	}

	#tristar-site-footer .tristar-site-footer__legal-inner {
		width: calc(100% - 36px);
	}
}


/*
========================================
MOBILE
========================================
*/

@media (max-width: 620px) {
	#tristar-site-footer .tristar-site-footer__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		width: calc(100% - 28px);
		gap: 18px 16px;
		padding: 23px 0;
	}

	#tristar-site-footer .tristar-site-footer__brand {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		min-width: 0;
	}

	#tristar-site-footer .tristar-site-footer__social {
		grid-column: 2;
		grid-row: 1;
		align-self: center;
		min-width: 0;
	}

	#tristar-site-footer .tristar-site-footer__statement {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		margin: 0;
		padding: 12px 0 0;
		border-top: 1px solid rgba(255, 255, 255, 0.14);
		border-left: 0;
		font-size: 13px;
		line-height: 1.5;
	}

	#tristar-site-footer .tristar-site-footer__nav {
		grid-column: 1 / -1;
		grid-row: 3;
		justify-content: flex-start;
		gap: 8px 18px;
		padding-top: 15px;
		border-top: 1px solid rgba(255, 255, 255, 0.14);
	}

	#tristar-site-footer .tristar-site-footer__nav a {
		padding: 3px 0;
		font-size: 13px;
	}

	#tristar-site-footer .tristar-site-footer__nav a + a::before {
		display: none;
	}

	#tristar-site-footer .tristar-site-footer__logo {
		max-width: 185px;
		max-height: 58px;
		transform: translateX(12px);
	}

	#tristar-site-footer .tristar-site-footer__legal-inner {
		align-items: flex-start;
		flex-direction: column;
		width: calc(100% - 28px);
		min-height: 0;
		gap: 8px;
		padding: 16px 0;
	}

	#tristar-site-footer .tristar-site-footer__legal nav {
		flex-wrap: wrap;
	}

	#tristar-site-footer .tristar-site-footer__legal a:first-child {
		padding-left: 0;
	}
}


/*
========================================
SMALL MOBILE
========================================
*/

@media (max-width: 420px) {
	#tristar-site-footer .tristar-site-footer__inner {
		width: calc(100% - 24px);
		gap: 16px 12px;
	}

	#tristar-site-footer .tristar-site-footer__logo {
		max-width: 160px;
		max-height: 52px;
		transform: translateX(8px);
	}

	#tristar-site-footer .tristar-site-footer__social {
		gap: 8px;
	}

	#tristar-site-footer .tristar-site-footer__social a {
		width: 31px;
		height: 31px;
	}

	#tristar-site-footer .tristar-site-footer__statement {
		font-size: 12px;
	}

	#tristar-site-footer .tristar-site-footer__nav {
		gap: 7px 14px;
	}

	#tristar-site-footer .tristar-site-footer__nav a {
		font-size: 12px;
	}

	#tristar-site-footer .tristar-site-footer__legal-inner {
		width: calc(100% - 24px);
	}

	#tristar-site-footer .tristar-site-footer__legal a + a {
		margin-left: 18px;
		padding-left: 18px;
	}
}

/*
========================================
ABOUT US
TOP LEADERSHIP QUOTE
IMAGE ON THE RIGHT
========================================
*/

#tristar-top-quote,
#tristar-top-quote * {
	box-sizing: border-box;
}

#tristar-top-quote {
	position: relative;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: clamp(18px, 2vw, 28px) clamp(18px, 4vw, 64px);
	overflow: hidden;
	background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
}

#tristar-top-quote .tristar-top-quote__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	align-items: stretch;
	width: 100%;
	max-width: 1180px;
	min-height: clamp(300px, 24vw, 380px);
	margin: 0 auto;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(8, 41, 85, 0.12);
	border-radius: 10px;
	box-shadow: 0 14px 32px rgba(8, 41, 85, 0.11);
}

#tristar-top-quote .tristar-top-quote__content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 100%;
	margin: 0;
	padding: clamp(32px, 4vw, 52px) clamp(30px, 4vw, 54px);
	overflow: hidden;
	isolation: isolate;
	color: var(--tristar-white);
	background:
		repeating-radial-gradient(
			ellipse at 12% 24%,
			rgba(255, 255, 255, 0.025) 0,
			rgba(255, 255, 255, 0.025) 1px,
			transparent 1px,
			transparent 20px
		),
		linear-gradient(135deg, #0a3265 0%, #061b33 100%);
}

#tristar-top-quote .tristar-top-quote__content::after {
	position: absolute;
	right: 4%;
	bottom: -64px;
	z-index: -1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	height: 185px;
	content: "✦";
	color: rgba(255, 255, 255, 0.045);
	border: 7px solid rgba(255, 255, 255, 0.045);
	border-radius: 50%;
	font-size: 88px;
	line-height: 1;
}

#tristar-top-quote .tristar-top-quote__mark {
	display: block;
	height: 34px;
	margin: 0 0 10px;
	color: var(--tristar-red);
	font-family: Georgia, serif;
	font-size: 68px;
	font-weight: 800;
	line-height: 0.72;
}

#tristar-top-quote .tristar-top-quote__text {
	position: relative;
	z-index: 2;
	max-width: 720px;
	margin: 0;
	color: var(--tristar-white);
	font-size: clamp(22px, 2vw, 31px);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.03em;
}

#tristar-top-quote .tristar-top-quote__footer {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 24px;
	padding-top: 18px;
}

#tristar-top-quote .tristar-top-quote__footer::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 68px;
	height: 3px;
	content: "";
	background: var(--tristar-red);
}

#tristar-top-quote .tristar-top-quote__footer strong {
	color: var(--tristar-white);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

#tristar-top-quote .tristar-top-quote__footer span {
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	line-height: 1.4;
}

#tristar-top-quote .tristar-top-quote__media {
	position: relative;
	min-width: 0;
	min-height: 100%;
	margin: 0;
	overflow: hidden;
	background: var(--tristar-dark);
	line-height: 0;
}

#tristar-top-quote .tristar-top-quote__media::after {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			rgba(6, 27, 51, 0.24) 0%,
			rgba(6, 27, 51, 0.03) 28%,
			rgba(6, 27, 51, 0.02) 100%
		),
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0) 58%,
			rgba(6, 27, 51, 0.18) 100%
		);
}

#tristar-top-quote .tristar-top-quote__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: clamp(300px, 24vw, 380px);
	margin: 0;
	object-fit: cover;
	object-position: center;
}

/*
The quote now lives at the top of the page, so hide the original copy
inside the Team Showcase reusable block.
*/

#tristar-team-showcase .tristar-team-quote {
	display: none !important;
}

#tristar-team-showcase .tristar-team-values {
	display: block;
}

#tristar-team-showcase .tristar-team-principles {
	width: 100%;
}

@media (max-width: 960px) {
	#tristar-top-quote {
		padding-right: 24px;
		padding-left: 24px;
	}

	#tristar-top-quote .tristar-top-quote__inner {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	#tristar-top-quote .tristar-top-quote__content {
		min-height: 390px;
	}

	#tristar-top-quote .tristar-top-quote__media {
		min-height: 380px;
	}

	#tristar-top-quote .tristar-top-quote__media img {
		height: 240px;
		min-height: 240px;
	}
}

@media (max-width: 680px) {
	#tristar-top-quote {
		padding: 18px 14px 28px;
	}

	#tristar-top-quote .tristar-top-quote__inner {
		border-radius: 9px;
	}

	#tristar-top-quote .tristar-top-quote__content {
		min-height: 0;
		padding: 44px 24px;
	}

	#tristar-top-quote .tristar-top-quote__mark {
		height: 38px;
		margin-bottom: 12px;
		font-size: 76px;
	}

	#tristar-top-quote .tristar-top-quote__text {
		font-size: clamp(24px, 7vw, 32px);
		line-height: 1.3;
	}

	#tristar-top-quote .tristar-top-quote__footer {
		margin-top: 28px;
	}

	#tristar-top-quote .tristar-top-quote__media,
	#tristar-top-quote .tristar-top-quote__media img {
		height: 300px;
		min-height: 300px;
	}
}

@media (max-width: 430px) {
	#tristar-top-quote {
		padding-right: 10px;
		padding-left: 10px;
	}

	#tristar-top-quote .tristar-top-quote__content {
		padding: 28px 18px;
	}

	#tristar-top-quote .tristar-top-quote__text {
		font-size: clamp(22px, 7.5vw, 29px);
	}

	#tristar-top-quote .tristar-top-quote__media,
	#tristar-top-quote .tristar-top-quote__media img {
		height: 210px;
		min-height: 210px;
	}
}

/*
========================================
ABOUT US
ROOTED IN VALUES — STANDALONE MODULE
DIRECTLY BELOW THE TOP QUOTE
========================================
*/

#tristar-rooted-values,
#tristar-rooted-values * {
	box-sizing: border-box;
}

#tristar-rooted-values {
	position: relative;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: clamp(34px, 4vw, 54px) clamp(18px, 4vw, 64px);
	background: #ffffff;
}

#tristar-rooted-values .tristar-rooted-values__inner {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(34px, 4vw, 54px) clamp(28px, 4vw, 54px);
	background: #ffffff;
	border: 1px solid rgba(8, 41, 85, 0.12);
	border-radius: 10px;
	box-shadow: 0 14px 32px rgba(8, 41, 85, 0.09);
}

#tristar-rooted-values .tristar-rooted-values__header {
	max-width: 900px;
	margin: 0 0 clamp(28px, 3vw, 40px);
}

#tristar-rooted-values .tristar-rooted-values__header h2 {
	margin: 0 0 10px;
	color: var(--tristar-red);
	font-size: clamp(24px, 2.5vw, 36px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

#tristar-rooted-values .tristar-rooted-values__header p {
	max-width: 820px;
	margin: 0;
	color: var(--tristar-text);
	font-size: clamp(15px, 1.1vw, 17px);
	line-height: 1.55;
}

#tristar-rooted-values .tristar-rooted-values__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	width: 100%;
}

#tristar-rooted-values .tristar-rooted-values__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	padding: 0 clamp(22px, 3vw, 42px);
	text-align: center;
	border-right: 1px solid rgba(8, 41, 85, 0.16);
}

#tristar-rooted-values .tristar-rooted-values__item:first-child {
	padding-left: 0;
}

#tristar-rooted-values .tristar-rooted-values__item:last-child {
	padding-right: 0;
	border-right: 0;
}

#tristar-rooted-values .tristar-rooted-values__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 0 14px;
	color: var(--tristar-navy);
}

#tristar-rooted-values .tristar-rooted-values__icon svg {
	display: block;
	width: 58px;
	height: 58px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-rooted-values .tristar-rooted-values__item h3 {
	margin: 0 0 9px;
	color: var(--tristar-navy);
	font-size: clamp(16px, 1.3vw, 20px);
	font-weight: 800;
	line-height: 1.12;
	text-transform: uppercase;
}

#tristar-rooted-values .tristar-rooted-values__item p {
	max-width: 250px;
	margin: 0;
	color: var(--tristar-text);
	font-size: 14px;
	line-height: 1.5;
}

/* Hide the old copy inside the reusable Team Showcase block. */
#tristar-team-showcase .tristar-team-principles {
	display: none !important;
}

#tristar-team-showcase .tristar-team-values {
	display: none !important;
}

@media (max-width: 680px) {
	#tristar-rooted-values {
		padding: 26px 14px 34px;
	}

	#tristar-rooted-values .tristar-rooted-values__inner {
		padding: 32px 22px;
	}

	#tristar-rooted-values .tristar-rooted-values__header {
		margin-bottom: 24px;
	}

	#tristar-rooted-values .tristar-rooted-values__grid {
		grid-template-columns: 1fr;
	}

	#tristar-rooted-values .tristar-rooted-values__item,
	#tristar-rooted-values .tristar-rooted-values__item:first-child,
	#tristar-rooted-values .tristar-rooted-values__item:last-child {
		padding: 24px 0;
		border-right: 0;
		border-bottom: 1px solid rgba(8, 41, 85, 0.14);
	}

	#tristar-rooted-values .tristar-rooted-values__item:first-child {
		padding-top: 0;
	}

	#tristar-rooted-values .tristar-rooted-values__item:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}
}

@media (max-width: 430px) {
	#tristar-rooted-values {
		padding-right: 10px;
		padding-left: 10px;
	}

	#tristar-rooted-values .tristar-rooted-values__inner {
		padding-right: 18px;
		padding-left: 18px;
	}
}

/*
========================================
ABOUT US
COMBINED QUOTE + ROOTED IN VALUES MODULE
========================================
*/

#tristar-top-quote,
#tristar-rooted-values {
	display: none !important;
}

#tristar-top-values,
#tristar-top-values * {
	box-sizing: border-box;
}

#tristar-top-values {
	position: relative;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: clamp(22px, 2.5vw, 36px) clamp(18px, 4vw, 64px);
	background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
}

#tristar-top-values .tristar-top-values__inner {
	display: grid;
	grid-template-columns: minmax(380px, 0.95fr) minmax(0, 1.45fr);
	align-items: stretch;
	width: 100%;
	max-width: 1480px;
	min-height: 390px;
	margin: 0 auto;
	overflow: hidden;
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.12);
	border-radius: 10px;
	box-shadow: 0 16px 38px rgba(8, 41, 85, 0.12);
}

#tristar-top-values .tristar-top-values__quote {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	margin: 0;
	padding: clamp(38px, 4.5vw, 64px) clamp(32px, 4vw, 58px);
	overflow: hidden;
	isolation: isolate;
	color: var(--tristar-white);
	background:
		repeating-radial-gradient(
			ellipse at 12% 24%,
			rgba(255, 255, 255, 0.025) 0,
			rgba(255, 255, 255, 0.025) 1px,
			transparent 1px,
			transparent 20px
		),
		linear-gradient(135deg, #0a3265 0%, #061b33 100%);
}

#tristar-top-values .tristar-top-values__quote::after {
	position: absolute;
	right: 2%;
	bottom: -58px;
	z-index: -1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 190px;
	height: 190px;
	content: "✦";
	color: rgba(255, 255, 255, 0.045);
	border: 7px solid rgba(255, 255, 255, 0.045);
	border-radius: 50%;
	font-size: 96px;
	line-height: 1;
}

#tristar-top-values .tristar-top-values__mark {
	display: block;
	height: 34px;
	margin: 0 0 12px;
	color: var(--tristar-red);
	font-family: Georgia, serif;
	font-size: 70px;
	font-weight: 800;
	line-height: 0.72;
}

#tristar-top-values .tristar-top-values__quote-text {
	position: relative;
	z-index: 2;
	max-width: 560px;
	margin: 0;
	color: var(--tristar-white);
	font-size: clamp(22px, 2vw, 31px);
	font-weight: 700;
	line-height: 1.34;
	letter-spacing: -0.025em;
}

#tristar-top-values .tristar-top-values__quote-footer {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 26px;
	padding-top: 19px;
}

#tristar-top-values .tristar-top-values__quote-footer::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 68px;
	height: 3px;
	content: "";
	background: var(--tristar-red);
}

#tristar-top-values .tristar-top-values__quote-footer strong {
	color: var(--tristar-white);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

#tristar-top-values .tristar-top-values__quote-footer span {
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
	line-height: 1.4;
}

#tristar-top-values .tristar-top-values__principles {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(36px, 4vw, 56px) clamp(28px, 4vw, 56px);
	background: var(--tristar-white);
}

#tristar-top-values .tristar-top-values__header {
	max-width: 780px;
	margin: 0 0 clamp(26px, 3vw, 38px);
}

#tristar-top-values .tristar-top-values__header h2 {
	margin: 0 0 10px;
	color: var(--tristar-red);
	font-size: clamp(24px, 2.2vw, 34px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

#tristar-top-values .tristar-top-values__header p {
	max-width: 760px;
	margin: 0;
	color: var(--tristar-text);
	font-size: clamp(14px, 1vw, 16px);
	line-height: 1.55;
}

#tristar-top-values .tristar-top-values__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	width: 100%;
}

#tristar-top-values .tristar-top-values__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	padding: 0 clamp(16px, 2vw, 28px);
	text-align: center;
	border-right: 1px solid rgba(8, 41, 85, 0.16);
}

#tristar-top-values .tristar-top-values__item:first-child {
	padding-left: 0;
}

#tristar-top-values .tristar-top-values__item:last-child {
	padding-right: 0;
	border-right: 0;
}

#tristar-top-values .tristar-top-values__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin: 0 0 12px;
	color: var(--tristar-navy);
}

#tristar-top-values .tristar-top-values__icon svg {
	display: block;
	width: 52px;
	height: 52px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-top-values .tristar-top-values__item h3 {
	margin: 0 0 9px;
	color: var(--tristar-navy);
	font-size: clamp(14px, 1.05vw, 18px);
	font-weight: 800;
	line-height: 1.13;
	text-transform: uppercase;
}

#tristar-top-values .tristar-top-values__item p {
	max-width: 220px;
	margin: 0;
	color: var(--tristar-text);
	font-size: 13px;
	line-height: 1.5;
}

/* Keep the older versions hidden inside the reusable team section. */
#tristar-team-showcase .tristar-team-quote,
#tristar-team-showcase .tristar-team-principles,
#tristar-team-showcase .tristar-team-values {
	display: none !important;
}

@media (max-width: 1050px) {
	#tristar-top-values .tristar-top-values__inner {
		grid-template-columns: 1fr;
		max-width: 880px;
	}

	#tristar-top-values .tristar-top-values__quote {
		min-height: 330px;
	}

	#tristar-top-values .tristar-top-values__principles {
		padding-top: 40px;
		padding-bottom: 44px;
	}
}

@media (max-width: 680px) {
	#tristar-top-values {
		padding: 16px 12px 28px;
	}

	#tristar-top-values .tristar-top-values__inner {
		border-radius: 9px;
	}

	#tristar-top-values .tristar-top-values__quote {
		min-height: 0;
		padding: 36px 22px;
	}

	#tristar-top-values .tristar-top-values__quote-text {
		font-size: clamp(22px, 7vw, 30px);
	}

	#tristar-top-values .tristar-top-values__principles {
		padding: 34px 22px;
	}

	#tristar-top-values .tristar-top-values__header {
		margin-bottom: 24px;
	}

	#tristar-top-values .tristar-top-values__grid {
		grid-template-columns: 1fr;
	}

	#tristar-top-values .tristar-top-values__item,
	#tristar-top-values .tristar-top-values__item:first-child,
	#tristar-top-values .tristar-top-values__item:last-child {
		padding: 22px 0;
		border-right: 0;
		border-bottom: 1px solid rgba(8, 41, 85, 0.14);
	}

	#tristar-top-values .tristar-top-values__item:first-child {
		padding-top: 0;
	}

	#tristar-top-values .tristar-top-values__item:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}
}

@media (max-width: 430px) {
	#tristar-top-values {
		padding-right: 10px;
		padding-left: 10px;
	}

	#tristar-top-values .tristar-top-values__quote {
		padding: 32px 18px;
	}

	#tristar-top-values .tristar-top-values__principles {
		padding-right: 18px;
		padding-left: 18px;
	}
}

/*
========================================
ABOUT US
SIMPLE IMAGE HERO
========================================
*/

#tristar-about-hero-simple,
#tristar-about-hero-simple * {
	box-sizing: border-box;
}

#tristar-about-hero-simple {
	position: relative;
	display: flex;
	align-items: center;
	width: 100vw;
	max-width: none;
	min-height: clamp(500px, 52vw, 650px);
	margin: 0 calc(50% - 50vw);
	padding: 0;
	overflow: hidden;
	isolation: isolate;
	background: var(--tristar-dark);
}

#tristar-about-hero-simple::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 4;
	height: 5px;
	content: "";
	background: var(--tristar-red);
}

#tristar-about-hero-simple .tristar-about-hero-simple__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center 58%;
}

#tristar-about-hero-simple .tristar-about-hero-simple__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(
			90deg,
			rgba(3, 17, 35, 0.94) 0%,
			rgba(3, 17, 35, 0.86) 34%,
			rgba(3, 17, 35, 0.48) 62%,
			rgba(3, 17, 35, 0.12) 100%
		),
		linear-gradient(
			180deg,
			rgba(3, 17, 35, 0.04) 0%,
			rgba(3, 17, 35, 0.18) 68%,
			rgba(3, 17, 35, 0.52) 100%
		);
	pointer-events: none;
}

#tristar-about-hero-simple .tristar-about-hero-simple__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 1480px;
	min-height: inherit;
	margin: 0 auto;
	padding: clamp(64px, 7vw, 104px) clamp(24px, 5vw, 84px);
}

#tristar-about-hero-simple .tristar-about-hero-simple__content {
	width: 100%;
	max-width: 760px;
}

#tristar-about-hero-simple .tristar-about-hero-simple__eyebrow {
	margin: 0 0 14px;
	color: var(--tristar-white);
	font-size: clamp(15px, 1.2vw, 19px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#tristar-about-hero-simple .tristar-about-hero-simple__title {
	margin: 0 0 22px;
	color: var(--tristar-white);
	font-size: clamp(48px, 6vw, 82px);
	font-weight: 800;
	line-height: 0.96;
	letter-spacing: -0.045em;
	text-transform: uppercase;
	text-shadow: 0 4px 20px rgba(0, 0, 0, 0.28);
}

#tristar-about-hero-simple .tristar-about-hero-simple__title span {
	color: #4e91f2;
}

#tristar-about-hero-simple .tristar-about-hero-simple__text {
	max-width: 650px;
	margin: 0 0 30px;
	color: rgba(255, 255, 255, 0.94);
	font-size: clamp(16px, 1.35vw, 20px);
	line-height: 1.58;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
}

#tristar-about-hero-simple .tristar-about-hero-simple__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 13px;
	margin: 0;
}

#tristar-about-hero-simple .tristar-about-hero-simple__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 172px;
	min-height: 50px;
	padding: 12px 24px;
	border: 2px solid transparent;
	border-radius: var(--tristar-radius);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

#tristar-about-hero-simple .tristar-about-hero-simple__button:hover,
#tristar-about-hero-simple .tristar-about-hero-simple__button:focus-visible {
}

#tristar-about-hero-simple .tristar-about-hero-simple__button:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.9);
	outline-offset: 3px;
}

#tristar-about-hero-simple .tristar-about-hero-simple__button--primary {
	color: var(--tristar-white);
	background: var(--tristar-red);
	border-color: var(--tristar-red);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
}

#tristar-about-hero-simple .tristar-about-hero-simple__button--primary:hover,
#tristar-about-hero-simple .tristar-about-hero-simple__button--primary:focus-visible {
	color: var(--tristar-white);
	background: var(--tristar-red-dark);
	border-color: var(--tristar-red-dark);
}

#tristar-about-hero-simple .tristar-about-hero-simple__button--secondary {
	color: var(--tristar-white);
	background: rgba(6, 27, 51, 0.34);
	border-color: rgba(255, 255, 255, 0.82);
	backdrop-filter: blur(4px);
}

#tristar-about-hero-simple .tristar-about-hero-simple__button--secondary:hover,
#tristar-about-hero-simple .tristar-about-hero-simple__button--secondary:focus-visible {
	color: var(--tristar-navy);
	background: var(--tristar-white);
	border-color: var(--tristar-white);
}

@media (max-width: 900px) {
	#tristar-about-hero-simple {
		min-height: 560px;
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__image {
		object-position: 62% center;
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__overlay {
		background:
			linear-gradient(
				90deg,
				rgba(3, 17, 35, 0.94) 0%,
				rgba(3, 17, 35, 0.78) 62%,
				rgba(3, 17, 35, 0.42) 100%
			),
			linear-gradient(
				180deg,
				rgba(3, 17, 35, 0.1) 0%,
				rgba(3, 17, 35, 0.5) 100%
			);
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__inner {
		padding-right: 28px;
		padding-left: 28px;
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__content {
		max-width: 650px;
	}
}

@media (max-width: 600px) {
	#tristar-about-hero-simple {
		align-items: flex-end;
		min-height: 570px;
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__image {
		object-position: 67% center;
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__overlay {
		background:
			linear-gradient(
				180deg,
				rgba(3, 17, 35, 0.28) 0%,
				rgba(3, 17, 35, 0.58) 38%,
				rgba(3, 17, 35, 0.96) 100%
			),
			rgba(3, 17, 35, 0.22);
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__inner {
		align-items: flex-end;
		padding: 96px 18px 48px;
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__title {
		margin-bottom: 18px;
		font-size: clamp(40px, 13vw, 58px);
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__text {
		margin-bottom: 24px;
		font-size: 15px;
		line-height: 1.55;
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__actions {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	#tristar-about-hero-simple .tristar-about-hero-simple__button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-about-hero-simple .tristar-about-hero-simple__button {
		transition: none;
	}
}


/*
========================================
ABOUT US PEOPLE SECTION CORRECTION
Keep "Our People / The People Behind the Performance"
and hide the older People & Culture module.
========================================
*/

.tristar-people-culture {
	display: none !important;
}

/*
========================================
ABOUT US PAGE TITLE REMOVAL
The custom image hero replaces the theme-generated page title.
========================================
*/

body:has(#tristar-about-hero-simple) .site-main .entry-header,
body:has(#tristar-about-hero-simple) .site-main .page-header,
body:has(#tristar-about-hero-simple) .site-main .wp-block-post-title,
body:has(#tristar-about-hero-simple) .entry-content > .wp-block-post-title {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body:has(#tristar-about-hero-simple) .site-main,
body:has(#tristar-about-hero-simple) .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/*
========================================
LOCATIONS PAGE HERO
COMPACT WHITE VERSION
========================================
*/

#tristar-locations-intro,
#tristar-locations-intro * {
	box-sizing: border-box;
}

#tristar-locations-intro {
	position: relative;
	display: flex;
	align-items: center;
	width: 100vw;
	max-width: none;
	min-height: 0 !important;
	margin: 0 calc(50% - 50vw);
	padding: 0;
	overflow: hidden;
	color: var(--tristar-text);
	background: var(--tristar-white);
	border-bottom: 1px solid rgba(8, 41, 85, 0.1);
}

#tristar-locations-intro::before {
	display: none;
	content: none;
}

#tristar-locations-intro::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 4px;
	content: "";
	background: var(--tristar-red);
}

#tristar-locations-intro .tristar-locations-intro__inner {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	max-width: 1480px;
	min-height: 0 !important;
	margin: 0 auto;
	padding:
		54px
		clamp(24px, 5vw, 82px);
	text-align: left;
}

#tristar-locations-intro .tristar-locations-intro__eyebrow {
	width: 100%;
	max-width: 960px;
	margin: 0 0 10px;
	padding: 0;
	color: var(--tristar-red);
	font-size: clamp(14px, 1vw, 17px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-align: left;
	text-transform: uppercase;
}

#tristar-locations-intro h2 {
	width: 100%;
	max-width: 1050px;
	margin: 0 0 13px;
	padding: 0;
	color: var(--tristar-navy);
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-align: left;
	text-transform: uppercase;
}

#tristar-locations-intro .tristar-locations-intro__copy {
	width: 100%;
	max-width: 780px;
	margin: 0;
	padding: 0;
	color: var(--tristar-muted);
	font-size: clamp(15px, 1.15vw, 18px);
	line-height: 1.55;
	text-align: left;
}

@media (max-width: 680px) {
	#tristar-locations-intro {
		min-height: 0 !important;
	}

	#tristar-locations-intro .tristar-locations-intro__inner {
		min-height: 0 !important;
		padding: 38px 18px 42px;
	}

	#tristar-locations-intro .tristar-locations-intro__eyebrow {
		margin-bottom: 9px;
		font-size: 13px;
	}

	#tristar-locations-intro h2 {
		margin-bottom: 12px;
		font-size: clamp(34px, 10vw, 46px);
		line-height: 1;
	}

	#tristar-locations-intro .tristar-locations-intro__copy {
		font-size: 15px;
		line-height: 1.5;
	}
}

/*
========================================
LOCATIONS PAGE
WEST COAST MAP + DETAILED FACILITY CARDS
40% MAP / 60% CONTENT
========================================
*/

#tristar-locations-network,
#tristar-locations-network * {
	box-sizing: border-box;
}

#tristar-locations-network {
	position: relative;
	width: 100vw;
	max-width: none;
	min-height: clamp(920px, 94vh, 1120px);
	margin: 0 calc(50% - 50vw);
	padding: clamp(22px, 2.5vw, 42px);
	overflow: hidden;
	background:
		linear-gradient(
			180deg,
			#f7f9fc 0%,
			#eef3f8 100%
		);
}

#tristar-locations-network .tristar-locations-network__shell {
	display: grid;
	grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
	align-items: stretch;
	width: 100%;
	max-width: 1760px;
	min-height: inherit;
	margin: 0 auto;
	overflow: hidden;
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.12);
	border-radius: 14px;
	box-shadow:
		0 22px 54px rgba(8, 41, 85, 0.13),
		0 3px 10px rgba(8, 41, 85, 0.06);
}

/*
========================================
MAP PANEL
========================================
*/

#tristar-locations-network .tristar-locations-network__map-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100%;
	overflow: hidden;
	background: #dbeaf7;
	border-right: 1px solid rgba(8, 41, 85, 0.11);
}

#tristar-locations-network .tristar-locations-network__map-heading {
	position: absolute;
	top: clamp(28px, 3vw, 48px);
	left: clamp(24px, 3vw, 48px);
	z-index: 4;
	max-width: 350px;
	padding: 18px 20px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(8, 41, 85, 0.1);
	border-radius: 9px;
	box-shadow: 0 12px 28px rgba(8, 41, 85, 0.12);
	backdrop-filter: blur(8px);
}

#tristar-locations-network .tristar-locations-network__map-heading p {
	margin: 0 0 9px;
	color: var(--tristar-red);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

#tristar-locations-network .tristar-locations-network__map-heading h2 {
	margin: 0;
	color: var(--tristar-navy);
	font-size: clamp(24px, 2vw, 34px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.035em;
	text-transform: uppercase;
}

#tristar-locations-network .tristar-locations-network__map {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	flex: 1 1 auto;
}

#tristar-locations-network .tristar-map-state {
	fill: #fbfdff;
	stroke: #b9d1e8;
	stroke-width: 2;
}

#tristar-locations-network .tristar-map-neighbor {
	fill: rgba(255, 255, 255, 0.52);
	stroke: #d2e1ef;
	stroke-width: 1.5;
}

#tristar-locations-network .tristar-map-route {
	fill: none;
	stroke: #9dbbd8;
	stroke-width: 3;
	stroke-dasharray: 8 10;
	opacity: 0.7;
}

#tristar-locations-network .tristar-map-state-label {
	fill: #7d8b9b;
	font-family: inherit;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-anchor: middle;
}

#tristar-locations-network .tristar-map-location {
	cursor: pointer;
	transition: transform 0.2s ease;
}

#tristar-locations-network .tristar-locations-network__map a:hover .tristar-map-location,
#tristar-locations-network .tristar-locations-network__map a:focus .tristar-map-location {
	transform: translateY(-5px);
}

#tristar-locations-network .tristar-map-location-label {
	fill: var(--tristar-navy);
	font-family: inherit;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0.02em;
}

#tristar-locations-network .tristar-locations-network__map-note {
	position: absolute;
	right: 24px;
	bottom: 24px;
	left: 24px;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 13px 16px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(8, 41, 85, 0.1);
	border-radius: 7px;
	box-shadow: 0 10px 24px rgba(8, 41, 85, 0.1);
	backdrop-filter: blur(8px);
}

#tristar-locations-network .tristar-locations-network__map-note span {
	flex: 0 0 auto;
	width: 12px;
	height: 12px;
	background: var(--tristar-red);
	border: 3px solid var(--tristar-white);
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(8, 41, 85, 0.16);
}

#tristar-locations-network .tristar-locations-network__map-note p {
	margin: 0;
	color: var(--tristar-navy);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

/*
========================================
CONTENT PANEL
========================================
*/

#tristar-locations-network .tristar-locations-network__content {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(28px, 3.25vw, 58px);
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#fbfcfe 100%
		);
}

#tristar-locations-network .tristar-locations-network__header {
	max-width: 880px;
	margin: 0 0 clamp(24px, 2vw, 34px);
}

#tristar-locations-network .tristar-locations-network__eyebrow {
	margin: 0 0 10px;
	color: var(--tristar-red);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#tristar-locations-network .tristar-locations-network__header h2 {
	margin: 0 0 13px;
	color: var(--tristar-navy);
	font-size: clamp(34px, 3vw, 50px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

#tristar-locations-network .tristar-locations-network__header > p:last-child {
	max-width: 800px;
	margin: 0;
	color: var(--tristar-muted);
	font-size: 15px;
	line-height: 1.55;
}

#tristar-locations-network .tristar-locations-network__cards {
	display: grid;
	grid-template-columns: 1fr;
	align-content: start;
	gap: clamp(16px, 1.5vw, 22px);
	width: 100%;
}

/*
========================================
FACILITY DETAIL CARDS
========================================
*/

#tristar-locations-network .tristar-location-detail-card {
	position: relative;
	min-width: 0;
	padding: clamp(20px, 1.8vw, 28px);
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.13);
	border-radius: 10px;
	box-shadow: 0 10px 26px rgba(8, 41, 85, 0.08);
	scroll-margin-top: 28px;
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		border-color 0.22s ease;
}

#tristar-locations-network .tristar-location-detail-card:hover,
#tristar-locations-network .tristar-location-detail-card:target {
	transform: translateY(-3px);
	border-color: rgba(10, 95, 222, 0.3);
	box-shadow: 0 17px 36px rgba(8, 41, 85, 0.13);
}

#tristar-locations-network .tristar-location-detail-card:target {
	outline: 3px solid rgba(10, 95, 222, 0.14);
	outline-offset: 3px;
}

#tristar-locations-network .tristar-location-detail-card__heading {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 15px;
	padding-bottom: 17px;
	border-bottom: 1px solid rgba(8, 41, 85, 0.13);
}

#tristar-locations-network .tristar-location-detail-card__pin {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 43px;
	height: 43px;
	color: var(--tristar-red);
}

#tristar-locations-network .tristar-location-detail-card__pin svg {
	display: block;
	width: 40px;
	height: 40px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-locations-network .tristar-location-detail-card__heading p {
	margin: 0 0 4px;
	color: var(--tristar-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

#tristar-locations-network .tristar-location-detail-card__heading h2 {
	margin: 0;
	color: var(--tristar-navy);
	font-size: clamp(24px, 2vw, 35px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.035em;
	text-transform: uppercase;
}

#tristar-locations-network .tristar-location-detail-card__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	color: var(--tristar-red);
	background: rgba(229, 34, 34, 0.06);
	border: 1px solid rgba(229, 34, 34, 0.16);
	border-radius: 50%;
	font-size: 25px;
	line-height: 1;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

#tristar-locations-network .tristar-location-detail-card__arrow:hover,
#tristar-locations-network .tristar-location-detail-card__arrow:focus {
	color: var(--tristar-white);
	background: var(--tristar-red);
	transform: translateX(3px);
}

#tristar-locations-network .tristar-location-detail-card__body {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.65fr);
	gap: clamp(24px, 3vw, 48px);
	padding-top: 19px;
}

#tristar-locations-network .tristar-location-detail-card__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-content: start;
	gap: 16px 24px;
	min-width: 0;
}

#tristar-locations-network .tristar-location-fact {
	display: grid;
	grid-template-columns: 31px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	min-width: 0;
}

#tristar-locations-network .tristar-location-fact__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	color: var(--tristar-navy);
}

#tristar-locations-network .tristar-location-fact__icon svg {
	display: block;
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-locations-network .tristar-location-fact strong,
#tristar-locations-network .tristar-location-capability strong {
	display: block;
	margin: 0 0 3px;
	color: var(--tristar-navy);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

#tristar-locations-network .tristar-location-fact span,
#tristar-locations-network .tristar-location-capability span {
	display: block;
	color: var(--tristar-text);
	font-size: 14px;
	line-height: 1.38;
}

#tristar-locations-network .tristar-location-detail-card__capabilities {
	display: grid;
	grid-template-columns: 1fr;
	align-content: start;
	gap: 13px;
	min-width: 0;
	padding-left: clamp(20px, 2.2vw, 36px);
	border-left: 1px solid rgba(8, 41, 85, 0.14);
}

#tristar-locations-network .tristar-location-capability {
	position: relative;
	padding-left: 18px;
}

#tristar-locations-network .tristar-location-capability::before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 7px;
	height: 7px;
	content: "";
	background: var(--tristar-red);
	border-radius: 50%;
}

/*
========================================
WORDPRESS PAGE CLEANUP
========================================
*/

body:has(#tristar-locations-intro) .site-main .entry-header,
body:has(#tristar-locations-intro) .site-main .page-header,
body:has(#tristar-locations-intro) .site-main .wp-block-post-title,
body:has(#tristar-locations-intro) .entry-content > .wp-block-post-title,
body:has(#tristar-locations-network) .site-main .entry-header,
body:has(#tristar-locations-network) .site-main .page-header,
body:has(#tristar-locations-network) .site-main .wp-block-post-title,
body:has(#tristar-locations-network) .entry-content > .wp-block-post-title {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body:has(#tristar-locations-intro) .site-main,
body:has(#tristar-locations-intro) .entry-content,
body:has(#tristar-locations-network) .site-main,
body:has(#tristar-locations-network) .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/*
========================================
RESPONSIVE LAYOUT
========================================
*/

@media (max-width: 1320px) {
	#tristar-locations-network {
		padding: 22px;
	}

	#tristar-locations-network .tristar-locations-network__shell {
		grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
	}

	#tristar-locations-network .tristar-locations-network__content {
		padding: 32px;
	}

	#tristar-locations-network .tristar-location-detail-card__body {
		grid-template-columns: minmax(0, 1.25fr) minmax(200px, 0.75fr);
		gap: 26px;
	}

	#tristar-locations-network .tristar-location-detail-card__facts {
		gap: 14px 18px;
	}
}

@media (max-width: 1100px) {
	#tristar-locations-network {
		min-height: 0;
		padding: 20px;
	}

	#tristar-locations-network .tristar-locations-network__shell {
		grid-template-columns: 1fr;
		max-width: 900px;
		min-height: 0;
	}

	#tristar-locations-network .tristar-locations-network__map-panel {
		min-height: 760px;
		border-right: 0;
		border-bottom: 1px solid rgba(8, 41, 85, 0.11);
	}

	#tristar-locations-network .tristar-locations-network__map {
		height: 760px;
		min-height: 760px;
	}

	#tristar-locations-network .tristar-locations-network__content {
		padding: 38px;
	}
}

@media (max-width: 760px) {
	#tristar-locations-network {
		padding: 14px;
	}

	#tristar-locations-network .tristar-locations-network__shell {
		border-radius: 10px;
	}

	#tristar-locations-network .tristar-locations-network__map-panel,
	#tristar-locations-network .tristar-locations-network__map {
		min-height: 620px;
		height: 620px;
	}

	#tristar-locations-network .tristar-locations-network__map-heading {
		top: 18px;
		left: 18px;
		max-width: 285px;
		padding: 14px 16px;
	}

	#tristar-locations-network .tristar-locations-network__map-heading h2 {
		font-size: 24px;
	}

	#tristar-locations-network .tristar-locations-network__map-note {
		right: 16px;
		bottom: 16px;
		left: 16px;
	}

	#tristar-locations-network .tristar-locations-network__content {
		padding: 28px 20px;
	}

	#tristar-locations-network .tristar-locations-network__header h2 {
		font-size: clamp(30px, 8vw, 42px);
	}

	#tristar-locations-network .tristar-location-detail-card {
		padding: 20px;
	}

	#tristar-locations-network .tristar-location-detail-card__heading {
		grid-template-columns: auto minmax(0, 1fr);
	}

	#tristar-locations-network .tristar-location-detail-card__heading h2 {
		font-size: clamp(23px, 6.5vw, 31px);
	}

	#tristar-locations-network .tristar-location-detail-card__arrow {
		grid-column: 1 / -1;
		width: 100%;
		height: 42px;
		border-radius: 5px;
	}

	#tristar-locations-network .tristar-location-detail-card__body {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	#tristar-locations-network .tristar-location-detail-card__capabilities {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
		padding-top: 18px;
		padding-left: 0;
		border-top: 1px solid rgba(8, 41, 85, 0.14);
		border-left: 0;
	}

	#tristar-locations-network .tristar-location-capability {
		padding-left: 14px;
	}
}

@media (max-width: 540px) {
	#tristar-locations-network {
		padding: 8px;
	}

	#tristar-locations-network .tristar-locations-network__map-panel,
	#tristar-locations-network .tristar-locations-network__map {
		min-height: 520px;
		height: 520px;
	}

	#tristar-locations-network .tristar-locations-network__map-heading {
		right: 14px;
		left: 14px;
		max-width: none;
	}

	#tristar-locations-network .tristar-locations-network__map-note {
		display: none;
	}

	#tristar-locations-network .tristar-locations-network__content {
		padding: 24px 14px;
	}

	#tristar-locations-network .tristar-location-detail-card {
		padding: 18px 15px;
	}

	#tristar-locations-network .tristar-location-detail-card__heading {
		gap: 11px;
	}

	#tristar-locations-network .tristar-location-detail-card__pin {
		width: 36px;
		height: 36px;
	}

	#tristar-locations-network .tristar-location-detail-card__pin svg {
		width: 34px;
		height: 34px;
	}

	#tristar-locations-network .tristar-location-detail-card__facts {
		grid-template-columns: 1fr;
	}

	#tristar-locations-network .tristar-location-detail-card__capabilities {
		grid-template-columns: 1fr;
	}

	#tristar-locations-network .tristar-location-fact span,
	#tristar-locations-network .tristar-location-capability span {
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-locations-network .tristar-map-location,
	#tristar-locations-network .tristar-location-detail-card,
	#tristar-locations-network .tristar-location-detail-card__arrow {
		transition: none;
	}
}

/*
========================================
FINAL LOCATIONS MAP REBUILD
Accurate West Coast state outlines with a cleaner, uncluttered presentation.
========================================
*/

#tristar-locations-network .tristar-locations-network__map-panel {
	background:
		linear-gradient(
			180deg,
			#d9ecfa 0%,
			#c5dff3 100%
		);
}

#tristar-locations-network .tristar-locations-network__map {
	display: block;
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-height: 100%;
	background: transparent;
}

#tristar-locations-network .tristar-map-focus-states path {
	fill: url(#tristar-map-land);
	stroke: #9fc2df;
	stroke-width: 1.8;
	stroke-linejoin: round;
}

#tristar-locations-network .tristar-map-neighbor-states path {
	fill: rgba(240, 247, 252, 0.74);
	stroke: rgba(143, 180, 211, 0.72);
	stroke-width: 1.2;
	stroke-linejoin: round;
}

#tristar-locations-network .tristar-map-state-label {
	fill: #71869c;
	font-family: inherit;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-anchor: middle;
}

#tristar-locations-network .tristar-map-ocean-label {
	fill: rgba(8, 41, 85, 0.38);
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-anchor: middle;
}

#tristar-locations-network .tristar-locations-network__map a {
	cursor: pointer;
	text-decoration: none;
}

#tristar-locations-network .tristar-map-pin-group use {
	transform-box: fill-box;
	transform-origin: center;
	transition: transform 0.2s ease;
}

#tristar-locations-network .tristar-map-pin-label rect {
	fill: rgba(255, 255, 255, 0.96);
	stroke: rgba(8, 41, 85, 0.12);
	stroke-width: 1;
	transition:
		fill 0.2s ease,
		stroke 0.2s ease;
}

#tristar-locations-network .tristar-map-pin-label text {
	fill: var(--tristar-navy);
	font-family: inherit;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.025em;
}

#tristar-locations-network .tristar-locations-network__map a:hover .tristar-map-pin-group use,
#tristar-locations-network .tristar-locations-network__map a:focus .tristar-map-pin-group use {
	transform: translateY(-4px) scale(1.04);
}

#tristar-locations-network .tristar-locations-network__map a:hover .tristar-map-pin-label rect,
#tristar-locations-network .tristar-locations-network__map a:focus .tristar-map-pin-label rect {
	fill: #ffffff;
	stroke: rgba(229, 34, 34, 0.42);
}

@media (max-width: 1100px) {
	#tristar-locations-network .tristar-locations-network__map-panel {
		min-height: 740px;
	}

	#tristar-locations-network .tristar-locations-network__map {
		height: 740px;
		min-height: 740px;
	}
}

@media (max-width: 760px) {
	#tristar-locations-network .tristar-locations-network__map-panel,
	#tristar-locations-network .tristar-locations-network__map {
		height: 680px;
		min-height: 680px;
	}
}

@media (max-width: 540px) {
	#tristar-locations-network .tristar-locations-network__map-panel,
	#tristar-locations-network .tristar-locations-network__map {
		height: 600px;
		min-height: 600px;
	}

	#tristar-locations-network .tristar-map-pin-label text {
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-locations-network .tristar-map-pin-group use,
	#tristar-locations-network .tristar-map-pin-label rect {
		transition: none;
	}
}


/*
========================================
FINAL LOCATIONS MAP IMAGE
Replaces the inline SVG with the approved static West Coast map image.
========================================
*/

#tristar-locations-network .tristar-locations-network__map-panel {
	position: relative;
	display: flex;
	align-items: stretch;
	justify-content: center;
	min-width: 0;
	min-height: clamp(820px, 74vw, 1120px);
	overflow: hidden;
	background: #dceefa;
	border-right: 1px solid rgba(8, 41, 85, 0.12);
}

#tristar-locations-network .tristar-locations-network__map-figure {
	display: flex;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: inherit;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: #dceefa;
	line-height: 0;
}

#tristar-locations-network .tristar-locations-network__map-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover;
	object-position: center center;
	vertical-align: bottom;
}

/* The approved map already contains its own labels and pins. */
#tristar-locations-network .tristar-locations-network__map,
#tristar-locations-network .tristar-locations-network__map-heading,
#tristar-locations-network .tristar-locations-network__map-note {
	display: none !important;
}

@media (max-width: 1320px) {
	#tristar-locations-network .tristar-locations-network__map-panel {
		min-height: 960px;
	}
}

@media (max-width: 1100px) {
	#tristar-locations-network .tristar-locations-network__map-panel {
		min-height: 920px;
		border-right: 0;
		border-bottom: 1px solid rgba(8, 41, 85, 0.12);
	}

	#tristar-locations-network .tristar-locations-network__map-image {
		object-fit: contain;
		object-position: center;
	}
}

@media (max-width: 760px) {
	#tristar-locations-network .tristar-locations-network__map-panel {
		min-height: 760px;
	}
}

@media (max-width: 540px) {
	#tristar-locations-network .tristar-locations-network__map-panel {
		min-height: 620px;
	}
}
.tristar-locations-network__map-panel {
	min-width: 0;
	overflow: hidden;
}

.tristar-locations-network__map-embed {
	width: 100%;
	height: 100%;
	min-height: 760px;
	overflow: hidden;
	background: #f2f2f2;
}

.tristar-locations-network__map-embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 760px;
	border: 0;
}

@media (max-width: 1024px) {
	.tristar-locations-network__map-embed,
	.tristar-locations-network__map-embed iframe {
		min-height: 550px;
	}
}

@media (max-width: 767px) {
	.tristar-locations-network__map-embed,
	.tristar-locations-network__map-embed iframe {
		min-height: 460px;
	}
}
/*
========================================
CONTACT PAGE
DYNAMIC CONTACT ROUTING
========================================
*/

#tristar-contact-page,
#tristar-contact-page * {
	box-sizing: border-box;
}

#tristar-contact-page {
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	color: var(--tristar-text);
	background: var(--tristar-white);
}

body:has(#tristar-contact-page) .site-main .entry-header,
body:has(#tristar-contact-page) .site-main .page-header,
body:has(#tristar-contact-page) .site-main .wp-block-post-title,
body:has(#tristar-contact-page) .entry-content > .wp-block-post-title {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body:has(#tristar-contact-page) .site-main,
body:has(#tristar-contact-page) .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}


/*
========================================
CONTACT HERO
MATCHES THE OUR FACILITIES HERO
========================================
*/

#tristar-contact-page .tristar-contact-hero,
#tristar-contact-page .tristar-contact-hero * {
	box-sizing: border-box !important;
}

#tristar-contact-page .tristar-contact-hero {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border: 0 !important;
	isolation: isolate !important;
}

#tristar-contact-page .tristar-contact-hero::before {
	display: none !important;
	content: none !important;
}

#tristar-contact-page .tristar-contact-hero::after {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 5 !important;
	display: block !important;
	width: 100% !important;
	height: 4px !important;
	content: "" !important;
	background: var(--tristar-blue) !important;
}

#tristar-contact-page .tristar-contact-hero__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

#tristar-contact-page .tristar-contact-hero__content {
	display: flex !important;
	justify-content: center !important;
	flex-direction: column !important;
	min-width: 0 !important;
	max-width: none !important;
	padding:
		38px
		clamp(28px, 4vw, 64px)
		42px
		max(28px, calc((100vw - 1480px) / 2 + 56px)) !important;
}

#tristar-contact-page .tristar-contact-hero__content > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

#tristar-contact-page .tristar-contact-hero__eyebrow {
	width: 100% !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: var(--tristar-red) !important;
	font-size: clamp(14px, 1vw, 17px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

#tristar-contact-page .tristar-contact-hero__title {
	width: 100% !important;
	max-width: 620px !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: var(--tristar-white) !important;
	font-size: clamp(38px, 4vw, 62px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.04em !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

#tristar-contact-page .tristar-contact-hero__intro {
	width: 100% !important;
	max-width: 580px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: clamp(15px, 1.15vw, 18px) !important;
	line-height: 1.55 !important;
	text-align: left !important;
}

#tristar-contact-page .tristar-contact-hero__media {
	position: relative !important;
	isolation: isolate !important;
	min-width: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

#tristar-contact-page .tristar-contact-hero__media::before {
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 3 !important;
	width: clamp(170px, 17vw, 300px) !important;
	content: "" !important;
	pointer-events: none !important;
	background: linear-gradient(
		90deg,
		rgba(8, 41, 85, 1) 0%,
		rgba(8, 41, 85, 0.97) 16%,
		rgba(8, 41, 85, 0.84) 34%,
		rgba(8, 41, 85, 0.58) 56%,
		rgba(8, 41, 85, 0.24) 76%,
		rgba(8, 41, 85, 0.06) 90%,
		rgba(8, 41, 85, 0) 100%
	) !important;
}

#tristar-contact-page .tristar-contact-hero__media-figure {
	position: relative !important;
	margin: 0 !important;
	height: 320px !important;
	min-height: 320px !important;
	max-height: 320px !important;
	overflow: hidden !important;
	background: #e8edf3 !important;
}

#tristar-contact-page .tristar-contact-hero__media img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
}

@media (min-width: 961px) {
	#tristar-contact-page .tristar-contact-hero,
	#tristar-contact-page .tristar-contact-hero__inner,
	#tristar-contact-page .tristar-contact-hero__content,
	#tristar-contact-page .tristar-contact-hero__media,
	#tristar-contact-page .tristar-contact-hero__media-figure {
		height: 320px !important;
		min-height: 320px !important;
		max-height: 320px !important;
	}
}

@media (max-width: 960px) {
	#tristar-contact-page .tristar-contact-hero__inner {
		grid-template-columns: 1fr !important;
	}

	#tristar-contact-page .tristar-contact-hero__content {
		padding: 34px 24px 32px !important;
	}

	#tristar-contact-page .tristar-contact-hero__media {
		border-top: 1px solid rgba(8, 41, 85, 0.12) !important;
	}

	#tristar-contact-page .tristar-contact-hero__media::before {
		top: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		left: 0 !important;
		width: 100% !important;
		height: 44px !important;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0.84) 34%,
			rgba(255, 255, 255, 0.42) 68%,
			rgba(255, 255, 255, 0) 100%
		) !important;
	}

	#tristar-contact-page .tristar-contact-hero__media-figure {
		height: 270px !important;
		min-height: 270px !important;
		max-height: 270px !important;
	}
}

@media (max-width: 680px) {
	#tristar-contact-page .tristar-contact-hero::after {
		height: 3px !important;
	}

	#tristar-contact-page .tristar-contact-hero__content {
		padding: 30px 18px 28px !important;
	}

	#tristar-contact-page .tristar-contact-hero__eyebrow {
		font-size: 14px !important;
	}

	#tristar-contact-page .tristar-contact-hero__title {
		font-size: clamp(34px, 10vw, 46px) !important;
		line-height: 1 !important;
	}

	#tristar-contact-page .tristar-contact-hero__intro {
		font-size: 15px !important;
		line-height: 1.5 !important;
	}

	#tristar-contact-page .tristar-contact-hero__media-figure {
		height: 210px !important;
		min-height: 210px !important;
		max-height: 210px !important;
	}
}


/*
========================================
CONTACT MAIN SECTION
========================================
*/

#tristar-contact-page .tristar-contact-main {
	padding:
		clamp(34px, 4vw, 52px)
		clamp(18px, 4vw, 64px)
		clamp(54px, 6vw, 84px);
	background:
		linear-gradient(
			180deg,
			#f4f7fa 0%,
			#ffffff 100%
		);
}

#tristar-contact-page .tristar-contact-main__inner {
	width: 100%;
	max-width: 1480px;
	margin: 0 auto;
}


/*
========================================
COMPACT CONTACT TABS
========================================
*/

#tristar-contact-page .tristar-contact-options {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
}

#tristar-contact-page .tristar-contact-option {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	width: 100%;
	min-width: 0;
	min-height: 64px;
	margin: 0;
	padding: 10px 15px;
	color: var(--tristar-text);
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.18);
	border-radius: 5px;
	box-shadow: 0 4px 12px rgba(8, 41, 85, 0.06);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

#tristar-contact-page .tristar-contact-option:hover {
	border-color: rgba(10, 95, 222, 0.42);
	box-shadow: 0 7px 16px rgba(8, 41, 85, 0.1);
}

#tristar-contact-page .tristar-contact-option.is-active {
	color: var(--tristar-white);
	background: var(--tristar-navy);
	border-color: var(--tristar-navy);
	box-shadow: 0 7px 17px rgba(8, 41, 85, 0.18);
}

#tristar-contact-page .tristar-contact-option.is-active::after {
	position: absolute;
	right: 12px;
	bottom: -1px;
	left: 12px;
	height: 3px;
	content: "";
	background: var(--tristar-red);
	border-radius: 3px 3px 0 0;
}

#tristar-contact-page .tristar-contact-option__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	margin: 0;
	color: var(--tristar-blue);
	background: rgba(10, 95, 222, 0.08);
	border-radius: 5px;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__icon {
	color: var(--tristar-white);
	background: rgba(255, 255, 255, 0.12);
}

#tristar-contact-page .tristar-contact-option__icon svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-contact-page .tristar-contact-option__copy {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	margin: 0;
	padding: 0;
}

#tristar-contact-page .tristar-contact-option__copy strong {
	display: block;
	width: 100%;
	margin: 0;
	color: var(--tristar-navy);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.02em;
	text-align: left;
	text-transform: uppercase;
	white-space: normal;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__copy strong {
	color: var(--tristar-white);
}

#tristar-contact-page .tristar-contact-option__copy small {
	display: block;
	width: 100%;
	margin: 0;
	color: var(--tristar-muted);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.25;
	text-align: left;
	white-space: normal;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__copy small {
	color: rgba(255, 255, 255, 0.78);
}


/*
========================================
CONTACT TWO-COLUMN PANEL
========================================
*/

#tristar-contact-page .tristar-contact-layout {
	display: grid;
	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 2fr);
	align-items: stretch;
	overflow: hidden;
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.12);
	border-radius: 12px;
	box-shadow: 0 19px 46px rgba(8, 41, 85, 0.12);
}


/*
========================================
CONTACT SIDEBAR
========================================
*/

#tristar-contact-page .tristar-contact-sidebar {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(36px, 4vw, 58px);
	overflow: hidden;
	isolation: isolate;
	color: var(--tristar-white);
	background:
		linear-gradient(
			145deg,
			#0a3265 0%,
			#061b33 100%
		);
}

#tristar-contact-page .tristar-contact-sidebar::after {
	position: absolute;
	right: -90px;
	bottom: -100px;
	z-index: -1;
	width: 280px;
	height: 280px;
	content: "";
	border: 45px solid rgba(255, 255, 255, 0.035);
	border-radius: 50%;
}

#tristar-contact-page .tristar-contact-sidebar__intro {
	max-width: 520px;
	margin: 0 0 34px;
}

#tristar-contact-page .tristar-contact-sidebar__eyebrow {
	margin: 0 0 11px;
	color: var(--tristar-white);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-sidebar__intro h2 {
	margin: 0 0 16px;
	color: var(--tristar-white);
	font-size: clamp(31px, 3vw, 46px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-sidebar__intro > p:last-child {
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 15px;
	line-height: 1.6;
}

#tristar-contact-page .tristar-contact-sidebar__details {
	display: grid;
	gap: 10px;
	width: 100%;
}

#tristar-contact-page .tristar-contact-detail-card {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	padding: 15px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

#tristar-contact-page .tristar-contact-detail-card:last-child {
	border-bottom: 0;
}

#tristar-contact-page .tristar-contact-detail-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	color: var(--tristar-white);
	background: rgba(255, 255, 255, 0.08);
	border-radius: 6px;
}

#tristar-contact-page .tristar-contact-detail-card__icon svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-contact-page .tristar-contact-detail-card div {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

#tristar-contact-page .tristar-contact-detail-card strong {
	margin: 0 0 3px;
	color: var(--tristar-white);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-detail-card a,
#tristar-contact-page .tristar-contact-detail-card span {
	color: rgba(255, 255, 255, 0.86);
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
}

#tristar-contact-page .tristar-contact-detail-card a:hover {
	color: var(--tristar-white);
}

#tristar-contact-page .tristar-contact-sidebar__note {
	margin-top: auto;
	padding-top: 34px;
}

#tristar-contact-page .tristar-contact-sidebar__note strong {
	display: block;
	margin: 0 0 6px;
	color: var(--tristar-white);
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-sidebar__note p {
	margin: 0;
	color: rgba(255, 255, 255, 0.76);
	font-size: 13px;
	line-height: 1.5;
}


/*
========================================
CONTACT FORM PANEL
========================================
*/

#tristar-contact-page .tristar-contact-form-panel {
	min-width: 0;
	padding: clamp(36px, 4vw, 58px);
	background: var(--tristar-white);
}

#tristar-contact-page .tristar-contact-form-panel__header {
	max-width: 780px;
	margin: 0 0 28px;
}

#tristar-contact-page .tristar-contact-form-panel__header > p:first-child {
	margin: 0 0 9px;
	color: var(--tristar-red);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-form-panel__header h2 {
	margin: 0 0 11px;
	color: var(--tristar-navy);
	font-size: clamp(31px, 3vw, 46px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-form-panel__header > p:last-child {
	margin: 0;
	color: var(--tristar-muted);
	font-size: 15px;
	line-height: 1.55;
}


/*
========================================
DYNAMIC CONTACT FORM
========================================
*/

#tristar-contact-page .tristar-dynamic-contact-form {
	width: 100%;
}

#tristar-contact-page .tristar-contact-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 18px;
	width: 100%;
}

#tristar-contact-page .tristar-contact-field {
	min-width: 0;
	margin: 0 0 18px;
}

#tristar-contact-page .tristar-contact-field--full {
	grid-column: 1 / -1;
}

#tristar-contact-page .tristar-contact-field label {
	display: block;
	margin: 0 0 7px;
	color: var(--tristar-dark);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.3;
}

#tristar-contact-page .tristar-contact-field label span {
	color: var(--tristar-red);
}

#tristar-contact-page .tristar-contact-field input,
#tristar-contact-page .tristar-contact-field select,
#tristar-contact-page .tristar-contact-field textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 13px 14px;
	color: var(--tristar-text);
	background: var(--tristar-white);
	border: 1px solid #bdc8d4;
	border-radius: 5px;
	outline: none;
	font: inherit;
	font-size: 14px;
	line-height: 1.4;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

#tristar-contact-page .tristar-contact-field input,
#tristar-contact-page .tristar-contact-field select {
	min-height: 48px;
}

#tristar-contact-page .tristar-contact-field textarea {
	min-height: 166px;
	resize: vertical;
}

#tristar-contact-page .tristar-contact-field input:focus,
#tristar-contact-page .tristar-contact-field select:focus,
#tristar-contact-page .tristar-contact-field textarea:focus {
	border-color: var(--tristar-blue);
	box-shadow: 0 0 0 3px rgba(10, 95, 222, 0.12);
}

#tristar-contact-page .tristar-contact-field input::placeholder,
#tristar-contact-page .tristar-contact-field textarea::placeholder {
	color: #7b8795;
}

#tristar-contact-page .tristar-contact-mode-fields[hidden] {
	display: none !important;
}

#tristar-contact-page .tristar-contact-form-note {
	margin: -2px 0 18px;
	padding: 12px 14px;
	color: var(--tristar-muted);
	background: var(--tristar-light);
	border-left: 3px solid var(--tristar-blue);
	font-size: 12px;
	line-height: 1.5;
}


/*
========================================
FORM FOOTER
========================================
*/

#tristar-contact-page .tristar-contact-form-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	margin-top: 4px;
	padding-top: 22px;
	border-top: 1px solid rgba(8, 41, 85, 0.12);
}

#tristar-contact-page .tristar-contact-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-width: 190px;
	min-height: 50px;
	padding: 12px 24px;
	color: var(--tristar-white);
	background: var(--tristar-red);
	border: 2px solid var(--tristar-red);
	border-radius: var(--tristar-radius);
	box-shadow: 0 9px 20px rgba(229, 34, 34, 0.2);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.035em;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

#tristar-contact-page .tristar-contact-submit:hover {
	background: var(--tristar-red-dark);
	border-color: var(--tristar-red-dark);
}

#tristar-contact-page .tristar-contact-submit span:last-child {
	font-size: 18px;
	line-height: 1;
}

#tristar-contact-page .tristar-contact-form-footer p {
	max-width: 340px;
	margin: 0;
	color: var(--tristar-muted);
	font-size: 11px;
	line-height: 1.45;
	text-align: right;
}

#tristar-contact-page .tristar-contact-status {
	margin-top: 14px;
	color: var(--tristar-navy);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

#tristar-contact-page .tristar-contact-status.is-error {
	padding: 11px 13px;
	color: #9b1515;
	background: #fff2f2;
	border-left: 3px solid var(--tristar-red);
}


/*
========================================
FACILITY CONTACT CARDS
========================================
*/

#tristar-contact-page .tristar-contact-locations {
	padding:
		clamp(48px, 5vw, 68px)
		clamp(18px, 4vw, 64px);
	background: var(--tristar-white);
}

#tristar-contact-page .tristar-contact-locations__inner {
	width: 100%;
	max-width: 1480px;
	margin: 0 auto;
}

#tristar-contact-page .tristar-contact-locations__header {
	margin: 0 0 28px;
	text-align: center;
}

#tristar-contact-page .tristar-contact-locations__header p {
	margin: 0 0 10px;
	color: var(--tristar-red);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-locations__header h2 {
	margin: 0;
	color: var(--tristar-navy);
	font-size: clamp(32px, 3.5vw, 50px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-location-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
	width: 100%;
}

#tristar-contact-page .tristar-contact-location-card {
	position: relative;
	min-width: 0;
	padding: clamp(26px, 3vw, 40px);
	overflow: hidden;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f7f9fc 100%
		);
	border: 1px solid rgba(8, 41, 85, 0.12);
	border-radius: 9px;
	box-shadow: 0 10px 26px rgba(8, 41, 85, 0.08);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease;
}

#tristar-contact-page .tristar-contact-location-card::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	content: "";
	background: var(--tristar-red);
}

#tristar-contact-page .tristar-contact-location-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 17px 36px rgba(8, 41, 85, 0.13);
}

#tristar-contact-page .tristar-contact-location-card > p {
	margin: 0 0 8px;
	color: var(--tristar-muted);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-location-card h3 {
	margin: 0 0 24px;
	color: var(--tristar-navy);
	font-size: clamp(22px, 2vw, 31px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.035em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-location-card a {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	color: var(--tristar-blue);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.025em;
	text-decoration: none;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-location-card a:hover {
	color: var(--tristar-red);
}

#tristar-contact-page .tristar-contact-location-card a span {
	font-size: 18px;
	transition: transform 0.2s ease;
}

#tristar-contact-page .tristar-contact-location-card a:hover span {
	transform: translateX(4px);
}


/*
========================================
CONTACT RESPONSIVE
========================================
*/

@media (max-width: 1100px) {
	#tristar-contact-page .tristar-contact-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#tristar-contact-page .tristar-contact-layout {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(0, 2fr);
	}

	#tristar-contact-page .tristar-contact-sidebar,
	#tristar-contact-page .tristar-contact-form-panel {
		padding: 38px 32px;
	}
}

@media (max-width: 820px) {
	#tristar-contact-page .tristar-contact-layout {
		grid-template-columns: 1fr;
	}

	#tristar-contact-page .tristar-contact-sidebar {
		min-height: 0;
	}

	#tristar-contact-page .tristar-contact-sidebar__note {
		margin-top: 28px;
	}

	#tristar-contact-page .tristar-contact-location-grid {
		grid-template-columns: 1fr;
	}

	#tristar-contact-page .tristar-contact-location-card {
		max-width: 620px;
		margin: 0 auto;
	}
}

@media (max-width: 620px) {
	#tristar-contact-page .tristar-contact-hero {
		min-height: 370px;
	}

	#tristar-contact-page .tristar-contact-hero__inner {
		padding:
			68px
			18px
			62px;
	}

	#tristar-contact-page .tristar-contact-hero__title {
		font-size: clamp(39px, 11vw, 54px);
	}

	#tristar-contact-page .tristar-contact-main {
		padding:
			24px
			12px
			42px;
	}

	#tristar-contact-page .tristar-contact-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
		margin-bottom: 15px;
	}

	#tristar-contact-page .tristar-contact-option {
		gap: 8px;
		min-height: 58px;
		padding: 8px 10px;
	}

	#tristar-contact-page .tristar-contact-option__icon {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
	}

	#tristar-contact-page .tristar-contact-option__icon svg {
		width: 17px;
		height: 17px;
	}

	#tristar-contact-page .tristar-contact-option__copy {
		gap: 2px;
	}

	#tristar-contact-page .tristar-contact-option__copy strong {
		font-size: 10px;
		line-height: 1.15;
	}

	#tristar-contact-page .tristar-contact-option__copy small {
		font-size: 9px;
		line-height: 1.2;
	}

	#tristar-contact-page .tristar-contact-layout {
		border-radius: 9px;
	}

	#tristar-contact-page .tristar-contact-sidebar,
	#tristar-contact-page .tristar-contact-form-panel {
		padding: 32px 20px;
	}

	#tristar-contact-page .tristar-contact-form-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	#tristar-contact-page .tristar-contact-field--full {
		grid-column: auto;
	}

	#tristar-contact-page .tristar-contact-form-footer {
		align-items: stretch;
		flex-direction: column;
	}

	#tristar-contact-page .tristar-contact-submit {
		width: 100%;
	}

	#tristar-contact-page .tristar-contact-form-footer p {
		max-width: none;
		text-align: left;
	}

	#tristar-contact-page .tristar-contact-locations {
		padding:
			38px
			12px;
	}
}

@media (max-width: 420px) {
	#tristar-contact-page .tristar-contact-hero__inner {
		padding-right: 14px;
		padding-left: 14px;
	}

	#tristar-contact-page .tristar-contact-options {
		grid-template-columns: 1fr;
	}

	#tristar-contact-page .tristar-contact-option {
		min-height: 56px;
	}

	#tristar-contact-page .tristar-contact-option__copy strong {
		font-size: 11px;
	}

	#tristar-contact-page .tristar-contact-option__copy small {
		font-size: 10px;
	}

	#tristar-contact-page .tristar-contact-sidebar,
	#tristar-contact-page .tristar-contact-form-panel {
		padding-right: 17px;
		padding-left: 17px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-contact-page *,
	#tristar-contact-page *::before,
	#tristar-contact-page *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
/*
========================================
FINAL HOMEPAGE HERO — ABOUT US MATCH
Uses the same navy tint treatment as the About Us hero.
This final override intentionally replaces the former white overlay.
========================================
*/

.tristar-hero::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			rgba(3, 17, 35, 0.94) 0%,
			rgba(3, 17, 35, 0.86) 34%,
			rgba(3, 17, 35, 0.48) 62%,
			rgba(3, 17, 35, 0.12) 100%
		),
		linear-gradient(
			180deg,
			rgba(3, 17, 35, 0.04) 0%,
			rgba(3, 17, 35, 0.18) 68%,
			rgba(3, 17, 35, 0.52) 100%
		) !important;
}

.tristar-hero h1 {
	color: var(--tristar-white) !important;
	text-shadow: 0 4px 20px rgba(0, 0, 0, 0.28) !important;
}

.tristar-hero p {
	color: rgba(255, 255, 255, 0.94) !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.22) !important;
}

.tristar-hero p.tristar-hero-eyebrow {
	color: var(--tristar-red) !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.22) !important;
}

.tristar-hero .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--tristar-white) !important;
	background: rgba(6, 27, 51, 0.34) !important;
	border-color: rgba(255, 255, 255, 0.82) !important;
	box-shadow: none !important;
	backdrop-filter: blur(4px);
}

.tristar-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.tristar-hero .wp-block-button.is-style-outline .wp-block-button__link:focus {
	color: var(--tristar-navy) !important;
	background: var(--tristar-white) !important;
	border-color: var(--tristar-white) !important;
}

.tristar-trust-bar {
	color: var(--tristar-white) !important;
	background: linear-gradient(
		180deg,
		rgba(6, 27, 51, 0.08) 0%,
		rgba(6, 27, 51, 0.38) 100%
	) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
	backdrop-filter: none;
}

.tristar-trust-bar .wp-block-column {
	border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.tristar-trust-item .tristar-icon,
.tristar-trust-number {
	color: var(--tristar-white) !important;
}

.tristar-trust-label {
	color: rgba(255, 255, 255, 0.90) !important;
}

@media (max-width: 900px) {
	.tristar-hero::after {
		background:
			linear-gradient(
				90deg,
				rgba(3, 17, 35, 0.94) 0%,
				rgba(3, 17, 35, 0.78) 62%,
				rgba(3, 17, 35, 0.42) 100%
			),
			linear-gradient(
				180deg,
				rgba(3, 17, 35, 0.10) 0%,
				rgba(3, 17, 35, 0.50) 100%
			) !important;
	}
}

@media (max-width: 600px) {
	.tristar-hero::after {
		background:
			linear-gradient(
				180deg,
				rgba(3, 17, 35, 0.28) 0%,
				rgba(3, 17, 35, 0.58) 38%,
				rgba(3, 17, 35, 0.96) 100%
			),
			rgba(3, 17, 35, 0.22) !important;
	}
}

/*
========================================
FINAL HOMEPAGE HERO ALIGNMENT
Matches the About page hero content position.
========================================
*/

.tristar-hero-content {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: clamp(24px, 5vw, 84px) !important;
	padding-left: clamp(24px, 5vw, 84px) !important;
}

@media (max-width: 781px) {
	.tristar-hero-content {
		width: 100% !important;
		padding-right: 24px !important;
		padding-left: 24px !important;
	}
}

@media (max-width: 520px) {
	.tristar-hero-content {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}
}


/*
========================================
FINAL HOMEPAGE HERO LEFT-EDGE FIX
Removes the Gutenberg constrained-content offset so the homepage hero
uses the exact same 1480px container and responsive side padding as the
About page hero.
========================================
*/

.tristar-hero .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-hero .tristar-hero-content,
.tristar-hero .tristar-hero-content.is-layout-constrained {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: clamp(24px, 5vw, 84px) !important;
	padding-left: clamp(24px, 5vw, 84px) !important;
}

.tristar-hero .tristar-hero-content > .wp-block-group__inner-container,
.tristar-hero .tristar-hero-content.is-layout-constrained > :where(
	:not(.alignleft):not(.alignright):not(.alignfull)
) {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.tristar-hero .tristar-hero-content h1,
.tristar-hero .tristar-hero-content p,
.tristar-hero .tristar-hero-content .wp-block-buttons {
	margin-right: 0 !important;
	margin-left: 0 !important;
}

@media (max-width: 781px) {
	.tristar-hero .tristar-hero-content,
	.tristar-hero .tristar-hero-content.is-layout-constrained {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}
}

@media (max-width: 520px) {
	.tristar-hero .tristar-hero-content,
	.tristar-hero .tristar-hero-content.is-layout-constrained {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}
}

/*
========================================
FINAL HOMEPAGE HERO ICON INTEGRATION
Keeps the trust icons visually inside the hero image instead of appearing
as a separate white section below it.
========================================
*/

.tristar-hero {
	position: relative !important;
}

.tristar-trust-bar {
	position: relative !important;
	z-index: 3 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 10px clamp(24px, 5vw, 84px) 18px !important;
	color: var(--tristar-navy) !important;
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.08) 0%,
			rgba(255, 255, 255, 0.42) 42%,
			rgba(255, 255, 255, 0.68) 100%
		) !important;
	border: 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.32) !important;
	outline: 0 !important;
	box-shadow: none !important;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}

.tristar-trust-bar::before {
	position: absolute;
	top: -54px;
	right: 0;
	left: 0;
	height: 54px;
	content: "";
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.10) 48%,
		rgba(255, 255, 255, 0.28) 100%
	);
}

.tristar-trust-bar > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 0 !important;
}

.tristar-trust-bar .wp-block-columns {
	width: 100% !important;
	max-width: 900px !important;
	margin: 0 auto !important;
	gap: 0 !important;
}

.tristar-trust-bar .wp-block-column {
	min-height: 64px !important;
	padding: 8px 22px !important;
	border-right: 1px solid rgba(8, 41, 85, 0.12) !important;
	border-bottom: 0 !important;
}

.tristar-trust-bar .wp-block-column:last-child {
	border-right: 0 !important;
}

.tristar-trust-item {
	gap: 14px !important;
}

.tristar-trust-item .tristar-icon {
	flex-basis: 40px !important;
	width: 40px !important;
	height: 40px !important;
	color: var(--tristar-navy) !important;
}

.tristar-trust-item .tristar-icon svg,
.tristar-trust-item .tristar-trust-icon--award svg,
.tristar-trust-item .tristar-trust-icon--shield-check svg {
	width: 46px !important;
	height: 46px !important;
}

.tristar-trust-number {
	color: var(--tristar-navy) !important;
	font-size: 18px !important;
}

.tristar-trust-label {
	margin-top: 3px !important;
	color: #44546a !important;
	font-size: 9px !important;
	line-height: 1.18 !important;
}

@media (max-width: 781px) {
	.tristar-trust-bar {
		padding: 10px 24px 16px !important;
		background: rgba(255, 255, 255, 0.76) !important;
	}

	.tristar-trust-bar::before {
		top: -36px;
		height: 36px;
	}

	.tristar-trust-bar .wp-block-columns {
		max-width: 620px !important;
	}

	.tristar-trust-bar .wp-block-column {
		flex-basis: 50% !important;
		min-height: 68px !important;
		padding: 9px 16px !important;
		border-right: 1px solid rgba(8, 41, 85, 0.12) !important;
		border-bottom: 1px solid rgba(8, 41, 85, 0.10) !important;
	}

	.tristar-trust-bar .wp-block-column:nth-child(2n) {
		border-right: 0 !important;
	}

	.tristar-trust-bar .wp-block-column:nth-last-child(-n + 2) {
		border-bottom: 0 !important;
	}
}

@media (max-width: 520px) {
	.tristar-trust-bar {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.tristar-trust-bar .wp-block-column {
		flex-basis: 100% !important;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(8, 41, 85, 0.10) !important;
	}

	.tristar-trust-bar .wp-block-column:nth-last-child(-n + 2) {
		border-bottom: 1px solid rgba(8, 41, 85, 0.10) !important;
	}

	.tristar-trust-bar .wp-block-column:last-child {
		border-bottom: 0 !important;
	}
}

/*
========================================
FINAL HERO TRUST STRIP PLACEMENT
Places the icon strip directly over the bottom of the hero image and removes
all horizontal seams between the hero content and the icons.
========================================
*/

.tristar-hero {
	position: relative !important;
}

.tristar-hero .wp-block-cover__inner-container {
	position: relative !important;
}

.tristar-hero .tristar-hero-content,
.tristar-hero .tristar-hero-content.is-layout-constrained {
	padding-bottom: 118px !important;
}

.tristar-hero .tristar-trust-bar {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 4 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 10px clamp(24px, 5vw, 84px) 18px !important;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.16) 34%,
		rgba(255, 255, 255, 0.46) 100%
	) !important;
	border: 0 !important;
	border-top: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.tristar-hero .tristar-trust-bar::before,
.tristar-hero .tristar-trust-bar::after {
	display: none !important;
	content: none !important;
}

.tristar-hero .tristar-trust-bar > .wp-block-group__inner-container,
.tristar-hero .tristar-trust-bar .wp-block-columns {
	border-top: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

@media (max-width: 781px) {
	.tristar-hero .tristar-hero-content,
	.tristar-hero .tristar-hero-content.is-layout-constrained {
		padding-bottom: 26px !important;
	}

	.tristar-hero .tristar-trust-bar {
		position: relative !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.04) 0%,
			rgba(255, 255, 255, 0.38) 100%
		) !important;
		border: 0 !important;
		border-top: 0 !important;
	}
}

/*
========================================
FINAL HERO ICON STRIP LEFT ALIGNMENT
Aligns the icon strip with the hero heading, paragraph and buttons.
========================================
*/

.tristar-hero .tristar-trust-bar {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.tristar-hero .tristar-trust-bar > .wp-block-group__inner-container {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: clamp(24px, 5vw, 84px) !important;
	padding-left: clamp(24px, 5vw, 84px) !important;
}

.tristar-hero .tristar-trust-bar .wp-block-columns {
	width: 100% !important;
	max-width: 900px !important;
	margin-right: auto !important;
	margin-left: 0 !important;
}

.tristar-hero .tristar-trust-bar .wp-block-column:first-child {
	padding-left: 0 !important;
}

.tristar-hero .tristar-trust-bar .wp-block-column:first-child .tristar-trust-item {
	justify-content: flex-start !important;
}

@media (max-width: 781px) {
	.tristar-hero .tristar-trust-bar > .wp-block-group__inner-container {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-columns {
		max-width: 620px !important;
		margin-right: auto !important;
		margin-left: 0 !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column:first-child {
		padding-left: 16px !important;
	}
}

@media (max-width: 520px) {
	.tristar-hero .tristar-trust-bar > .wp-block-group__inner-container {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-columns {
		max-width: none !important;
	}
}

/*
========================================
HOMEPAGE SPACING SYSTEM
Single source of truth for the primary desktop rhythm shown in the approved
spacing markup. These values intentionally use stronger homepage selectors so
later Gutenberg page-level style blocks cannot reintroduce inconsistent gaps.
========================================
*/

@media (min-width: 782px) {
	.tristar-hero .tristar-hero-content .tristar-hero-eyebrow {
		margin: 0 0 14px !important;
	}

	.tristar-hero .tristar-hero-content h1 {
		margin-top: 0 !important;
		margin-bottom: 22px !important;
	}

	.tristar-hero .tristar-hero-content > p:not(.tristar-hero-eyebrow),
	.tristar-hero .tristar-hero-content > .wp-block-group__inner-container > p:not(.tristar-hero-eyebrow) {
		margin-top: 0 !important;
		margin-bottom: 24px !important;
	}

	.tristar-hero .tristar-hero-content .wp-block-buttons {
		gap: 14px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.tristar-hero .tristar-trust-bar .tristar-trust-item {
		gap: 14px !important;
	}

	.tristar-hero .tristar-trust-bar .tristar-trust-label {
		margin-top: 4px !important;
	}
}

/*
========================================
FINAL HOMEPAGE HERO VERTICAL RHYTHM
Adds real space below the icon strip without changing the approved vertical
position of the hero copy or the icon row. The hero grows by 28px at the
bottom, and the absolute icon strip receives the same 28px compensation.
========================================
*/

@media (min-width: 782px) {
	.tristar-hero {
		box-sizing: content-box !important;
		padding-bottom: 28px !important;
	}

	.tristar-hero .tristar-trust-bar {
		bottom: 46px !important;
	}
}

/*
========================================
FINAL HERO BOTTOM OVERLAY RESTORATION
Creates one smooth, full-width vertical fade across the entire bottom of
 the hero without the triangular white wedge.
========================================
*/

.tristar-hero::before {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	height: 150px;
	content: "";
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.10) 32%,
		rgba(255, 255, 255, 0.30) 58%,
		rgba(255, 255, 255, 0.62) 82%,
		rgba(255, 255, 255, 0.92) 100%
	) !important;
}

.tristar-hero .wp-block-cover__inner-container {
	z-index: 3 !important;
}

.tristar-hero .tristar-trust-bar {
	z-index: 4 !important;
	background: transparent !important;
}

@media (max-width: 781px) {
	.tristar-hero::before {
		height: 180px;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.18) 34%,
			rgba(255, 255, 255, 0.48) 66%,
			rgba(255, 255, 255, 0.94) 100%
		) !important;
	}
}

/*
========================================
FINAL HERO ICON STRIP TRANSPARENCY
Removes all backgrounds from the icon strip and uses only the hero's
full-width bottom fade behind the icons.
========================================
*/

.tristar-hero .tristar-trust-bar,
.tristar-hero .tristar-trust-bar > .wp-block-group__inner-container,
.tristar-hero .tristar-trust-bar .wp-block-columns,
.tristar-hero .tristar-trust-bar .wp-block-column,
.tristar-hero .tristar-trust-item,
.tristar-hero .tristar-trust-copy {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.tristar-hero .tristar-trust-bar {
	border: 0 !important;
	outline: 0 !important;
}

.tristar-hero .tristar-trust-bar .wp-block-column {
	border-top: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
	border-right: 1px solid rgba(8, 41, 85, 0.14) !important;
}

.tristar-hero .tristar-trust-bar .wp-block-column:last-child {
	border-right: 0 !important;
}

/*
Full-width fade belongs to the hero image, not to the icon strip.
*/

.tristar-hero::before {
	height: 175px !important;
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.08) 24%,
		rgba(255, 255, 255, 0.22) 46%,
		rgba(255, 255, 255, 0.48) 70%,
		rgba(255, 255, 255, 0.82) 90%,
		rgba(255, 255, 255, 0.96) 100%
	) !important;
}

@media (max-width: 781px) {
	.tristar-hero .tristar-trust-bar,
	.tristar-hero .tristar-trust-bar > .wp-block-group__inner-container,
	.tristar-hero .tristar-trust-bar .wp-block-columns,
	.tristar-hero .tristar-trust-bar .wp-block-column {
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column {
		border-right: 0 !important;
		border-bottom: 1px solid rgba(8, 41, 85, 0.12) !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column:last-child {
		border-bottom: 0 !important;
	}

	.tristar-hero::before {
		height: 180px !important;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.14) 28%,
			rgba(255, 255, 255, 0.38) 54%,
			rgba(255, 255, 255, 0.72) 78%,
			rgba(255, 255, 255, 0.96) 100%
		) !important;
	}
}

/*
========================================
FINAL HERO LEFT-TO-RIGHT FADE ONLY
Removes the bottom fade from the right side of the hero.
The icon strip remains fully transparent.
========================================
*/

.tristar-hero::before {
	display: none !important;
	content: none !important;
	background: none !important;
}

.tristar-hero::after {
	background:
		linear-gradient(
			90deg,
			rgba(3, 17, 35, 0.94) 0%,
			rgba(3, 17, 35, 0.86) 34%,
			rgba(3, 17, 35, 0.48) 62%,
			rgba(3, 17, 35, 0.12) 100%
		),
		linear-gradient(
			180deg,
			rgba(3, 17, 35, 0.04) 0%,
			rgba(3, 17, 35, 0.18) 68%,
			rgba(3, 17, 35, 0.52) 100%
		) !important;
}

/* Disable the native WordPress Cover overlay so only the Tristar navy tint is visible. */
.tristar-hero > .wp-block-cover__background {
	display: none !important;
	opacity: 0 !important;
	background: transparent !important;
}

@media (max-width: 781px) {
	.tristar-hero::before {
		display: none !important;
		content: none !important;
	}

	.tristar-hero::after {
		background:
			linear-gradient(
				90deg,
				rgba(3, 17, 35, 0.94) 0%,
				rgba(3, 17, 35, 0.78) 62%,
				rgba(3, 17, 35, 0.42) 100%
			),
			linear-gradient(
				180deg,
				rgba(3, 17, 35, 0.10) 0%,
				rgba(3, 17, 35, 0.50) 100%
			) !important;
	}
}

@media (max-width: 600px) {
	.tristar-hero::after {
		background:
			linear-gradient(
				180deg,
				rgba(3, 17, 35, 0.28) 0%,
				rgba(3, 17, 35, 0.58) 38%,
				rgba(3, 17, 35, 0.96) 100%
			),
			rgba(3, 17, 35, 0.22) !important;
	}
}


/*
========================================
FACILITIES PAGE HEADER — CONFLICT-FREE FIX
Uses unique selectors so legacy locations-intro and hero rules cannot
create extra height or vertically center the content.
========================================
*/

#tristar-facilities-header,
#tristar-facilities-header * {
	box-sizing: border-box !important;
}

#tristar-facilities-header {
	position: relative !important;
	display: block !important;
	width: 100vw !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: var(--tristar-navy) !important;
	border: 0 !important;
}

#tristar-facilities-header::before {
	display: none !important;
	content: none !important;
}

#tristar-facilities-header::after {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 4px !important;
	content: "" !important;
	background: var(--tristar-blue) !important;
}

#tristar-facilities-header .tristar-facilities-header__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

#tristar-facilities-header .tristar-facilities-header__content {
	display: flex !important;
	justify-content: center !important;
	flex-direction: column !important;
	min-width: 0 !important;
	padding:
		24px
		clamp(28px, 4vw, 64px)
		28px
		max(28px, calc((100vw - 1480px) / 2 + 56px)) !important;
	background: var(--tristar-navy) !important;
}

#tristar-facilities-header .tristar-facilities-header__content > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

#tristar-facilities-header .tristar-facilities-header__eyebrow {
	width: 100% !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: var(--tristar-white) !important;
	font-size: clamp(14px, 1vw, 17px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

#tristar-facilities-header .tristar-facilities-header__title {
	width: 100% !important;
	max-width: 620px !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(38px, 4vw, 62px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.04em !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

#tristar-facilities-header .tristar-facilities-header__copy {
	width: 100% !important;
	max-width: 580px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--tristar-muted) !important;
	font-size: clamp(15px, 1.15vw, 18px) !important;
	line-height: 1.55 !important;
	text-align: left !important;
}

#tristar-facilities-header .tristar-facilities-header__media {
	position: relative !important;
	isolation: isolate !important;
	min-width: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

#tristar-facilities-header .tristar-facilities-header__media::before {
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 3 !important;
	width: clamp(170px, 17vw, 300px) !important;
	content: "" !important;
	pointer-events: none !important;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 0.97) 16%,
		rgba(255, 255, 255, 0.84) 34%,
		rgba(255, 255, 255, 0.58) 56%,
		rgba(255, 255, 255, 0.24) 76%,
		rgba(255, 255, 255, 0.06) 90%,
		rgba(255, 255, 255, 0) 100%
	) !important;
}

#tristar-facilities-header .tristar-facilities-header__media-figure {
	position: relative !important;
	margin: 0 !important;
	height: 250px !important;
	min-height: 250px !important;
	max-height: 250px !important;
	overflow: hidden !important;
	background: #e8edf3 !important;
}

#tristar-facilities-header .tristar-facilities-header__media img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

body:has(#tristar-facilities-header) .site-main .entry-header,
body:has(#tristar-facilities-header) .site-main .page-header,
body:has(#tristar-facilities-header) .site-main .wp-block-post-title,
body:has(#tristar-facilities-header) .entry-content > .wp-block-post-title {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body:has(#tristar-facilities-header) .site-main,
body:has(#tristar-facilities-header) .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(#tristar-facilities-header) .entry-content > #tristar-facilities-header {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/*
========================================
FACILITIES PAGE — REMOVE THEME SPACE ABOVE CUSTOM HEADER
Scoped only to the outer page wrappers so facility cards keep their spacing.
========================================
*/

body:has(#tristar-facilities-header) .site-main,
body:has(#tristar-facilities-header) #primary,
body:has(#tristar-facilities-header) .content-area,
body:has(#tristar-facilities-header) .site-content,
body:has(#tristar-facilities-header) .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(#tristar-facilities-header) .site-main > article,
body:has(#tristar-facilities-header) #primary > article,
body:has(#tristar-facilities-header) .site-main > .page,
body:has(#tristar-facilities-header) #primary > .page,
body:has(#tristar-facilities-header) .entry-content > .wp-block-html:first-child,
body:has(#tristar-facilities-header) .entry-content > #tristar-facilities-header:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(#tristar-facilities-header) .site-main > article > .entry-header,
body:has(#tristar-facilities-header) .site-main > article > .page-header,
body:has(#tristar-facilities-header) .site-main > article > .entry-title,
body:has(#tristar-facilities-header) .site-main > article > .page-title,
body:has(#tristar-facilities-header) .site-main .wp-block-post-title,
body:has(#tristar-facilities-header) .entry-content > .wp-block-post-title {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

@media (max-width: 960px) {
	#tristar-facilities-header .tristar-facilities-header__inner {
		grid-template-columns: 1fr !important;
		padding: 0 !important;
	}

	#tristar-facilities-header .tristar-facilities-header__content {
		padding: 24px 24px 22px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media::before {
		width: 100% !important;
		height: 58px !important;
		bottom: auto !important;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0.95) 28%,
			rgba(255, 255, 255, 0.66) 68%,
			rgba(255, 255, 255, 0) 100%
		) !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media-figure {
		height: 220px !important;
		min-height: 220px !important;
		max-height: 220px !important;
	}
}

@media (max-width: 680px) {
	#tristar-facilities-header::after {
		height: 3px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__title {
		font-size: clamp(34px, 10vw, 46px) !important;
		line-height: 1 !important;
	}

	#tristar-facilities-header .tristar-facilities-header__copy {
		font-size: 15px !important;
		line-height: 1.5 !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media::before {
		height: 44px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media-figure {
		height: 210px !important;
		min-height: 210px !important;
		max-height: 210px !important;
	}
}

/*
========================================
LOCATIONS CARD CONNECT BUTTONS
Replaces the circular arrow links with labeled buttons.
========================================
*/

#tristar-locations-network .tristar-location-detail-card__connect {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 176px;
	min-height: 44px;
	padding: 10px 18px;
	color: var(--tristar-blue);
	background: #eef6ff;
	border: 1px solid #c7ddf8;
	border-radius: 999px;
	box-shadow: none;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.035em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

#tristar-locations-network .tristar-location-detail-card__connect:hover,
#tristar-locations-network .tristar-location-detail-card__connect:focus {
	color: var(--tristar-navy);
	background: #dcecff;
	border-color: #9fc5f3;
	box-shadow: none;
	transform: none;
}

#tristar-locations-network .tristar-location-detail-card__connect:focus-visible {
	outline: 3px solid rgba(10, 95, 222, 0.22);
	outline-offset: 3px;
}

@media (max-width: 760px) {
	#tristar-locations-network .tristar-location-detail-card__connect {
		grid-column: 1 / -1;
		width: 100%;
		min-width: 0;
		min-height: 44px;
	}
}

@media (max-width: 540px) {
	#tristar-locations-network .tristar-location-detail-card__connect {
		font-size: 11px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-locations-network .tristar-location-detail-card__connect {
		transition: none;
	}
}


/*
========================================
LOCATION CONTACT DETAILS
Address, phone and operating hours for each facility.
========================================
*/

#tristar-locations-network .tristar-location-detail-card__contact {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(170px, 0.6fr) minmax(0, 1fr);
	gap: 16px 24px;
	padding: 16px 18px;
	background: #f6f9fd;
	border: 1px solid rgba(10, 95, 222, 0.13);
	border-radius: 8px;
}

#tristar-locations-network .tristar-location-contact-item {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 4px;
}

#tristar-locations-network .tristar-location-contact-item strong {
	display: block;
	margin: 0;
	color: var(--tristar-navy);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

#tristar-locations-network .tristar-location-contact-item a,
#tristar-locations-network .tristar-location-contact-item span {
	display: block;
	margin: 0;
	color: var(--tristar-text);
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
}

#tristar-locations-network .tristar-location-contact-item a:hover,
#tristar-locations-network .tristar-location-contact-item a:focus {
	color: var(--tristar-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

#tristar-locations-network .tristar-location-contact-item a:focus-visible {
	outline: 3px solid rgba(10, 95, 222, 0.35);
	outline-offset: 3px;
	border-radius: 2px;
}

#tristar-locations-network .tristar-location-contact-item--hours {
	gap: 5px;
}

#tristar-locations-network .tristar-location-contact-item--hours span + span {
	margin-top: 2px;
}

#tristar-locations-network .tristar-location-contact-item b {
	color: var(--tristar-navy);
	font-weight: 800;
}

@media (max-width: 1320px) {
	#tristar-locations-network .tristar-location-detail-card__contact {
		grid-template-columns: minmax(0, 1fr) minmax(150px, 0.55fr);
	}

	#tristar-locations-network .tristar-location-contact-item--hours {
		grid-column: 1 / -1;
	}
}

@media (max-width: 760px) {
	#tristar-locations-network .tristar-location-detail-card__contact {
		grid-template-columns: 1fr;
		gap: 13px;
		padding: 15px 16px;
	}

	#tristar-locations-network .tristar-location-contact-item--hours {
		grid-column: auto;
	}
}

@media (max-width: 540px) {
	#tristar-locations-network .tristar-location-detail-card__contact {
		padding: 14px;
	}

	#tristar-locations-network .tristar-location-contact-item a,
	#tristar-locations-network .tristar-location-contact-item span {
		font-size: 14px;
	}
}

/*
========================================
CONTACT PAGE — SCOPED TOP ALIGNMENT
Keeps page-title and content spacing fixes limited to the contact page
without adding classes to html/body or affecting the shared header block.
========================================
*/

body:has(#tristar-contact-page) .site-main > .entry-header,
body:has(#tristar-contact-page) .site-main > .page-header,
body:has(#tristar-contact-page) .site-main .wp-block-post-title,
body:has(#tristar-contact-page) .entry-content > .wp-block-post-title,
body:has(#tristar-contact-page) .page-title,
body:has(#tristar-contact-page) .entry-title {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body:has(#tristar-contact-page) .site-main,
body:has(#tristar-contact-page) .entry-content,
body:has(#tristar-contact-page) .wp-block-post-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(#tristar-contact-page) #tristar-contact-page {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Keep the desktop hero title balanced inside the 40% text column. */
@media (min-width: 961px) {
	body:has(#tristar-contact-page) #tristar-contact-page .tristar-contact-hero__title {
		max-width: none !important;
		font-size: clamp(38px, 3.15vw, 54px) !important;
		line-height: 0.98 !important;
	}
}

/*
========================================
CONTACT HERO — REMOVE TABLET/MOBILE DIVIDER
Removes the faint seam between the stacked text and image panels.
========================================
*/

@media (max-width: 960px) {
	#tristar-contact-page .tristar-contact-hero__content,
	#tristar-contact-page .tristar-contact-hero__media,
	#tristar-contact-page .tristar-contact-hero__media-figure,
	#tristar-contact-page .tristar-contact-hero__media img {
		border: 0 !important;
		border-top: 0 !important;
		border-bottom: 0 !important;
		outline: 0 !important;
		box-shadow: none !important;
	}

	#tristar-contact-page .tristar-contact-hero__media {
		margin-top: 0 !important;
	}

	#tristar-contact-page .tristar-contact-hero__media-figure,
	#tristar-contact-page .tristar-contact-hero__media img {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		vertical-align: bottom !important;
	}
}

/*
========================================
CONTACT HERO — IMAGE LEFT / TEXT RIGHT
Desktop-only layout reversal.
Tablet and mobile keep the approved stacked layout.
========================================
*/

@media (min-width: 961px) {
	#tristar-contact-page .tristar-contact-hero__inner {
		grid-template-columns: minmax(0, 60%) minmax(0, 40%) !important;
		grid-template-areas: "contact-hero-media contact-hero-content" !important;
	}

	#tristar-contact-page .tristar-contact-hero__media {
		grid-area: contact-hero-media !important;
	}

	#tristar-contact-page .tristar-contact-hero__content {
		grid-area: contact-hero-content !important;
		padding:
			38px
			max(28px, calc((100vw - 1480px) / 2 + 56px))
			42px
			clamp(28px, 4vw, 64px) !important;
	}

	#tristar-contact-page .tristar-contact-hero__media::before {
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: auto !important;
		width: clamp(170px, 17vw, 300px) !important;
		height: auto !important;
		background: linear-gradient(
			to left,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0.97) 16%,
			rgba(255, 255, 255, 0.84) 34%,
			rgba(255, 255, 255, 0.58) 56%,
			rgba(255, 255, 255, 0.24) 76%,
			rgba(255, 255, 255, 0.06) 90%,
			rgba(255, 255, 255, 0) 100%
		) !important;
	}
}

/*
========================================
CONTACT HERO — WHITE PANEL AND WHITE FADE
Image remains on the left on desktop; text remains on the right.
========================================
*/

#tristar-contact-page .tristar-contact-hero {
	background: var(--tristar-white) !important;
}

#tristar-contact-page .tristar-contact-hero::after {
	background: var(--tristar-blue) !important;
}

#tristar-contact-page .tristar-contact-hero__content {
	background: var(--tristar-white) !important;
}

#tristar-contact-page .tristar-contact-hero__title {
	color: var(--tristar-navy) !important;
}

#tristar-contact-page .tristar-contact-hero__intro {
	color: var(--tristar-muted) !important;
}

#tristar-contact-page .tristar-contact-hero__media-figure {
	background: #e8edf3 !important;
}

@media (min-width: 961px) {
	#tristar-contact-page .tristar-contact-hero__media::before {
		background: linear-gradient(
			to left,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0.97) 16%,
			rgba(255, 255, 255, 0.84) 34%,
			rgba(255, 255, 255, 0.58) 56%,
			rgba(255, 255, 255, 0.24) 76%,
			rgba(255, 255, 255, 0.06) 90%,
			rgba(255, 255, 255, 0) 100%
		) !important;
	}
}

@media (max-width: 960px) {
	#tristar-contact-page .tristar-contact-hero__media::before {
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0.84) 34%,
			rgba(255, 255, 255, 0.42) 68%,
			rgba(255, 255, 255, 0) 100%
		) !important;
	}
}

/*
========================================
FACILITIES HERO — MATCH CONTACT HERO SIZE
Desktop: 320px
Tablet: 270px image
Mobile: 210px image
========================================
*/

#tristar-facilities-header .tristar-facilities-header__content {
	padding:
		38px
		clamp(28px, 4vw, 64px)
		42px
		max(28px, calc((100vw - 1480px) / 2 + 56px)) !important;
}

#tristar-facilities-header .tristar-facilities-header__media-figure {
	height: 320px !important;
	min-height: 320px !important;
	max-height: 320px !important;
}

@media (min-width: 961px) {
	#tristar-facilities-header,
	#tristar-facilities-header .tristar-facilities-header__inner,
	#tristar-facilities-header .tristar-facilities-header__content,
	#tristar-facilities-header .tristar-facilities-header__media,
	#tristar-facilities-header .tristar-facilities-header__media-figure {
		height: 320px !important;
		min-height: 320px !important;
		max-height: 320px !important;
	}
}

@media (max-width: 960px) {
	#tristar-facilities-header .tristar-facilities-header__content {
		padding: 34px 24px 32px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media-figure {
		height: 270px !important;
		min-height: 270px !important;
		max-height: 270px !important;
	}
}

@media (max-width: 680px) {
	#tristar-facilities-header .tristar-facilities-header__content {
		padding: 30px 18px 28px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media-figure {
		height: 210px !important;
		min-height: 210px !important;
		max-height: 210px !important;
	}
}

/*
========================================
FACILITIES HERO — CONTACT HERO LAYOUT
Navy content left / image right / soft navy blend
========================================
*/

#tristar-facilities-header {
	background: var(--tristar-navy) !important;
}

#tristar-facilities-header::after {
	z-index: 10 !important;
	background: var(--tristar-red) !important;
}

#tristar-facilities-header .tristar-facilities-header__inner {
	grid-template-columns: minmax(0, 42%) minmax(0, 58%) !important;
	background: var(--tristar-navy) !important;
}

#tristar-facilities-header .tristar-facilities-header__media {
	grid-column: 2 !important;
	grid-row: 1 !important;
	background: var(--tristar-dark) !important;
}

#tristar-facilities-header .tristar-facilities-header__content {
	grid-column: 1 !important;
	grid-row: 1 !important;
	position: relative !important;
	z-index: 4 !important;
	padding:
		38px
		clamp(38px, 4vw, 68px)
		42px
		max(28px, calc((100vw - 1480px) / 2 + 56px)) !important;
	background: var(--tristar-navy) !important;
}

#tristar-facilities-header .tristar-facilities-header__title {
	max-width: 600px !important;
	color: var(--tristar-white) !important;
	font-size: clamp(38px, 3.7vw, 58px) !important;
}

#tristar-facilities-header .tristar-facilities-header__copy {
	max-width: 560px !important;
	color: rgba(255, 255, 255, 0.9) !important;
}

#tristar-facilities-header .tristar-facilities-header__media::before {
	top: 0 !important;
	right: auto !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 3 !important;
	width: clamp(210px, 20vw, 380px) !important;
	height: 100% !important;
	background: linear-gradient(
		90deg,
		rgba(6, 27, 51, 1) 0%,
		rgba(6, 27, 51, 0.94) 10%,
		rgba(6, 27, 51, 0.74) 28%,
		rgba(6, 27, 51, 0.44) 50%,
		rgba(6, 27, 51, 0.18) 72%,
		rgba(6, 27, 51, 0.05) 88%,
		rgba(6, 27, 51, 0) 100%
	) !important;
}

#tristar-facilities-header .tristar-facilities-header__media-figure {
	background: var(--tristar-dark) !important;
}

@media (max-width: 960px) {
	#tristar-facilities-header .tristar-facilities-header__inner {
		grid-template-columns: 1fr !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	#tristar-facilities-header .tristar-facilities-header__content {
		grid-column: 1 !important;
		grid-row: 2 !important;
		padding: 34px 24px 36px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media::before {
		top: auto !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 110px !important;
		background: linear-gradient(
			180deg,
			rgba(6, 27, 51, 0) 0%,
			rgba(6, 27, 51, 0.2) 34%,
			rgba(6, 27, 51, 0.68) 72%,
			rgba(6, 27, 51, 1) 100%
		) !important;
	}
}

@media (max-width: 680px) {
	#tristar-facilities-header .tristar-facilities-header__content {
		padding: 30px 18px 32px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media::before {
		height: 84px !important;
	}
}

/*
========================================
FACILITIES HERO — UNIFIED #061B33 PANEL AND FADE
========================================
*/

#tristar-facilities-header,
#tristar-facilities-header .tristar-facilities-header__inner,
#tristar-facilities-header .tristar-facilities-header__content {
	background: #061b33 !important;
}

/*
========================================
FACILITIES HERO — BLUE BOTTOM LINE
========================================
*/

#tristar-facilities-header::after {
	background: var(--tristar-blue) !important;
}


/*
========================================
FACILITIES PAGE — SPOKANE RELOCATION ANNOUNCEMENT
Placed directly below the Facilities hero.
========================================
*/

#tristar-spokane-announcement,
#tristar-spokane-announcement * {
	box-sizing: border-box;
}

#tristar-spokane-announcement {
	position: relative;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: clamp(18px, 2vw, 28px) clamp(18px, 2.5vw, 42px);
	background:
		linear-gradient(
			180deg,
			#f8fafc 0%,
			#f2f6fa 100%
		);
}

#tristar-spokane-announcement .tristar-spokane-announcement__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(20px, 2.2vw, 36px);
	width: 100%;
	max-width: 1760px;
	margin: 0 auto;
	padding: clamp(20px, 2vw, 28px) clamp(22px, 2.6vw, 42px);
	background:
		linear-gradient(
			100deg,
			#f8fbff 0%,
			#eef6ff 72%,
			#f8fbff 100%
		);
	border: 1px solid rgba(10, 95, 222, 0.18);
	border-radius: 12px;
	box-shadow:
		0 14px 34px rgba(8, 41, 85, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

#tristar-spokane-announcement .tristar-spokane-announcement__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: clamp(60px, 5vw, 76px);
	height: clamp(60px, 5vw, 76px);
	color: var(--tristar-white);
	background: var(--tristar-red);
	border-radius: 50%;
	box-shadow: 0 8px 20px rgba(229, 34, 34, 0.18);
}

#tristar-spokane-announcement .tristar-spokane-announcement__icon svg {
	display: block;
	width: 44%;
	height: 44%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-spokane-announcement .tristar-spokane-announcement__content {
	min-width: 0;
}

#tristar-spokane-announcement .tristar-spokane-announcement__eyebrow {
	margin: 0 0 6px !important;
	padding: 0 !important;
	color: var(--tristar-red);
	font-size: clamp(12px, 0.9vw, 15px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

#tristar-spokane-announcement .tristar-spokane-announcement__title {
	margin: 0 0 7px !important;
	padding: 0 !important;
	color: var(--tristar-navy);
	font-size: clamp(26px, 2.2vw, 38px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.035em;
	text-transform: none;
}

#tristar-spokane-announcement .tristar-spokane-announcement__copy {
	max-width: 960px;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--tristar-text);
	font-size: clamp(14px, 1.05vw, 17px);
	line-height: 1.5;
}

#tristar-spokane-announcement .tristar-spokane-announcement__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 158px;
	min-height: 52px;
	padding: 13px 22px;
	color: var(--tristar-white);
	background: var(--tristar-red);
	border: 2px solid var(--tristar-red);
	border-radius: 6px;
	box-shadow: 0 8px 18px rgba(229, 34, 34, 0.18);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.025em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

#tristar-spokane-announcement .tristar-spokane-announcement__button svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-spokane-announcement .tristar-spokane-announcement__button:hover,
#tristar-spokane-announcement .tristar-spokane-announcement__button:focus {
	color: var(--tristar-white);
	background: var(--tristar-red-dark);
	border-color: var(--tristar-red-dark);
	box-shadow: 0 10px 22px rgba(189, 21, 21, 0.22);
}

#tristar-spokane-announcement .tristar-spokane-announcement__button:focus-visible {
	outline: 3px solid rgba(10, 95, 222, 0.38);
	outline-offset: 3px;
}

@media (max-width: 960px) {
	#tristar-spokane-announcement {
		padding: 18px 20px;
	}

	#tristar-spokane-announcement .tristar-spokane-announcement__inner {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 18px 20px;
		padding: 22px;
	}

	#tristar-spokane-announcement .tristar-spokane-announcement__button {
		grid-column: 2;
		justify-self: start;
	}
}

@media (max-width: 680px) {
	#tristar-spokane-announcement {
		padding: 14px;
	}

	#tristar-spokane-announcement .tristar-spokane-announcement__inner {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 20px 18px;
		border-radius: 10px;
	}

	#tristar-spokane-announcement .tristar-spokane-announcement__icon {
		width: 56px;
		height: 56px;
	}

	#tristar-spokane-announcement .tristar-spokane-announcement__title {
		font-size: clamp(25px, 7vw, 32px);
	}

	#tristar-spokane-announcement .tristar-spokane-announcement__button {
		grid-column: auto;
		justify-self: stretch;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-spokane-announcement .tristar-spokane-announcement__button {
		transition: none;
	}
}

/*
========================================
ABOUT PAGE — REMOVE THEME SPACE ABOVE CUSTOM HERO
Scoped only to the About page wrappers.
========================================
*/

body:has(#tristar-about-hero-simple) .site-main,
body:has(#tristar-about-hero-simple) #primary,
body:has(#tristar-about-hero-simple) .content-area,
body:has(#tristar-about-hero-simple) .site-content,
body:has(#tristar-about-hero-simple) .entry-content,
body:has(#tristar-about-hero-simple) .wp-site-blocks > main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(#tristar-about-hero-simple) .site-main > article,
body:has(#tristar-about-hero-simple) #primary > article,
body:has(#tristar-about-hero-simple) .site-main > .page,
body:has(#tristar-about-hero-simple) #primary > .page,
body:has(#tristar-about-hero-simple) .entry-content > .wp-block-html:first-child,
body:has(#tristar-about-hero-simple) .entry-content > #tristar-about-hero-simple:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(#tristar-about-hero-simple) .site-main > article > .entry-header,
body:has(#tristar-about-hero-simple) .site-main > article > .page-header,
body:has(#tristar-about-hero-simple) .site-main > article > .entry-title,
body:has(#tristar-about-hero-simple) .site-main > article > .page-title,
body:has(#tristar-about-hero-simple) .site-main .wp-block-post-title,
body:has(#tristar-about-hero-simple) .entry-content > .wp-block-post-title {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body:has(#tristar-about-hero-simple) .entry-content > .wp-block-html:first-child,
body:has(#tristar-about-hero-simple) .entry-content > .wp-block-html:first-child > #tristar-about-hero-simple,
body:has(#tristar-about-hero-simple) #tristar-about-hero-simple {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/*
========================================
HOME PAGE — REMOVE THEME SPACE ABOVE CUSTOM HERO
Applies the same wrapper reset used on the About page.
========================================
*/

body:has(.tristar-hero) .site-main,
body:has(.tristar-hero) #primary,
body:has(.tristar-hero) .content-area,
body:has(.tristar-hero) .site-content,
body:has(.tristar-hero) .entry-content,
body:has(.tristar-hero) .wp-site-blocks > main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(.tristar-hero) .site-main > article,
body:has(.tristar-hero) #primary > article,
body:has(.tristar-hero) .site-main > .page,
body:has(.tristar-hero) #primary > .page,
body:has(.tristar-hero) .entry-content > .wp-block-cover:first-child,
body:has(.tristar-hero) .entry-content > .tristar-hero:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(.tristar-hero) .site-main > article > .entry-header,
body:has(.tristar-hero) .site-main > article > .page-header,
body:has(.tristar-hero) .site-main > article > .entry-title,
body:has(.tristar-hero) .site-main > article > .page-title,
body:has(.tristar-hero) .site-main .wp-block-post-title,
body:has(.tristar-hero) .entry-content > .wp-block-post-title {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body:has(.tristar-hero) .entry-content > .wp-block-cover:first-child,
body:has(.tristar-hero) .entry-content > .wp-block-cover:first-child.tristar-hero,
body:has(.tristar-hero) .entry-content > .tristar-hero:first-child,
body:has(.tristar-hero) .tristar-hero {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* =========================================================
   Tristar Static Facility Map
   ========================================================= */

.tristar-static-map {
	--tristar-map-navy: #061b33;
	--tristar-map-blue: #1769aa;
	--tristar-map-light-blue: #eaf3f9;
	--tristar-map-red: #c62032;
	--tristar-map-text: #24384b;
	--tristar-map-muted: #657586;
	--tristar-map-white: #ffffff;

	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: clamp(64px, 8vw, 110px) 24px;
	background: var(--tristar-map-white);
}

.tristar-static-map *,
.tristar-static-map *::before,
.tristar-static-map *::after {
	box-sizing: inherit;
}

.tristar-static-map__inner {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.tristar-static-map__header {
	max-width: 720px;
	margin: 0 0 clamp(32px, 5vw, 52px);
}

.tristar-static-map__eyebrow {
	margin: 0 0 12px;
	color: var(--tristar-map-red);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tristar-static-map__title {
	margin: 0;
	color: var(--tristar-map-navy);
	font-size: clamp(2rem, 4vw, 3.6rem);
	font-weight: 750;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

.tristar-static-map__description {
	max-width: 650px;
	margin: 20px 0 0;
	color: var(--tristar-map-muted);
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	line-height: 1.7;
}

.tristar-static-map__figure {
	position: relative;
	width: 100%;
	height: clamp(420px, 58vw, 650px);
	margin: 0;
	overflow: hidden;
	background: var(--tristar-map-light-blue);
	border: 1px solid rgba(6, 27, 51, 0.1);
	border-radius: 22px;
	box-shadow: 0 24px 60px rgba(6, 27, 51, 0.13);
}

.tristar-static-map__image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

.tristar-static-map__locations {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.tristar-static-map__location {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	padding: 18px;
	color: var(--tristar-map-text);
	text-decoration: none;
	background: var(--tristar-map-white);
	border: 1px solid rgba(6, 27, 51, 0.12);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(6, 27, 51, 0.07);
	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}

.tristar-static-map__location:hover,
.tristar-static-map__location:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(23, 105, 170, 0.45);
	box-shadow: 0 14px 32px rgba(6, 27, 51, 0.12);
}

.tristar-static-map__location:focus-visible {
	outline: 3px solid rgba(23, 105, 170, 0.25);
	outline-offset: 3px;
}

.tristar-static-map__marker {
	display: inline-flex;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: var(--tristar-map-white);
	font-size: 0.85rem;
	font-weight: 800;
	background: var(--tristar-map-red);
	border-radius: 50%;
}

.tristar-static-map__location-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.tristar-static-map__location-copy strong {
	color: var(--tristar-map-navy);
	font-size: 1rem;
	line-height: 1.3;
}

.tristar-static-map__location-copy span {
	overflow: hidden;
	color: var(--tristar-map-muted);
	font-size: 0.86rem;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 820px) {
	.tristar-static-map {
		padding-right: 20px;
		padding-left: 20px;
	}

	.tristar-static-map__figure {
		height: 500px;
		border-radius: 18px;
	}

	.tristar-static-map__locations {
		grid-template-columns: 1fr;
	}

	.tristar-static-map__location-copy span {
		white-space: normal;
	}
}

@media (max-width: 520px) {
	.tristar-static-map {
		padding-right: 16px;
		padding-left: 16px;
	}

	.tristar-static-map__figure {
		height: 430px;
		border-radius: 14px;
	}

	.tristar-static-map__location {
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tristar-static-map__location {
		transition: none;
	}
}

/*
========================================
ABOUT US — UNIFIED SECONDARY TEAM GRID
Removes location-group panels and displays all secondary profiles
in rows of four. Each card lists its facility below the job title.
========================================
*/

#tristar-team-showcase .tristar-location-teams {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: stretch;
	gap: 18px !important;
	width: 100%;
	margin-top: 48px;
	padding-top: 42px;
	border-top: 1px solid rgba(6, 27, 51, 0.14);
}

#tristar-team-showcase .tristar-location-team {
	display: contents !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

#tristar-team-showcase .tristar-location-team + .tristar-location-team {
	margin-top: 0 !important;
}

#tristar-team-showcase .tristar-location-team__header {
	display: none !important;
}

#tristar-team-showcase .tristar-location-team__grid {
	display: contents !important;
}

#tristar-team-showcase .tristar-location-profile {
	min-width: 0;
}

#tristar-team-showcase .tristar-location-profile__role {
	margin-bottom: 0 !important;
}

#tristar-team-showcase .tristar-location-profile__role::after {
	display: block;
	margin-top: 5px;
	color: var(--tristar-red, #e52222);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

#tristar-team-showcase .tristar-location-team[aria-labelledby="tristar-vancouver-team-title"] .tristar-location-profile__role::after {
	content: "Vancouver";
}

#tristar-team-showcase .tristar-location-team[aria-labelledby="tristar-spokane-team-title"] .tristar-location-profile__role::after {
	content: "Spokane";
}

#tristar-team-showcase .tristar-location-team[aria-labelledby="tristar-fontana-team-title"] .tristar-location-profile__role::after {
	content: "Fontana";
}

#tristar-team-showcase .tristar-location-team[aria-labelledby="tristar-muscat-team-title"] .tristar-location-profile__role::after {
	content: "Muscat";
}

@media (max-width: 1100px) {
	#tristar-team-showcase .tristar-location-teams {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	#tristar-team-showcase .tristar-location-teams {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}
}

@media (max-width: 440px) {
	#tristar-team-showcase .tristar-location-teams {
		grid-template-columns: 1fr !important;
	}
}

/*
========================================
ABOUT US — FOUR LOCATIONS GALLERY
Two columns by two rows on desktop and tablet.
Stacks to one column on mobile.
========================================
*/

#tristar-team-showcase .tristar-team-facilities__grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: clamp(16px, 2vw, 24px) !important;
	width: 100% !important;
}

#tristar-team-showcase .tristar-team-facility {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	aspect-ratio: 2 / 1 !important;
}

#tristar-team-showcase .tristar-team-facility img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

@media (max-width: 680px) {
	#tristar-team-showcase .tristar-team-facilities__grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	#tristar-team-showcase .tristar-team-facility {
		width: 100% !important;
		max-width: 520px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		aspect-ratio: 1.6 / 1 !important;
	}
}
.tristar-careers-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
}

.tristar-careers-cta__button-icon {
	width: 1.1rem;
	height: 1.1rem;
	flex: 0 0 auto;
}
/*

/*
========================================
TRISTAR HEADER DROPDOWN NAVIGATION
========================================
*/

#tristar-custom-header .tristar-custom-header__nav-list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

#tristar-custom-header .tristar-custom-header__nav-item {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

#tristar-custom-header
	.tristar-custom-header__nav-item
	+ .tristar-custom-header__nav-item::before {
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 3;
	width: 1px;
	height: 30px;
	content: "";
	background: rgba(229, 34, 34, 0.8);
	transform: translateY(-50%);
}

#tristar-custom-header
	.tristar-custom-header__nav-link
	+ .tristar-custom-header__nav-link::before {
	display: none;
	content: none;
}

/*
========================================
PRIMARY DROPDOWN
========================================
*/

#tristar-custom-header .tristar-custom-header__dropdown {
	position: absolute;
	top: calc(100% - 3px);
	left: 50%;
	z-index: 200;
	display: block;
	width: max-content;
	min-width: 225px;
	margin: 0;
	padding: 9px 0;
	visibility: hidden;
	opacity: 0;
	list-style: none;
	background: var(--tristar-header-white);
	border-top: 3px solid var(--tristar-header-red);
	border-right: 1px solid rgba(8, 41, 85, 0.1);
	border-bottom: 1px solid rgba(8, 41, 85, 0.1);
	border-left: 1px solid rgba(8, 41, 85, 0.1);
	border-radius: 0 0 6px 6px;
	box-shadow: 0 18px 34px rgba(6, 27, 51, 0.18);
	transform: translate(-50%, 10px);
	transition:
		opacity 0.2s ease,
		visibility 0.2s ease,
		transform 0.2s ease;
}

#tristar-custom-header .tristar-custom-header__dropdown > li {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

#tristar-custom-header .tristar-custom-header__dropdown > li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	min-height: 43px;
	padding: 10px 18px;
	color: var(--tristar-header-dark);
	border-bottom: 1px solid rgba(8, 41, 85, 0.08);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.025em;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		padding-left 0.2s ease;
}

#tristar-custom-header
	.tristar-custom-header__dropdown
	> li:last-child
	> a {
	border-bottom: 0;
}

#tristar-custom-header .tristar-custom-header__dropdown > li > a:hover,
#tristar-custom-header .tristar-custom-header__dropdown > li > a:focus {
	color: var(--tristar-header-blue);
	background: rgba(10, 95, 222, 0.06);
	padding-left: 22px;
}

#tristar-custom-header
	.tristar-custom-header__nav-item:hover
	> .tristar-custom-header__dropdown,
#tristar-custom-header
	.tristar-custom-header__nav-item:focus-within
	> .tristar-custom-header__dropdown {
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, 0);
}

/* Keep the Contact Us dropdown inside the viewport. */

#tristar-custom-header
	.tristar-custom-header__nav-item:last-child
	> .tristar-custom-header__dropdown {
	right: 0;
	left: auto;
	transform: translateY(10px);
}

#tristar-custom-header
	.tristar-custom-header__nav-item:last-child:hover
	> .tristar-custom-header__dropdown,
#tristar-custom-header
	.tristar-custom-header__nav-item:last-child:focus-within
	> .tristar-custom-header__dropdown {
	transform: translateY(0);
}

/*
========================================
OUR LOCATIONS — INDENTED LINKS
All locations remain visible in the first dropdown.
========================================
*/

#tristar-custom-header .tristar-custom-header__dropdown-item--submenu {
	position: relative;
}

#tristar-custom-header .tristar-custom-header__submenu-trigger {
	cursor: pointer;
}

#tristar-custom-header .tristar-custom-header__submenu-arrow {
	display: none;
}

#tristar-custom-header .tristar-custom-header__submenu {
	position: static;
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	visibility: visible;
	opacity: 1;
	list-style: none;
	background: #f8fafc;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	transform: none;
}

#tristar-custom-header .tristar-custom-header__submenu li {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

#tristar-custom-header .tristar-custom-header__submenu a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 39px;
	padding: 9px 18px 9px 34px;
	color: #536174;
	border-bottom: 1px solid rgba(8, 41, 85, 0.07);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.02em;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		padding-left 0.2s ease;
}

#tristar-custom-header .tristar-custom-header__submenu a::before {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 5px;
	height: 5px;
	content: "";
	background: var(--tristar-header-red);
	border-radius: 50%;
	transform: translateY(-50%);
}

#tristar-custom-header .tristar-custom-header__submenu li:last-child a {
	border-bottom: 0;
}

#tristar-custom-header .tristar-custom-header__submenu a:hover,
#tristar-custom-header .tristar-custom-header__submenu a:focus {
	color: var(--tristar-header-blue);
	background: rgba(10, 95, 222, 0.06);
	padding-left: 38px;
}

/*
========================================
MOBILE ANCHOR NAVIGATION
========================================
*/

#tristar-custom-header .tristar-custom-header__mobile-group {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(8, 41, 85, 0.11);
}

#tristar-custom-header
	.tristar-custom-header__mobile-nav
	.tristar-custom-header__mobile-parent {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 50px;
	padding: 10px 2px;
	color: var(--tristar-header-dark);
	border: 0;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

#tristar-custom-header
	.tristar-custom-header__mobile-nav
	.tristar-custom-header__mobile-parent:hover,
#tristar-custom-header
	.tristar-custom-header__mobile-nav
	.tristar-custom-header__mobile-parent:focus {
	color: var(--tristar-header-blue);
}

#tristar-custom-header
	.tristar-custom-header__mobile-nav
	.tristar-custom-header__mobile-single {
	border-bottom: 1px solid rgba(8, 41, 85, 0.11);
}

#tristar-custom-header .tristar-custom-header__mobile-subgroup {
	width: 100%;
	padding: 0 0 12px 14px;
}

#tristar-custom-header .tristar-custom-header__mobile-subgroup-title {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 7px 8px 7px 14px;
	color: var(--tristar-header-navy);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

#tristar-custom-header .tristar-custom-header__mobile-subgroup-title::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 7px;
	height: 7px;
	content: "";
	background: var(--tristar-header-blue);
	border-radius: 50%;
	transform: translateY(-50%);
}

#tristar-custom-header .tristar-custom-header__mobile-subgroup-title:hover,
#tristar-custom-header .tristar-custom-header__mobile-subgroup-title:focus {
	color: var(--tristar-header-blue);
}

#tristar-custom-header .tristar-custom-header__mobile-anchors {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 12px;
	width: 100%;
	padding: 0 0 12px 14px;
}

#tristar-custom-header
	.tristar-custom-header__mobile-subgroup
	.tristar-custom-header__mobile-anchors {
	padding: 0 0 0 16px;
}

#tristar-custom-header .tristar-custom-header__mobile-anchors a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 35px;
	padding: 7px 8px 7px 14px;
	color: #536174;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	text-transform: none;
}

#tristar-custom-header .tristar-custom-header__mobile-anchors a::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 5px;
	height: 5px;
	content: "";
	background: var(--tristar-header-red);
	border-radius: 50%;
	transform: translateY(-50%);
}

#tristar-custom-header .tristar-custom-header__mobile-anchors a:hover,
#tristar-custom-header .tristar-custom-header__mobile-anchors a:focus {
	color: var(--tristar-header-blue);
}

#tristar-custom-header
	.tristar-custom-header__mobile-nav
	> a:not(.tristar-custom-header__mobile-quote) {
	border-bottom: 0;
}

@media (max-width: 520px) {
	#tristar-custom-header .tristar-custom-header__mobile-anchors {
		grid-template-columns: 1fr;
		padding-left: 12px;
	}

	#tristar-custom-header .tristar-custom-header__mobile-subgroup {
		padding-left: 12px;
	}

	#tristar-custom-header
		.tristar-custom-header__mobile-subgroup
		.tristar-custom-header__mobile-anchors {
		padding-left: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-custom-header .tristar-custom-header__dropdown,
	#tristar-custom-header .tristar-custom-header__submenu {
		transition: none;
	}
}

/*
========================================
FINAL FACILITIES HERO INDENT ALIGNMENT
Uses the exact same 1480px container and responsive side padding as the
Home and About page hero content.
========================================
*/

@media (min-width: 961px) {
	#tristar-facilities-header .tristar-facilities-header__content {
		padding-left: max(
			clamp(24px, 5vw, 84px),
			calc(
				(100vw - 1480px) / 2 + clamp(24px, 5vw, 84px)
			)
		) !important;
	}
}

/*
========================================
FINAL FACILITIES GRID OVERRIDE
CENTERED 2x2 DESKTOP LAYOUT
========================================
*/

.tristar-facilities > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.tristar-facility-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	column-gap: clamp(24px, 2.5vw, 40px) !important;
	row-gap: clamp(32px, 3vw, 48px) !important;
	box-sizing: border-box !important;
	width: min(100%, 1180px) !important;
	max-width: 1180px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 0 !important;
}

.tristar-facility-grid > .wp-block-column,
.tristar-facility-grid > .wp-block-column:last-child {
	grid-column: auto !important;
	display: flex !important;
	align-items: stretch !important;
	justify-self: stretch !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-facility-card {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

@media (max-width: 960px) {
	.tristar-facility-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: min(100%, 860px) !important;
		max-width: 860px !important;
		column-gap: 24px !important;
		row-gap: 32px !important;
	}

	.tristar-facility-grid > .wp-block-column,
	.tristar-facility-grid > .wp-block-column:last-child {
		grid-column: auto !important;
		width: 100% !important;
		max-width: none !important;
		justify-self: stretch !important;
	}
}

@media (max-width: 680px) {
	.tristar-facility-grid {
		grid-template-columns: 1fr !important;
		width: min(100%, 560px) !important;
		max-width: 560px !important;
		row-gap: 24px !important;
	}

	.tristar-facility-grid > .wp-block-column,
	.tristar-facility-grid > .wp-block-column:last-child {
		grid-column: auto !important;
		width: 100% !important;
		max-width: none !important;
	}
}

/*
========================================
FINAL HOME FACILITY CARD VISUAL STYLE
WHITE LOCATION TEXT + SUBTLE IMAGE OMBRE
Matches the About Us facility image treatment while retaining details.
========================================
*/

.tristar-facility-card figure,
.tristar-facility-card .wp-block-image {
	isolation: isolate !important;
}

.tristar-facility-card figure::after,
.tristar-facility-card .wp-block-image::after {
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	display: block !important;
	content: "" !important;
	pointer-events: none !important;
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0) 38%,
			rgba(6, 27, 51, 0.08) 56%,
			rgba(6, 27, 51, 0.58) 78%,
			rgba(6, 27, 51, 0.92) 100%
		) !important;
}

.tristar-facility-card h3 {
	position: relative !important;
	z-index: 3 !important;
	display: flex !important;
	align-items: flex-end !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 96px !important;
	margin: -96px 0 0 !important;
	padding: 38px 26px 20px !important;
	color: var(--tristar-white) !important;
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0) 0%,
			rgba(6, 27, 51, 0.18) 44%,
			rgba(6, 27, 51, 0.66) 100%
		) !important;
	border: 0 !important;
	border-left: 0 !important;
	font-size: clamp(21px, 2vw, 28px) !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.42) !important;
	text-transform: uppercase !important;
}

.tristar-facility-card ul {
	position: relative !important;
	z-index: 2 !important;
	background: var(--tristar-white) !important;
}

.tristar-facility-card::before {
	z-index: 5 !important;
}

@media (max-width: 960px) {
	.tristar-facility-card h3 {
		min-height: 90px !important;
		margin-top: -90px !important;
		padding: 34px 22px 18px !important;
		font-size: clamp(20px, 2.6vw, 25px) !important;
	}
}

@media (max-width: 680px) {
	.tristar-facility-card h3 {
		min-height: 84px !important;
		margin-top: -84px !important;
		padding: 30px 20px 17px !important;
		font-size: clamp(19px, 6vw, 24px) !important;
	}
}

@media (max-width: 430px) {
	.tristar-facility-card h3 {
		min-height: 78px !important;
		margin-top: -78px !important;
		padding: 27px 17px 15px !important;
		font-size: 18px !important;
	}
}


/*
========================================
FINAL HOME FACILITY TITLE OVERLAY FIX
CENTERED WHITE TEXT + SINGLE CLEAN OMBRE
========================================
*/

.tristar-facility-card figure::after,
.tristar-facility-card .wp-block-image::after {
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0) 42%,
			rgba(6, 27, 51, 0.06) 56%,
			rgba(6, 27, 51, 0.42) 76%,
			rgba(6, 27, 51, 0.88) 100%
		) !important;
}

.tristar-facility-card h3 {
	align-items: flex-end !important;
	justify-content: center !important;
	margin-top: -96px !important;
	padding: 34px 24px 18px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: center !important;
}

@media (max-width: 960px) {
	.tristar-facility-card h3 {
		margin-top: -90px !important;
		padding: 31px 20px 17px !important;
	}
}

@media (max-width: 680px) {
	.tristar-facility-card h3 {
		margin-top: -84px !important;
		padding: 28px 18px 16px !important;
	}
}

@media (max-width: 430px) {
	.tristar-facility-card h3 {
		margin-top: -78px !important;
		padding: 25px 15px 14px !important;
	}
}

/*
========================================
FINAL HOME FACILITY TITLE LINE CONTROL
KEEP ALL LOCATION NAMES ON ONE LINE
========================================
*/

.tristar-facility-card h3 {
	white-space: nowrap !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	font-size: clamp(18px, 1.65vw, 25px) !important;
	letter-spacing: -0.025em !important;
}

.tristar-facility-card h3 br {
	display: none !important;
}

@media (max-width: 960px) {
	.tristar-facility-card h3 {
		font-size: clamp(16px, 2.2vw, 21px) !important;
		padding-right: 14px !important;
		padding-left: 14px !important;
	}
}

@media (max-width: 680px) {
	.tristar-facility-card h3 {
		font-size: clamp(16px, 4.7vw, 21px) !important;
	}
}

@media (max-width: 430px) {
	.tristar-facility-card h3 {
		font-size: clamp(14px, 4.4vw, 18px) !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
	}
}
/*
========================================
CONTACT PAGE — FINAL WIDTH AND HEADING FIX
========================================
*/

#tristar-contact-page {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	overflow-x: clip !important;
}

#tristar-contact-page .tristar-contact-main {
	width: 100% !important;
	max-width: none !important;
}

#tristar-contact-page .tristar-contact-main__inner {
	width: 100% !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

@media (min-width: 961px) {
	#tristar-contact-page .tristar-contact-hero__inner {
		grid-template-columns:
			minmax(0, 53%)
			minmax(0, 47%) !important;
	}

	#tristar-contact-page .tristar-contact-hero__content {
		padding:
			38px
			clamp(28px, 3vw, 48px)
			42px
			clamp(34px, 4vw, 64px) !important;
	}

	#tristar-contact-page .tristar-contact-hero__title {
		width: 100% !important;
		max-width: 650px !important;
		font-size: clamp(37px, 3vw, 50px) !important;
		line-height: 1.02 !important;
		letter-spacing: -0.04em !important;
		overflow: visible !important;
	}
}

@media (max-width: 960px) {
	#tristar-contact-page .tristar-contact-hero__title {
		overflow: visible !important;
	}
}
/* Page 2125: remove the automatic page title and its reserved spacing. */
body.page-id-2125 .wp-block-post-title,
body.page-id-2125 .entry-title,
body.page-id-2125 .page-title,
body.page-id-2125 .wp-block-query-title,
body.page-id-2125 header.entry-header,
body.page-id-2125 .singular-header,
body.page-id-2125 article > header.entry-header {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
}

/* Remove theme spacing above the first visible page element. */
body.page-id-2125 .site-content,
body.page-id-2125 #content,
body.page-id-2125 main,
body.page-id-2125 .site-main,
body.page-id-2125 article,
body.page-id-2125 .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Ensure the custom navigation starts at the top. */
body.page-id-2125 #tristar-custom-header {
	margin-top: 0 !important;
}
/*
========================================
ABOUT US — SECONDARY TEAM LINKEDIN BUTTONS
Square style to match leadership cards.
========================================
*/

#tristar-team-showcase .tristar-location-profile__linkedin {
	border-radius: 3px !important;
}


/*
========================================
FINAL LOCATION CARD PHOTO BLEED + TITLE SPACING
Makes each facility image fill the full card width and adds breathing room
between the image and the location title row.
========================================
*/

#tristar-locations-network .tristar-location-detail-card {
	overflow: hidden;
}

#tristar-locations-network .tristar-location-detail-card__photo {
	display: block;
	width: calc(100% + (2 * clamp(20px, 1.8vw, 28px)));
	height: 240px;
	margin:
		calc(-1 * clamp(20px, 1.8vw, 28px))
		calc(-1 * clamp(20px, 1.8vw, 28px))
		0;
	padding: 0;
	overflow: hidden;
	background: #eef3f8;
	line-height: 0;
}

#tristar-locations-network .tristar-location-detail-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	object-fit: cover;
	object-position: center;
	vertical-align: bottom;
}

#tristar-locations-network .tristar-location-detail-card__heading {
	padding-top: 22px;
}

@media (max-width: 760px) {
	#tristar-locations-network .tristar-location-detail-card__photo {
		width: calc(100% + 40px);
		height: 220px;
		margin: -20px -20px 0;
	}

	#tristar-locations-network .tristar-location-detail-card__heading {
		padding-top: 20px;
	}
}

@media (max-width: 540px) {
	#tristar-locations-network .tristar-location-detail-card__photo {
		width: calc(100% + 30px);
		height: 190px;
		margin: -18px -15px 0;
	}

	#tristar-locations-network .tristar-location-detail-card__heading {
		padding-top: 18px;
	}
}


/*
========================================
FINAL LOCATION CARD EDGE-TO-EDGE PHOTO FIX
Removes padding from the outer card so the photo can reach the top and
side edges, then restores that spacing only around the text content.
========================================
*/

#tristar-locations-network .tristar-location-detail-card {
	padding: 0 !important;
	overflow: hidden !important;
}

/* Full-bleed image at the very top of each card. */
#tristar-locations-network .tristar-location-detail-card__photo {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 240px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #eef3f8;
	line-height: 0;
}

#tristar-locations-network .tristar-location-detail-card__photo img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	vertical-align: bottom;
}

/* Restore the original card inset around the title row. */
#tristar-locations-network .tristar-location-detail-card__heading {
	margin: 0 !important;
	padding:
		24px
		clamp(20px, 1.8vw, 28px)
		17px !important;
}

/* Restore the original inset around the card details. */
#tristar-locations-network .tristar-location-detail-card__body {
	margin: 0 !important;
	padding:
		19px
		clamp(20px, 1.8vw, 28px)
		clamp(20px, 1.8vw, 28px) !important;
}

@media (max-width: 760px) {
	#tristar-locations-network .tristar-location-detail-card__photo {
		height: 220px !important;
	}

	#tristar-locations-network .tristar-location-detail-card__heading {
		padding: 20px 20px 17px !important;
	}

	#tristar-locations-network .tristar-location-detail-card__body {
		padding: 19px 20px 20px !important;
	}
}

@media (max-width: 540px) {
	#tristar-locations-network .tristar-location-detail-card__photo {
		height: 190px !important;
	}

	#tristar-locations-network .tristar-location-detail-card__heading {
		padding: 18px 15px 16px !important;
	}

	#tristar-locations-network .tristar-location-detail-card__body {
		padding: 18px 15px 18px !important;
	}
}

/*
========================================
FINAL LOCATION FACT COLUMN ALIGNMENT
Uses the full card width now that the capabilities column has been removed.
The second fact column is positioned beneath the PHONE column above.
========================================
*/

/* The old layout reserved a second body column for capabilities.
   That column no longer exists, so let the facts span the full card. */
#tristar-locations-network .tristar-location-detail-card__body {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 20px !important;
}

#tristar-locations-network .tristar-location-detail-card__facts {
	display: grid !important;
	grid-template-columns:
		minmax(0, 1.4fr)
		minmax(170px, 0.6fr)
		minmax(0, 1fr) !important;
	column-gap: 24px !important;
	row-gap: 16px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 18px !important;
}

/* Row 1 */
#tristar-locations-network .tristar-location-detail-card__facts > .tristar-location-fact:nth-child(1) {
	grid-column: 1;
	grid-row: 1;
}

#tristar-locations-network .tristar-location-detail-card__facts > .tristar-location-fact:nth-child(2) {
	grid-column: 2;
	grid-row: 1;
}

/* Row 2 */
#tristar-locations-network .tristar-location-detail-card__facts > .tristar-location-fact:nth-child(3) {
	grid-column: 1;
	grid-row: 2;
}

#tristar-locations-network .tristar-location-detail-card__facts > .tristar-location-fact:nth-child(4) {
	grid-column: 2;
	grid-row: 2;
}

/* Keep icon + text together and prevent narrow-column wrapping. */
#tristar-locations-network .tristar-location-fact {
	grid-template-columns: 31px minmax(0, 1fr) !important;
	gap: 10px !important;
	min-width: 0;
}

@media (max-width: 1320px) and (min-width: 761px) {
	/* Match the contact strip's two-column breakpoint. */
	#tristar-locations-network .tristar-location-detail-card__facts {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(150px, 0.55fr) !important;
		column-gap: 24px !important;
		padding-right: 18px !important;
		padding-left: 18px !important;
	}
}

@media (max-width: 760px) {
	#tristar-locations-network .tristar-location-detail-card__facts {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	#tristar-locations-network .tristar-location-detail-card__facts > .tristar-location-fact {
		grid-column: auto !important;
		grid-row: auto !important;
	}
}
/*
========================================
TRISTAR CONTACT PAGE
JETPACK / WORDPRESS FORM VERSION
========================================
*/

#tristar-contact-page,
#tristar-contact-page * {
	box-sizing: border-box;
}

#tristar-contact-page {
	position: relative;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: clip;
	color: var(--tristar-text);
	background: var(--tristar-white);
}


/*
========================================
REMOVE THEME PAGE TITLE / SPACING
========================================
*/

body:has(#tristar-contact-page) .site-main > .entry-header,
body:has(#tristar-contact-page) .site-main > .page-header,
body:has(#tristar-contact-page) .site-main .wp-block-post-title,
body:has(#tristar-contact-page) .entry-content > .wp-block-post-title,
body:has(#tristar-contact-page) .page-title,
body:has(#tristar-contact-page) .entry-title {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body:has(#tristar-contact-page) .site-main,
body:has(#tristar-contact-page) .entry-content,
body:has(#tristar-contact-page) .wp-block-post-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}


/*
========================================
REMOVE WORDPRESS GROUP WIDTH LIMITS
========================================
*/

#tristar-contact-page.tristar-contact-page-root,
#tristar-contact-page.tristar-contact-page-root > .wp-block-group__inner-container,
#tristar-contact-page .tristar-contact-main,
#tristar-contact-page .tristar-contact-main > .wp-block-group__inner-container,
#tristar-contact-page .tristar-contact-main__inner,
#tristar-contact-page .tristar-contact-main__inner > .wp-block-group__inner-container {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}


/*
========================================
CONTACT HERO
========================================
*/

#tristar-contact-page .tristar-contact-hero {
	position: relative;
	display: block;
	width: 100%;
	height: 320px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--tristar-white);
	border: 0;
}

#tristar-contact-page .tristar-contact-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
	height: 4px;
	content: "";
	background: var(--tristar-blue);
}

#tristar-contact-page .tristar-contact-hero__inner {
	display: grid;
	grid-template-columns:
		minmax(0, 60%)
		minmax(0, 40%);
	grid-template-areas:
		"media content";
	width: 100%;
	height: 320px;
	margin: 0;
	padding: 0;
}


/*
========================================
HERO IMAGE
========================================
*/

#tristar-contact-page .tristar-contact-hero__media {
	position: relative;
	grid-area: media;
	min-width: 0;
	height: 320px;
	overflow: hidden;
	background: #edf2f7;
}

#tristar-contact-page .tristar-contact-hero__media::after {
	position: absolute;
	top: 0;
	right: -1px;
	bottom: 0;
	z-index: 2;
	width: 180px;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.35) 42%,
			rgba(255, 255, 255, 0.82) 72%,
			rgba(255, 255, 255, 1) 100%
		);
}

#tristar-contact-page .tristar-contact-hero__media-figure {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	line-height: 0;
}

#tristar-contact-page .tristar-contact-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}


/*
========================================
HERO COPY
========================================
*/

#tristar-contact-page .tristar-contact-hero__content {
	grid-area: content;
	display: flex;
	justify-content: center;
	flex-direction: column;
	min-width: 0;
	height: 320px;
	padding:
		38px
		clamp(34px, 4vw, 70px)
		42px
		clamp(34px, 4vw, 64px);
	background: var(--tristar-white);
}

#tristar-contact-page .tristar-contact-hero__eyebrow {
	margin: 0 0 10px !important;
	padding: 0;
	color: var(--tristar-red);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-hero__title {
	width: 100%;
	max-width: 620px;
	margin: 0 !important;
	padding: 0;
	color: var(--tristar-navy);
	font-size: clamp(38px, 3.15vw, 54px) !important;
	font-weight: 800;
	line-height: 0.98 !important;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}


/*
========================================
CONTACT MAIN
========================================
*/

#tristar-contact-page .tristar-contact-main {
	width: 100%;
	padding:
		clamp(42px, 4vw, 58px)
		clamp(24px, 4vw, 64px)
		clamp(58px, 6vw, 86px);
	background:
		linear-gradient(
			180deg,
			#f4f7fa 0%,
			#ffffff 100%
		);
}

#tristar-contact-page .tristar-contact-main__inner {
	width: 100% !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
}


/*
========================================
CONTACT TABS
FOUR EQUAL TABS ALIGNED TO CONTACT CARD
========================================
*/

#tristar-contact-page .tristar-contact-options {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: 10px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

#tristar-contact-page .tristar-contact-option {
	position: relative;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 12px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 74px;
	height: 100%;
	margin: 0 !important;
	padding: 13px 15px;
	color: var(--tristar-text);
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.18);
	border-radius: 6px;
	box-shadow: 0 5px 14px rgba(8, 41, 85, 0.07);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		color 0.2s ease;
}

#tristar-contact-page .tristar-contact-option:hover {
	border-color: rgba(10, 95, 222, 0.42);
	box-shadow: 0 8px 20px rgba(8, 41, 85, 0.11);
}

#tristar-contact-page .tristar-contact-option.is-active {
	color: var(--tristar-white);
	background:
		linear-gradient(
			135deg,
			#15366d 0%,
			#082955 100%
		);
	border-color: var(--tristar-navy);
	box-shadow: 0 9px 22px rgba(8, 41, 85, 0.18);
}


/*
========================================
TAB ICONS
========================================
*/

#tristar-contact-page .tristar-contact-option__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	color: var(--tristar-blue);
	background: #f0f4ff;
	border-radius: 5px;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__icon {
	color: var(--tristar-white);
	background: rgba(255, 255, 255, 0.12);
}

#tristar-contact-page .tristar-contact-option__icon svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/*
========================================
TAB COPY
========================================
*/

#tristar-contact-page .tristar-contact-option__copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	gap: 3px;
}

#tristar-contact-page .tristar-contact-option__copy strong {
	color: inherit;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-option__copy small {
	color: var(--tristar-muted);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.3;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__copy small {
	color: rgba(255, 255, 255, 0.82);
}


/*
========================================
MAIN CONTACT CARD
========================================
*/

#facility-inquiry {
	scroll-margin-top: 130px;
}

#tristar-contact-page .tristar-contact-layout {
	display: grid !important;
	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 2fr) !important;
	align-items: stretch;
	gap: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.13);
	border-radius: 10px;
	box-shadow:
		0 18px 44px rgba(8, 41, 85, 0.12),
		0 2px 7px rgba(8, 41, 85, 0.05);
}

/*
========================================
CONTACT SIDEBAR
========================================
*/

#tristar-contact-page .tristar-contact-sidebar {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 650px;
	padding:
		clamp(44px, 4vw, 60px)
		clamp(36px, 4vw, 54px);
	overflow: hidden;
	color: var(--tristar-white);
	background:
		linear-gradient(
			155deg,
			#163b75 0%,
			#082955 48%,
			#061b33 100%
		);
}

#tristar-contact-page .tristar-contact-sidebar::after {
	position: absolute;
	right: -120px;
	bottom: -110px;
	z-index: -1;
	width: 320px;
	height: 320px;
	content: "";
	border: 50px solid rgba(255, 255, 255, 0.035);
	border-radius: 50%;
}

#tristar-contact-page .tristar-contact-sidebar__intro {
	width: 100%;
	max-width: 420px;
	margin: 0 0 34px;
}


/*
========================================
SIDEBAR HEADING
========================================
*/

#tristar-contact-page .tristar-contact-sidebar__eyebrow {
	margin: 0 0 12px;
	color: var(--tristar-white);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-sidebar__intro h2 {
	width: 100%;
	max-width: 390px;
	margin: 0 0 18px;
	color: var(--tristar-white);
	font-size: clamp(35px, 3vw, 48px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-sidebar__intro > p:last-of-type {
	max-width: 360px;
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 16px;
	line-height: 1.6;
}


/*
========================================
CAREERS LINKEDIN
========================================
*/

#tristar-contact-page .tristar-careers-linkedin-action {
	display: none;
	width: 100%;
	margin: 24px 0 0;
}

#tristar-contact-page .tristar-careers-linkedin-action.is-visible {
	display: block;
}

#tristar-contact-page .tristar-careers-linkedin-callout__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	color: var(--tristar-white);
	background: #0a66c2;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

#tristar-contact-page .tristar-careers-linkedin-callout__button:hover {
	color: var(--tristar-white);
	background: #084f96;
}

#tristar-contact-page .tristar-careers-linkedin-callout__button svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}


/*
========================================
SIDEBAR DETAILS
========================================
*/

#tristar-contact-page .tristar-contact-sidebar__details {
	display: grid;
	gap: 0;
	width: 100%;
}

#tristar-contact-page .tristar-contact-sidebar__details--facility {
	display: none;
}

#tristar-contact-page .tristar-contact-detail-card {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

#tristar-contact-page .tristar-contact-detail-card:last-child {
	border-bottom: 0;
}

#tristar-contact-page .tristar-contact-detail-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--tristar-white);
	background: rgba(255, 255, 255, 0.09);
	border-radius: 6px;
}

#tristar-contact-page .tristar-contact-detail-card__icon svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#tristar-contact-page .tristar-contact-detail-card > div {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

#tristar-contact-page .tristar-contact-detail-card strong {
	margin: 0 0 4px;
	color: var(--tristar-white);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-detail-card a,
#tristar-contact-page .tristar-contact-detail-card span {
	color: rgba(255, 255, 255, 0.88);
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
}

#tristar-contact-page .tristar-contact-detail-card a:hover {
	color: var(--tristar-white);
}


/*
========================================
SIDEBAR NOTE
========================================
*/

#tristar-contact-page .tristar-contact-sidebar__note {
	margin-top: auto;
	padding-top: 36px;
}

#tristar-contact-page .tristar-contact-sidebar__note strong {
	display: block;
	margin: 0 0 7px;
	color: var(--tristar-white);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

#tristar-contact-page .tristar-contact-sidebar__note p {
	margin: 0;
	color: rgba(255, 255, 255, 0.76);
	font-size: 13px;
	line-height: 1.5;
}


/*
========================================
FORM PANEL
========================================
*/

#tristar-contact-page .tristar-contact-form-panel {
	display: block !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding:
		clamp(40px, 4vw, 56px)
		clamp(34px, 4vw, 56px) !important;
	background: var(--tristar-white);
}

#tristar-contact-page .tristar-contact-form-panel > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
FORM INSTANCES
========================================
*/

#tristar-contact-page .tristar-contact-form-instance {
	display: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#tristar-contact-page .tristar-contact-form-instance.is-active {
	display: block !important;
}

#tristar-contact-page .tristar-contact-form-instance > .wp-block-group__inner-container,
#tristar-contact-page .tristar-contact-form-instance .wp-block-shortcode {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
JETPACK FORM RESET
========================================
*/

#tristar-contact-page .tristar-contact-form-instance form.contact-form,
#tristar-contact-page .tristar-contact-form-instance form.tristar-jetpack-form {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	column-gap: 0 !important;
	row-gap: 18px !important;
	align-items: start;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
JETPACK FIELD WRAPPERS
========================================
*/

#tristar-contact-page .tristar-contact-form-instance .grunion-field-wrap,
#tristar-contact-page .tristar-contact-form-instance .contact-form-field,
#tristar-contact-page .tristar-contact-form-instance .tristar-jetpack-field {
	display: block !important;
	box-sizing: border-box !important;
	grid-column: 1 / -1 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*
========================================
FORM FIELD ORDER
========================================
*/

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="name"] {
	order: 10;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] {
	order: 20;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="email"] {
	order: 30;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="company"] {
	order: 40;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="service"] {
	order: 50;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="location"] {
	order: 60;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="facility"] {
	order: 60;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="topic"] {
	order: 70;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="position"] {
	order: 80;
}


/*
========================================
FULL WIDTH FIELDS
========================================
*/

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="message"],
#tristar-contact-page .tristar-jetpack-field--full,
#tristar-contact-page .textarea-wrap,
#tristar-contact-page .grunion-field-textarea-wrap {
	grid-column: 1 / -1 !important;
	order: 90;
}


/*
========================================
JETPACK LABELS
========================================
*/

#tristar-contact-page .tristar-contact-form-instance form label {
	display: block !important;
	width: 100% !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	color: var(--tristar-dark) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

#tristar-contact-page .tristar-contact-form-instance form .required,
#tristar-contact-page .tristar-contact-form-instance form label span {
	color: var(--tristar-red) !important;
}


/*
========================================
FORM CONTROLS
========================================
*/

#tristar-contact-page .tristar-contact-form-instance form input[type="text"],
#tristar-contact-page .tristar-contact-form-instance form input[type="email"],
#tristar-contact-page .tristar-contact-form-instance form input[type="tel"],
#tristar-contact-page .tristar-contact-form-instance form input[type="url"],
#tristar-contact-page .tristar-contact-form-instance form input[type="number"],
#tristar-contact-page .tristar-contact-form-instance form select,
#tristar-contact-page .tristar-contact-form-instance form textarea {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 13px 14px !important;
	color: var(--tristar-text) !important;
	background: var(--tristar-white) !important;
	border: 1px solid #bdc8d4 !important;
	border-radius: 5px !important;
	outline: none !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease !important;
}

#tristar-contact-page .tristar-contact-form-instance form input[type="text"],
#tristar-contact-page .tristar-contact-form-instance form input[type="email"],
#tristar-contact-page .tristar-contact-form-instance form input[type="tel"],
#tristar-contact-page .tristar-contact-form-instance form input[type="url"],
#tristar-contact-page .tristar-contact-form-instance form input[type="number"],
#tristar-contact-page .tristar-contact-form-instance form select {
	min-height: 48px !important;
}


/*
========================================
TEXTAREA
========================================
*/

#tristar-contact-page .tristar-contact-form-instance form textarea {
	float: none !important;
	min-height: 166px !important;
	resize: vertical;
}


/*
========================================
PHONE FIELD
========================================
*/

#tristar-contact-page .tristar-contact-form-instance .grunion-field-phone-wrap,
#tristar-contact-page .tristar-contact-form-instance .contact-form-field-phone {
	width: 100% !important;
	min-width: 0 !important;
}

#tristar-contact-page .tristar-contact-form-instance .grunion-field-phone-wrap > div,
#tristar-contact-page .tristar-contact-form-instance .contact-form-field-phone > div {
	width: 100% !important;
	max-width: none !important;
}


/*
========================================
PLACEHOLDERS
========================================
*/

#tristar-contact-page .tristar-contact-form-instance form input::placeholder,
#tristar-contact-page .tristar-contact-form-instance form textarea::placeholder {
	color: #7b8795 !important;
	opacity: 1;
}


/*
========================================
FOCUS
========================================
*/

#tristar-contact-page .tristar-contact-form-instance form input:focus,
#tristar-contact-page .tristar-contact-form-instance form select:focus,
#tristar-contact-page .tristar-contact-form-instance form textarea:focus {
	border-color: var(--tristar-blue) !important;
	box-shadow: 0 0 0 3px rgba(10, 95, 222, 0.12) !important;
}


/*
========================================
JETPACK EXTRA PARAGRAPH SPACING
========================================
*/

#tristar-contact-page .tristar-contact-form-instance form p {
	margin-top: 0 !important;
}

#tristar-contact-page .tristar-contact-form-instance form p:empty {
	display: none !important;
}


/*
========================================
CAREERS FILE UPLOAD
BOTTOM OF FORM BEFORE SUBMIT
========================================
*/

#tristar-contact-page .tristar-form-careers .tristar-jetpack-field[data-tristar-field="file"],
#tristar-contact-page .tristar-form-careers .grunion-field-file-wrap,
#tristar-contact-page .tristar-form-careers .contact-form-field-file {
	grid-column: 1 / -1 !important;
	order: 95 !important;
	width: 100% !important;
	margin: 0 !important;
}

#tristar-contact-page .tristar-form-careers input[type="file"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 11px 12px !important;
	color: var(--tristar-text) !important;
	background: var(--tristar-white) !important;
	border: 1px solid #bdc8d4 !important;
	border-radius: 5px !important;
	font-family: inherit !important;
	font-size: 14px !important;
}

/*
========================================
SUBMIT ROW
FULL WIDTH
========================================
*/

#tristar-contact-page .tristar-jetpack-submit-row,
#tristar-contact-page .contact-submit {
	grid-column: 1 / -1 !important;
	order: 100;
	width: 100% !important;
	margin: 4px 0 0 !important;
	padding: 24px 0 0 !important;
	border-top: 1px solid rgba(8, 41, 85, 0.12);
}


/*
========================================
SUBMIT BUTTON
COMPACT BUTTON
========================================
*/

#tristar-contact-page .tristar-contact-form-instance form button[type="submit"],
#tristar-contact-page .tristar-contact-form-instance form input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto !important;
	max-width: 100% !important;
	min-width: 180px !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 13px 26px !important;
	color: var(--tristar-white) !important;
	background: var(--tristar-red) !important;
	border: 2px solid var(--tristar-red) !important;
	border-radius: 5px !important;
	box-shadow: 0 9px 20px rgba(229, 34, 34, 0.18) !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.025em !important;
	text-align: center;
	text-transform: uppercase !important;
	cursor: pointer;
}

#tristar-contact-page .tristar-contact-form-instance form button[type="submit"]:hover,
#tristar-contact-page .tristar-contact-form-instance form button[type="submit"]:focus,
#tristar-contact-page .tristar-contact-form-instance form input[type="submit"]:hover,
#tristar-contact-page .tristar-contact-form-instance form input[type="submit"]:focus {
	color: var(--tristar-white) !important;
	background: var(--tristar-red-dark) !important;
	border-color: var(--tristar-red-dark) !important;
}


/*
========================================
FORM ERROR TEXT
========================================
*/

#tristar-contact-page .tristar-contact-form-instance .form-error,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error {
	grid-column: 1 / -1;
	margin: 6px 0 0 !important;
	color: #b51d1d !important;
	font-size: 12px !important;
	font-weight: 700;
	line-height: 1.4;
}


/*
========================================
SUCCESS MESSAGE
========================================
*/

#tristar-contact-page .tristar-contact-form-instance .contact-form-submission,
#tristar-contact-page .tristar-contact-form-instance .contact-form-submission-success,
#tristar-contact-page .tristar-contact-form-instance .contact-form-submission__success {
	width: 100% !important;
	margin: 0 !important;
	padding: 24px 26px !important;
	color: var(--tristar-navy) !important;
	background: var(--tristar-light) !important;
	border: 1px solid rgba(10, 95, 222, 0.2);
	border-left: 4px solid var(--tristar-blue) !important;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
}


/*
========================================
TABLET
========================================
*/

@media (max-width: 1100px) {

	#tristar-contact-page .tristar-contact-options {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		max-width: none !important;
	}

	#tristar-contact-page .tristar-contact-layout {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(0, 2fr) !important;
	}

	#tristar-contact-page .tristar-contact-sidebar {
		padding:
			42px
			32px;
	}

	#tristar-contact-page .tristar-contact-form-panel {
		padding:
			42px
			36px !important;
	}

}


/*
========================================
CONTACT TAB BREAKPOINT
========================================
*/

@media (max-width: 900px) {

	#tristar-contact-page .tristar-contact-options {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

}


/*
========================================
STACKED TABLET
========================================
*/

@media (max-width: 820px) {

	#tristar-contact-page .tristar-contact-hero {
		height: auto;
	}

	#tristar-contact-page .tristar-contact-hero__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"content"
			"media";
		height: auto;
	}

	#tristar-contact-page .tristar-contact-hero__content {
		height: auto;
		padding: 36px 24px 34px;
	}

	#tristar-contact-page .tristar-contact-hero__media {
		height: 270px;
	}

	#tristar-contact-page .tristar-contact-hero__media::after {
		top: 0;
		right: 0;
		bottom: auto;
		left: 0;
		width: 100%;
		height: 54px;
		background:
			linear-gradient(
				180deg,
				rgba(255, 255, 255, 1) 0%,
				rgba(255, 255, 255, 0) 100%
			);
	}

	#tristar-contact-page .tristar-contact-layout {
		grid-template-columns: 1fr;
	}

	#tristar-contact-page .tristar-contact-sidebar {
		min-height: 0;
	}

	#tristar-contact-page .tristar-contact-sidebar__intro h2 {
		max-width: 560px;
	}

	#tristar-contact-page .tristar-contact-sidebar__note {
		margin-top: 28px;
	}

}


/*
========================================
MOBILE
========================================
*/

@media (max-width: 620px) {

	#tristar-contact-page .tristar-contact-hero__content {
		padding:
			30px
			18px
			28px;
	}

	#tristar-contact-page .tristar-contact-hero__eyebrow {
		font-size: 13px;
	}

	#tristar-contact-page .tristar-contact-hero__title {
		font-size: clamp(34px, 10vw, 46px) !important;
		line-height: 1 !important;
	}

	#tristar-contact-page .tristar-contact-hero__media {
		height: 210px;
	}

	#tristar-contact-page .tristar-contact-main {
		padding:
			28px
			14px
			44px;
	}

	#tristar-contact-page .tristar-contact-options {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
		max-width: 100%;
		gap: 8px;
		margin-bottom: 16px;
	}

	#tristar-contact-page .tristar-contact-option {
		gap: 9px;
		min-height: 64px;
		padding: 10px 11px;
	}

	#tristar-contact-page .tristar-contact-option__icon {
		flex-basis: 32px;
		width: 32px;
		height: 32px;
	}

	#tristar-contact-page .tristar-contact-option__icon svg {
		width: 17px;
		height: 17px;
	}

	#tristar-contact-page .tristar-contact-option__copy strong {
		font-size: 10px;
	}

	#tristar-contact-page .tristar-contact-option__copy small {
		font-size: 11px;
	}

	#tristar-contact-page .tristar-contact-layout {
		border-radius: 8px;
	}

	#tristar-contact-page .tristar-contact-sidebar {
		padding:
			34px
			22px;
	}

	#tristar-contact-page .tristar-contact-sidebar__intro h2 {
		font-size: clamp(32px, 9vw, 42px);
	}

	#tristar-contact-page .tristar-contact-form-panel {
		padding:
			32px
			20px !important;
	}

	#tristar-contact-page .tristar-contact-form-instance form.contact-form,
	#tristar-contact-page .tristar-contact-form-instance form.tristar-jetpack-form {
		grid-template-columns: 1fr !important;
		column-gap: 0 !important;
		row-gap: 17px !important;
	}

	#tristar-contact-page .tristar-jetpack-field,
	#tristar-contact-page .tristar-jetpack-field[data-tristar-field],
	#tristar-contact-page .tristar-jetpack-field--full,
	#tristar-contact-page .textarea-wrap,
	#tristar-contact-page .grunion-field-textarea-wrap {
		grid-column: 1 !important;
	}

	#tristar-contact-page .tristar-jetpack-submit-row,
	#tristar-contact-page .contact-submit {
		grid-column: 1 !important;
	}

}


/*
========================================
SMALL MOBILE
========================================
*/

@media (max-width: 420px) {

	#tristar-contact-page .tristar-contact-main {
		padding-right: 10px;
		padding-left: 10px;
	}

	#tristar-contact-page .tristar-contact-options {
		grid-template-columns: 1fr;
	}

	#tristar-contact-page .tristar-contact-option {
		min-height: 60px;
	}

	#tristar-contact-page .tristar-contact-sidebar,
	#tristar-contact-page .tristar-contact-form-panel {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

}


/*
========================================
REDUCED MOTION
========================================
*/

@media (prefers-reduced-motion: reduce) {

	#tristar-contact-page *,
	#tristar-contact-page *::before,
	#tristar-contact-page *::after {
		transition: none !important;
	}

}
/*
========================================
FINAL CONTACT WIDTH MATCH
Makes the navy/form card exactly match
left and right edges of the tab row.
========================================
*/

#tristar-contact-page .tristar-contact-main__inner > .tristar-contact-layout,
#tristar-contact-page .tristar-contact-main__inner.is-layout-constrained > .tristar-contact-layout,
#tristar-contact-page .tristar-contact-main__inner > #facility-inquiry {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	justify-self: stretch !important;
}

#tristar-contact-page .tristar-contact-options {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/*
WordPress can apply its global content-width rule to nested Group blocks.
This specifically removes that constraint from the contact card only.
*/

#tristar-contact-page .tristar-contact-main__inner.is-layout-constrained > :where(.tristar-contact-layout),
#tristar-contact-page .tristar-contact-main__inner.is-layout-flow > :where(.tristar-contact-layout),
#tristar-contact-page .tristar-contact-main__inner > .wp-block-group.tristar-contact-layout {
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/*
========================================
FINAL CONTACT VISUAL RESTORE
Preserves the corrected Jetpack field order while restoring the
approved contact-card colors and active-tab styling against theme overrides.
========================================
*/

#tristar-contact-page .tristar-contact-form-panel {
	background: var(--tristar-white) !important;
}

#tristar-contact-page .tristar-contact-sidebar {
	color: var(--tristar-white) !important;
}

#tristar-contact-page .tristar-contact-sidebar__eyebrow,
#tristar-contact-page #tristar-contact-sidebar-eyebrow {
	color: var(--tristar-white) !important;
}

#tristar-contact-page .tristar-contact-sidebar__intro h2,
#tristar-contact-page #tristar-contact-sidebar-title {
	color: var(--tristar-white) !important;
}

#tristar-contact-page .tristar-contact-sidebar__intro > p:last-of-type,
#tristar-contact-page #tristar-contact-sidebar-text {
	color: rgba(255, 255, 255, 0.9) !important;
}

#tristar-contact-page .tristar-contact-option.is-active,
#tristar-contact-page .tristar-contact-option.is-active:hover,
#tristar-contact-page .tristar-contact-option.is-active:focus {
	color: var(--tristar-white) !important;
	background: var(--tristar-navy) !important;
	border-color: var(--tristar-navy) !important;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__copy strong {
	color: var(--tristar-white) !important;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__copy small {
	color: rgba(255, 255, 255, 0.82) !important;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__icon {
	color: var(--tristar-white) !important;
	background: rgba(255, 255, 255, 0.12) !important;
}

#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__icon svg,
#tristar-contact-page .tristar-contact-option.is-active .tristar-contact-option__icon svg * {
	stroke: currentColor !important;
}

/*
========================================
CONTACT PAGE
SERVICE CHECKBOX LABEL TEXT
========================================
*/

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="service"] label,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="service"] .wp-block-jetpack-option label,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="service"] span {
	color: #000000 !important;
}

/*
========================================
CONTACT PAGE
PHONE FIELD HEIGHT MATCH
========================================
*/

/*
Jetpack wraps the phone input and country selector in its own control.
Normalize that outer control so the full phone field matches the height
of the other single-line fields.
*/
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .wp-block-jetpack-phone-input,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .phone-input,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] [class*="phone-input"] {
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 48px !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	gap: 10px !important;
	overflow: hidden !important;
	background: var(--tristar-white) !important;
	border: 1px solid #bdc8d4 !important;
	border-radius: 5px !important;
	box-shadow: none !important;
}

/* Keep the actual number input from creating a second oversized box. */
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] input[type="tel"] {
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 46px !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Normalize Jetpack's country selector inside the phone control. */
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] button,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] select {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 46px !important;
	height: 46px !important;
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Restore a single focus treatment around the complete phone control. */
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .wp-block-jetpack-phone-input:focus-within,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .phone-input:focus-within,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] [class*="phone-input"]:focus-within {
	border-color: var(--tristar-blue) !important;
	box-shadow: 0 0 0 3px rgba(10, 95, 222, 0.12) !important;
}

/*
========================================
CONTACT PAGE
HIDE JETPACK FORM SUMMARY ERROR BOX
KEEP INLINE FIELD ERRORS
========================================
*/

/*
Jetpack may render a large form-level validation summary above the form.
Hide that summary while preserving the smaller inline error messages that
appear directly beneath each invalid field.
*/
#tristar-contact-page .contact-form__error,
#tristar-contact-page .contact-form__errors,
#tristar-contact-page .contact-form__error-message,
#tristar-contact-page .contact-form-errors,
#tristar-contact-page .form-errors,
#tristar-contact-page .form-error,
#tristar-contact-page .wp-block-jetpack-contact-form-container > .contact-form__error,
#tristar-contact-page .wp-block-jetpack-contact-form-container > .contact-form__errors,
#tristar-contact-page .wp-block-jetpack-contact-form > .contact-form__error,
#tristar-contact-page .wp-block-jetpack-contact-form > .contact-form__errors,
#tristar-contact-page .tristar-contact-form-instance form > .contact-form__error,
#tristar-contact-page .tristar-contact-form-instance form > .contact-form__errors,
#tristar-contact-page .tristar-contact-form-instance form > .form-errors,
#tristar-contact-page .tristar-contact-form-instance form > .form-error {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/*
Keep Jetpack's field-level validation text visible and compact.
*/
#tristar-contact-page .grunion-field-wrap .contact-form__error,
#tristar-contact-page .grunion-field-wrap .contact-form__error-message,
#tristar-contact-page .grunion-field-wrap .form-error,
#tristar-contact-page .contact-form-field .contact-form__error,
#tristar-contact-page .contact-form-field .contact-form__error-message,
#tristar-contact-page .contact-form-field .form-error {
	display: block !important;
	margin: 7px 0 0 !important;
	padding: 0 !important;
	color: var(--tristar-red) !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
}

/*
========================================
CONTACT PAGE
INLINE ERROR TEXT SIZE
MATCH FIELD LABELS
========================================
*/

#tristar-contact-page .grunion-field-wrap .contact-form__error,
#tristar-contact-page .grunion-field-wrap .contact-form__error-message,
#tristar-contact-page .grunion-field-wrap .form-error,
#tristar-contact-page .contact-form-field .contact-form__error,
#tristar-contact-page .contact-form-field .contact-form__error-message,
#tristar-contact-page .contact-form-field .form-error,
#tristar-contact-page .contact-form .contact-form__error,
#tristar-contact-page .contact-form .contact-form__error-message {
	font-size: 14px !important;
	line-height: 1.35 !important;
}


/*
========================================
CONTACT PAGE
PHONE FIELD FINAL SIZE MATCH
========================================
*/

/*
Jetpack's phone field has an extra wrapper around the country selector and
number input. Remove the extra vertical padding and force the complete control
to match the height of the other single-line inputs.
*/
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] {
	margin-bottom: 18px !important;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .wp-block-jetpack-phone-input,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .phone-input,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] [class*="phone-input"],
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .components-base-control,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .components-base-control__field {
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 54px !important;
	height: 54px !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	background: var(--tristar-white) !important;
	border: 1px solid #bdc8d4 !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

/* Country selector area */
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] button,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] select {
	display: inline-flex !important;
	align-items: center !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 96px !important;
	min-height: 52px !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Number input area */
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] input[type="tel"] {
	display: block !important;
	flex: 1 1 auto !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 52px !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	background: transparent !important;
	border: 0 !important;
	border-left: 1px solid #d3dbe5 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Do not let the generic contact-form field rule add a second bottom margin. */
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] input[type="tel"],
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] select {
	margin-bottom: 0 !important;
}

#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .wp-block-jetpack-phone-input:focus-within,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .phone-input:focus-within,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] [class*="phone-input"]:focus-within,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] .components-base-control:focus-within {
	border-color: var(--tristar-blue) !important;
	box-shadow: 0 0 0 3px rgba(10, 95, 222, 0.12) !important;
}

/*
========================================
CONTACT PAGE
FINAL JETPACK PHONE + ERROR OVERRIDE
========================================
*/

/*
Match Jetpack's actual phone-control structure. The border visible around
the country selector + phone input is created by a wrapper DIV, so targeting
only the tel input is not enough.
*/
#tristar-contact-page .tristar-contact-form-instance .grunion-field-phone-wrap > div:has(input[type="tel"]),
#tristar-contact-page .tristar-contact-form-instance .contact-form-field-phone > div:has(input[type="tel"]),
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] > div:has(input[type="tel"]) {
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	overflow: hidden !important;
	background: var(--tristar-white) !important;
	border: 1px solid #bdc8d4 !important;
	border-radius: 5px !important;
	box-shadow: none !important;
}

/*
Remove extra height from any intermediate wrappers Jetpack inserts.
*/
#tristar-contact-page .tristar-contact-form-instance .grunion-field-phone-wrap > div:has(input[type="tel"]) > div,
#tristar-contact-page .tristar-contact-form-instance .contact-form-field-phone > div:has(input[type="tel"]) > div,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] > div:has(input[type="tel"]) > div {
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box !important;
	height: 46px !important;
	min-height: 46px !important;
	max-height: 46px !important;
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/*
Country selector and dialing-code area.
*/
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] button,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] select,
#tristar-contact-page .grunion-field-phone-wrap button,
#tristar-contact-page .grunion-field-phone-wrap select,
#tristar-contact-page .contact-form-field-phone button,
#tristar-contact-page .contact-form-field-phone select {
	box-sizing: border-box !important;
	height: 46px !important;
	min-height: 46px !important;
	max-height: 46px !important;
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

/*
Phone-number input: remove its second outer box and let the shared wrapper
be the only visible field border.
*/
#tristar-contact-page .tristar-contact-form-instance .grunion-field-phone-wrap input[type="tel"],
#tristar-contact-page .tristar-contact-form-instance .contact-form-field-phone input[type="tel"],
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="phone"] input[type="tel"] {
	display: block !important;
	flex: 1 1 auto !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 46px !important;
	min-height: 46px !important;
	max-height: 46px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	background: transparent !important;
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/*
Make every inline Jetpack validation message the same 13px size as the
contact-page field labels. This includes the actual grunion-field-error
class used by Jetpack.
*/
#tristar-contact-page .tristar-contact-form-instance .form-error,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error-message,
#tristar-contact-page .tristar-contact-form-instance [class*="field-error"] {
	font-size: 13px !important;
	line-height: 1.3 !important;
}

/*
========================================
CONTACT PAGE
FORM FIELD LABEL SIZE
========================================
*/

/*
Increase the field titles so they are easier to read while keeping the
inline validation messages the same size for a consistent form hierarchy.
*/
#tristar-contact-page .tristar-contact-form-instance .contact-form label,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-label,
#tristar-contact-page .tristar-contact-form-instance .wp-block-jetpack-label,
#tristar-contact-page .tristar-jetpack-field > label,
#tristar-contact-page .tristar-jetpack-field label {
	font-size: 15px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
}

/* Keep inline error messages matched to the field-label size. */
#tristar-contact-page .tristar-contact-form-instance .form-error,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error-message,
#tristar-contact-page .tristar-contact-form-instance [class*="field-error"] {
	font-size: 15px !important;
	line-height: 1.35 !important;
}

/*
========================================
CONTACT PAGE
ERROR MESSAGE SIZE CORRECTION
========================================
*/

/*
Keep field titles at 15px, but make inline validation messages slightly
smaller so the labels remain visually stronger.
*/
#tristar-contact-page .tristar-contact-form-instance .form-error,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error-message,
#tristar-contact-page .tristar-contact-form-instance [class*="field-error"] {
	font-size: 13px !important;
	line-height: 1.3 !important;
	font-weight: 400 !important;
}

/*
========================================
CONTACT PAGE
FINAL LABEL + INLINE ERROR TYPOGRAPHY
========================================
*/

/*
Make the actual field titles clearly larger.
*/
#tristar-contact-page .tristar-contact-form-instance form > *,
#tristar-contact-page .tristar-contact-form-instance form label,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-label,
#tristar-contact-page .tristar-contact-form-instance .wp-block-jetpack-label,
#tristar-contact-page .tristar-jetpack-field > label {
	font-size: inherit;
}

#tristar-contact-page .tristar-contact-form-instance form label,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-label,
#tristar-contact-page .tristar-contact-form-instance .wp-block-jetpack-label,
#tristar-contact-page .tristar-jetpack-field > label {
	font-size: 16px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
}

/*
Jetpack uses several different classes for inline validation depending on
the field type/version. Target all of the common inline error elements and
force them smaller than the field titles.
*/
#tristar-contact-page .tristar-contact-form-instance .form-error,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error-message,
#tristar-contact-page .tristar-contact-form-instance .contact-form__input-error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__field-error,
#tristar-contact-page .tristar-contact-form-instance .wp-block-jetpack-contact-form__error,
#tristar-contact-page .tristar-contact-form-instance [class*="field-error"],
#tristar-contact-page .tristar-contact-form-instance [class*="input-error"],
#tristar-contact-page .tristar-contact-form-instance [class*="validation-error"],
#tristar-contact-page .tristar-contact-form-instance [role="alert"]:not(.contact-form__error):not(.contact-form__errors) {
	font-size: 12px !important;
	line-height: 1.25 !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}

/*
Some Jetpack errors are rendered as paragraphs or spans directly inside the
field wrapper without one of the older error classes.
*/
#tristar-contact-page .tristar-jetpack-field > p[role="alert"],
#tristar-contact-page .tristar-jetpack-field > span[role="alert"],
#tristar-contact-page .grunion-field-wrap > p[role="alert"],
#tristar-contact-page .grunion-field-wrap > span[role="alert"],
#tristar-contact-page .contact-form-field > p[role="alert"],
#tristar-contact-page .contact-form-field > span[role="alert"] {
	margin: 6px 0 0 !important;
	padding: 0 !important;
	color: #b51d1d !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 12px !important;
	line-height: 1.25 !important;
	font-weight: 400 !important;
}

/*
Preserve the black checkbox-option text.
*/
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="service"] .wp-block-jetpack-option label,
#tristar-contact-page .tristar-jetpack-field[data-tristar-field="service"] .wp-block-jetpack-option span {
	color: #000000 !important;
}

/*
========================================
CONTACT PAGE
CAREERS LINKEDIN BUTTON TEXT SIZE
========================================
*/

#tristar-contact-page .tristar-careers-linkedin-callout__button {
	font-size: 15px !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
}

/*
========================================
CONTACT PAGE
REMOVE GAP BELOW HERO BLUE LINE
========================================
*/

/*
WordPress can add block spacing between the hero HTML block and the
following contact-main Group block. Remove that margin so the gray contact
section begins immediately below the blue hero divider.
*/
#tristar-contact-page.tristar-contact-page-root,
#tristar-contact-page.tristar-contact-page-root > .wp-block-group__inner-container {
	gap: 0 !important;
	row-gap: 0 !important;
}

#tristar-contact-page .tristar-contact-hero,
#tristar-contact-page .tristar-contact-main {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

#tristar-contact-page .tristar-contact-hero + .tristar-contact-main {
	margin-top: 0 !important;
}

/*
Keep a normal amount of breathing room inside the gray section before
the tabs, rather than the larger stacked gap.
*/
#tristar-contact-page .tristar-contact-main {
	padding-top: 28px !important;
}

/*
========================================
CONTACT PAGE
HERO SIZING MATCHES LOCATIONS PAGE
========================================
*/

/*
The Locations hero uses content-driven sizing with 54px vertical padding
on desktop rather than a fixed 320px height. Apply that same vertical rhythm
to the Contact hero while preserving its split image/text layout.
*/
@media (min-width: 961px) {
	#tristar-contact-page .tristar-contact-hero,
	#tristar-contact-page .tristar-contact-hero__inner,
	#tristar-contact-page .tristar-contact-hero__content,
	#tristar-contact-page .tristar-contact-hero__media,
	#tristar-contact-page .tristar-contact-hero__media-figure {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	#tristar-contact-page .tristar-contact-hero__inner {
		align-items: stretch !important;
	}

	#tristar-contact-page .tristar-contact-hero__content {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: center !important;
		padding-top: 54px !important;
		padding-bottom: 54px !important;
	}

	#tristar-contact-page .tristar-contact-hero__media,
	#tristar-contact-page .tristar-contact-hero__media-figure {
		min-height: 100% !important;
	}

	#tristar-contact-page .tristar-contact-hero__media img {
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		object-fit: cover !important;
	}
}

/*
Match the Locations hero's mobile vertical rhythm as well.
*/
@media (max-width: 680px) {
	#tristar-contact-page .tristar-contact-hero__content {
		padding-top: 38px !important;
		padding-right: 18px !important;
		padding-bottom: 42px !important;
		padding-left: 18px !important;
	}
}

/*
========================================
CONTACT PAGE
FINAL HERO CONSISTENCY WITH LOCATIONS
========================================
*/

/*
The Locations hero includes eyebrow + heading + body copy, so simply copying
its padding makes the Contact hero look shorter because Contact has no body
copy. Give Contact the same visual overall height while keeping its image/text
split layout.
*/
@media (min-width: 961px) {
	#tristar-contact-page .tristar-contact-hero,
	#tristar-contact-page .tristar-contact-hero__inner,
	#tristar-contact-page .tristar-contact-hero__content,
	#tristar-contact-page .tristar-contact-hero__media,
	#tristar-contact-page .tristar-contact-hero__media-figure {
		height: 236px !important;
		min-height: 236px !important;
		max-height: 236px !important;
	}

	#tristar-contact-page .tristar-contact-hero__content {
		padding:
			54px
			max(28px, calc((100vw - 1480px) / 2 + 56px))
			54px
			clamp(28px, 4vw, 64px) !important;
	}
}

/* Match the Locations eyebrow exactly. */
#tristar-contact-page .tristar-contact-hero__eyebrow {
	margin: 0 0 10px !important;
	font-size: clamp(14px, 1vw, 17px) !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
}

/* Match the Locations main heading exactly. */
#tristar-contact-page .tristar-contact-hero__title {
	margin: 0 !important;
	font-size: clamp(38px, 4vw, 58px) !important;
	line-height: 0.98 !important;
	letter-spacing: -0.04em !important;
}

/* Use the same red divider treatment as the Locations hero. */
#tristar-contact-page .tristar-contact-hero::after {
	height: 4px !important;
	background: var(--tristar-red) !important;
}

/*
Tablet/mobile remain stacked, but use the same typography and vertical rhythm
as the Locations hero.
*/
@media (max-width: 960px) {
	#tristar-contact-page .tristar-contact-hero,
	#tristar-contact-page .tristar-contact-hero__inner,
	#tristar-contact-page .tristar-contact-hero__content {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}
}

@media (max-width: 680px) {
	#tristar-contact-page .tristar-contact-hero__content {
		padding: 38px 18px 42px !important;
	}

	#tristar-contact-page .tristar-contact-hero__eyebrow {
		margin-bottom: 9px !important;
		font-size: 13px !important;
	}

	#tristar-contact-page .tristar-contact-hero__title {
		font-size: clamp(34px, 10vw, 46px) !important;
		line-height: 1 !important;
	}

	#tristar-contact-page .tristar-contact-hero::after {
		height: 4px !important;
	}
}

/*
========================================
LOCATIONS PAGE
HERO HEIGHT MATCHES CONTACT PAGE
========================================
*/

/*
Keep the Contact hero at its current size and reduce the Locations hero
so both pages feel consistent.
*/
@media (min-width: 961px) {
	#tristar-locations-intro .tristar-locations-intro__inner {
		padding-top: 38px !important;
		padding-bottom: 38px !important;
	}

	#tristar-locations-intro .tristar-locations-intro__eyebrow {
		margin-bottom: 8px !important;
	}

	#tristar-locations-intro h2 {
		margin-bottom: 10px !important;
	}
}

@media (max-width: 680px) {
	#tristar-locations-intro .tristar-locations-intro__inner {
		padding-top: 32px !important;
		padding-bottom: 34px !important;
	}
}

/*
========================================
CONTACT + LOCATIONS
EXACT MATCHING HERO HEIGHT
========================================
*/

/*
Both desktop heroes use the exact same overall height.
Contact already uses 236px, so Locations is now locked to 236px as well.
*/
@media (min-width: 961px) {
	#tristar-contact-page .tristar-contact-hero,
	#tristar-contact-page .tristar-contact-hero__inner,
	#tristar-locations-intro,
	#tristar-locations-intro .tristar-locations-intro__inner {
		height: 236px !important;
		min-height: 236px !important;
		max-height: 236px !important;
	}

	#tristar-locations-intro .tristar-locations-intro__inner {
		justify-content: center !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	#tristar-locations-intro .tristar-locations-intro__eyebrow {
		margin-bottom: 8px !important;
	}

	#tristar-locations-intro h2 {
		margin-bottom: 10px !important;
	}
}

/*
On mobile, both sections remain content-driven so text can wrap safely.
*/
@media (max-width: 960px) {
	#tristar-contact-page .tristar-contact-hero,
	#tristar-contact-page .tristar-contact-hero__inner,
	#tristar-locations-intro,
	#tristar-locations-intro .tristar-locations-intro__inner {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}
}

/*
========================================
CONTACT + FACILITIES HERO
EXACT DESKTOP HEIGHT MATCH
========================================
*/

/*
The Contact hero is the approved reference size.
The Facilities page HTML uses #tristar-facilities-header, not
#tristar-locations-intro. Both actual hero structures are therefore
locked to the same 236px desktop height.
*/
@media (min-width: 961px) {
	#tristar-contact-page .tristar-contact-hero,
	#tristar-contact-page .tristar-contact-hero__inner,
	#tristar-contact-page .tristar-contact-hero__content,
	#tristar-contact-page .tristar-contact-hero__media,
	#tristar-contact-page .tristar-contact-hero__media-figure,
	#tristar-facilities-header,
	#tristar-facilities-header .tristar-facilities-header__inner,
	#tristar-facilities-header .tristar-facilities-header__content,
	#tristar-facilities-header .tristar-facilities-header__media,
	#tristar-facilities-header .tristar-facilities-header__media-figure {
		height: 236px !important;
		min-height: 236px !important;
		max-height: 236px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__content {
		justify-content: center !important;
		padding-top: 24px !important;
		padding-bottom: 24px !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media-figure,
	#tristar-facilities-header .tristar-facilities-header__media img {
		width: 100% !important;
		height: 100% !important;
		min-height: 236px !important;
		max-height: 236px !important;
		object-fit: cover !important;
	}
}

/*
Keep both heroes responsive below desktop width.
*/
@media (max-width: 960px) {
	#tristar-contact-page .tristar-contact-hero,
	#tristar-contact-page .tristar-contact-hero__inner,
	#tristar-facilities-header,
	#tristar-facilities-header .tristar-facilities-header__inner {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}
}

/*
========================================
HOME PAGE FACILITIES SHOWCASE
COAST TO INLAND MODULE — LARGE READABLE VERSION
========================================
*/

#tristar-home-facilities,
#tristar-home-facilities * {
	box-sizing: border-box;
}

#tristar-home-facilities {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none;
	margin: 0 0 0 -50vw;
	padding: 92px clamp(30px, 4vw, 76px) 64px;
	overflow: hidden;
	color: var(--tristar-text);
	background:
		linear-gradient(
			180deg,
			var(--tristar-white) 0%,
			#fbfcfe 58%,
			var(--tristar-light) 100%
		);
}

#tristar-home-facilities::after {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
	background:
		radial-gradient(
			circle at 12% 14%,
			rgba(10, 95, 222, 0.055) 0%,
			rgba(10, 95, 222, 0) 32%
		);
}

#tristar-home-facilities .tristar-home-facilities__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 3.28fr);
	align-items: stretch;
	gap: clamp(34px, 3vw, 52px);
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

/* Intro */

#tristar-home-facilities .tristar-home-facilities__intro {
	display: flex;
	align-items: flex-start;
	min-height: 0;
	padding: 0;
}

#tristar-home-facilities .tristar-home-facilities__intro-content {
	width: 100%;
	max-width: 320px;
}

#tristar-home-facilities .tristar-home-facilities__eyebrow {
	margin: 0 0 12px;
	color: var(--tristar-red);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

#tristar-home-facilities .tristar-home-facilities__title {
	margin: 0;
	color: var(--tristar-navy);
	font-size: clamp(42px, 3vw, 56px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.045em;
	text-transform: none;
}

#tristar-home-facilities .tristar-home-facilities__description {
	max-width: 290px;
	margin: 22px 0 0;
	color: var(--tristar-muted);
	font-size: 17px;
	line-height: 1.6;
}

#tristar-home-facilities .tristar-home-facilities__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 48px;
	margin-top: 28px;
	padding: 13px 22px;
	color: var(--tristar-white);
	background: var(--tristar-blue);
	border: 1px solid var(--tristar-blue);
	border-radius: var(--tristar-radius);
	box-shadow: 0 8px 18px rgba(10, 95, 222, 0.18);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.055em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

#tristar-home-facilities .tristar-home-facilities__button:hover,
#tristar-home-facilities .tristar-home-facilities__button:focus {
	color: var(--tristar-white);
	background: var(--tristar-navy);
	border-color: var(--tristar-navy);
	transform: translateY(-1px);
}

#tristar-home-facilities .tristar-home-facilities__feature {
	position: relative;
	width: 100%;
	margin-top: 20px;
}

#tristar-home-facilities .tristar-home-facilities__feature-link {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	min-height: 360px;
	color: var(--tristar-white);
	text-decoration: none;
	background: var(--tristar-dark);
	border: 2px solid rgba(10, 95, 222, 0.58);
	border-radius: 8px;
	box-shadow:
		0 14px 30px rgba(8, 41, 85, 0.12),
		0 0 0 1px rgba(10, 95, 222, 0.04),
		0 0 22px rgba(10, 95, 222, 0.12);
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

#tristar-home-facilities .tristar-home-facilities__feature-link:hover,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-visible {
	color: var(--tristar-white);
	transform: translateY(-4px);
	border-color: var(--tristar-blue);
	box-shadow:
		0 20px 38px rgba(8, 41, 85, 0.16),
		0 0 28px rgba(10, 95, 222, 0.16);
}

#tristar-home-facilities .tristar-home-facilities__feature-ribbon {
	position: absolute;
	top: 18px;
	left: -46px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 145px;
	height: 32px;
	color: #ffffff;
	background: var(--tristar-red);
	box-shadow: 0 10px 18px rgba(0, 0, 0, 0.28);
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transform: rotate(-45deg);
}

#tristar-home-facilities .tristar-home-facilities__feature-media {
	position: absolute;
	inset: 0;
	height: 100%;
	overflow: hidden;
	background: #b7c7db;
}

#tristar-home-facilities .tristar-home-facilities__feature-media::after {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0.08) 0%,
			rgba(6, 27, 51, 0.18) 34%,
			rgba(6, 27, 51, 0.50) 64%,
			rgba(6, 27, 51, 0.88) 100%
		);
	pointer-events: none;
}

#tristar-home-facilities .tristar-home-facilities__feature-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#tristar-home-facilities .tristar-home-facilities__feature-body {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 20px 20px 22px;
	background: transparent;
}

#tristar-home-facilities .tristar-home-facilities__feature-eyebrow {
	margin: 0 0 8px;
	color: #ff8f8f;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#tristar-home-facilities .tristar-home-facilities__feature-title {
	margin: 0;
	color: var(--tristar-white);
	font-size: clamp(30px, 2.2vw, 38px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.03em;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

#tristar-home-facilities .tristar-home-facilities__feature-text {
	margin: 12px 0 0;
	color: rgba(255, 255, 255, 0.94);
	font-size: 16px;
	line-height: 1.55;
	max-width: 28ch;
}

#tristar-home-facilities .tristar-home-facilities__feature-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	min-height: 0;
	margin-top: 16px;
	padding: 0 0 3px;
	color: #9dc6ff;
	background: transparent;
	border: 0;
	border-bottom: 2px solid rgba(157, 198, 255, 0.55);
	border-radius: 0;
	box-shadow: none;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition:
		color 0.2s ease,
		border-color 0.2s ease;
}

#tristar-home-facilities .tristar-home-facilities__feature-link:hover .tristar-home-facilities__feature-cta,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-visible .tristar-home-facilities__feature-cta {
	color: var(--tristar-white);
	border-bottom-color: var(--tristar-white);
}


/* Four-card facility grid */

#tristar-home-facilities .tristar-home-facilities__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(16px, 1.35vw, 24px);
	min-width: 0;
}

#tristar-home-facilities .tristar-home-facilities__card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 420px;
	overflow: hidden;
	background: var(--tristar-dark);
	border: 1px solid rgba(10, 95, 222, 0.34);
	border-radius: 8px;
	box-shadow:
		0 12px 28px rgba(8, 41, 85, 0.12),
		0 0 0 1px rgba(10, 95, 222, 0.03);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

#tristar-home-facilities .tristar-home-facilities__card:hover {
	transform: translateY(-4px);
	border-color: rgba(10, 95, 222, 0.70);
	box-shadow:
		0 20px 38px rgba(8, 41, 85, 0.18),
		0 0 26px rgba(10, 95, 222, 0.12);
}

#tristar-home-facilities .tristar-home-facilities__image-link {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#tristar-home-facilities .tristar-home-facilities__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 0.38s ease;
}

#tristar-home-facilities .tristar-home-facilities__card:hover .tristar-home-facilities__image,
#tristar-home-facilities .tristar-home-facilities__card-link-wrap:focus-visible .tristar-home-facilities__image {
	transform: scale(1.035);
}

#tristar-home-facilities .tristar-home-facilities__card-link-wrap {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 420px;
	color: var(--tristar-white);
	text-decoration: none;
	overflow: hidden;
}

#tristar-home-facilities .tristar-home-facilities__card-body {
	position: relative;
	z-index: 2;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
	min-height: 420px;
	padding: 24px 22px 22px;
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0.04) 0%,
			rgba(6, 27, 51, 0.12) 28%,
			rgba(6, 27, 51, 0.48) 56%,
			rgba(6, 27, 51, 0.90) 100%
		);
}

#tristar-home-facilities .tristar-home-facilities__card-title {
	margin: 0 0 12px;
	color: var(--tristar-white);
	font-size: clamp(20px, 1.28vw, 24px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

#tristar-home-facilities .tristar-home-facilities__details {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#tristar-home-facilities .tristar-home-facilities__details li {
	position: relative;
	margin: 0;
	padding: 0;
	color: rgba(255, 255, 255, 0.92);
	font-size: 16px;
	line-height: 1.42;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.18);
}

#tristar-home-facilities .tristar-home-facilities__details li:last-child {
	border-bottom: 0;
}

#tristar-home-facilities .tristar-home-facilities__details li > span {
	display: none;
}

#tristar-home-facilities .tristar-home-facilities__details strong {
	color: var(--tristar-white);
	font-weight: 800;
}

#tristar-home-facilities .tristar-home-facilities__card-link,
#tristar-home-facilities .tristar-home-facilities__card-link:visited {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: auto 0 0;
	padding-top: 16px;
	color: #2f55e7;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.055em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.2s ease;
}

#tristar-home-facilities .tristar-home-facilities__card-link span {
	font-size: 18px;
	line-height: 1;
	transition: transform 0.2s ease;
}

#tristar-home-facilities .tristar-home-facilities__card-link:hover,
#tristar-home-facilities .tristar-home-facilities__card-link:focus {
	color: var(--tristar-red);
}

#tristar-home-facilities .tristar-home-facilities__card-link:hover span,
#tristar-home-facilities .tristar-home-facilities__card-link:focus span {
	transform: translateX(3px);
}

@media (max-width: 1280px) {
	#tristar-home-facilities {
		padding-top: 92px;
		padding-bottom: 54px;
	}

	#tristar-home-facilities .tristar-home-facilities__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	#tristar-home-facilities .tristar-home-facilities__intro {
		min-height: 0;
	}

	#tristar-home-facilities .tristar-home-facilities__intro-content {
		max-width: 620px;
	}

	#tristar-home-facilities .tristar-home-facilities__description {
		max-width: 560px;
	}

	#tristar-home-facilities .tristar-home-facilities__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	#tristar-home-facilities .tristar-home-facilities__card {
		min-height: 435px;
	}

	#tristar-home-facilities .tristar-home-facilities__image-link {
		flex-basis: 205px;
		height: 205px;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		font-size: 14px;
	}
}

@media (max-width: 760px) {
	#tristar-home-facilities {
		padding: 60px 18px 46px;
	}

	#tristar-home-facilities .tristar-home-facilities__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	#tristar-home-facilities .tristar-home-facilities__card {
		width: 100%;
		max-width: 620px;
		min-height: 0;
		margin: 0 auto;
	}

	#tristar-home-facilities .tristar-home-facilities__image-link {
		flex-basis: 230px;
		height: 230px;
	}

	#tristar-home-facilities .tristar-home-facilities__card-title {
		font-size: 20px;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		font-size: 14px;
	}

	#tristar-home-facilities .tristar-home-facilities__card-link,
	#tristar-home-facilities .tristar-home-facilities__card-link:visited {
		font-size: 12px;
	}
}

@media (max-width: 430px) {
	#tristar-home-facilities {
		padding-top: 52px;
		padding-right: 12px;
		padding-left: 12px;
	}

	#tristar-home-facilities .tristar-home-facilities__title {
		font-size: clamp(36px, 10vw, 44px);
	}

	#tristar-home-facilities .tristar-home-facilities__description {
		font-size: 16px;
	}

	#tristar-home-facilities .tristar-home-facilities__button {
		width: 100%;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 18px 16px 16px;
	}

	#tristar-home-facilities .tristar-home-facilities__image-link {
		flex-basis: 205px;
		height: 205px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-home-facilities *,
	#tristar-home-facilities *::before,
	#tristar-home-facilities *::after {
		transition-duration: 0.01ms !important;
	}
}

/*
========================================
HOME PAGE FACILITIES SHOWCASE
FINAL WIDER DESKTOP LAYOUT
========================================
*/

@media (min-width: 1281px) {
	#tristar-home-facilities {
		padding-right: clamp(18px, 2vw, 34px) !important;
		padding-left: clamp(18px, 2vw, 34px) !important;
	}

	#tristar-home-facilities .tristar-home-facilities__inner {
		grid-template-columns: minmax(250px, 0.62fr) minmax(0, 4.38fr) !important;
		gap: clamp(24px, 2vw, 34px) !important;
		width: 100% !important;
		max-width: 1780px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__intro-content {
		max-width: 285px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__grid {
		gap: clamp(14px, 1.1vw, 20px) !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-title {
		font-size: clamp(18px, 1.12vw, 21px) !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		font-size: clamp(13px, 0.82vw, 15px) !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-link,
	#tristar-home-facilities .tristar-home-facilities__card-link:visited {
		font-size: 13px !important;
	}
}

/*
========================================
HOME FACILITIES — CLICKABLE CARDS
FINAL HEIGHT / CLIPPING FIX
========================================
*/

/*
The original facility module used fixed card heights and grid rows.
That worked when a separate View Details footer existed, but it clips
the longer text now that the whole card is one link. These rules
intentionally remove every fixed-height constraint from this module.
*/

#tristar-home-facilities,
#tristar-home-facilities .tristar-home-facilities__inner,
#tristar-home-facilities .tristar-home-facilities__grid {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

#tristar-home-facilities .tristar-home-facilities__grid {
	align-items: stretch !important;
}

#tristar-home-facilities .tristar-home-facilities__card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	overflow: hidden !important;
	grid-template-rows: none !important;
}

#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
#tristar-home-facilities .tristar-home-facilities__card-link-wrap:visited {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	color: inherit !important;
	text-decoration: none !important;
}

#tristar-home-facilities .tristar-home-facilities__image {
	display: block !important;
	flex: 0 0 245px !important;
	width: 100% !important;
	height: 245px !important;
	min-height: 245px !important;
	max-height: 245px !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
}

#tristar-home-facilities .tristar-home-facilities__card-body {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 22px 24px 26px !important;
	overflow: visible !important;
	grid-template-rows: none !important;
}

#tristar-home-facilities .tristar-home-facilities__card-title {
	flex: 0 0 auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 0 14px !important;
	overflow: visible !important;
	font-size: 20px !important;
	line-height: 1.15 !important;
}

#tristar-home-facilities .tristar-home-facilities__details {
	display: block !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

#tristar-home-facilities .tristar-home-facilities__details li {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	overflow: visible !important;
	font-size: 14px !important;
	line-height: 1.42 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

/* Remove the decorative hover arrow from the old card-link treatment. */
#tristar-home-facilities .tristar-home-facilities__card::after {
	display: none !important;
	content: none !important;
}

@media (max-width: 1280px) {
	#tristar-home-facilities .tristar-home-facilities__card {
		min-height: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__image {
		flex-basis: 230px !important;
		height: 230px !important;
		min-height: 230px !important;
		max-height: 230px !important;
	}
}

@media (max-width: 760px) {
	#tristar-home-facilities .tristar-home-facilities__card {
		min-height: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__image {
		flex-basis: 220px !important;
		height: 220px !important;
		min-height: 220px !important;
		max-height: 220px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 20px 20px 24px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		font-size: 14px !important;
	}
}

@media (max-width: 430px) {
	#tristar-home-facilities .tristar-home-facilities__image {
		flex-basis: 195px !important;
		height: 195px !important;
		min-height: 195px !important;
		max-height: 195px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 18px 16px 22px !important;
	}
}

/*
========================================
HOME FACILITIES — FINAL 2X2 DESKTOP GRID
Keeps the facility intro on the left and places
all four location cards in a two-column grid.
========================================
*/

@media (min-width: 1281px) {
	#tristar-home-facilities {
		/*
		Match the homepage hero's horizontal content alignment.
		The hero uses a 1480px shell with up to 84px of internal padding,
		which creates an effective 1312px content width on large screens.
		*/
		padding-right: clamp(24px, 5vw, 84px) !important;
		padding-left: clamp(24px, 5vw, 84px) !important;
	}

	#tristar-home-facilities .tristar-home-facilities__inner {
		grid-template-columns: minmax(320px, 0.8fr) minmax(0, 2.2fr) !important;
		align-items: start !important;
		gap: clamp(42px, 4vw, 72px) !important;
		width: 100% !important;
		max-width: 1312px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__intro {
		align-items: flex-start !important;
		align-self: start !important;
		min-height: 0 !important;
		padding-top: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__intro-content {
		max-width: 340px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__title {
		font-size: clamp(46px, 3.2vw, 58px) !important;
		line-height: 0.98 !important;
		white-space: nowrap !important;
	}

	#tristar-home-facilities .tristar-home-facilities__description {
		max-width: 320px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		align-items: stretch !important;
		gap: 22px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card {
		height: 100% !important;
	}

	#tristar-home-facilities .tristar-home-facilities__image {
		flex-basis: 190px !important;
		height: 190px !important;
		min-height: 190px !important;
		max-height: 190px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 19px 22px 22px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-title {
		font-size: 20px !important;
		margin-bottom: 10px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
		font-size: 14px !important;
		line-height: 1.4 !important;
	}
}

/*
========================================
FINAL HOMEPAGE HERO TRUST + BUTTON COLORS
Keeps the About Us-style navy hero tint, forces the trust-strip copy/icons
white, and changes the primary homepage hero button to Tristar blue.
========================================
*/

.tristar-hero .tristar-trust-bar,
.tristar-hero .tristar-trust-bar .wp-block-column,
.tristar-hero .tristar-trust-item,
.tristar-hero .tristar-trust-copy {
	color: var(--tristar-white) !important;
}

.tristar-hero .tristar-trust-item .tristar-icon,
.tristar-hero .tristar-trust-item .tristar-icon svg,
.tristar-hero .tristar-trust-number {
	color: var(--tristar-white) !important;
}

.tristar-hero .tristar-trust-label {
	color: rgba(255, 255, 255, 0.90) !important;
}

.tristar-hero .tristar-trust-item .tristar-icon svg {
	stroke: currentColor !important;
}

.tristar-hero .tristar-trust-bar .wp-block-column {
	border-right-color: rgba(255, 255, 255, 0.18) !important;
}

.tristar-hero .tristar-trust-bar .wp-block-column:last-child {
	border-right: 0 !important;
}

.tristar-hero .wp-block-button.is-style-fill .wp-block-button__link,
.tristar-hero .wp-block-button__link.has-primary-background-color {
	color: var(--tristar-white) !important;
	background: var(--tristar-blue) !important;
	border-color: var(--tristar-blue) !important;
}

.tristar-hero .wp-block-button.is-style-fill .wp-block-button__link:hover,
.tristar-hero .wp-block-button.is-style-fill .wp-block-button__link:focus,
.tristar-hero .wp-block-button__link.has-primary-background-color:hover,
.tristar-hero .wp-block-button__link.has-primary-background-color:focus {
	color: var(--tristar-white) !important;
	background: #08439d !important;
	border-color: #08439d !important;
}

@media (max-width: 781px) {
	.tristar-hero .tristar-trust-bar .wp-block-column {
		border-right: 0 !important;
		border-bottom-color: rgba(255, 255, 255, 0.18) !important;
	}
}

/*
========================================
ACCESSIBILITY IMPROVEMENTS — WCAG 2.2 AA
ABOUT US + SHARED INTERACTIVE ELEMENTS
========================================
*/

/* Screen-reader-only text remains available to assistive technology. */
.tristar-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Clear keyboard focus without changing the mouse-hover appearance. */
#tristar-team-showcase a:focus-visible,
#tristar-careers-cta a:focus-visible,
#tristar-site-footer a:focus-visible,
.tristar-about-partner a:focus-visible,
.tristar-location-profile a:focus-visible {
	outline: 3px solid var(--tristar-blue, #0a5fde) !important;
	outline-offset: 3px !important;
}

/* White ring is more visible for links/controls on dark or blue surfaces. */
#tristar-team-showcase .tristar-team-card__linkedin:focus-visible,
#tristar-careers-cta .tristar-careers-cta__button:focus-visible,
#tristar-site-footer .tristar-site-footer__linkedin:focus-visible {
	outline-color: #ffffff !important;
}

/* Keep team-card copy comfortably readable while preserving the layout. */
#tristar-team-showcase .tristar-team-card__copy {
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* Careers CTA contains substantive copy; do not let it drop below 15px. */
#tristar-careers-cta .tristar-careers-cta__text {
	font-size: clamp(15px, 1vw, 17px) !important;
	line-height: 1.6 !important;
}

/* LinkedIn icon target: preserve compact look while meeting a more usable target size. */
#tristar-team-showcase .tristar-team-card__linkedin {
	width: 32px !important;
	height: 32px !important;
}

/* Honor the visitor's operating-system Reduce Motion preference site-wide. */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0ms !important;
	}

	#tristar-team-showcase .tristar-team-card:hover,
	#tristar-team-showcase .tristar-team-card:hover .tristar-team-card__media img,
	#tristar-careers-cta .tristar-careers-cta__button:hover,
	#tristar-about-hero-simple .tristar-about-hero-simple__button:hover {
		transform: none !important;
	}
}



@media (max-width: 1280px) {
	#tristar-home-facilities .tristar-home-facilities__feature {
		max-width: 320px;
	}
}

@media (max-width: 767px) {
	#tristar-home-facilities .tristar-home-facilities__feature {
		max-width: 100%;
		margin-top: 18px;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-link {
		min-height: 320px;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-title {
		font-size: 32px;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-text {
		max-width: none;
	}
}


#tristar-home-facilities .tristar-home-facilities__feature-cta > span {
	display: inline-block;
	transition: transform 0.2s ease;
}

#tristar-home-facilities .tristar-home-facilities__feature-link:hover .tristar-home-facilities__feature-cta > span,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-visible .tristar-home-facilities__feature-cta > span {
	transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
	#tristar-home-facilities .tristar-home-facilities__feature-cta > span {
		transition: none !important;
		transform: none !important;
	}
}

/*
========================================
SPOKANE FEATURE — ACCESSIBLE CONTINUOUS ATTENTION PULSE
Continues until hover or keyboard focus.
Only the border/glow changes; content never blinks.
Disabled for reduced-motion users.
========================================
*/

@keyframes tristar-spokane-feature-pulse {
	0%,
	100% {
		border-color: rgba(10, 95, 222, 0.48);
		box-shadow:
			0 14px 30px rgba(8, 41, 85, 0.10),
			0 0 0 1px rgba(10, 95, 222, 0.03),
			0 0 14px rgba(10, 95, 222, 0.08);
	}

	50% {
		border-color: var(--tristar-blue);
		box-shadow:
			0 16px 34px rgba(8, 41, 85, 0.14),
			0 0 0 2px rgba(10, 95, 222, 0.12),
			0 0 30px rgba(10, 95, 222, 0.24);
	}
}

#tristar-home-facilities .tristar-home-facilities__feature-link {
	animation:
		tristar-spokane-feature-pulse
		1.8s
		ease-in-out
		0.4s
		infinite;
}

/* Stop the attention effect as soon as the visitor interacts with the card. */
#tristar-home-facilities .tristar-home-facilities__feature-link:hover,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-visible,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-within {
	animation: none !important;
}

/* Visitors who request reduced motion never receive the repeating animation. */
@media (prefers-reduced-motion: reduce) {
	#tristar-home-facilities .tristar-home-facilities__feature-link {
		animation: none !important;
	}
}

@media (max-width: 767px) {
	#tristar-home-facilities .tristar-home-facilities__card,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
	#tristar-home-facilities .tristar-home-facilities__card-body {
		min-height: 340px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 22px 20px 20px;
	}
}

/*
========================================
HOME FACILITIES — LARGER PHOTO CARDS
Makes the 2x2 facility grid more prominent on desktop
while keeping tablet/mobile proportions comfortable.
========================================
*/

@media (min-width: 1281px) {
	#tristar-home-facilities .tristar-home-facilities__inner {
		grid-template-columns: minmax(300px, 0.72fr) minmax(0, 2.28fr) !important;
		gap: clamp(44px, 4vw, 64px) !important;
		max-width: 1440px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__intro-content {
		max-width: 330px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__grid {
		gap: 28px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
	#tristar-home-facilities .tristar-home-facilities__card-body {
		min-height: 500px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 30px 28px 28px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-title {
		font-size: 25px !important;
		margin-bottom: 14px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details {
		gap: 9px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		font-size: 15px !important;
		line-height: 1.48 !important;
	}
}

@media (min-width: 768px) and (max-width: 1280px) {
	#tristar-home-facilities .tristar-home-facilities__card,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
	#tristar-home-facilities .tristar-home-facilities__card-body {
		min-height: 440px !important;
	}
}

@media (max-width: 767px) {
	#tristar-home-facilities .tristar-home-facilities__card,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
	#tristar-home-facilities .tristar-home-facilities__card-body {
		min-height: 380px !important;
	}
}

/*
========================================
FINAL HOME FACILITY FULL-PHOTO FILL FIX
Forces every facility image to cover the entire card.
This intentionally overrides earlier fixed-height image rules.
========================================
*/

#tristar-home-facilities .tristar-home-facilities__card {
	position: relative !important;
	min-height: 500px !important;
	overflow: hidden !important;
	background: var(--tristar-dark) !important;
}

#tristar-home-facilities .tristar-home-facilities__card-link-wrap {
	position: relative !important;
	display: flex !important;
	align-items: flex-end !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 500px !important;
	overflow: hidden !important;
	color: var(--tristar-white) !important;
}

#tristar-home-facilities .tristar-home-facilities__image {
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	flex: none !important;
	flex-basis: auto !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
}

#tristar-home-facilities .tristar-home-facilities__card-body {
	position: relative !important;
	z-index: 2 !important;
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	width: 100% !important;
	min-height: 500px !important;
	padding: 30px 28px 28px !important;
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0.02) 0%,
			rgba(6, 27, 51, 0.08) 30%,
			rgba(6, 27, 51, 0.42) 58%,
			rgba(6, 27, 51, 0.92) 100%
		) !important;
}

#tristar-home-facilities .tristar-home-facilities__card:hover .tristar-home-facilities__image,
#tristar-home-facilities .tristar-home-facilities__card-link-wrap:focus-visible .tristar-home-facilities__image {
	transform: scale(1.035);
}

@media (min-width: 768px) and (max-width: 1280px) {
	#tristar-home-facilities .tristar-home-facilities__card,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
	#tristar-home-facilities .tristar-home-facilities__card-body {
		min-height: 440px !important;
	}
}

@media (max-width: 767px) {
	#tristar-home-facilities .tristar-home-facilities__card,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
	#tristar-home-facilities .tristar-home-facilities__card-body {
		min-height: 380px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 24px 20px 22px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	#tristar-home-facilities .tristar-home-facilities__image {
		transform: none !important;
		transition: none !important;
	}
}

/*
========================================
SPOKANE ANNOUNCEMENT — CLASSIC FEATURE CARD
Returns only the New & Expanded Spokane announcement
to the earlier image-top / white-body treatment.
The four main facility cards remain full-photo cards.
========================================
*/

#tristar-home-facilities .tristar-home-facilities__feature-link {
	position: relative !important;
	display: block !important;
	align-items: initial !important;
	width: 100% !important;
	min-height: 0 !important;
	color: var(--tristar-text) !important;
	text-decoration: none !important;
	background: var(--tristar-white) !important;
	border: 2px solid rgba(10, 95, 222, 0.58) !important;
	border-radius: 8px !important;
	box-shadow:
		0 14px 30px rgba(8, 41, 85, 0.12),
		0 0 0 1px rgba(10, 95, 222, 0.04),
		0 0 22px rgba(10, 95, 222, 0.12) !important;
	overflow: hidden !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-link:hover,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-visible {
	color: var(--tristar-text) !important;
	border-color: var(--tristar-blue) !important;
	box-shadow:
		0 20px 38px rgba(8, 41, 85, 0.16),
		0 0 28px rgba(10, 95, 222, 0.16) !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-media {
	position: relative !important;
	inset: auto !important;
	display: block !important;
	width: 100% !important;
	height: 145px !important;
	overflow: hidden !important;
	background: #b7c7db !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-media::after {
	position: absolute !important;
	inset: 0 !important;
	content: "" !important;
	background:
		linear-gradient(
			180deg,
			rgba(6, 27, 51, 0.02) 0%,
			rgba(6, 27, 51, 0.08) 62%,
			rgba(6, 27, 51, 0.24) 100%
		) !important;
	pointer-events: none !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-image {
	position: static !important;
	inset: auto !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-body {
	position: relative !important;
	z-index: 2 !important;
	display: block !important;
	width: 100% !important;
	min-height: 0 !important;
	padding: 18px 20px 20px !important;
	background:
		linear-gradient(
			180deg,
			var(--tristar-white) 0%,
			#f8fbff 100%
		) !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-eyebrow {
	margin: 0 0 8px !important;
	color: var(--tristar-red) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-title {
	margin: 0 !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(28px, 2vw, 36px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.03em !important;
	text-shadow: none !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-text {
	max-width: none !important;
	margin: 12px 0 0 !important;
	color: var(--tristar-muted) !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: auto !important;
	min-height: 0 !important;
	margin-top: 16px !important;
	padding: 0 0 3px !important;
	color: var(--tristar-blue) !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid rgba(10, 95, 222, 0.42) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-link:hover .tristar-home-facilities__feature-cta,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-visible .tristar-home-facilities__feature-cta {
	color: var(--tristar-red) !important;
	border-bottom-color: var(--tristar-red) !important;
}

@media (max-width: 767px) {
	#tristar-home-facilities .tristar-home-facilities__feature-link {
		min-height: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-media {
		height: 180px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-title {
		font-size: 32px !important;
	}
}

/*
========================================
FINAL SPOKANE ANNOUNCEMENT PULSE OVERRIDE
Preserves all current facility-card, photo-fill,
classic Spokane-card, and wider-ribbon styles.
========================================
*/

@keyframes tristar-spokane-announcement-pulse-final {
	0%,
	100% {
		border-color: rgba(10, 95, 222, 0.48);
		box-shadow:
			0 14px 30px rgba(8, 41, 85, 0.10),
			0 0 0 1px rgba(10, 95, 222, 0.03),
			0 0 14px rgba(10, 95, 222, 0.08);
	}

	50% {
		border-color: var(--tristar-blue);
		box-shadow:
			0 16px 34px rgba(8, 41, 85, 0.14),
			0 0 0 2px rgba(10, 95, 222, 0.12),
			0 0 30px rgba(10, 95, 222, 0.24);
	}
}

#tristar-home-facilities .tristar-home-facilities__feature-link {
	animation:
		tristar-spokane-announcement-pulse-final
		1.8s
		ease-in-out
		0.4s
		infinite !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-link:hover,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-visible,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-within {
	animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
	#tristar-home-facilities .tristar-home-facilities__feature-link {
		animation: none !important;
	}
}

/*
========================================
FINAL SPOKANE PULSE FIX
Uses filter/drop-shadow so the pulse is not blocked
by the card's !important border and box-shadow rules.
========================================
*/

@keyframes tristar-spokane-glow-pulse-final {
	0%,
	100% {
		filter:
			drop-shadow(0 0 3px rgba(10, 95, 222, 0.08));
	}

	50% {
		filter:
			drop-shadow(0 0 10px rgba(10, 95, 222, 0.30));
	}
}

/* Override the earlier ineffective border/shadow animation. */
#tristar-home-facilities .tristar-home-facilities__feature-link {
	animation:
		tristar-spokane-glow-pulse-final
		1.8s
		ease-in-out
		0.35s
		infinite !important;
	will-change: filter;
}

/* Stop pulsing as soon as the visitor interacts with the announcement. */
#tristar-home-facilities .tristar-home-facilities__feature-link:hover,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-visible,
#tristar-home-facilities .tristar-home-facilities__feature-link:focus-within {
	animation: none !important;
	filter: none !important;
}

/* Accessibility: no repeated motion for users who request reduced motion. */
@media (prefers-reduced-motion: reduce) {
	#tristar-home-facilities .tristar-home-facilities__feature-link {
		animation: none !important;
		filter: none !important;
		will-change: auto;
	}
}

/*
========================================
FINAL HOME FACILITIES — ACCESSIBLE TEXT SIZES
========================================
*/

#tristar-home-facilities .tristar-home-facilities__button {
	font-size: 14px !important;
}

#tristar-home-facilities .tristar-home-facilities__details li {
	font-size: 16px !important;
	line-height: 1.5 !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-eyebrow {
	font-size: 14px !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-text {
	font-size: 16px !important;
	line-height: 1.55 !important;
}

#tristar-home-facilities .tristar-home-facilities__feature-cta {
	font-size: 14px !important;
}

/*
========================================
HOME BOTTOM CTA — MATCH HERO WIDTH
Matches the hero's 1480px outer content shell and responsive side spacing.
========================================
*/

#tristar-careers-cta {
	padding-right: clamp(24px, 5vw, 84px) !important;
	padding-left: clamp(24px, 5vw, 84px) !important;
}

#tristar-careers-cta .tristar-careers-cta__inner {
	width: 100% !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

@media (max-width: 781px) {
	#tristar-careers-cta {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}
}

@media (max-width: 520px) {
	#tristar-careers-cta {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}
}

/*
========================================
HOMEPAGE FACILITIES — FINAL GRID SNAP FIX
Keeps the left intro column beside the 2x2 facility grid on desktop/small
laptop widths instead of stacking the entire facility grid below the intro.
========================================
*/

#tristar-home-facilities .tristar-home-facilities__grid {
	grid-auto-rows: 1fr !important;
}

@media (min-width: 1025px) and (max-width: 1280px) {
	#tristar-home-facilities {
		padding-right: clamp(24px, 3vw, 44px) !important;
		padding-left: clamp(24px, 3vw, 44px) !important;
	}

	#tristar-home-facilities .tristar-home-facilities__inner {
		grid-template-columns: minmax(260px, 0.72fr) minmax(0, 2.28fr) !important;
		align-items: start !important;
		gap: clamp(30px, 3vw, 46px) !important;
		width: 100% !important;
		max-width: 1440px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__intro {
		align-self: start !important;
		min-width: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__intro-content {
		width: 100% !important;
		max-width: 310px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-rows: 1fr !important;
		align-items: stretch !important;
		gap: clamp(18px, 2vw, 24px) !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
	#tristar-home-facilities .tristar-home-facilities__card-body {
		height: 100% !important;
		min-height: 430px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 24px 22px 24px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-title {
		font-size: 21px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		font-size: 14px !important;
		line-height: 1.42 !important;
	}
}

/*
========================================
HOMEPAGE FACILITY CARDS — FINAL COMPACT TEXT SPACING
Keeps the existing accessible 16px detail text while removing excess
vertical padding between Tracks, Capacity, and Products.
========================================
*/

#tristar-home-facilities .tristar-home-facilities__card-title {
	margin: 0 0 8px !important;
	line-height: 1.15 !important;
}

#tristar-home-facilities .tristar-home-facilities__details {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	margin: 0 !important;
	padding: 0 !important;
}

#tristar-home-facilities .tristar-home-facilities__details li {
	margin: 0 !important;
	padding: 3px 0 !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}

@media (max-width: 680px) {
	#tristar-home-facilities .tristar-home-facilities__card-title {
		margin-bottom: 7px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details {
		gap: 1px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		padding: 3px 0 !important;
		font-size: 16px !important;
		line-height: 1.4 !important;
	}
}

/*
========================================
HOMEPAGE SPOKANE CARD — OPTION 3 DIAGONAL RIBBON
Accessible real text, high contrast, and responsive sizing.
========================================
*/

#tristar-home-facilities .tristar-home-facilities__card--spokane {
	position: relative !important;
	overflow: hidden !important;
}

#tristar-home-facilities .tristar-home-facilities__card--spokane .tristar-home-facilities__card-link-wrap {
	position: relative !important;
	overflow: hidden !important;
}

#tristar-home-facilities .tristar-home-facilities__new-location-banner {
	position: absolute;
	top: 44px;
	right: -86px;
	z-index: 8;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 365px;
	min-height: 46px;
	margin: 0;
	padding: 10px 32px 9px;
	color: #ffffff !important;
	background: linear-gradient(90deg, #061b33 0%, #082955 58%, #061b33 100%);
	border: 0;
	border-bottom: 3px solid var(--tristar-red, #e52222);
	box-shadow: 0 8px 20px rgba(6, 27, 51, 0.28);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.035em;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(34deg);
	transform-origin: center;
	pointer-events: none;
}

/* Keep the ribbon clear of the card title on medium screens. */
@media (max-width: 1280px) {
	#tristar-home-facilities .tristar-home-facilities__new-location-banner {
		top: 39px;
		right: -82px;
		width: 345px;
		min-height: 44px;
		padding: 9px 28px 8px;
		font-size: 12px;
	}
}

/* Tablet: slightly shorter ribbon while preserving readable text. */
@media (max-width: 1024px) {
	#tristar-home-facilities .tristar-home-facilities__new-location-banner {
		top: 36px;
		right: -76px;
		width: 325px;
		min-height: 42px;
		padding: 8px 24px 7px;
		font-size: 11px;
		letter-spacing: 0.025em;
	}
}

/* Mobile cards are full width, so retain the diagonal treatment at a smaller scale. */
@media (max-width: 680px) {
	#tristar-home-facilities .tristar-home-facilities__new-location-banner {
		top: 32px;
		right: -74px;
		width: 310px;
		min-height: 40px;
		padding: 8px 22px 7px;
		font-size: 10px;
		line-height: 1.2;
		letter-spacing: 0.02em;
	}
}

@media (max-width: 430px) {
	#tristar-home-facilities .tristar-home-facilities__new-location-banner {
		top: 28px;
		right: -72px;
		width: 292px;
		min-height: 38px;
		padding: 7px 20px 6px;
		font-size: 9px;
		letter-spacing: 0.015em;
	}
}

/*
========================================
HOMEPAGE BOTTOM CTA — CENTERED CHOICE CTA
MULTIPLE NEXT-STEP ACTIONS
Scoped to the homepage CTA so the shared About/Careers CTA is unchanged.
========================================
*/

#tristar-careers-cta.tristar-home-choice-cta {
	padding-top: clamp(28px, 3vw, 44px) !important;
	padding-right: clamp(24px, 5vw, 84px) !important;
	padding-bottom: clamp(44px, 5vw, 68px) !important;
	padding-left: clamp(24px, 5vw, 84px) !important;
	background: #f6f9fc;
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__inner {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: column !important;
	gap: 30px !important;
	width: 100% !important;
	max-width: 1480px !important;
	min-height: 230px;
	margin: 0 auto !important;
	padding: clamp(42px, 4.5vw, 64px) clamp(34px, 5vw, 76px) !important;
	background: var(--tristar-white);
	border: 1px solid rgba(8, 41, 85, 0.11);
	border-radius: 10px;
	box-shadow: 0 18px 40px rgba(8, 41, 85, 0.12);
	text-align: center;
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__copy {
	display: flex;
	align-items: center;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	text-align: center;
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__title {
	width: 100%;
	max-width: 1120px;
	margin: 0 0 16px !important;
	color: var(--tristar-navy);
	font-size: clamp(36px, 3.5vw, 56px) !important;
	font-weight: 800;
	line-height: 1 !important;
	letter-spacing: -0.04em;
	text-align: center !important;
	text-transform: uppercase;
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__text {
	width: 100%;
	max-width: 880px;
	margin: 0 auto !important;
	color: var(--tristar-text);
	font-size: clamp(16px, 1.15vw, 19px) !important;
	line-height: 1.55 !important;
	text-align: center !important;
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 14px;
	width: min(100%, 860px);
	margin: 0 auto;
	padding: 0;
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-width: 0 !important;
	min-height: 58px !important;
	margin: 0;
	padding: 14px 18px !important;
	border: 2px solid var(--tristar-navy);
	border-radius: 5px;
	box-shadow: none;
	font-size: clamp(12px, 0.85vw, 14px) !important;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.015em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease;
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button--primary,
#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button--primary:visited {
	color: var(--tristar-white) !important;
	background: var(--tristar-red) !important;
	border-color: var(--tristar-red) !important;
	box-shadow: 0 10px 22px rgba(229, 34, 34, 0.16);
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button--primary:hover,
#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button--primary:focus {
	color: var(--tristar-white) !important;
	background: var(--tristar-red-dark) !important;
	border-color: var(--tristar-red-dark) !important;
	box-shadow: 0 12px 26px rgba(189, 21, 21, 0.2);
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button--secondary,
#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button--secondary:visited {
	color: var(--tristar-navy) !important;
	background: var(--tristar-white) !important;
	border-color: var(--tristar-navy) !important;
}

#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button--secondary:hover,
#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button--secondary:focus {
	color: var(--tristar-white) !important;
	background: var(--tristar-navy) !important;
	border-color: var(--tristar-navy) !important;
}

/* High-visibility keyboard focus on the light CTA panel. */
#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button:focus-visible {
	outline: 3px solid var(--tristar-blue, #0a5fde) !important;
	outline-offset: 4px !important;
}

@media (max-width: 900px) {
	#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__actions {
		width: min(100%, 760px);
	}
}

@media (max-width: 781px) {
	#tristar-careers-cta.tristar-home-choice-cta {
		padding-top: 26px !important;
		padding-right: 24px !important;
		padding-bottom: 44px !important;
		padding-left: 24px !important;
	}

	#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__inner {
		gap: 26px !important;
		padding: 36px 30px !important;
	}

	#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__title {
		font-size: clamp(32px, 7vw, 46px) !important;
	}
}

@media (max-width: 680px) {
	#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__actions {
		grid-template-columns: 1fr;
		width: min(100%, 440px);
		gap: 10px;
	}

	#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__button {
		min-height: 54px !important;
		font-size: 14px !important;
	}
}

@media (max-width: 520px) {
	#tristar-careers-cta.tristar-home-choice-cta {
		padding-top: 22px !important;
		padding-right: 18px !important;
		padding-bottom: 36px !important;
		padding-left: 18px !important;
	}

	#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__inner {
		gap: 22px !important;
		padding: 30px 22px !important;
		border-radius: 8px;
	}

	#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__title {
		font-size: clamp(29px, 9vw, 38px) !important;
		line-height: 1 !important;
	}

	#tristar-careers-cta.tristar-home-choice-cta .tristar-careers-cta__text {
		font-size: 16px !important;
	}
}

/*
========================================
HOMEPAGE — TABLET / MOBILE RESPONSIVE CLEANUP
Keeps the approved desktop layout unchanged.
- The hero highlight grid enters normal document flow below 1100px so it
  cannot overlap the hero buttons.
- Highlights use 3 x 2 on tablet and 2 x 3 on mobile.
- The Spokane announcement spans the full facility-content width on tablets
  and phones, with a horizontal tablet treatment and stacked phone treatment.
========================================
*/

@media (max-width: 1100px) {
	.tristar-hero .tristar-hero-content,
	.tristar-hero .tristar-hero-content.is-layout-constrained {
		flex: 0 0 auto !important;
		padding-bottom: 24px !important;
	}

	.tristar-hero .tristar-trust-bar {
		position: relative !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		flex: 0 0 auto !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 28px !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		max-width: 900px !important;
		margin: 0 auto !important;
		gap: 0 !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column {
		min-height: 70px !important;
		padding: 10px 16px !important;
		border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column:nth-child(3n) {
		border-right: 0 !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column:nth-last-child(-n + 3) {
		border-bottom: 0 !important;
	}

	.tristar-hero .tristar-trust-item {
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 10px !important;
	}

	.tristar-hero .tristar-trust-item:not(.tristar-trust-item--logo) .tristar-icon {
		flex-basis: 44px !important;
		width: 44px !important;
		height: 44px !important;
	}

	.tristar-hero .tristar-trust-item:not(.tristar-trust-item--logo) .tristar-icon svg,
	.tristar-hero .tristar-trust-item:not(.tristar-trust-item--logo) .tristar-trust-icon--award svg,
	.tristar-hero .tristar-trust-item:not(.tristar-trust-item--logo) .tristar-trust-icon--shield-check svg {
		width: 40px !important;
		height: 40px !important;
	}

	.tristar-hero .tristar-trust-number {
		font-size: 15px !important;
	}

	.tristar-hero .tristar-trust-label {
		font-size: 9px !important;
	}

	.tristar-hero .tristar-trust-logo {
		max-width: 112px !important;
	}
}

@media (max-width: 781px) {
	.tristar-hero .tristar-trust-bar {
		padding-bottom: 24px !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		max-width: 620px !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column,
	.tristar-hero .tristar-trust-bar .wp-block-column:nth-child(3n),
	.tristar-hero .tristar-trust-bar .wp-block-column:nth-last-child(-n + 3) {
		min-height: 66px !important;
		padding: 9px 14px !important;
		border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column:nth-child(2n) {
		border-right: 0 !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column:nth-last-child(-n + 2) {
		border-bottom: 0 !important;
	}

	.tristar-hero .tristar-trust-number {
		font-size: 14px !important;
	}

	.tristar-hero .tristar-trust-label {
		font-size: 8px !important;
	}

	.tristar-hero .tristar-trust-logo {
		max-width: 102px !important;
	}
}

@media (max-width: 520px) {
	.tristar-hero .tristar-trust-bar .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		max-width: none !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column,
	.tristar-hero .tristar-trust-bar .wp-block-column:nth-child(2n),
	.tristar-hero .tristar-trust-bar .wp-block-column:nth-last-child(-n + 2) {
		min-height: 62px !important;
		padding: 8px 10px !important;
		border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column:nth-child(2n) {
		border-right: 0 !important;
	}

	.tristar-hero .tristar-trust-bar .wp-block-column:nth-last-child(-n + 2) {
		border-bottom: 0 !important;
	}

	.tristar-hero .tristar-trust-item:not(.tristar-trust-item--logo) .tristar-icon {
		flex-basis: 38px !important;
		width: 38px !important;
		height: 38px !important;
	}

	.tristar-hero .tristar-trust-item:not(.tristar-trust-item--logo) .tristar-icon svg,
	.tristar-hero .tristar-trust-item:not(.tristar-trust-item--logo) .tristar-trust-icon--award svg,
	.tristar-hero .tristar-trust-item:not(.tristar-trust-item--logo) .tristar-trust-icon--shield-check svg {
		width: 34px !important;
		height: 34px !important;
	}

	.tristar-hero .tristar-trust-number {
		font-size: 13px !important;
	}

	.tristar-hero .tristar-trust-label {
		font-size: 7px !important;
		line-height: 1.18 !important;
	}

	.tristar-hero .tristar-trust-logo {
		max-width: 92px !important;
	}
}

/* Spokane announcement: full-width on tablet and mobile. */
@media (max-width: 1024px) {
	#tristar-home-facilities .tristar-home-facilities__intro,
	#tristar-home-facilities .tristar-home-facilities__intro-content {
		width: 100% !important;
		max-width: none !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature {
		width: 100% !important;
		max-width: none !important;
		margin-top: 30px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-link {
		display: grid !important;
		grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.35fr) !important;
		align-items: stretch !important;
		width: 100% !important;
		min-height: 280px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-media {
		height: 100% !important;
		min-height: 280px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-body {
		display: flex !important;
		justify-content: center !important;
		flex-direction: column !important;
		padding: 28px 30px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-text {
		max-width: 64ch !important;
	}
}

@media (max-width: 767px) {
	#tristar-home-facilities .tristar-home-facilities__feature {
		margin-top: 26px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-link {
		display: block !important;
		min-height: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-media {
		height: 210px !important;
		min-height: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-body {
		display: block !important;
		padding: 22px 20px 24px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__feature-title {
		font-size: clamp(28px, 8vw, 34px) !important;
	}
}

/*
========================================
ACCESSIBILITY — REDUCED MOTION
Respects the user's operating-system motion preference for anchor scrolling.
========================================
*/

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}
}

/*
========================================
CONTACT PAGE — FINAL ACCESSIBILITY OVERRIDES
WCAG 2.2 AA support for keyboard focus, tab text, form validation,
external-link affordance, and final hero contrast.
========================================
*/

/* Keep the final white Contact hero panel authoritative and high-contrast. */
#tristar-contact-page .tristar-contact-hero__eyebrow {
	color: var(--tristar-red-dark) !important;
}

#tristar-contact-page .tristar-contact-hero__title {
	color: var(--tristar-navy) !important;
}

/* Strong, visible focus treatment for all custom Contact controls and links. */
#tristar-contact-page .tristar-contact-option:focus-visible,
#tristar-contact-page .tristar-careers-linkedin-callout__button:focus-visible,
#tristar-contact-page .tristar-contact-sidebar a:focus-visible,
#tristar-contact-page .tristar-contact-form-instance a:focus-visible,
#tristar-contact-page .tristar-contact-form-instance button:focus-visible,
#tristar-contact-page .tristar-contact-form-instance input:focus-visible,
#tristar-contact-page .tristar-contact-form-instance select:focus-visible,
#tristar-contact-page .tristar-contact-form-instance textarea:focus-visible {
	outline: 3px solid #4f8ff7 !important;
	outline-offset: 3px !important;
}

/* The tab itself is the interactive target; never suppress its keyboard ring. */
#tristar-contact-page .tristar-contact-option:focus,
#tristar-contact-page .tristar-contact-option:focus-visible {
	box-shadow: 0 0 0 4px rgba(10, 95, 222, 0.18), 0 7px 16px rgba(8, 41, 85, 0.1) !important;
}

#tristar-contact-page .tristar-contact-option.is-active:focus,
#tristar-contact-page .tristar-contact-option.is-active:focus-visible {
	box-shadow: 0 0 0 4px rgba(79, 143, 247, 0.3), 0 7px 17px rgba(8, 41, 85, 0.18) !important;
}

/* Avoid tiny instructional text in the inquiry tabs. */
#tristar-contact-page .tristar-contact-option__copy strong {
	font-size: max(13px, 0.82rem) !important;
	line-height: 1.2 !important;
}

#tristar-contact-page .tristar-contact-option__copy small {
	font-size: max(12px, 0.75rem) !important;
	line-height: 1.3 !important;
}

/* Validation text is important information; keep it comfortably readable. */
#tristar-contact-page .tristar-contact-form-instance .form-error,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__error-message,
#tristar-contact-page .tristar-contact-form-instance .contact-form__input-error,
#tristar-contact-page .tristar-contact-form-instance .contact-form__field-error,
#tristar-contact-page .tristar-contact-form-instance .wp-block-jetpack-contact-form__error,
#tristar-contact-page .tristar-contact-form-instance [class*="field-error"],
#tristar-contact-page .tristar-contact-form-instance [class*="input-error"],
#tristar-contact-page .tristar-contact-form-instance [class*="validation-error"],
#tristar-contact-page .tristar-contact-form-instance [role="alert"]:not(.tristar-accessible-error-summary),
#tristar-contact-page .tristar-jetpack-field > p[role="alert"],
#tristar-contact-page .tristar-jetpack-field > span[role="alert"],
#tristar-contact-page .grunion-field-wrap > p[role="alert"],
#tristar-contact-page .grunion-field-wrap > span[role="alert"],
#tristar-contact-page .contact-form-field > p[role="alert"],
#tristar-contact-page .contact-form-field > span[role="alert"] {
	font-size: 14px !important;
	line-height: 1.35 !important;
}

/*
Restore the form-level validation summary as compact accessible text.
This intentionally overrides the earlier rule that hid Jetpack's large
red error box; the box styling stays removed.
*/
#tristar-contact-page .tristar-contact-form-instance form > .contact-form__error,
#tristar-contact-page .tristar-contact-form-instance form > .contact-form__errors,
#tristar-contact-page .tristar-contact-form-instance form > .contact-form-errors,
#tristar-contact-page .tristar-contact-form-instance form > .form-errors,
#tristar-contact-page .tristar-contact-form-instance form > .form-error,
#tristar-contact-page .tristar-accessible-error-summary {
	display: block !important;
	grid-column: 1 / -1 !important;
	width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #8f1717 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

/* Ensure visible labels remain clear on all breakpoints. */
#tristar-contact-page .tristar-contact-form-instance form label,
#tristar-contact-page .tristar-contact-form-instance .grunion-field-label,
#tristar-contact-page .tristar-contact-form-instance .wp-block-jetpack-label,
#tristar-contact-page .tristar-jetpack-field > label {
	font-size: 16px !important;
	line-height: 1.35 !important;
}

/* Give text fields an unmistakable focus state without relying on color alone. */
#tristar-contact-page .tristar-contact-form-instance form input[type="text"]:focus,
#tristar-contact-page .tristar-contact-form-instance form input[type="email"]:focus,
#tristar-contact-page .tristar-contact-form-instance form input[type="tel"]:focus,
#tristar-contact-page .tristar-contact-form-instance form input[type="url"]:focus,
#tristar-contact-page .tristar-contact-form-instance form input[type="number"]:focus,
#tristar-contact-page .tristar-contact-form-instance form input[type="file"]:focus,
#tristar-contact-page .tristar-contact-form-instance form select:focus,
#tristar-contact-page .tristar-contact-form-instance form textarea:focus {
	border-color: var(--tristar-blue) !important;
	box-shadow: 0 0 0 3px rgba(10, 95, 222, 0.18) !important;
}

/* Keep checkbox/radio controls large enough to operate comfortably. */
#tristar-contact-page .tristar-contact-form-instance input[type="checkbox"],
#tristar-contact-page .tristar-contact-form-instance input[type="radio"] {
	min-width: 20px !important;
	min-height: 20px !important;
}

/* Maintain readable tab copy at the narrowest layouts. */
@media (max-width: 620px) {
	#tristar-contact-page .tristar-contact-option__copy strong {
		font-size: 13px !important;
	}

	#tristar-contact-page .tristar-contact-option__copy small {
		font-size: 12px !important;
	}
}

/* Respect reduced-motion preferences for every Contact interaction. */
@media (prefers-reduced-motion: reduce) {
	#tristar-contact-page *,
	#tristar-contact-page *::before,
	#tristar-contact-page *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/*
========================================
FACILITIES HERO — MOBILE/TABLET SEAM FIX
Prevents a 1px light hairline from appearing between the stacked
facility image and navy text panel on some device pixel ratios.
========================================
*/

@media (max-width: 960px) {
	#tristar-facilities-header .tristar-facilities-header__media {
		margin-bottom: -1px !important;
		background: #061b33 !important;
		border: 0 !important;
		outline: 0 !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media-figure {
		margin-bottom: -1px !important;
		border: 0 !important;
		outline: 0 !important;
		background: #061b33 !important;
	}

	#tristar-facilities-header .tristar-facilities-header__media img {
		display: block !important;
		vertical-align: bottom !important;
		border: 0 !important;
		outline: 0 !important;
		transform: translateZ(0) scale(1.002);
		transform-origin: center bottom;
	}

	#tristar-facilities-header .tristar-facilities-header__content {
		position: relative !important;
		z-index: 5 !important;
		margin-top: -1px !important;
		border-top: 2px solid #061b33 !important;
	}
}

/*
========================================
CONTACT PAGE — TWO-TAB SIMPLIFICATION
General Inquiry + Request a Quote only.
========================================
*/

#tristar-contact-page .tristar-contact-options {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 420px) {
	#tristar-contact-page .tristar-contact-options {
		grid-template-columns: 1fr !important;
	}
}

/*
========================================
NEW SPOKANE FACILITY PAGE
========================================
*/


/*
========================================
SLIDING HERO
========================================
*/

.tristar-spokane-hero,
.tristar-spokane-hero * {
	box-sizing: border-box;
}

.tristar-spokane-hero {
	position: relative;
	width: 100vw !important;
	max-width: none !important;
	min-height: clamp(480px, 42vw, 650px);
	margin: 0 calc(50% - 50vw) !important;
	padding: 0 !important;
	overflow: hidden;
	background: var(--tristar-dark);
	isolation: isolate;
}


/*
========================================
JETPACK SLIDESHOW
========================================
*/

.tristar-spokane-hero__slideshow {
	position: absolute !important;
	inset: 0;
	z-index: 1;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-spokane-hero__slideshow .wp-block-jetpack-slideshow_container,
.tristar-spokane-hero__slideshow .swiper,
.tristar-spokane-hero__slideshow .wp-block-jetpack-slideshow_swiper-wrapper,
.tristar-spokane-hero__slideshow .swiper-wrapper,
.tristar-spokane-hero__slideshow .wp-block-jetpack-slideshow_slide,
.tristar-spokane-hero__slideshow .swiper-slide,
.tristar-spokane-hero__slideshow figure {
	width: 100% !important;
	height: 100% !important;
	min-height: inherit;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-spokane-hero__slideshow .wp-block-jetpack-slideshow_container {
	position: absolute !important;
	inset: 0;
	overflow: hidden;
}

.tristar-spokane-hero__slideshow .wp-block-jetpack-slideshow_slide {
	position: relative;
	overflow: hidden;
}

.tristar-spokane-hero__slideshow figure {
	display: block;
	line-height: 0;
}

.tristar-spokane-hero__slideshow .wp-block-jetpack-slideshow_image {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: clamp(480px, 42vw, 650px);
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
}


/*
========================================
HERO IMAGE TREATMENT
No dark overlay so the Spokane photography remains fully visible.
========================================
*/

.tristar-spokane-hero::after {
	display: none !important;
	content: none !important;
}


/*
========================================
HERO CONTENT
========================================
*/

.tristar-spokane-hero__content {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 1480px !important;
	min-height: clamp(480px, 42vw, 650px);
	margin: 0 auto !important;
	padding: clamp(58px, 7vw, 90px) clamp(24px, 5vw, 84px);
	pointer-events: none;
}

.tristar-spokane-hero__content > * {
	pointer-events: auto;
}

.tristar-spokane-hero__eyebrow {
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: var(--tristar-white) !important;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-align: left;
	text-transform: uppercase;
	text-shadow:
		0 2px 5px rgba(0, 0, 0, 0.8),
		0 0 12px rgba(0, 0, 0, 0.5);
}

.tristar-spokane-hero__title {
	width: 100%;
	max-width: 800px;
	margin: 0 0 20px !important;
	padding: 0 !important;
	color: var(--tristar-white) !important;
	font-size: clamp(48px, 6vw, 80px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.045em !important;
	text-align: left;
	text-transform: uppercase;
	text-shadow:
		0 3px 8px rgba(0, 0, 0, 0.78),
		0 0 18px rgba(0, 0, 0, 0.42);
}

.tristar-spokane-hero__copy {
	width: 100%;
	max-width: 590px;
	margin: 0 0 28px !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, 0.98) !important;
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.5;
	text-align: left;
	text-shadow:
		0 2px 5px rgba(0, 0, 0, 0.75),
		0 0 14px rgba(0, 0, 0, 0.45);
}

.tristar-spokane-hero__buttons {
	display: flex;
	justify-content: flex-start;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-spokane-hero__buttons .wp-block-button {
	margin: 0 !important;
}

.tristar-spokane-hero__buttons .wp-block-button__link {
	min-width: 190px;
	color: var(--tristar-white) !important;
	background: var(--tristar-red) !important;
	border: 2px solid var(--tristar-red) !important;
}

.tristar-spokane-hero__buttons .wp-block-button__link:hover {
	color: var(--tristar-white) !important;
	background: var(--tristar-red-dark) !important;
	border-color: var(--tristar-red-dark) !important;
}


/*
========================================
SLIDESHOW CONTROLS
========================================
*/

/*
Use real text glyphs inside the navigation links instead of Swiper's
pseudo-element arrows. This avoids theme/Jetpack icon collisions.
*/
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-prev,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-next {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	z-index: 8 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 46px !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: #ffffff !important;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	opacity: 1 !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	transform: translateY(-50%) !important;
	transition: opacity 0.2s ease !important;
}

/* Completely disable Swiper/Jetpack's generated arrow artwork. */
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-prev::before,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-prev::after,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-next::before,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-next::after {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	content: none !important;
	background: none !important;
	border: 0 !important;
}

.tristar-spokane-hero .tristar-spokane-arrow {
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 0 4px !important;
	color: #ffffff !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 42px !important;
	font-weight: 300 !important;
	line-height: 0.72 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.38) !important;
	pointer-events: none;
}

.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-prev {
	left: 24px !important;
	right: auto !important;
}

.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-next {
	right: 24px !important;
	left: auto !important;
}

.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-prev:hover,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-prev:focus-visible,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-next:hover,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-next:focus-visible {
	background: rgba(6, 27, 51, 0.28) !important;
	border: 0 !important;
	opacity: 1 !important;
}

.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-prev:focus-visible,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-next:focus-visible {
	outline: 3px solid #ffffff !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 5px rgba(10, 95, 222, 0.72) !important;
}

/*
Keep the slider dots visible but understated.
*/

.tristar-spokane-hero
.wp-block-jetpack-slideshow_pagination {
	z-index: 5 !important;
	bottom: 20px !important;
}


/*
Autoplay remains user-controllable. Jetpack shows this button only when
autoplay is active; keep it compact and visible for accessibility.
*/

.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-pause {
	position: absolute !important;
	top: 18px !important;
	right: 18px !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 8 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 46px !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
}


.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-pause:hover,
.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-pause:focus-visible {
	background: rgba(6, 27, 51, 0.28) !important;
	border: 0 !important;
	opacity: 1 !important;
}

.tristar-spokane-hero
.wp-block-jetpack-slideshow_button-pause:focus-visible {
	outline: 3px solid #ffffff !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 5px rgba(10, 95, 222, 0.72) !important;
}


/*
========================================
SPOKANE HERO PHOTO CREDIT
Visible across every slideshow image.
========================================
*/

.tristar-spokane-photo-credit {
	position: absolute;
	right: 18px;
	bottom: 14px;
	z-index: 6;
	margin: 0 !important;
	padding: 5px 8px !important;
	color: rgba(255, 255, 255, 0.9) !important;
	background: rgba(6, 27, 51, 0.58);
	border-radius: 3px;
	font-size: 11px !important;
	font-weight: 600;
	line-height: 1.2 !important;
	letter-spacing: 0.02em;
	text-align: right;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
	pointer-events: none;
}


/*
========================================
INTRO
========================================
*/

.tristar-spokane-intro {
	box-sizing: border-box;
	width: 100%;
	padding:
		clamp(50px, 5vw, 70px)
		clamp(20px, 4vw, 56px)
		clamp(34px, 4vw, 48px);
	background: var(--tristar-white);
}

.tristar-spokane-intro__inner {
	width: 100%;
	max-width: var(--tristar-content-width);
	margin: 0 auto !important;
	text-align: center;
}

.tristar-spokane-intro__eyebrow {
	margin: 0 0 12px !important;
	color: var(--tristar-red) !important;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.tristar-spokane-intro__title {
	margin: 0 !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(36px, 4vw, 52px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -0.035em !important;
	text-transform: uppercase;
}


/*
========================================
VIDEO
========================================
*/

.tristar-spokane-video {
	box-sizing: border-box;
	width: 100%;
	padding:
		0
		clamp(20px, 4vw, 56px)
		clamp(54px, 6vw, 78px);
	background: var(--tristar-white);
}

.tristar-spokane-video > * {
	width: 100% !important;
	max-width: var(--tristar-content-width) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.tristar-spokane-video .wp-block-embed {
	overflow: hidden;
	background: var(--tristar-white);
	border-radius: 8px;
	box-shadow: 0 16px 38px rgba(8, 41, 85, 0.12);
}

.tristar-spokane-video .wp-block-embed__wrapper {
	margin: 0 !important;
}

.tristar-spokane-video-credit {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: 9px 12px 10px !important;
	color: #6b7480 !important;
	background: var(--tristar-white);
	font-size: 11px !important;
	font-weight: 600;
	line-height: 1.35 !important;
	letter-spacing: 0.01em;
	text-align: right;
}


/*
========================================
SITE PLAN / MAP
========================================
*/

.tristar-spokane-site-plan {
	box-sizing: border-box;
	width: 100%;
	padding:
		clamp(52px, 5vw, 72px)
		clamp(20px, 4vw, 56px)
		clamp(56px, 6vw, 84px);
	background:
		linear-gradient(
			180deg,
			#f7f9fc 0%,
			#eef3f8 100%
		);
}

.tristar-spokane-site-plan > * {
	width: 100%;
	max-width: var(--tristar-content-width);
	margin-right: auto !important;
	margin-left: auto !important;
}

.tristar-spokane-site-plan__eyebrow {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	color: var(--tristar-red) !important;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-align: center;
	text-transform: uppercase;
}

.tristar-spokane-site-plan__title {
	margin-top: 0 !important;
	margin-bottom: 34px !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(36px, 4vw, 52px) !important;
	text-align: center;
	text-transform: uppercase;
}

.tristar-spokane-site-plan__image {
	margin-top: 0 !important;
	margin-bottom: 30px !important;
	overflow: hidden;
	background: var(--tristar-white);
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(8, 41, 85, 0.1);
	line-height: 0;
}

.tristar-spokane-site-plan__image:last-child {
	margin-bottom: 0 !important;
}

.tristar-spokane-site-plan__image img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}


/*
========================================
SPOKANE IMAGE / MAP COPYRIGHT CREDIT
========================================
*/

.tristar-spokane-image-credit {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: 9px 12px 10px !important;
	color: #6b7480 !important;
	background: var(--tristar-white);
	font-size: 11px !important;
	font-weight: 600;
	line-height: 1.35 !important;
	letter-spacing: 0.01em;
	text-align: right;
}


/*
========================================
TABLET
========================================
*/

@media (max-width: 960px) {

	.tristar-spokane-hero,
	.tristar-spokane-hero__content {
		min-height: 560px;
	}

	.tristar-spokane-hero__slideshow
	.wp-block-jetpack-slideshow_image {
		min-height: 560px;
	}

	.tristar-spokane-hero__content {
		width: 100% !important;
		max-width: 1480px !important;
		padding-right: 24px;
		padding-left: 24px;
	}

	.tristar-spokane-hero__title {
		max-width: 650px;
		font-size: clamp(44px, 8vw, 64px) !important;
	}

	.tristar-spokane-hero__copy {
		max-width: 520px;
	}

}


/*
========================================
MOBILE
========================================
*/

@media (max-width: 680px) {

	.tristar-spokane-hero,
	.tristar-spokane-hero__content {
		min-height: 520px;
	}

	.tristar-spokane-hero__slideshow
	.wp-block-jetpack-slideshow_image {
		min-height: 520px;
	}

	.tristar-spokane-hero__slideshow
	.wp-block-jetpack-slideshow_image {
		object-position: center center !important;
	}

	.tristar-spokane-hero__content {
		justify-content: flex-end;
		width: 100% !important;
		max-width: 1480px !important;
		padding: 48px 18px 62px;
	}

	.tristar-spokane-hero__eyebrow {
		margin-bottom: 10px !important;
		font-size: 14px;
	}

	.tristar-spokane-hero__title {
		max-width: 100%;
		margin-bottom: 16px !important;
		font-size: clamp(39px, 11vw, 52px) !important;
	}

	.tristar-spokane-hero__copy {
		max-width: 100%;
		margin-bottom: 22px !important;
		font-size: 16px;
		line-height: 1.45;
	}

	.tristar-spokane-hero__buttons,
	.tristar-spokane-hero__buttons .wp-block-button,
	.tristar-spokane-hero__buttons .wp-block-button__link {
		width: 100%;
	}

	.tristar-spokane-hero
	.wp-block-jetpack-slideshow_button-prev,
	.tristar-spokane-hero
	.wp-block-jetpack-slideshow_button-next {
		width: 44px !important;
		height: 44px !important;
		margin: 0 !important;
	}

	.tristar-spokane-hero .tristar-spokane-arrow {
		padding-bottom: 3px !important;
		font-size: 38px !important;
	}

	.tristar-spokane-hero
	.wp-block-jetpack-slideshow_button-prev {
		left: 12px !important;
	}

	.tristar-spokane-hero
	.wp-block-jetpack-slideshow_button-next {
		right: 12px !important;
	}

	.tristar-spokane-intro {
		padding:
			40px
			18px
			28px;
	}

	.tristar-spokane-intro__eyebrow,
	.tristar-spokane-site-plan__eyebrow {
		font-size: 14px;
	}

	.tristar-spokane-intro__title,
	.tristar-spokane-site-plan__title {
		font-size: clamp(30px, 9vw, 40px) !important;
	}

	.tristar-spokane-video {
		padding:
			0
			18px
			44px;
	}

	.tristar-spokane-site-plan {
		padding:
			42px
			18px
			48px;
	}

	.tristar-spokane-site-plan__title {
		margin-bottom: 26px !important;
	}

	.tristar-spokane-site-plan__image {
		margin-bottom: 20px !important;
	}

	.tristar-spokane-photo-credit {
		right: 12px;
		bottom: 10px;
		padding: 4px 6px !important;
		font-size: 10px !important;
	}

	.tristar-spokane-image-credit,
	.tristar-spokane-video-credit {
		padding: 8px 10px 9px !important;
		font-size: 10px !important;
	}

}


/*
========================================
SMALL MOBILE
========================================
*/

@media (max-width: 430px) {

	.tristar-spokane-hero,
	.tristar-spokane-hero__content {
		min-height: 500px;
	}

	.tristar-spokane-hero__slideshow
	.wp-block-jetpack-slideshow_image {
		min-height: 500px;
	}

	.tristar-spokane-hero__content {
		width: 100% !important;
		padding-right: 14px;
		padding-bottom: 56px;
		padding-left: 14px;
	}

	.tristar-spokane-hero__title {
		font-size: clamp(36px, 11vw, 46px) !important;
	}

}


/*
========================================
REDUCED MOTION
========================================
*/

@media (prefers-reduced-motion: reduce) {

	.tristar-spokane-hero *,
	.tristar-spokane-hero *::before,
	.tristar-spokane-hero *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

}

/*
========================================
SPOKANE PAGE — REMOVE THEME PAGE TITLE / TOP SPACE
The custom slideshow hero is the page title area.
========================================
*/

body:has(.tristar-spokane-hero) .site-main > .entry-header,
body:has(.tristar-spokane-hero) .site-main > .page-header,
body:has(.tristar-spokane-hero) .site-main .wp-block-post-title,
body:has(.tristar-spokane-hero) .entry-content > .wp-block-post-title,
body:has(.tristar-spokane-hero) .page-title,
body:has(.tristar-spokane-hero) .entry-title {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body:has(.tristar-spokane-hero) .site-main,
body:has(.tristar-spokane-hero) #primary,
body:has(.tristar-spokane-hero) .content-area,
body:has(.tristar-spokane-hero) .site-content,
body:has(.tristar-spokane-hero) .entry-content,
body:has(.tristar-spokane-hero) .wp-block-post-content,
body:has(.tristar-spokane-hero) .wp-site-blocks > main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(.tristar-spokane-hero) .entry-content > .wp-block-html:first-child,
body:has(.tristar-spokane-hero) .entry-content > .wp-block-group:first-child,
body:has(.tristar-spokane-hero) .tristar-spokane-hero {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/*
========================================
SPOKANE PAGE — TWO-COLUMN PARTNERSHIP + VIDEO
Left: partnership story. Right: Spokane International Airport video.
Supports WordPress-generated Group inner wrappers.
========================================
*/

.tristar-spokane-intro,
.tristar-spokane-intro * {
	box-sizing: border-box;
}

.tristar-spokane-intro {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding:
		clamp(56px, 5vw, 74px)
		clamp(24px, 4vw, 64px) !important;
	background: #ffffff !important;
}

.tristar-spokane-intro > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-spokane-intro__inner,
.tristar-spokane-intro__inner > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: minmax(0, 0.92fr) minmax(520px, 1.08fr) !important;
	align-items: center !important;
	column-gap: clamp(52px, 6vw, 96px) !important;
	row-gap: 0 !important;
	width: 100% !important;
	max-width: 1480px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* If WordPress inserts an inner wrapper, the outer Group becomes a neutral shell. */
.tristar-spokane-intro__inner:has(> .wp-block-group__inner-container) {
	display: block !important;
	max-width: 1480px !important;
	margin: 0 auto !important;
}

.tristar-spokane-intro__copy-column,
.tristar-spokane-intro__copy-column > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

.tristar-spokane-intro__copy-column:has(> .wp-block-group__inner-container) {
	display: block !important;
}

.tristar-spokane-intro__eyebrow {
	margin: 0 0 12px !important;
	padding: 0 !important;
	color: var(--tristar-red) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

.tristar-spokane-intro__title {
	width: 100% !important;
	max-width: 600px !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(38px, 3.8vw, 56px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.04em !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

.tristar-spokane-intro__copy {
	width: 100% !important;
	max-width: 600px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--tristar-text) !important;
	font-size: clamp(16px, 1.05vw, 18px) !important;
	line-height: 1.65 !important;
	text-align: left !important;
}

.tristar-spokane-intro__statement {
	width: 100% !important;
	max-width: 600px !important;
	margin: 30px 0 0 !important;
	padding: 22px 0 0 !important;
	color: var(--tristar-navy) !important;
	border-top: 3px solid var(--tristar-blue) !important;
	font-size: clamp(20px, 1.55vw, 25px) !important;
	font-weight: 800 !important;
	line-height: 1.24 !important;
	letter-spacing: -0.02em !important;
	text-align: left !important;
}

/* Video column */
.tristar-spokane-intro__media,
.tristar-spokane-intro__media > .wp-block-group__inner-container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-spokane-intro__media:has(> .wp-block-group__inner-container) {
	display: block !important;
}

.tristar-spokane-intro__video {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tristar-spokane-intro__video .wp-block-embed__wrapper {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: var(--tristar-dark) !important;
	border-radius: 10px !important;
	box-shadow: 0 18px 42px rgba(8, 41, 85, 0.16) !important;
}

.tristar-spokane-intro__video .wp-block-embed__wrapper iframe {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	border: 0 !important;
}

.tristar-spokane-intro__video .tristar-spokane-video-credit {
	width: 100% !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	color: var(--tristar-muted) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	text-align: right !important;
}

@media (max-width: 1100px) {
	.tristar-spokane-intro__inner,
	.tristar-spokane-intro__inner > .wp-block-group__inner-container {
		grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr) !important;
		column-gap: 42px !important;
	}

	.tristar-spokane-intro__title {
		font-size: clamp(36px, 4.6vw, 50px) !important;
	}
}

@media (max-width: 960px) {
	.tristar-spokane-intro {
		padding: 48px 24px 46px !important;
	}

	.tristar-spokane-intro__inner,
	.tristar-spokane-intro__inner > .wp-block-group__inner-container {
		grid-template-columns: 1fr !important;
		align-items: start !important;
		row-gap: 34px !important;
		column-gap: 0 !important;
		max-width: 760px !important;
	}

	.tristar-spokane-intro__title,
	.tristar-spokane-intro__copy,
	.tristar-spokane-intro__statement {
		max-width: 720px !important;
	}

	.tristar-spokane-intro__media,
	.tristar-spokane-intro__media > .wp-block-group__inner-container {
		width: 100% !important;
	}
}

@media (max-width: 680px) {
	.tristar-spokane-intro {
		padding: 40px 18px !important;
	}

	.tristar-spokane-intro__inner,
	.tristar-spokane-intro__inner > .wp-block-group__inner-container {
		row-gap: 28px !important;
	}

	.tristar-spokane-intro__eyebrow {
		margin-bottom: 10px !important;
		font-size: 14px !important;
	}

	.tristar-spokane-intro__title {
		margin-bottom: 18px !important;
		font-size: clamp(31px, 9vw, 42px) !important;
	}

	.tristar-spokane-intro__copy {
		font-size: 15px !important;
		line-height: 1.6 !important;
	}

	.tristar-spokane-intro__statement {
		margin-top: 24px !important;
		padding-top: 18px !important;
		font-size: 20px !important;
	}

	.tristar-spokane-intro__video .wp-block-embed__wrapper {
		border-radius: 8px !important;
	}
}

@media (max-width: 430px) {
	.tristar-spokane-intro {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}
}


/*
========================================
FINAL SPOKANE HERO CONTENT ALIGNMENT FIX
Matches the About/Facilities hero left edge exactly and neutralizes
WordPress-generated Group inner-wrapper width constraints.
========================================
*/

.tristar-spokane-hero__content {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: clamp(24px, 5vw, 84px) !important;
	padding-left: clamp(24px, 5vw, 84px) !important;
}

/* WordPress may insert this wrapper inside Group blocks. It must not
   re-center the Spokane hero copy inside a narrower content column. */
.tristar-spokane-hero__content > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Neutralize Gutenberg constrained-layout rules if WordPress adds them. */
.tristar-spokane-hero__content.is-layout-constrained > :where(
	:not(.alignleft):not(.alignright):not(.alignfull)
) {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

@media (min-width: 961px) {
	.tristar-spokane-hero__content {
		/* Equivalent to the exact left edge used by the Facilities hero. */
		padding-left: clamp(24px, 5vw, 84px) !important;
		padding-right: clamp(24px, 5vw, 84px) !important;
	}
}

@media (max-width: 960px) {
	.tristar-spokane-hero__content {
		padding-right: 28px !important;
		padding-left: 28px !important;
	}
}

@media (max-width: 600px) {
	.tristar-spokane-hero__content {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}
}

@media (max-width: 430px) {
	.tristar-spokane-hero__content {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}
}

/*
========================================
SPOKANE PAGE — REMOVE RESIDUAL THEME STRIP ABOVE CUSTOM HEADER
Collapses the theme-generated page-title/header wrapper completely while
leaving the reusable Tristar navigation block untouched.
========================================
*/

body:has(.tristar-spokane-hero) .site-main > article > header.entry-header,
body:has(.tristar-spokane-hero) .site-main > article > .entry-header,
body:has(.tristar-spokane-hero) .site-main > article > .page-header,
body:has(.tristar-spokane-hero) article > header.entry-header,
body:has(.tristar-spokane-hero) article > .entry-header,
body:has(.tristar-spokane-hero) article > .page-header {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

body:has(.tristar-spokane-hero) .site-main,
body:has(.tristar-spokane-hero) #primary,
body:has(.tristar-spokane-hero) .content-area,
body:has(.tristar-spokane-hero) .site-content,
body:has(.tristar-spokane-hero) article,
body:has(.tristar-spokane-hero) .entry-content,
body:has(.tristar-spokane-hero) .wp-block-post-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Make sure the reusable Tristar header itself begins at the very top. */
body:has(.tristar-spokane-hero) #tristar-custom-header,
body:has(.tristar-spokane-hero) #tristar-custom-header .tristar-custom-header__frame {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/*
========================================
SPOKANE PAGE — BOTTOM CONTACT CTA
Single-card layout directly above the footer.
========================================
*/

.tristar-spokane-cta,
.tristar-spokane-cta * {
	box-sizing: border-box;
}

.tristar-spokane-cta {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(46px, 5vw, 68px) clamp(24px, 5vw, 84px);
	background: #f6f9fc;
}

/* Gutenberg may add one wrapper around the section. Keep it invisible so
   there is only one visible CTA container. */
.tristar-spokane-cta > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.tristar-spokane-cta__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: clamp(28px, 5vw, 72px) !important;
	width: 100% !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: clamp(34px, 4vw, 50px) clamp(30px, 5vw, 64px) !important;
	background: var(--tristar-white) !important;
	border: 1px solid rgba(8, 41, 85, 0.11) !important;
	border-radius: 10px !important;
	box-shadow: 0 18px 40px rgba(8, 41, 85, 0.11) !important;
}

.tristar-spokane-cta__copy {
	min-width: 0;
}

.tristar-spokane-cta__eyebrow {
	margin: 0 0 10px !important;
	color: var(--tristar-red) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

.tristar-spokane-cta__title {
	margin: 0 0 12px !important;
	color: var(--tristar-navy) !important;
	font-size: clamp(30px, 3.2vw, 46px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -0.035em !important;
	text-transform: uppercase !important;
}

.tristar-spokane-cta__text {
	max-width: 700px;
	margin: 0 !important;
	color: var(--tristar-text) !important;
	font-size: clamp(15px, 1.1vw, 17px) !important;
	line-height: 1.6 !important;
}

.tristar-spokane-cta__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 178px;
	min-height: 50px;
	padding: 12px 24px !important;
	color: var(--tristar-white) !important;
	background: var(--tristar-red) !important;
	border: 2px solid var(--tristar-red) !important;
	border-radius: 5px !important;
	box-shadow: 0 10px 22px rgba(8, 41, 85, 0.16);
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.03em !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.tristar-spokane-cta__button:hover,
.tristar-spokane-cta__button:focus-visible {
	color: var(--tristar-white) !important;
	background: var(--tristar-red-dark) !important;
	border-color: var(--tristar-red-dark) !important;
}

.tristar-spokane-cta__button:focus-visible {
	outline: 3px solid rgba(10, 95, 222, 0.42);
	outline-offset: 3px;
}

@media (max-width: 820px) {
	.tristar-spokane-cta {
		padding: 40px 28px;
	}

	.tristar-spokane-cta__inner {
		grid-template-columns: 1fr !important;
		gap: 22px !important;
		padding: 34px 30px !important;
	}

	.tristar-spokane-cta__button {
		justify-self: start;
	}
}

@media (max-width: 600px) {
	.tristar-spokane-cta {
		padding: 32px 18px;
	}

	.tristar-spokane-cta__inner {
		padding: 30px 24px !important;
	}

	.tristar-spokane-cta__eyebrow {
		font-size: 14px !important;
	}

	.tristar-spokane-cta__title {
		font-size: clamp(30px, 9vw, 40px) !important;
	}

	.tristar-spokane-cta__button {
		width: 100%;
	}
}

@media (max-width: 430px) {
	.tristar-spokane-cta {
		padding-right: 14px;
		padding-left: 14px;
	}
}


/*
========================================
SPOKANE PAGE ACCESSIBILITY ENHANCEMENTS
========================================
*/

.tristar-spokane-hero__buttons .wp-block-button__link:focus-visible {
	outline: 3px solid #ffffff !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 5px rgba(10, 95, 222, 0.72) !important;
}

.tristar-spokane-intro__copy a {
	color: var(--tristar-blue) !important;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.tristar-spokane-intro__copy a:hover {
	color: var(--tristar-red-dark) !important;
}

.tristar-spokane-intro__copy a:focus-visible {
	outline: 3px solid rgba(10, 95, 222, 0.55);
	outline-offset: 3px;
	border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.tristar-spokane-hero *,
	.tristar-spokane-hero *::before,
	.tristar-spokane-hero *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/*
========================================
HOME FACILITIES - INTRO ABOVE FOUR CARDS
CONDENSED HEADER SPACING
========================================
*/

#tristar-home-facilities {
	padding-top: clamp(48px, 4vw, 60px) !important;
	padding-bottom: clamp(48px, 4vw, 60px) !important;
}

#tristar-home-facilities .tristar-home-facilities__inner {
	display: block !important;
	width: 100% !important;
	max-width: 1600px !important;
	margin: 0 auto !important;
}

#tristar-home-facilities .tristar-home-facilities__intro {
	display: block !important;
	width: 100% !important;
	margin: 0 0 clamp(24px, 2.5vw, 34px) !important;
	padding: 0 !important;
}

#tristar-home-facilities .tristar-home-facilities__intro-content {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	grid-template-rows: auto auto auto !important;
	align-items: center !important;
	column-gap: clamp(36px, 6vw, 96px) !important;
	width: 100% !important;
	max-width: 1500px !important;
	margin: 0 auto !important;
}

#tristar-home-facilities .tristar-home-facilities__eyebrow,
#tristar-home-facilities .tristar-home-facilities__title,
#tristar-home-facilities .tristar-home-facilities__description {
	grid-column: 1 !important;
	text-align: left !important;
}

#tristar-home-facilities .tristar-home-facilities__eyebrow {
	grid-row: 1 !important;
	margin-bottom: 8px !important;
}

#tristar-home-facilities .tristar-home-facilities__title {
	grid-row: 2 !important;
	font-size: clamp(40px, 4vw, 58px) !important;
	line-height: 0.98 !important;
}

#tristar-home-facilities .tristar-home-facilities__description {
	grid-row: 3 !important;
	max-width: 640px !important;
	margin: 10px 0 0 !important;
	line-height: 1.5 !important;
}

#tristar-home-facilities .tristar-home-facilities__button {
	grid-column: 2 !important;
	grid-row: 1 / 4 !important;
	align-self: center !important;
	justify-self: end !important;
	margin-top: 0 !important;
	white-space: nowrap !important;
}

#tristar-home-facilities .tristar-home-facilities__grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(16px, 1.35vw, 24px) !important;
	width: 100% !important;
	max-width: 1500px !important;
	margin: 0 auto !important;
}

@media (max-width: 1100px) {
	#tristar-home-facilities .tristar-home-facilities__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	#tristar-home-facilities .tristar-home-facilities__intro-content {
		grid-template-columns: 1fr !important;
		grid-template-rows: auto !important;
		row-gap: 0 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__eyebrow,
	#tristar-home-facilities .tristar-home-facilities__title,
	#tristar-home-facilities .tristar-home-facilities__description,
	#tristar-home-facilities .tristar-home-facilities__button {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	#tristar-home-facilities .tristar-home-facilities__button {
		justify-self: start !important;
		margin-top: 24px !important;
	}
}

@media (max-width: 680px) {
	#tristar-home-facilities .tristar-home-facilities__intro {
		margin-bottom: 30px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__title {
		font-size: clamp(36px, 10vw, 46px) !important;
	}

	#tristar-home-facilities .tristar-home-facilities__grid {
		grid-template-columns: 1fr !important;
	}
}

/*
========================================
HOME PAGE — COMBINED SPOKANE ANNOUNCEMENT + VIDEO
Final override: one compact two-column module.
========================================
*/

#tristar-spokane-announcement.tristar-spokane-announcement--video {
	position: relative !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(36px, 4vw, 56px) clamp(18px, 4vw, 72px) !important;
	background: #f4f7fa !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__inner {
	display: grid !important;
	grid-template-columns: minmax(340px, 0.82fr) minmax(0, 1.18fr) !important;
	align-items: center !important;
	gap: clamp(38px, 5vw, 78px) !important;
	width: 100% !important;
	max-width: 1460px !important;
	margin: 0 auto !important;
	padding: clamp(34px, 3.5vw, 54px) !important;
	background: linear-gradient(105deg, #f8fbff 0%, #eef6ff 100%) !important;
	border: 1px solid rgba(10, 95, 222, 0.16) !important;
	border-radius: 12px !important;
	box-shadow: 0 16px 38px rgba(8, 41, 85, 0.08) !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__content-column,
#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__media {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__content-column {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	max-width: 560px !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__heading-row {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin: 0 0 14px !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__icon {
	width: 48px !important;
	height: 48px !important;
	flex: 0 0 48px !important;
	margin: 0 !important;
	box-shadow: 0 8px 18px rgba(229, 34, 34, 0.18) !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__eyebrow {
	margin: 0 !important;
	font-size: 14px !important;
	letter-spacing: 0.14em !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__title {
	max-width: 560px !important;
	margin: 0 0 16px !important;
	font-size: clamp(38px, 3.35vw, 54px) !important;
	line-height: 0.98 !important;
	letter-spacing: -0.04em !important;
	text-transform: uppercase !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__copy {
	max-width: 550px !important;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__button {
	align-self: flex-start !important;
	justify-self: auto !important;
	min-width: 0 !important;
	min-height: 48px !important;
	margin: 24px 0 0 !important;
	padding: 13px 22px !important;
	background: var(--tristar-blue) !important;
	border-color: var(--tristar-blue) !important;
	box-shadow: 0 8px 18px rgba(10, 95, 222, 0.18) !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__button:hover,
#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__button:focus {
	background: var(--tristar-navy) !important;
	border-color: var(--tristar-navy) !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__media {
	align-self: center !important;
	justify-self: stretch !important;
	max-width: 820px !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__video-frame {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: var(--tristar-dark) !important;
	border-radius: 8px !important;
	box-shadow: 0 18px 42px rgba(6, 27, 51, 0.16) !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__video-frame iframe {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__video-credit {
	margin: 8px 2px 0 !important;
	padding: 0 !important;
	color: #697586 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	text-align: right !important;
}

@media (max-width: 980px) {
	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__inner {
		grid-template-columns: minmax(290px, 0.9fr) minmax(0, 1.1fr) !important;
		gap: 32px !important;
		padding: 32px !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__title {
		font-size: clamp(34px, 4.2vw, 46px) !important;
	}
}

@media (max-width: 820px) {
	#tristar-spokane-announcement.tristar-spokane-announcement--video {
		padding: 30px 20px !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__inner {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__content-column,
	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__media {
		max-width: none !important;
	}
}

@media (max-width: 520px) {
	#tristar-spokane-announcement.tristar-spokane-announcement--video {
		padding: 22px 14px !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__inner {
		gap: 22px !important;
		padding: 24px 18px !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__icon {
		width: 44px !important;
		height: 44px !important;
		flex-basis: 44px !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__title {
		font-size: clamp(31px, 9vw, 40px) !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__copy {
		font-size: 15px !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__button {
		width: 100% !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video .tristar-spokane-announcement__video-credit {
		text-align: left !important;
	}
}


/*
========================================
HOME FACILITIES — FINAL SQUARE CARDS + SPOKANE RIBBON
Makes the 4 location cards read as square cards on desktop/tablet while
keeping mobile flexible. Also restores the Spokane ribbon.
========================================
*/

@media (min-width: 681px) {
	#tristar-home-facilities .tristar-home-facilities__grid {
		grid-auto-rows: 1fr !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card {
		aspect-ratio: 1 / 1 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-link-wrap,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap:visited {
		position: relative !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: stretch !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		overflow: hidden !important;
	}

	#tristar-home-facilities .tristar-home-facilities__image {
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		object-fit: cover !important;
		object-position: center !important;
		flex: none !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		position: relative !important;
		z-index: 2 !important;
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		padding: 24px 22px 22px !important;
		background: linear-gradient(180deg, rgba(6, 27, 51, 0.06) 0%, rgba(6, 27, 51, 0.14) 32%, rgba(6, 27, 51, 0.56) 62%, rgba(6, 27, 51, 0.92) 100%) !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-title {
		margin: 0 0 10px !important;
		font-size: clamp(19px, 1.3vw, 23px) !important;
		line-height: 1.08 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details {
		display: grid !important;
		gap: 2px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		padding: 4px 0 !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
	}
}

@media (min-width: 681px) and (max-width: 1100px) {
	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 22px 20px 20px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-title {
		font-size: 20px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		font-size: 13px !important;
		line-height: 1.32 !important;
	}
}

@media (max-width: 680px) {
	#tristar-home-facilities .tristar-home-facilities__card,
	#tristar-home-facilities .tristar-home-facilities__card-link-wrap {
		aspect-ratio: auto !important;
	}
}


/*
========================================
HOME FACILITIES — SMALLER SQUARE CARD GRID
Keeps the four cards square while reducing their overall footprint.
========================================
*/

@media (min-width: 1101px) {
	#tristar-home-facilities .tristar-home-facilities__grid {
		width: 100% !important;
		max-width: 1100px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		gap: 20px !important;
	}
}

@media (min-width: 681px) and (max-width: 1100px) {
	#tristar-home-facilities .tristar-home-facilities__grid {
		width: 100% !important;
		max-width: 900px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		gap: 18px !important;
	}
}

/*
========================================
HOME FACILITIES — FINAL SHORTER CARDS
Keep the current card width, but reduce the card height so the 2x2 grid
feels more compact vertically.
========================================
*/

@media (min-width: 681px) {
	#tristar-home-facilities .tristar-home-facilities__card {
		aspect-ratio: 1.18 / 1 !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-body {
		padding: 20px 20px 18px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__card-title {
		margin-bottom: 8px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__details li {
		padding: 3px 0 !important;
	}
}

@media (min-width: 681px) and (max-width: 1100px) {
	#tristar-home-facilities .tristar-home-facilities__card {
		aspect-ratio: 1.12 / 1 !important;
	}
}

/*
========================================
HOME PAGE — FINAL ALIGNMENT SYSTEM
Keeps the hero untouched. Everything below the hero now follows the same
1100px desktop content rails so headings, buttons, video, cards and CTA feel
intentionally aligned instead of independently centered.
========================================
*/

@media (min-width: 821px) {
	/* Spokane feature card uses the same overall width as the facility grid. */
	#tristar-spokane-announcement.tristar-spokane-announcement--video {
		padding-right: clamp(24px, 4vw, 56px) !important;
		padding-left: clamp(24px, 4vw, 56px) !important;
	}

	#tristar-spokane-announcement.tristar-spokane-announcement--video
	.tristar-spokane-announcement__inner {
		width: 100% !important;
		max-width: 1100px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding: clamp(32px, 3vw, 42px) !important;
		gap: clamp(34px, 4vw, 54px) !important;
	}

	/* Facilities heading and 2x2 grid share the exact same left/right rails. */
	#tristar-home-facilities .tristar-home-facilities__inner,
	#tristar-home-facilities .tristar-home-facilities__intro,
	#tristar-home-facilities .tristar-home-facilities__intro-content,
	#tristar-home-facilities .tristar-home-facilities__grid {
		width: 100% !important;
		max-width: 1100px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#tristar-home-facilities .tristar-home-facilities__intro {
		margin-bottom: 24px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__intro-content {
		column-gap: 40px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__description {
		max-width: 620px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__grid {
		justify-content: stretch !important;
	}

	/* Keep the bottom CTA on the same page rails as the sections above. */
	#tristar-careers-cta .tristar-careers-cta__inner {
		width: calc(100% - 48px) !important;
		max-width: 1100px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}
}

@media (min-width: 821px) and (max-width: 1100px) {
	#tristar-spokane-announcement.tristar-spokane-announcement--video
	.tristar-spokane-announcement__inner {
		max-width: 900px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__inner,
	#tristar-home-facilities .tristar-home-facilities__intro,
	#tristar-home-facilities .tristar-home-facilities__intro-content,
	#tristar-home-facilities .tristar-home-facilities__grid,
	#tristar-careers-cta .tristar-careers-cta__inner {
		max-width: 900px !important;
	}
}

@media (max-width: 820px) {
	/* On tablet/mobile, use one consistent gutter instead of competing widths. */
	#tristar-spokane-announcement.tristar-spokane-announcement--video,
	#tristar-home-facilities {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	#tristar-home-facilities .tristar-home-facilities__inner,
	#tristar-home-facilities .tristar-home-facilities__intro,
	#tristar-home-facilities .tristar-home-facilities__intro-content,
	#tristar-home-facilities .tristar-home-facilities__grid {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

/*
========================================
HOMEPAGE HERO — CUSTOM CTA BUTTONS
Uses plain anchor markup so Gutenberg/theme button classes cannot alter
font weight, typography, background, or borders. Values intentionally
match the homepage View All Facilities CTA.
========================================
*/

.tristar-hero .tristar-hero-actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 0;
}

.tristar-hero .tristar-hero-button,
.tristar-hero .tristar-hero-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	min-width: 0;
	min-height: 48px;
	margin: 0;
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: var(--tristar-radius);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.055em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	text-shadow: none;
	box-shadow: none;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.tristar-hero .tristar-hero-button--primary,
.tristar-hero .tristar-hero-button--primary:visited {
	color: var(--tristar-white);
	background: var(--tristar-blue);
	border-color: var(--tristar-blue);
	box-shadow: 0 8px 18px rgba(10, 95, 222, 0.18);
}

.tristar-hero .tristar-hero-button--primary:hover,
.tristar-hero .tristar-hero-button--primary:focus {
	color: var(--tristar-white);
	background: var(--tristar-navy);
	border-color: var(--tristar-navy);
	transform: translateY(-1px);
}

.tristar-hero .tristar-hero-button--secondary,
.tristar-hero .tristar-hero-button--secondary:visited {
	color: var(--tristar-white);
	background: transparent;
	border-color: rgba(255, 255, 255, 0.9);
}

.tristar-hero .tristar-hero-button--secondary:hover,
.tristar-hero .tristar-hero-button--secondary:focus {
	color: var(--tristar-navy);
	background: var(--tristar-white);
	border-color: var(--tristar-white);
	transform: translateY(-1px);
}

.tristar-hero .tristar-hero-button:focus-visible {
	outline: 3px solid #ffffff;
	outline-offset: 4px;
}

@media (max-width: 781px) {
	.tristar-hero .tristar-hero-actions {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
	}

	.tristar-hero .tristar-hero-button {
		width: 100%;
	}
}


/*
========================================
HOMEPAGE HERO — TRUE CTA LEFT ALIGNMENT
The custom CTA markup lives inside a WordPress Custom HTML block. WordPress
can constrain/center that generated .wp-block-html wrapper even when the
buttons inside it are left-aligned. Reset the wrapper itself so the CTA row
starts on the exact same left rail as the eyebrow, H1 and body copy.
========================================
*/

.tristar-hero .tristar-hero-content > .wp-block-html,
.tristar-hero .tristar-hero-content > .wp-block-group__inner-container > .wp-block-html {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	align-self: stretch !important;
	justify-self: stretch !important;
	transform: none !important;
}

.tristar-hero .tristar-hero-content .wp-block-html > .tristar-hero-actions,
.tristar-hero .tristar-hero-content .tristar-hero-actions {
	position: relative !important;
	left: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	align-self: flex-start !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 12px !important;
	transform: none !important;
}

@media (max-width: 781px) {
	.tristar-hero .tristar-hero-content .wp-block-html > .tristar-hero-actions,
	.tristar-hero .tristar-hero-content .tristar-hero-actions {
		align-items: stretch !important;
		flex-direction: column !important;
		gap: 10px !important;
	}
}

/*
========================================
FINAL HOMEPAGE SPOKANE ANNOUNCEMENT COPY SPACING
Keeps the second announcement paragraph separated by one line of space.
========================================
*/

#tristar-spokane-announcement.tristar-spokane-announcement--video
.tristar-spokane-announcement__copy + .tristar-spokane-announcement__copy {
	margin-top: 1em !important;
}
