/* True Calm homepage hero and homepage-only layout repairs */

.elementor-3224 .elementor-element.elementor-element-2a2fd33 {
	max-width: 920px;
}

.elementor-3224 .elementor-element.elementor-element-5bbf515 .title {
	font-size: clamp(28px, 3.2vw, 46px);
	line-height: 1.18;
	margin-bottom: 0;
}

.elementor-3224 .elementor-element.elementor-element-5bbf515 .title-part1 {
	display: block;
	max-width: 900px;
}

.elementor-3224 .elementor-element.elementor-element-4a4289f {
	max-width: 760px;
}

.elementor-3224 .true-calm-hero-insurance-line {
	margin: 0;
	font-size: clamp(16px, 1.5vw, 20px);
	line-height: 1.55;
	font-weight: 600;
	color: #fff;
}

.elementor-3224 .true-calm-hero-appointment {
	margin-top: 25px;
}

.elementor-3224 .true-calm-hero-appointment .elementor-widget-container,
.elementor-3224 .true-calm-hero-cta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	width: 100%;
	max-width: 100%;
}

.elementor-3224 .true-calm-hero-cta-pair {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	width: 100%;
	max-width: 100%;
}

.elementor-3224 .true-calm-hero-cta-row .btn-style1,
.elementor-3224 .true-calm-hero-cta-pair .btn-style1 {
	flex: 0 1 auto;
	max-width: 100%;
}

.elementor-3224 .elementor-element.elementor-element-cbe531d {
	--flex-direction: row;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.elementor-3224 .true-calm-hero-info-phone {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: #fff;
	text-decoration: none;
	font-size: inherit;
	line-height: 1.4;
}

.elementor-3224 .true-calm-hero-info-phone:hover,
.elementor-3224 .true-calm-hero-info-phone:focus {
	color: #fff;
	text-decoration: none;
}

.elementor-3224 .true-calm-hero-info-phone i {
	font-size: 22px;
	line-height: 1;
}

.elementor-3224 .true-calm-hero-info-phone span {
	color: #fff;
	font-weight: 600;
}

.elementor-3224 .elementor-element.elementor-element-30fcab1 {
	--align-items: center;
	--padding-top: 0px;
	--padding-bottom: 0px;
	align-items: center;
	justify-content: center;
}

.elementor-3224 .true-calm-hero-location-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	max-width: 100%;
	color: inherit;
	text-decoration: none;
}

.elementor-3224 .true-calm-hero-location-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	color: #fff;
	font-size: 22px;
	line-height: 1;
}

.elementor-3224 .true-calm-hero-location-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	color: #fff;
	text-align: left;
}

.elementor-3224 .true-calm-hero-location-text span {
	color: #fff;
	word-break: break-word;
}

.elementor-3224 .true-calm-hero-location-link:hover {
	color: inherit;
	opacity: 0.85;
	text-decoration: none;
}

.elementor-3224 .true-calm-hero-location-link:focus {
	color: inherit;
	text-decoration: none;
}

.elementor-3224 .true-calm-hero-location-link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
	opacity: 1;
}

/* Restore original hero inner spacing from post-3224 (padding-bottom was incorrectly overridden). */
.elementor-3224 .elementor-element.elementor-element-b7fcc4c {
	--padding-bottom: 15px;
	padding-bottom: 15px;
}

.elementor-3224 .elementor-element.elementor-element-332c9b1 {
	--padding-bottom: 0px;
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.elementor-3224 .elementor-element.elementor-element-5bbf515 .title {
		font-size: clamp(24px, 4.2vw, 36px);
		line-height: 1.22;
	}

	.elementor-3224 .elementor-element.elementor-element-2a2fd33 {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.elementor-3224 .elementor-element.elementor-element-5bbf515 .title {
		font-size: 24px;
		line-height: 1.28;
	}

	.elementor-3224 .true-calm-hero-insurance-line {
		font-size: 15px;
		line-height: 1.5;
	}

	.elementor-3224 .true-calm-hero-appointment {
		margin-top: 22px;
	}

	.elementor-3224 .true-calm-hero-appointment .elementor-widget-container,
	.elementor-3224 .true-calm-hero-cta-row {
		justify-content: center;
		gap: 12px;
	}

	.elementor-3224 .true-calm-hero-location-link {
		align-items: flex-start;
	}

	.elementor-3224 .true-calm-hero-location-icon {
		margin-top: 2px;
	}
}

/* How It Works — step title and description widths only. */
.elementor-3224 #working-block-holder-864791 .working-block-style3 .inner-block .working-title {
	width: 100%;
	max-width: 420px;
	margin-inline: auto;
	text-align: center;
}

.elementor-3224 #working-block-holder-864791 .working-block-style3 .inner-block .working-details {
	width: 100%;
	max-width: 340px;
	margin-inline: auto;
	text-align: center;
}

@media (max-width: 991.98px) {
	.elementor-3224 #working-block-holder-864791 .working-block-style3 .inner-block .working-title,
	.elementor-3224 #working-block-holder-864791 .working-block-style3 .inner-block .working-details {
		max-width: 100%;
	}
}
