.thryve-insight-byline {
	color: #a6a9b1;
	font-family: Inter, sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

.thryve-insight-byline__name {
	color: #61ce70;
	font-weight: 700;
	text-decoration: none;
}

.thryve-insight-byline__name:hover,
.thryve-insight-byline__name:focus-visible {
	color: #f4f3ee;
}

.thryve-insight-author-card {
	background: var(--thryve-author-card-bg, #10141a);
	border: 1px solid var(--thryve-author-card-border-color, #292f2d);
	border-radius: var(--thryve-author-card-radius, 16px);
	color: var(--thryve-author-card-color, #f4f3ee);
	font-family: Inter, sans-serif;
	padding: var(--thryve-author-card-padding, 18px);
}

.thryve-insight-author-card__header {
	display: flex;
	align-items: center;
	gap: 12px;
}

.thryve-insight-author-card__image,
.thryve-insight-author-card__image-link {
	display: block;
	flex: 0 0 var(--thryve-author-avatar-size, 44px);
	width: var(--thryve-author-avatar-size, 44px);
	height: var(--thryve-author-avatar-size, 44px);
	border-radius: var(--thryve-author-avatar-radius, 50%);
	overflow: hidden;
}

.thryve-insight-author-card__image {
	border: 1px solid #2e7438;
	border-radius: var(--thryve-author-avatar-radius, 50%);
	object-fit: cover;
	object-position: center;
}

.thryve-insight-author-card__identity {
	min-width: 0;
}

.thryve-insight-author-card__eyebrow {
	color: #a6a9b1;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.7px;
	line-height: 1.2;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.thryve-insight-author-card__name {
	color: var(--thryve-author-name-color, #fff);
	font-family: var(--thryve-author-name-font, Fraunces, "Times New Roman", Georgia, serif);
	font-optical-sizing: auto;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.015em;
	line-height: 1.15;
}

.thryve-insight-author-card__title {
	color: #61ce70;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.3px;
	line-height: 1.35;
	margin-top: 14px;
	text-transform: uppercase;
}

.thryve-insight-author-card__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 1px solid var(--thryve-author-button-border-color, #82bd3d2e);
	border-radius: var(--thryve-author-button-radius, 10px);
	background: transparent;
	color: var(--thryve-author-button-color, #82bd3d);
	font-family: Inter, sans-serif;
	font-size: 13px;
	font-weight: 800;
	line-height: 15px;
	margin-top: 16px;
	padding: var(--thryve-author-button-padding, 1.2em);
	text-decoration: none;
	text-transform: uppercase;
	transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.thryve-insight-author-card__button:hover,
.thryve-insight-author-card__button:focus-visible {
	background: var(--thryve-author-button-hover-bg, #10141a);
	border-color: var(--thryve-author-button-color, #82bd3d);
	color: var(--thryve-author-button-hover-color, #f4f3ee);
	transform: translateY(-4px);
}

.thryve-insight-author-card__button-icon {
	display: block;
	flex: 0 0 var(--thryve-author-icon-size, 16px);
	width: var(--thryve-author-icon-size, 16px);
	height: var(--thryve-author-icon-size, 16px);
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	transform: translateY(var(--thryve-author-icon-y, -1px));
}

@media (max-width: 767px) {
	.thryve-insight-author-card {
		padding: 16px;
	}
}


.thryve-dropdown-filter .thryve-taxonomy-dropdown {
	position: relative;
	width: 100%;
}

.thryve-dropdown-filter .thryve-taxonomy-dropdown__select {
	appearance: none;
	width: 100%;
	min-height: var(--thryve-dropdown-height, 48px);
	padding: var(--thryve-dropdown-padding, 12px 46px 12px 16px);
	border: 1px solid var(--thryve-dropdown-border-color, #292f2d);
	border-radius: var(--thryve-dropdown-radius, 10px);
	background: var(--thryve-dropdown-bg, #10141a);
	color: var(--thryve-dropdown-color, #f4f3ee);
	font-family: Inter, sans-serif;
	font-size: var(--thryve-dropdown-font-size, 13px);
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

.thryve-dropdown-filter .thryve-taxonomy-dropdown__select:hover,
.thryve-dropdown-filter .thryve-taxonomy-dropdown__select:focus-visible {
	border-color: var(--thryve-dropdown-active-color, #82bd3d);
}

.thryve-dropdown-filter .thryve-taxonomy-dropdown__select:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--thryve-dropdown-active-color, #82bd3d) 28%, transparent);
	outline-offset: 2px;
}

.thryve-dropdown-filter .thryve-taxonomy-dropdown__icon {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: var(--thryve-dropdown-active-color, #82bd3d);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	transform: translateY(-50%);
	pointer-events: none;
}

.thryve-dropdown-filter.thryve-dropdown-ready .e-filter {
	display: none !important;
}
/* Elementor hero: live-site-inspired 64px grid and scoped cursor glow. */
.thryve-grid-glow-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	--thryve-grid-size: 64px;
	--thryve-grid-line: rgba(92, 156, 81, .16);
	--thryve-grid-glow-size: 720px;
	--thryve-grid-glow-color: rgba(92, 156, 81, .14);
	--thryve-grid-x: 50%;
	--thryve-grid-y: 50%;
	--thryve-grid-active: 0;
}

.thryve-grid-glow-hero__grid,
.thryve-grid-glow-hero__glow {
	position: absolute;
	z-index: 0;
	pointer-events: none;
}

.thryve-grid-glow-hero__grid {
	inset: 0;
	background-image:
		linear-gradient(var(--thryve-grid-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--thryve-grid-line) 1px, transparent 1px);
	background-size: var(--thryve-grid-size) var(--thryve-grid-size);
	-webkit-mask-image:
		radial-gradient(circle 800px at var(--thryve-grid-x) var(--thryve-grid-y), rgba(0, 0, 0, calc(.75 * var(--thryve-grid-active))) 0%, transparent 100%),
		radial-gradient(circle 750px at 100% 0%, rgba(0, 0, 0, .85) 0%, transparent 70%),
		radial-gradient(circle 550px at 0% 100%, rgba(0, 0, 0, .85) 0%, transparent 70%),
		linear-gradient(rgba(0, 0, 0, .42), rgba(0, 0, 0, .42));
	mask-image:
		radial-gradient(circle 800px at var(--thryve-grid-x) var(--thryve-grid-y), rgba(0, 0, 0, calc(.75 * var(--thryve-grid-active))) 0%, transparent 100%),
		radial-gradient(circle 750px at 100% 0%, rgba(0, 0, 0, .85) 0%, transparent 70%),
		radial-gradient(circle 550px at 0% 100%, rgba(0, 0, 0, .85) 0%, transparent 70%),
		linear-gradient(rgba(0, 0, 0, .42), rgba(0, 0, 0, .42));
	-webkit-mask-composite: source-over;
	mask-composite: add;
}

.thryve-grid-glow-hero__glow {
	width: var(--thryve-grid-glow-size);
	height: var(--thryve-grid-glow-size);
	left: var(--thryve-grid-x);
	top: var(--thryve-grid-y);
	background: radial-gradient(circle closest-side, var(--thryve-grid-glow-color), transparent 100%);
	mix-blend-mode: screen;
	opacity: .8;
	transform: translate(-50%, -50%);
	will-change: left, top, opacity;
	transition: opacity .2s ease-out;
}

.thryve-grid-glow-hero.is-thryve-grid-active .thryve-grid-glow-hero__glow {
	opacity: 1;
}

.thryve-grid-glow-hero > .elementor-element,
.thryve-grid-glow-hero > .e-con-inner,
.thryve-grid-glow-hero > .elementor-container {
	z-index: 1;
}

@media (hover: none), (pointer: coarse) {
	.thryve-grid-glow-hero {
		--thryve-grid-x: 75%;
		--thryve-grid-y: 15%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.thryve-grid-glow-hero__glow {
		transition: none;
	}
}
/* Elementor values marquee: seamless, editable, live-site-inspired ticker. */
.thryve-values-marquee {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: var(--thryve-marquee-padding-y, 16px) 0;
	border-top: 1px solid var(--thryve-marquee-border-color, rgba(255, 255, 255, .07));
	border-bottom: 1px solid var(--thryve-marquee-border-color, rgba(255, 255, 255, .07));
	background: var(--thryve-marquee-bg, #05090e);
}

.thryve-values-marquee__track {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	gap: 0 !important;
	width: max-content !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	animation: thryve-values-marquee-scroll var(--thryve-marquee-duration, 32s) linear infinite;
	will-change: transform;
}

.thryve-values-marquee__track > * {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	align-items: center;
	gap: var(--thryve-marquee-dot-gap, 28px);
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 var(--thryve-marquee-item-padding, 36px) !important;
	color: var(--thryve-marquee-text-color, rgba(255, 255, 255, .55)) !important;
	font-family: Inter, sans-serif;
	font-size: var(--thryve-marquee-font-size, 12px);
	font-weight: 600;
	letter-spacing: var(--thryve-marquee-letter-spacing, .14em);
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.thryve-values-marquee__track > *::before {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: var(--thryve-marquee-dot-size, 4px);
	height: var(--thryve-marquee-dot-size, 4px);
	border-radius: 50%;
	background: var(--thryve-marquee-dot-color, #5c9c51);
	transform: translateY(var(--thryve-marquee-dot-y, 3px));
}

.thryve-values-marquee__track .elementor-heading-title,
.thryve-values-marquee__track .elementor-widget-container,
.thryve-values-marquee__track p {
	margin: 0 !important;
	color: inherit !important;
	font: inherit !important;
	letter-spacing: inherit !important;
	line-height: inherit !important;
	text-transform: inherit !important;
	white-space: inherit !important;
}

.thryve-values-marquee__fade {
	position: absolute;
	inset-block: 0;
	z-index: 2;
	width: var(--thryve-marquee-fade-width, 96px);
	pointer-events: none;
}

.thryve-values-marquee__fade--left {
	left: 0;
	background: linear-gradient(90deg, var(--thryve-marquee-bg, #05090e), transparent);
}

.thryve-values-marquee__fade--right {
	right: 0;
	background: linear-gradient(-90deg, var(--thryve-marquee-bg, #05090e), transparent);
}

@keyframes thryve-values-marquee-scroll {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(var(--thryve-marquee-distance, -50%), 0, 0);
	}
}

.thryve-values-marquee:hover .thryve-values-marquee__track {
	animation-play-state: var(--thryve-marquee-hover-state, running);
}

@media (prefers-reduced-motion: reduce) {
	.thryve-values-marquee__track {
		animation: none;
		transform: none;
	}
}
/* Elementor process-step number and live-site SVG active ring. */
.thryve-process-step-number {
	position: relative;
	display: flex;
	flex: 0 0 var(--thryve-process-number-size, 64px);
	align-items: center;
	justify-content: center;
	width: var(--thryve-process-number-size, 64px);
	min-width: var(--thryve-process-number-size, 64px);
	min-height: var(--thryve-process-number-size, 64px);
	padding: 0;
	border: var(--thryve-process-number-border-width, 2px) solid var(--thryve-process-color, #5c9c51);
	border-radius: 50%;
	background: var(--thryve-process-number-bg, #05090e);
	color: var(--thryve-process-color, #5c9c51);
	overflow: visible !important;
	isolation: isolate;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.thryve-process-step-number:hover {
	background: var(--thryve-process-color, #5c9c51);
	color: var(--thryve-process-hover-color, #fff);
}

.thryve-process-step-number .elementor-heading-title {
	margin: 0;
	color: inherit;
	line-height: 1;
	transition: color .2s ease;
}

@media (max-width: 767px) {
	.thryve-process-step-number.e-con {
		flex: 0 0 var(--thryve-process-number-size, 64px) !important;
		width: var(--thryve-process-number-size, 64px) !important;
		min-width: var(--thryve-process-number-size, 64px) !important;
		max-width: var(--thryve-process-number-size, 64px) !important;
		height: var(--thryve-process-number-size, 64px) !important;
		min-height: var(--thryve-process-number-size, 64px) !important;
		align-self: center;
		aspect-ratio: 1;
	}
}
.thryve-process-step-number--active {
	border-color: transparent;
	animation: thryve-process-reassess-pulse var(--thryve-process-pulse-duration, 3s) ease-out infinite;
}

.thryve-process-step-number__glow {
	position: absolute;
	inset: -12px;
	z-index: 0;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(92, 156, 81, .18) 0%, transparent 65%);
	pointer-events: none;
}

.thryve-process-step-number__ring {
	position: absolute;
	inset: -8px;
	z-index: 2;
	display: block;
	width: 80px;
	height: 80px;
	color: var(--thryve-process-ring-color, #5c9c51);
	fill: none;
	pointer-events: none;
	transform-origin: 50% 50%;
	will-change: transform;
	animation: thryve-process-reassess-spin var(--thryve-process-ring-duration, 9s) linear infinite;
	transition: color .2s ease;
}

.thryve-process-step-number__ring path,
.thryve-process-step-number__ring polyline {
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

.thryve-process-step-number__ring polyline {
	stroke-linejoin: round;
}

.thryve-process-step-number--active:hover .thryve-process-step-number__ring {
	color: var(--thryve-process-hover-color, #fff);
}

.thryve-process-step-number--active > .elementor-element,
.thryve-process-step-number--active > .e-con-inner {
	position: relative;
	z-index: 1;
}

@keyframes thryve-process-reassess-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes thryve-process-reassess-pulse {
	0% {
		box-shadow: 0 0 0 rgba(92, 156, 81, .3);
	}
	70% {
		box-shadow: 0 0 0 14px rgba(92, 156, 81, 0);
	}
	to {
		box-shadow: 0 0 0 rgba(92, 156, 81, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.thryve-process-step-number--active,
	.thryve-process-step-number__ring {
		animation: none;
	}
}
/* Elementor Strategic Growth Model selector. */
.thryve-model-grid {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--thryve-model-gap, 16px) !important;
	width: 100%;
}

.thryve-model-item {
	min-width: 0;
	cursor: pointer;
	outline: none;
}

.thryve-model-item__label {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--thryve-model-label-height, 44px);
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--thryve-model-label-bg, #2f7d38);
	text-align: center;
}

.thryve-model-item__label .elementor-heading-title,
.thryve-model-item__label .elementor-widget-container {
	color: var(--thryve-model-label-color, #fff) !important;
	font-size: var(--thryve-model-label-font-size, 11px);
	font-weight: 700;
	line-height: 1.2;
}

.thryve-model-item__image .elementor-widget-container {
	border: 2px solid transparent;
	border-radius: var(--thryve-model-image-radius, 14px);
	overflow: hidden;
	transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.thryve-model-item__image img {
	display: block;
	width: 100%;
	height: var(--thryve-model-image-height, 264px);
	object-fit: cover;
}

.thryve-model-item:hover .thryve-model-item__image .elementor-widget-container {
	transform: translateY(-4px);
}

.thryve-model-item.is-active .thryve-model-item__image .elementor-widget-container,
.thryve-model-item:focus-visible .thryve-model-item__image .elementor-widget-container {
	border-color: var(--thryve-model-active-color, #86cc89);
	box-shadow: 0 0 22px rgba(92, 156, 81, .12);
}

.thryve-model-ready .thryve-model-detail {
	max-height: 0;
	margin-top: 0 !important;
	padding: 0 32px !important;
	border: 1px solid transparent !important;
	border-radius: var(--thryve-model-detail-radius, 14px);
	background: var(--thryve-model-detail-bg, #080e0d);
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	transform: translateY(-8px);
	pointer-events: none;
	transition: max-height .3s ease, margin-top .3s ease, padding .3s ease,
		border-color .3s ease, opacity .24s ease, transform .3s ease, visibility 0s linear .3s;
}

.thryve-model-ready .thryve-model-detail.is-open {
	max-height: 320px;
	margin-top: var(--thryve-model-detail-gap, 32px) !important;
	padding: var(--thryve-model-detail-padding, 28px 32px) !important;
	border-color: var(--thryve-model-detail-border, rgba(92, 156, 81, .35)) !important;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	transition-delay: 0s;
}

@media (max-width: 1024px) {
	.thryve-model-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.thryve-model-item__image img {
		height: var(--thryve-model-image-height-tablet, 240px);
	}
}

@media (max-width: 767px) {
	.thryve-model-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--thryve-model-gap-mobile, 12px) !important;
	}

	.thryve-model-item__image img {
		height: var(--thryve-model-image-height-mobile, 200px);
	}

	.thryve-model-ready .thryve-model-detail.is-open {
		max-height: 420px;
		padding: var(--thryve-model-detail-padding-mobile, 22px 20px) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.thryve-model-item__image .elementor-widget-container,
	.thryve-model-ready .thryve-model-detail {
		transition: none;
	}
}
/* Model selector 1.5.1: Elementor Button widget alignment. */
.thryve-model-item {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: var(--thryve-model-item-gap, 10px) !important;
}

.thryve-model-item__label {
	display: block;
	width: 100% !important;
	min-height: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.thryve-model-item__label .elementor-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: var(--thryve-model-label-height, 44px);
	padding: 6px 12px;
	border: 0;
	border-radius: 999px;
	background: var(--thryve-model-label-bg, #2f7d38);
	text-align: center;
}

.thryve-model-item__label .elementor-button:hover,
.thryve-model-item__label .elementor-button:focus {
	background: var(--thryve-model-label-bg, #2f7d38);
}

.thryve-model-item__label .elementor-button-text,
.thryve-model-item__label .elementor-heading-title {
	color: var(--thryve-model-label-color, #fff) !important;
	font-size: var(--thryve-model-label-font-size, 11px);
	font-weight: 700;
	line-height: 1.2;
}

.thryve-model-item__image {
	width: 100% !important;
}
/* Model selector 1.5.2: keep labels on one line. */
.thryve-model-item__label .elementor-button-text,
.thryve-model-item__label .elementor-heading-title {
	white-space: nowrap;
}
/* Fixed Elementor header: transparent at the top, dark after scrolling. */
.thryve-sticky-header {
	background-color: transparent !important;
	border-bottom-color: transparent !important;
	transition: background-color .3s ease, border-color .3s ease,
		backdrop-filter .3s ease, -webkit-backdrop-filter .3s ease;
}

.thryve-sticky-header.is-thryve-header-scrolled {
	background-color: var(--thryve-header-scrolled-bg, rgba(5, 9, 14, .96)) !important;
	border-bottom: 1px solid var(--thryve-header-scrolled-border, rgba(255, 255, 255, .07)) !important;
	-webkit-backdrop-filter: blur(var(--thryve-header-blur, 14px));
	backdrop-filter: blur(var(--thryve-header-blur, 14px));
}

@media (prefers-reduced-motion: reduce) {
	.thryve-sticky-header {
		transition: none;
	}
}

/* Live-site-style custom dropdown layered over Elementor Taxonomy Filter. */
.thryve-dropdown-filter { position: relative; z-index: 30; }
.thryve-dropdown-filter .thryve-taxonomy-dropdown--custom { position: relative; width: 100%; min-width: var(--thryve-dropdown-min-width, 170px); }
.thryve-taxonomy-dropdown--custom .thryve-taxonomy-dropdown__select,
.thryve-taxonomy-dropdown--custom > .thryve-taxonomy-dropdown__icon { display: none !important; }

.thryve-dropdown-filter .thryve-taxonomy-dropdown__trigger {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	width: 100%; min-height: 36px; padding: 8px 16px;
	border: 1px solid rgba(255,255,255,.12); border-radius: 999px;
	-webkit-appearance: none; appearance: none; background: transparent !important; background-image: none !important; box-shadow: none !important; color: rgba(255,255,255,.72);
	font-family: Inter,sans-serif; font-size: 12px; font-weight: 600; line-height: 1.2;
	letter-spacing: .1em; text-align: left; text-transform: uppercase; cursor: pointer;
	transition: border-color 180ms ease,color 180ms ease;
}
.thryve-dropdown-filter .thryve-taxonomy-dropdown__trigger:hover,
.thryve-dropdown-filter .thryve-taxonomy-dropdown__trigger:focus-visible,
.thryve-dropdown-filter .thryve-taxonomy-dropdown--custom.is-open .thryve-taxonomy-dropdown__trigger { border-color: rgba(134,204,137,.65); color: #fff; }
.thryve-taxonomy-dropdown__trigger:focus-visible { outline: 2px solid rgba(134,204,137,.45); outline-offset: 2px; }
.thryve-taxonomy-dropdown__chevron {
	flex: 0 0 auto; width: 12px; height: 12px; fill: none; stroke: currentColor;
	stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform 180ms ease;
}
.thryve-taxonomy-dropdown--custom.is-open .thryve-taxonomy-dropdown__chevron { transform: rotate(180deg); }

.thryve-taxonomy-dropdown__menu {
	position: absolute; top: calc(100% + 8px); right: 0; z-index: 100;
	display: flex; flex-direction: column; width: max(100%,var(--thryve-dropdown-menu-width,225px));
	padding: 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px;
	background: var(--thryve-dropdown-menu-background,#141a14); box-shadow: 0 18px 46px rgba(0,0,0,.35);
	opacity: 0; visibility: hidden; transform: translateY(-6px); pointer-events: none;
	transition: opacity 180ms ease,transform 180ms ease,visibility 180ms ease;
}
.thryve-taxonomy-dropdown--custom.is-open .thryve-taxonomy-dropdown__menu {
	opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}
.thryve-dropdown-filter .thryve-taxonomy-dropdown__option {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	width: 100%; min-height: 36px; padding: 8px; border: 0; border-radius: 8px;
	-webkit-appearance: none; appearance: none; background: transparent !important; box-shadow: none !important; color: rgba(255,255,255,.58);
	font-family: Inter,sans-serif; font-size: 13px; font-weight: 700; line-height: 1.25;
	letter-spacing: .035em; text-align: left; text-transform: uppercase; cursor: pointer;
}
.thryve-dropdown-filter .thryve-taxonomy-dropdown__option:hover,
.thryve-dropdown-filter .thryve-taxonomy-dropdown__option:focus-visible { background: rgba(255,255,255,.045); color: #fff; outline: none; }
.thryve-taxonomy-dropdown__option::after {
	flex: 0 0 14px; width: 14px; content: ''; color: #86cc89; font-size: 14px; line-height: 1; text-align: center;
}
.thryve-taxonomy-dropdown__option[aria-selected='true'] { color: #86cc89; }
.thryve-taxonomy-dropdown__option[aria-selected='true']::after { content: '\2713'; }

@media (max-width: 767px) {
	.thryve-taxonomy-dropdown__menu { width: max(100%,min(225px,calc(100vw - 32px))); }
}
@media (prefers-reduced-motion: reduce) {
	.thryve-taxonomy-dropdown__trigger,
	.thryve-taxonomy-dropdown__chevron,
	.thryve-taxonomy-dropdown__menu { transition: none; }
}


/* Insights article / press segmented tabs. */
.thryve-insights-tabs {
	display: flex;
	width: fit-content;
	gap: 0 !important;
	padding: 0;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 999px;
	overflow: hidden;
}
.thryve-insights-tabs .thryve-insights-tab { width: auto; }
.thryve-insights-tabs .thryve-insights-tab .elementor-button {
	min-height: 34px;
	padding: 9px 16px;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: rgba(255,255,255,.68);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.thryve-insights-tabs .thryve-insights-tab.is-active .elementor-button {
	background: #58a94f !important;
	color: #fff;
}
.thryve-insights-panel[hidden] { display: none !important; }


/* Accent marker output for dynamic headings and supported ACF text fields site-wide. */
.hero-accent {
	color: #86cc89;
	font-style: italic;
	font-weight: inherit;
}

.hero-white {
	color: #fff;
	font-style: italic;
	font-weight: inherit;
}

/* Dynamic Service Includes cards. Empty template slots are removed on the frontend. */
.thryve-service-item[hidden],
.thryve-service-item--empty {
	display: none !important;
}

@media (min-width: 768px) {
	.thryve-service-includes__grid > .thryve-service-item--full,
	.thryve-service-includes__grid > .e-con-inner > .thryve-service-item--full {
		grid-column: 1 / -1;
		width: 100% !important;
		max-width: none !important;
		flex: 0 0 100% !important;
	}
}
/* Elementor Nested Tabs: resource type dropdown and contextual taxonomy filter. */
@keyframes thryve-insights-tabs-fallback {
	to { visibility: visible; }
}

/*
 * Prevent the native resource-type tabs from flashing before JavaScript builds
 * the dropdown. Visibility preserves the control row's height, while the
 * delayed animation restores the tabs if JavaScript does not initialize.
 */
.thryve-insights-layout:not([data-thryve-insights-layout-ready]) .e-n-tabs > .e-n-tabs-heading {
	visibility: hidden;
	animation: thryve-insights-tabs-fallback 0s linear 2s forwards;
}

body.elementor-editor-active .thryve-insights-layout .e-n-tabs > .e-n-tabs-heading,
body.elementor-editor-preview .thryve-insights-layout .e-n-tabs > .e-n-tabs-heading {
	visibility: visible;
	animation: none;
}

.thryve-insights-layout .thryve-insights-native-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	width: 100%;
	margin: 0 0 56px;
}
.thryve-insights-layout .thryve-insights-native-tabs-source { display: none !important; }
.thryve-insights-layout .thryve-insights-type-filter { z-index: 60; }
.thryve-insights-layout .thryve-insights-type-filter .thryve-taxonomy-dropdown__menu {
	background: #141a14 !important;
	background-color: #141a14 !important;
}
.thryve-insights-layout .thryve-insights-native-controls > .thryve-insights-type-filter,
.thryve-insights-layout .thryve-insights-native-controls > .thryve-dropdown-filter {
	flex: 0 0 30%;
	width: 30% !important;
}
.thryve-insights-layout .thryve-insights-native-controls > .thryve-dropdown-filter:last-child { margin-left: auto; }
@media (max-width: 767px) {
	.thryve-insights-layout .thryve-insights-native-controls {
		align-items: stretch;
		flex-direction: column;
		gap: 18px;
		margin-bottom: 32px;
	}
	.thryve-insights-layout .thryve-insights-native-controls > .thryve-dropdown-filter {
		align-self: center;
		margin-inline: auto !important;
		flex-basis: auto;
		width: 100% !important;
		max-width: 370px;
	}
}
/* Careers form custom PDF upload. */
.thryve-career-form .elementor-field-group-career_resume {
	position: relative;
}
.thryve-career-form .elementor-field-group-career_resume > .elementor-field-label {
	margin-bottom: 10px;
	color: rgba(255,255,255,.62);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.thryve-career-form .thryve-career-upload__native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.thryve-career-form .thryve-career-upload {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	padding: 12px 18px;
	border: 1px dashed rgba(255,255,255,.2);
	border-radius: 10px;
	background: rgba(3,8,14,.32);
	color: rgba(255,255,255,.58);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
	transition: border-color 180ms ease,background-color 180ms ease,color 180ms ease;
}
.thryve-career-form .thryve-career-upload:hover,
.thryve-career-form .thryve-career-upload__native:focus-visible + .thryve-career-upload {
	border-color: rgba(134,204,137,.62);
	background: rgba(134,204,137,.04);
	color: rgba(255,255,255,.82);
}
.thryve-career-form .thryve-career-upload.has-files {
	border-color: rgba(134,204,137,.48);
	color: #86cc89;
}
.thryve-career-form .thryve-career-upload__icon {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.thryve-career-form .thryve-career-upload__text {
	max-width: calc(100% - 26px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.thryve-career-form .career-upload-note {
	display: block;
	margin-top: -4px;
	color: rgba(255,255,255,.42);
	font-size: 12px;
	line-height: 1.4;
}
.thryve-career-form .thryve-career-upload__error {
	width: 100%;
	margin-top: 7px;
	color: #e58b8b;
	font-size: 12px;
	line-height: 1.4;
}
@media (prefers-reduced-motion: reduce) {
	.thryve-career-form .thryve-career-upload {
		transition: none;
	}
}
/* Homepage thesis scroll-spy states. */
.thryve-thesis-item .elementor-heading-title,
.thryve-thesis-nav .elementor-icon-list-text,
.thryve-thesis-nav .elementor-icon-list-icon svg {
	transition: color 220ms ease, fill 220ms ease, opacity 220ms ease;
}

.thryve-thesis-item.is-active .elementor-heading-title,
.thryve-thesis-nav .elementor-icon-list-item.is-active .elementor-icon-list-text {
	color: #86cc89 !important;
}

.thryve-thesis-nav .elementor-icon-list-item.is-active .elementor-icon-list-icon svg,
.thryve-thesis-nav .elementor-icon-list-item.is-active .elementor-icon-list-icon path {
	color: #86cc89 !important;
	fill: #86cc89 !important;
}

/* Contact tabs: allow only 4-up, 2-up, or 1-up title layouts. */
.thryve-contact-tabs .e-n-tabs-heading {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
}

.thryve-contact-tabs .e-n-tabs-heading > .e-n-tab-title {
	justify-content: center;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	white-space: nowrap;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.thryve-contact-tabs .e-n-tabs-heading {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.thryve-contact-tabs .e-n-tabs-heading {
		grid-template-columns: minmax(0, 1fr);
	}
}
