
:root {
	--ae-ink: #08090b;
	--ae-carbon: #14171b;
	--ae-panel: #1b1f24;
	--ae-steel: #aab0b7;
	--ae-line: rgba(255, 255, 255, 0.12);
	--ae-white: #ffffff;
	--ae-signal: #20B2AA;
	--ae-signal-on-light: #0F766E;
	--ae-focus: #0F766E;
	--ae-fire: #ff5a1f;
	--ae-header-height: 88px;
	--ae-wide: min(1280px, calc(100vw - 48px));
	--ae-content: min(760px, calc(100vw - 48px));
	--ae-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--ae-ink);
	color: #f4f5f6;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.nav-is-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

a:hover,
a:focus {
	color: var(--ae-signal);
}

button,
input,
select,
textarea {
	font: inherit;
}

button {
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.55em;
	font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.025em;
	text-transform: uppercase;
}

h1 {
	font-size: clamp(3.1rem, 4.5vw, 6rem);
}

h2 {
	font-size: clamp(2.35rem, 4.8vw, 5rem);
}

h3 {
	font-size: clamp(1.45rem, 2.2vw, 2.15rem);
}

p {
	margin: 0 0 1.4em;
}

address {
	font-style: normal;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	top: 10px;
	left: 10px;
	z-index: 99999;
	width: auto;
	height: auto;
	padding: 12px 18px;
	margin: 0;
	clip: auto;
	background: var(--ae-signal);
	color: var(--ae-ink);
	font-weight: 800;
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	height: var(--ae-header-height);
	border-bottom: 1px solid transparent;
	background: linear-gradient(180deg, rgba(8, 9, 11, 0.92), rgba(8, 9, 11, 0.55) 65%, transparent);
	transition: transform 220ms ease, background 220ms ease, border-color 220ms ease;
}

.site-header.is-scrolled {
	border-color: var(--ae-line);
	background: rgba(8, 9, 11, 0.96);
	backdrop-filter: blur(14px);
}

.site-header.is-hidden {
	transform: translateY(-100%);
}

.admin-bar .site-header {
	top: 32px;
}

.site-header__inner {
	width: var(--ae-wide);
	height: 100%;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.site-branding {
	flex: 0 0 auto;
}

.site-branding__link {
	display: block;
	text-decoration: none;
}

.site-branding__logo,
.custom-logo {
	width: clamp(185px, 19vw, 260px);
	max-height: 55px;
	object-fit: contain;
	object-position: left center;
}

.custom-logo-link {
	display: block;
}

.site-navigation {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 28px;
	min-width: 0;
}

.primary-menu,
.primary-menu .sub-menu,
.footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: clamp(16px, 1.75vw, 30px);
}

.primary-menu > li {
	position: relative;
	display: flex;
	align-items: center;
}

.primary-menu > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	color: #fff;
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.primary-menu > li > a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 7px;
	left: 0;
	height: 2px;
	background: var(--ae-signal);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
}

.primary-menu > li:hover > a::after,
.primary-menu > li:focus-within > a::after,
.primary-menu > .current-menu-item > a::after,
.primary-menu > .current-menu-ancestor > a::after {
	transform: scaleX(1);
}

.primary-menu .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: -22px;
	z-index: 30;
	width: max-content;
	min-width: 260px;
	padding: 12px;
	border: 1px solid var(--ae-line);
	background: rgba(13, 15, 18, 0.98);
	box-shadow: var(--ae-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 160ms ease, visibility 160ms ease, transform 160ms ease;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu,
.primary-menu li.is-submenu-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.primary-menu .sub-menu li + li {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.primary-menu .sub-menu a {
	display: block;
	padding: 12px 14px;
	color: #fff;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

.primary-menu .sub-menu a:hover,
.primary-menu .sub-menu a:focus {
	background: var(--ae-signal);
	color: var(--ae-ink);
}

.submenu-toggle {
	display: none;
}

.nav-toggle {
	display: none;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nav-toggle__icon {
	width: 28px;
	display: grid;
	gap: 5px;
}

.nav-toggle__icon span {
	display: block;
	height: 2px;
	background: currentColor;
	transition: transform 180ms ease, opacity 180ms ease;
}

.nav-is-open .nav-toggle__icon span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.nav-is-open .nav-toggle__icon span:nth-child(2) {
	opacity: 0;
}

.nav-is-open .nav-toggle__icon span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 22px;
	border: 2px solid var(--ae-signal);
	border-radius: 0;
	background: var(--ae-signal);
	color: var(--ae-ink);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.07em;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 170ms ease, color 170ms ease, border-color 170ms ease, transform 170ms ease;
}

.button:hover,
.button:focus {
	border-color: #fff;
	background: #fff;
	color: var(--ae-ink);
	transform: translateY(-2px);
}

.button--ghost {
	border-color: rgba(255, 255, 255, 0.65);
	background: transparent;
	color: #fff;
}

.button--dark {
	border-color: var(--ae-ink);
	background: var(--ae-ink);
	color: #fff;
}

.button--dark:hover,
.button--dark:focus {
	border-color: var(--ae-signal);
	background: var(--ae-signal);
	color: var(--ae-ink);
}

.button--header {
	min-height: 44px;
	padding: 12px 16px;
	font-size: 0.72rem;
	white-space: nowrap;
}

.button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: inherit;
	font-size: 0.79rem;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-decoration: none;
	text-transform: uppercase;
}

.text-link span {
	transition: transform 170ms ease;
}

.text-link:hover span,
.text-link:focus span {
	transform: translateX(5px);
}

.eyebrow {
	margin: 0 0 18px;
	color: var(--ae-signal);
	font-size: 0.74rem;
	font-weight: 900;
	letter-spacing: 0.22em;
	line-height: 1.3;
	text-transform: uppercase;
}

.home-hero {
	position: relative;
	min-height: 100svh;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background-image: var(--hero-image);
	background-position: center center;
	background-size: cover;
}

.home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(8, 9, 11, 0.95) 0%, rgba(8, 9, 11, 0.72) 42%, rgba(8, 9, 11, 0.16) 78%),
		linear-gradient(0deg, rgba(8, 9, 11, 0.95) 0%, transparent 44%);
}

.home-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 9px;
	background: var(--ae-signal);
	clip-path: polygon(0 0, 72% 0, 74% 100%, 0 100%);
}

.home-hero__content {
	position: relative;
	z-index: 2;
	width: var(--ae-wide);
	padding: calc(var(--ae-header-height) + 110px) 0 130px;
	margin-inline: auto;
}

.home-hero h1 {
	max-width: 980px;
	margin-bottom: 22px;
	text-wrap: balance;
}

.home-hero__lead {
	max-width: 720px;
	margin-bottom: 34px;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(1.12rem, 2vw, 1.5rem);
	line-height: 1.5;
}

.home-hero__meta {
	position: absolute;
	right: max(24px, calc((100vw - 1280px) / 2));
	bottom: 45px;
	z-index: 2;
	display: flex;
	gap: 18px;
	color: rgba(255, 255, 255, 0.56);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.home-hero__meta span:not(:last-child)::after {
	content: "•";
	margin-left: 18px;
	color: var(--ae-signal);
}

.section {
	padding: clamp(80px, 9vw, 140px) max(24px, calc((100vw - 1280px) / 2));
}

.section--dark {
	background:
		linear-gradient(135deg, rgba(32,178,170, 0.035), transparent 34%),
		var(--ae-ink);
}

.section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.75fr);
	gap: clamp(36px, 7vw, 110px);
	align-items: end;
	margin-bottom: clamp(48px, 6vw, 84px);
}

.section-heading h2 {
	max-width: 880px;
	margin-bottom: 0;
}

.section-heading > p {
	margin: 0;
	color: var(--ae-steel);
	font-size: 1.05rem;
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 20px;
}

.service-card {
	position: relative;
	grid-column: span 4;
	min-height: 570px;
	overflow: hidden;
	border: 1px solid var(--ae-line);
	background: var(--ae-carbon);
}

.service-card:nth-child(4),
.service-card:nth-child(5) {
	grid-column: span 6;
	min-height: 500px;
}

.service-card__image {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
}

.service-card__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 24%, rgba(8, 9, 11, 0.9) 72%, rgba(8, 9, 11, 0.98));
}

.service-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(.2,.7,.2,1), filter 300ms ease;
}

.service-card:hover .service-card__image img {
	transform: scale(1.045);
	filter: saturate(1.16);
}

.service-card__content {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	padding: 30px;
}

.service-card h3 {
	margin-bottom: 12px;
}

.service-card h3 a {
	text-decoration: none;
}

.service-card p {
	max-width: 520px;
	margin-bottom: 20px;
	color: rgba(255, 255, 255, 0.72);
}

.section--split {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(440px, 0.9fr);
	min-height: 780px;
	padding: 0;
	background: #f0f1f2;
	color: var(--ae-ink);
}

.split-media {
	min-height: 700px;
	overflow: hidden;
}

.split-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.split-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(60px, 8vw, 120px);
}

.split-content h2 {
	max-width: 720px;
}

.split-content > p:not(.eyebrow) {
	max-width: 650px;
	color: #41474f;
	font-size: 1.05rem;
}

.process-list {
	counter-reset: none;
	list-style: none;
	padding: 0;
	margin: 22px 0 36px;
	border-top: 1px solid rgba(8, 9, 11, 0.18);
}

.process-list li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 18px;
	align-items: center;
	padding: 15px 0;
	border-bottom: 1px solid rgba(8, 9, 11, 0.18);
	font-weight: 800;
	text-transform: uppercase;
}

.process-list strong {
	color: #0F766E;
	font-size: 0.76rem;
	letter-spacing: 0.13em;
}

.section--projects {
	background: #101216;
}

.project-mosaic {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	grid-template-rows: repeat(2, minmax(280px, 1fr));
	gap: 20px;
	min-height: 720px;
}

.project-tile {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--ae-carbon);
	color: #fff;
	text-decoration: none;
}

.project-tile--large {
	grid-row: 1 / span 2;
}

.project-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 48%, rgba(8, 9, 11, 0.82));
}

.project-tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease, filter 300ms ease;
}

.project-tile:hover img,
.project-tile:focus img {
	transform: scale(1.04);
	filter: saturate(1.16);
}

.project-tile span {
	position: absolute;
	right: 24px;
	bottom: 22px;
	left: 24px;
	z-index: 2;
	font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	font-size: clamp(1.35rem, 2.5vw, 2.7rem);
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.section--applications {
	display: grid;
	grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
	gap: clamp(60px, 9vw, 150px);
	background:
		linear-gradient(120deg, rgba(255, 90, 31, 0.08), transparent 40%),
		var(--ae-ink);
}

.applications-intro {
	position: sticky;
	top: calc(var(--ae-header-height) + 40px);
	align-self: start;
}

.application-links {
	border-top: 1px solid var(--ae-line);
}

.application-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 25px 0;
	border-bottom: 1px solid var(--ae-line);
	color: #fff;
	font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	font-size: clamp(1.65rem, 3vw, 3rem);
	font-weight: 800;
	line-height: 1.05;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 160ms ease, padding-left 160ms ease;
}

.application-links a:hover,
.application-links a:focus {
	padding-left: 12px;
	color: var(--ae-signal);
}

.application-links span {
	color: var(--ae-steel);
	font-family: Inter, sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.1em;
}

.section--trust {
	background: #f1f2f3;
	color: var(--ae-ink);
}

.section--trust .eyebrow {
	color: #0F766E;
}

.client-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid rgba(8, 9, 11, 0.18);
	border-left: 1px solid rgba(8, 9, 11, 0.18);
}

.client-list span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 120px;
	padding: 20px;
	border-right: 1px solid rgba(8, 9, 11, 0.18);
	border-bottom: 1px solid rgba(8, 9, 11, 0.18);
	font-size: clamp(1rem, 2vw, 1.45rem);
	font-weight: 900;
	text-align: center;
}

.final-cta {
	position: relative;
	min-height: 620px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background-image: var(--cta-image);
	background-position: center;
	background-size: cover;
}

.final-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(8, 9, 11, 0.95) 0%, rgba(8, 9, 11, 0.65) 52%, rgba(8, 9, 11, 0.24)),
		linear-gradient(0deg, rgba(8, 9, 11, 0.72), transparent 55%);
}

.final-cta__inner {
	position: relative;
	z-index: 1;
	width: var(--ae-wide);
	margin-inline: auto;
	padding-block: 100px;
}

.final-cta h2 {
	max-width: 900px;
}

.final-cta p:not(.eyebrow) {
	max-width: 620px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 1.1rem;
}

.page-hero {
	position: relative;
	min-height: 560px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background-image: var(--hero-image);
	background-position: center;
	background-size: cover;
}

.page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(8, 9, 11, 0.96) 0%, rgba(8, 9, 11, 0.72) 48%, rgba(8, 9, 11, 0.3)),
		linear-gradient(0deg, rgba(8, 9, 11, 0.88), transparent 62%);
}

.page-hero::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 7px;
	background: linear-gradient(90deg, var(--ae-signal) 0 36%, transparent 36%);
}

.page-hero__inner {
	position: relative;
	z-index: 1;
	width: var(--ae-wide);
	margin-inline: auto;
	padding: calc(var(--ae-header-height) + 90px) 0 70px;
}

.page-hero__inner h1 {
	max-width: 1100px;
	font-size: clamp(3rem, 7vw, 6.8rem);
}

.page-hero__inner > p:not(.eyebrow) {
	max-width: 740px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.15rem;
}

.page-hero--compact {
	min-height: 460px;
}

.page-content {
	background: #fff;
	color: #16191d;
	padding: clamp(70px, 8vw, 120px) max(24px, calc((100vw - 1280px) / 2));
}

.prose {
	width: min(780px, 100%);
	font-size: 1.05rem;
	line-height: 1.78;
}

.prose > *:first-child {
	margin-top: 0;
}

.prose h2,
.prose h3,
.prose h4 {
	margin-top: 1.4em;
	color: #0d0f12;
}

.prose h2 {
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.prose h3 {
	font-size: clamp(1.45rem, 2.5vw, 2.15rem);
}

.prose p,
.prose li {
	color: #373d44;
}

.prose a {
	color: #0F766E;
	font-weight: 750;
}

.prose ul,
.prose ol {
	padding-left: 1.35em;
}

.prose li + li {
	margin-top: 0.45em;
}

.prose blockquote {
	margin: 2.2em 0;
	padding: 1.2em 1.5em;
	border-left: 5px solid #20B2AA;
	background: #f3f4f5;
	font-size: 1.2rem;
	font-weight: 700;
}

.prose img {
	margin-block: 2.2rem;
}

.prose .alignwide {
	width: min(1100px, calc(100vw - 48px));
	max-width: none;
	margin-left: 0;
}

.prose .alignfull {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
}

.prose table {
	width: 100%;
	border-collapse: collapse;
	margin-block: 2rem;
}

.prose th,
.prose td {
	padding: 12px 14px;
	border: 1px solid #d9dde1;
	text-align: left;
	vertical-align: top;
}

.prose th {
	background: #111418;
	color: #fff;
}

.prose input:not([type="checkbox"]):not([type="radio"]),
.prose select,
.prose textarea,
.contact-form-content input:not([type="checkbox"]):not([type="radio"]),
.contact-form-content select,
.contact-form-content textarea {
	width: 100%;
	max-width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid #c6cbd0;
	border-radius: 0;
	background: #fff;
	color: #101216;
}

.prose textarea,
.contact-form-content textarea {
	min-height: 150px;
	resize: vertical;
}

.prose input[type="submit"],
.prose button[type="submit"],
.contact-form-content input[type="submit"],
.contact-form-content button[type="submit"] {
	min-height: 50px;
	padding: 13px 20px;
	border: 2px solid var(--ae-ink);
	border-radius: 0;
	background: var(--ae-ink);
	color: #fff;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.child-pages {
	width: 100%;
	margin-top: clamp(70px, 8vw, 120px);
	padding-top: clamp(55px, 6vw, 90px);
	border-top: 1px solid #d6d9dc;
}

.child-pages .section-heading {
	margin-bottom: 45px;
}

.child-pages .eyebrow {
	color: #0F766E;
}

.child-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.child-card {
	overflow: hidden;
	border: 1px solid #d8dce0;
	background: #f6f7f8;
}

.child-card__image {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #15181c;
}

.child-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}

.child-card:hover .child-card__image img {
	transform: scale(1.045);
}

.child-card__content {
	padding: 25px;
}

.child-card h3 {
	margin-bottom: 12px;
	color: #111419;
	font-size: clamp(1.35rem, 2.3vw, 2rem);
}

.child-card h3 a {
	text-decoration: none;
}

.child-card p {
	color: #4b5158;
}

.child-card .text-link {
	color: #0F766E;
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
	gap: 0;
	width: var(--ae-wide);
	margin: -46px auto 100px;
	position: relative;
	z-index: 4;
	box-shadow: var(--ae-shadow);
}

.contact-panel {
	padding: clamp(38px, 5.5vw, 76px);
}

.contact-panel--details {
	background: #111419;
	color: #fff;
}

.contact-panel--request {
	background: #f2f3f4;
	color: #171a1e;
}

.contact-panel--request .eyebrow,
.contact-panel--details .eyebrow {
	color: var(--ae-signal);
}

.contact-panel--request .eyebrow {
	color: #0F766E;
}

.contact-panel h2 {
	font-size: clamp(2.15rem, 4vw, 4rem);
}

