body.cm-page-about #page.site.grid-container,
body.cm-page-contact #page.site.grid-container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.cm-about-page,
.cm-contact-page {
	overflow: hidden;
}

/* ABOUT HERO */
.cm-about-hero-v2 {
	position: relative;
	padding: clamp(4.5rem, 9vw, 8rem) 0;
	background:
		radial-gradient(circle at 88% 12%, rgba(25,169,229,.2), transparent 25%),
		linear-gradient(135deg, #061d3a, var(--cm-color-primary-700));
	color: var(--cm-color-white);
}

.cm-about-hero-v2__grid {
	display: grid;
	gap: 2.5rem;
	align-items: center;
}

.cm-about-hero-v2__copy {
	max-width: 760px;
}

.cm-about-hero-v2 h1 {
	margin: 0;
	color: var(--cm-color-white);
	font-size: clamp(2.65rem, 6.3vw, 5.5rem);
	line-height: 1;
	letter-spacing: -.05em;
}

.cm-about-hero-v2__copy > p:not(.cm-page-eyebrow) {
	max-width: 680px;
	margin: 1.25rem 0 0;
	color: rgba(255,255,255,.75);
	font-size: clamp(1rem, 2vw, 1.14rem);
	line-height: 1.7;
}

.cm-about-hero-v2__actions,
.cm-about-cta-v2__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.6rem;
}

.cm-about-hero-v2__assurance {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem 1.25rem;
	margin: 1.6rem 0 0;
	padding: 0;
	color: rgba(255,255,255,.76);
	font-size: .82rem;
	list-style: none;
}

.cm-about-hero-v2__assurance li::before {
	content: "✓";
	margin-right: .38rem;
	color: var(--cm-color-accent);
	font-weight: 900;
}

.cm-about-collage {
	position: relative;
	min-height: 480px;
}

.cm-about-collage__item {
	position: absolute;
	overflow: hidden;
	border: 5px solid rgba(255,255,255,.94);
	border-radius: var(--cm-radius-xl);
	background: var(--cm-color-primary-700);
	color: var(--cm-color-white);
	box-shadow: 0 24px 70px rgba(0,0,0,.28);
	text-decoration: none;
}

.cm-about-collage__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.cm-about-collage__item:hover img {
	transform: scale(1.04);
}

.cm-about-collage__item span {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 2.5rem 1rem 1rem;
	background: linear-gradient(0deg, rgba(3,22,46,.9), transparent);
	font-size: .8rem;
	font-weight: 800;
}

.cm-about-collage__item--1 {
	inset: 2% 8% 10% 8%;
}

.cm-about-collage__item--2 {
	display: none;
}

.cm-about-collage__item--3 {
	display: none;
}

.cm-about-collage__placeholder {
	display: grid;
	place-items: center;
	height: 100%;
	min-height: 440px;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: var(--cm-radius-xl);
	background:
		radial-gradient(circle at 70% 25%, rgba(247,168,27,.35), transparent 22%),
		linear-gradient(135deg, rgba(25,169,229,.2), rgba(141,175,78,.18));
	text-align: center;
}

.cm-about-collage__placeholder span {
	display: grid;
	place-items: center;
	width: 110px;
	height: 110px;
	border: 2px solid var(--cm-color-accent);
	border-radius: 50%;
	color: var(--cm-color-accent);
	font-family: var(--cm-font-heading);
	font-size: 2.3rem;
}

.cm-about-collage__placeholder strong {
	color: var(--cm-color-white);
}

.cm-about-proof {
	position: relative;
	z-index: 2;
	padding: 0 0 1.5rem;
	background: var(--cm-color-surface);
}

.cm-about-proof__grid {
	display: grid;
	overflow: hidden;
	margin-top: -1.4rem;
	border: 1px solid rgba(8,37,74,.08);
	border-radius: var(--cm-radius-xl);
	background: var(--cm-color-white);
	box-shadow: var(--cm-shadow-md);
}

