/* Homepage hero CTAs: Elementor's generated percentage padding is too wide
 * on narrow screens, so use a stable button width and responsive spacing. */
.elementor-18 .elementor-element.elementor-element-bae08ac .elementor-button,
.elementor-18 .elementor-element.elementor-element-d2e7321 .elementor-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	width: auto;
	max-width: 100%;
	padding: 16px clamp(24px, 6vw, 95px) !important;
	white-space: nowrap;
}

@media (max-width: 1024px) {
	.elementor-18 .elementor-element.elementor-element-cfef1c3,
	.elementor-18 .elementor-element.elementor-element-2247619 {
		width: 100%;
		max-width: 100%;
		align-items: center;
	}

	.elementor-18 .elementor-element.elementor-element-bae08ac .elementor-button,
	.elementor-18 .elementor-element.elementor-element-d2e7321 .elementor-button {
		width: min(100%, 360px);
		padding: 15px 28px !important;
	}
}

@media (max-width: 767px) {
	.elementor-18 .elementor-element.elementor-element-cfef1c3 {
		gap: 12px;
		margin-bottom: 0;
	}

	.elementor-18 .elementor-element.elementor-element-2247619 {
		gap: 12px;
	}

	.elementor-18 .elementor-element.elementor-element-bae08ac,
	.elementor-18 .elementor-element.elementor-element-d2e7321 {
		width: 100%;
		max-width: 100%;
		text-align: center;
	}

	.elementor-18 .elementor-element.elementor-element-bae08ac .elementor-button,
	.elementor-18 .elementor-element.elementor-element-d2e7321 .elementor-button {
		width: min(100%, 320px);
		min-height: 48px;
		padding: 13px 20px !important;
		font-size: 15px;
	}
}