.contact-detail {
	padding: 20px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.contact-detail:last-of-type {
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.contact-detail > span {
	display: block;
	margin-bottom: 4px;
	color: var(--ae-steel);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.contact-detail a {
	font-size: clamp(1rem, 2vw, 1.35rem);
	font-weight: 800;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.contact-note {
	margin-top: 35px;
	padding: 24px;
	border-left: 4px solid var(--ae-signal);
	background: rgba(255, 255, 255, 0.06);
}

.contact-note p {
	margin: 7px 0 0;
	color: rgba(255, 255, 255, 0.7);
}

.project-checklist {
	list-style: none;
	padding: 0;
	margin: 26px 0 34px;
	border-top: 1px solid #cfd3d7;
}

.project-checklist li {
	position: relative;
	padding: 14px 16px 14px 30px;
	border-bottom: 1px solid #cfd3d7;
	font-weight: 700;
}

.project-checklist li::before {
	content: "";
	position: absolute;
	top: 22px;
	left: 4px;
	width: 9px;
	height: 9px;
	background: #20B2AA;
	transform: rotate(45deg);
}

.contact-form-content > *:first-child {
	margin-top: 0;
}

.contact-form-content p {
	margin-bottom: 18px;
}

.listing-layout {
	width: var(--ae-wide);
	margin-inline: auto;
	padding-block: clamp(70px, 8vw, 120px);
}

.post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.post-card {
	overflow: hidden;
	border: 1px solid var(--ae-line);
	background: var(--ae-carbon);
}

.post-card__image {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-card__content {
	padding: 25px;
}

.post-card__meta {
	color: var(--ae-signal);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.post-card h2 {
	font-size: clamp(1.5rem, 2.5vw, 2.3rem);
}

.post-card h2 a {
	text-decoration: none;
}

.post-card p {
	color: var(--ae-steel);
}

.navigation.pagination {
	margin-top: 45px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.page-numbers {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--ae-line);
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--ae-signal);
	color: var(--ae-ink);
}

.empty-state {
	max-width: 760px;
	padding: 60px;
	background: #fff;
	color: var(--ae-ink);
}

.empty-state .eyebrow {
	color: #0F766E;
}

.error-page {
	position: relative;
	min-height: 100svh;
	display: flex;
	align-items: center;
	background-image: var(--hero-image);
	background-position: center;
	background-size: cover;
}

.error-page::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(8, 9, 11, 0.82);
}

.error-page__inner {
	position: relative;
	z-index: 1;
	width: var(--ae-wide);
	margin-inline: auto;
	padding-block: calc(var(--ae-header-height) + 80px) 80px;
}

.error-page__inner p:not(.eyebrow) {
	max-width: 580px;
	color: var(--ae-steel);
	font-size: 1.15rem;
}

.site-footer {
	border-top: 1px solid var(--ae-line);
	background: #08090b;
}

.site-footer__top {
	width: var(--ae-wide);
	margin-inline: auto;
	padding: 75px 0 60px;
	display: grid;
	grid-template-columns: minmax(300px, 1.25fr) minmax(190px, 0.72fr) minmax(330px, 1.15fr);
	gap: 48px;
}

.site-footer__brand img {
	width: min(290px, 100%);
	margin-bottom: 22px;
}

.site-footer__brand > p {
	max-width: 390px;
	color: var(--ae-steel);
}

.site-footer__brand-contact {
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid var(--ae-line);
}

.site-footer__brand-contact address {
	color: rgba(255, 255, 255, 0.74);
	font-style: normal;
}

.site-footer__brand-contact p {
	margin: 14px 0 16px;
}

.site-footer__column--navigation .footer-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 34px;
	row-gap: 9px;
}

.site-footer__column--navigation .footer-menu li,
.site-footer__column--navigation .footer-menu li + li {
	margin-top: 0;
}

.site-footer h2 {
	margin-bottom: 18px;
	font-family: Inter, sans-serif;
	font-size: 0.74rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.site-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-footer li + li {
	margin-top: 9px;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.74);
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
	color: var(--ae-signal);
}


.site-footer__bottom {
	width: var(--ae-wide);
	margin-inline: auto;
	padding: 20px 0 28px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid var(--ae-line);
	color: #7e858d;
	font-size: 0.78rem;
}

.site-footer__bottom p {
	margin: 0;
}

.wp-block-button__link {
	border-radius: 0;
	background: var(--ae-signal);
	color: var(--ae-ink);
	font-weight: 900;
	text-transform: uppercase;
}

.wp-block-separator {
	border-color: #d4d7da;
}

@media (max-width: 1240px) {
	.primary-menu {
		gap: 16px;
	}

	.primary-menu > li > a {
		font-size: 0.76rem;
	}

	.button--header {
		display: none;
	}

	.service-card {
		grid-column: span 6;
	}

	.service-card:last-child {
		grid-column: 3 / span 8;
	}
}

@media (max-width: 1179px) {
	:root {
		--ae-header-height: 76px;
	}

	.admin-bar .site-header {
		top: 32px;
	}

	.nav-toggle {
		display: inline-flex;
	}

	.site-navigation {
		position: fixed;
		top: var(--ae-header-height);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100;
		display: block;
		padding: 22px max(24px, calc((100vw - 760px) / 2)) 60px;
		overflow-y: auto;
		background: rgba(8, 9, 11, 0.985);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-10px);
		transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
	}

	.admin-bar .site-navigation {
		top: calc(var(--ae-header-height) + 32px);
	}

	.site-navigation.is-open {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.primary-menu {
		display: block;
		border-top: 1px solid var(--ae-line);
	}

	.primary-menu > li {
		display: grid;
		grid-template-columns: 1fr 54px;
		border-bottom: 1px solid var(--ae-line);
	}

	.primary-menu > li > a {
		min-height: 68px;
		font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
		font-size: clamp(1.45rem, 4vw, 2.2rem);
		line-height: 1;
	}

	.primary-menu > li > a::after {
		display: none;
	}

	.submenu-toggle {
		display: grid;
		place-items: center;
		width: 54px;
		height: 54px;
		align-self: center;
		padding: 0;
		border: 1px solid var(--ae-line);
		background: transparent;
		color: #fff;
	}

	.submenu-toggle span {
		width: 10px;
		height: 10px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
		transition: transform 150ms ease;
	}

	.submenu-toggle[aria-expanded="true"] span {
		transform: translateY(2px) rotate(225deg);
	}

	.primary-menu .sub-menu {
		position: static;
		grid-column: 1 / -1;
		display: none;
		width: 100%;
		min-width: 0;
		padding: 0 0 12px 18px;
		border: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.primary-menu .is-submenu-open > .sub-menu {
		display: block;
	}

	.primary-menu .sub-menu li + li {
		border-top: 1px solid rgba(255, 255, 255, 0.07);
	}

	.primary-menu .sub-menu a {
		padding: 13px 8px;
		color: rgba(255, 255, 255, 0.74);
	}

	.site-navigation .button--header {
		display: inline-flex;
		margin-top: 28px;
	}

	.home-hero__meta {
		display: none;
	}

	.section-heading {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.section--split {
		grid-template-columns: 1fr;
	}

	.split-media {
		min-height: 520px;
	}

	.section--applications {
		grid-template-columns: 1fr;
	}

	.applications-intro {
		position: static;
	}

	.contact-layout {
		grid-template-columns: 1fr;
	}

	.site-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}

	.admin-bar .site-navigation {
		top: calc(var(--ae-header-height) + 46px);
	}

	.site-header__inner {
		width: min(100% - 32px, 1280px);
	}

	.site-branding__logo,
	.custom-logo {
		width: 190px;
	}

	.nav-toggle__label {
		display: none;
	}

	.home-hero__content {
		width: min(100% - 40px, 1280px);
		padding-bottom: 95px;
	}

	.home-hero h1 {
		font-size: clamp(3rem, 15vw, 5.6rem);
	}

	.button-row {
		flex-direction: column;
		align-items: stretch;
	}

	.button-row .button {
		width: 100%;
	}

	.section {
		padding-inline: 20px;
	}

	.service-grid {
		display: block;
	}

	.service-card,
	.service-card:nth-child(4),
	.service-card:nth-child(5),
	.service-card:last-child {
		min-height: 460px;
		margin-bottom: 18px;
	}

	.split-media {
		min-height: 390px;
	}

	.split-content {
		padding: 60px 22px 70px;
	}

	.project-mosaic {
		display: block;
		min-height: 0;
	}

	.project-tile {
		height: 360px;
		margin-bottom: 16px;
	}

	.client-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.final-cta__inner,
	.page-hero__inner,
	.error-page__inner {
		width: min(100% - 40px, 1280px);
	}

	.page-hero {
		min-height: 470px;
	}

	.page-hero__inner {
		padding-bottom: 55px;
	}

	.page-content {
		padding-inline: 20px;
	}

	.prose {
		font-size: 1rem;
	}

	.child-grid {
		grid-template-columns: 1fr;
	}

	.contact-layout {
		width: min(100% - 28px, 1280px);
		margin-top: -24px;
	}

	.contact-panel {
		padding: 36px 24px;
	}

	.post-grid {
		grid-template-columns: 1fr;
	}

	.site-footer__top {
		grid-template-columns: 1fr;
		width: min(100% - 40px, 1280px);
		gap: 34px;
	}

	.site-footer__brand {
		grid-column: auto;
	}

	.site-footer__column--navigation .footer-menu {
		grid-template-columns: 1fr;
	}

	.site-footer__bottom {
		width: min(100% - 40px, 1280px);
		flex-direction: column;
	}
}

@media (max-width: 480px) {
	:root {
		--ae-header-height: 70px;
	}

	.site-branding__logo,
	.custom-logo {
		width: 165px;
		max-height: 44px;
	}

	.home-hero__content {
		padding-top: 145px;
	}

	.home-hero h1 {
		font-size: clamp(2.8rem, 15vw, 4.3rem);
	}

	.service-card,
	.service-card:nth-child(4),
	.service-card:nth-child(5),
	.service-card:last-child {
		min-height: 430px;
	}

	.service-card__content {
		padding: 24px;
	}

	.project-tile {
		height: 300px;
	}

	.application-links a {
		font-size: 1.55rem;
	}

	.client-list span {
		min-height: 95px;
		padding: 14px;
		font-size: 0.95rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* =========================================================
   Actioneers 1.1 refinements
   ========================================================= */

.site-navigation__top,
.nav-close,
.nav-backdrop {
	display: none;
}

.site-header__inner {
	gap: clamp(22px, 2.2vw, 38px);
}

.site-navigation {
	gap: clamp(18px, 1.8vw, 28px);
}

.primary-menu > .menu-item-has-children > a {
	padding-right: 17px;
}

.primary-menu > .menu-item-has-children > a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 1px;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-65%) rotate(45deg);
	opacity: 0.72;
}

.primary-menu .sub-menu {
	top: calc(100% + 5px);
	left: -20px;
	min-width: 300px;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-top: 3px solid var(--ae-signal);
	background: rgba(12, 14, 17, 0.985);
	box-shadow: 0 28px 75px rgba(0, 0, 0, 0.46);
	backdrop-filter: blur(18px);
}

.primary-menu .sub-menu::before {
	content: "";
	position: absolute;
	top: -11px;
	left: 18px;
	width: 24px;
	height: 10px;
}

.primary-menu .sub-menu li + li {
	border-top: 1px solid rgba(255, 255, 255, 0.075);
}

.primary-menu .sub-menu a {
	position: relative;
	padding: 13px 15px 13px 18px;
	font-size: 0.88rem;
	font-weight: 740;
	line-height: 1.35;
	transition: color 150ms ease, background 150ms ease, padding-left 150ms ease;
}

.primary-menu .sub-menu a::before {
	content: "";
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: 4px;
	width: 2px;
	background: var(--ae-signal);
	transform: scaleY(0);
	transition: transform 150ms ease;
}

.primary-menu .sub-menu a:hover,
.primary-menu .sub-menu a:focus,
.primary-menu .sub-menu .current-menu-item > a {
	padding-left: 22px;
	background: rgba(255, 255, 255, 0.055);
	color: var(--ae-signal);
}

.primary-menu .sub-menu a:hover::before,
.primary-menu .sub-menu a:focus::before,
.primary-menu .sub-menu .current-menu-item > a::before {
	transform: scaleY(1);
}

.primary-menu > li > a:focus-visible,
.submenu-toggle:focus-visible,
.nav-toggle:focus-visible,
.nav-close:focus-visible,
.button:focus-visible,
.text-link:focus-visible {
	outline: 3px solid var(--ae-signal);
	outline-offset: 4px;
}

.section--confidence {
	background:
		linear-gradient(115deg, rgba(32,178,170, 0.055), transparent 38%),
		#0d0f12;
}

.confidence-heading {
	display: grid;
	grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1.25fr);
	gap: clamp(40px, 8vw, 130px);
	align-items: end;
	margin-bottom: clamp(48px, 6vw, 82px);
}

.confidence-heading h2 {
	max-width: 900px;
	margin: 0;
}

.confidence-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--ae-line);
	border-left: 1px solid var(--ae-line);
}

.confidence-grid article {
	min-height: 340px;
	padding: clamp(30px, 4vw, 52px);
	border-right: 1px solid var(--ae-line);
	border-bottom: 1px solid var(--ae-line);
	background: rgba(255, 255, 255, 0.018);
}

.confidence-grid article > span {
	display: inline-flex;
	margin-bottom: 72px;
	color: var(--ae-signal);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.confidence-grid h3 {
	font-size: clamp(1.65rem, 2.5vw, 2.55rem);
}

.confidence-grid p {
	max-width: 440px;
	margin: 0;
	color: var(--ae-steel);
}

.client-item img {
	width: auto;
	max-width: min(170px, 85%);
	max-height: 62px;
	object-fit: contain;
}

.site-footer__brand-contact .text-link {
	color: var(--ae-signal);
}

@media (min-width: 1180px) and (max-width: 1320px) {
	.site-branding__logo,
	.custom-logo {
		width: clamp(180px, 17vw, 225px);
	}

	.primary-menu {
		gap: 14px;
	}

	.primary-menu > li > a {
		font-size: 0.74rem;
	}

	.button--header {
		display: inline-flex;
		padding-inline: 13px;
		font-size: 0.68rem;
	}
}

@media (max-width: 1179px) {
	.site-header.is-hidden {
		transform: none;
	}

	.nav-backdrop {
		position: fixed;
		top: var(--ae-header-height);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 90;
		display: block;
		padding: 0;
		border: 0;
		background: rgba(0, 0, 0, 0.62);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 190ms ease, visibility 190ms ease;
	}

	.admin-bar .nav-backdrop {
		top: calc(var(--ae-header-height) + 32px);
	}

	.nav-is-open .nav-backdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.site-navigation {
		top: var(--ae-header-height);
		right: 0;
		bottom: 0;
		left: auto;
		width: min(480px, 100%);
		padding: 0 30px 54px;
		background:
			linear-gradient(145deg, rgba(32,178,170, 0.035), transparent 34%),
			rgba(8, 9, 11, 0.995);
		box-shadow: -28px 0 80px rgba(0, 0, 0, 0.42);
		opacity: 1;
		visibility: hidden;
		transform: translateX(100%);
		transition: visibility 230ms ease, transform 230ms cubic-bezier(.2,.7,.2,1);
	}

	.admin-bar .site-navigation {
		top: calc(var(--ae-header-height) + 32px);
	}

	.site-navigation.is-open {
		visibility: visible;
		transform: translateX(0);
	}

	.site-navigation__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 66px;
		border-bottom: 1px solid var(--ae-line);
		color: var(--ae-steel);
		font-size: 0.72rem;
		font-weight: 900;
		letter-spacing: 0.14em;
		text-transform: uppercase;
	}

	.nav-close {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 1px solid var(--ae-line);
		background: transparent;
		color: #fff;
		font-size: 1.8rem;
		font-weight: 300;
		line-height: 1;
	}

	.primary-menu {
		border-top: 0;
	}

	.primary-menu > li > a {
		padding-right: 12px;
	}

	.primary-menu > .menu-item-has-children > a::before {
		display: none;
	}

	.primary-menu .sub-menu {
		border-top: 0;
		backdrop-filter: none;
	}

	.primary-menu .sub-menu::before,
	.primary-menu .sub-menu a::before {
		display: none;
	}

	.primary-menu .sub-menu a,
	.primary-menu .sub-menu a:hover,
	.primary-menu .sub-menu a:focus,
	.primary-menu .sub-menu .current-menu-item > a {
		padding: 13px 8px;
		background: transparent;
	}

	.primary-menu .sub-menu .current-menu-item > a {
		color: var(--ae-signal);
	}

	.site-navigation .button--header {
		width: 100%;
		margin-top: 30px;
	}

	.confidence-heading {
		grid-template-columns: 1fr;
	}

	.confidence-grid {
		grid-template-columns: 1fr;
	}

	.confidence-grid article {
		min-height: 0;
	}

	.confidence-grid article > span {
		margin-bottom: 38px;
	}
}

@media (max-width: 782px) {
	.admin-bar .nav-backdrop {
		top: calc(var(--ae-header-height) + 46px);
	}

	.admin-bar .site-navigation {
		top: calc(var(--ae-header-height) + 46px);
	}

	.site-navigation {
		width: 100%;
		padding-inline: 22px;
	}

	.confidence-grid article {
		padding: 32px 24px;
	}
}

/* =========================================================
   Actioneers 1.2 fixed page templates
   ========================================================= */

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 24px;
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.breadcrumbs a {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus {
	color: var(--ae-signal);
}

.breadcrumbs span[aria-current="page"] {
	color: var(--ae-signal);
}

.page-hero__lead {
	max-width: 800px;
	margin-bottom: 0;
	font-size: clamp(1.05rem, 1.6vw, 1.28rem) !important;
	line-height: 1.65;
}

.overview-intro,
.application-detail,
.detail-layout,
.project-detail,
.about-detail,
.about-intro {
	width: var(--ae-wide);
	margin-inline: auto;
}

.overview-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
	gap: clamp(50px, 9vw, 150px);
	align-items: start;
	padding-block: clamp(78px, 9vw, 140px);
}

.overview-intro__content.prose {
	width: 100%;
	font-size: clamp(1.08rem, 1.4vw, 1.22rem);
}

.overview-intro__content.prose > p:first-child {
	font-size: clamp(1.35rem, 2.25vw, 2rem);
	font-weight: 700;
	line-height: 1.45;
	color: #101216;
}

.overview-intro__callout {
	position: sticky;
	top: calc(var(--ae-header-height) + 36px);
	padding: clamp(34px, 5vw, 58px);
	border-top: 5px solid var(--ae-signal);
	background: #121519;
	box-shadow: var(--ae-shadow);
}

.overview-intro__callout h2 {
	font-size: clamp(2rem, 3.2vw, 3.35rem);
}

.overview-intro__callout p:not(.eyebrow) {
	margin-bottom: 0;
	color: var(--ae-steel);
}

.fixed-service-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 20px;
}

.fixed-service-card {
	position: relative;
	grid-column: span 4;
	min-height: 540px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	border: 1px solid var(--ae-line);
	background: #111418;
	color: #fff;
	text-decoration: none;
}

.fixed-service-card:nth-child(4),
.fixed-service-card:nth-child(5) {
	grid-column: span 6;
	min-height: 470px;
}

.fixed-service-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 9, 11, 0.06) 20%, rgba(8, 9, 11, 0.96) 83%);
}

.fixed-service-card > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease, filter 300ms ease;
}

.fixed-service-card:hover > img,
.fixed-service-card:focus > img {
	transform: scale(1.045);
	filter: saturate(1.15);
}

.fixed-service-card > div {
	position: relative;
	z-index: 2;
	padding: clamp(26px, 3vw, 40px);
}

.fixed-service-card > div > span {
	display: inline-block;
	margin-bottom: 45px;
	color: var(--ae-signal);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.fixed-service-card h3 {
	font-size: clamp(1.75rem, 2.8vw, 3rem);
}

.fixed-service-card p {
	max-width: 520px;
	color: rgba(255, 255, 255, 0.72);
}

.fixed-service-card b {
	color: var(--ae-signal);
	font-size: 0.76rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.process-section {
	width: var(--ae-wide);
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(55px, 9vw, 140px);
	padding-block: clamp(85px, 10vw, 150px);
	color: var(--ae-ink);
}

.process-section > div:first-child {
	position: sticky;
	top: calc(var(--ae-header-height) + 36px);
	align-self: start;
}

.process-section .eyebrow,
.overview-intro .eyebrow,
.about-intro .eyebrow,
.application-detail .eyebrow,
.project-detail .eyebrow,
.about-detail .eyebrow {
	color: #0F766E;
}

.process-timeline {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid #ccd0d4;
}

.process-timeline li {
	display: grid;
	grid-template-columns: 70px minmax(170px, 0.55fr) minmax(0, 1fr);
	gap: 22px;
	align-items: start;
	padding: 28px 0;
	border-bottom: 1px solid #ccd0d4;
}

.process-timeline span {
	color: #0F766E;
	font-size: 0.74rem;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.process-timeline strong {
	font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	font-size: 1.5rem;
	line-height: 1;
	text-transform: uppercase;
}

.process-timeline p {
	margin: 0;
	color: #4c535a;
}

.detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.58fr);
	gap: clamp(55px, 9vw, 145px);
	align-items: start;
	padding-block: clamp(78px, 9vw, 140px);
	color: var(--ae-ink);
}

.detail-layout__main.prose,
.project-detail__content.prose,
.about-detail__content.prose,
.application-detail__intro.prose {
	width: 100%;
}

.detail-layout__main.prose > p:first-child,
.project-detail__content.prose > p:first-child,
.about-detail__content.prose > p:first-child,
.application-detail__intro.prose > p:first-child {
	font-size: clamp(1.25rem, 2vw, 1.72rem);
	font-weight: 650;
	line-height: 1.55;
	color: #16191d;
}

.detail-sidebar {
	position: sticky;
	top: calc(var(--ae-header-height) + 36px);
	padding: clamp(30px, 4vw, 48px);
	border-top: 5px solid var(--ae-signal);
	background: #eff1f2;
}

.detail-sidebar h2 {
	font-size: clamp(1.85rem, 3vw, 3rem);
	color: #101216;
}

.detail-steps {
	list-style: none;
	padding: 0;
	margin: 30px 0 36px;
	border-top: 1px solid #c7ccd0;
}

.detail-steps li {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid #c7ccd0;
}

.detail-steps span {
	color: #0F766E;
	font-size: 0.7rem;
	font-weight: 900;
}

.detail-steps strong {
	font-size: 0.82rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.method-band {
	padding-block: clamp(70px, 8vw, 120px);
	background: var(--ae-signal);
	color: var(--ae-ink);
}

.method-band__inner {
	width: var(--ae-wide);
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.65fr);
	gap: clamp(45px, 9vw, 140px);
	align-items: end;
}

.method-band .eyebrow {
	color: #0F766E;
}

.method-band h2 {
	max-width: 900px;
	margin: 0;
}

.method-band__inner > p {
	margin: 0;
	font-weight: 650;
}

.related-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.related-card {
	position: relative;
	min-height: 340px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	border: 1px solid var(--ae-line);
	color: #fff;
	text-decoration: none;
}

.related-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 38%, rgba(8, 9, 11, 0.92));
}

.related-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}

.related-card:hover img,
.related-card:focus img {
	transform: scale(1.05);
}

.related-card span {
	position: relative;
	z-index: 2;
	padding: 26px;
	font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	font-size: clamp(1.25rem, 2vw, 2rem);
	font-weight: 800;
	line-height: 1.05;
	text-transform: uppercase;
}

.application-detail {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(350px, 0.72fr);
	gap: clamp(60px, 10vw, 160px);
	align-items: start;
	padding-block: clamp(78px, 9vw, 140px);
	color: var(--ae-ink);
}

.application-detail__statement {
	position: sticky;
	top: calc(var(--ae-header-height) + 36px);
	padding-left: clamp(28px, 4vw, 60px);
	border-left: 5px solid var(--ae-signal);
}

.application-detail__statement h2 {
	font-size: clamp(2rem, 3.4vw, 3.65rem);
}

.application-detail__statement p:not(.eyebrow) {
	color: #4a5158;
}

.application-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.application-service-card {
	display: grid;
	grid-template-rows: 270px 1fr;
	border: 1px solid var(--ae-line);
	background: #15181c;
	color: #fff;
	text-decoration: none;
}

.application-service-card > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.application-service-card > div {
	padding: 30px;
}

.application-service-card h3 {
	font-size: clamp(1.5rem, 2.4vw, 2.35rem);
}

.application-service-card p {
	color: var(--ae-steel);
}

.application-service-card .text-link {
	color: var(--ae-signal);
}

.application-overview-list {
	background: #0d0f12;
}

.application-overview-row {
	display: grid;
	grid-template-columns: 70px minmax(230px, 0.48fr) minmax(0, 1fr) 50px;
	gap: clamp(24px, 5vw, 75px);
	align-items: center;
	min-height: 290px;
	padding: 24px max(24px, calc((100vw - 1280px) / 2));
	border-top: 1px solid var(--ae-line);
	color: #fff;
	text-decoration: none;
	transition: background 180ms ease;
}

.application-overview-row:last-child {
	border-bottom: 1px solid var(--ae-line);
}

.application-overview-row:hover,
.application-overview-row:focus {
	background: rgba(32,178,170, 0.035);
}

.application-overview-row__number {
	color: var(--ae-signal);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.13em;
}

.application-overview-row__image {
	height: 235px;
	overflow: hidden;
}

.application-overview-row__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}

.application-overview-row:hover img,
.application-overview-row:focus img {
	transform: scale(1.04);
}

.application-overview-row__content h2 {
	font-size: clamp(2rem, 4.5vw, 4.8rem);
}

.application-overview-row__content p {
	max-width: 680px;
	margin: 0;
	color: var(--ae-steel);
}

.application-overview-row > span:last-child {
	color: var(--ae-signal);
	font-size: 2rem;
}

.project-archive-section {
	padding: clamp(75px, 9vw, 135px) max(24px, calc((100vw - 1280px) / 2));
	background: #101216;
}

.project-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.project-card {
	position: relative;
	min-height: 510px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	border: 1px solid var(--ae-line);
	color: #fff;
	text-decoration: none;
}

.project-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 24%, rgba(8, 9, 11, 0.95) 86%);
}

.project-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 450ms ease;
}

.project-card:hover img,
.project-card:focus img {
	transform: scale(1.045);
}

.project-card > div {
	position: relative;
	z-index: 2;
	padding: 30px;
}

.project-card > div > span {
	color: var(--ae-signal);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.project-card h2,
.project-card h3 {
	margin-top: 14px;
	font-size: clamp(1.7rem, 2.8vw, 3rem);
}

.project-card p {
	color: rgba(255, 255, 255, 0.7);
}

.project-coming-soon {
	width: var(--ae-wide);
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(45px, 8vw, 120px);
	align-items: center;
}

.project-coming-soon > div:first-child {
	max-width: 560px;
}

.project-coming-soon__images {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	grid-template-rows: repeat(2, 260px);
	gap: 14px;
}

.project-coming-soon__images img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.project-coming-soon__images img:first-child {
	grid-row: 1 / span 2;
}

.project-detail {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.55fr);
	gap: clamp(55px, 9vw, 145px);
	align-items: start;
	padding-block: clamp(78px, 9vw, 140px);
	color: var(--ae-ink);
}

.project-detail__aside {
	position: sticky;
	top: calc(var(--ae-header-height) + 36px);
	padding: clamp(30px, 4vw, 48px);
	background: #eff1f2;
	border-top: 5px solid var(--ae-signal);
}

.project-detail__aside h2 {
	font-size: clamp(1.85rem, 3vw, 3rem);
}

.project-role-list {
	list-style: none;
	padding: 0;
	margin: 30px 0 0;
	border-top: 1px solid #c7ccd0;
}

.project-role-list li {
	padding: 15px 0 15px 24px;
	border-bottom: 1px solid #c7ccd0;
	background: linear-gradient(var(--ae-signal), var(--ae-signal)) left 21px / 8px 2px no-repeat;
	font-weight: 750;
}

.final-cta--inner {
	min-height: 560px;
}

.about-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(400px, 0.85fr);
	gap: clamp(55px, 9vw, 145px);
	align-items: center;
	padding-block: clamp(78px, 9vw, 140px);
	color: var(--ae-ink);
}

.about-intro__content.prose {
	width: 100%;
}

.about-intro__content.prose > p:first-child {
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	font-weight: 650;
	color: #16191d;
}

.about-intro__image {
	position: relative;
	min-height: 580px;
}

.about-intro__image::before {
	content: "";
	position: absolute;
	top: -18px;
	right: -18px;
	width: 46%;
	height: 46%;
	background: var(--ae-signal);
}

