/**
 * ServLoom brand redesign — look & feel only (content unchanged).
 * Tokens from ServLoom brand guide + SaaS landing polish.
 */

:root {
	--background: #ffffff;
	--foreground: #08214a;
	--secondary: #f4f6f8;
	--muted-foreground: #49576a;
	--accent: #1f7bff;
	--accent-hover: #0b63e6;
	--border: #e5eaf0;
	--announcement-bg: #08214a;
	--navy: #08214a;
	--teal: #17c3c8;
	--amber: #f6b233;
	--cloud: #f4f6f8;
	--graphite: #49576a;
	--radius: 0.75rem;
	--radius-lg: 1.25rem;
	--shadow-soft: 0 10px 30px rgb(8 33 74 / 0.08);
	--shadow-card: 0 18px 40px rgb(8 33 74 / 0.1);
	--shadow-mega: 0 25px 50px -12px rgb(8 33 74 / 0.18);
	--header-nav: 76px;
	--gradient-brand: linear-gradient(135deg, #08214a 0%, #0d3a7a 45%, #17c3c8 100%);
	--gradient-hero: linear-gradient(135deg, rgb(8 33 74 / 0.92) 0%, rgb(8 33 74 / 0.72) 48%, rgb(31 123 255 / 0.45) 100%);
}

/* Typography */
body.mountsol-body {
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	color: var(--graphite);
	background: var(--background);
}

h1, h2, h3, h4, h5, h6,
.home-hero__title,
.mountsol-home-section__title,
.simple-hero__title,
.site-footer__newsletter-title,
.mega__cta-title,
.pricing-card__name,
.feature-card__title {
	font-family: 'Poppins', 'Inter', system-ui, sans-serif;
	color: var(--navy);
	letter-spacing: -0.02em;
}

.home-hero__title,
.simple-hero__title {
	color: #fff;
}

a {
	color: var(--accent);
}

a:hover {
	color: var(--accent-hover);
}

/* Buttons */
.btn {
	border-radius: 999px;
	font-family: 'Inter', system-ui, sans-serif;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.btn--accent {
	background: var(--accent);
	border-color: var(--accent);
	box-shadow: 0 10px 24px rgb(31 123 255 / 0.28);
}

.btn--accent:hover {
	background: var(--accent-hover);
	border-color: var(--accent-hover);
	box-shadow: 0 14px 28px rgb(31 123 255 / 0.35);
	color: #fff;
}

.btn--nav-cta {
	box-shadow: 0 10px 25px -5px rgb(31 123 255 / 0.4);
}

.btn--outline {
	border-radius: 999px;
	border-color: rgb(8 33 74 / 0.14);
	color: var(--navy);
}

.btn--outline:hover {
	background: var(--cloud);
	border-color: var(--accent);
	color: var(--accent);
}

.btn--hero-ghost {
	border-radius: 999px;
	border: 1px solid rgb(255 255 255 / 0.35);
	color: #fff;
	background: rgb(255 255 255 / 0.08);
	backdrop-filter: blur(8px);
}

.btn--hero-ghost:hover {
	background: rgb(255 255 255 / 0.16);
	color: #fff;
}

/* Announcement */
.announcement-bar {
	background: linear-gradient(90deg, #08214a 0%, #0b3d7a 55%, #0f4f8c 100%);
	border-bottom: 1px solid rgb(255 255 255 / 0.08);
}

.announcement-bar__link {
	color: var(--teal);
}

/* Header / Logo */
.site-nav__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	text-decoration: none;
}

.site-nav__logo {
	display: block;
	height: 40px;
	width: auto;
	max-width: 180px;
	object-fit: contain;
}

.site-nav__logo--dark { display: none; }
.site-nav__logo--light { display: block; }

body:not(.front-page) .site-nav__logo--light,
.site-nav--filled .site-nav__logo--light,
body.front-page .site-nav.site-nav--filled .site-nav__logo--light {
	display: none;
}

body:not(.front-page) .site-nav__logo--dark,
.site-nav--filled .site-nav__logo--dark,
body.front-page .site-nav.site-nav--filled .site-nav__logo--dark {
	display: block;
}

body.front-page .site-nav:not(.site-nav--filled) .site-nav__logo--light { display: block; }
body.front-page .site-nav:not(.site-nav--filled) .site-nav__logo--dark { display: none; }

.site-nav__mark,
.site-nav__name {
	display: none !important;
}

body:not(.front-page) .site-nav,
.site-nav--filled {
	background: rgb(255 255 255 / 0.92) !important;
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--border);
	box-shadow: 0 8px 24px rgb(8 33 74 / 0.06);
}

body.front-page .site-nav:not(.site-nav--filled) {
	background: transparent !important;
	border-bottom: 1px solid transparent !important;
	box-shadow: none !important;
}

body:not(.front-page) .nav-text,
.site-nav--filled .nav-text {
	color: var(--navy);
}

.nav-text:hover,
.mega__trigger[aria-expanded="true"] {
	color: var(--accent);
}

.mega__panel {
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
	box-shadow: var(--shadow-mega);
}

.mega__cta {
	background: linear-gradient(160deg, #08214a 0%, #0d3f86 100%);
	border-radius: calc(var(--radius-lg) - 4px);
}

/* Hero */
.home-hero {
	position: relative;
	min-height: min(92vh, 860px);
	display: flex;
	align-items: stretch;
	overflow: hidden;
}

.home-hero__bg {
	filter: saturate(1.05) contrast(1.05);
	transform: scale(1.02);
}

.home-hero__overlay {
	background: var(--gradient-hero) !important;
}

.home-hero__overlay::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 50% at 80% 20%, rgb(23 195 200 / 0.22), transparent 60%),
		radial-gradient(ellipse 50% 40% at 10% 80%, rgb(246 178 51 / 0.12), transparent 55%);
	pointer-events: none;
}

