/*
 * NoTox Web homepage 5.0
 * Section-rich, original premium experience using the NoTox brand system.
 */

.notox-front-page {
	--notox-forest: color-mix(in srgb, var(--notox-green-dark) 36%, var(--notox-navy-dark));
	--notox-forest-deep: color-mix(in srgb, var(--notox-green-dark) 20%, var(--notox-navy-dark));
	--notox-mint: color-mix(in srgb, var(--notox-green) 14%, var(--notox-white));
}

.notox-front-page .section {
	padding-block: clamp(4.5rem, 8vw, 8rem);
}

.notox-front-page h1 {
	max-width: 920px;
	font-size: clamp(2.25rem, 5.25vw, 3.5rem);
	line-height: 1.06;
}

.notox-front-page h2 {
	font-size: clamp(1.95rem, 4vw, 2.75rem);
}

.has-home-experience .notox-front-page [data-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity 600ms ease,
		transform 600ms ease;
}

.has-home-experience .notox-front-page [data-reveal].is-visible {
	opacity: 1;
	transform: none;
}

.section-label {
	margin: 0 0 1rem;
	color: var(--notox-green-dark);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.section-label-light {
	color: var(--notox-lime);
}

.dark-green-section,
.section-navy {
	color: rgba(255, 255, 255, 0.78);
}

.dark-green-section {
	background: var(--notox-forest);
}

.section-navy {
	background: var(--notox-navy-dark);
}

.dark-green-section h1,
.dark-green-section h2,
.dark-green-section h3,
.dark-green-section h4,
.dark-green-section h5,
.dark-green-section h6,
.dark-green-section p,
.dark-green-section li,
.dark-green-section label,
.section-navy h1,
.section-navy h2,
.section-navy h3,
.section-navy h4,
.section-navy h5,
.section-navy h6 {
	color: var(--notox-white);
}

.dark-green-section a:not(.button),
.section-navy a:not(.button) {
	color: var(--notox-white);
}

.dark-green-section :focus-visible,
.section-navy :focus-visible {
	outline-color: var(--notox-yellow);
}

.home-v4-section-head {
	display: grid;
	gap: 1.25rem;
	margin-bottom: clamp(2rem, 5vw, 4.2rem);
}

.home-v4-section-head h2 {
	max-width: 800px;
	margin-bottom: 0;
}

.home-v4-section-head > p {
	max-width: 560px;
	color: var(--notox-muted);
}

.home-v4-section-head-light > p {
	color: rgba(255, 255, 255, 0.68);
}

.home-v4-section-head-light .text-link {
	align-self: end;
}

/* Hero */

.home-v4-hero {
	position: relative;
	overflow: hidden;
	min-height: min(900px, calc(100svh - var(--notox-header-height)));
	padding-top: clamp(4.75rem, 8vw, 7.75rem);
	background:
		radial-gradient(circle at 75% 35%, rgba(168, 230, 55, 0.11), transparent 24rem),
		linear-gradient(125deg, var(--notox-navy-dark) 0%, var(--notox-forest-deep) 48%, var(--notox-forest) 100%);
}

.home-v4-hero::before {
	position: absolute;
	z-index: 0;
	top: -14rem;
	right: -8rem;
	width: 34rem;
	height: 34rem;
	border: 1px solid rgba(168, 230, 55, 0.18);
	border-radius: 50%;
	box-shadow:
		0 0 0 5rem rgba(168, 230, 55, 0.025),
		0 0 0 10rem rgba(168, 230, 55, 0.018);
	content: "";
}

.home-v4-hero-grid {
	position: absolute;
	z-index: 0;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.72), transparent 88%);
}

.home-v4-hero-inner {
	position: relative;
	z-index: 2;
	display: grid;
	gap: clamp(2.8rem, 6vw, 6rem);
	align-items: center;
}

