/*
 * Design fixes from the October 2026 audit.
 * Loaded after every other stylesheet so these rules win.
 *
 * 1. Tokens: one accent, one gradient, three text levels.
 * 2. Buttons: primary (gradient pill, dark text) and secondary (outline pill).
 * 3. Contrast and readability.
 * 4. Section headings: one font and one size scale.
 * 5. Layout fixes: services, process, pricing, portfolio.
 */

/* ---------- 1. Tokens ---------- */
:root {
	--cv-accent: #e0a03c;
	--cv-accent-2: #f06030;
	--cv-accent-dark: #9a5d0b; /* accent text on white: 5.3:1 */
	--cv-grad: linear-gradient(135deg, #e0a03c 0%, #f06030 100%);
	--cv-on-accent: #170d02;   /* text on the gradient: 6:1 or better */
	--cv-text-1: #ffffff;
	--cv-text-2: rgba(255, 255, 255, 0.75);
	--cv-text-3: rgba(255, 255, 255, 0.62);
	--cv-pill: 100px;
}

/* ---------- 2. Buttons ---------- */

/* Primary: gradient pill with dark text (white text on this gradient fails contrast). */
html body .cv-hero__btn:not(.cv-hero__btn--outline),
html body .cv-btn--solid,
html body .cv-mob-cta,
html body .cv-svc2__btn,
html body .cv-pricing__btn--featured,
html body .cv-plugins__btn--primary,
html body .cv-contact__submit,
html body .cv-svc-btn--gold {
	background: var(--cv-grad) !important;
	color: var(--cv-on-accent) !important;
	border: 1px solid transparent !important;
	border-radius: var(--cv-pill) !important;
	font-weight: 600 !important;
}
html body .cv-hero__btn:not(.cv-hero__btn--outline) *,
html body .cv-btn--solid *,
html body .cv-svc2__btn *,
html body .cv-pricing__btn--featured *,
html body .cv-plugins__btn--primary *,
html body .cv-contact__submit *,
html body .cv-svc-btn--gold * {
	color: inherit !important;
}

/* Secondary: outline pill. */
html body .cv-hero__btn.cv-hero__btn--outline,
html body .cv-pricing__btn:not(.cv-pricing__btn--featured),
html body .cv-svc-btn--outline {
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	color: var(--cv-text-1) !important;
	border-radius: var(--cv-pill) !important;
	box-shadow: none !important;
}
html body .cv-hero__btn.cv-hero__btn--outline:hover,
html body .cv-pricing__btn:not(.cv-pricing__btn--featured):hover,
html body .cv-svc-btn--outline:hover {
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Header "Free Audit" sits on the black bar: gold outline pill. */
html body .cv-btn--ghost {
	color: #f0b45a !important;
	background: transparent !important;
	border: 1px solid rgba(224, 160, 60, 0.6) !important;
	border-radius: var(--cv-pill) !important;
}
html body .cv-btn--ghost:hover {
	color: var(--cv-on-accent) !important;
	background: var(--cv-accent) !important;
	border-color: var(--cv-accent) !important;
}

/* ---------- 3. Contrast and readability ---------- */

/* Hero text sits on a bright sky photo. */
html body .cv-hero__title {
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
html body .cv-hero__subtitle,
html body .cv-hero__proof-text {
	color: #fff !important;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.6), 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* Inactive "What can CrestVox do" tabs stay readable. */
html body .cv-wwd__tab-title,
html body .cv-wwd__tab-desc {
	color: var(--cv-text-3) !important;
}
html body .cv-wwd__tab.is-active .cv-wwd__tab-title {
	color: var(--cv-text-1) !important;
}
html body .cv-wwd__tab.is-active .cv-wwd__tab-desc {
	color: var(--cv-text-2) !important;
}

/* Minimum text sizes. */
html body .cv-mega__label,
html body .cv-mega__col-label {
	font-size: 11px !important;
}
html body .cv-mega__item-desc {
	font-size: 13px !important;
	line-height: 1.4 !important;
}
html body .cv-pricing__from {
	font-size: 13px;
}

/* ---------- 4. Section headings ---------- */
html body .cv-svc2__title,
html body .cv-wwd__heading,
html body .cv-process__heading,
html body .cv-pricing__heading,
html body .cv-approach__heading,
html body .cv-portfolio__heading,
html body .cv-plugins__heading,
html body .cv-marquee-section__title,
html body .cv-testimonials__title,
html body .cv-faqs__heading,
html body .cv-blog-section__title,
html body .cv-research__title,
html body .cv-funnel__title,
html body .cv-contact__heading {
	font-family: Brockmann, 'CrestVox Sans', sans-serif !important;
	font-size: clamp(28px, 3.4vw, 46px) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.02em !important;
}

/* ---------- 5. Layout ---------- */

/* Services: one accent for every card instead of six colours. */
html body .cv-svc2__card[class*="cv-svc2__card--"] {
	--tone: #e8a24a !important;
}

/* Process: 2 x 2 grid on tablets instead of a tall single column. */
@media (min-width: 769px) and (max-width: 1024px) {
	html body .cv-process__steps {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}
	html body .cv-process__connector {
		display: none !important;
	}
}
/* Process: readable step text on phones (was 8 to 11px). */
@media (max-width: 768px) {
	html body .cv-process__step-desc {
		font-size: 13px !important;
		line-height: 1.55 !important;
	}
	html body .cv-process__step-num {
		font-size: 11px !important;
	}
}

/* Pricing: 2 x 2 on tablets so the fourth card is not left alone. */
@media (min-width: 640px) and (max-width: 1100px) {
	html body .cv-pricing__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Portfolio: show the work, keep the text readable with a bottom fade. */
html body .cv-portfolio__card-img img {
	opacity: 0.85 !important;
}
html body .cv-portfolio__card-img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.55) 35%, rgba(0, 0, 0, 0) 65%);
	pointer-events: none;
}

/* Footer trust strip: the Shopify partner badge was removed, so drop its green tint. */
html body .cv-footer__trust {
	background: linear-gradient(135deg, rgba(224, 160, 60, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
}
html body .cv-footer__trust::before,
html body .cv-footer__trust::after {
	display: none !important;
}
html body .cv-footer__trust-stats {
	gap: 56px;
}

/* Small text raised to readable sizes (labels in caps stay at 11px). */
html body .cv-showcase__metric-label,
html body .cv-showcase__metric-tag {
	font-size: 11px !important;
}
html body .cv-portfolio__card-cat {
	font-size: 11.5px !important;
}
html body .cv-plugins__card-tagline {
	font-size: 12.5px !important;
}
html body .cv-footer__seo-keywords p {
	font-size: 12px !important;
	line-height: 1.7 !important;
}

/* ---------- Cookie banner: compact card, bottom right ---------- */
html body .cv-cookie {
	position: fixed !important;
	left: auto !important;
	right: 24px !important;
	bottom: 24px !important;
	transform: none !important;
	width: 360px !important;
	max-width: calc(100vw - 32px) !important;
	z-index: 99999;
	animation: cv-cookie-card-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}
@keyframes cv-cookie-card-in {
	from { opacity: 0; transform: translateY(16px); }
	to   { opacity: 1; transform: translateY(0); }
}
html body .cv-cookie__inner {
	display: block !important;
	padding: 20px !important;
	background: linear-gradient(160deg, rgba(224, 160, 60, 0.08) 0%, rgba(255, 255, 255, 0) 45%), #111214 !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(224, 160, 60, 0.06) !important;
}
html body .cv-cookie__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
html body .cv-cookie__icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	flex-shrink: 0;
	border-radius: 10px;
	background: rgba(224, 160, 60, 0.12);
	border: 1px solid rgba(224, 160, 60, 0.25);
	color: var(--cv-accent);
	font-size: 0;
}
html body .cv-cookie__title {
	flex: 1;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #fff !important;
}
html body .cv-cookie__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.7) !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
html body .cv-cookie__close:hover {
	color: #fff !important;
	background: rgba(255, 255, 255, 0.1) !important;
}
html body .cv-cookie__desc {
	margin: 0 0 16px !important;
	font-size: 13.5px !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.75) !important;
}
html body .cv-cookie__link {
	display: inline;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: var(--cv-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}
html body .cv-cookie__actions {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	width: 100%;
}
html body .cv-cookie__btn {
	padding: 11px 16px !important;
	border-radius: var(--cv-pill) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-align: center;
}
html body .cv-cookie__btn--accept {
	background: var(--cv-grad) !important;
	color: var(--cv-on-accent) !important;
	border: 1px solid transparent !important;
}
html body .cv-cookie__btn--decline {
	background: rgba(255, 255, 255, 0.05) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
}
html body .cv-cookie__btn--decline:hover {
	background: rgba(255, 255, 255, 0.1) !important;
}
@media (max-width: 600px) {
	html body .cv-cookie {
		right: 16px !important;
		bottom: 16px !important;
		width: auto !important;
		left: 16px !important;
	}
}

/* ---------- Header: full width, fixed (sticky) on scroll ---------- */
html body .cv-header,
html body .cv-header.is-scrolled,
html body .cv-header.announce-gone,
html body .cv-header.is-scrolled.announce-gone {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	background: #000 !important;
	border-radius: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	box-shadow: none !important;
	pointer-events: all;
	transition: box-shadow 0.25s ease !important;
}
html body .cv-header.is-scrolled {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55) !important;
}
html body .cv-header .cv-header__inner,
html body .cv-header.is-scrolled .cv-header__inner {
	width: 100% !important;
	max-width: 1300px !important;
	margin: 0 auto !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}
@media (max-width: 1023px) {
	html body .cv-header .cv-header__inner,
	html body .cv-header.menu-open .cv-header__inner {
		width: 100% !important;
		padding: 0 16px !important;
	}
}

/* ---------- Author box (blog posts) ---------- */
html body .cv-author {
	position: relative;
	margin: 48px 0 40px;
	padding: 28px 28px 24px 32px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 0px;
	background:
		radial-gradient(420px 180px at 100% 0%, rgba(240, 96, 48, 0.12), transparent 70%),
		linear-gradient(160deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
	overflow: hidden;
}
html body .cv-author::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--cv-grad);
}
html body .cv-author__top {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}
html body .cv-author__avatar {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	padding: 2px;
	border-radius: 50%;
	background: var(--cv-grad);
}
html body .cv-author__avatar span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #111214;
	color: #f4b25a;
	font-family: Brockmann, 'CrestVox Sans', sans-serif;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.02em;
}
html body .cv-author__label {
	margin: 0 0 4px !important;
	font-size: 11px !important;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cv-accent) !important;
}
html body .cv-author__name {
	margin: 0 !important;
	font-family: Brockmann, 'CrestVox Sans', sans-serif;
	font-size: 22px !important;
	line-height: 1.2 !important;
	color: #fff !important;
}
html body .cv-author__role {
	margin: 4px 0 0 !important;
	font-size: 13.5px !important;
	color: rgba(255, 255, 255, 0.62) !important;
}
html body .cv-author__bio {
	margin: 0 0 16px !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: rgba(255, 255, 255, 0.78) !important;
}
html body .cv-author__skills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
html body .cv-author__skills li {
	margin: 0;
	padding: 6px 12px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.03);
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.8);
}
html body .cv-author__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}
html body .cv-author__links {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}
html body .cv-author__links a {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
}
html body .cv-author__links a:hover {
	color: var(--cv-accent);
}
html body .cv-author__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 20px;
	border-radius: var(--cv-pill);
	background: var(--cv-grad);
	color: var(--cv-on-accent) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
