:root {
	--gi-mobile-header-offset: calc(3.9rem + env(safe-area-inset-top));
	--gi-mobile-cta-safe: calc(0.9rem + env(safe-area-inset-bottom));
}

@media (max-width: 1024px) {
	.lp-page .lp-hero {
		padding-top: max(clamp(5.7rem, 9vw, 7.1rem), calc(var(--gi-mobile-header-offset) + 0.45rem)) !important;
		padding-bottom: clamp(2rem, 6vw, 3.2rem) !important;
		min-height: auto !important;
	}

	.lp-page .lp-hero__grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: clamp(1.2rem, 4.6vw, 2.2rem) !important;
		align-items: start !important;
	}

	.lp-page :where(.lp-hero__content, .lp-hero__visual, .lp-split__main, .lp-split__side, .lp-split-col, .lp-side-col, .lp-sticky-col) {
		min-inline-size: 0;
		max-inline-size: 100%;
	}

	.lp-page :where(.lp-sticky-col, .lp-split__side, [class*="lp-sticky"], [class*="is-sticky"]) {
		position: static !important;
		top: auto !important;
		inset: auto !important;
	}

	.lp-page :where(.lp-split, .lp-split-layout, .lp-routing-layout, .lp-tech-layout, .lp-faq-layout, .lp-problem-solution-layout) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: clamp(1.2rem, 4.2vw, 2rem) !important;
	}

	.lp-page :where(.lp-grid-4-strict, .lp-bento-grid, .lp-stepper-grid, .gi-grid-3, .lp-route-grid, .gi-capability-matrix, .gi-estimate-logic) {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(0.72rem, 2.5vw, 1rem);
	}

	.lp-page .lp-hero :where(.gi-button-row, .wp-block-buttons, .lp-actions) {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.65rem;
		align-items: stretch;
	}

	.lp-page .lp-hero :where(.gi-button-row > *, .wp-block-buttons > *, .lp-actions > *) {
		min-width: 0;
	}

	.lp-page .lp-hero :where(.gix-ui[data-ui-v2], .gi-ui-scene[data-ui-v2]) {
		max-inline-size: 100%;
		inline-size: 100%;
		width: 100%;
		margin-inline: 0;
	}

	.lp-page .lp-hero :where(.gix-ui[data-ui-v2][data-ui-role="hero"], .gi-ui-scene[data-ui-v2][data-ui-role="hero"]) {
		max-block-size: none;
		min-block-size: clamp(17.2rem, 50vw, 25rem);
		overflow: visible;
	}

	.lp-page :is(.lp-surface-dark, .lp-final, .lp-heading-inverse):not(.lp-hero) .gi-list-cards > li {
		background: transparent;
		border-color: color-mix(in srgb, #b8ccff 18%, transparent);
		box-shadow: none;
		color: rgba(236, 242, 255, 0.92);
	}
}