.about-intro__image img {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-detail {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.55fr);
	gap: clamp(55px, 9vw, 145px);
	align-items: start;
	padding-block: clamp(78px, 9vw, 140px);
	color: var(--ae-ink);
}

.about-quote {
	position: sticky;
	top: calc(var(--ae-header-height) + 36px);
	padding: clamp(30px, 4vw, 52px);
	background: var(--ae-signal);
	color: var(--ae-ink);
}

.about-quote > span {
	display: block;
	height: 62px;
	font-family: Georgia, serif;
	font-size: 6rem;
	line-height: 1;
}

.about-quote p {
	margin: 0;
	font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	font-size: clamp(1.75rem, 3vw, 3.25rem);
	font-weight: 800;
	line-height: 1.05;
	text-transform: uppercase;
}

.about-nav-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid #d3d7da;
	border-left: 1px solid #d3d7da;
}

.about-nav-grid a {
	position: relative;
	min-height: 150px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	padding: 28px;
	border-right: 1px solid #d3d7da;
	border-bottom: 1px solid #d3d7da;
	background: #f4f5f6;
	color: #111418;
	text-decoration: none;
}

.about-nav-grid a:hover,
.about-nav-grid a:focus {
	background: var(--ae-signal);
	color: var(--ae-ink);
}