.cm-about-proof article {
	display: grid;
	place-items: center;
	padding: 1.2rem;
	text-align: center;
}

.cm-about-proof article + article {
	border-top: 1px solid var(--cm-color-border);
}

.cm-about-proof strong {
	color: var(--cm-color-primary-900);
	font-family: var(--cm-font-heading);
	font-size: 2rem;
}

.cm-about-proof span {
	color: var(--cm-color-muted);
	font-size: .78rem;
}

/* ABOUT STORY */
.cm-about-story-v2 {
	padding: clamp(4.5rem,8vw,7rem) 0;
	background: var(--cm-color-surface);
}

.cm-about-story-v2__grid {
	display: grid;
	gap: 2.5rem;
	align-items: center;
}

.cm-about-story-v2__visual {
	position: relative;
	min-height: 460px;
}

.cm-about-story-v2__visual > img,
.cm-about-story-v2__placeholder {
	width: 100%;
	height: 100%;
	min-height: 460px;
	border-radius: var(--cm-radius-xl);
	object-fit: cover;
	box-shadow: var(--cm-shadow-md);
}

.cm-about-story-v2__placeholder {
	display: block;
	background:
		radial-gradient(circle at 80% 20%, rgba(247,168,27,.48), transparent 20%),
		linear-gradient(135deg, var(--cm-color-primary-700), var(--cm-color-green));
}

.cm-about-story-v2__quote {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	max-width: 320px;
	padding: 1.15rem;
	border-radius: var(--cm-radius-lg);
	background: rgba(255,255,255,.94);
	color: var(--cm-color-primary-900);
	box-shadow: var(--cm-shadow-md);
}

.cm-about-story-v2__quote span {
	color: var(--cm-color-accent-hover);
	font-family: Georgia, serif;
	font-size: 3rem;
	line-height: .6;
}

.cm-about-story-v2__quote p {
	margin: .45rem 0 0;
	font-weight: 700;
}

.cm-about-story-v2__copy h2,
.cm-about-values-v2 h2 {
	margin: 0;
	font-size: clamp(2rem,4.4vw,3.65rem);
	letter-spacing: -.04em;
}

.cm-about-story-v2__copy > p:not(.cm-section-heading__eyebrow) {
	color: var(--cm-color-muted);
	line-height: 1.75;
}

.cm-about-story-v2__editor {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--cm-color-border);
}

/* SERVICES */
.cm-about-services,
.cm-about-process-v2 {
	padding: clamp(4.5rem,8vw,7rem) 0;
	background: var(--cm-color-white);
}

.cm-about-services__grid {
	display: grid;
	gap: 1rem;
}

.cm-about-services__grid article {
	padding: 1.35rem;
	border: 1px solid rgba(8,37,74,.08);
	border-radius: var(--cm-radius-xl);
	background: var(--cm-color-surface);
	transition: transform var(--cm-transition), box-shadow var(--cm-transition);
}

.cm-about-services__grid article:hover {
	transform: translateY(-4px);
	box-shadow: var(--cm-shadow-md);
}

.cm-about-services__grid article > span {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: var(--cm-radius-md);
	background: rgba(141,175,78,.14);
	color: #4c7520;
}

.cm-about-services__grid svg {
	width: 25px;
	height: 25px;
	fill: currentColor;
}

.cm-about-services__grid h3 {
	margin: 1rem 0 0;
}

.cm-about-services__grid p {
	margin: .45rem 0 0;
	color: var(--cm-color-muted);
}

/* VALUES */
.cm-about-values-v2 {
	padding: clamp(4.5rem,8vw,7rem) 0;
	background:
		radial-gradient(circle at 90% 15%, rgba(25,169,229,.16), transparent 28%),
		var(--cm-color-primary-900);
	color: rgba(255,255,255,.74);
}

.cm-about-values-v2__grid {
	display: grid;
	gap: 2rem;
}

