/* UTP homepage + light redesign (local preview) */

:root {
	--esk-radius-sm: 0.375rem;
	--esk-radius-md: 0.625rem;
	--esk-accent: #3a8bee;
	--esk-accent-orange: #ff9800;
}

/* --- hero: original gray, no gradient --- */
.top-title {
	background-color: #f7f7f7;
	background-image: none;
}

.btn,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
textarea,
select,
.checkbox,
.header-login-link,
.service .screen-bg,
.types li,
.service-highlight {
	border-radius: var(--esk-radius-sm);
}

.btn,
.service-highlight,
.types li {
	border-radius: var(--esk-radius-md);
}

.contact-us .grid {
	border-radius: var(--esk-radius-md);
}

/* --- hero MVP widget (sticky-bar accent) --- */
.top-title h1 {
	min-height: 0;
	margin-bottom: 1rem;
}

.hero-highlight {
	display: inline-flex;
	max-width: 30rem;
	margin: 0 0 1.125rem 0;
	padding: 1.125rem 1.375rem 1.125rem 1.25rem;
	background: linear-gradient(135deg, #eef6ff 0%, #f8fbff 100%);
}

.hero-highlight .service-highlight__icon {
	color: var(--esk-accent);
}

.hero-highlight__row {
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
}

.hero-highlight__title {
	font-size: 1.25rem;
	line-height: 1.25;
	font-weight: 500;
	color: #222;
}

.hero-highlight__sub {
	margin-top: 0.35rem;
	font-size: 1.0625rem;
	line-height: 1.3;
	font-weight: 500;
	color: var(--esk-accent);
}

.hero-utp {
	margin: 0 0 0.75rem 0;
	max-width: 36rem;
	font-size: 1.375rem;
	line-height: 1.35;
	color: #222;
}

.hero-utp strong {
	font-weight: 500;
	color: #111;
}

.hero-utp__note {
	margin: 0;
	max-width: 36rem;
	font-size: 1.0625rem;
	line-height: 1.4;
	color: #626262;
}

/* --- service highlight cards --- */
.service-highlight {
	background: linear-gradient(135deg, #eef6ff 0%, #f8fbff 100%);
	border: 1px solid #c5ddf7;
	box-shadow: 0 0.35rem 1rem rgba(58, 139, 238, 0.12);
}

.service-highlight.hero-highlight,
.service-highlight--card {
	border: 1px solid #c5ddf7;
	border-left: 0.375rem solid var(--esk-accent-orange);
}

.service-highlight--card {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.25rem;
	padding: 1.125rem 1.25rem;
}

.service-highlight__body {
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
	flex: 1 1 auto;
	min-width: 0;
}

.service-highlight__icon {
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #3a8bee;
}

.service-highlight__icon svg {
	width: 2.25rem;
	height: 2.25rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.service-highlight__icon svg [fill="currentColor"] {
	fill: currentColor;
	stroke: none;
}

.service-highlight__text {
	font-size: 1.0625rem;
	line-height: 1.35;
	font-weight: 500;
	color: #222;
	text-align: left;
}

.service-highlight__action {
	flex: 0 0 auto;
	margin: 0;
}

.service-highlight__action .btn {
	display: inline-block;
	width: auto;
	min-width: 12.9375rem;
	white-space: nowrap;
}

/* hor services: bottom-align widget with screenshot */
.service.hor {
	display: grid;
	grid-template-columns: 50% calc(50% - 4.875rem);
	column-gap: 4.875rem;
	align-items: end;
	justify-content: space-between;
}

.service.hor .text {
	width: auto;
	grid-column: 1;
	display: flex;
	flex-direction: column;
	align-self: end;
}

.service.hor .text-grid {
	display: flex;
	flex-direction: column;
	flex: 0 1 auto;
}

.service.hor .text-main {
	flex: 0 1 auto;
}

.service.hor .text-second {
	flex: 0 0 auto;
	margin: 1.25rem 0 0 0;
	padding: 0;
	align-self: stretch;
}

.service.hor .text-second .service-highlight--card {
	width: 100%;
	max-width: none;
	margin: 0 !important;
}

.service.vert .text-second .service-highlight--card {
	width: 100%;
	max-width: none;
	margin: 0 !important;
}

.service.vert .text-second {
	align-self: center;
}

.service.hor .screens {
	grid-column: 2;
	width: auto;
	margin: 0;
	align-self: end;
}

.service.hor .screens > .screen {
	padding: 0;
	margin: 0;
}

@media (max-width: 991px) {
	.hero-utp {
		font-size: 1.125rem;
	}

	.hero-highlight {
		max-width: none;
		width: 100%;
	}

	.service.hor {
		display: block;
	}

	.service.hor .text,
	.service.hor .screens {
		width: 100%;
	}

	.service.hor .text-second {
		margin-top: 1rem;
	}

	.service-highlight--card {
		flex-direction: column;
		align-items: stretch;
	}

	.service-highlight__action .btn {
		width: 100%;
		min-width: 0;
	}
}

/* --- header + footer: original light left, gradient only on the right --- */
.header,
.footer-body {
	background-color: #fafafa;
	background-image:
		radial-gradient(ellipse 85% 160% at 96% 32%, rgba(20, 184, 166, 0.112) 0%, rgba(20, 184, 166, 0.028) 48%, transparent 76%),
		radial-gradient(ellipse 75% 140% at 82% 78%, rgba(58, 139, 238, 0.154) 0%, rgba(58, 139, 238, 0.042) 50%, transparent 76%),
		radial-gradient(ellipse 60% 110% at 90% 8%, rgba(58, 139, 238, 0.084) 0%, transparent 68%);
	background-repeat: no-repeat;
}

.header {
	overflow: visible;
	border-bottom-color: #e1e1e1;
	background-size: 100% 24rem;
	background-position: 50% 38%;
}

.footer-body {
	position: relative;
	z-index: 0;
	color: #353849;
}

.footer-body a {
	color: #353849;
}

.contact-us {
	z-index: 2;
}

.header::before,
.footer-body::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.15;
	background-image:
		repeating-linear-gradient(-18deg, rgba(53, 56, 73, 0.042) 0 1px, transparent 1px 18px),
		repeating-linear-gradient(72deg, rgba(58, 139, 238, 0.049) 0 1px, transparent 1px 28px);
	-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 42%, #000 78%);
	        mask-image: linear-gradient(to right, transparent 0%, transparent 42%, #000 78%);
}

.header > * {
	position: relative;
	z-index: 1;
}

.header-links .header-link,
.header-links .header-link a,
.header-links .header-link b,
.header-links .header-link .menu-link {
	color: #3a8bee;
}

.header-link-wrap:hover a.header-link,
.header-link-wrap:hover .header-link.toggle {
	background: #fff;
}

.header-link.toggle:after {
	-webkit-filter: none;
	        filter: none;
	opacity: 1;
}

@media only screen and (min-width: 1144px) {
	.header-link-wrap {
		overflow: visible;
	}

	.header-menu-popup--dev {
		min-width: 22.5rem;
		width: max-content;
		overflow: visible;
	}

	.header-menu-popup li > * {
		padding-left: 2rem;
	}

	.header-menu-popup li.with-bg > * {
		padding-left: 2rem;
	}

	.header-menu-popup li.has-icon > .header-menu-item {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		padding-right: 1.5rem;
	}

	.header-menu-popup .header-menu-icon {
		flex: 0 0 1.375rem;
		width: 1.375rem;
		font-size: 1.25rem;
		line-height: 1;
		color: #3a8bee;
		font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	}
}

.material-symbols-outlined {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.lang-switch__link {
	color: #626262;
}

.lang-switch__link:hover {
	background: #f1f5fb;
	color: #3a8bee;
}

.lang-switch__link.is-active {
	background: #eef6ff;
	color: #3a8bee;
}

.lang-flag {
	border-color: rgba(0, 0, 0, 0.08);
}

.footer-parsing-top {
	background: rgba(255, 255, 255, 0.55);
	border-color: rgba(53, 56, 73, 0.28);
	color: #353849;
}

.footer-parsing-top:hover {
	background: rgba(255, 255, 255, 0.85);
	border-color: rgba(58, 139, 238, 0.45);
	color: #353849;
}

.footer-menu-col--parsing .footer-menu-sub a {
	color: #353849;
}

@media only screen and (min-width: 1144px) {
	.header-grid {
		height: 5.25rem;
		-webkit-transition: height 0.3s ease;
		transition: height 0.3s ease;
	}

	.header-logo img {
		max-height: 4.1875rem;
		-webkit-transition: max-height 0.3s ease;
		transition: max-height 0.3s ease;
	}

	.header.is-compact .header-grid {
		height: 3.875rem;
	}

	.header.is-compact .header-logo img {
		max-height: 2.5rem;
	}
}

.footer-logo img {
	opacity: 1 !important;
}

.lead-pipeline-overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgba(0, 0, 0, 0.45);
}

.lead-pipeline-modal {
	width: 100%;
	max-width: 34rem;
	padding: 2.25rem 2rem 2rem;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

.lead-pipeline-title {
	margin: 0 0 0.35rem;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	color: #1e293b;
	text-transform: none;
	letter-spacing: 0;
}

.lead-pipeline-subtitle {
	margin: 0 0 1.75rem;
	font-size: 0.9375rem;
	text-align: center;
	color: #64748b;
}

.lead-pipeline-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lead-pipeline-step {
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
	margin-bottom: 1.125rem;
	font-size: 1rem;
	line-height: 1.45;
	opacity: 0;
	transform: translateX(-12px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.lead-pipeline-step.is-visible {
	opacity: 1;
	transform: translateX(0);
}

.lead-pipeline-step--done.is-visible {
	color: #334155;
}

.lead-pipeline-step--active.is-visible {
	font-weight: 600;
	color: #0f172a;
}

.lead-pipeline-step--pending.is-visible {
	color: #64748b;
}

.lead-pipeline-step__icon {
	flex: 0 0 1.75rem;
	width: 1.75rem;
	height: 1.75rem;
	margin-top: 0.05rem;
	border-radius: 50%;
}

.lead-pipeline-step--done .lead-pipeline-step__icon {
	background: #22c55e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/0.875rem no-repeat;
}

.lead-pipeline-step--active .lead-pipeline-step__icon {
	background: #2563eb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/0.875rem no-repeat;
}

.lead-pipeline-step--pending .lead-pipeline-step__icon {
	border: 2px solid #e2e8f0;
	background: #fff;
}

.lead-pipeline-overlay .lead-pipeline-step--active:first-child .lead-pipeline-step__icon {
	background: #2563eb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center/0.875rem no-repeat;
	animation: lead-pipeline-spin 0.8s linear infinite;
}

.lead-pipeline-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin-top: 2rem;
	padding: 0.875rem 1rem;
	border: 0;
	border-radius: 0.5rem;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	background: #2563eb;
	cursor: pointer;
	transition: background 0.2s ease, opacity 0.2s ease;
}

.lead-pipeline-btn:hover:not(:disabled) {
	background: #1d4ed8;
}

.lead-pipeline-btn:disabled {
	opacity: 0.9;
	cursor: wait;
	animation: lead-pipeline-pulse 1.5s ease-in-out infinite;
}

.lead-pipeline-btn__spinner {
	width: 1rem;
	height: 1rem;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: lead-pipeline-spin 0.8s linear infinite;
}

@keyframes lead-pipeline-spin {
	to { transform: rotate(360deg); }
}

@keyframes lead-pipeline-pulse {
	0%, 100% { opacity: 0.9; }
	50% { opacity: 0.75; }
}