.home-v4-kicker {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin-bottom: 1.4rem;
	color: var(--notox-lime) !important;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.home-v4-kicker span {
	width: 28px;
	height: 2px;
	background: var(--notox-lime);
}

.home-v4-hero h1 {
	max-width: 760px;
	margin-bottom: 1.25rem;
	color: var(--notox-white);
	letter-spacing: -0.06em;
}

.home-v4-hero h1 em {
	display: block;
	color: var(--notox-lime);
	font-style: normal;
}

.home-v4-hero-copy > p:not(.home-v4-kicker) {
	max-width: 730px;
	color: rgba(255, 255, 255, 0.74);
	font-size: clamp(1rem, 2vw, 1.12rem);
}

.home-v4-hero .button-group {
	margin-top: 1.8rem;
}

.home-v4-hero-standards {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 1.2rem;
	margin: 1.6rem 0 0;
	padding: 0;
	list-style: none;
}

.home-v4-hero-standards li {
	display: flex;
	align-items: center;
	gap: 0.42rem;
	color: rgba(255, 255, 255, 0.73);
	font-size: 0.8125rem;
	font-weight: 600;
}

.home-v4-hero-standards .icon {
	width: 17px;
	height: 17px;
	color: var(--notox-lime);
}

.home-v4-command {
	position: relative;
	min-height: 480px;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 28px;
	background: rgba(2, 18, 39, 0.7);
	box-shadow: 0 34px 80px rgba(0, 0, 0, 0.24);
	backdrop-filter: blur(10px);
	transition: transform 220ms ease;
}

.command-head,
.command-status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.command-head {
	padding: 0.2rem 0.25rem 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.command-head p {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	color: var(--notox-white);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
}

.command-head p span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--notox-lime);
	box-shadow: 0 0 0 5px rgba(168, 230, 55, 0.13);
}

.command-head small {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.8125rem;
}

.command-orbit {
	position: relative;
	display: grid;
	min-height: 340px;
	place-items: center;
}

.command-orbit::before,
.command-orbit-ring {
	position: absolute;
	width: 258px;
	height: 258px;
	border: 1px solid rgba(168, 230, 55, 0.22);
	border-radius: 50%;
	content: "";
}

.command-orbit-ring {
	width: 184px;
	height: 184px;
	border-style: dashed;
	animation: notox-orbit 24s linear infinite;
}

.command-core {
	position: relative;
	z-index: 2;
	display: grid;
	width: 140px;
	height: 140px;
	align-content: center;
	padding: 1rem;
	border: 1px solid rgba(168, 230, 55, 0.32);
	border-radius: 50%;
	background: var(--notox-forest);
	text-align: center;
	box-shadow: 0 0 40px rgba(116, 198, 40, 0.12);
}

.command-core small {
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.8125rem;
	text-transform: uppercase;
}

.command-core strong {
	color: var(--notox-white);
	font-size: 0.9rem;
	line-height: 1.2;
}

.command-node {
	position: absolute;
	z-index: 3;
	display: flex;
	min-width: 102px;
	align-items: center;
	gap: 0.42rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 99px;
	background: rgba(3, 26, 58, 0.9);
	color: var(--notox-white);
	font-size: 0.8125rem;
	font-weight: 700;
}

.command-node .icon {
	width: 17px;
	height: 17px;
	color: var(--notox-lime);
}

.node-search {
	top: 32px;
	left: 3%;
}

.node-content {
	top: 32px;
	right: 3%;
}

.node-web {
	bottom: 32px;
	left: 3%;
}

.node-data {
	right: 3%;
	bottom: 32px;
}