.about-nav-grid span {
	font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	font-size: clamp(1.5rem, 2.4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.05;
	text-transform: uppercase;
}

.about-nav-grid b {
	font-size: 1.6rem;
}

.about-nav-grid--large a {
	min-height: 250px;
	display: grid;
	grid-template-columns: 1fr auto;
	align-content: center;
}

.about-nav-grid--large p {
	grid-column: 1 / -1;
	max-width: 520px;
	margin: 10px 0 0;
	color: #50575e;
}

.about-nav-grid--large a:hover p,
.about-nav-grid--large a:focus p {
	color: #08090b;
}

@media (max-width: 1050px) {
	.fixed-service-card,
	.fixed-service-card:nth-child(4),
	.fixed-service-card:nth-child(5) {
		grid-column: span 6;
		min-height: 500px;
	}

	.fixed-service-card:last-child {
		grid-column: 1 / -1;
	}

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

	.application-service-grid,
	.project-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.application-overview-row {
		grid-template-columns: 45px minmax(190px, 0.45fr) minmax(0, 1fr) 35px;
		gap: 28px;
	}
}

@media (max-width: 860px) {
	.overview-intro,
	.process-section,
	.detail-layout,
	.application-detail,
	.project-detail,
	.about-detail,
	.about-intro,
	.method-band__inner,
	.project-coming-soon {
		grid-template-columns: 1fr;
	}

	.overview-intro__callout,
	.process-section > div:first-child,
	.detail-sidebar,
	.application-detail__statement,
	.project-detail__aside,
	.about-quote {
		position: static;
	}

	.process-section {
		gap: 46px;
	}

	.application-overview-row {
		grid-template-columns: 38px minmax(0, 1fr) 30px;
		min-height: 0;
		padding-block: 32px;
	}

	.application-overview-row__image {
		grid-column: 2 / 3;
		height: 260px;
	}

	.application-overview-row__content {
		grid-column: 2 / 3;
	}

	.application-overview-row > span:last-child {
		grid-column: 3;
		grid-row: 1;
	}

	.project-coming-soon__images {
		grid-template-rows: repeat(2, 220px);
	}

	.about-intro__image {
		min-height: 500px;
	}
}

@media (max-width: 680px) {
	.fixed-service-grid,
	.application-service-grid,
	.project-card-grid,
	.related-grid,
	.about-nav-grid {
		grid-template-columns: 1fr;
	}

	.fixed-service-card,
	.fixed-service-card:nth-child(4),
	.fixed-service-card:nth-child(5),
	.fixed-service-card:last-child {
		grid-column: 1 / -1;
		min-height: 440px;
	}

	.process-timeline li {
		grid-template-columns: 45px 1fr;
	}

	.process-timeline p {
		grid-column: 2;
	}

	.application-service-card {
		grid-template-rows: 230px 1fr;
	}

	.application-overview-row {
		grid-template-columns: 30px minmax(0, 1fr);
		gap: 18px;
	}

	.application-overview-row > span:last-child {
		display: none;
	}

	.application-overview-row__image,
	.application-overview-row__content {
		grid-column: 2;
	}

	.project-card {
		min-height: 440px;
	}

	.project-coming-soon__images {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(3, 220px);
	}

	.project-coming-soon__images img:first-child {
		grid-row: auto;
	}

	.about-intro__image {
		min-height: 400px;
	}

	.about-nav-grid--large a {
		min-height: 210px;
	}

	.breadcrumbs {
		font-size: 0.62rem;
	}
}

.contact-assurances {
	width: var(--ae-wide);
	margin: 0 auto clamp(85px, 10vw, 150px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid #d1d5d8;
	border-left: 1px solid #d1d5d8;
	background: #fff;
	color: var(--ae-ink);
}

.contact-assurances > div {
	min-height: 260px;
	padding: clamp(28px, 4vw, 48px);
	border-right: 1px solid #d1d5d8;
	border-bottom: 1px solid #d1d5d8;
}

.contact-assurances span {
	display: block;
	margin-bottom: 50px;
	color: #0F766E;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.contact-assurances strong {
	display: block;
	margin-bottom: 14px;
	font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	font-size: clamp(1.45rem, 2.4vw, 2.4rem);
	line-height: 1.05;
	text-transform: uppercase;
}

.contact-assurances p {
	margin: 0;
	color: #4b5259;
}

@media (max-width: 860px) {
	.contact-assurances {
		grid-template-columns: 1fr;
	}

	.contact-assurances > div {
		min-height: 0;
	}

	.contact-assurances span {
		margin-bottom: 28px;
	}
}

/* =========================================================
   Actioneers 1.2.1 template layout repair
   ========================================================= */

/* Use the containing block rather than 100vw, which can include the scrollbar. */
:root {
	--ae-wide: min(1280px, calc(100% - 48px));
	--ae-content: min(760px, calc(100% - 48px));
}

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

@supports (overflow: clip) {
	html,
	body {
		overflow-x: clip;
	}
}

.site-main,
.site-main > *,
.overview-intro > *,
.detail-layout > *,
.application-detail > *,
.project-detail > *,
.about-detail > *,
.about-intro > *,
.process-section > *,
.method-band__inner > *,
.project-coming-soon > * {
	min-width: 0;
}

/* All new fixed templates now have a deliberate light reading surface. */
.services-overview,
.applications-overview,
.projects-overview,
.about-overview,
.contact-page,
.site-main--fixed {
	background: #fff;
	color: #16191d;
}

/* Retain white text in the deliberately dark visual sections. */
.services-overview .page-hero,
.applications-overview .page-hero,
.projects-overview .page-hero,
.about-overview .page-hero,
.contact-page .page-hero,
.site-main--fixed .page-hero,
.section--dark,
.section--projects,
.section--confidence,
.section--trust,
.project-archive-section,
.application-overview-list,
.final-cta {
	color: #fff;
}

/* Keep every content grid safely inside the viewport. */
.overview-intro,
.application-detail,
.detail-layout,
.project-detail,
.about-detail,
.about-intro,
.process-section,
.method-band__inner,
.project-coming-soon,
.contact-layout,
.contact-assurances {
	width: var(--ae-wide);
	max-width: 1280px;
}

/* Gutenberg wide/full blocks must stay inside fixed two-column templates. */
.site-main--fixed .prose .alignwide,
.site-main--fixed .prose .alignfull,
.services-overview .prose .alignwide,
.services-overview .prose .alignfull,
.applications-overview .prose .alignwide,
.applications-overview .prose .alignfull,
.projects-overview .prose .alignwide,
.projects-overview .prose .alignfull,
.about-overview .prose .alignwide,
.about-overview .prose .alignfull {
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.site-main--fixed .prose > *,
.overview-intro__content.prose > *,
.about-intro__content.prose > * {
	max-width: 100%;
}

.site-main--fixed .prose iframe,
.site-main--fixed .prose video,
.site-main--fixed .prose table,
.site-main--fixed .prose pre,
.site-main--fixed .prose img,
.overview-intro__content.prose iframe,
.overview-intro__content.prose video,
.overview-intro__content.prose table,
.about-intro__content.prose iframe,
.about-intro__content.prose video,
.about-intro__content.prose table {
	max-width: 100%;
}

/* Clear, high-contrast reading colours on light sections. */
.overview-intro__content.prose,
.detail-layout__main.prose,
.application-detail__intro.prose,
.project-detail__content.prose,
.about-detail__content.prose,
.about-intro__content.prose,
.process-section {
	color: #242a30;
}

.overview-intro__content.prose p,
.overview-intro__content.prose li,
.detail-layout__main.prose p,
.detail-layout__main.prose li,
.application-detail__intro.prose p,
.application-detail__intro.prose li,
.project-detail__content.prose p,
.project-detail__content.prose li,
.about-detail__content.prose p,
.about-detail__content.prose li,
.about-intro__content.prose p,
.about-intro__content.prose li {
	color: #333a41;
}

/* Prevent large uppercase titles from extending underneath adjacent blocks. */
.page-hero__inner,
.page-hero__inner h1,
.fixed-service-card h3,
.application-overview-row__content,
.application-overview-row__content h2,
.project-card > div,
.project-card h2,
.project-card h3,
.application-service-card h3,
.about-nav-grid span,
.section-heading,
.section-heading h2,
.final-cta h2 {
	min-width: 0;
	max-width: 100%;
}

.page-hero__inner h1,
.fixed-service-card h3,
.application-overview-row__content h2,
.project-card h2,
.project-card h3,
.application-service-card h3,
.about-nav-grid span,
.section-heading h2,
.final-cta h2 {
	overflow-wrap: anywhere;
	word-break: normal;
	hyphens: auto;
	text-wrap: balance;
}

.page-hero {
	min-height: clamp(500px, 66svh, 650px);
}

.page-hero__inner {
	padding-top: calc(var(--ae-header-height) + clamp(72px, 8vw, 105px));
	padding-bottom: clamp(76px, 9vw, 118px);
}

.page-hero__inner h1 {
	max-width: min(100%, 980px);
	margin-bottom: 22px;
	font-size: clamp(2.75rem, 5.8vw, 5.75rem);
	line-height: 0.96;
}

.page-hero__lead {
	max-width: 760px;
	color: rgba(255, 255, 255, 0.9) !important;
}

.application-overview-row {
	padding-right: max(24px, calc((100% - 1280px) / 2));
	padding-left: max(24px, calc((100% - 1280px) / 2));
}

.application-overview-row__content h2 {
	margin-bottom: 18px;
	font-size: clamp(2rem, 3.75vw, 4rem);
	line-height: 0.98;
}

.fixed-service-card h3,
.project-card h2,
.project-card h3 {
	font-size: clamp(1.65rem, 2.4vw, 2.65rem);
	line-height: 1;
}

.application-service-card h3 {
	font-size: clamp(1.45rem, 2vw, 2.1rem);
}

/* The contact blocks no longer cover the bottom of a long hero title. */
.contact-layout {
	margin: clamp(48px, 6vw, 84px) auto clamp(85px, 9vw, 125px);
}

.contact-assurances {
	margin-top: 0;
}

@media (max-width: 860px) {
	:root {
		--ae-wide: min(100%, calc(100% - 36px));
		--ae-content: min(100%, calc(100% - 36px));
	}

	.page-hero {
		min-height: 500px;
	}

	.page-hero__inner h1 {
		font-size: clamp(2.55rem, 10vw, 4.8rem);
	}

	.overview-intro,
	.application-detail,
	.detail-layout,
	.project-detail,
	.about-detail,
	.about-intro,
	.process-section {
		gap: 44px;
	}
}

@media (max-width: 680px) {
	:root {
		--ae-wide: calc(100% - 32px);
		--ae-content: calc(100% - 32px);
	}

	.page-hero {
		min-height: 470px;
	}

	.page-hero__inner {
		padding-top: calc(var(--ae-header-height) + 66px);
		padding-bottom: 66px;
	}

	.page-hero__inner h1 {
		font-size: clamp(2.35rem, 12.2vw, 4rem);
	}

	.application-overview-row__content h2 {
		font-size: clamp(1.8rem, 10vw, 3rem);
	}

	.contact-panel {
		padding: 34px 24px;
	}
}

/* =========================================================
   Actioneers 1.2.2 visual integration and title safety
   ========================================================= */

:root {
	--ae-page-bg: #0f1216;
	--ae-page-bg-soft: #15191e;
	--ae-card-bg: #ffffff;
	--ae-card-text: #171a1e;
	--ae-card-muted: #424950;
	--ae-card-line: #d8dde1;
}

/*
 * The fixed page templates now use the same dark cinematic base as the
 * homepage. Readable content is placed in deliberate white cards instead
 * of one full-width white canvas.
 */
.services-overview,
.applications-overview,
.projects-overview,
.about-overview,
.contact-page,
.site-main--fixed {
	background:
		radial-gradient(circle at 88% 8%, rgba(32,178,170, 0.035), transparent 25%),
		linear-gradient(145deg, #11151a 0%, var(--ae-page-bg) 58%, #0b0d10 100%);
	color: #f5f6f7;
}

/* Generic pages follow the same page language. */
.page-content {
	background:
		radial-gradient(circle at 90% 0%, rgba(32,178,170, 0.035), transparent 25%),
		var(--ae-page-bg);
	color: #f5f6f7;
}

/* No content section is allowed to pull up over the hero. */
.overview-intro,
.detail-layout,
.application-detail,
.project-detail,
.about-detail,
.about-intro,
.process-section,
.contact-layout,
.contact-assurances,
.page-content {
	position: relative;
	z-index: 2;
	margin-top: 0 !important;
}

/* White reading cards with the Actioneers signal accent. */
.overview-intro__content,
.overview-intro__callout,
.detail-layout__main,
.detail-sidebar,
.application-detail__intro,
.application-detail__statement,
.project-detail__content,
.project-detail__aside,
.about-detail__content,
.about-intro__content,
.page-content > .prose,
.contact-panel,
.contact-assurances > div {
	min-width: 0;
	max-width: 100%;
	padding: clamp(30px, 4.3vw, 58px);
	border: 0;
	border-top: 5px solid var(--ae-signal);
	background: var(--ae-card-bg);
	color: var(--ae-card-text);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
	overflow: hidden;
}

/* Content colour must remain explicit inside every white card. */
.overview-intro__content.prose,
.detail-layout__main.prose,
.application-detail__intro.prose,
.project-detail__content.prose,
.about-detail__content.prose,
.about-intro__content.prose,
.page-content > .prose,
.overview-intro__content.prose p,
.overview-intro__content.prose li,
.detail-layout__main.prose p,
.detail-layout__main.prose li,
.application-detail__intro.prose p,
.application-detail__intro.prose li,
.project-detail__content.prose p,
.project-detail__content.prose li,
.about-detail__content.prose p,
.about-detail__content.prose li,
.about-intro__content.prose p,
.about-intro__content.prose li,
.page-content > .prose p,
.page-content > .prose li {
	color: var(--ae-card-muted);
}

.overview-intro__content.prose h2,
.overview-intro__content.prose h3,
.overview-intro__content.prose h4,
.detail-layout__main.prose h2,
.detail-layout__main.prose h3,
.detail-layout__main.prose h4,
.application-detail__intro.prose h2,
.application-detail__intro.prose h3,
.application-detail__intro.prose h4,
.project-detail__content.prose h2,
.project-detail__content.prose h3,
.project-detail__content.prose h4,
.about-detail__content.prose h2,
.about-detail__content.prose h3,
.about-detail__content.prose h4,
.about-intro__content.prose h2,
.about-intro__content.prose h3,
.about-intro__content.prose h4,
.page-content > .prose h2,
.page-content > .prose h3,
.page-content > .prose h4 {
	color: var(--ae-card-text);
}

.overview-intro__content.prose > p:first-child,
.detail-layout__main.prose > p:first-child,
.application-detail__intro.prose > p:first-child,
.project-detail__content.prose > p:first-child,
.about-detail__content.prose > p:first-child,
.about-intro__content.prose > p:first-child,
.page-content > .prose > p:first-child {
	color: #20252a;
}

/* Cards get breathing room from the dark page background. */
.overview-intro,
.detail-layout,
.application-detail,
.project-detail,
.about-detail,
.about-intro,
.process-section {
	padding-block: clamp(72px, 8vw, 125px);
}

.overview-intro,
.detail-layout,
.application-detail,
.project-detail,
.about-detail,
.about-intro {
	gap: clamp(24px, 4vw, 56px);
}

.overview-intro__callout,
.detail-sidebar,
.application-detail__statement,
.project-detail__aside {
	position: sticky;
	top: calc(var(--ae-header-height) + 28px);
	align-self: start;
}

.overview-intro__callout h2,
.detail-sidebar h2,
.application-detail__statement h2,
.project-detail__aside h2 {
	color: var(--ae-card-text);
}

.overview-intro__callout p:not(.eyebrow),
.application-detail__statement p:not(.eyebrow),
.project-detail__aside p,
.detail-sidebar p {
	color: var(--ae-card-muted);
}

.overview-intro__callout .eyebrow,
.detail-sidebar .eyebrow,
.application-detail__statement .eyebrow,
.project-detail__aside .eyebrow,
.contact-panel .eyebrow {
	color: #0F766E;
}

/* Process: white steps card on the dark page, with a clear left heading. */
.process-section {
	color: #fff;
}

.process-section > div:first-child {
	padding: clamp(10px, 2vw, 24px) 0;
}

.process-section > div:first-child h2 {
	color: #fff;
}

.process-section > div:first-child .eyebrow {
	color: var(--ae-signal);
}

.process-timeline {
	padding: clamp(24px, 3vw, 42px);
	border: 0;
	border-top: 5px solid var(--ae-signal);
	background: #fff;
	color: var(--ae-card-text);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

.process-timeline li {
	border-color: var(--ae-card-line);
}

.process-timeline li:first-child {
	padding-top: 10px;
}

.process-timeline li:last-child {
	padding-bottom: 10px;
	border-bottom: 0;
}

.process-timeline strong {
	color: var(--ae-card-text);
}

.process-timeline p {
	color: var(--ae-card-muted);
}

/* The About page keeps its visual image, while the copy becomes a card. */
.about-intro__image {
	min-width: 0;
	overflow: visible;
}

.about-quote {
	position: sticky;
	top: calc(var(--ae-header-height) + 28px);
	align-self: start;
	overflow: hidden;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

/* Contact uses two distinct light cards on the dark canvas. */
.contact-layout {
	gap: 20px;
	box-shadow: none;
	padding-block: clamp(72px, 8vw, 110px);
	margin-bottom: 0;
}

.contact-panel--details,
.contact-panel--request {
	background: #fff;
	color: var(--ae-card-text);
}

.contact-panel--request {
	background: #f3f4f5;
}

.contact-panel h2 {
	color: var(--ae-card-text);
}

.contact-detail {
	border-color: var(--ae-card-line);
}

.contact-detail:last-of-type {
	border-color: var(--ae-card-line);
}

.contact-detail > span {
	color: #0F766E;
}

.contact-detail a,
.contact-detail address {
	color: var(--ae-card-text);
}

.contact-note {
	border-color: var(--ae-card-line);
	background: #f3f4f5;
	color: var(--ae-card-text);
}

.contact-note p,
.contact-panel--request > p {
	color: var(--ae-card-muted);
}

.contact-assurances {
	gap: 18px;
	padding-bottom: clamp(85px, 10vw, 145px);
	border: 0;
	background: transparent;
}

.contact-assurances > div {
	min-height: 250px;
	border: 0;
}

/* Child navigation cards stay white on the new dark generic page. */
.child-pages {
	border-top-color: rgba(255, 255, 255, 0.15);
}

.child-pages .section-heading h2 {
	color: #fff;
}

.child-pages .eyebrow {
	color: var(--ae-signal);
}

.child-card {
	border: 0;
	border-top: 5px solid var(--ae-signal);
	background: #fff;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}

/* About navigation is a set of white cards, not a full white section. */
.about-sections,
.about-navigation {
	background: transparent;
	color: #fff;
}

.about-sections .section-heading h2,
.about-navigation .section-heading h2 {
	color: #fff;
}

.about-sections .eyebrow,
.about-navigation .eyebrow {
	color: var(--ae-signal);
}

.about-nav-grid {
	gap: 18px;
	border: 0;
}

.about-nav-grid a {
	border: 0;
	border-top: 5px solid var(--ae-signal);
	background: #fff;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.2);
}

/*
 * Title safety. Titles are always in their own stacking layer, are allowed
 * to grow vertically, and can never slide beneath the next content block.
 */
.page-hero {
	isolation: isolate;
	min-height: clamp(560px, 70svh, 760px);
	overflow: hidden;
}

.page-hero::before {
	z-index: 0;
}

.page-hero::after {
	z-index: 1;
}

.page-hero__inner {
	z-index: 5;
	display: block;
	width: var(--ae-wide);
	max-width: 1280px;
	padding-top: calc(var(--ae-header-height) + clamp(82px, 10vw, 132px));
	padding-bottom: clamp(82px, 10vw, 128px);
	overflow: visible;
}

.page-hero__inner h1 {
	position: relative;
	z-index: 6;
	display: block;
	width: min(100%, 930px);
	max-width: 930px;
	margin: 0 0 26px;
	padding: 0;
	color: #fff;
	font-size: clamp(2.7rem, 5.15vw, 5.35rem);
	line-height: 1.01;
	letter-spacing: -0.02em;
	white-space: normal;
	overflow: visible;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
	text-wrap: balance;
}

.page-hero__lead {
	position: relative;
	z-index: 6;
	width: min(100%, 760px);
	max-width: 760px;
}

/* General heading containment: no title may paint into a neighbouring card. */
.section-heading,
.confidence-heading,
.overview-intro__callout,
.detail-sidebar,
.application-detail__statement,
.project-detail__aside,
.about-quote,
.contact-panel,
.fixed-service-card > div,
.application-service-card > div,
.project-card > div,
.about-nav-grid a,
.child-card__content {
	min-width: 0;
	isolation: isolate;
}

.section-heading {
	position: relative;
	z-index: 3;
}

.section-heading h2,
.confidence-heading h2,
.overview-intro__callout h2,
.detail-sidebar h2,
.application-detail__statement h2,
.project-detail__aside h2,
.contact-panel h2,
.fixed-service-card h3,
.application-service-card h3,
.project-card h2,
.project-card h3,
.about-nav-grid span,
.child-card h3,
.final-cta h2 {
	display: block;
	width: 100%;
	max-width: 100%;
	white-space: normal;
	overflow: visible;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
	text-wrap: balance;
}

.section-heading h2,
.confidence-heading h2 {
	font-size: clamp(2.25rem, 4.15vw, 4.65rem);
	line-height: 1.01;
}

.overview-intro__callout h2,
.application-detail__statement h2,
.project-detail__aside h2,
.detail-sidebar h2,
.contact-panel h2 {
	font-size: clamp(1.9rem, 2.8vw, 3.15rem);
	line-height: 1.03;
}

.fixed-service-card h3,
.application-service-card h3,
.project-card h2,
.project-card h3,
.about-nav-grid span,
.child-card h3 {
	line-height: 1.05;
}

/* Cards are always above their own media/decoration but below headings outside them. */
.fixed-service-grid,
.application-service-grid,
.project-card-grid,
.about-nav-grid,
.child-grid {
	position: relative;
	z-index: 1;
}

@media (max-width: 1050px) {
	.overview-intro,
	.detail-layout,
	.application-detail,
	.project-detail,
	.about-detail,
	.about-intro {
		grid-template-columns: 1fr;
	}

	.overview-intro__callout,
	.detail-sidebar,
	.application-detail__statement,
	.project-detail__aside,
	.about-quote {
		position: relative;
		top: auto;
	}

	.about-intro__image {
		min-height: 480px;
	}
}

@media (max-width: 860px) {
	.page-hero {
		min-height: 540px;
	}

	.page-hero__inner {
		padding-top: calc(var(--ae-header-height) + 76px);
		padding-bottom: 78px;
	}

	.page-hero__inner h1 {
		font-size: clamp(2.5rem, 9.6vw, 4.6rem);
		line-height: 1.02;
	}

	.process-section {
		grid-template-columns: 1fr;
	}

	.process-section > div:first-child {
		position: relative;
		top: auto;
	}

	.contact-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.overview-intro__content,
	.overview-intro__callout,
	.detail-layout__main,
	.detail-sidebar,
	.application-detail__intro,
	.application-detail__statement,
	.project-detail__content,
	.project-detail__aside,
	.about-detail__content,
	.about-intro__content,
	.page-content > .prose,
	.contact-panel,
	.contact-assurances > div {
		padding: 30px 24px;
	}

	.page-hero {
		min-height: 500px;
	}

	.page-hero__inner {
		padding-top: calc(var(--ae-header-height) + 68px);
		padding-bottom: 68px;
	}

	.page-hero__inner h1 {
		font-size: clamp(2.2rem, 11.2vw, 3.65rem);
		line-height: 1.04;
	}

	.section-heading {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.section-heading h2,
	.confidence-heading h2 {
		font-size: clamp(2rem, 10vw, 3.25rem);
	}

	.process-timeline li {
		grid-template-columns: 38px minmax(0, 1fr);
	}

	.about-intro__image {
		min-height: 360px;
	}
}

/* =========================================================
   Actioneers 1.2.3 dark reading panels and contact stability
   ========================================================= */

/* Main copy panels are dark; secondary/right-hand panels stay light. */
.overview-intro__content,
.detail-layout__main,
.application-detail__intro,
.project-detail__content,
.about-detail__content,
.about-intro__content,
.page-content > .prose,
.contact-panel--details,
.contact-assurances > div {
	border-top-color: var(--ae-signal);
	background: #171b20;
	color: #fff;
}

.overview-intro__callout,
.detail-sidebar,
.application-detail__statement,
.project-detail__aside,
.contact-panel--request {
	background: #fff;
	color: var(--ae-card-text);
}

/* High-contrast typography in the dark reading panels. */
.overview-intro__content.prose,
.detail-layout__main.prose,
.application-detail__intro.prose,
.project-detail__content.prose,
.about-detail__content.prose,
.about-intro__content.prose,
.page-content > .prose,
.overview-intro__content.prose p,
.overview-intro__content.prose li,
.detail-layout__main.prose p,
.detail-layout__main.prose li,
.application-detail__intro.prose p,
.application-detail__intro.prose li,
.project-detail__content.prose p,
.project-detail__content.prose li,
.about-detail__content.prose p,
.about-detail__content.prose li,
.about-intro__content.prose p,
.about-intro__content.prose li,
.page-content > .prose p,
.page-content > .prose li {
	color: rgba(255, 255, 255, 0.82);
}

.overview-intro__content.prose h2,
.overview-intro__content.prose h3,
.overview-intro__content.prose h4,
.detail-layout__main.prose h2,
.detail-layout__main.prose h3,
.detail-layout__main.prose h4,
.application-detail__intro.prose h2,
.application-detail__intro.prose h3,
.application-detail__intro.prose h4,
.project-detail__content.prose h2,
.project-detail__content.prose h3,
.project-detail__content.prose h4,
.about-detail__content.prose h2,
.about-detail__content.prose h3,
.about-detail__content.prose h4,
.about-intro__content.prose h2,
.about-intro__content.prose h3,
.about-intro__content.prose h4,
.page-content > .prose h2,
.page-content > .prose h3,
.page-content > .prose h4 {
	color: #fff;
}

.overview-intro__content.prose > p:first-child,
.detail-layout__main.prose > p:first-child,
.application-detail__intro.prose > p:first-child,
.project-detail__content.prose > p:first-child,
.about-detail__content.prose > p:first-child,
.about-intro__content.prose > p:first-child,
.page-content > .prose > p:first-child {
	color: #fff;
}

.overview-intro__content.prose a,
.detail-layout__main.prose a,
.application-detail__intro.prose a,
.project-detail__content.prose a,
.about-detail__content.prose a,
.about-intro__content.prose a,
.page-content > .prose a {
	color: var(--ae-signal);
}

.overview-intro__content.prose blockquote,
.detail-layout__main.prose blockquote,
.application-detail__intro.prose blockquote,
.project-detail__content.prose blockquote,
.about-detail__content.prose blockquote,
.about-intro__content.prose blockquote,
.page-content > .prose blockquote {
	border-left-color: var(--ae-signal);
	background: #22272d;
	color: #fff;
}

.overview-intro__content.prose th,
.detail-layout__main.prose th,
.application-detail__intro.prose th,
.project-detail__content.prose th,
.about-detail__content.prose th,
.about-intro__content.prose th,
.page-content > .prose th {
	background: var(--ae-signal);
	color: #090b0d;
}

.overview-intro__content.prose td,
.detail-layout__main.prose td,
.application-detail__intro.prose td,
.project-detail__content.prose td,
.about-detail__content.prose td,
.about-intro__content.prose td,
.page-content > .prose td {
	border-color: rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.82);
}

/* Contact: dark details panel, light request panel. */
.contact-panel--details h2,
.contact-panel--details a,
.contact-panel--details address,
.contact-panel--details strong {
	color: #fff;
}

.contact-panel--details .contact-detail,
.contact-panel--details .contact-detail:last-of-type {
	border-color: rgba(255, 255, 255, 0.16);
}

.contact-panel--details .contact-detail > span {
	color: var(--ae-signal);
}

.contact-panel--details .contact-note {
	border-left: 4px solid var(--ae-signal);
	border-top: 0;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
}

.contact-panel--details .contact-note p {
	color: rgba(255, 255, 255, 0.72);
}

.contact-panel--request h2 {
	color: var(--ae-card-text);
}

.contact-panel--request .eyebrow {
	color: #0F766E;
}

.contact-assurances > div strong {
	color: #fff;
}

.contact-assurances > div p {
	color: rgba(255, 255, 255, 0.76);
}

/* Keep hero titles fully isolated from the content below. */
.page-hero {
	isolation: isolate;
}

.page-hero__inner {
	z-index: 3;
}

.page-hero__inner h1 {
	position: relative;
	z-index: 4;
	max-width: min(980px, 100%);
}

.page-hero + section,
.page-hero + .page-content {
	position: relative;
	z-index: 1;
}

/* =========================================================
   Actioneers 1.2.4 title, About grid and content button fixes
   ========================================================= */

/* Smaller inner-page hero titles. Long words may wrap instead of clipping. */
.page-hero__inner h1 {
	width: min(100%, 850px);
	max-width: 850px;
	font-size: clamp(2.25rem, 4.15vw, 4.4rem);
	line-height: 1.04;
	letter-spacing: -0.018em;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
	text-wrap: pretty;
}

/* Three equal cards on the About overview when there are three child pages. */
.about-nav-grid--large {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-nav-grid--large a {
	min-width: 0;
}

/* Buttons inside the dark main reading panels: dark by default, cyan on hover. */
.overview-intro__content.prose .wp-block-button__link,
.detail-layout__main.prose .wp-block-button__link,
.application-detail__intro.prose .wp-block-button__link,
.project-detail__content.prose .wp-block-button__link,
.about-detail__content.prose .wp-block-button__link,
.about-intro__content.prose .wp-block-button__link,
.page-content > .prose .wp-block-button__link,
.overview-intro__content.prose a.button,
.detail-layout__main.prose a.button,
.application-detail__intro.prose a.button,
.project-detail__content.prose a.button,
.about-detail__content.prose a.button,
.about-intro__content.prose a.button,
.page-content > .prose a.button {
	border: 2px solid var(--ae-signal);
	background: #090b0d;
	color: #fff !important;
	text-decoration: none;
	transition: background 170ms ease, color 170ms ease, border-color 170ms ease, transform 170ms ease;
}

.overview-intro__content.prose .wp-block-button__link:hover,
.overview-intro__content.prose .wp-block-button__link:focus,
.detail-layout__main.prose .wp-block-button__link:hover,
.detail-layout__main.prose .wp-block-button__link:focus,
.application-detail__intro.prose .wp-block-button__link:hover,
.application-detail__intro.prose .wp-block-button__link:focus,
.project-detail__content.prose .wp-block-button__link:hover,
.project-detail__content.prose .wp-block-button__link:focus,
.about-detail__content.prose .wp-block-button__link:hover,
.about-detail__content.prose .wp-block-button__link:focus,
.about-intro__content.prose .wp-block-button__link:hover,
.about-intro__content.prose .wp-block-button__link:focus,
.page-content > .prose .wp-block-button__link:hover,
.page-content > .prose .wp-block-button__link:focus,
.overview-intro__content.prose a.button:hover,
.overview-intro__content.prose a.button:focus,
.detail-layout__main.prose a.button:hover,
.detail-layout__main.prose a.button:focus,
.application-detail__intro.prose a.button:hover,
.application-detail__intro.prose a.button:focus,
.project-detail__content.prose a.button:hover,
.project-detail__content.prose a.button:focus,
.about-detail__content.prose a.button:hover,
.about-detail__content.prose a.button:focus,
.about-intro__content.prose a.button:hover,
.about-intro__content.prose a.button:focus,
.page-content > .prose a.button:hover,
.page-content > .prose a.button:focus {
	border-color: var(--ae-signal);
	background: var(--ae-signal);
	color: #090b0d !important;
	transform: translateY(-2px);
}

@media (max-width: 1050px) {
	.page-hero__inner h1 {
		width: min(100%, 760px);
		max-width: 760px;
		font-size: clamp(2.1rem, 6.8vw, 3.55rem);
	}

	.about-nav-grid--large {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.page-hero__inner h1 {
		width: 100%;
		max-width: 100%;
		font-size: clamp(1.8rem, 8.5vw, 2.65rem);
		line-height: 1.08;
	}

	.about-nav-grid--large {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   Actioneers 1.2.5 exact H1 sizing and three-column About links
   ========================================================= */

/* Requested global H1 scale: strong, but no longer oversized. */
h1 {
	font-size: clamp(3.1rem, 4.5vw, 6rem);
}

/* Both About link variants use three equal columns on desktop. */
.about-nav-grid,
.about-nav-grid--large {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1050px) {
	.about-nav-grid,
	.about-nav-grid--large {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.about-nav-grid,
	.about-nav-grid--large {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   Actioneers 1.2.6 - compact H2 headings without forced hyphenation
   ========================================================= */

/* White sidebar/callout cards: smaller headings and natural line breaks only. */
.overview-intro__callout h2,
.application-detail__statement h2,
.project-detail__aside h2,
.detail-sidebar h2,
.contact-panel h2 {
	font-size: clamp(1.65rem, 2.15vw, 2.45rem);
	line-height: 1.08;
	letter-spacing: -0.015em;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: pretty;
}

/* Also prevent automatic mid-word hyphenation in all prominent card headings. */
.section-heading h2,
.confidence-heading h2,
.fixed-service-card h3,
.application-service-card h3,
.project-card h2,
.project-card h3,
.about-nav-grid span,
.child-card h3,
.final-cta h2 {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

@media (max-width: 680px) {
	.overview-intro__callout h2,
	.application-detail__statement h2,
	.project-detail__aside h2,
	.detail-sidebar h2,
	.contact-panel h2 {
		font-size: clamp(1.5rem, 7vw, 2rem);
		line-height: 1.1;
	}
}

/* ==========================================================
   Actioneers 2.0 content framework
   ========================================================== */
.ae-v2-page{background:#111418;color:#f4f4f2;min-height:70vh;overflow:hidden}.ae-v2-container{width:min(1280px,calc(100% - 48px));margin-inline:auto}.ae-v2-hero{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:flex-end;padding:180px 0 86px;background:#0d0f12}.ae-v2-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(8,10,12,.95) 0%,rgba(8,10,12,.75) 46%,rgba(8,10,12,.25) 100%),var(--ae-hero-image);background-size:cover;background-position:center}.ae-v2-hero:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:#20B2AA}.ae-v2-hero h1{max-width:1050px;margin:.25em 0 .22em;font-size:clamp(3.1rem,4.5vw,6rem);line-height:.96;overflow-wrap:normal;word-break:normal;hyphens:none}.ae-v2-hero p:not(.eyebrow){max-width:760px;font-size:clamp(1.05rem,1.5vw,1.32rem);color:#d6d8da}.ae-v2-hero--compact{min-height:360px;padding-top:150px}.ae-v2-hero--compact:before{background:radial-gradient(circle at 75% 20%,rgba(32,178,170,.12),transparent 28%),linear-gradient(135deg,#15191d,#090b0d)}.ae-v2-content-space{padding-block:42px 100px}.ae-breadcrumbs{margin:0 0 28px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.ae-breadcrumbs ol{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.ae-breadcrumbs li+li:before{content:"/";margin-right:10px;color:#6f7479}.ae-breadcrumbs a{color:#20B2AA}.ae-breadcrumbs span{color:#aeb2b6}.ae-main-panel{background:#191d21;border-top:5px solid #20B2AA;padding:clamp(30px,5vw,68px);box-shadow:0 24px 60px rgba(0,0,0,.25);color:#f2f3f3}.ae-main-panel h2,.ae-main-panel h3,.ae-main-panel h4{color:#fff;hyphens:none;word-break:normal;overflow-wrap:break-word}.ae-main-panel h2{font-size:clamp(1.8rem,2.4vw,2.8rem);line-height:1.06}.ae-main-panel p,.ae-main-panel li{color:#c9cdd0}.ae-main-panel a:not(.button):not(.wp-block-button__link){color:#20B2AA}.ae-side-panel{background:#fff;color:#111418;border-top:5px solid #20B2AA;padding:38px;align-self:start;position:sticky;top:120px}.ae-side-panel .eyebrow{color:#0F766E}.ae-side-panel blockquote{margin:30px 0;padding:20px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;font-size:1.18rem;font-weight:700}.ae-project-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,380px);gap:28px;align-items:start}.ae-project-fact{padding:16px 0;border-bottom:1px solid #ddd}.ae-project-fact span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#666}.ae-project-fact strong{display:block;margin-top:4px}.ae-project-video{margin-top:40px;aspect-ratio:16/9}.ae-project-video iframe{width:100%;height:100%}.ae-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ae-project-card{background:#fff;color:#111418;border-top:5px solid #20B2AA;min-width:0}.ae-project-card__image{display:block;aspect-ratio:16/11;overflow:hidden}.ae-project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.ae-project-card:hover img{transform:scale(1.04)}.ae-project-card__body{padding:28px}.ae-project-card h2{font-size:clamp(1.45rem,2vw,2.2rem);line-height:1.04;hyphens:none;word-break:normal}.ae-project-card h2 a{color:#111418}.ae-project-card p{color:#52575c}.ae-project-card__meta{color:#0F766E;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ae-text-link{color:#111418;font-weight:800}.ae-editor-section,.ae-info-card,.ae-inline-cta{box-sizing:border-box}.ae-info-card{background:#fff;color:#111418;border-top:5px solid #20B2AA;padding:30px}.ae-inline-cta{background:#111418;color:#fff;border:1px solid #30353a;border-left:5px solid #20B2AA;padding:clamp(28px,5vw,56px)}.ae-inline-cta h2{color:#fff}.ae-inline-cta p{color:#c9cdd0}.ae-legal-content{max-width:900px;margin-inline:auto}.ae-legal-content h2{margin-top:1.7em}.ae-error-page .ae-v2-hero{min-height:72vh}.ae-error-page .ae-v2-hero:before{background:radial-gradient(circle at 75% 30%,rgba(32,178,170,.16),transparent 27%),linear-gradient(135deg,#15191d,#070809)}
@media(max-width:1000px){.ae-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ae-project-layout{grid-template-columns:1fr}.ae-side-panel{position:static}}
@media(max-width:700px){.ae-v2-container{width:min(100% - 28px,1280px)}.ae-v2-hero{min-height:430px;padding:135px 0 58px}.ae-v2-hero h1{font-size:clamp(2.45rem,12vw,4rem);line-height:.98}.ae-v2-content-space{padding-block:28px 70px}.ae-project-grid{grid-template-columns:1fr}.ae-main-panel,.ae-side-panel{padding:26px}.ae-v2-hero--compact{min-height:300px}}


/* v2.0.2 — keep legal and functional page content strictly inside its panel. */
.ae-legal-page .ae-v2-container {
	box-sizing: border-box;
	max-width: 100%;
}

.ae-legal-content {
	box-sizing: border-box;
	width: min(100%, 900px);
	max-width: 900px;
	margin-inline: auto;
	overflow: hidden;
}

.ae-legal-content,
.ae-legal-content *,
.ae-legal-content *::before,
.ae-legal-content *::after {
	box-sizing: border-box;
}

.ae-legal-content > *,
.ae-legal-content .wp-block-group,
.ae-legal-content .wp-block-columns,
.ae-legal-content .wp-block-column,
.ae-legal-content .wp-block-cover,
.ae-legal-content .wp-block-media-text,
.ae-legal-content .wp-block-table,
.ae-legal-content .wp-block-image,
.ae-legal-content .wp-block-buttons,
.ae-legal-content .wp-block-button,
.ae-legal-content .wp-block-separator,
.ae-legal-content .alignwide,
.ae-legal-content .alignfull,
.ae-legal-content [style*="width"] {
	max-width: 100% !important;
}

.ae-legal-content .alignwide,
.ae-legal-content .alignfull {
	width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.ae-legal-content .wp-block-group,
.ae-legal-content .wp-block-cover,
.ae-legal-content .wp-block-media-text {
	min-width: 0;
}

.ae-legal-content img,
.ae-legal-content video,
.ae-legal-content iframe,
.ae-legal-content embed,
.ae-legal-content object,
.ae-legal-content svg,
.ae-legal-content canvas {
	display: block;
	max-width: 100% !important;
	height: auto;
}

.ae-legal-content table {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ae-legal-content pre,
.ae-legal-content code {
	max-width: 100%;
	white-space: pre-wrap;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.ae-legal-content p,
.ae-legal-content li,
.ae-legal-content a,
.ae-legal-content h2,
.ae-legal-content h3,
.ae-legal-content h4,
.ae-legal-content h5,
.ae-legal-content h6 {
	word-break: normal;
	overflow-wrap: anywhere;
}

.ae-legal-content ul,
.ae-legal-content ol {
	max-width: 100%;
	padding-left: 1.35em;
}

@media (max-width: 700px) {
	.ae-v2-container {
		width: min(100% - 28px, 1280px);
	}

	.ae-legal-content {
		padding: 26px 20px;
	}
}


/* v2.0.3 — legal pages are routed by slug and use a fully isolated text column. */
.ae-legal-page .ae-v2-content-space {
	width: min(100% - 48px, 1040px);
	max-width: 1040px;
	margin-inline: auto;
}

.ae-legal-page .ae-legal-content {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: clamp(30px, 5vw, 64px);
	overflow: clip;
	contain: inline-size;
}

.ae-legal-content__inner {
	display: flow-root;
	width: 100%;
	max-width: 760px;
	min-width: 0;
	margin-inline: auto;
}

.ae-legal-content__inner > *,
.ae-legal-content__inner .wp-block-group,
.ae-legal-content__inner .wp-block-columns,
.ae-legal-content__inner .wp-block-column,
.ae-legal-content__inner .wp-block-cover,
.ae-legal-content__inner .wp-block-media-text,
.ae-legal-content__inner .wp-block-buttons,
.ae-legal-content__inner .wp-block-table,
.ae-legal-content__inner .alignwide,
.ae-legal-content__inner .alignfull,
.ae-legal-content__inner [class*="is-layout-"] {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	inset-inline: auto !important;
	transform: none !important;
}

.ae-legal-content__inner > :first-child { margin-top: 0; }
.ae-legal-content__inner > :last-child { margin-bottom: 0; }

.ae-legal-content__inner p,
.ae-legal-content__inner li {
	max-width: 100%;
	font-size: 1rem;
	line-height: 1.75;
}

.ae-legal-content__inner h2 {
	font-size: clamp(1.65rem, 2.4vw, 2.35rem);
	line-height: 1.12;
}

@media (max-width: 700px) {
	.ae-legal-page .ae-v2-content-space {
		width: min(100% - 28px, 1040px);
	}

	.ae-legal-page .ae-legal-content {
		padding: 26px 20px;
	}
}

/* ==========================================================
   Actioneers Design Language 1.0 — Homepage v2.2
   ========================================================== */
.ae-home-v22 { overflow: clip; background: #090b0e; }
.ae22-shell { width: min(1440px, calc(100% - clamp(36px, 7vw, 112px))); margin-inline: auto; }
.ae22-kicker { margin: 0 0 16px; color: var(--ae-signal); font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.ae22-icon { display: inline-grid; width: 38px; height: 38px; place-items: center; flex: 0 0 auto; color: var(--ae-signal); }
.ae22-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ae22-button { display: inline-flex; min-height: 52px; padding: 0 22px; align-items: center; justify-content: center; gap: 28px; border: 1px solid var(--ae-signal); background: var(--ae-signal); color: #08090b !important; font-size: .78rem; font-weight: 900; letter-spacing: .045em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.ae22-button:hover,.ae22-button:focus-visible { transform: translateY(-2px); background: #fff; border-color: #fff; color: #08090b !important; }
.ae22-button--outline { background: rgba(8,9,11,.28); color: #fff !important; border-color: rgba(255,255,255,.55); backdrop-filter: blur(10px); }
.ae22-button--outline:hover,.ae22-button--outline:focus-visible { background: var(--ae-signal); border-color: var(--ae-signal); color: #08090b !important; }
.ae22-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ae22-text-link { display: inline-flex; gap: 42px; align-items: center; padding-bottom: 8px; border-bottom: 1px solid var(--ae-signal); color: #111317 !important; font-size: .82rem; font-weight: 900; text-decoration: none; }
.ae22-text-link:hover { color: #000 !important; gap: 52px; }
.ae22-text-link--light { color: #fff !important; }

.ae22-hero { position: relative; min-height: min(900px, 94vh); padding-top: var(--ae-header-height); display: grid; align-items: center; isolation: isolate; background-image: var(--ae22-hero-image); background-size: cover; background-position: center; }
.ae22-hero__video { position:absolute; inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; object-position:center; pointer-events:none; }
.ae22-hero--video { background-color:#050608; }
.ae22-hero::before { content:""; position:absolute; inset:0; z-index:-2; background: linear-gradient(90deg, rgba(5,6,8,.98) 0%, rgba(5,6,8,.82) 34%, rgba(5,6,8,.22) 68%, rgba(5,6,8,.68) 100%), linear-gradient(0deg, rgba(5,6,8,.86) 0%, transparent 42%); }
.ae22-hero::after { content:""; position:absolute; inset:0; z-index:-1; background: radial-gradient(circle at 58% 55%, transparent 0 22%, rgba(8,9,11,.1) 55%, rgba(8,9,11,.58) 100%); }
.ae22-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,310px); gap: clamp(42px,8vw,140px); align-items:center; padding-block: clamp(80px,12vh,150px); }
.ae22-hero__copy { max-width: 720px; }
.ae22-hero h1 { margin:0 0 22px; max-width: 700px; color:#fff; font-size:clamp(3.2rem,6vw,6.8rem); line-height:.94; letter-spacing:-.04em; }
.ae22-hero h1 span { display:block; }
.ae22-hero h1 mark { padding:0; background:none; color:var(--ae-signal); }
.ae22-hero__lead { max-width:600px; margin:0 0 32px; color:rgba(255,255,255,.8); font-size:clamp(1rem,1.25vw,1.17rem); line-height:1.65; }
.ae22-hero__disciplines { display:grid; align-self:center; gap:0; border-left:1px solid rgba(255,255,255,.2); }
.ae22-hero__disciplines a { display:grid; grid-template-columns:45px 1fr; min-height:68px; padding:10px 0 10px 26px; align-items:center; gap:14px; color:#fff; border-bottom:1px solid rgba(255,255,255,.1); font-size:.75rem; font-weight:850; letter-spacing:.045em; line-height:1.25; text-decoration:none; text-transform:uppercase; transition:background .2s ease,padding .2s ease,color .2s ease; }
.ae22-hero__disciplines a:hover { padding-left:34px; background:rgba(32,178,170,.07); color:var(--ae-signal); }
.ae22-hero__disciplines .ae22-icon { width:28px;height:28px; }
.ae22-scroll { position:absolute; bottom:28px; left:max(24px,calc((100vw - min(1440px,calc(100% - clamp(36px,7vw,112px))))/2)); display:flex; align-items:center; gap:12px; color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.ae22-scroll span { display:grid; width:28px;height:28px; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:var(--ae-signal); animation:ae22-bounce 1.8s infinite; }
@keyframes ae22-bounce { 50% { transform:translateY(5px); } }

.ae22-proof { background:#121518; border-block:1px solid rgba(255,255,255,.08); }
.ae22-proof__grid { display:grid; grid-template-columns:repeat(5,1fr); }
.ae22-proof__grid > div { position:relative; min-height:112px; padding:26px 24px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.ae22-proof__grid > div:not(:last-child)::after { content:""; position:absolute; right:0; top:25%; height:50%; width:1px; background:rgba(255,255,255,.12); }
.ae22-proof strong { color:#fff; font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif; font-size:clamp(1.25rem,1.65vw,1.75rem); text-transform:uppercase; }
.ae22-proof span { color:rgba(255,255,255,.68); font-size:.67rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }

.ae22-services { padding:clamp(72px,8vw,125px) 0; background:#f2f0eb; color:#111317; }
.ae22-services__layout { display:grid; grid-template-columns:minmax(260px,.82fr) minmax(0,2.18fr); gap:clamp(40px,5vw,80px); align-items:start; }
.ae22-section-intro { position:sticky; top:130px; }
.ae22-section-intro h2 { max-width:490px; margin-bottom:20px; font-size:clamp(2.25rem,3.4vw,4rem); overflow-wrap:normal; word-break:normal; hyphens:none; }
.ae22-section-intro p:not(.ae22-kicker) { max-width:520px; color:#565b62; }
.ae22-service-cards { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.ae22-service-card { position:relative; min-height:430px; padding:205px 22px 24px; display:flex; flex-direction:column; overflow:hidden; background:#111317; color:#fff !important; text-decoration:none; box-shadow:0 14px 30px rgba(0,0,0,.1); transition:transform .28s ease,box-shadow .28s ease; }
.ae22-service-card:hover { transform:translateY(-10px); box-shadow:0 24px 50px rgba(0,0,0,.22); color:#fff !important; }
.ae22-service-card__visual { position:absolute; inset:0 0 auto; height:185px; background:linear-gradient(0deg,#111317 0%,transparent 60%),var(--card-image) center/cover; transition:transform .5s ease; }
.ae22-service-card:hover .ae22-service-card__visual { transform:scale(1.06); }
.ae22-service-card .ae22-icon { position:relative; width:31px;height:31px; margin-bottom:14px; }
.ae22-service-card strong { position:relative; min-height:55px; margin-bottom:12px; font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif; font-size:clamp(1.15rem,1.35vw,1.55rem); line-height:1; text-transform:uppercase; }
.ae22-service-card small { position:relative; color:rgba(255,255,255,.65); font-size:.76rem; line-height:1.5; }
.ae22-service-card i { position:absolute; right:18px; bottom:14px; color:var(--ae-signal); font-style:normal; opacity:0; transform:translateX(-8px); transition:.2s ease; }
.ae22-service-card:hover i { opacity:1; transform:none; }

.ae22-process { padding:clamp(70px,8vw,118px) 0; background:#0e1013; }
.ae22-process__layout { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,2.3fr); gap:clamp(55px,7vw,105px); align-items:start; }
.ae22-section-intro--dark { position:static; color:#fff; }
.ae22-section-intro--dark h2 { color:#fff; }
.ae22-timeline { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:26px; margin:14px 0 0; padding:0; list-style:none; }
.ae22-timeline::before { content:""; position:absolute; top:31px; left:8%; right:8%; height:1px; background:linear-gradient(90deg,var(--ae-signal),rgba(32,178,170,.22)); }
.ae22-timeline li { position:relative; padding-top:82px; }
.ae22-timeline li > span { position:absolute; top:0; left:0; z-index:1; display:grid; width:62px;height:62px; place-items:center; border:1px solid var(--ae-signal); border-radius:50%; background:#0e1013; color:var(--ae-signal); font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif; font-size:1.18rem; font-weight:900; }
.ae22-timeline strong { display:block; margin-bottom:10px; color:#fff; font-size:.78rem; letter-spacing:.045em; text-transform:uppercase; }
.ae22-timeline p { margin:0; color:rgba(255,255,255,.62); font-size:.77rem; line-height:1.65; }

.ae22-projects { padding:clamp(70px,8vw,120px) 0; background:#080a0d; }
.ae22-projects__heading { display:flex; justify-content:space-between; gap:36px; align-items:end; margin-bottom:36px; }
.ae22-projects h2 { max-width:700px; color:#fff; font-size:clamp(2.6rem,4.2vw,5.1rem); }
.ae22-project-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.ae22-project-card { min-width:0; color:#fff !important; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); text-decoration:none; background:#0d0f12; transition:background .2s ease; }
.ae22-project-card:hover { background:#15181c; }
.ae22-project-card__image { display:block; aspect-ratio:4/3; overflow:hidden; }
.ae22-project-card__image img { width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .4s ease; }
.ae22-project-card:hover img { transform:scale(1.055); filter:saturate(1.15); }
.ae22-project-card__body { min-height:180px; padding:24px; display:flex; flex-direction:column; }
.ae22-project-card small { color:var(--ae-signal); font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase; }
.ae22-project-card strong { margin-top:10px; font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif; font-size:clamp(1.35rem,1.65vw,2rem); line-height:1; text-transform:uppercase; }
.ae22-project-card em { margin-top:auto; padding-top:22px; color:rgba(255,255,255,.65); font-size:.74rem;font-style:normal;font-weight:800;text-transform:uppercase; }
.ae22-project-card:hover em { color:var(--ae-signal); }

.ae22-clients { padding:50px 0; background:#f2f0eb; color:#15171b; }
.ae22-clients__layout { display:grid; grid-template-columns:minmax(210px,.55fr) minmax(0,2.45fr); gap:50px; align-items:center; }
.ae22-clients h2 { margin:0; font-size:clamp(1.8rem,2.6vw,3.2rem); }
.ae22-client-list { display:flex; align-items:center; justify-content:space-around; gap:32px; flex-wrap:wrap; }
.ae22-client-list span { color:#33373c; font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif; font-size:clamp(1.15rem,2vw,2rem); font-weight:800; text-transform:uppercase; filter:none; opacity:1; }
.ae22-client-list img { max-width:145px;max-height:58px;object-fit:contain; }

.ae22-cta { position:relative; isolation:isolate; padding:58px 0; background:var(--ae22-cta-image) center/cover; }
.ae22-cta::before { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,6,8,.97) 0%,rgba(5,6,8,.84) 58%,rgba(5,6,8,.28) 100%); }
.ae22-cta__inner { display:flex; justify-content:space-between; gap:40px; align-items:center; }
.ae22-cta h2 { margin:0;color:#fff;font-size:clamp(2rem,3.3vw,4rem); }

[data-ae-reveal] { opacity:0; transform:translateY(28px); transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1); transition-delay:var(--delay,0ms); }
[data-ae-reveal].is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { [data-ae-reveal] { opacity:1;transform:none;transition:none; } .ae22-scroll span { animation:none; } }

@media (max-width:1280px) {
	.ae22-service-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.ae22-service-card { min-height:410px; }
	.ae22-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:980px) {
	.ae22-hero { min-height:auto; }
	.ae22-hero__grid { grid-template-columns:1fr; padding-block:120px 100px; }
	.ae22-hero__disciplines { display:none; }
	.ae22-services__layout,.ae22-process__layout,.ae22-clients__layout { grid-template-columns:1fr; }
	.ae22-section-intro { position:static; }
	.ae22-timeline { grid-template-columns:repeat(2,1fr); }
	.ae22-timeline::before { display:none; }
	.ae22-cta__inner { align-items:flex-start;flex-direction:column; }
}
@media (max-width:720px) {
	.ae22-shell { width:min(100% - 36px,1440px); }
	.ae22-hero h1 { font-size:clamp(2.8rem,14vw,4.8rem); }
	.ae22-proof__grid { grid-template-columns:repeat(2,1fr); }
	.ae22-proof__grid > div:nth-child(2n)::after { display:none; }
	.ae22-proof__grid > div:last-child { grid-column:1/-1; }
	.ae22-services { padding-block:70px; }
	.ae22-service-cards { grid-template-columns:1fr; }
	.ae22-service-card { min-height:350px; padding-top:185px; }
	.ae22-timeline { grid-template-columns:1fr; gap:8px; }
	.ae22-timeline li { min-height:125px;padding:14px 0 20px 84px; }
	.ae22-timeline li > span { top:6px; }
	.ae22-project-grid { grid-template-columns:1fr; }
	.ae22-projects__heading { align-items:flex-start;flex-direction:column; }
	.ae22-client-list { justify-content:flex-start; }
	.ae22-actions { width:100%; }
	.ae22-button { width:100%; }
	.ae22-scroll { display:none; }
}

/* =========================================================
   Actioneers 2.2.1 — inner-page design language
   ========================================================= */
:root {
	--ae22-inner-bg: #0b0d10;
	--ae22-inner-panel: #14181d;
	--ae22-inner-border: rgba(255,255,255,.12);
	--ae22-inner-muted: rgba(255,255,255,.7);
}

.ae22-inner-page,
.site-main--fixed,
.ae-project-single,
.ae-project-archive {
	background:
		radial-gradient(circle at 8% 18%, rgba(32,178,170,.055), transparent 24rem),
		linear-gradient(180deg,#0a0c0f 0%,#11151a 52%,#090b0e 100%);
	color:#fff;
}

.ae22-inner-shell,
.ae22-inner-page > section:not(.page-hero):not(.final-cta):not(.ae22-contact-visual),
.site-main--fixed > section:not(.page-hero):not(.final-cta) {
	width:min(100% - clamp(36px,7vw,112px),1280px);
	margin-inline:auto;
}

/* Cinematic hero consistent with the homepage. */
.page-hero.ae22-inner-hero {
	min-height:clamp(470px,62vh,720px);
	padding:0;
	display:flex;
	align-items:flex-end;
	background:var(--hero-image) center/cover no-repeat;
	border-bottom:1px solid rgba(255,255,255,.12);
}
.page-hero.ae22-inner-hero::before {
	background:linear-gradient(90deg,rgba(4,5,7,.98) 0%,rgba(4,5,7,.84) 45%,rgba(4,5,7,.26) 100%);
}
.page-hero.ae22-inner-hero::after {
	background:linear-gradient(180deg,rgba(5,7,9,.08),rgba(5,7,9,.1) 54%,#0b0d10 100%);
}
.ae22-inner-hero__content {
	width:min(100% - clamp(36px,7vw,112px),1280px);
	margin-inline:auto;
	padding:clamp(145px,17vh,210px) 0 clamp(62px,7vw,92px);
}
.ae22-inner-hero__content .breadcrumbs { margin-bottom:26px; color:rgba(255,255,255,.58); }
.ae22-inner-hero__content .eyebrow { color:var(--ae-signal); }
.ae22-inner-hero__content h1 {
	max-width:920px;
	margin:12px 0 18px;
	font-size:clamp(2.8rem,4.5vw,6rem);
	line-height:.94;
	letter-spacing:-.035em;
	text-transform:uppercase;
	word-break:normal;
	overflow-wrap:break-word;
	hyphens:none;
}
.ae22-inner-hero__content .page-hero__lead { max-width:700px;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.35vw,1.24rem); }

/* Shared dark panels, aligned with the homepage card language. */
.overview-intro,
.detail-layout,
.application-detail,
.project-detail,
.about-detail,
.about-intro,
.contact-layout,
.page-content {
	padding-block:clamp(72px,8vw,120px);
}
.overview-intro__content,
.detail-layout__main,
.application-detail__intro,
.project-detail__content,
.about-detail__content,
.about-intro__content,
.page-content > .prose,
.contact-panel--details {
	border:1px solid var(--ae22-inner-border);
	border-top:4px solid var(--ae-signal);
	background:linear-gradient(145deg,#15191e,#101318);
	box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.overview-intro__callout,
.detail-sidebar,
.application-detail__statement,
.project-detail__aside,
.contact-panel--request,
.about-quote,
.ae-side-panel {
	border-top:4px solid var(--ae-signal);
	box-shadow:0 28px 70px rgba(0,0,0,.24);
}

/* Image mosaics for services/applications. */
.ae22-inner-visuals { padding:0 0 clamp(72px,8vw,118px); background:transparent; }
.ae22-inner-visuals__grid { display:grid;grid-template-columns:1.55fr .72fr .72fr;gap:14px; }
.ae22-inner-visual { position:relative;min-height:clamp(250px,31vw,430px);margin:0;overflow:hidden;background:#11151a; }
.ae22-inner-visual:not(.ae22-inner-visual--wide) { min-height:clamp(250px,31vw,430px); }
.ae22-inner-visual img { width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease; }
.ae22-inner-visual::after { content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 -80px 90px rgba(0,0,0,.2);pointer-events:none; }
.ae22-inner-visual:hover img { transform:scale(1.045);filter:saturate(1.15); }

/* Overview cards and rows. */
.fixed-service-grid,
.project-card-grid,
.application-service-grid,
.child-grid,
.about-nav-grid,
.about-nav-grid--large { gap:14px; }
.fixed-service-card,
.project-card,
.application-service-card,
.child-card,
.related-card,
.about-nav-grid a,
.about-nav-grid--large a {
	border:1px solid rgba(255,255,255,.13);
	background:#11151a;
	box-shadow:none;
	transition:transform .28s ease,border-color .28s ease,background .28s ease;
}
.fixed-service-card:hover,
.project-card:hover,
.application-service-card:hover,
.child-card:hover,
.related-card:hover,
.about-nav-grid a:hover,
.about-nav-grid--large a:hover {
	transform:translateY(-7px);
	border-color:rgba(32,178,170,.55);
	background:#171c22;
}
.fixed-service-card img,
.project-card img,
.application-service-card img,
.child-card img,
.related-card img { filter:saturate(.9) contrast(1.05);transition:transform .55s ease,filter .4s ease; }
.fixed-service-card:hover img,
.project-card:hover img,
.application-service-card:hover img,
.child-card:hover img,
.related-card:hover img { transform:scale(1.045);filter:saturate(1.16) contrast(1.04); }

.application-overview-list { padding-block:0 clamp(80px,8vw,125px); }
.application-overview-row { border:1px solid var(--ae22-inner-border);background:#11151a;color:#fff; }
.application-overview-row:hover { background:#181d23;border-color:rgba(32,178,170,.48); }
.application-overview-row__content p { color:var(--ae22-inner-muted); }

.ae22-inner-method,
.process-section,
.method-band,
.about-values,
.contact-assurances {
	border-block:1px solid rgba(255,255,255,.1);
	background:#0d1014;
}

/* About and contact imagery. */
.ae22-inner-about .about-intro__image { min-height:520px;border:1px solid var(--ae22-inner-border); }
.ae22-inner-about .about-intro__image img { filter:saturate(.92) contrast(1.08); }
.ae22-contact-visual {
	position:relative;
	isolation:isolate;
	min-height:360px;
	padding:clamp(68px,8vw,110px) clamp(24px,7vw,100px);
	display:flex;
	align-items:end;
	background:var(--ae-contact-image) center/cover no-repeat;
}
.ae22-contact-visual::before { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,7,9,.96),rgba(5,7,9,.48) 62%,rgba(5,7,9,.18)); }
.ae22-contact-visual > div { width:min(100%,1280px);margin:auto; }
.ae22-contact-visual h2 { max-width:800px;margin:8px 0 0;color:#fff;font-size:clamp(2.3rem,4vw,5rem);line-height:.98;text-transform:uppercase; }

/* Project CPT pages. */
.ae-v2-hero { min-height:clamp(470px,62vh,720px);display:flex;align-items:end;background-position:center;background-size:cover; }
.ae-v2-hero::before { background:linear-gradient(90deg,rgba(4,5,7,.98),rgba(4,5,7,.43)); }
.ae-v2-hero .ae-v2-container { padding-bottom:clamp(60px,7vw,95px); }
.ae-project-layout { gap:18px; }
.ae-main-panel { border-top:4px solid var(--ae-signal);background:#14181d;color:#fff; }
.ae-main-panel p,.ae-main-panel li { color:rgba(255,255,255,.78); }
.ae-main-panel h2,.ae-main-panel h3 { color:#fff; }
.ae-project-video { margin-top:40px;overflow:hidden;aspect-ratio:16/9;background:#090b0e; }
.ae-project-video iframe { width:100%;height:100%; }

/* Final CTA aligned with homepage. */
.final-cta { border-top:1px solid rgba(255,255,255,.12); }
.final-cta::before { background:linear-gradient(90deg,rgba(5,6,8,.97),rgba(5,6,8,.7) 62%,rgba(5,6,8,.2)); }

@media (max-width:980px) {
	.ae22-inner-visuals__grid { grid-template-columns:1fr 1fr; }
	.ae22-inner-visual--wide { grid-column:1/-1; }
	.ae22-inner-hero__content h1 { font-size:clamp(2.55rem,7vw,4.8rem); }
}
@media (max-width:720px) {
	.ae22-inner-shell,
	.ae22-inner-page > section:not(.page-hero):not(.final-cta):not(.ae22-contact-visual),
	.site-main--fixed > section:not(.page-hero):not(.final-cta) { width:min(100% - 36px,1280px); }
	.page-hero.ae22-inner-hero { min-height:520px; }
	.ae22-inner-hero__content { width:min(100% - 36px,1280px);padding-top:130px; }
	.ae22-inner-hero__content h1 { font-size:clamp(2.25rem,11vw,3.8rem);line-height:.98; }
	.ae22-inner-visuals__grid { grid-template-columns:1fr; }
	.ae22-inner-visual--wide { grid-column:auto; }
	.ae22-inner-visual { min-height:280px; }
	.ae22-contact-visual { min-height:310px; }
	.ae22-contact-visual h2 { font-size:clamp(2rem,10vw,3.2rem); }
}

/* =========================================================
   Actioneers 2.2.2 — design polish and contrast pass
   ========================================================= */
:root {
	--ae22-panel: #12161b;
	--ae22-panel-deep: #0c0f13;
	--ae22-copy: #d7dadd;
	--ae22-copy-soft: #b8bdc2;
	--ae22-line: rgba(255,255,255,.12);
}

/* Correct hierarchy and contrast in all dark presentation bands. */
.method-band,
.ae22-inner-method,
.process-section,
.about-values,
.contact-assurances,
.section--dark,
.related-pages {
	color:#fff;
	background:
		radial-gradient(circle at 82% 18%,rgba(32,178,170,.045),transparent 22rem),
		linear-gradient(145deg,#101419,#080a0d);
}
.method-band h2,
.method-band h3,
.ae22-inner-method h2,
.ae22-inner-method h3,
.process-section h2,
.about-values h2,
.contact-assurances h2,
.section--dark h2,
.section--dark h3,
.related-pages h2 {
	color:#fff;
}
.method-band p:not(.eyebrow),
.ae22-inner-method p:not(.eyebrow),
.process-section p:not(.eyebrow),
.about-values p:not(.eyebrow),
.contact-assurances p:not(.eyebrow),
.section--dark p:not(.eyebrow),
.related-pages p:not(.eyebrow) {
	color:var(--ae22-copy);
}
.method-band .eyebrow,
.ae22-inner-method .eyebrow,
.process-section .eyebrow,
.about-values .eyebrow,
.contact-assurances .eyebrow,
.section--dark .eyebrow,
.related-pages .eyebrow {
	color:var(--ae-signal);
}
.method-band__inner {
	gap:clamp(28px,5vw,78px);
	align-items:center;
}
.method-band__inner > div { min-width:0; }
.method-band__inner > p {
	font-size:clamp(1rem,1.25vw,1.18rem);
	line-height:1.8;
}

/* Premium headings: deliberate line breaks only, never forced hyphenation. */
.ae22-inner-page h1,
.ae22-inner-page h2,
.ae22-inner-page h3,
.ae-v2-page h1,
.ae-v2-page h2,
.ae-v2-page h3 {
	hyphens:none;
	word-break:normal;
	overflow-wrap:break-word;
}

/* Cards gain a restrained premium interaction language. */
.fixed-service-card,
.project-card,
.application-service-card,
.child-card,
.related-card,
.about-nav-grid a,
.about-nav-grid--large a,
.ae-project-card,
.ae22-service-card,
.ae22-project-card {
	position:relative;
	isolation:isolate;
	transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease,background .35s ease;
}
.fixed-service-card::after,
.project-card::after,
.application-service-card::after,
.child-card::after,
.related-card::after,
.about-nav-grid a::after,
.about-nav-grid--large a::after,
.ae-project-card::after {
	content:"";
	position:absolute;
	inset:auto 0 0;
	height:3px;
	background:var(--ae-signal);
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .35s ease;
	z-index:3;
}
.fixed-service-card:hover,
.project-card:hover,
.application-service-card:hover,
.child-card:hover,
.related-card:hover,
.about-nav-grid a:hover,
.about-nav-grid--large a:hover,
.ae-project-card:hover,
.ae22-service-card:hover,
.ae22-project-card:hover {
	transform:translateY(-7px);
	box-shadow:0 24px 55px rgba(0,0,0,.34);
}
.fixed-service-card:hover::after,
.project-card:hover::after,
.application-service-card:hover::after,
.child-card:hover::after,
.related-card:hover::after,
.about-nav-grid a:hover::after,
.about-nav-grid--large a:hover::after,
.ae-project-card:hover::after { transform:scaleX(1); }

/* Clear buttons in dark content: dark at rest, signal cyan on hover. */
.ae-main-panel .wp-block-button__link,
.detail-layout__main .wp-block-button__link,
.overview-intro__content .wp-block-button__link,
.application-detail__intro .wp-block-button__link,
.project-detail__content .wp-block-button__link,
.about-detail__content .wp-block-button__link,
.page-content .wp-block-button__link,
.ae-inline-cta .wp-block-button__link {
	background:#07090b !important;
	color:#fff !important;
	border:1px solid var(--ae-signal) !important;
	box-shadow:none;
}
.ae-main-panel .wp-block-button__link:hover,
.detail-layout__main .wp-block-button__link:hover,
.overview-intro__content .wp-block-button__link:hover,
.application-detail__intro .wp-block-button__link:hover,
.project-detail__content .wp-block-button__link:hover,
.about-detail__content .wp-block-button__link:hover,
.page-content .wp-block-button__link:hover,
.ae-inline-cta .wp-block-button__link:hover {
	background:var(--ae-signal) !important;
	color:#080a0c !important;
}

/* Cinematic depth without compromising content readability. */
.ae22-inner-page,
.ae-project-single,
.ae-project-archive {
	background-color:#0b0e12;
	background-image:
		radial-gradient(circle at 85% 10%,rgba(32,178,170,.04),transparent 24rem),
		radial-gradient(circle at 8% 55%,rgba(78,94,120,.08),transparent 30rem),
		linear-gradient(180deg,#090b0e,#12161b 46%,#090b0e);
}
.ae-main-panel,
.detail-layout__main,
.overview-intro__content,
.application-detail__intro,
.project-detail__content,
.about-detail__content,
.page-content > .prose {
	background:linear-gradient(145deg,#171c22,#101419);
	border-color:var(--ae22-line);
}
.ae-main-panel p,
.ae-main-panel li,
.detail-layout__main p,
.detail-layout__main li,
.overview-intro__content p,
.application-detail__intro p,
.project-detail__content p,
.about-detail__content p,
.page-content > .prose p {
	color:var(--ae22-copy);
}

/* Project stories receive clearer editorial rhythm. */
.ae-project-single .ae-main-panel > h2,
.ae-project-single .ae-main-panel > h3 {
	margin-top:1.55em;
	padding-top:.2em;
}
.ae-project-single .ae-main-panel > h2:first-child,
.ae-project-single .ae-main-panel > h3:first-child { margin-top:0; }
.ae-project-single .ae-main-panel blockquote {
	margin:36px 0;
	padding:24px 28px;
	border-left:4px solid var(--ae-signal);
	background:#0b0e12;
	color:#fff;
}
.ae-project-single .ae-main-panel figure { margin-block:38px; }
.ae-project-single .ae-main-panel img { width:100%;height:auto; }

/* Header/footer polish. */
.site-footer {
	background:
		radial-gradient(circle at 20% 0,rgba(32,178,170,.035),transparent 22rem),
		#07090b;
	border-top:1px solid rgba(255,255,255,.12);
}
.site-footer__top { gap:clamp(34px,5vw,76px); }
.site-footer h2 { color:#fff;letter-spacing:.02em; }
.site-footer p,
.site-footer address,
.site-footer li { color:#bfc3c7; }
.site-footer a { color:#dfe1e3;transition:color .25s ease; }
.site-footer a:hover { color:var(--ae-signal); }
.site-footer__brand-contact {
	margin-top:30px;
	padding-top:26px;
	border-top:1px solid rgba(255,255,255,.12);
}
.site-footer__brand-contact .text-link { color:var(--ae-signal); }

/* Sharper, accessible focus and hover states. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline:3px solid var(--ae-signal);
	outline-offset:4px;
}

@media (max-width:980px) {
	.method-band__inner { grid-template-columns:1fr; }
	.site-footer__top { gap:42px; }
}
@media (max-width:720px) {
	.method-band__inner > p { line-height:1.7; }
	.fixed-service-card:hover,
	.project-card:hover,
	.application-service-card:hover,
	.child-card:hover,
	.related-card:hover,
	.about-nav-grid a:hover,
	.about-nav-grid--large a:hover,
	.ae-project-card:hover,
	.ae22-service-card:hover,
	.ae22-project-card:hover { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
	.fixed-service-card,
	.project-card,
	.application-service-card,
	.child-card,
	.related-card,
	.about-nav-grid a,
	.about-nav-grid--large a,
	.ae-project-card,
	.ae22-service-card,
	.ae22-project-card,
	.fixed-service-card img,
	.project-card img,
	.application-service-card img,
	.child-card img,
	.related-card img { transition:none !important; }
}

/* =========================================================
   Actioneers 2.2.3 — related services clarity pass
   ========================================================= */
.related-pages {
	padding-block:clamp(72px,8vw,118px);
	border-top:1px solid rgba(255,255,255,.08);
	border-bottom:1px solid rgba(255,255,255,.08);
}
.related-pages .section-heading {
	margin-bottom:clamp(28px,4vw,48px);
}
.related-pages .section-heading h2 {
	max-width:760px;
	font-size:clamp(2rem,3.4vw,4rem);
	line-height:1.02;
}
.related-grid--services {
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:clamp(16px,2vw,26px);
}
.related-card--service {
	min-height:0;
	display:block;
	background:#11151a;
	border:1px solid rgba(255,255,255,.12);
	border-radius:2px;
	overflow:hidden;
	color:#fff;
}
.related-card--service::after {
	display:none !important;
	content:none !important;
}
.related-card--service .related-card__media {
	position:relative;
	display:block;
	aspect-ratio:16/10;
	overflow:hidden;
	background:#080a0d;
}
.related-card--service .related-card__media::after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(4,5,6,.02),rgba(4,5,6,.42));
	pointer-events:none;
}
.related-card--service img {
	position:static;
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .45s ease,filter .35s ease;
}
.related-card--service .related-card__content {
	position:relative;
	display:flex;
	min-height:132px;
	padding:24px 24px 22px;
	flex-direction:column;
	justify-content:space-between;
	gap:20px;
	border-top:3px solid var(--ae-signal);
}
.related-card--service .related-card__content strong {
	display:block;
	font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;
	font-size:clamp(1.2rem,1.65vw,1.75rem);
	font-weight:800;
	line-height:1.08;
	text-transform:uppercase;
	hyphens:none;
	word-break:normal;
	overflow-wrap:break-word;
}
.related-card--service .related-card__content small {
	display:block;
	font-size:.78rem;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--ae-signal);
}
.related-card--service:hover,
.related-card--service:focus-visible {
	transform:translateY(-6px);
	border-color:rgba(32,178,170,.55);
	box-shadow:0 24px 54px rgba(0,0,0,.36);
}
.related-card--service:hover img,
.related-card--service:focus-visible img {
	transform:scale(1.045);
	filter:saturate(1.1) contrast(1.04);
}
.related-pages + .final-cta,
.related-pages + section {
	margin-top:0;
}
@media (max-width:1050px) {
	.related-grid--services { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
	.related-grid--services { grid-template-columns:1fr; }
	.related-card--service .related-card__content { min-height:112px; }
}


/* =========================================================
   Actioneers 2.2.4 — full-width related services section
   ========================================================= */
.site-main--fixed > .related-pages,
.related-pages {
	width:100% !important;
	max-width:none !important;
	margin-inline:0 !important;
	padding:clamp(72px,8vw,118px) 0 !important;
}
.related-pages__inner {
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px);
	margin-inline:auto;
}
.related-pages__heading {
	display:block;
	margin-bottom:clamp(32px,4vw,54px);
}
.related-pages__heading h2 {
	max-width:980px;
	font-size:clamp(2.2rem,4vw,5rem);
	line-height:.98;
}
.related-grid--services {
	display:grid;
	width:100%;
	grid-template-columns:repeat(4,minmax(220px,1fr));
	gap:clamp(18px,2vw,28px);
}
.related-card--service {
	width:100%;
	min-width:0;
}
.related-card--service .related-card__media,
.related-card--service .related-card__content {
	padding:0;
	font-size:inherit;
}
.related-card--service .related-card__media {
	aspect-ratio:4/3;
}
.related-card--service .related-card__content {
	padding:24px 24px 22px;
}
.related-card--service .related-card__content strong {
	font-size:clamp(1.15rem,1.35vw,1.55rem);
	overflow-wrap:normal;
}
.related-card--service .related-card__content small span {
	position:static;
	padding:0;
	font:inherit;
}
@media (max-width:1120px) {
	.related-grid--services { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
	.related-pages__inner { width:min(calc(100% - 36px),1280px); }
	.related-grid--services { grid-template-columns:1fr; }
	.related-card--service .related-card__media { aspect-ratio:16/10; }
}


/* =========================================================
   Actioneers 2.2.5 — full-width application expertise cards
   ========================================================= */
.site-main--fixed > .application-services,
.application-services {
	width:100% !important;
	max-width:none !important;
	margin-inline:0 !important;
	padding:clamp(72px,8vw,118px) 0 !important;
	overflow:hidden;
}
.application-services__inner {
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px);
	margin-inline:auto;
}
.application-services__heading {
	display:block !important;
	width:100%;
	margin:0 0 clamp(32px,4vw,54px) !important;
}
.application-services__heading > div { width:100%; }
.application-services__heading h2 {
	max-width:980px;
	font-size:clamp(2.2rem,4vw,5rem);
	line-height:.98;
	hyphens:none;
	word-break:normal;
	overflow-wrap:normal;
}
.application-service-grid {
	display:grid !important;
	width:100% !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:clamp(18px,2vw,28px) !important;
}
.application-service-card {
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	min-height:0 !important;
	grid-template-columns:none !important;
	grid-template-rows:none !important;
	flex-direction:column;
	overflow:hidden;
	background:#11151a;
	border:1px solid rgba(255,255,255,.13);
}
.application-service-card > img { display:none !important; }
.application-service-card__media {
	position:relative !important;
	display:block !important;
	width:100% !important;
	aspect-ratio:16/10;
	min-height:0 !important;
	overflow:hidden;
	padding:0 !important;
}
.application-service-card__media::after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(4,5,6,.02),rgba(4,5,6,.42));
	pointer-events:none;
}
.application-service-card__media img {
	position:static !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	max-width:none !important;
	object-fit:cover;
}
.application-service-card__content {
	position:relative !important;
	dis:flex !important;
	width:100% !important;
	min-height:220px;
	padding:clamp(22px,2.5vw,32px) !important;
	flex-direction:column;
	align-items:flex-start;
	gap:14px;
	border-top:3px solid var(--ae-signal);
}
.application-service-card__content h3 {
	margin:0;
	font-size:clamp(1.35rem,1.8vw,2rem) !important;
	line-height:1.05;
	hyphens:none;
	word-break:normal;
	overflow-wrap:normal;
}
.application-service-card__content p {
	margin:0;
	font-size:1rem;
	line-height:1.65;
	color:var(--ae-steel);
}
.application-service-card__content .text-link {
	position:static !important;
	dis:block !important;
	margin-top:auto;
	padding:0 !important;
	font-size:.78rem !important;
	font-weight:800;
	line-height:1.2;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--ae-signal);
}
@media (max-width:1050px) {
	.application-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:680px) {
	.application-services__inner { width:min(calc(100% - 36px),1280px); }
	.application-service-grid { grid-template-columns:1fr !important; }
	.application-services__heading h2 { font-size:clamp(2rem,10vw,3.4rem); }
	.application-service-card__content { min-height:0; }
}

/* v2.2.6 — full-width, useful placeholder portfolio when no projects exist yet. */
.projects-overview .project-archive-section {
	padding-block: clamp(72px, 8vw, 118px);
}

.projects-overview .project-placeholder-intro,
.projects-overview .project-placeholder-grid,
.projects-overview .project-placeholder-cta {
	width: min(1280px, calc(100% - 48px));
	margin-inline: auto;
}

.projects-overview .project-placeholder-intro {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(300px, 0.55fr);
	gap: clamp(34px, 7vw, 110px);
	align-items: end;
	margin-bottom: clamp(40px, 5vw, 72px);
}

.projects-overview .project-placeholder-intro > * {
	min-width: 0;
}

.projects-overview .project-placeholder-intro h2 {
	max-width: 820px;
	margin: 10px 0 0;
	color: #fff;
	font-size: clamp(2.5rem, 4.25vw, 5rem);
	line-height: 0.98;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.projects-overview .project-placeholder-intro > p {
	max-width: 540px;
	margin: 0;
	color: rgba(255,255,255,.72);
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	line-height: 1.75;
}

.projects-overview .project-placeholder-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
}

.projects-overview .project-placeholder-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.13);
	background: #111417;
	box-shadow: 0 20px 55px rgba(0,0,0,.22);
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.projects-overview .project-placeholder-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	z-index: 3;
	background: var(--ae-signal);
}

.projects-overview .project-placeholder-card:hover {
	transform: translateY(-7px);
	border-color: rgba(225,255,0,.72);
	box-shadow: 0 28px 70px rgba(0,0,0,.38);
}

.projects-overview .project-placeholder-card > img {
	position: static;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .45s ease;
}

.projects-overview .project-placeholder-card:hover > img {
	transform: scale(1.035);
}

.projects-overview .project-placeholder-card > div {
	position: static;
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(22px, 2.3vw, 32px);
}

.projects-overview .project-placeholder-card span,
.projects-overview .project-placeholder-card small {
	color: var(--ae-signal);
	font-size: .69rem;
	font-weight: 900;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.projects-overview .project-placeholder-card h3 {
	margin: 13px 0 14px;
	color: #fff;
	font-size: clamp(1.35rem, 1.7vw, 2rem);
	line-height: 1.08;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.projects-overview .project-placeholder-card p {
	margin: 0 0 24px;
	color: rgba(255,255,255,.68);
	font-size: .96rem;
	line-height: 1.65;
}

.projects-overview .project-placeholder-card small {
	margin-top: auto;
}

.projects-overview .project-placeholder-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-top: clamp(34px, 5vw, 62px);
	padding-top: clamp(26px, 3vw, 38px);
	border-top: 1px solid rgba(255,255,255,.14);
}

.projects-overview .project-placeholder-cta p {
	max-width: 680px;
	margin: 0;
	color: #fff;
	font-size: clamp(1.08rem, 1.7vw, 1.45rem);
	font-weight: 700;
}

@media (max-width: 1100px) {
	.projects-overview .project-placeholder-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.projects-overview .project-placeholder-intro {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.projects-overview .project-placeholder-grid {
		grid-template-columns: 1fr;
	}

	.projects-overview .project-placeholder-card > img {
		aspect-ratio: 16 / 10;
	}

	.projects-overview .project-placeholder-cta {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 520px) {
	.projects-overview .project-placeholder-intro,
	.projects-overview .project-placeholder-grid,
	.projects-overview .project-placeholder-cta {
		width: min(100% - 30px, 1280px);
	}

	.projects-overview .project-placeholder-intro h2 {
		font-size: clamp(2.2rem, 12vw, 3.6rem);
	}

	.projects-overview .project-placeholder-cta .button {
		width: 100%;
		justify-content: center;
	}
}

/* =========================================================
   Actioneers 2.2.7 — About page full-width foundation section
   ========================================================= */
.about-overview .about-values {
	box-sizing:border-box;
	width:100% !important;
	max-width:none !important;
	margin-inline:0 !important;
	padding:clamp(76px,8vw,124px) 0 !important;
	overflow:hidden;
}

.about-overview .about-values .confidence-heading,
.about-overview .about-values .confidence-grid {
	box-sizing:border-box;
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px) !important;
	max-width:1280px !important;
	margin-inline:auto !important;
}

.about-overview .about-values .confidence-heading {
	display:block !important;
	margin-bottom:clamp(36px,5vw,64px) !important;
}

.about-overview .about-values .confidence-heading .eyebrow {
	display:block;
	width:auto !important;
	max-width:none !important;
	margin:0 0 18px !important;
	white-space:normal;
}

.about-overview .about-values .confidence-heading h2 {
	display:block !important;
	width:min(100%,980px) !important;
	max-width:980px !important;
	margin:0 !important;
	color:#fff;
	font-size:clamp(2.3rem,4.15vw,5rem) !important;
	line-height:.98 !important;
	letter-spacing:-.025em;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:normal !important;
	hyphens:none !important;
	text-wrap:balance;
}

.about-overview .about-values .confidence-grid {
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:clamp(18px,2vw,28px) !important;
	border:0 !important;
}

.about-overview .about-values .confidence-grid article {
	box-sizing:border-box;
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	min-height:300px !important;
	padding:clamp(28px,3vw,42px) !important;
	flex-direction:column;
	align-items:flex-start;
	justify-content:flex-start;
	border:1px solid rgba(255,255,255,.13) !important;
	border-top:4px solid var(--ae-signal) !important;
	background:linear-gradient(150deg,#15191e,#0e1115) !important;
	box-shadow:0 22px 58px rgba(0,0,0,.24);
	overflow:hidden;
}

.about-overview .about-values .confidence-grid article > span {
	display:block !important;
	width:auto !important;
	max-width:none !important;
	margin:0 0 clamp(44px,5vw,72px) !important;
	padding:0 !important;
	color:var(--ae-signal);
	font-size:.74rem !important;
	font-weight:900;
	line-height:1;
	letter-spacing:.15em;
	white-space:nowrap;
}

.about-overview .about-values .confidence-grid h3 {
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	margin:0 0 16px !important;
	color:#fff;
	font-size:clamp(1.55rem,2vw,2.25rem) !important;
	line-height:1.03 !important;
	letter-spacing:-.015em;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:normal !important;
	hyphens:none !important;
}

.about-overview .about-values .confidence-grid p {
	display:block !important;
	width:100% !important;
	max-width:440px !important;
	margin:0 !important;
	color:var(--ae22-copy) !important;
	font-size:1rem;
	line-height:1.7;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
}

@media (max-width:980px) {
	.about-overview .about-values .confidence-grid {
		grid-template-columns:1fr !important;
	}
	.about-overview .about-values .confidence-grid article {
		min-height:0 !important;
	}
	.about-overview .about-values .confidence-grid article > span {
		margin-bottom:34px !important;
	}
}

@media (max-width:620px) {
	.about-overview .about-values .confidence-heading,
	.about-overview .about-values .confidence-grid {
		width:min(calc(100% - 32px),1280px) !important;
	}
	.about-overview .about-values .confidence-heading h2 {
		font-size:clamp(2rem,10vw,3.45rem) !important;
		text-wrap:pretty;
	}
}

/* =========================================================
   Actioneers 2.2.8 — About detail navigation reset
   ========================================================= */
.about-navigation.ae22-inner-section {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(76px, 8vw, 122px) 0 !important;
	overflow: hidden;
	background: linear-gradient(180deg, #0d1014 0%, #101419 100%) !important;
}

.about-navigation.ae22-inner-section > .section-heading,
.about-navigation.ae22-inner-section > .about-nav-grid {
	box-sizing: border-box;
	width: min(calc(100% - clamp(40px, 7vw, 112px)), 1280px) !important;
	max-width: 1280px !important;
	margin-inline: auto !important;
}

.about-navigation.ae22-inner-section > .section-heading {
	display: block !important;
	margin-bottom: clamp(34px, 5vw, 62px) !important;
}

.about-navigation.ae22-inner-section .section-heading > div {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}

.about-navigation.ae22-inner-section .eyebrow {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 0 16px !important;
	color: var(--ae-signal) !important;
	white-space: normal !important;
}

.about-navigation.ae22-inner-section .section-heading h2 {
	display: block !important;
	width: min(100%, 980px) !important;
	max-width: 980px !important;
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(2.25rem, 4.25vw, 5.25rem) !important;
	line-height: .98 !important;
	letter-spacing: -.025em !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

.about-navigation.ae22-inner-section .about-nav-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(18px, 2vw, 28px) !important;
	border: 0 !important;
	padding: 0 !important;
}

.about-navigation.ae22-inner-section .about-nav-grid > a {
	box-sizing: border-box;
	position: relative !important;
	display: flex !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 190px !important;
	margin: 0 !important;
	padding: clamp(26px, 3vw, 38px) !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 20px !important;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	border-top: 4px solid var(--ae-signal) !important;
	background: linear-gradient(145deg, #171b20 0%, #101317 100%) !important;
	color: #fff !important;
	box-shadow: 0 20px 52px rgba(0, 0, 0, .24) !important;
	overflow: hidden !important;
	text-decoration: none !important;
}

.about-navigation.ae22-inner-section .about-nav-grid > a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, transparent 50%, rgba(223, 255, 0, .06));
	pointer-events: none;
}

.about-navigation.ae22-inner-section .about-nav-grid > a::after {
	display: none !important;
	content: none !important;
}

.about-navigation.ae22-inner-section .about-nav-grid > a > span {
	position: relative;
	z-index: 1;
	display: block !important;
	width: auto !important;
	max-width: calc(100% - 48px) !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: clamp(1.35rem, 1.9vw, 2rem) !important;
	font-weight: 800 !important;
	line-height: 1.06 !important;
	letter-spacing: -.015em !important;
	text-transform: uppercase !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	hyphens: none !important;
}

.about-navigation.ae22-inner-section .about-nav-grid > a > b {
	position: relative;
	z-index: 1;
	display: block !important;
	flex: 0 0 auto;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--ae-signal) !important;
	font-size: 1.45rem !important;
	line-height: 1 !important;
}

.about-navigation.ae22-inner-section .about-nav-grid > a:hover,
.about-navigation.ae22-inner-section .about-nav-grid > a:focus-visible {
	transform: translateY(-5px) !important;
	border-color: rgba(223, 255, 0, .55) !important;
	background: linear-gradient(145deg, #1b2025 0%, #12161a 100%) !important;
	box-shadow: 0 28px 64px rgba(0, 0, 0, .34) !important;
}

@media (max-width: 980px) {
	.about-navigation.ae22-inner-section .about-nav-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 680px) {
	.about-navigation.ae22-inner-section > .section-heading,
	.about-navigation.ae22-inner-section > .about-nav-grid {
		width: min(calc(100% - 32px), 1280px) !important;
	}
	.about-navigation.ae22-inner-section .about-nav-grid {
		grid-template-columns: 1fr !important;
	}
	.about-navigation.ae22-inner-section .about-nav-grid > a {
		min-height: 150px !important;
	}
	.about-navigation.ae22-inner-section .section-heading h2 {
		font-size: clamp(2rem, 10vw, 3.4rem) !important;
		text-wrap: pretty;
	}
}

/* =========================================================
   Actioneers 2.2.9 — consolidated inner-page layout audit
   This final scoped layer neutralises legacy card/grid rules.
   ========================================================= */
:where(.services-overview,.applications-overview,.projects-overview,.about-overview,.site-main--fixed) *,
:where(.services-overview,.applications-overview,.projects-overview,.about-overview,.site-main--fixed) *::before,
:where(.services-overview,.applications-overview,.projects-overview,.about-overview,.site-main--fixed) *::after {
	box-sizing:border-box;
}

/* Shared full-width sections and readable intro rows. */
:where(.services-overview,.applications-overview,.projects-overview,.about-overview) > section:not(.page-hero):not(.final-cta) {
	max-width:none;
}
:where(.services-overview,.applications-overview,.projects-overview) .overview-intro,
.about-overview .about-intro {
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px) !important;
	max-width:1280px !important;
	margin-inline:auto !important;
	grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr) !important;
	gap:clamp(28px,5vw,76px) !important;
}
:where(.services-overview,.applications-overview,.projects-overview) .overview-intro__content,
.about-overview .about-intro__content {
	min-width:0 !important;
	max-width:760px !important;
}
:where(.services-overview,.applications-overview,.projects-overview) .overview-intro__content > :first-child,
.about-overview .about-intro__content > :first-child { margin-top:0; }
:where(.services-overview,.applications-overview,.projects-overview) .overview-intro__content > :last-child,
.about-overview .about-intro__content > :last-child { margin-bottom:0; }

/* Projects overview: one clean portfolio layer only. */
.projects-overview .project-archive-section {
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:clamp(72px,8vw,118px) 0 !important;
	overflow:hidden;
}
.projects-overview .project-card-grid,
.projects-overview .project-placeholder-grid {
	display:grid !important;
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px) !important;
	max-width:1280px !important;
	margin-inline:auto !important;
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	gap:clamp(18px,2vw,28px) !important;
}
.projects-overview :is(.project-card,.project-placeholder-card) {
	position:relative !important;
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	min-height:100% !important;
	flex-direction:column !important;
	grid-template:none !important;
	margin:0 !important;
	padding:0 !important;
	overflow:hidden !important;
	background:#11151a !important;
	border:1px solid rgba(255,255,255,.13) !important;
}
.projects-overview :is(.project-card,.project-placeholder-card) > img {
	position:static !important;
	display:block !important;
	width:100% !important;
	height:auto !important;
	max-width:none !important;
	aspect-ratio:4/3 !important;
	object-fit:cover !important;
	margin:0 !important;
}
.projects-overview :is(.project-card,.project-placeholder-card) > div {
	position:static !important;
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	flex:1 !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	padding:clamp(22px,2.3vw,32px) !important;
	background:transparent !important;
}
.projects-overview :is(.project-card,.project-placeholder-card) :is(h2,h3,p,span,small) {
	position:static !important;
	width:auto !important;
	max-width:100% !important;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
	hyphens:none !important;
}
.projects-overview .project-placeholder-intro,
.projects-overview .project-placeholder-cta {
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px) !important;
	max-width:1280px !important;
	margin-inline:auto !important;
}

/* Services detail: reliable four-card related grid. */
.related-pages .related-grid--services {
	display:grid !important;
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	gap:clamp(18px,2vw,28px) !important;
}
.related-pages .related-card--service {
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	flex-direction:column !important;
	grid-template:none !important;
	padding:0 !important;
	overflow:hidden !important;
}
.related-pages .related-card--service > * { min-width:0 !important; }
.related-pages .related-card--service .related-card__media {
	position:relative !important;
	display:block !important;
	width:100% !important;
	aspect-ratio:4/3 !important;
	padding:0 !important;
	overflow:hidden !important;
}
.related-pages .related-card--service .related-card__media img {
	position:static !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}
.related-pages .related-card--service .related-card__content {
	position:static !important;
	display:flex !important;
	width:100% !important;
	min-height:150px !important;
	padding:24px !important;
	flex-direction:column !important;
	align-items:flex-start !important;
}
.related-pages .related-card--service :is(strong,small,span) {
	position:static !important;
	width:auto !important;
	max-width:100% !important;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
}

/* Application detail: stable three-card expertise grid. */
.application-services .application-service-grid {
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:clamp(18px,2vw,28px) !important;
}
.application-services .application-service-card {
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	flex-direction:column !important;
	grid-template:none !important;
	padding:0 !important;
}
.application-services .application-service-card__media {
	position:relative !important;
	display:block !important;
	width:100% !important;
	aspect-ratio:16/10 !important;
	padding:0 !important;
	overflow:hidden !important;
}
.application-services .application-service-card__media img {
	position:static !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}
.application-services .application-service-card__content {
	position:static !important;
	display:flex !important;
	width:100% !important;
	min-height:220px !important;
	padding:clamp(22px,2.5vw,32px) !important;
	flex-direction:column !important;
	align-items:flex-start !important;
}
.application-services .application-service-card__content :is(h3,p,span) {
	position:static !important;
	width:auto !important;
	max-width:100% !important;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
	hyphens:none !important;
}

/* About overview and detail navigation: no inherited vertical card layout. */
.about-overview .confidence-grid,
.about-navigation .about-nav-grid,
.about-overview .about-nav-grid--large {
	display:grid !important;
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px) !important;
	max-width:1280px !important;
	margin-inline:auto !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:clamp(18px,2vw,28px) !important;
}
.about-navigation .about-nav-grid > a,
.about-overview .about-nav-grid--large > a {
	position:relative !important;
	display:flex !important;
	width:100% !important;
	min-width:0 !important;
	min-height:150px !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:20px !important;
	padding:clamp(24px,3vw,36px) !important;
	background:#15191e !important;
	border:1px solid rgba(255,255,255,.13) !important;
	border-top:4px solid var(--ae-signal) !important;
	overflow:hidden !important;
}
.about-navigation .about-nav-grid > a :is(span,b),
.about-overview .about-nav-grid--large > a :is(span,b) {
	position:static !important;
	display:block !important;
	width:auto !important;
	max-width:100% !important;
	padding:0 !important;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
	hyphens:none !important;
}
.about-navigation .about-nav-grid > a span,
.about-overview .about-nav-grid--large > a span {
	color:#fff !important;
	font-size:clamp(1.25rem,1.8vw,1.8rem) !important;
	font-weight:800 !important;
	line-height:1.08 !important;
}
.about-navigation .about-nav-grid > a b,
.about-overview .about-nav-grid--large > a b {
	flex:0 0 auto !important;
	color:var(--ae-signal) !important;
	font-size:1.35rem !important;
}

/* Headings never become narrow vertical strips. */
:where(.related-pages,.application-services,.about-navigation,.about-values,.project-archive-section) :is(.section-heading,.confidence-heading) {
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px) !important;
	max-width:1280px !important;
	margin-inline:auto !important;
}
:where(.related-pages,.application-services,.about-navigation,.about-values,.project-archive-section) :is(.section-heading h2,.confidence-heading h2) {
	display:block !important;
	width:min(100%,980px) !important;
	max-width:980px !important;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
	hyphens:none !important;
}

@media (max-width:1100px) {
	.projects-overview .project-card-grid,
	.projects-overview .project-placeholder-grid,
	.related-pages .related-grid--services,
	.application-services .application-service-grid,
	.about-overview .confidence-grid,
	.about-navigation .about-nav-grid,
	.about-overview .about-nav-grid--large {
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
}
@media (max-width:760px) {
	:where(.services-overview,.applications-overview,.projects-overview) .overview-intro,
	.about-overview .about-intro {
		width:min(calc(100% - 32px),1280px) !important;
		grid-template-columns:1fr !important;
	}
	.projects-overview .project-card-grid,
	.projects-overview .project-placeholder-grid,
	.related-pages .related-grid--services,
	.application-services .application-service-grid,
	.about-overview .confidence-grid,
	.about-navigation .about-nav-grid,
	.about-overview .about-nav-grid--large {
		width:min(calc(100% - 32px),1280px) !important;
		grid-template-columns:1fr !important;
	}
	.projects-overview :is(.project-card,.project-placeholder-card) > img,
	.related-pages .related-card--service .related-card__media,
	.application-services .application-service-card__media {
		aspect-ratio:16/10 !important;
	}
}

/* v2.2.10 — final Over Actioneers overview correction */
.about-overview .about-sections {
  width:100% !important;
  max-width:none !important;
  padding-inline:0 !important;
}
.about-overview .about-sections .section-heading,
.about-overview .about-sections .about-nav-grid--large {
  width:min(calc(100% - clamp(40px,7vw,112px)),1280px) !important;
  max-width:1280px !important;
  margin-inline:auto !important;
}
.about-overview .about-sections .about-nav-grid--large {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(18px,2vw,28px) !important;
}
.about-overview .about-sections .about-nav-grid--large > a {
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  min-width:0 !important;
  min-height:245px !important;
  padding:clamp(24px,2.5vw,34px) !important;
  background:linear-gradient(155deg,#181d22 0%,#101317 100%) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-top:4px solid var(--ae-signal) !important;
  overflow:hidden !important;
  text-decoration:none !important;
}
.about-overview .about-sections .about-nav-grid--large > a span {
  display:block !important;
  width:100% !important;
  color:#fff !important;
  font-size:clamp(1.25rem,1.55vw,1.65rem) !important;
  font-weight:800 !important;
  line-height:1.12 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
}
.about-overview .about-sections .about-nav-grid--large > a p {
  position:static !important;
  display:block !important;
  width:100% !important;
  margin:18px 0 30px !important;
  color:#c9ced4 !important;
  font-size:.98rem !important;
  line-height:1.65 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
}
.about-overview .about-sections .about-nav-grid--large > a b {
  position:static !important;
  display:block !important;
  width:auto !important;
  margin-top:auto !important;
  color:var(--ae-signal) !important;
  font-size:1.35rem !important;
}
.about-overview .about-sections .about-nav-grid--large > a:hover {
  transform:translateY(-5px) !important;
  border-color:rgba(32,178,170,.55) !important;
}
@media (max-width:1100px) {
  .about-overview .about-sections .about-nav-grid--large {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:680px) {
  .about-overview .about-sections .section-heading,
  .about-overview .about-sections .about-nav-grid--large {
    width:min(calc(100% - 32px),1280px) !important;
  }
  .about-overview .about-sections .about-nav-grid--large {
    grid-template-columns:1fr !important;
  }
  .about-overview .about-sections .about-nav-grid--large > a {
    min-height:0 !important;
  }
}

/* v2.2.11 — stable 'Vertrouwd door' section on Over Actioneers */
.about-overview .about-clients {
	box-sizing:border-box !important;
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:clamp(68px,8vw,112px) 0 !important;
	background:#f2f0eb !important;
	color:#15171b !important;
	overflow:hidden !important;
}
.about-overview .about-clients .section-heading,
.about-overview .about-clients .client-list {
	box-sizing:border-box !important;
	width:min(calc(100% - clamp(40px,7vw,112px)),1280px) !important;
	max-width:1280px !important;
	margin-inline:auto !important;
}
.about-overview .about-clients .section-heading {
	display:block !important;
	margin-bottom:clamp(32px,4vw,54px) !important;
}
.about-overview .about-clients .section-heading > div {
	display:block !important;
	width:100% !important;
	max-width:900px !important;
}
.about-overview .about-clients .eyebrow {
	margin:0 0 14px !important;
	color:#0F766E !important;
}
.about-overview .about-clients .section-heading h2 {
	display:block !important;
	width:100% !important;
	max-width:900px !important;
	margin:0 !important;
	color:#15171b !important;
	font-size:clamp(2rem,3.5vw,4rem) !important;
	line-height:1.02 !important;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
	hyphens:none !important;
}
.about-overview .about-clients .client-list {
	display:grid !important;
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	gap:1px !important;
	padding:1px !important;
	border:0 !important;
	background:rgba(21,23,27,.16) !important;
}
.about-overview .about-clients .client-list > .client-item {
	position:static !important;
	display:flex !important;
	box-sizing:border-box !important;
	width:100% !important;
	min-width:0 !important;
	min-height:132px !important;
	margin:0 !important;
	padding:clamp(20px,2.5vw,32px) !important;
	align-items:center !important;
	justify-content:center !important;
	border:0 !important;
	background:#fff !important;
	color:#20242a !important;
	font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif !important;
	font-size:clamp(1rem,1.45vw,1.35rem) !important;
	font-weight:800 !important;
	line-height:1.15 !important;
	letter-spacing:.01em !important;
	text-align:center !important;
	text-transform:uppercase !important;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:break-word !important;
	hyphens:none !important;
	overflow:hidden !important;
}
.about-overview .about-clients .client-item img {
	position:static !important;
	display:block !important;
	width:auto !important;
	height:auto !important;
	max-width:min(180px,88%) !important;
	max-height:64px !important;
	margin:auto !important;
	padding:0 !important;
	object-fit:contain !important;
	filter:none !important;
	opacity:1 !important;
	transition:filter .18s ease,opacity .18s ease,transform .18s ease !important;
}
.about-overview .about-clients .client-item:hover img {
	filter:none !important;
	opacity:1 !important;
	transform:scale(1.035) !important;
}
@media (max-width:1050px) {
	.about-overview .about-clients .client-list {
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	}
}
@media (max-width:760px) {
	.about-overview .about-clients .section-heading,
	.about-overview .about-clients .client-list {
		width:min(calc(100% - 32px),1280px) !important;
	}
	.about-overview .about-clients .client-list {
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
	.about-overview .about-clients .client-list > .client-item {
		min-height:105px !important;
		padding:18px !important;
	}
}
@media (max-width:460px) {
	.about-overview .about-clients .client-list {
		grid-template-columns:1fr !important;
	}
}


/* v2.2.12 — configurable four-column footer. */
.site-footer__top {
	display:grid;
	grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(170px,1fr));
	gap:clamp(34px,4.5vw,72px);
	align-items:start;
}
.site-footer__column,
.site-footer__brand { min-width:0; }
.site-footer__column .footer-menu {
	display:block;
	columns:auto;
}
.site-footer__column .footer-menu li,
.site-footer__column .footer-menu li + li { margin:0 0 10px;break-inside:avoid; }
.site-footer__column .footer-menu a { display:inline-block;line-height:1.45; }
.site-footer__legal { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 22px; }
.site-footer__legal a { font-size:inherit; }
@media (max-width:1100px) {
	.site-footer__top { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.site-footer__brand { grid-column:1 / -1; }
}
@media (max-width:720px) {
	.site-footer__top { grid-template-columns:1fr; }
	.site-footer__brand { grid-column:auto; }
	.site-footer__legal { justify-content:flex-start; }
}


/* ==========================================================================\n   Actioneers 2.3 — Component Cleanup\n   One predictable container, grid, card and button system. These rules are\n   deliberately isolated from legacy component selectors.\n   ========================================================================== */
:root {
  --ae23-container: min(1280px, calc(100vw - 48px));
  --ae23-container-narrow: min(920px, calc(100vw - 48px));
  --ae23-gap: clamp(18px, 2.2vw, 30px);
  --ae23-radius: 0px;
  --ae23-panel: #11151a;
  --ae23-panel-2: #171c22;
  --ae23-text: #ffffff;
  --ae23-muted: rgba(255,255,255,.72);
  --ae23-line: rgba(255,255,255,.14);
  --ae23-signal: var(--ae-signal, #20B2AA);
}

.ae23-section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(76px, 8vw, 128px) 0;
  overflow: clip;
}

.ae23-section > .ae23-section-heading,
.ae23-section > .ae23-grid {
  width: var(--ae23-container);
  max-width: var(--ae23-container);
  margin-inline: auto;
}

.ae23-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: clamp(34px, 4vw, 56px);
}

.ae23-section-heading > div {
  width: min(900px, 100%);
  min-width: 0;
}

.ae23-section-heading h2 {
  max-width: 900px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.25rem, 4.25vw, 5rem);
  line-height: .98;
  letter-spacing: -.045em;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.ae23-grid {
  display: grid !important;
  grid-auto-flow: row !important;
  gap: var(--ae23-gap) !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

.ae23-grid--services {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.ae23-card,
.ae23-card:nth-child(n) {
  position: relative !important;
  inset: auto !important;
  grid-column: span 2 !important;
  display: grid !important;
  grid-template-rows: minmax(250px, 17vw) 1fr !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--ae23-line) !important;
  border-top: 3px solid var(--ae23-signal) !important;
  background: var(--ae23-panel) !important;
  color: var(--ae23-text) !important;
  text-decoration: none !important;
  transform: none;
  isolation: isolate;
}

.ae23-card:nth-child(4),
.ae23-card:nth-child(5) {
  grid-column: span 3 !important;
}

.ae23-card::before,
.ae23-card::after {
  content: none !important;
  display: none !important;
}

.ae23-card > img {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 250px !important;
  object-fit: cover !important;
  aspect-ratio: auto !important;
  filter: saturate(.92) contrast(1.04);
  transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.ae23-card__body {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: clamp(26px, 2.6vw, 38px) !important;
  background: linear-gradient(145deg, var(--ae23-panel-2), var(--ae23-panel)) !important;
}

.ae23-card__index {
  display: block !important;
  margin: 0 0 22px !important;
  color: var(--ae23-signal) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
}

.ae23-card__title {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 16px !important;
  color: #fff !important;
  font-size: clamp(1.55rem, 2vw, 2.2rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

.ae23-card__text {
  width: 100% !important;
  max-width: 56ch !important;
  margin: 0 0 24px !important;
  color: var(--ae23-muted) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.ae23-card__link {
  display: inline-flex !important;
  margin-top: auto !important;
  color: var(--ae23-signal) !important;
  font-size: .75rem !important;
  font-weight: 900 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.ae23-card:hover,
.ae23-card:focus-visible {
  border-color: rgba(32,178,170,.58) !important;
  box-shadow: 0 26px 60px rgba(0,0,0,.34) !important;
  transform: translateY(-6px) !important;
}

.ae23-card:hover > img,
.ae23-card:focus-visible > img {
  transform: scale(1.035) !important;
  filter: saturate(1.08) contrast(1.04) !important;
}

/* Generic safety net for all current overview grids. */
.fixed-service-grid,
.application-service-grid,
.project-card-grid,
.child-grid,
.about-nav-grid,
.about-nav-grid--large,
.ae-project-grid,
.ae-client-grid {
  min-width: 0;
  max-width: 100%;
}

.fixed-service-grid > *,
.application-service-grid > *,
.project-card-grid > *,
.child-grid > *,
.about-nav-grid > *,
.about-nav-grid--large > *,
.ae-project-grid > *,
.ae-client-grid > * {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 1100px) {
  .ae23-grid--services { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ae23-card:nth-child(n) { grid-column: auto !important; }
  .ae23-card:last-child { grid-column: 1 / -1 !important; }
}

@media (max-width: 700px) {
  :root {
    --ae23-container: min(100% - 28px, 1280px);
    --ae23-container-narrow: min(100% - 28px, 920px);
  }
  .ae23-section-heading h2 { font-size: clamp(2rem, 11vw, 3.2rem); }
  .ae23-grid--services { grid-template-columns: 1fr !important; }
  .ae23-card:nth-child(n) { grid-column: auto !important; }
  .ae23-card { grid-template-rows: 230px 1fr !important; }
  .ae23-card > img { min-height: 230px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ae23-card,
  .ae23-card > img { transition: none !important; }
  .ae23-card:hover,
  .ae23-card:focus-visible { transform: none !important; }
}

/* ==========================================================
   v3.1.1 — Managed atmosphere-image components
   ========================================================== */
.ae-atmosphere{position:relative;isolation:isolate;overflow:hidden;padding:clamp(72px,8vw,132px) 0;background:#111316;color:#fff}.ae-atmosphere__shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}.ae-atmosphere__heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(30px,5vw,80px);align-items:end;margin-bottom:clamp(30px,4vw,58px)}.ae-atmosphere__heading .eyebrow{grid-column:1/-1;margin:0 0 -20px;color:#20B2AA}.ae-atmosphere__heading h2{margin:0;color:#fff;font-size:clamp(2.15rem,4vw,4.8rem);line-height:.98;letter-spacing:-.04em;overflow-wrap:normal;word-break:normal;hyphens:none}.ae-atmosphere__heading>p:last-child{margin:0;color:#c8cbd0;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.75}.ae-atmosphere__grid{display:grid;gap:clamp(12px,1.5vw,22px)}.ae-atmosphere__item{position:relative;margin:0;overflow:hidden;background:#25282d;min-width:0}.ae-atmosphere__item::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28))}.ae-atmosphere__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease}.ae-atmosphere__item:hover img{transform:scale(1.035);filter:saturate(1.08)}
/* Services: asymmetric engineering mosaic. */
.ae-atmosphere--service{background:radial-gradient(circle at 10% 15%,rgba(32,178,170,.09),transparent 26%),#111316}.ae-atmosphere--service .ae-atmosphere__grid{grid-template-columns:1.45fr .7fr .85fr;grid-template-rows:repeat(2,minmax(190px,24vw));}.ae-atmosphere--service .ae-atmosphere__item--1{grid-row:1/3}.ae-atmosphere--service .ae-atmosphere__item--2{grid-column:2/4}.ae-atmosphere--service .ae-atmosphere__item--3{grid-column:2}.ae-atmosphere--service .ae-atmosphere__item--4{grid-column:3}.ae-atmosphere--service .ae-atmosphere__item--1,.ae-atmosphere--service .ae-atmosphere__item--4{clip-path:polygon(0 0,100% 0,100% 92%,0 100%)}
/* Applications: offset editorial frames. */
.ae-atmosphere--application{background:linear-gradient(135deg,#17191d,#0d0f12)}.ae-atmosphere--application .ae-atmosphere__grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(110px,8vw);gap:clamp(14px,2vw,28px)}.ae-atmosphere--application .ae-atmosphere__item--1{grid-column:1/8;grid-row:1/5}.ae-atmosphere--application .ae-atmosphere__item--2{grid-column:8/13;grid-row:1/4;transform:translateY(28px)}.ae-atmosphere--application .ae-atmosphere__item--3{grid-column:2/6;grid-row:5/8;transform:translateY(-12px)}.ae-atmosphere--application .ae-atmosphere__item--4{grid-column:6/13;grid-row:4/8}.ae-atmosphere--application .ae-atmosphere__item{border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 70px rgba(0,0,0,.24)}
/* Projects: cinematic filmstrip. */
.ae-atmosphere--project{background:#0b0d10;border-block:1px solid rgba(255,255,255,.07)}.ae-atmosphere--project .ae-atmosphere__shell{width:min(1480px,calc(100% - 40px))}.ae-atmosphere--project .ae-atmosphere__heading{width:min(1280px,100%);margin-inline:auto}.ae-atmosphere--project .ae-atmosphere__grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.ae-atmosphere--project .ae-atmosphere__item{aspect-ratio:3/4}.ae-atmosphere--project .ae-atmosphere__item:nth-child(even){transform:translateY(28px)}.ae-atmosphere--project .ae-atmosphere__item:nth-child(odd){transform:translateY(-12px)}
@media(max-width:900px){.ae-atmosphere__heading{grid-template-columns:1fr}.ae-atmosphere__heading .eyebrow{margin-bottom:-12px}.ae-atmosphere--service .ae-atmosphere__grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 230px 230px}.ae-atmosphere--service .ae-atmosphere__item--1{grid-column:1/3;grid-row:1}.ae-atmosphere--service .ae-atmosphere__item--2{grid-column:1;grid-row:2}.ae-atmosphere--service .ae-atmosphere__item--3{grid-column:2;grid-row:2}.ae-atmosphere--service .ae-atmosphere__item--4{grid-column:1/3;grid-row:3}.ae-atmosphere--application .ae-atmosphere__grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.ae-atmosphere--application .ae-atmosphere__item{grid-column:auto!important;grid-row:auto!important;transform:none!important}.ae-atmosphere--project .ae-atmosphere__grid{grid-template-columns:1fr 1fr}.ae-atmosphere--project .ae-atmosphere__item{aspect-ratio:4/3;transform:none!important}}
@media(max-width:620px){.ae-atmosphere{padding:64px 0}.ae-atmosphere__shell,.ae-atmosphere--project .ae-atmosphere__shell{width:min(100% - 28px,1280px)}.ae-atmosphere__heading h2{font-size:clamp(2rem,11vw,3.2rem)}.ae-atmosphere--service .ae-atmosphere__grid,.ae-atmosphere--application .ae-atmosphere__grid,.ae-atmosphere--project .ae-atmosphere__grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto}.ae-atmosphere--service .ae-atmosphere__item,.ae-atmosphere--application .ae-atmosphere__item,.ae-atmosphere--project .ae-atmosphere__item{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/3;clip-path:none;transform:none!important}}
@media(prefers-reduced-motion:reduce){.ae-atmosphere__item img{transition:none}.ae-atmosphere__item:hover img{transform:none}}

/* Actioneers Contactaanvragen integration (v3.1.2) */
.contact-panel--request .ae-contact-shell--embedded,
.contact-panel--request .ae-contact-shell--embedded .ae-contact-card {
	width: 100%;
	max-width: none;
	margin: 0;
}
.contact-panel--request .ae-contact-shell--embedded .ae-form-footer button {
	white-space: nowrap;
}
@media (max-width: 600px) {
	.contact-panel--request .ae-contact-shell--embedded .ae-form-footer button {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ae22-hero__video { display:none; }
}

/* ==========================================================
   v3.2.0 — Spectaculaire Branding
   ========================================================== */
.ae-branding-shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}.ae-branding-intro{width:var(--ae-wide);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.7fr);gap:clamp(54px,9vw,140px);align-items:start;padding:clamp(80px,9vw,140px) 0;color:var(--ae-ink)}.ae-branding-intro__copy.prose{width:100%}.ae-branding-intro__copy.prose>p:not(.eyebrow):first-of-type{font-size:clamp(1.3rem,2vw,1.78rem);font-weight:700;line-height:1.52;color:#14171b}.ae-branding-intro__statement{position:sticky;top:calc(var(--ae-header-height) + 34px);padding:clamp(34px,4vw,54px);border-top:5px solid var(--ae-signal);background:#111419;color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.16)}.ae-branding-intro__statement>span{display:block;margin-bottom:22px;color:var(--ae-signal);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.ae-branding-intro__statement h2{margin:0 0 20px;color:#fff;font-size:clamp(2rem,3.1vw,3.35rem);line-height:1.02;hyphens:none}.ae-branding-intro__statement p{margin:0 0 30px;color:#c7cbd0;line-height:1.7}.ae-branding-moments{padding:clamp(80px,9vw,132px) 0;background:#0d0f12;color:#fff}.ae-branding-section-heading{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:40px;align-items:end;margin-bottom:clamp(38px,5vw,70px)}.ae-branding-section-heading .eyebrow{margin:0;color:var(--ae-signal)}.ae-branding-section-heading h2{max-width:900px;margin:0;color:inherit;font-size:clamp(2.35rem,4.5vw,5rem);line-height:.98;letter-spacing:-.04em;hyphens:none}.ae-branding-moments__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.ae-branding-moments__grid article{grid-column:span 3;min-height:340px;padding:clamp(28px,3vw,42px);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,#171a1f,#111317)}.ae-branding-moments__grid article:nth-child(2),.ae-branding-moments__grid article:nth-child(4){transform:translateY(28px)}.ae-branding-moments__grid article span{color:var(--ae-signal);font-size:.72rem;font-weight:900;letter-spacing:.15em}.ae-branding-moments__grid article h3{margin:auto 0 18px;color:#fff;font-size:clamp(1.55rem,2vw,2.2rem);hyphens:none}.ae-branding-moments__grid article p{margin:0;color:#bfc4ca;line-height:1.65}.ae-branding-possibilities{padding:clamp(82px,9vw,138px) 0;background:#eef0f1;color:#111419}.ae-branding-possibilities__layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(50px,8vw,120px);align-items:start}.ae-branding-possibilities__intro{position:sticky;top:calc(var(--ae-header-height) + 34px)}.ae-branding-possibilities__intro .eyebrow{color:#0F766E}.ae-branding-possibilities__intro h2{margin-bottom:22px;font-size:clamp(2.25rem,4vw,4.4rem);line-height:.98;hyphens:none}.ae-branding-possibilities__intro p{max-width:520px;color:#4b535b;line-height:1.7}.ae-branding-possibilities__list{list-style:none;margin:0;padding:0;border-top:1px solid #c8cdd1}.ae-branding-possibilities__list li{position:relative;padding:20px 20px 20px 48px;border-bottom:1px solid #c8cdd1;font-weight:750;line-height:1.4}.ae-branding-possibilities__list li::before{content:"→";position:absolute;left:8px;top:20px;color:#0F766E;font-weight:900}.application-services .application-service-grid--branding{grid-template-columns:repeat(4,minmax(0,1fr)) !important}.ae-branding-cases{padding:clamp(82px,9vw,138px) 0;background:#111316;color:#fff}.ae-branding-section-heading--dark{color:#fff}.ae-branding-cases__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ae-branding-case{display:grid;grid-template-rows:300px 1fr;min-width:0;border:1px solid rgba(255,255,255,.11);background:#171a1f;color:#fff;text-decoration:none;transition:transform .3s ease,border-color .3s ease}.ae-branding-case:hover,.ae-branding-case:focus-visible{transform:translateY(-5px);border-color:rgba(32,178,170,.55)}.ae-branding-case__image{overflow:hidden}.ae-branding-case__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.ae-branding-case:hover .ae-branding-case__image img{transform:scale(1.035)}.ae-branding-case__body{display:flex;flex-direction:column;align-items:flex-start;padding:28px}.ae-branding-case__body small{margin-bottom:20px;color:var(--ae-signal);font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ae-branding-case__body strong{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:clamp(1.5rem,2.2vw,2.35rem);line-height:1.04;text-transform:uppercase}.ae-branding-case__body em{margin-top:24px;color:var(--ae-signal);font-size:.75rem;font-style:normal;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.ae-branding-related{width:var(--ae-wide);margin:0 auto clamp(74px,8vw,120px);padding:clamp(30px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:36px;border-left:5px solid var(--ae-signal);background:#121519;color:#fff}.ae-branding-related>div{max-width:850px}.ae-branding-related .eyebrow{margin:0 0 10px;color:var(--ae-signal)}.ae-branding-related h2{margin:0 0 12px;color:#fff;font-size:clamp(1.8rem,3vw,3rem);hyphens:none}.ae-branding-related p{margin:0;color:#c3c7cc;line-height:1.65}.ae-branding-related .button{flex:0 0 auto}.ae-branding-home-teaser{width:min(1280px,calc(100% - 48px));margin:clamp(36px,5vw,64px) auto 0;padding:20px 24px;display:grid;grid-template-columns:minmax(210px,.85fr) minmax(260px,1.2fr) auto;gap:24px;align-items:center;border:1px solid rgba(17,20,25,.16);border-left:4px solid var(--ae-signal);background:#f1f2f2;color:#111419;text-decoration:none;transition:transform .25s ease,border-color .25s ease}.ae-branding-home-teaser:hover,.ae-branding-home-teaser:focus-visible{transform:translateY(-2px);border-color:#0F766E;border-left-color:var(--ae-signal)}.ae-branding-home-teaser span{display:flex;flex-direction:column;gap:4px}.ae-branding-home-teaser small{color:#0F766E;font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.ae-branding-home-teaser strong{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:1.35rem;line-height:1;text-transform:uppercase}.ae-branding-home-teaser em{color:#4c535a;font-style:normal}.ae-branding-home-teaser b{color:#0F766E;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
@media(max-width:1050px){.ae-branding-moments__grid article{grid-column:span 6}.ae-branding-moments__grid article:nth-child(n){transform:none}.application-services .application-service-grid--branding{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.ae-branding-home-teaser{grid-template-columns:1fr auto}.ae-branding-home-teaser em{grid-column:1/2}.ae-branding-home-teaser b{grid-column:2;grid-row:1/3}.ae-branding-cases__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.ae-branding-intro,.ae-branding-possibilities__layout{grid-template-columns:1fr}.ae-branding-intro__statement,.ae-branding-possibilities__intro{position:relative;top:auto}.ae-branding-section-heading{grid-template-columns:1fr;gap:14px}.ae-branding-related{align-items:flex-start;flex-direction:column}.ae-branding-cases__grid{grid-template-columns:1fr}}
@media(max-width:620px){.ae-branding-shell{width:min(100% - 28px,1280px)}.ae-branding-intro{width:min(100% - 28px,1280px);padding:64px 0;gap:34px}.ae-branding-moments,.ae-branding-possibilities,.ae-branding-cases{padding:64px 0}.ae-branding-moments__grid{grid-template-columns:1fr}.ae-branding-moments__grid article{grid-column:auto;min-height:270px}.application-services .application-service-grid--branding{grid-template-columns:1fr !important}.ae-branding-related{width:min(100% - 28px,1280px);margin-bottom:64px}.ae-branding-home-teaser{width:min(100% - 28px,1280px);grid-template-columns:1fr;gap:12px;padding:20px}.ae-branding-home-teaser em,.ae-branding-home-teaser b{grid-column:auto;grid-row:auto}.ae-branding-home-teaser b{white-space:normal}}
@media(prefers-reduced-motion:reduce){.ae-branding-case,.ae-branding-case__image img,.ae-branding-home-teaser{transition:none}.ae-branding-case:hover,.ae-branding-home-teaser:hover{transform:none}}

/* ==========================================================
   v3.2.1 — Homepage service-card title refinement
   Keep long discipline names comfortably inside narrow cards.
   ========================================================== */
.ae22-service-card strong {
	display: block;
	width: 100%;
	max-width: 100%;
	font-size: clamp(1.02rem, 1.14vw, 1.34rem);
	line-height: 1.02;
	letter-spacing: -0.018em;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}
.ae22-service-card:first-child strong {
	font-size: clamp(.96rem, 1.03vw, 1.18rem);
	letter-spacing: -0.025em;
}
@media (max-width: 1280px) {
	.ae22-service-card strong,
	.ae22-service-card:first-child strong {
		font-size: clamp(1.08rem, 1.7vw, 1.4rem);
		letter-spacing: -0.015em;
	}
}
@media (max-width: 720px) {
	.ae22-service-card strong,
	.ae22-service-card:first-child strong {
		font-size: clamp(1.22rem, 6vw, 1.55rem);
		letter-spacing: -0.015em;
	}
}


/* ==========================================================
   Actioneers 3.2.2 — Spectaculaire Branding visual polish
   - remove legacy hero signal stripe on this dedicated page
   - restore readable light typography in the dark intro area
   ========================================================== */
.site-main--spectaculaire-branding > .page-hero.ae22-inner-hero {
	border-bottom: 0;
}
.site-main--spectaculaire-branding > .page-hero.ae22-inner-hero::after {
	content: none !important;
	display: none !important;
	background: none !important;
}
.site-main--spectaculaire-branding .ae-branding-intro {
	color: #fff;
}
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose,
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose p,
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose li {
	color: rgba(255,255,255,.78) !important;
}
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose .eyebrow {
	color: var(--ae-signal) !important;
}
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose > .eyebrow + p {
	color: #f5f6f7 !important;
	font-size: clamp(1.18rem,1.65vw,1.52rem);
	font-weight: 700;
	line-height: 1.55;
}
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose h2,
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose h3,
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose h4,
.site-main--spectaculaire-branding .ae-branding-intro__copy.prose strong {
	color: #fff !important;
}


/* ==========================================================
   Actioneers 3.2.3 — Spectaculaire Branding moment cards
   Keep long titles inside their cards and align all four cards.
   ========================================================== */
.site-main--spectaculaire-branding .ae-branding-moments__grid article {
	min-width: 0;
	padding: clamp(28px, 2.15vw, 34px);
}
.site-main--spectaculaire-branding .ae-branding-moments__grid article h3 {
	width: 100%;
	max-width: 100%;
	min-height: 2.08em;
	margin: auto 0 18px;
	display: flex;
	align-items: flex-end;
	font-size: clamp(1.42rem, 1.58vw, 1.78rem);
	line-height: 1.02;
	letter-spacing: -.025em;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}
.site-main--spectaculaire-branding .ae-branding-moments__grid article h3.ae-branding-moment-title--product {
	font-size: clamp(1.28rem, 1.43vw, 1.62rem);
	letter-spacing: -.035em;
}
.site-main--spectaculaire-branding .ae-branding-moments__grid article p {
	width: 100%;
	max-width: 100%;
}
@media (max-width: 1050px) {
	.site-main--spectaculaire-branding .ae-branding-moments__grid article h3,
	.site-main--spectaculaire-branding .ae-branding-moments__grid article h3.ae-branding-moment-title--product {
		min-height: 0;
		font-size: clamp(1.6rem, 3.2vw, 2rem);
	}
}
@media (max-width: 620px) {
	.site-main--spectaculaire-branding .ae-branding-moments__grid article {
		padding: 28px;
	}
	.site-main--spectaculaire-branding .ae-branding-moments__grid article h3,
	.site-main--spectaculaire-branding .ae-branding-moments__grid article h3.ae-branding-moment-title--product {
		font-size: clamp(1.55rem, 8vw, 2rem);
	}
}


/* ==========================================================
   Actioneers 3.3.0 — WordPress core compatibility
   ========================================================== */
.page-links, .post-tags { margin-top: 1.5rem; }
.post-tags span { font-weight: 800; }
.comments-area { width: min(920px, calc(100% - 48px)); margin: 0 auto clamp(64px, 8vw, 120px); padding-top: 40px; border-top: 1px solid rgba(255,255,255,.14); }
.comment-list { list-style: none; margin: 28px 0; padding: 0; }
.comment-list .comment { margin: 0 0 20px; padding: 22px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03); }
.comment-list .avatar { border-radius: 50%; margin-right: 12px; vertical-align: middle; }
.comment-form input:not([type=submit]), .comment-form textarea { width: 100%; max-width: 100%; }
.is-style-actioneers-outline .wp-block-button__link { background: transparent; border: 1px solid var(--ae-signal); color: inherit; }
.wp-block-image.is-style-actioneers-frame img { border: 1px solid rgba(32,178,170,.7); box-shadow: 12px 12px 0 rgba(32,178,170,.08); }
.site-footer__widgets { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 28px; padding: 28px clamp(24px,5vw,72px); border-top: 1px solid rgba(255,255,255,.1); }
.site-footer__widgets .widget-title { font-size: 1rem; }


/* ==========================================================
   Actioneers 3.3.1 — Global inner-page hero edge fix
   The legacy ::after signal stripe inherited a 7px height and
   could show as a yellow/light seam below every hero image.
   Inner-page heroes now end cleanly against the next section.
   ========================================================== */
.page-hero,
.page-hero.ae22-inner-hero {
	border-bottom: 0 !important;
}
.page-hero::after,
.page-hero.ae22-inner-hero::after {
	content: none !important;
	display: none !important;
	background: none !important;
	border: 0 !important;
	height: 0 !important;
}


/* ==========================================================
   Actioneers 3.4.0 — LightSeaGreen brand + WCAG accessibility layer
   ========================================================== */
/* #20B2AA is the brand signal on dark surfaces. Small text on light/off-white
   panels uses a darker cyan so it keeps WCAG AA contrast. */
.section--trust .eyebrow,
.prose a,
.child-pages .eyebrow,
.child-card .text-link,
.contact-panel--request .eyebrow,
.empty-state .eyebrow,
.process-section .eyebrow,
.overview-intro .eyebrow,
.about-intro .eyebrow,
.application-detail .eyebrow,
.project-detail .eyebrow,
.about-detail .eyebrow,
.process-timeline span,
.detail-steps span,
.method-band .eyebrow,
.contact-assurances span,
.overview-intro__callout .eyebrow,
.detail-sidebar .eyebrow,
.application-detail__statement .eyebrow,
.project-detail__aside .eyebrow,
.contact-panel .eyebrow,
.contact-detail > span,
.ae-side-panel .eyebrow,
.ae-project-card__meta,
.about-overview .about-clients .eyebrow,
.ae-branding-possibilities__intro .eyebrow,
.ae-branding-possibilities__list li::before,
.ae-branding-home-teaser small,
.ae-branding-home-teaser b {
    color: var(--ae-signal-on-light);
}

/* Form boundaries need enough non-text contrast to be recognisable. */
.prose input:not([type="checkbox"]):not([type="radio"]),
.prose select,
.prose textarea,
.contact-form-content input:not([type="checkbox"]):not([type="radio"]),
.contact-form-content select,
.contact-form-content textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
select,
textarea {
    border-color: #767676;
}

/* Keyboard focus: visible on both near-black and light surfaces. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.primary-menu > li > a:focus-visible,
.submenu-toggle:focus-visible,
.nav-toggle:focus-visible,
.nav-close:focus-visible,
.button:focus-visible,
.text-link:focus-visible {
    outline: 3px solid var(--ae-focus);
    outline-offset: 4px;
}

/* Autoplay background video control (WCAG 2.2.2 Pause, Stop, Hide). */
.ae22-hero__video-toggle {
    position: absolute;
    right: max(20px, calc((100vw - min(1440px, calc(100% - clamp(36px, 7vw, 112px)))) / 2));
    bottom: 24px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,.58);
    background: rgba(5,6,8,.78);
    color: #fff;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .07em;
    line-height: 1.2;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}
.ae22-hero__video-toggle:hover {
    border-color: var(--ae-signal);
    color: var(--ae-signal);
}
.ae22-hero__video-toggle-icon {
    display: inline-block;
    width: 12px;
    height: 12px;
    position: relative;
    flex: 0 0 12px;
}
.ae22-hero__video-toggle[data-state="playing"] .ae22-hero__video-toggle-icon::before,
.ae22-hero__video-toggle[data-state="playing"] .ae22-hero__video-toggle-icon::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3px;
    background: currentColor;
}
.ae22-hero__video-toggle[data-state="playing"] .ae22-hero__video-toggle-icon::before { left: 1px; }
.ae22-hero__video-toggle[data-state="playing"] .ae22-hero__video-toggle-icon::after { right: 1px; }
.ae22-hero__video-toggle[data-state="paused"] .ae22-hero__video-toggle-icon::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid currentColor;
}
@media (max-width: 700px) {
    .ae22-hero__video-toggle { right: 14px; bottom: 14px; }
    .ae22-hero__video-toggle-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
}
@media (prefers-reduced-motion: reduce) {
    .ae22-hero__video { display: none !important; }
    .ae22-hero__video-toggle { display: none !important; }
}


/* ==========================================================
   Actioneers 3.4.1 — Light-surface cyan contrast corrections
   ========================================================== */
/* LightSeaGreen is reserved for dark surfaces and graphic accents.
   Small text on the warm/light homepage sections uses the darker
   brand LightSeaGreen to maintain WCAG AA contrast. */
.ae22-services .ae22-kicker,
.ae22-clients .ae22-kicker {
	color: var(--ae-signal-on-light);
}

/* Keep the Spectaculaire Branding teaser readable on its light panel.
   The global link hover is LightSeaGreen, so explicitly override the title. */
.ae-branding-home-teaser strong {
	color: #111419;
}
.ae-branding-home-teaser:hover strong,
.ae-branding-home-teaser:focus-visible strong {
	color: var(--ae-signal-on-light);
}

/* ==========================================================
   Actioneers 3.5.5 — Legal page content normalization
   ==========================================================
   Privacyverklaring, Cookiebeleid, Disclaimer en Algemene
   voorwaarden use the normal page template. Gutenberg wide/full
   alignment must not escape the dark reading card on these pages.
*/
.site-main--legal-standard .page-content > .prose {
	box-sizing: border-box;
	width: min(900px, 100%);
	max-width: 900px;
	min-width: 0;
	margin-inline: auto;
	overflow: hidden;
}

.site-main--legal-standard .page-content > .prose,
.site-main--legal-standard .page-content > .prose *,
.site-main--legal-standard .page-content > .prose *::before,
.site-main--legal-standard .page-content > .prose *::after {
	box-sizing: border-box;
}

.site-main--legal-standard .page-content > .prose .alignwide,
.site-main--legal-standard .page-content > .prose .alignfull {
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	inset-inline: auto !important;
	transform: none !important;
}

.site-main--legal-standard .page-content > .prose .wp-block-group,
.site-main--legal-standard .page-content > .prose .wp-block-columns,
.site-main--legal-standard .page-content > .prose .wp-block-column,
.site-main--legal-standard .page-content > .prose .wp-block-cover,
.site-main--legal-standard .page-content > .prose .wp-block-media-text,
.site-main--legal-standard .page-content > .prose .wp-block-buttons,
.site-main--legal-standard .page-content > .prose .wp-block-table,
.site-main--legal-standard .page-content > .prose [class*="is-layout-"] {
	max-width: 100% !important;
	min-width: 0 !important;
}

.site-main--legal-standard .page-content > .prose h2,
.site-main--legal-standard .page-content > .prose h3,
.site-main--legal-standard .page-content > .prose h4,
.site-main--legal-standard .page-content > .prose p,
.site-main--legal-standard .page-content > .prose li,
.site-main--legal-standard .page-content > .prose a {
	word-break: normal;
	overflow-wrap: break-word;
}

.site-main--legal-standard .page-content > .prose h2 {
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	line-height: 1.08;
}

.site-main--legal-standard .page-content > .prose img,
.site-main--legal-standard .page-content > .prose video,
.site-main--legal-standard .page-content > .prose iframe,
.site-main--legal-standard .page-content > .prose svg {
	max-width: 100% !important;
	height: auto;
}

.site-main--legal-standard .page-content > .prose table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 700px) {
	.site-main--legal-standard .page-content > .prose {
		width: 100%;
	}
}