@media (max-width: 600px) {
	html body .cv-author {
		padding: 22px 20px 20px 24px;
	}
	html body .cv-author__foot {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ---------- Header nav colours (overridden by the white header block below) ---------- */
html body .cv-header .cv-nav__link,
html body .cv-header .cv-nav__link--btn {
	color: rgba(255, 255, 255, 0.86) !important;
}
html body .cv-header .cv-nav__link:hover,
html body .cv-header .cv-nav__link--btn:hover,
html body .cv-header .cv-nav__link--active {
	color: #f0b45a !important;
}
html body .cv-header .cv-hamburger__bar {
	background: #fff !important;
}

/* ---------- Hero top spacing under the fixed header ---------- */
html body .cv-about-page-hero { padding-top: 136px !important; }
html body .cv-post-hero { padding-top: 136px !important; }
html body .cv-gloss-single__inner { margin-top: 120px !important; }
html body .cv-cs-hero { padding-top: 136px !important; }

/* ---------- Fixed header height ---------- */
html body .cv-header .cv-header__inner { height: var(--cv-header-h) !important; min-height: 0 !important; }

/* Mega menu opens just under the header. */
html body .cv-header .cv-mega,
html body .cv-header.is-scrolled .cv-mega {
	top: calc(var(--cv-header-h, 64px) + 10px) !important;
}

/* ---------- Plugin + Maintenance service pages: sections that had no styles ---------- */
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.02);
	overflow: hidden;
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 28px 16px;
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, 0.08);
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__item:last-child { border-right: 0; }
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__num {
	font-family: Brockmann, 'CrestVox Sans', sans-serif;
	font-size: clamp(26px, 2.6vw, 36px);
	font-weight: 600;
	line-height: 1.1;
	background: var(--cv-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__item .cv-svc-strip__label {
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65);
}

html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__grid,
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 40px;
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__item,
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__item {
	padding: 28px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 20px;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
	transition: border-color 0.25s ease, transform 0.25s ease;
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__item:hover,
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__item:hover {
	border-color: rgba(224, 160, 60, 0.35);
	transform: translateY(-3px);
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__icon,
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 18px;
	border-radius: 12px;
	background: rgba(224, 160, 60, 0.12);
	color: #f0b45a;
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__item h3,
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__item h3,
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-process__step h3 {
	margin: 0 0 10px;
	font-family: Brockmann, 'CrestVox Sans', sans-serif;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
	color: #fff;
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__item p,
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__item p,
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-process__step p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.7);
}

html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-process__steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
	margin-top: 40px;
	counter-reset: none;
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-process__step {
	position: relative;
	padding: 26px 22px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.02);
}
html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-process__step .cv-svc-process__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: var(--cv-grad);
	color: var(--cv-on-accent);
	font-size: 14px;
	font-weight: 700;
}