.command-status {
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.command-status div {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.command-status span {
	color: var(--notox-lime);
	font-size: 0.8125rem;
	font-weight: 700;
}

.command-status p {
	margin: 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.8125rem;
	font-weight: 600;
}

.home-v4-proof {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 1rem;
	margin-top: clamp(3rem, 6vw, 5.5rem);
	padding-block: 1.35rem;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.home-v4-proof > p {
	margin: 0;
	color: var(--notox-lime) !important;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.home-v4-proof > div {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.home-v4-proof span {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	padding: 0.4rem 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 99px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.8125rem;
	font-weight: 600;
}

/* Connected story and platform rail */

.home-v4-story {
	background: var(--notox-off-white);
}

.home-v4-story-grid,
.home-v4-ai-grid,
.home-v4-process-grid,
.home-v4-why-grid,
.home-v4-faq-grid {
	display: grid;
	gap: clamp(2rem, 6vw, 5.5rem);
}

.home-v4-story-copy > p:not(.section-label),
.home-v4-process-lead > p:not(.section-label),
.home-v4-why-grid > div:first-child > p:not(.section-label),
.home-v4-faq-grid > div:first-child > p:not(.section-label) {
	max-width: 650px;
	color: var(--notox-muted);
}

.home-v4-journey {
	display: grid;
	gap: 0.75rem;
}

.home-v4-journey article {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	border: 1px solid var(--notox-border);
	border-radius: 16px;
	background: var(--notox-white);
	box-shadow: var(--notox-shadow-sm);
}

.home-v4-journey article > span {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 50%;
	background: var(--notox-navy);
	color: var(--notox-lime);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-v4-journey strong {
	color: var(--notox-navy);
	font-size: 1rem;
}

.home-v4-journey p {
	margin: 0;
	color: var(--notox-muted);
	font-size: 0.8125rem;
}

.home-v4-platforms {
	padding-block: 1.4rem;
}

.home-v4-platforms .container {
	display: grid;
	gap: 1rem;
}

.home-v4-platforms p {
	margin: 0;
	color: var(--notox-lime);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.home-v4-platforms .container > div {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}

.home-v4-platforms span {
	color: rgba(255, 255, 255, 0.74);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-v4-platforms span:not(:last-child)::after {
	margin-left: 0.7rem;
	color: var(--notox-green);
	content: "•";
}

/* Commercial problem map */

.home-v5-problems {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 15%, rgba(168, 230, 55, 0.14), transparent 23rem),
		linear-gradient(145deg, var(--notox-forest), var(--notox-forest-deep));
}

.home-v5-problems::before {
	position: absolute;
	top: -15rem;
	left: -13rem;
	width: 34rem;
	height: 34rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	box-shadow:
		0 0 0 5rem rgba(255, 255, 255, 0.018),
		0 0 0 10rem rgba(255, 255, 255, 0.012);
	content: "";
}

.home-v5-problems .container {
	position: relative;
	z-index: 1;
}

.home-v5-problem-grid {
	display: grid;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 28px;
	background: rgba(2, 18, 39, 0.24);
	box-shadow: 0 32px 80px rgba(2, 18, 39, 0.24);
}

.home-v5-problem-grid article {
	position: relative;
	display: flex;
	min-height: 350px;
	flex-direction: column;
	padding: clamp(1.35rem, 3.2vw, 2.25rem);
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	overflow: hidden;
	transition:
		background-color var(--notox-transition),
		transform var(--notox-transition);
}

.home-v5-problem-grid article:last-child {
	border-bottom: 0;
}

.home-v5-problem-grid article::after {
	position: absolute;
	right: -90px;
	bottom: -90px;
	width: 180px;
	height: 180px;
	border: 24px solid rgba(168, 230, 55, 0.06);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.home-v5-problem-grid article:hover {
	background: rgba(168, 230, 55, 0.07);
}

.home-v5-problem-grid article > span {
	color: var(--notox-lime);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.home-v5-problem-grid article > i {
	display: grid;
	width: 52px;
	height: 52px;
	margin: clamp(2.25rem, 5vw, 4.25rem) 0 1.4rem;
	place-items: center;
	border: 1px solid rgba(168, 230, 55, 0.34);
	border-radius: 15px;
	background: rgba(168, 230, 55, 0.08);
	color: var(--notox-lime);
}

.home-v5-problem-grid article > i .icon {
	width: 25px;
	height: 25px;
}

.home-v5-problem-grid h3 {
	max-width: 360px;
	margin-bottom: 0.75rem;
	font-size: clamp(1.3rem, 2.2vw, 1.65rem);
}

.home-v5-problem-grid article > p {
	max-width: 390px;
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.82rem;
}

.home-v5-problem-grid article > a {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
	padding-top: 1.5rem;
	color: var(--notox-white);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.home-v5-problem-grid article > a .icon {
	width: 18px;
	height: 18px;
	color: var(--notox-lime);
	transition: transform var(--notox-transition);
}

.home-v5-problem-grid article > a:hover .icon,
.home-v5-problem-grid article > a:focus-visible .icon {
	transform: translateX(4px);
}

/* Service navigator */

.home-v4-services {
	background: var(--notox-white);
}

.home-v4-service-system {
	display: grid;
	overflow: hidden;
	border: 1px solid var(--notox-border);
	border-radius: 28px;
	background: var(--notox-off-white);
	box-shadow: var(--notox-shadow-md);
}

.home-v4-service-tabs {
	display: grid;
	background: var(--notox-navy-dark);
}

.home-v4-service-tabs button {
	display: grid;
	grid-template-columns: 38px 28px 1fr 22px;
	gap: 0.65rem;
	align-items: center;
	min-height: 74px;
	padding: 0.75rem 1rem;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: transparent;
	color: rgba(255, 255, 255, 0.68);
	text-align: left;
}

.home-v4-service-tabs button:last-child {
	border-bottom: 0;
}

.home-v4-service-tabs button > i {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 10px;
}

.home-v4-service-tabs button > i .icon {
	width: 18px;
	height: 18px;
}

.home-v4-service-tabs button > span {
	color: var(--notox-green);
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 700;
}

.home-v4-service-tabs button > strong {
	color: inherit;
	font-size: 0.8125rem;
}

.home-v4-service-tabs button > b {
	opacity: 0.35;
}

.home-v4-service-tabs button > b .icon {
	width: 19px;
}

.home-v4-service-tabs button:hover,
.home-v4-service-tabs button:focus-visible,
.home-v4-service-tabs button[aria-selected="true"] {
	background: var(--notox-forest);
	color: var(--notox-white);
}

.home-v4-service-tabs button[aria-selected="true"] > i {
	border-color: var(--notox-lime);
	background: var(--notox-lime);
	color: var(--notox-navy-dark);
}

.home-v4-service-tabs button[aria-selected="true"] > b {
	color: var(--notox-lime);
	opacity: 1;
}

.home-v4-service-panels {
	position: relative;
	min-height: 500px;
	padding: clamp(1.5rem, 5vw, 4rem);
	background:
		linear-gradient(140deg, rgba(116, 198, 40, 0.08), transparent 35%),
		var(--notox-off-white);
}

.home-v4-service-panels::after {
	position: absolute;
	right: -90px;
	bottom: -120px;
	width: 280px;
	height: 280px;
	border: 42px solid rgba(116, 198, 40, 0.08);
	border-radius: 50%;
	content: "";
}

.home-v4-service-panels article {
	position: relative;
	z-index: 1;
}

.service-panel-index {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: clamp(2rem, 7vw, 4.5rem);
}

.service-panel-index > span {
	color: rgba(3, 26, 58, 0.12);
	font-size: clamp(4rem, 10vw, 7.5rem);
	font-weight: 700;
	letter-spacing: -0.1em;
	line-height: 0.75;
}

.service-panel-index .icon {
	width: 46px;
	height: 46px;
	color: var(--notox-green-dark);
}

.home-v4-service-panels article > p {
	margin-bottom: 0.5rem;
	color: var(--notox-green-dark);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.home-v4-service-panels h3 {
	max-width: 760px;
	font-size: clamp(1.7rem, 4vw, 2.45rem);
}

.service-panel-copy {
	display: grid;
	gap: 1.4rem;
	margin-block: 1.4rem 1.7rem;
}

.service-panel-copy > p {
	max-width: 680px;
	color: var(--notox-muted);
}

.service-panel-copy ul {
	display: grid;
	gap: 0.65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.service-panel-copy li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	color: var(--notox-navy);
	font-size: 0.8125rem;
	font-weight: 600;
}

.service-panel-copy .icon {
	width: 18px;
	min-width: 18px;
	color: var(--notox-green-dark);
}

/* Connected capability architecture */

.home-v4-capability-matrix {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 10% 5%, rgba(116, 198, 40, 0.13), transparent 25rem),
		linear-gradient(145deg, var(--notox-navy-dark), var(--notox-navy));
}

.home-v4-capability-matrix::after {
	position: absolute;
	right: -10rem;
	bottom: -12rem;
	width: 34rem;
	height: 34rem;
	border: 1px solid rgba(168, 230, 55, 0.13);
	border-radius: 50%;
	box-shadow:
		0 0 0 5rem rgba(168, 230, 55, 0.025),
		0 0 0 10rem rgba(168, 230, 55, 0.018);
	content: "";
}

.home-v4-capability-matrix .container {
	position: relative;
	z-index: 1;
}

.home-v4-capability-tracks {
	display: grid;
	gap: 1rem;
}

.home-v4-capability-track {
	position: relative;
	display: flex;
	min-height: 520px;
	flex-direction: column;
	padding: clamp(1.35rem, 3vw, 2rem);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.055);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.17);
}

.home-v4-capability-track:nth-child(2) {
	background: rgba(116, 198, 40, 0.095);
}

.home-v4-capability-track:nth-child(3) {
	background: rgba(255, 107, 34, 0.07);
}

.capability-track-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: clamp(3rem, 7vw, 5.5rem);
}

.capability-track-head > span {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border: 1px solid rgba(168, 230, 55, 0.4);
	border-radius: 50%;
	color: var(--notox-lime);
	font-size: 0.8125rem;
	font-weight: 700;
}

.capability-track-head > p {
	margin: 0;
	color: var(--notox-lime);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: right;
	text-transform: uppercase;
}

.home-v4-capability-track > h3 {
	max-width: 390px;
	margin-bottom: 0.85rem;
	color: var(--notox-white);
	font-size: clamp(1.45rem, 2.3vw, 1.9rem);
}

.home-v4-capability-track > p {
	margin-bottom: 1.8rem;
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.82rem;
}

.home-v4-capability-track ul {
	display: grid;
	gap: 0;
	margin: auto 0 0;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	list-style: none;
}

.home-v4-capability-track li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.home-v4-capability-track li a {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 22px;
	gap: 0.7rem;
	align-items: center;
	min-height: 64px;
	color: var(--notox-white);
	text-decoration: none;
}

.home-v4-capability-track li a > i {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 9px;
	background: rgba(168, 230, 55, 0.12);
	color: var(--notox-lime);
}

.home-v4-capability-track li a > i .icon {
	width: 17px;
	height: 17px;
}

.home-v4-capability-track li a > span {
	color: var(--notox-white);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-v4-capability-track li a > .icon {
	width: 19px;
	color: rgba(255, 255, 255, 0.45);
	transition: transform var(--notox-transition), color var(--notox-transition);
}

.home-v4-capability-track li a:hover > .icon,
.home-v4-capability-track li a:focus-visible > .icon {
	transform: translateX(4px);
	color: var(--notox-lime);
}

/* AI / dark-green contrast */

.home-v4-ai {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 90% 10%, rgba(168, 230, 55, 0.16), transparent 24rem),
		var(--notox-forest);
}

.home-v4-ai::before {
	position: absolute;
	right: 8%;
	bottom: -210px;
	width: 470px;
	height: 470px;
	border: 1px solid rgba(168, 230, 55, 0.18);
	border-radius: 50%;
	content: "";
}

.home-v4-ai-grid {
	position: relative;
	z-index: 1;
	align-items: center;
}

.home-v4-ai-grid > div:first-child > p:not(.section-label) {
	max-width: 680px;
	color: rgba(255, 255, 255, 0.75);
}

.home-v4-ai-map {
	display: grid;
	gap: 0.75rem;
}

.home-v4-ai-map article {
	padding: 1.2rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 18px;
	background: rgba(2, 18, 39, 0.24);
}

.home-v4-ai-map article > span {
	color: var(--notox-lime);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-v4-ai-map h3 {
	margin: 0.5rem 0 0.35rem;
	font-size: 1.18rem;
}

.home-v4-ai-map p {
	margin: 0;
	color: rgba(255, 255, 255, 0.66) !important;
	font-size: 0.8125rem;
}

/* Work and engagement models */

.home-v4-work {
	background: var(--notox-off-white);
}

.home-v4-work-grid {
	display: grid;
	gap: 1rem;
}

.home-v4-work-grid > article {
	position: relative;
	display: flex;
	min-height: 320px;
	flex-direction: column;
	padding: clamp(1.4rem, 4vw, 2.2rem);
	overflow: hidden;
	border: 1px solid var(--notox-border);
	border-radius: 22px;
	background: var(--notox-white);
}

.home-v4-work-grid > article::after {
	position: absolute;
	right: -70px;
	bottom: -100px;
	width: 220px;
	height: 220px;
	border: 36px solid rgba(116, 198, 40, 0.08);
	border-radius: 50%;
	content: "";
}

.home-v4-work-grid > .work-feature {
	background: var(--notox-navy);
	color: rgba(255, 255, 255, 0.72);
}

.home-v4-work-grid article > * {
	position: relative;
	z-index: 1;
}

.home-v4-work-grid article > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: auto;
}

.home-v4-work-grid article > div span,
.home-v4-work-grid article > div small {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
}

.home-v4-work-grid article > div span {
	color: var(--notox-green-dark);
}

.home-v4-work-grid .work-feature > div span {
	color: var(--notox-lime);
}

.home-v4-work-grid article h3 {
	margin-top: 4rem;
	font-size: clamp(1.4rem, 3vw, 2rem);
}

.home-v4-work-grid .work-feature h3 {
	color: var(--notox-white);
}

.home-v4-work-grid article > p {
	color: var(--notox-muted);
	font-size: 0.84rem;
}

.home-v4-work-grid .work-feature > p {
	color: rgba(255, 255, 255, 0.66);
}

.home-v4-work-grid ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0.8rem 0 0;
	padding: 0;
	list-style: none;
}

.home-v4-work-grid li {
	padding: 0.35rem 0.6rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 99px;
	color: var(--notox-white);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-v4-engagements {
	background: var(--notox-white);
}

.home-v4-engagement-grid {
	display: grid;
	gap: 1rem;
}

.home-v4-engagement-grid article {
	position: relative;
	padding: 1.5rem;
	border: 1px solid rgba(79, 151, 22, 0.24);
	border-radius: 20px;
	background: var(--notox-off-white);
}

.home-v4-engagement-grid article > span {
	display: grid;
	width: 42px;
	height: 42px;
	margin-bottom: 2.5rem;
	place-items: center;
	border-radius: 50%;
	background: var(--notox-navy);
	color: var(--notox-lime);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-v4-engagement-grid h3 {
	font-size: 1.35rem;
}

.home-v4-engagement-grid p {
	color: var(--notox-muted);
	font-size: 0.84rem;
}

.home-v4-engagement-grid small {
	display: block;
	padding-top: 0.9rem;
	border-top: 1px solid rgba(79, 151, 22, 0.2);
	color: var(--notox-green-dark);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
}

/* Process */

.home-v4-process {
	background:
		linear-gradient(135deg, rgba(116, 198, 40, 0.07), transparent 54%),
		var(--notox-light);
}

.home-v4-process-lead {
	align-self: start;
}

.home-v4-process-list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--notox-border);
	list-style: none;
}

.home-v4-process-list li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 1rem;
	padding-block: 1.35rem;
	border-bottom: 1px solid var(--notox-border);
}

.home-v4-process-list li > span {
	color: var(--notox-green-dark);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-v4-process-list h3 {
	margin-bottom: 0.25rem;
	font-size: 1.25rem;
}

.home-v4-process-list p {
	margin: 0;
	color: var(--notox-muted);
	font-size: 0.82rem;
}

/* Industries */

.home-v4-industries {
	background:
		linear-gradient(135deg, rgba(116, 198, 40, 0.08), transparent 34%),
		var(--notox-navy-dark);
}

.home-v4-industry-grid {
	display: grid;
	gap: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.home-v4-industry-grid article {
	position: relative;
	min-height: 230px;
	padding: 1.4rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.home-v4-industry-grid article > span {
	color: var(--notox-green);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-v4-industry-grid h3 {
	margin: 2rem 0 0.6rem;
	color: var(--notox-white);
	font-size: 1.35rem;
}

.home-v4-industry-grid p {
	max-width: 390px;
	color: rgba(255, 255, 255, 0.63);
	font-size: 0.8125rem;
}

.home-v4-industry-grid article > i {
	position: absolute;
	top: 1.4rem;
	right: 0;
	color: rgba(255, 255, 255, 0.28);
}

.home-v4-industry-grid article > i .icon {
	width: 24px;
	height: 24px;
}

/* Why, insights, FAQ */

.home-v4-why {
	position: relative;
	overflow: hidden;
	background: var(--notox-off-white);
}

.home-v4-why::before {
	position: absolute;
	top: 0;
	right: 7%;
	width: 124px;
	height: 8px;
	border-radius: 0 0 99px 99px;
	background: linear-gradient(90deg, var(--notox-yellow), var(--notox-orange));
	content: "";
}

.home-v4-why-grid {
	align-items: start;
}

.home-v4-why-grid .section-label,
.home-v4-why-grid > div:first-child > p:not(.section-label) {
	color: var(--notox-navy);
}

.home-v4-why-board {
	display: grid;
	overflow: hidden;
	border: 1px solid rgba(3, 26, 58, 0.18);
	border-radius: 24px;
	background: var(--notox-white);
	box-shadow: 0 28px 60px rgba(3, 26, 58, 0.13);
}

.home-v4-why-board article {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 1rem;
	padding: 1.2rem;
	border-bottom: 1px solid var(--notox-border);
}

.home-v4-why-board article:last-child {
	border-bottom: 0;
}

.home-v4-why-board article > span {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 12px;
	background: var(--notox-navy);
	color: var(--notox-lime);
}

.home-v4-why-board .icon {
	width: 21px;
	height: 21px;
}

.home-v4-why-board h3 {
	margin-bottom: 0.25rem;
	font-size: 1.05rem;
}

.home-v4-why-board p {
	margin: 0;
	color: var(--notox-muted);
	font-size: 0.8125rem;
}

.home-v4-insights {
	background:
		linear-gradient(140deg, rgba(168, 230, 55, 0.08), transparent 42%),
		var(--notox-forest-deep);
}

.home-v4-post-grid {
	display: grid;
	gap: 1rem;
}

.home-v4-post-grid .post-card {
	border-color: rgba(255, 255, 255, 0.15);
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.18);
}

.home-v4-post-grid .post-card h2,
.home-v4-post-grid .post-card h2 a {
	color: var(--notox-navy);
}

.home-v4-post-grid .post-card p {
	color: var(--notox-muted);
}

.home-v4-post-grid .post-card .text-link {
	color: var(--notox-navy);
}

.home-v4-empty-insights {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	padding: 1.2rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 18px;
}

.home-v4-empty-insights p {
	margin: 0;
	color: rgba(255, 255, 255, 0.74);
}

.home-v4-faq {
	background: var(--notox-off-white);
}

.home-v4-faq-list {
	border-top: 1px solid var(--notox-border);
}

.home-v4-faq-list details {
	border-bottom: 1px solid var(--notox-border);
}

.home-v4-faq-list summary {
	display: flex;
	min-height: 74px;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	color: var(--notox-navy);
	font-size: 0.9rem;
	font-weight: 700;
	list-style: none;
}

.home-v4-faq-list summary::-webkit-details-marker {
	display: none;
}

.home-v4-faq-list summary .icon {
	width: 19px;
	min-width: 19px;
	transition: transform var(--notox-transition);
}

.home-v4-faq-list details[open] summary .icon {
	transform: rotate(180deg);
}

.home-v4-faq-list details > p {
	padding: 0 2.4rem 1.4rem 0;
	color: var(--notox-muted);
	font-size: 0.84rem;
}

/* Homepage enquiry */

.home-v4-enquiry {
	background: var(--notox-white);
}

.home-v4-enquiry-shell {
	display: grid;
	overflow: hidden;
	border: 1px solid var(--notox-border);
	border-radius: 30px;
	box-shadow: var(--notox-shadow-md);
}

.home-v4-enquiry-copy,
.home-v4-form-card {
	padding: clamp(1.5rem, 5vw, 3.5rem);
}

.home-v4-enquiry-copy {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 100%, rgba(168, 230, 55, 0.14), transparent 18rem),
		var(--notox-forest);
}

.home-v4-enquiry-copy::after {
	position: absolute;
	right: -130px;
	bottom: -150px;
	width: 320px;
	height: 320px;
	border: 48px solid rgba(168, 230, 55, 0.09);
	border-radius: 50%;
	content: "";
}

.home-v4-enquiry-copy > * {
	position: relative;
	z-index: 1;
}

.home-v4-enquiry-copy > p:not(.section-label) {
	color: rgba(255, 255, 255, 0.72);
}

.home-v4-enquiry-copy ul {
	display: grid;
	gap: 1.2rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.home-v4-enquiry-copy li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 0.75rem;
}

.home-v4-enquiry-copy li > .icon {
	width: 21px;
	height: 21px;
	color: var(--notox-lime);
}

.home-v4-enquiry-copy li span {
	display: grid;
}

.home-v4-enquiry-copy li strong {
	color: var(--notox-white);
	font-size: 0.84rem;
}

.home-v4-enquiry-copy li span {
	color: rgba(255, 255, 255, 0.63);
	font-size: 0.8125rem;
}

.home-v4-form-card {
	background: var(--notox-off-white);
}

.home-v4-form-card .form-heading h2 {
	font-size: clamp(1.65rem, 3.4vw, 2.3rem);
}

@keyframes notox-orbit {
	to {
		transform: rotate(360deg);
	}
}

@media (min-width: 600px) {
	.home-v4-ai-map,
	.home-v4-capability-tracks,
	.home-v4-engagement-grid,
	.home-v4-industry-grid,
	.home-v4-post-grid,
	.home-v5-problem-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-v5-problem-grid article {
		border-right: 1px solid rgba(255, 255, 255, 0.13);
	}

	.home-v5-problem-grid article:nth-child(even) {
		border-right: 0;
	}

	.home-v5-problem-grid article:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.home-v4-industry-grid article:nth-child(odd) {
		padding-right: 1.5rem;
		border-right: 1px solid rgba(255, 255, 255, 0.14);
	}

	.home-v4-industry-grid article:nth-child(even) {
		padding-left: 1.5rem;
	}
}

@media (min-width: 768px) {
	.notox-front-page h1 {
		font-size: clamp(2.625rem, 4.7vw, 3rem);
	}

	.home-v4-proof {
		grid-template-columns: minmax(210px, 0.6fr) 1.4fr;
		align-items: center;
	}

	.home-v4-proof > div {
		justify-content: flex-end;
	}

	.service-panel-copy {
		grid-template-columns: 1.2fr 0.8fr;
	}

	.home-v4-work-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-v4-work-grid > .work-feature {
		grid-row: span 2;
		min-height: 660px;
	}

	.home-v4-engagement-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-v4-post-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1120px) {
	.notox-front-page h1 {
		font-size: 3.5rem;
	}
}

@media (min-width: 960px) {
	.home-v4-hero-inner {
		grid-template-columns: minmax(0, 1.12fr) minmax(400px, 0.88fr);
	}

	.home-v4-section-head {
		grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
		align-items: end;
	}

	.home-v4-story-grid,
	.home-v4-ai-grid,
	.home-v4-process-grid,
	.home-v4-why-grid,
	.home-v4-faq-grid {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}

	.home-v4-service-system {
		grid-template-columns: minmax(300px, 0.65fr) minmax(0, 1.35fr);
	}

	.home-v4-service-tabs button {
		min-height: 76px;
	}

	.home-v4-capability-tracks {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-v5-problem-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.home-v5-problem-grid article,
	.home-v5-problem-grid article:nth-child(even) {
		border-right: 1px solid rgba(255, 255, 255, 0.13);
		border-bottom: 0;
	}

	.home-v5-problem-grid article:last-child {
		border-right: 0;
	}

	.home-v4-ai-map {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-v4-process-lead {
		position: sticky;
		top: calc(var(--notox-header-height) + 32px);
	}

	.home-v4-industry-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-v4-industry-grid article {
		padding: 1.5rem;
		border-right: 1px solid rgba(255, 255, 255, 0.14);
	}

	.home-v4-industry-grid article:nth-child(odd),
	.home-v4-industry-grid article:nth-child(even) {
		padding: 1.5rem;
	}

	.home-v4-industry-grid article:nth-child(3n) {
		border-right: 0;
	}

	.home-v4-enquiry-shell {
		grid-template-columns: minmax(320px, 0.76fr) minmax(0, 1.24fr);
	}
}

@media (min-width: 1200px) {
	.home-v4-command {
		min-height: 540px;
		padding: 1.25rem;
	}

	.command-orbit {
		min-height: 390px;
	}

	.command-orbit::before {
		width: 310px;
		height: 310px;
	}

	.command-orbit-ring {
		width: 220px;
		height: 220px;
	}

	.command-core {
		width: 154px;
		height: 154px;
	}
}

@media (max-width: 599px) {
	.home-v4-command {
		min-height: 420px;
	}

	.command-orbit {
		min-height: 290px;
	}

	.command-orbit::before {
		width: 220px;
		height: 220px;
	}

	.command-orbit-ring {
		width: 150px;
		height: 150px;
	}

	.command-core {
		width: 118px;
		height: 118px;
	}

	.command-node {
		min-width: 88px;
		padding: 0.45rem 0.55rem;
		font-size: 0.8125rem;
	}

	.node-search,
	.node-web {
		left: 0;
	}

	.node-content,
	.node-data {
		right: 0;
	}

	.home-v4-service-tabs button {
		grid-template-columns: 34px 24px 1fr 18px;
	}

	.service-panel-index {
		margin-bottom: 2rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.has-home-experience .notox-front-page [data-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.command-orbit-ring {
		animation: none;
	}
}
