/**
 * Premium polish pass — trust/results/workflow/hero/footer/topbar/logo
 */

/* ===== Logo visibility ===== */
.site-nav__logo {
	height: 44px !important;
	max-width: 200px !important;
	filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.25));
}
body:not(.front-page) .site-nav__logo,
.site-nav--filled .site-nav__logo {
	filter: none;
}
.site-footer__logo {
	height: 48px !important;
	max-width: 210px !important;
	width: auto;
	display: block !important;
	filter: drop-shadow(0 2px 10px rgb(0 0 0 / 0.35));
}
.site-footer__mark,
.site-footer__name,
.site-nav__mark,
.site-nav__name {
	display: none !important;
}

/* ===== Top announcement bar ===== */
.announcement-bar {
	background: linear-gradient(90deg, #041228 0%, #08214a 45%, #0b3d86 100%) !important;
	border-bottom: 1px solid rgb(255 255 255 / 0.08);
	min-height: 44px;
}
.announcement-bar__pill {
	display: inline-flex;
	align-items: center;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: var(--fx-amber, #f6b233);
	color: #08214a;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-right: 0.45rem;
}
.announcement-bar__link {
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 600;
}
.announcement-bar__link:hover { color: var(--fx-amber, #f6b233) !important; }
.announcement-bar__meta--btn {
	padding: 0.25rem 0.7rem !important;
	border-radius: 999px;
	border: 1px solid rgb(255 255 255 / 0.25);
	background: rgb(255 255 255 / 0.08);
}
.announcement-bar__meta--btn:hover {
	background: var(--fx-amber, #f6b233) !important;
	color: #08214a !important;
	border-color: var(--fx-amber, #f6b233);
}

/* ===== Hero premium motion ===== */
.fx-banner__bg--ken {
	animation: fx-ken 22s ease-in-out infinite alternate;
	transform-origin: center right;
}
.fx-banner__orbs { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.fx-banner__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(40px);
	opacity: 0.35;
	animation: fx-orb 10s ease-in-out infinite;
}
.fx-banner__orb--1 { width: 280px; height: 280px; background: #1f7bff; left: 8%; top: 20%; }
.fx-banner__orb--2 { width: 220px; height: 220px; background: #17c3c8; right: 18%; top: 12%; animation-delay: -3s; }
.fx-banner__orb--3 { width: 180px; height: 180px; background: #f6b233; left: 35%; bottom: 10%; animation-delay: -6s; opacity: 0.22; }

.fx-anim {
	animation: fx-rise 0.85s cubic-bezier(.22,.7,.2,1) both;
}
.fx-anim--delay { animation-delay: 0.15s; }
.fx-float { animation: fx-float 4.5s ease-in-out infinite; }
.fx-float--delay { animation-delay: -2s; }
.fx-btn--pulse {
	box-shadow: 0 0 0 0 rgb(246 178 51 / 0.55);
	animation: fx-pulse 2.4s ease-out infinite;
}
.fx-banner__badge--jobs {
	left: auto !important;
	right: 4%;
	bottom: 42% !important;
}
.fx-banner__worker {
	animation: fx-rise 1s cubic-bezier(.22,.7,.2,1) both 0.2s;
}

@keyframes fx-ken {
	from { transform: scale(1.02) translate3d(0,0,0); }
	to { transform: scale(1.1) translate3d(-2%, 1%, 0); }
}
@keyframes fx-orb {
	0%,100% { transform: translate3d(0,0,0); }
	50% { transform: translate3d(18px,-22px,0); }
}
@keyframes fx-rise {
	from { opacity: 0; transform: translate3d(0,28px,0); }
	to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes fx-float {
	0%,100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}
@keyframes fx-pulse {
	0% { box-shadow: 0 0 0 0 rgb(246 178 51 / 0.5); }
	70% { box-shadow: 0 0 0 16px rgb(246 178 51 / 0); }
	100% { box-shadow: 0 0 0 0 rgb(246 178 51 / 0); }
}

/* ===== Premium trust strip ===== */
.fx-trust {
	position: relative;
	z-index: 5;
	margin-top: -2.5rem;
	margin-bottom: 0.5rem;
}
.fx-trust__panel {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	padding: 1rem;
	border-radius: 1.15rem;
	background: linear-gradient(135deg, #061833 0%, #0a2f66 55%, #0d4a8f 100%);
	border: 1px solid rgb(255 255 255 / 0.12);
	box-shadow: 0 24px 50px rgb(8 33 74 / 0.28);
}
@media (min-width: 700px) {
	.fx-trust__panel { grid-template-columns: repeat(2, minmax(0,1fr)); padding: 1.15rem; }
}
@media (min-width: 1024px) {
	.fx-trust__panel { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0.5rem; }
}
.fx-trust__item {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.85rem 0.95rem;
	border-radius: 0.9rem;
	background: rgb(255 255 255 / 0.06);
	border: 1px solid rgb(255 255 255 / 0.08);
	transition: transform 0.25s ease, background 0.25s ease;
}
.fx-trust__item:hover {
	transform: translateY(-3px);
	background: rgb(255 255 255 / 0.1);
}
.fx-trust__icon {
	width: 46px;
	height: 46px;
	border-radius: 0.85rem;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, rgb(246 178 51 / 0.25), rgb(31 123 255 / 0.18));
	color: #f6b233;
	flex: 0 0 auto;
}
.fx-trust__item strong {
	display: block;
	color: #fff;
	font-size: 0.98rem;
	font-family: Poppins, Inter, sans-serif;
}
.fx-trust__item em {
	display: block;
	font-style: normal;
	color: rgb(255 255 255 / 0.72);
	font-size: 0.8rem;
	margin-top: 0.1rem;
}

/* Hide old trust strip if residual */
.fx-banner__trust { display: none !important; }
.fx-stats { display: none !important; }

/* ===== Premium results cards ===== */
.fx-results {
	padding: 4.5rem 0 2rem;
	background:
		radial-gradient(ellipse 50% 60% at 10% 0%, rgb(31 123 255 / 0.08), transparent 55%),
		radial-gradient(ellipse 40% 50% at 90% 20%, rgb(246 178 51 / 0.08), transparent 50%),
		#fff;
}
.fx-results__head {
	text-align: center;
	max-width: 40rem;
	margin: 0 auto 2.5rem;
}
.fx-results__head .fx-section__lede { margin-inline: auto; }
.fx-results__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.1rem;
}
@media (min-width: 700px) { .fx-results__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px) { .fx-results__grid { grid-template-columns: repeat(4, minmax(0,1fr)); } }

.fx-results__card {
	position: relative;
	overflow: hidden;
	border-radius: 1.15rem;
	padding: 1.7rem 1.35rem 1.45rem;
	background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
	border: 1px solid rgb(8 33 74 / 0.08);
	box-shadow: 0 16px 36px rgb(8 33 74 / 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	animation: fx-rise 0.7s ease both;
	animation-delay: calc(var(--i, 0) * 0.08s);
}
.fx-results__card:hover {
	transform: translateY(-8px);
	box-shadow: 0 28px 50px rgb(8 33 74 / 0.14);
}
.fx-results__glow {
	position: absolute;
	width: 140px;
	height: 140px;
	right: -30px;
	top: -40px;
	border-radius: 50%;
	background: radial-gradient(circle, rgb(246 178 51 / 0.28), transparent 70%);
}
.fx-results__value {
	position: relative;
	margin: 0 0 0.45rem;
	font-family: Poppins, Inter, sans-serif;
	font-weight: 700;
	font-size: clamp(2.3rem, 4vw, 3rem);
	line-height: 1;
	background: linear-gradient(120deg, #f6b233 0%, #1f7bff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.fx-results__label {
	position: relative;
	margin: 0 0 0.35rem;
	font-weight: 700;
	font-size: 1.05rem;
	color: #08214a;
}
.fx-results__desc {
	position: relative;
	margin: 0;
	color: #49576a;
	font-size: 0.9rem;
	line-height: 1.5;
}

/* ===== Premium workflow timeline ===== */
.fx-flow {
	padding: 5rem 0;
	background:
		linear-gradient(180deg, #eef3f9 0%, #f7f9fc 40%, #ffffff 100%);
	position: relative;
	overflow: hidden;
}
.fx-flow::before {
	content: "";
	position: absolute;
	inset: auto -10% -30% auto;
	width: 420px;
	height: 420px;
	background: radial-gradient(circle, rgb(31 123 255 / 0.12), transparent 65%);
	pointer-events: none;
}
.fx-flow__head {
	display: grid;
	gap: 1.25rem;
	margin-bottom: 2.75rem;
	position: relative;
}
@media (min-width: 900px) {
	.fx-flow__head {
		grid-template-columns: 1.2fr 0.8fr;
		align-items: end;
	}
}
.fx-flow__head-right .fx-section__lede { margin-bottom: 1rem; }
.fx-btn--outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.25rem;
	border-radius: 0.45rem;
	border: 1.5px solid rgb(8 33 74 / 0.18);
	color: #08214a;
	background: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.fx-btn--outline:hover {
	border-color: #1f7bff;
	color: #1f7bff;
}

.fx-flow__track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
@media (min-width: 900px) {
	.fx-flow__track { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
	.fx-flow__track { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.75rem; }
}
.fx-flow__line {
	display: none;
}
@media (min-width: 1200px) {
	.fx-flow__line {
		display: block;
		position: absolute;
		left: 6%;
		right: 6%;
		top: 42px;
		height: 3px;
		border-radius: 999px;
		background: linear-gradient(90deg, #f6b233, #1f7bff 50%, #17c3c8);
		opacity: 0.45;
		z-index: 0;
	}
}
.fx-flow__step {
	position: relative;
	z-index: 1;
	text-align: center;
	animation: fx-rise 0.65s ease both;
	animation-delay: calc(var(--i, 0) * 0.07s);
}
.fx-flow__node {
	position: relative;
	width: 86px;
	height: 86px;
	margin: 0 auto 0.85rem;
	border-radius: 1.35rem;
	background: #fff;
	border: 1px solid rgb(8 33 74 / 0.08);
	box-shadow: 0 16px 30px rgb(8 33 74 / 0.1);
	display: grid;
	place-items: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.fx-flow__step:hover .fx-flow__node {
	transform: translateY(-6px) scale(1.04);
	box-shadow: 0 24px 40px rgb(31 123 255 / 0.18);
}
.fx-flow__icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, rgb(246 178 51 / 0.2), rgb(31 123 255 / 0.14));
	color: #0b63e6;
}
.fx-flow__num {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #08214a;
	color: #fff;
	font-size: 0.68rem;
	font-weight: 800;
	display: grid;
	place-items: center;
	font-family: Poppins, sans-serif;
}
.fx-flow__title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
	color: #08214a;
}

/* Hide old workflow cards */
.fx-workflow { display: none !important; }

/* ===== Premium footer ===== */
.fx-footer.site-footer,
.site-footer.fx-footer {
	background:
		radial-gradient(ellipse 40% 50% at 0% 0%, rgb(31 123 255 / 0.22), transparent 55%),
		radial-gradient(ellipse 35% 45% at 100% 100%, rgb(246 178 51 / 0.16), transparent 55%),
		linear-gradient(160deg, #041228 0%, #08214a 55%, #061833 100%) !important;
}
.fx-footer__newsletter,
.site-footer__newsletter.fx-footer__newsletter {
	background: rgb(255 255 255 / 0.04);
	border-bottom: 1px solid rgb(255 255 255 / 0.1);
	padding: 2.5rem 0;
}
.fx-footer .site-footer__newsletter-title {
	font-family: Poppins, Inter, sans-serif;
	font-size: clamp(1.4rem, 2.5vw, 1.9rem);
	color: #fff;
	margin: 0.35rem 0 0.5rem;
}
.fx-footer .site-footer__newsletter-lede { color: rgb(255 255 255 / 0.75); }
.fx-footer__form {
	display: flex;
	gap: 0.65rem;
	flex-wrap: wrap;
	background: rgb(255 255 255 / 0.08);
	border: 1px solid rgb(255 255 255 / 0.14);
	border-radius: 0.85rem;
	padding: 0.45rem;
}
.fx-footer__form input {
	flex: 1 1 220px;
	border: 0 !important;
	background: transparent !important;
	color: #fff !important;
	padding: 0.75rem 0.9rem !important;
	outline: none;
}
.fx-footer__form input::placeholder { color: rgb(255 255 255 / 0.55); }
.fx-footer .site-footer__heading {
	color: #fff;
	font-family: Poppins, sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.78rem;
}
.fx-footer .site-footer__links a {
	color: rgb(255 255 255 / 0.78);
	transition: color 0.2s, padding-left 0.2s;
}
.fx-footer .site-footer__links a:hover {
	color: #f6b233;
	padding-left: 4px;
}
.fx-footer .site-footer__tagline,
.fx-footer .site-footer__contact-link {
	color: rgb(255 255 255 / 0.75);
}
.fx-footer .site-footer__contact-link:hover { color: #17c3c8; }
.fx-footer .site-footer__bar {
	border-top: 1px solid rgb(255 255 255 / 0.1);
	background: rgb(0 0 0 / 0.2);
}
.fx-footer .site-footer__copy { color: rgb(255 255 255 / 0.65); }
.fx-footer .site-footer__cta-link {
	color: #f6b233;
	font-weight: 700;
}

.fx-eyebrow--light {
	background: rgb(246 178 51 / 0.16) !important;
	color: #f6b233 !important;
}

@media (prefers-reduced-motion: reduce) {
	.fx-banner__bg--ken,
	.fx-banner__orb,
	.fx-float,
	.fx-btn--pulse,
	.fx-anim,
	.fx-results__card,
	.fx-flow__step {
		animation: none !important;
	}
}

@media (max-width: 767px) {
	.fx-trust { margin-top: -1.5rem; }
	.fx-banner__badge--jobs { display: none; }
	.fx-footer__form { flex-direction: column; }
	.fx-footer__form .fx-btn { width: 100%; }
}

/* =========================================================
   Section redesign v2 — quotes / pricing / features / newsletter
   ========================================================= */

/* Force readable titles on dark sections (fixes invisible heading) */
.mountsol-home-section--deep .mountsol-home-section__title,
.mountsol-home-section--deep .mountsol-home-section__title--white,
.fx-quotes__title {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: none !important;
}

/* ===== Testimonials ===== */
.fx-quotes {
	position: relative;
	padding: 5.5rem 0;
	overflow: hidden;
	color: #fff;
}
.fx-quotes__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1.05);
	animation: fx-ken 24s ease-in-out infinite alternate;
}
.fx-quotes__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(145deg, rgb(4 18 40 / 0.92) 0%, rgb(8 33 74 / 0.88) 45%, rgb(11 61 134 / 0.82) 100%);
}
.fx-quotes__inner { position: relative; z-index: 1; }
.fx-quotes__head { text-align: center; max-width: 40rem; margin: 0 auto 2.75rem; }
.fx-quotes__eyebrow {
	display: inline-flex;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	background: rgb(246 178 51 / 0.18);
	color: #f6b233 !important;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 0.9rem;
}
.fx-quotes__title {
	margin: 0;
	font-family: Poppins, Inter, sans-serif;
	font-weight: 700;
	font-size: clamp(1.9rem, 3.4vw, 2.7rem);
	color: #fff !important;
	letter-spacing: -0.02em;
}
.fx-quotes__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.15rem;
}
@media (min-width: 900px) {
	.fx-quotes__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.fx-quotes__card {
	background: rgb(255 255 255 / 0.1);
	border: 1px solid rgb(255 255 255 / 0.16);
	backdrop-filter: blur(14px);
	border-radius: 1.25rem;
	padding: 1.6rem 1.4rem 1.35rem;
	box-shadow: 0 20px 40px rgb(0 0 0 / 0.2);
	transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
	animation: fx-rise 0.7s ease both;
	animation-delay: calc(var(--i, 0) * 0.1s);
}
.fx-quotes__card:hover {
	transform: translateY(-8px);
	background: rgb(255 255 255 / 0.14);
	box-shadow: 0 28px 50px rgb(0 0 0 / 0.28);
}
.fx-quotes__stars {
	display: flex;
	gap: 0.2rem;
	color: #f6b233;
	margin-bottom: 0.9rem;
}
.fx-quotes__text {
	margin: 0 0 1.25rem;
	color: rgb(255 255 255 / 0.95);
	font-size: 1rem;
	line-height: 1.7;
	min-height: 6.5rem;
}
.fx-quotes__meta { display: flex; align-items: center; gap: 0.75rem; }
.fx-quotes__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, #1f7bff, #17c3c8);
	color: #fff;
	font-weight: 800;
	font-size: 0.8rem;
	flex: 0 0 auto;
}
.fx-quotes__author { margin: 0; color: #fff; font-weight: 700; }
.fx-quotes__role { margin: 0.15rem 0 0; color: rgb(255 255 255 / 0.7); font-size: 0.85rem; }

/* Hide old deep testimonial section leftovers if any */
.mountsol-home-section--deep { display: none !important; }

/* ===== Pricing ===== */
.fx-pricing {
	padding: 5.5rem 0;
	background:
		radial-gradient(ellipse 45% 50% at 50% 0%, rgb(31 123 255 / 0.08), transparent 60%),
		#f4f6f8;
}
.fx-pricing__head {
	text-align: center;
	max-width: 42rem;
	margin: 0 auto 2.75rem;
}
.fx-pricing__head .fx-section__lede { margin-inline: auto; }
.fx-pricing__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	align-items: stretch;
}
@media (min-width: 960px) {
	.fx-pricing__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: center;
	}
}
.fx-pricing__card {
	position: relative;
	background: #fff;
	border: 1px solid rgb(8 33 74 / 0.08);
	border-radius: 1.35rem;
	padding: 1.75rem 1.45rem 1.5rem;
	box-shadow: 0 16px 36px rgb(8 33 74 / 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	animation: fx-rise 0.7s ease both;
	animation-delay: calc(var(--i, 0) * 0.08s);
}
.fx-pricing__card:hover {
	transform: translateY(-8px);
	box-shadow: 0 28px 50px rgb(8 33 74 / 0.14);
}
.fx-pricing__card--featured {
	background: linear-gradient(165deg, #08214a 0%, #0b3d86 55%, #0d4f9c 100%);
	color: #fff;
	border-color: transparent;
	transform: scale(1.03);
	box-shadow: 0 28px 60px rgb(8 33 74 / 0.28);
	z-index: 1;
}
@media (min-width: 960px) {
	.fx-pricing__card--featured { transform: scale(1.06); }
}
.fx-pricing__card--featured:hover {
	transform: scale(1.06) translateY(-6px);
}
.fx-pricing__badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: #f6b233;
	color: #08214a;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	white-space: nowrap;
}
.fx-pricing__name {
	margin: 0 0 0.35rem;
	font-family: Poppins, Inter, sans-serif;
	font-size: 1.35rem;
	color: #08214a;
}
.fx-pricing__card--featured .fx-pricing__name { color: #fff; }
.fx-pricing__desc {
	margin: 0 0 1rem;
	color: #49576a;
	font-size: 0.92rem;
}
.fx-pricing__card--featured .fx-pricing__desc { color: rgb(255 255 255 / 0.78); }
.fx-pricing__price {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
	margin: 0 0 1.25rem;
}
.fx-pricing__value {
	font-family: Poppins, Inter, sans-serif;
	font-weight: 700;
	font-size: 2.5rem;
	color: #08214a;
	line-height: 1;
}
.fx-pricing__card--featured .fx-pricing__value { color: #fff; }
.fx-pricing__per {
	font-size: 0.95rem;
	font-weight: 600;
	color: #49576a !important;
}
.fx-pricing__card--featured .fx-pricing__per {
	color: rgb(255 255 255 / 0.85) !important; /* fix invisible /month */
}
.fx-pricing__list {
	list-style: none;
	margin: 0 0 1.35rem;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}
.fx-pricing__list li {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
	color: #08214a;
	font-weight: 500;
	font-size: 0.92rem;
}
.fx-pricing__card--featured .fx-pricing__list li { color: rgb(255 255 255 / 0.92); }
.fx-pricing__check { color: #1f7bff; flex: 0 0 auto; margin-top: 0.1rem; }
.fx-pricing__card--featured .fx-pricing__check { color: #f6b233; }
.fx-pricing__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 100%;
	padding: 0.9rem 1.1rem;
	border-radius: 0.65rem;
	border: 1.5px solid rgb(8 33 74 / 0.16);
	background: #fff;
	color: #08214a;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}
.fx-pricing__cta:hover {
	border-color: #1f7bff;
	color: #1f7bff;
}
.fx-pricing__cta--primary {
	background: #f6b233;
	border-color: #f6b233;
	color: #08214a;
	box-shadow: 0 12px 28px rgb(246 178 51 / 0.35);
}
.fx-pricing__cta--primary:hover {
	background: #e09a14;
	border-color: #e09a14;
	color: #08214a;
	transform: translateY(-2px);
}
.fx-pricing__compare { text-align: center; margin-top: 2rem; }

/* ===== Features pro ===== */
.fx-features-pro {
	padding: 5.5rem 0;
	background:
		radial-gradient(ellipse 40% 50% at 100% 10%, rgb(23 195 200 / 0.08), transparent 55%),
		#fff;
}
.fx-features-pro__head {
	text-align: center;
	max-width: 42rem;
	margin: 0 auto 2.75rem;
}
.fx-features-pro__head .fx-section__lede { margin-inline: auto; }
.fx-features-pro__top {
	display: grid;
	gap: 2rem;
	align-items: center;
	margin-bottom: 2rem;
}
@media (min-width: 992px) {
	.fx-features-pro__top { grid-template-columns: 1fr 1fr; gap: 3rem; }
}
.fx-features-pro__highlights { display: grid; gap: 1rem; }
.fx-features-pro__highlight {
	display: flex;
	gap: 0.95rem;
	padding: 1.15rem 1.2rem;
	border-radius: 1.1rem;
	background: #fff;
	border: 1px solid rgb(8 33 74 / 0.08);
	box-shadow: 0 14px 30px rgb(8 33 74 / 0.07);
	text-decoration: none;
	color: inherit;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	animation: fx-rise 0.65s ease both;
	animation-delay: calc(var(--i, 0) * 0.08s);
}
.fx-features-pro__highlight:hover {
	transform: translateY(-5px);
	box-shadow: 0 22px 40px rgb(8 33 74 / 0.12);
}
.fx-features-pro__icon {
	width: 52px;
	height: 52px;
	border-radius: 0.95rem;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, rgb(31 123 255 / 0.14), rgb(23 195 200 / 0.14));
	color: #1f7bff;
	flex: 0 0 auto;
}
.fx-features-pro__highlight strong {
	display: block;
	color: #08214a;
	font-size: 1.05rem;
	margin-bottom: 0.25rem;
}
.fx-features-pro__highlight em {
	display: block;
	font-style: normal;
	color: #49576a;
	font-size: 0.92rem;
	line-height: 1.55;
	margin-bottom: 0.4rem;
}
.fx-features-pro__more {
	color: #1f7bff;
	font-weight: 700;
	font-size: 0.88rem;
}
.fx-features-pro__media {
	position: relative;
	min-height: 420px;
	animation: fx-rise 0.8s ease both 0.1s;
}
.fx-features-pro__img {
	border-radius: 1.15rem;
	object-fit: cover;
	box-shadow: 0 22px 44px rgb(8 33 74 / 0.14);
}
.fx-features-pro__img--back {
	width: 78%;
	height: 360px;
	display: block;
}
.fx-features-pro__img--front {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 56%;
	height: 340px;
	border: 8px solid #fff;
	background: #fff;
	animation: fx-float 5s ease-in-out infinite;
}
.fx-features-pro__float {
	position: absolute;
	left: 6%;
	bottom: 12%;
	background: #08214a;
	color: #fff;
	font-weight: 700;
	font-size: 0.82rem;
	padding: 0.65rem 0.9rem;
	border-radius: 0.75rem;
	box-shadow: 0 14px 28px rgb(8 33 74 / 0.25);
}
.fx-features-pro__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 700px) { .fx-features-pro__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1100px) { .fx-features-pro__grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.fx-features-pro__card {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1.35rem;
	border-radius: 1.1rem;
	background: #fff;
	border: 1px solid rgb(8 33 74 / 0.08);
	box-shadow: 0 12px 28px rgb(8 33 74 / 0.06);
	text-decoration: none;
	color: inherit;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	animation: fx-rise 0.65s ease both;
	animation-delay: calc(var(--i, 0) * 0.06s);
}
.fx-features-pro__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 40px rgb(8 33 74 / 0.12);
}
.fx-features-pro__card-icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, rgb(246 178 51 / 0.2), rgb(31 123 255 / 0.12));
	color: #0b63e6;
	margin-bottom: 0.35rem;
}
.fx-features-pro__card strong {
	color: #08214a;
	font-size: 1.05rem;
	font-family: Poppins, Inter, sans-serif;
}
.fx-features-pro__card em {
	font-style: normal;
	color: #49576a;
	font-size: 0.92rem;
	line-height: 1.55;
	flex: 1;
}
.fx-features-pro__actions { text-align: center; margin-top: 2rem; }

/* Hide old quality/features wrappers if residual */
.fx-quality { display: none !important; }

/* ===== Newsletter premium ===== */
.fx-footer__newsletter,
.site-footer__newsletter.fx-footer__newsletter {
	position: relative;
	overflow: hidden;
	padding: 3rem 0 !important;
	background:
		radial-gradient(ellipse 40% 80% at 0% 50%, rgb(31 123 255 / 0.25), transparent 55%),
		radial-gradient(ellipse 35% 70% at 100% 50%, rgb(246 178 51 / 0.16), transparent 55%),
		rgb(255 255 255 / 0.04) !important;
}
.fx-footer__newsletter::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.03), transparent);
	animation: fx-shimmer 5s linear infinite;
	pointer-events: none;
}
@keyframes fx-shimmer {
	0% { transform: translateX(-40%); }
	100% { transform: translateX(40%); }
}
.fx-footer .site-footer__newsletter-row {
	display: grid;
	gap: 1.5rem;
	align-items: center;
}
@media (min-width: 900px) {
	.fx-footer .site-footer__newsletter-row {
		grid-template-columns: 1.1fr 0.9fr;
	}
}
.fx-footer__form {
	position: relative;
	z-index: 1;
	box-shadow: 0 18px 40px rgb(0 0 0 / 0.2);
	animation: fx-rise 0.7s ease both 0.1s;
}
.fx-footer__form .fx-btn--amber {
	animation: fx-pulse 2.6s ease-out infinite;
}

@media (max-width: 767px) {
	.fx-features-pro__img--back { width: 100%; height: 240px; }
	.fx-features-pro__img--front { width: 58%; height: 220px; }
	.fx-pricing__card--featured { transform: none; }
	.fx-quotes__text { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.fx-quotes__bg,
	.fx-quotes__card,
	.fx-pricing__card,
	.fx-features-pro__highlight,
	.fx-features-pro__card,
	.fx-features-pro__img--front,
	.fx-footer__newsletter::before,
	.fx-footer__form .fx-btn--amber {
		animation: none !important;
	}
}

/* ===== Attractive motion: industries + workflow ===== */

@keyframes fx-card-in {
	from { opacity: 0; transform: translate3d(0, 36px, 0) scale(0.97); }
	to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes fx-flow-draw {
	from { transform: scaleX(0); opacity: 0; }
	to { transform: scaleX(1); opacity: 0.55; }
}

@keyframes fx-flow-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgb(31 123 255 / 0.35); }
	50% { box-shadow: 0 0 0 10px rgb(31 123 255 / 0); }
}

@keyframes fx-icon-breathe {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.06); }
}

@keyframes fx-line-glow {
	0% { background-position: 0% 50%; }
	100% { background-position: 100% 50%; }
}

/* --- Industry / service cards --- */
.fx-services__grid {
	gap: 1.35rem;
}

.fx-service-card {
	isolation: isolate;
	min-height: 300px;
	border-radius: 1.15rem;
	box-shadow:
		0 18px 40px rgb(8 33 74 / 0.12),
		0 2px 0 rgb(255 255 255 / 0.35) inset;
	transform: translateZ(0);
	animation: fx-card-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
	animation-delay: calc(var(--i, 0) * 0.08s);
	transition:
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.45s ease;
}

.fx-service-card::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	z-index: 2;
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.14);
	opacity: 0.9;
	transition: box-shadow 0.35s ease;
}

.fx-service-card::before {
	content: "";
	position: absolute;
	top: -40%;
	left: -60%;
	width: 55%;
	height: 180%;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(
		105deg,
		transparent 35%,
		rgb(255 255 255 / 0.28) 50%,
		transparent 65%
	);
	transform: translateX(-20%) rotate(8deg);
	opacity: 0;
	transition: transform 0.7s ease, opacity 0.35s ease;
}

.fx-service-card:hover {
	transform: translateY(-10px) scale(1.015);
	box-shadow:
		0 28px 56px rgb(8 33 74 / 0.22),
		0 0 0 1px rgb(31 123 255 / 0.18);
}

.fx-service-card:hover::before {
	opacity: 1;
	transform: translateX(220%) rotate(8deg);
}

.fx-service-card:hover::after {
	box-shadow: inset 0 0 0 1px rgb(246 178 51 / 0.45);
}

.fx-service-card__media img {
	transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1), filter 0.45s ease;
	filter: saturate(1.05) contrast(1.02);
}

.fx-service-card:hover .fx-service-card__media img {
	transform: scale(1.12);
	filter: saturate(1.15) contrast(1.05);
}

.fx-service-card__shade {
	background:
		linear-gradient(180deg, rgb(8 33 74 / 0.05) 10%, rgb(8 33 74 / 0.35) 48%, rgb(8 33 74 / 0.92) 100%);
	transition: background 0.4s ease, opacity 0.4s ease;
}

.fx-service-card:hover .fx-service-card__shade {
	background:
		linear-gradient(180deg, rgb(8 33 74 / 0.12) 5%, rgb(8 33 74 / 0.45) 42%, rgb(5 20 48 / 0.95) 100%);
}

.fx-service-card__body {
	padding: 1.5rem 1.35rem 1.4rem;
	transform: translateY(6px);
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.fx-service-card:hover .fx-service-card__body {
	transform: translateY(0);
}

.fx-service-card__title {
	font-size: clamp(1.15rem, 1.6vw, 1.35rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	text-shadow: 0 2px 14px rgb(0 0 0 / 0.35);
}

.fx-service-card__desc {
	max-width: 28ch;
	line-height: 1.45;
	transition: opacity 0.3s ease;
}

.fx-service-card__link {
	gap: 0.45rem;
	letter-spacing: 0.01em;
	transition: color 0.25s ease, gap 0.25s ease, transform 0.25s ease;
}

.fx-service-card__link .mountsol-home-icon,
.fx-service-card__link svg {
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.fx-service-card:hover .fx-service-card__link {
	color: #ffc857;
	gap: 0.7rem;
}

.fx-service-card:hover .fx-service-card__link .mountsol-home-icon,
.fx-service-card:hover .fx-service-card__link svg {
	transform: translateX(4px);
}

/* --- Workflow timeline --- */
.fx-flow__track {
	padding-top: 0.35rem;
}

.fx-flow__line {
	height: 4px !important;
	opacity: 0.65 !important;
	background: linear-gradient(
		90deg,
		#f6b233 0%,
		#1f7bff 45%,
		#17c3c8 100%
	) !important;
	background-size: 200% 100%;
	transform-origin: left center;
	animation:
		fx-flow-draw 1.15s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both,
		fx-line-glow 4.5s linear infinite 1.2s;
	box-shadow: 0 0 18px rgb(31 123 255 / 0.25);
}

.fx-flow__line::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 18%;
	height: 8px;
	margin-top: -4px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.85), transparent);
	filter: blur(1px);
	animation: fx-shimmer 2.8s ease-in-out infinite;
	pointer-events: none;
}

.fx-flow__step {
	animation: fx-rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
	animation-delay: calc(0.2s + var(--i, 0) * 0.09s);
}

.fx-flow__node {
	width: 92px;
	height: 92px;
	border-radius: 1.5rem;
	background:
		linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
	border: 1px solid rgb(31 123 255 / 0.12);
	box-shadow:
		0 16px 32px rgb(8 33 74 / 0.1),
		0 1px 0 rgb(255 255 255 / 0.9) inset;
	transition:
		transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.35s ease,
		border-color 0.35s ease;
}

.fx-flow__node::before {
	content: "";
	position: absolute;
	inset: -6px;
	border-radius: inherit;
	background: linear-gradient(135deg, rgb(246 178 51 / 0.35), rgb(31 123 255 / 0.25), rgb(23 195 200 / 0.3));
	opacity: 0;
	z-index: -1;
	filter: blur(8px);
	transition: opacity 0.35s ease;
}

.fx-flow__step:hover .fx-flow__node {
	transform: translateY(-10px) scale(1.06);
	border-color: rgb(31 123 255 / 0.35);
	box-shadow:
		0 28px 48px rgb(31 123 255 / 0.2),
		0 1px 0 rgb(255 255 255 / 0.95) inset;
}

.fx-flow__step:hover .fx-flow__node::before {
	opacity: 1;
}

.fx-flow__icon {
	width: 54px;
	height: 54px;
	background: linear-gradient(145deg, rgb(246 178 51 / 0.22), rgb(31 123 255 / 0.16));
	color: #0b63e6;
	box-shadow: 0 8px 16px rgb(31 123 255 / 0.12);
	animation: fx-icon-breathe 3.6s ease-in-out infinite;
	animation-delay: calc(var(--i, 0) * 0.18s);
	transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.fx-flow__step:hover .fx-flow__icon {
	background: linear-gradient(145deg, rgb(246 178 51 / 0.35), rgb(31 123 255 / 0.28));
	color: #08214a;
	animation-play-state: paused;
	transform: scale(1.08);
}

.fx-flow__num {
	width: 30px;
	height: 30px;
	top: -10px;
	right: -10px;
	background: linear-gradient(145deg, #0d2b63, #08214a);
	box-shadow: 0 6px 14px rgb(8 33 74 / 0.28);
	animation: fx-flow-pulse 2.8s ease-in-out infinite;
	animation-delay: calc(var(--i, 0) * 0.2s);
}

.fx-flow__title {
	font-family: Poppins, Inter, sans-serif;
	letter-spacing: -0.015em;
	transition: color 0.25s ease, transform 0.25s ease;
}

.fx-flow__step:hover .fx-flow__title {
	color: #0b63e6;
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.fx-service-card,
	.fx-service-card::before,
	.fx-flow__line,
	.fx-flow__line::after,
	.fx-flow__step,
	.fx-flow__icon,
	.fx-flow__num {
		animation: none !important;
		transition: none !important;
	}
	.fx-service-card:hover,
	.fx-flow__step:hover .fx-flow__node {
		transform: none;
	}
}

/* ===== Scroll-triggered section motion ===== */
.sl-motion-ready .fx-services .fx-section__head,
.sl-motion-ready .fx-services .fx-service-card,
.sl-motion-ready .fx-flow .fx-flow__head,
.sl-motion-ready .fx-flow .fx-flow__step {
	opacity: 0;
	animation: none;
	will-change: transform, opacity;
}

.sl-motion-ready .fx-services .fx-section__head,
.sl-motion-ready .fx-flow .fx-flow__head {
	transform: translate3d(0, 42px, 0);
	transition: opacity 0.8s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.sl-motion-ready .fx-services .fx-section__head.is-inview,
.sl-motion-ready .fx-flow .fx-flow__head.is-inview {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.sl-motion-ready .fx-services .fx-service-card {
	transform: perspective(1000px) translate3d(0, 64px, 0) scale(0.92) rotateX(7deg);
	transition:
		opacity 0.75s ease,
		transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.4s ease;
}

.sl-motion-ready .fx-services .fx-service-card.is-inview {
	opacity: 1;
	transform: perspective(1000px) translate3d(0, 0, 0) scale(1) rotateX(0deg);
}

.sl-motion-ready .fx-services .fx-service-card.is-inview:hover {
	transform: perspective(1000px) translateY(-10px) scale(1.02)
		rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
}

.fx-service-card::after {
	background: radial-gradient(circle at var(--glow-x, 50%) var(--glow-y, 50%), rgb(255 255 255 / 0.22), transparent 42%);
	transition: opacity 0.35s ease;
}

.fx-service-card:not(:hover)::after { opacity: 0; }
.fx-service-card:hover::after { opacity: 1; }

.fx-service-card__media img {
	transform: scale(1.06) translate3d(0, var(--parallax-y, 0px), 0);
	will-change: transform;
}

.fx-service-card:hover .fx-service-card__media img {
	transform: scale(1.14) translate3d(0, var(--parallax-y, 0px), 0);
}

.sl-motion-ready .fx-flow .fx-flow__line {
	animation: none;
	transform: scaleX(0);
	opacity: 0 !important;
	transition: transform 1.3s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
}

.sl-motion-ready .fx-flow.is-inview .fx-flow__line {
	transform: scaleX(1);
	opacity: 0.65 !important;
	animation: fx-line-glow 4.5s linear infinite 1.3s;
}

.sl-motion-ready .fx-flow .fx-flow__step {
	transform: translate3d(0, calc(58px + var(--scroll-lift, 0px)), 0) scale(0.86);
	transition:
		opacity 0.65s ease,
		transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.sl-motion-ready .fx-flow .fx-flow__step.is-inview {
	opacity: 1;
	transform: translate3d(0, var(--scroll-lift, 0px), 0) scale(1);
}

.sl-motion-ready .fx-flow .fx-flow__step.is-inview:hover {
	transform: translate3d(0, calc(var(--scroll-lift, 0px) - 4px), 0) scale(1.035);
}

.sl-motion-ready .fx-flow .fx-flow__step.is-inview .fx-flow__icon {
	animation: fx-icon-breathe 3.6s ease-in-out infinite;
}

.sl-motion-ready .fx-flow .fx-flow__step.is-inview .fx-flow__num {
	animation: fx-flow-pulse 2.8s ease-in-out infinite;
}

@media (max-width: 767px) {
	.sl-motion-ready .fx-services .fx-service-card {
		transform: translate3d(0, 42px, 0) scale(0.96);
	}
	.sl-motion-ready .fx-services .fx-service-card.is-inview {
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sl-motion-ready .fx-services .fx-section__head,
	.sl-motion-ready .fx-services .fx-service-card,
	.sl-motion-ready .fx-flow .fx-flow__head,
	.sl-motion-ready .fx-flow .fx-flow__step,
	.sl-motion-ready .fx-flow .fx-flow__line {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}
}