@media (max-width: 1100px) {
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-process__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__grid,
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__item:nth-child(2) { border-right: 0; }
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__item:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__grid,
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__grid,
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-process__steps { grid-template-columns: 1fr; }
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-includes__item,
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-why__item { padding: 22px; }
	html body:is(.page-template-page-service-plugin, .page-template-page-service-maintenance) .cv-svc-strip__item { padding: 20px 10px; }
}

/* ---------- Header look: dark glass bar with a gold hairline ---------- */
html body .cv-header,
html body .cv-header.is-scrolled,
html body .cv-header.announce-gone,
html body .cv-header.is-scrolled.announce-gone {
	background: rgba(8, 8, 10, 0.55) !important;
	-webkit-backdrop-filter: blur(18px) saturate(140%) !important;
	backdrop-filter: blur(18px) saturate(140%) !important;
	border-bottom: 0 !important;
	transition: background 0.3s ease, box-shadow 0.3s ease !important;
}
html body .cv-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(224, 160, 60, 0.55) 30%, rgba(240, 96, 48, 0.55) 70%, transparent 100%);
	pointer-events: none;
}
html body .cv-header.is-scrolled {
	background: rgba(8, 8, 10, 0.86) !important;
	box-shadow: 0 12px 32px -12px rgba(0, 0, 0, 0.7) !important;
}
html body .cv-header .cv-nav__link,
html body .cv-header .cv-nav__link--btn {
	position: relative;
	font-weight: 400;
}
html body .cv-header .cv-nav__link::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -6px;
	width: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--cv-grad);
	transform: translateX(-50%);
	transition: width 0.25s ease;
}
html body .cv-header .cv-nav__link:hover::after,
html body .cv-header .cv-nav__link--active::after {
	width: 18px;
}
html body .cv-header .cv-btn--ghost {
	background: rgba(255, 255, 255, 0.04) !important;
}