@media (max-width: 781px) {
	.site-header {
		padding-top: max(0.32rem, env(safe-area-inset-top));
		border-bottom: 0;
		background: transparent !important;
		backdrop-filter: none;
	}

	.site-header__inner {
		min-height: 3.45rem;
		padding: 0.42rem 0.56rem 0.42rem 0.74rem;
		border-radius: 999px;
		border: 1px solid rgba(227, 227, 227, 0.95);
		background: color-mix(in srgb, #f8f9ff 94%, #ffffff);
		box-shadow: 0 8px 18px rgba(12, 12, 32, 0.08);
		gap: 0.56rem;
	}

	.site-header__brand {
		min-width: 0;
		max-width: calc(100% - 3rem);
	}

	.site-header__brand :where(a, .site-brand, .custom-logo-link) {
		display: inline-flex;
		align-items: center;
		max-width: 100%;
	}

	.site-nav-toggle,
	.mobile-menu__close {
		width: 2.65rem;
		height: 2.65rem;
		border-color: rgba(22, 34, 64, 0.18);
		background: #ffffff;
		box-shadow: 0 8px 18px rgba(12, 18, 38, 0.12);
	}

	.site-nav-toggle {
		margin-left: auto;
	}

	.site-nav-toggle span,
	.mobile-menu__close span {
		width: 0.92rem;
		background: #151d34;
	}

	.site-nav-toggle:hover,
	.site-nav-toggle:focus-visible,
	.mobile-menu__close:hover,
	.mobile-menu__close:focus-visible {
		border-color: rgba(20, 33, 62, 0.26);
		background: #ffffff;
		box-shadow: 0 10px 20px rgba(10, 17, 36, 0.16);
	}

	.mobile-menu {
		padding:
			max(0.72rem, env(safe-area-inset-top))
			max(0.6rem, env(safe-area-inset-right))
			max(0.72rem, env(safe-area-inset-bottom))
			max(0.6rem, env(safe-area-inset-left));
		background: rgba(8, 12, 24, 0.5);
	}

	.mobile-menu__inner {
		background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
		border: 1px solid rgba(19, 30, 56, 0.14);
		box-shadow: 0 26px 54px rgba(9, 14, 32, 0.2);
	}

	.mobile-menu__top {
		padding-bottom: 0.86rem;
		border-bottom: 1px solid rgba(20, 32, 60, 0.1);
	}

	.mobile-menu__list {
		gap: 0.72rem;
	}

	.mobile-menu__list a {
		min-height: 3rem;
		padding: 0.86rem 0.96rem;
		background: #ffffff;
		border-color: rgba(20, 33, 62, 0.14);
		color: #151d34;
		font-weight: 600;
	}

	.mobile-menu__list a:hover,
	.mobile-menu__list a:focus-visible,
	.mobile-menu__list .current-menu-item > a,
	.mobile-menu__list .current-menu-parent > a,
	.mobile-menu__list .current-menu-ancestor > a,
	.mobile-menu__list a[aria-current="page"] {
		background: color-mix(in srgb, var(--gi-accent) 7%, #ffffff);
		border-color: color-mix(in srgb, var(--gi-accent) 28%, #dce3f5);
		color: #101a33;
		box-shadow: 0 6px 14px rgba(73, 38, 180, 0.09);
	}

	.mobile-menu__list .sub-menu {
		padding-top: 0.52rem;
		padding-left: 0.88rem;
		margin-left: 0.24rem;
		border-left: 1px solid rgba(22, 34, 63, 0.12);
	}

	.mobile-submenu-toggle {
		background: #ffffff;
		border-color: rgba(20, 33, 62, 0.16);
		color: #151d34;
		box-shadow: 0 4px 10px rgba(14, 22, 46, 0.08);
	}

	.mobile-submenu-toggle:hover,
	.mobile-submenu-toggle:focus-visible {
		border-color: color-mix(in srgb, var(--gi-accent) 30%, #d4dcf3);
		background: color-mix(in srgb, var(--gi-accent) 5%, #ffffff);
		color: #101a33;
	}

	.mobile-menu__cta-group {
		border-top-color: rgba(20, 33, 62, 0.12);
		gap: 0.8rem;
	}

	.mobile-menu__cta-group p {
		color: #5b6785;
	}

	.mobile-menu__cta-group .site-header__secondary-link {
		border-color: rgba(20, 33, 62, 0.18);
		background: #ffffff;
		color: #101a33;
		box-shadow: 0 6px 14px rgba(12, 20, 41, 0.08);
	}

	.mobile-menu__cta-group .site-header__secondary-link:hover,
	.mobile-menu__cta-group .site-header__secondary-link:focus-visible {
		border-color: color-mix(in srgb, var(--gi-accent) 30%, #d7def2);
		background: color-mix(in srgb, var(--gi-accent) 6%, #ffffff);
		color: #101a33;
	}

	.mobile-menu__cta-group .site-header__cta {
		border-color: color-mix(in srgb, var(--gi-accent) 40%, #5a38d9);
		box-shadow: 0 10px 22px rgba(82, 40, 206, 0.24);
	}

	.lp-page .lp-hero :where(.gi-button-row, .wp-block-buttons, .lp-actions) {
		grid-template-columns: minmax(0, 1fr);
	}

	.lp-page .lp-hero :where(.site-header__cta, .wp-block-button__link, .lp-btn--primary):visited,
	.lp-page .lp-hero :where(.site-header__cta, .wp-block-button__link, .lp-btn--primary):hover,
	.lp-page .lp-hero :where(.site-header__cta, .wp-block-button__link, .lp-btn--primary):focus-visible {
		color: #ffffff;
	}

	.lp-page :where(.lp-grid-4-strict, .lp-bento-grid, .lp-stepper-grid, .gi-grid-3, .lp-route-grid, .gi-capability-matrix, .gi-estimate-logic, .lp-ui-map-grid, .gix-metrics-grid) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.lp-page .lp-ui-map-grid,
	.lp-page .gix-site-layer__grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.gi-mobile-intent-bar,
	.gi-mobile-intent-bar__inner,
	.gi-mobile-intent-bar__secondary,
	.gi-mobile-intent-bar__primary {
		display: none !important;
	}

	.site-main {
		padding-bottom: 0 !important;
	}

	body.has-mobile-intent-bar .site-main {
		padding-bottom: 0 !important;
	}

	.site-main > :last-child {
		margin-bottom: 0 !important;
	}

	.site-footer {
		margin-top: 0 !important;
		padding-bottom: 1.2rem !important;
	}
}

/* Production hardening: pricing pages visual consistency (applies on all breakpoints). */
body.gi-scope-pricing-web.gi-intent-bofu .lp-page .lp-hero :is(.lp-hero__lead, .lp-hero__support),
body.gi-scope-pricing-systems.gi-intent-bofu .lp-page .lp-hero :is(.lp-hero__lead, .lp-hero__support) {
	color: #ffffff !important;
}

body.gi-scope-pricing-web.gi-intent-bofu .lp-page .lp-hero .lp-hero__support strong,
body.gi-scope-pricing-systems.gi-intent-bofu .lp-page .lp-hero .lp-hero__support strong {
	color: #ffffff !important;
}

body.gi-scope-pricing-web.gi-intent-bofu .lp-page #pricing-matrix .gix-pricing-matrix {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

body.gi-scope-pricing-web.gi-intent-bofu .lp-page #pricing-matrix .gix-pricing-matrix > .gix-price-card:nth-child(-n+3) {
	grid-column: span 2 !important;
}

body.gi-scope-pricing-web.gi-intent-bofu .lp-page #pricing-matrix .gix-pricing-matrix > .gix-price-card:nth-child(n+4) {
	grid-column: span 3 !important;
}

body.gi-scope-pricing-hub.gi-intent-bofu .lp-page .gix-estimate-flow {
	background:
		radial-gradient(circle at 12% 8%, rgba(84, 35, 231, 0.1), transparent 40%),
		linear-gradient(165deg, #ffffff 0%, #f5f7ff 100%) !important;
	border: 1px solid color-mix(in srgb, #5423e7 18%, #d7deef) !important;
	box-shadow: 0 18px 38px rgba(10, 13, 32, 0.12) !important;
	color: #0c0c20 !important;
}

body.gi-scope-pricing-hub.gi-intent-bofu .lp-page .gix-est-flow__head {
	color: rgba(12, 12, 32, 0.56) !important;
	border-bottom: 1px solid rgba(12, 12, 32, 0.12) !important;
}

body.gi-scope-pricing-hub.gi-intent-bofu .lp-page .gix-estimate-flow :is(.gix-path-text strong) {
	color: #0c0c20 !important;
}

body.gi-scope-pricing-hub.gi-intent-bofu .lp-page .gix-estimate-flow :is(.gix-path-text span) {
	color: rgba(12, 12, 32, 0.56) !important;
}

@media (max-width: 1180px) {
	body.gi-scope-pricing-web.gi-intent-bofu .lp-page #pricing-matrix .gix-pricing-matrix {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.gi-scope-pricing-web.gi-intent-bofu .lp-page #pricing-matrix .gix-pricing-matrix > .gix-price-card {
		grid-column: auto !important;
	}
}

@media (max-width: 781px) {
	body.gi-scope-pricing-web.gi-intent-bofu .lp-page #pricing-matrix .gix-pricing-matrix {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}
