/* Three Things — Angie Snippet 28357
   Section heading + intro, followed by 3 bordered columns with red vertical
   accent line, contained image, description, and full-width outline CTA button. */

.tt-28357 {
	--tt-accent-color: #E31837;
	--tt-accent-width: 2px;
	--tt-gap: 36px;
	--tt-btn-color: #D8262F;
	--tt-btn-bg: rgba(227, 24, 55, 0.08);
	--tt-btn-border: #E31837;
	--tt-btn-hover-color: #FFFFFF;
	--tt-btn-hover-bg: #E31837;
	--tt-btn-hover-border: #E31837;
	box-sizing: border-box;
	padding: 64px 24px;
	background-color: var(--tw-color-white, #FFFFFF);
}

.tt-28357 .tt-28357__inner {
	max-width: 1240px;
	margin-inline: auto;
}

.tt-28357 .tt-28357__header {
	max-width: 820px;
	margin: 0 auto 48px;
	text-align: center;
}

.tt-28357 .tt-28357__heading,
.elementor-widget-three_things_28357 .tt-28357 .tt-28357__heading {
	font-size: clamp(26px, 3.2vw, 36px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: #1F2A33;
	margin: 0 0 16px;
}

.tt-28357 .tt-28357__intro {
	font-size: var(--tw-body-size, 15px);
	line-height: 1.6;
	color: #2B2B2B;
	margin: 0 auto;
}

.tt-28357 .tt-28357__intro > *:first-child {
	margin-top: 0;
}

.tt-28357 .tt-28357__intro > *:last-child {
	margin-bottom: 0;
}

.tt-28357 .tt-28357__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--tt-gap, 36px);
	align-items: stretch;
}

.tt-28357 .tt-28357__column {
	min-width: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* Red vertical accent line on the left of title + image + text */
.tt-28357 .tt-28357__content {
	border-left: var(--tt-accent-width, 2px) solid var(--tt-accent-color, #E31837);
	padding-left: 20px;
	display: flex;
	flex-direction: column;
	flex: 1;
	margin-bottom: 24px;
}

.tt-28357 .tt-28357__col-title,
.elementor-widget-three_things_28357 .tt-28357 .tt-28357__col-title {
	color: var(--tt-accent-color, #E31837);
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.25;
	margin: 0 0 16px;
}

.tt-28357 .tt-28357__media {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background-color: #E2E8F0;
	margin-bottom: 18px;
	border-radius: 2px;
}

.tt-28357 .tt-28357__img,
.tt-28357 .tt-28357__media img.tt-28357__img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	margin: 0;
}

.tt-28357 .tt-28357__text {
	margin: 0;
	font-size: var(--tw-body-size, 14px);
	line-height: 1.6;
	color: #2B2B2B;
	flex: 1;
}

.tt-28357 .tt-28357__actions {
	margin-top: auto;
	width: 100%;
}

.tt-28357 .tt-28357__btn {
	display: block;
	width: 100%;
	padding: 12px 16px;
	border: 1.5px solid var(--tt-btn-border, #E31837);
	background-color: var(--tt-btn-bg, rgba(227, 24, 55, 0.08));
	color: var(--tt-btn-color, #D8262F);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-align: center;
	text-decoration: none;
	border-radius: 3px;
	box-sizing: border-box;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tt-28357 .tt-28357__btn:hover,
.tt-28357 .tt-28357__btn:focus-visible {
	background-color: var(--tt-btn-hover-bg, #E31837);
	color: var(--tt-btn-hover-color, #FFFFFF);
	border-color: var(--tt-btn-hover-border, #E31837);
	text-decoration: none;
}

@media (max-width: 899px) {
	.tt-28357 {
		padding: 44px 16px;
	}

	.tt-28357 .tt-28357__header {
		margin-bottom: 32px;
	}

	.tt-28357 .tt-28357__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.tt-28357 .tt-28357__content {
		margin-bottom: 18px;
	}
}
