/*
 * Shared native Elementor visual treatments.
 * Keep page-specific layout values in Elementor; use this file only for reusable layered visuals.
 */
.tc-native-hero {
	background:
		radial-gradient(1000px 520px at 50% -6%, rgba(30, 144, 255, 0.5), transparent 64%),
		radial-gradient(700px 420px at 88% 10%, rgba(37, 99, 235, 0.42), transparent 62%),
		linear-gradient(180deg, #0F2E8A 0%, #1B4BC4 100%) !important;
	overflow: hidden;
	isolation: isolate;
	position: relative;
}

.tc-native-hero .tc-native-hero-gl {
	display: block;
	height: 100%;
	inset: 0;
	mix-blend-mode: screen;
	opacity: 0.85;
	position: absolute;
	width: 100%;
	z-index: -2;
}

.tc-native-hero::after {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 56px 56px;
	content: '';
	inset: 0;
	-webkit-mask-image: radial-gradient(ellipse 90% 60% at 50% 0%, #000 40%, transparent 78%);
	mask-image: radial-gradient(ellipse 90% 60% at 50% 0%, #000 40%, transparent 78%);
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.tc-native-hero > .e-con {
	position: relative;
	z-index: 1;
}

.tc-native-hero-badge .elementor-heading-title {
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 999px;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 13px;
	font-weight: 500;
	gap: 10px;
	letter-spacing: normal !important;
	padding: 8px 16px;
	text-transform: none !important;
}

.tc-native-hero-badge .elementor-heading-title::before {
	animation: tc-native-hero-ping 1.8s cubic-bezier(0, 0, 0.2, 1) infinite;
	background: #1E90FF;
	border-radius: 999px;
	box-shadow: 0 0 0 0 rgba(30, 144, 255, 0.75);
	content: '';
	height: 8px;
	width: 8px;
}

@keyframes tc-native-hero-ping {
	75%, 100% {
		box-shadow: 0 0 0 10px rgba(30, 144, 255, 0);
	}
}

.tc-native-hero-title .elementor-heading-title {
	color: #FFFFFF;
	font-size: clamp(38px, 6vw, 74px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.05 !important;
	margin: 0 auto;
	max-width: 19ch;
}

.tc-native-hero-accent {
	background: linear-gradient(96deg, #FFFFFF 20%, #9EC9FF 62%, #1E90FF 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.tc-native-hero-sub p {
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(16px, 1.6vw, 20px) !important;
	line-height: 1.62 !important;
	margin: 0 auto;
	max-width: 62ch;
}

.tc-native-hero-actions .elementor-button {
	font-family: Satoshi, sans-serif !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	height: 56px;
	letter-spacing: normal !important;
	line-height: 29.7px !important;
	padding: 0 36px !important;
}

/* Elementor adds 10px vertical padding to boxed containers by default. The
 * original hero has the button row itself on the 32px rhythm, not a padded row. */
.tc-native-hero-actions > .e-con-inner {
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}

.tc-native-hero-primary .elementor-button {
	background: linear-gradient(#2E6BF0, #2563EB) !important;
	border: 0 !important;
	border-radius: 10px !important;
	box-shadow: 0 10px 24px -8px rgba(37, 99, 235, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

.tc-native-hero-ghost .elementor-button {
	background: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: 10px !important;
	backdrop-filter: blur(8px);
}

.tc-native-hero-fine p {
	color: rgba(255, 255, 255, 0.65);
	font-size: 14px !important;
	line-height: 29.7px !important;
	margin: 0;
}

/* Native Elementor Lottie overlay: the approval state pulses, while the rest of
 * the timeline remains legible. This is intentionally distinct from the signal
 * animation used in the cost section. */
.tc-native-approval-visual {
	isolation: isolate;
	position: relative;
}

.tc-native-approval-visual > .elementor-element:first-child {
	position: relative;
	z-index: 0;
}

.tc-native-approval-pulse {
	inset: 0;
	pointer-events: none;
	position: absolute !important;
	z-index: 1;
}

.tc-native-approval-pulse .elementor-widget-container,
.tc-native-approval-pulse .e-lottie__container,
.tc-native-approval-pulse svg {
	height: 100% !important;
	width: 100% !important;
}