.cm-about-values-v2 h2 {
	color: var(--cm-color-white);
}

.cm-about-values-v2 ul {
	display: grid;
	gap: .8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cm-about-values-v2 li {
	padding: 1rem 1.1rem;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--cm-radius-lg);
	background: rgba(255,255,255,.05);
}

.cm-about-values-v2 li strong,
.cm-about-values-v2 li span {
	display: block;
}

.cm-about-values-v2 li strong {
	color: var(--cm-color-white);
}

.cm-about-values-v2 li span {
	margin-top: .3rem;
	font-size: .86rem;
}

/* PROCESS + CTA */
.cm-about-process-v2 ol {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cm-about-process-v2 li {
	display: flex;
	gap: .9rem;
	padding: 1.1rem;
	border: 1px solid rgba(8,37,74,.08);
	border-radius: var(--cm-radius-lg);
	background: var(--cm-color-surface);
}

.cm-about-process-v2 li > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	border-radius: 50%;
	background: var(--cm-color-accent);
	color: var(--cm-color-primary-900);
	font-weight: 900;
}

.cm-about-process-v2 h3,
.cm-about-process-v2 p {
	margin: 0;
}

.cm-about-process-v2 p {
	margin-top: .3rem;
	color: var(--cm-color-muted);
	font-size: .86rem;
}

.cm-about-cta-v2 {
	padding: clamp(4rem,7vw,6rem) 0;
	background:
		linear-gradient(135deg, rgba(25,169,229,.13), rgba(247,168,27,.08)),
		var(--cm-color-primary-800);
}

.cm-about-cta-v2__inner {
	display: grid;
	gap: 1.25rem;
	align-items: center;
}

.cm-about-cta-v2 h2 {
	max-width: 760px;
	margin: 0;
	color: var(--cm-color-white);
	font-size: clamp(2rem,4.4vw,3.5rem);
	letter-spacing: -.04em;
}

/* CONTACT */
.cm-contact-hero-v2 {
	padding: clamp(4.5rem,8vw,7rem) 0;
	background:
		radial-gradient(circle at 85% 15%, rgba(25,169,229,.2), transparent 27%),
		linear-gradient(135deg, #061d3a, var(--cm-color-primary-700));
	color: var(--cm-color-white);
}

.cm-contact-hero-v2__grid {
	display: grid;
	gap: 2rem;
	align-items: center;
}

.cm-contact-hero-v2 h1 {
	margin: 0;
	color: var(--cm-color-white);
	font-size: clamp(2.7rem,6vw,5.4rem);
	line-height: 1;
	letter-spacing: -.05em;
}

.cm-contact-hero-v2__copy > p:not(.cm-page-eyebrow) {
	max-width: 680px;
	margin: 1.2rem 0 0;
	color: rgba(255,255,255,.75);
	font-size: 1.08rem;
	line-height: 1.7;
}

.cm-contact-hero-v2__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.5rem;
}

.cm-contact-promise {
	padding: 1.4rem;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: var(--cm-radius-xl);
	background: rgba(255,255,255,.07);
	backdrop-filter: blur(8px);
}

.cm-contact-promise > span {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: var(--cm-radius-md);
	background: var(--cm-color-accent);
	color: var(--cm-color-primary-900);
}

.cm-contact-promise svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
}

.cm-contact-promise h2 {
	margin: .4rem 0 0;
	color: var(--cm-color-white);
	font-size: 1.55rem;
}

.cm-contact-promise ul {
	display: grid;
	gap: .65rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.cm-contact-promise li {
	position: relative;
	padding-left: 1.35rem;
	color: rgba(255,255,255,.76);
	font-size: .88rem;
}

.cm-contact-promise li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--cm-color-accent);
	font-weight: 900;
}

.cm-contact-options-v2 {
	padding: 1.5rem 0 clamp(3.5rem,6vw,5rem);
	background: var(--cm-color-surface);
}