/* ---------- Header: white bar (replaces the dark glass look above) ---------- */
html body .cv-header,
html body .cv-header.is-scrolled,
html body .cv-header.announce-gone,
html body .cv-header.is-scrolled.announce-gone {
	background: #ffffff !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}
html body .cv-header::after { display: none; }
html body .cv-header.is-scrolled {
	box-shadow: 0 8px 28px -10px rgba(0, 0, 0, 0.25) !important;
}
html body .cv-header .cv-nav__link,
html body .cv-header .cv-nav__link--btn {
	color: #1c1c21 !important;
}
html body .cv-header .cv-nav__link:hover,
html body .cv-header .cv-nav__link--btn:hover,
html body .cv-header .cv-nav__link--active {
	color: #b0680f !important;
}
html body .cv-header .cv-hamburger__bar {
	background: #1c1c21 !important;
}
html body .cv-header .cv-btn--ghost {
	color: #9a5d0b !important;
	background: #fff !important;
	border: 1px solid #e0a03c !important;
}
html body .cv-header .cv-btn--ghost:hover {
	color: var(--cv-on-accent) !important;
	background: var(--cv-accent) !important;
}

/* ---------- Header: floating white bar with rounded bottom corners ---------- */
html body .cv-header,
html body .cv-header.is-scrolled,
html body .cv-header.announce-gone,
html body .cv-header.is-scrolled.announce-gone {
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 1300px !important;
	margin: 0 auto !important;
	border: 0 !important;
	border-radius: 0 0 12px 12px !important;
	box-shadow: 0 8px 24px -12px rgba(0, 0, 0, 0.25) !important;
}
html body .cv-header.is-scrolled {
	box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.35) !important;
}
html body .cv-header .cv-header__inner,
html body .cv-header.is-scrolled .cv-header__inner {
	max-width: none !important;
	padding: 0 32px !important;
}
@media (max-width: 1280px) {
	html body .cv-header,
	html body .cv-header.is-scrolled { width: calc(100% - 48px) !important; }
	html body .cv-header .cv-header__inner,
	html body .cv-header.is-scrolled .cv-header__inner { padding: 0 24px !important; }
}
@media (max-width: 1023px) {
	html body .cv-header,
	html body .cv-header.is-scrolled,
	html body .cv-header.menu-open { width: calc(100% - 24px) !important; }
	html body .cv-header .cv-header__inner,
	html body .cv-header.menu-open .cv-header__inner { padding: 0 16px !important; }
}

