/* Visual refresh layer on top of migrated Elementor/extras markup. */

main.hcp-home-shell {
	overflow-x: clip;
	font-family:
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		sans-serif;
}

.hcp-shell-glow::before {
	content: "";
	position: absolute;
	left: -10%;
	right: -10%;
	top: -220px;
	height: 560px;
	pointer-events: none;
	opacity: 0.38;
	filter: blur(70px);
	background: radial-gradient(ellipse at 43% -10%, rgb(120 173 246 / 0.55), transparent 58%),
		radial-gradient(ellipse at 78% -6%, rgb(160 226 239 / 0.45), transparent 56%);
	z-index: 0;
}

.hcp-shell-glow {
	position: relative;
	z-index: 1;
	isolation: isolate;
}

main.hcp-home-shell .elementor-widget-text-editor .elementor-widget-container,
main.hcp-home-shell .ekit-heading__description,
main.hcp-home-shell .ekit-heading--title {
	transition: opacity 280ms ease, transform 380ms cubic-bezier(0.25, 0.82, 0.25, 1);
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	main.hcp-home-shell *,
	main.hcp-home-shell .elementor-widget-text-editor .elementor-widget-container,
	main.hcp-home-shell .ekit-heading__description,
	main.hcp-home-shell .ekit-heading--title {
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}

main.hcp-home-shell .elementor-heading-title {
	line-height: 1.08;
	font-weight: 790;
	text-wrap: balance;
	letter-spacing: -0.02em;
}

main.hcp-home-shell h6.elementor-heading-title.elementor-size-default {
	color: rgb(71 129 229);
	text-transform: none;
	font-weight: 690;
	font-size: clamp(0.93rem, 1.95vw, 1.05rem);
	letter-spacing: 0;
}

main.hcp-home-shell p {
	color: rgb(71 71 119);
	line-height: 1.74;
	max-width: 68ch;
}

main.hcp-home-shell .elementor-button {
	border-radius: 999px !important;
	transition:
		transform 155ms cubic-bezier(0.25, 0.82, 0.25, 1),
		box-shadow 155ms cubic-bezier(0.25, 0.82, 0.25, 1);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 0.25),
		0 22px 40px rgb(18 117 239 / 0.18);
	overflow: clip;
}

main.hcp-home-shell .elementor-button:active {
	transform: scale(0.98);
}

main.hcp-home-shell .elementor-widget-button .elementor-button {
	background-image: linear-gradient(
		158deg,
		var(--hcp-accent),
		color-mix(in srgb, var(--hcp-accent) 70%, midnightblue)
	) !important;
	border: none !important;
}

main.hcp-home-shell .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 0.28),
		0 38px 64px rgb(18 117 239 / 0.25);
}

main.hcp-home-shell img {
	border-radius: 12px !important;
}

main.hcp-home-shell .elementskit-infobox,
main.hcp-home-shell .ekit-promo-cards {
	transition:
		transform 235ms cubic-bezier(0.25, 0.82, 0.25, 1),
		box-shadow 235ms cubic-bezier(0.25, 0.82, 0.25, 1);
	box-shadow:
		0 1px 0 rgb(230 239 246 / 0.75),
		0 52px 80px rgb(24 117 239 / 0.08),
		inset 0 1px 0 rgb(255 255 255 / 0.88);
	position: relative;
	border-radius: 16px !important;
	border: 1px solid rgb(228 239 246 / 0.86) !important;
	background-image: radial-gradient(circle at 12% -12%, rgb(245 247 247 / 0.75), rgb(246 246 246 / 0.75)) !important;
}

main.hcp-home-shell .elementskit-infobox:hover,
main.hcp-home-shell .ekit-promo-cards:hover {
	transform: translateY(-4px);
	box-shadow:
		0 58px 80px rgb(24 117 239 / 0.12),
		0 34px 64px rgb(24 117 239 / 0.12),
		inset 0 1px 0 rgb(255 255 255 / 1);
	border-color: color-mix(in srgb, var(--hcp-accent) 22%, rgb(229 239 246)) !important;
}

/* --- UI/UX layer (same content/colours from source site — spacing, rhythm, focus, readability) --------- */

main.hcp-home-shell .elementor-widget-text-editor,
main.hcp-home-shell .elementor-widget-text-editor .elementor-widget-container {
	max-width: min(76ch, 100%);
}

main.hcp-home-shell .elementor-top-section[data-id],
main.hcp-home-shell .elementor-element.e-parent.e-flex {
	scroll-margin-top: calc(74px + 1vh);
}

main.hcp-home-shell a:focus-visible,
main.hcp-home-shell .elementor-button:focus-visible,
main.hcp-home-shell button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--hcp-accent) 55%, white);
	outline-offset: 3px;
	border-radius: 10px;
}

main.hcp-home-shell .elementor-widget-image img,
main.hcp-home-shell .elementor-widget-image picture img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	box-shadow:
		0 1px 0 rgb(255 255 255 / 0.86),
		0 54px 80px rgb(24 117 239 / 0.1);
}

main.hcp-home-shell .elementor-icon-list-item {
	transition: transform 205ms cubic-bezier(0.25, 0.82, 0.25, 1);
	transform-origin: left center;
}

@media (prefers-reduced-motion: reduce) {
	main.hcp-home-shell .elementor-icon-list-item {
		transition-duration: 0.01ms;
	}
}

main.hcp-home-shell .elementor-icon-list-item:hover {
	transform: translateX(4px);
}

main.hcp-home-shell .elementor-heading-title.elementor-size-xl,
main.hcp-home-shell .ekit-heading--title.elementskit-section-title {
	font-size: clamp(1.72rem, 1.08vw + 1.54rem, 2.62rem);
	line-height: 1.1;
	max-width: 22ch;
	text-wrap: balance;
}

main.hcp-home-shell .elementskit-infobox:hover .elementskit-info-box-title {
	color: rgb(71 129 229);
	transition: color 200ms ease;
}

main.hcp-home-shell input.elementor-field-textual,
main.hcp-home-shell textarea.elementor-field-textual,
main.hcp-home-shell select.elementor-field-textual {
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease;
}

main.hcp-home-shell input.elementor-field-textual:focus-visible,
main.hcp-home-shell textarea.elementor-field-textual:focus-visible,
main.hcp-home-shell select.elementor-field-textual:focus-visible {
	border-color: color-mix(in srgb, var(--hcp-accent) 45%, rgb(226 239 246)) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--hcp-accent) 22%, transparent);
}