.cm-contact-options-v2__grid {
	display: grid;
	gap: .9rem;
	margin-top: -2.2rem;
}

.cm-contact-options-v2 article {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .8rem;
	align-items: start;
	min-width: 0;
	padding: 1.1rem;
	border: 1px solid rgba(8,37,74,.08);
	border-radius: var(--cm-radius-xl);
	background: var(--cm-color-white);
	box-shadow: var(--cm-shadow-md);
}

.cm-contact-options-v2 article > span {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: var(--cm-radius-md);
	background: rgba(141,175,78,.14);
	color: #4c7520;
}

.cm-contact-options-v2 svg {
	width: 23px;
	height: 23px;
	fill: currentColor;
}

.cm-contact-options-v2 h2,
.cm-contact-options-v2 p {
	margin: 0;
}

.cm-contact-options-v2 h2 {
	font-size: 1rem;
}

.cm-contact-options-v2 p {
	margin-top: .25rem;
	color: var(--cm-color-muted);
	font-size: .82rem;
}

.cm-contact-options-v2 article > a {
	grid-column: 1 / -1;
	overflow-wrap: anywhere;
	color: var(--cm-color-primary-700);
	font-size: .83rem;
	font-weight: 800;
	text-decoration: none;
}

.cm-contact-main-v2 {
	padding: clamp(3.5rem,7vw,6rem) 0;
	background: var(--cm-color-surface);
}

.cm-contact-main-v2__intro {
	max-width: 760px;
	margin-bottom: 2rem;
}

.cm-contact-main-v2__intro h2 {
	margin: 0;
	font-size: clamp(2.1rem,4.4vw,3.7rem);
	letter-spacing: -.04em;
}

.cm-contact-main-v2__intro > p:not(.cm-section-heading__eyebrow) {
	color: var(--cm-color-muted);
}

.cm-contact-main-v2__grid {
	display: grid;
	gap: 1.5rem;
	align-items: start;
}

.cm-contact-form-panel-v2 {
	min-width: 0;
	padding: clamp(1rem,3vw,2rem);
	border: 1px solid rgba(8,37,74,.08);
	border-radius: var(--cm-radius-xl);
	background: var(--cm-color-white);
	box-shadow: var(--cm-shadow-sm);
}

.cm-contact-sidebar-v2 {
	display: grid;
	gap: 1rem;
}

.cm-contact-sidebar-v2 > section {
	padding: 1.25rem;
	border-radius: var(--cm-radius-xl);
	background: var(--cm-color-white);
	box-shadow: var(--cm-shadow-sm);
}

.cm-contact-sidebar-v2 h2 {
	margin: 0;
	font-size: 1.22rem;
}

.cm-contact-sidebar-v2 dl {
	margin: .9rem 0 0;
}

.cm-contact-sidebar-v2 dl > div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .8rem 0;
	border-bottom: 1px solid var(--cm-color-border);
}

.cm-contact-sidebar-v2 dt {
	color: var(--cm-color-muted);
}

.cm-contact-sidebar-v2 dd {
	margin: 0;
	color: var(--cm-color-primary-900);
	font-weight: 750;
	text-align: right;
}