/* ---------- Content that stayed in an old hero after the photo banner was added ---------- */
html body .cv-phero-rest {
	min-height: 0 !important;
	margin-top: 0 !important;
	padding-top: 56px !important;
	background-image: none !important;
}
html body .cv-phero-rest > [class*="__inner"],
html body .cv-legal.cv-phero-rest .cv-legal__inner {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* ---------- Content that stayed in an old hero after the photo banner was added ---------- */
html body .cv-phero-rest {
	min-height: 0 !important;
	margin-top: 0 !important;
	padding-top: 56px !important;
	background-image: none !important;
}
html body .cv-phero-rest > [class*="__inner"] {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
/* AI SEO topic pages: the "How we work" panel now sits full width under the banner. */
html body .cv-phero-rest .tp-split { display: block; }
html body .cv-phero-rest .tp-steps { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

/* ---------- Footer CTA: side padding ---------- */
html body .cv-footer__cta-inner {
	padding: 0 2rem;
}

/* Free audit page: form sits centred under the photo banner. */
html body .cv-audit-hero__inner--solo {
	grid-template-columns: minmax(0, 560px) !important;
	justify-content: center;
}

/* ---------- Tool / India / comparison page sections ---------- */
html body .cv-tool-section { margin-top: 0; }
html body .cv-tool-wrap { max-width: 1300px; margin: 0 auto; padding: 2rem; }
html body .cvsi-sec { padding: 2rem; position: relative; }
html body .cvt-body { padding: 5rem 5rem; background: #08080d; border-top: 1px solid rgba(255, 255, 255, .08); }
@media (max-width: 767px) {
	html body .cv-tool-wrap,
	html body .cvsi-sec { padding: 2rem 16px; }
	html body .cvt-body { padding: 3rem 16px; }
}

/* =====================================================================
   Lead forms: full-width, light section, underline fields (Oct 2026)
   Applies to the homepage contact section, the service / location / hire
   page contact sections and the contact page form.
   ===================================================================== */
html body .cv-contact {
	background: #ffffff !important;
	color: #14141a;
	padding: 96px 0 !important;
}
html body .cv-contact .cv-contact__inner {
	display: block !important;
	max-width: 1300px !important;
	margin: 0 auto !important;
	padding: 0 2rem !important;
}
html body .cv-contact .cv-contact__header {
	text-align: left !important;
	margin: 0 0 48px !important;
	max-width: none;
}
html body .cv-contact .cv-contact__tag {
	color: #b0680f !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 14px !important;
	font-weight: 700;
	letter-spacing: .18em;
}
html body .cv-contact .cv-contact__heading {
	margin: 0 0 14px !important;
	font-family: Brockmann, 'CrestVox Sans', sans-serif;
	font-size: clamp(36px, 5vw, 64px) !important;
	font-weight: 500 !important;
	line-height: 1.08 !important;
	letter-spacing: -.02em;
	color: #14141a !important;
}
html body .cv-contact .cv-contact__heading br { display: none; }
html body .cv-contact .cv-contact__heading-accent {
	background: linear-gradient(135deg, #e0a03c, #f06030);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}
html body .cv-contact .cv-contact__sub {
	margin: 0 0 22px !important;
	max-width: 720px;
	font-size: 17px !important;
	line-height: 1.7;
	color: #4a4a55 !important;
}
html body .cv-contact .cv-contact__channels {
	display: flex !important;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-start !important;
}
html body .cv-contact .cv-contact__channel {
	background: #fff !important;
	border: 1px solid #d9d9df !important;
	color: #14141a !important;
	border-radius: 999px !important;
}
html body .cv-contact .cv-contact__channel:hover {
	border-color: #f06030 !important;
}

/* Form grid */
html body .cv-contact__form,
html body .cv-contact-page__formbox.cv-contact__form {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px 32px !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}
html body .cv-contact__form .cv-contact__form-row { display: contents !important; }
html body .cv-contact__form textarea,
html body .cv-contact__form .cv-contact__form-footer,
html body .cv-contact__form > .cv-contact__form-note { grid-column: 1 / -1; }
html body .cv-contact__form select[name="service"] { grid-column: span 2; }
html body .cv-contact__form > button[type="submit"] { grid-column: 1 / -1; justify-self: start; }

/* Underline fields */
html body .cv-contact__form input:not([type="hidden"]),
html body .cv-contact__form select,
html body .cv-contact__form textarea {
	width: 100% !important;
	min-height: 56px;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid #b9b9c2 !important;
	border-radius: 0 !important;
	padding: 14px 2px !important;
	font-size: 17px !important;
	color: #14141a !important;
	box-shadow: none !important;
	transition: border-color .2s;
}
html body .cv-contact__form textarea { min-height: 96px; resize: vertical; }
html body .cv-contact__form input::placeholder,
html body .cv-contact__form textarea::placeholder { color: #3a3a44 !important; opacity: 1; }
html body .cv-contact__form input:focus,
html body .cv-contact__form select:focus,
html body .cv-contact__form textarea:focus {
	outline: 0;
	border-bottom: 2px solid #f06030 !important;
}
html body .cv-contact__form select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 36px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2314141a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 6px center !important;
	cursor: pointer;
}
html body .cv-contact__form select option { color: #14141a; background: #fff; }

/* Footer row + button */
html body .cv-contact__form .cv-contact__form-footer {
	display: flex !important;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
	gap: 22px;
	margin-top: 6px;
}
html body .cv-contact__form .cv-contact__form-note {
	margin: 0 !important;
	font-size: 14px !important;
	color: #5a5a66;
}
html body .cv-contact__form .cv-contact__submit,
html body .cv-contact__form button[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	width: auto !important;
	min-height: 54px;
	padding: 0 34px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #e0a03c, #f06030) !important;
	color: #170d02 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: .02em;
	text-transform: uppercase;
	box-shadow: 0 14px 30px -14px rgba(240, 96, 48, .7) !important;
	cursor: pointer;
}
html body .cv-contact__form button[type="submit"]:hover { transform: translateY(-2px); }
html body .cv-contact__form button[type="submit"]:disabled { opacity: .7; transform: none; cursor: default; }

/* Contact page: info cards in a row, form full width in a white panel */
html body .cv-contact-page__inner {
	display: block !important;
	max-width: 1300px !important;
	padding: 0 2rem !important;
}
html body .cv-contact-page__info {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 40px;
}
html body .cv-contact-page__form {
	background: #fff;
	border-radius: 28px;
	padding: 56px;
}

@media (max-width: 1023px) {
	html body .cv-contact__form,
	html body .cv-contact-page__formbox.cv-contact__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html body .cv-contact__form select[name="service"] { grid-column: 1 / -1; }
	html body .cv-contact-page__info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	html body .cv-contact { padding: 64px 0 !important; }
	html body .cv-contact .cv-contact__inner,
	html body .cv-contact-page__inner { padding: 0 16px !important; }
	html body .cv-contact__form,
	html body .cv-contact-page__formbox.cv-contact__form { grid-template-columns: 1fr; gap: 18px !important; }
	html body .cv-contact__form .cv-contact__form-footer { flex-direction: column-reverse; align-items: stretch; }
	html body .cv-contact__form button[type="submit"] { width: 100% !important; justify-content: center; }
	html body .cv-contact-page__info { grid-template-columns: 1fr; }
	html body .cv-contact-page__form { padding: 28px 20px; border-radius: 22px; }
}

/* ---------- Contact sections: brand (dark) section, form in a white box ---------- */
html body .cv-contact {
	position: relative;
	overflow: hidden;
	background: #000 !important;
	color: #fff;
}
html body .cv-contact::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -220px;
	width: 1000px;
	height: 480px;
	transform: translateX(-50%);
	background: radial-gradient(closest-side, rgba(240, 96, 48, .18), transparent);
	pointer-events: none;
}
html body .cv-contact .cv-contact__inner { position: relative; }
html body .cv-contact .cv-contact__tag { color: #f0b45a !important; }
html body .cv-contact .cv-contact__heading { color: #fff !important; }
html body .cv-contact .cv-contact__sub { color: rgba(255, 255, 255, .72) !important; }
html body .cv-contact .cv-contact__channel {
	background: rgba(255, 255, 255, .04) !important;
	border: 1px solid rgba(255, 255, 255, .22) !important;
	color: #fff !important;
}
html body .cv-contact .cv-contact__channel:hover {
	border-color: #f0b45a !important;
	background: rgba(255, 255, 255, .08) !important;
}
html body .cv-contact .cv-contact__form {
	background: #fff !important;
	border-radius: 28px !important;
	padding: 52px 56px !important;
	box-shadow: 0 40px 80px -40px rgba(240, 96, 48, .35), 0 0 0 1px rgba(255, 255, 255, .06) !important;
}
@media (max-width: 640px) {
	html body .cv-contact .cv-contact__form {
		padding: 28px 20px !important;
		border-radius: 22px !important;
	}
}

/* Reseller page: the 2-column "who this suits" grid has an inline style; stack it on phones. */
@media (max-width: 640px) {
	html body .rs-grid3[style] { grid-template-columns: 1fr !important; }
}

/* Industry pages: "What we build" panel sits full width under the photo banner. */
html body .cv-phero-rest .ind-hero-grid { display: block !important; }
html body .cv-phero-rest .ind-builds ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px 28px; }

/* Reseller page: the project-flow diagram sits centred under the photo banner. */
html body .cv-phero-rest .rs-split { display: block !important; max-width: 760px; margin: 0 auto; }