.home-hero__title {
	font-weight: 700;
	line-height: 1.08;
	text-wrap: balance;
}

.home-hero__lede {
	color: rgb(255 255 255 / 0.88);
	font-size: 1.125rem;
	max-width: 38rem;
}

.home-hero__form {
	background: rgb(255 255 255 / 0.1);
	border: 1px solid rgb(255 255 255 / 0.18);
	backdrop-filter: blur(12px);
	border-radius: 999px;
	padding: 0.4rem;
	box-shadow: 0 20px 50px rgb(0 0 0 / 0.2);
}

.home-hero__input {
	background: transparent;
	color: #fff;
	border: 0;
}

.home-hero__input::placeholder {
	color: rgb(255 255 255 / 0.65);
}

.home-hero__badge {
	background: rgb(255 255 255 / 0.1);
	border: 1px solid rgb(255 255 255 / 0.16);
	backdrop-filter: blur(10px);
	border-radius: 1rem;
}

.home-hero__strip {
	border-top: 1px solid rgb(255 255 255 / 0.12);
}

.home-hero__logo {
	opacity: 0.85;
}

.home-hero__logo-mark {
	background: rgb(255 255 255 / 0.14) !important;
	color: #fff !important;
	border-radius: 0.65rem;
}

/* Sections */
.mountsol-home-section,
.mountsol-home-section--gradient {
	background: #fff;
}

.mountsol-home-section--gradient,
section.mountsol-home-section:nth-of-type(even) {
	background: var(--cloud);
}

.mountsol-home-section__eyebrow,
.mountsol-home-pill {
	color: var(--accent);
	background: rgb(31 123 255 / 0.1);
	border-radius: 999px;
}

.mountsol-home-section__title {
	font-weight: 700;
}

.mountsol-home-section__lede,
.mountsol-home-card__text {
	color: var(--graphite);
}

/* Cards */
.mountsol-home-card,
.feature-card,
.pricing-card,
.industry-card,
.mountsol-home-feature,
.mountsol-home-stat,
.testimonial-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.mountsol-home-card:hover,
.feature-card:hover,
.industry-card:hover,
.mountsol-home-feature:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-card);
	border-color: rgb(31 123 255 / 0.28);
}

.mountsol-home-icon,
.mountsol-home-card__icon,
.feature-card__icon {
	color: var(--accent);
	background: rgb(31 123 255 / 0.1);
	border-radius: 0.9rem;
}

.mountsol-home-workflow__dot--orange,
.mountsol-home-pill--accent {
	background: var(--amber) !important;
}

.mountsol-home-icon--accent,
.mountsol-home-icon--accent-tiny {
	color: var(--accent) !important;
}

/* Stats / social proof */
.mountsol-home-stat__value {
	font-family: 'Poppins', sans-serif;
	color: var(--navy);
	background: none;
	-webkit-text-fill-color: unset;
}

.mountsol-home-stat__value,
.home-stats .stat-value {
	color: var(--accent);
}

/* Pricing */
.pricing-card--featured,
.pricing-card.is-popular {
	border-color: var(--accent);
	box-shadow: 0 20px 50px rgb(31 123 255 / 0.18);
	position: relative;
}

.pricing-card--featured::before,
.pricing-card.is-popular::before {
	background: var(--accent);
}

/* CTA band */
.cta-section,
.mountsol-cta,
.home-cta {
	background: var(--gradient-brand) !important;
	border-radius: 0;
	position: relative;
	overflow: hidden;
}

.cta-section::before,
.mountsol-cta::before {
	content: "";
	position: absolute;
	inset: auto -10% -40% auto;
	width: 420px;
	height: 420px;
	background: radial-gradient(circle, rgb(246 178 51 / 0.25), transparent 65%);
	pointer-events: none;
}

/* Footer */
.site-footer {
	background: #061833 !important;
}

.site-footer__glow--tl {
	background: radial-gradient(circle, rgb(31 123 255 / 0.25), transparent 70%) !important;
}

.site-footer__glow--br {
	background: radial-gradient(circle, rgb(23 195 200 / 0.2), transparent 70%) !important;
}

.site-footer__mark,
.site-footer__name {
	display: none !important;
}

.site-footer__logo {
	display: block;
	height: 42px;
	width: auto;
	max-width: 190px;
}

.site-footer__newsletter {
	border-bottom: 1px solid rgb(255 255 255 / 0.1);
}

.site-footer__heading {
	color: #fff;
	font-family: 'Poppins', sans-serif;
}

.site-footer__links a:hover {
	color: var(--teal);
}

/* Inner pages */
.simple-hero,
.page-hero,
.inner-hero {
	background: var(--gradient-brand) !important;
}

.simple-hero__overlay {
	background: transparent !important;
}

/* Forms */
.fluentform .ff-btn-submit,
.ff-btn-submit {
	background: var(--accent) !important;
	border-color: var(--accent) !important;
	border-radius: 999px !important;
}

.fluentform input,
.fluentform select,
.fluentform textarea {
	border-radius: 0.75rem !important;
}

/* Motion */
@media (prefers-reduced-motion: no-preference) {
	.home-hero__content {
		animation: servloom-fade-up 0.8s ease both;
	}
	.mountsol-home-card,
	.feature-card,
	.industry-card {
		animation: servloom-fade-up 0.6s ease both;
	}
}

@keyframes servloom-fade-up {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 767px) {
	.site-nav__logo { height: 34px; max-width: 150px; }
	.home-hero__form { border-radius: 1.25rem; }
}