.cm-contact-next-steps ol {
	display: grid;
	gap: .75rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.cm-contact-next-steps li {
	display: flex;
	gap: .6rem;
	align-items: flex-start;
}

.cm-contact-next-steps li > span {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	border-radius: 50%;
	background: var(--cm-color-accent);
	color: var(--cm-color-primary-900);
	font-weight: 900;
}

.cm-contact-next-steps p {
	margin: .15rem 0 0;
	color: var(--cm-color-muted);
	font-size: .84rem;
}

.cm-contact-support-note {
	display: flex;
	gap: .8rem;
	background: var(--cm-color-primary-900) !important;
	color: rgba(255,255,255,.74);
}

.cm-contact-support-note > span {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	border-radius: var(--cm-radius-md);
	background: rgba(255,255,255,.1);
	color: var(--cm-color-accent);
}

.cm-contact-support-note svg {
	width: 24px;
	height: 24px;
	fill: currentColor;
}

.cm-contact-support-note h2 {
	color: var(--cm-color-white);
}

.cm-contact-support-note p {
	margin: .35rem 0 0;
	font-size: .82rem;
}

.cm-contact-faq-v2 {
	padding: clamp(4rem,7vw,6rem) 0;
	background: var(--cm-color-white);
}

.cm-contact-faq-v2__grid {
	display: grid;
	gap: .75rem;
}

.cm-contact-faq-v2 details {
	padding: 1rem;
	border: 1px solid var(--cm-color-border);
	border-radius: var(--cm-radius-lg);
	background: var(--cm-color-surface);
}

.cm-contact-faq-v2 summary {
	color: var(--cm-color-primary-900);
	font-family: var(--cm-font-heading);
	font-weight: 750;
	cursor: pointer;
}

.cm-contact-faq-v2 details p {
	margin: .75rem 0 0;
	color: var(--cm-color-muted);
}

/* Existing form refinements */
.cm-contact-form-panel-v2 .cm-enquiry-form-wrap {
	margin-top: 0;
}

.cm-contact-form-panel-v2 .cm-enquiry-form__grid {
	gap: 1rem;
}

.cm-contact-form-panel-v2 .cm-enquiry-form input,
.cm-contact-form-panel-v2 .cm-enquiry-form select,
.cm-contact-form-panel-v2 .cm-enquiry-form textarea {
	background: #fff;
}

@media (min-width: 600px) {
	.cm-about-proof__grid,
	.cm-about-services__grid,
	.cm-contact-options-v2__grid,
	.cm-contact-faq-v2__grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.cm-about-process-v2 ol {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.cm-about-collage__item--1 {
		inset: 0 22% 9% 0;
	}

	.cm-about-collage__item--2 {
		display: block;
		top: 7%;
		right: 0;
		width: 42%;
		height: 42%;
	}

	.cm-about-collage__item--3 {
		display: block;
		right: 4%;
		bottom: 0;
		width: 45%;
		height: 38%;
	}
}

@media (min-width: 900px) {
	.cm-about-hero-v2__grid,
	.cm-about-story-v2__grid,
	.cm-contact-hero-v2__grid {
		grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr);
	}

	.cm-about-proof__grid {
		grid-template-columns: repeat(4,minmax(0,1fr));
	}

	.cm-about-proof article + article {
		border-top: 0;
		border-left: 1px solid var(--cm-color-border);
	}

	.cm-about-services__grid,
	.cm-contact-options-v2__grid {
		grid-template-columns: repeat(4,minmax(0,1fr));
	}

	.cm-about-values-v2__grid {
		grid-template-columns: minmax(0,1fr) minmax(420px,.95fr);
		align-items: center;
	}

	.cm-about-cta-v2__inner {
		grid-template-columns: minmax(0,1fr) auto;
	}

	.cm-contact-main-v2__grid {
		grid-template-columns: minmax(0,1fr) minmax(280px,350px);
	}

	.cm-contact-sidebar-v2 {
		position: sticky;
		top: calc(var(--cm-header-height) + 1.5rem);
	}

	.admin-bar .cm-contact-sidebar-v2 {
		top: calc(var(--cm-header-height) + 3.5rem);
	}

	.cm-contact-faq-v2__grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
}

@media (max-width: 599px) {
	.cm-about-collage {
		min-height: 390px;
	}

	.cm-about-story-v2__visual,
	.cm-about-story-v2__visual > img,
	.cm-about-story-v2__placeholder {
		min-height: 390px;
	}

	.cm-about-story-v2__quote {
		right: .75rem;
		bottom: .75rem;
		left: .75rem;
	}
}
