:root {
	--cip-dark: #111111;
	--cip-black: #080808;
	--cip-charcoal: #1c1c1c;
	--cip-accent: #86c843;
	--cip-soft: #5bbf68;
	--cip-pale: #d7ec8a;
	--cip-white: #ffffff;
	--cip-light: #eeeeee;
	--cip-muted: #bdbdbd;
	--cip-heading-color: #ffffff;
	--cip-body-color: #bdbdbd;
	--cip-heading-scale: 1;
	--cip-body-scale: 1;
	--cip-hero-heading-scale: 1;
	--cip-text: #202020;
	--cip-line: rgba(134, 200, 67, 0.38);
	--cip-max: 1180px;
	--cip-radius: 8px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	background: var(--cip-dark);
	color: var(--cip-white);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.55;
	margin: 0;
	overflow-x: hidden;
}

body.modal-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }
img { height: auto; max-width: 100%; }

p {
	color: var(--cip-body-color);
	font-size: calc(clamp(1rem, 1.25vw, 1.15rem) * var(--cip-body-scale));
	margin: 0 0 1.4rem;
}

h1, h2, h3 {
	color: var(--cip-heading-color);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 0.96;
	margin: 0 0 1.2rem;
}

h1 { font-size: calc(clamp(3.2rem, 7.4vw, 7.4rem) * var(--cip-heading-scale)); max-width: 760px; }
h2 { font-size: calc(clamp(2.2rem, 5.2vw, 5.6rem) * var(--cip-heading-scale)); }
h3 { font-size: calc(clamp(1.25rem, 2vw, 1.8rem) * var(--cip-heading-scale)); }

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.section-inner {
	margin: 0 auto;
	max-width: var(--cip-max);
	position: relative;
	z-index: 2;
}

.split {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 7vw, 6rem);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.cip-top-banner {
	background: #0b0b0b;
	border-bottom: 1px solid rgba(134,200,67,0.28);
	color: var(--cip-pale);
	position: sticky;
	top: 0;
	transform: translateY(0);
	transition: transform 0.24s ease, opacity 0.24s ease, visibility 0.24s ease;
	z-index: 95;
}

body.admin-bar .cip-top-banner { top: 32px; }

.cip-top-banner__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 1rem;
	justify-content: center;
	margin: 0 auto;
	max-width: 1320px;
	min-height: var(--cip-top-banner-height, 42px);
	padding: 8px 28px;
	text-align: center;
}

.cip-top-banner__inner span {
	align-items: center;
	display: inline-flex;
	font-size: clamp(0.72rem, 0.42vw + 0.65rem, 0.9rem);
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 1.25;
	text-transform: uppercase;
	white-space: nowrap;
}

.cip-top-banner__inner span:not(:last-child)::after {
	background: var(--cip-accent);
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 6px;
	margin-left: 1rem;
	width: 6px;
}

body.cip-top-banner-hidden .cip-top-banner {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-100%);
	visibility: hidden;
}

@media (max-width: 680px) {
	.cip-top-banner__inner {
		align-items: stretch;
		flex-direction: column;
		gap: 0.22rem;
		min-height: 0;
		padding: 8px 18px;
	}

	.cip-top-banner__inner span {
		display: block;
		font-size: 0.68rem;
		white-space: normal;
	}

	.cip-top-banner__inner span:not(:last-child)::after {
		display: none;
	}
}

.site-header {
	background: rgba(17, 17, 17, 0.82);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(255,255,255,0.07);
	position: sticky;
	top: var(--cip-top-banner-height, 0px);
	transition: top 0.24s ease;
	z-index: 90;
}

body.admin-bar .site-header { top: calc(32px + var(--cip-top-banner-height, 0px)); }
body.cip-top-banner-hidden .site-header { top: 0; }
body.admin-bar.cip-top-banner-hidden .site-header { top: 32px; }

.site-header__inner {
	align-items: center;
	display: flex;
	gap: 1.2rem;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1320px;
	min-height: 68px;
	padding: 0 28px;
}

.site-brand {
	align-items: center;
	display: inline-flex;
	font-weight: 900;
	gap: 0.72rem;
	text-transform: lowercase;
}

.site-brand__mark {
	background:
		linear-gradient(90deg, transparent 43%, var(--cip-accent) 43% 57%, transparent 57%),
		linear-gradient(0deg, transparent 43%, var(--cip-accent) 43% 57%, transparent 57%);
	border-radius: 50%;
	display: inline-block;
	height: 28px;
	position: relative;
	transform: rotate(25deg);
	width: 28px;
}

.site-brand__mark::before {
	background: var(--cip-accent);
	border-radius: 50%;
	content: "";
	height: 10px;
	left: 9px;
	position: absolute;
	top: 9px;
	width: 10px;
}

.custom-logo { max-height: 48px; width: auto; }

.header-menu,
.primary-nav__list,
.mobile-nav__list,
.footer-menu,
.footer-links ul {
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
}

.header-menu,
.primary-nav__list {
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: clamp(0.82rem, 1.6vw, 1.35rem);
	justify-content: flex-end;
}

.primary-nav {
	align-items: center;
	display: flex;
	margin-left: auto;
}

.header-menu li,
.primary-nav li {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.header-menu li::marker,
.primary-nav li::marker {
	content: "";
}

.header-menu a,
.primary-nav a {
	align-items: center;
	color: var(--cip-accent);
	display: inline-flex;
	font-size: 0.74rem;
	font-weight: 900;
	gap: 0.46rem;
	letter-spacing: 0.02em;
	min-height: 34px;
	text-transform: uppercase;
}

.header-menu a:hover,
.primary-nav a:hover { color: var(--cip-pale); }

.header-menu__icon {
	display: inline-block;
	flex: 0 0 auto;
	height: 18px;
	position: relative;
	width: 18px;
}

.header-menu--text .header-menu__icon {
	display: none;
}

.header-menu--icons .header-menu__text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.header-menu__icon--mail {
	border: 2px solid currentColor;
	height: 15px;
	margin-top: 1px;
	width: 20px;
}

.header-menu__icon--mail::before,
.header-menu__icon--mail::after {
	background: currentColor;
	content: "";
	height: 2px;
	left: 2px;
	position: absolute;
	top: 5px;
	transform: rotate(31deg);
	transform-origin: left center;
	width: 9px;
}

.header-menu__icon--mail::after {
	left: auto;
	right: 2px;
	transform: rotate(-31deg);
	transform-origin: right center;
}

.header-menu__icon--heart::before,
.header-menu__icon--heart::after {
	background: transparent;
	border: 2px solid currentColor;
	border-bottom: 0;
	border-radius: 50%;
	content: "";
	height: 10px;
	position: absolute;
	top: 3px;
	width: 9px;
}

.header-menu__icon--heart::before {
	left: 2px;
	transform: rotate(-45deg);
}

.header-menu__icon--heart::after {
	right: 2px;
	transform: rotate(45deg);
}

.header-menu__icon--lines,
.header-menu__icon--lines::before,
.header-menu__icon--lines::after {
	background: currentColor;
	border-radius: 999px;
	height: 3px;
	width: 22px;
}

.header-menu__icon--lines {
	margin-top: 7px;
}

.header-menu__icon--lines::before,
.header-menu__icon--lines::after {
	content: "";
	left: 0;
	position: absolute;
}

.header-menu__icon--lines::before { top: -7px; }
.header-menu__icon--lines::after { top: 7px; }

.header-menu__icon--dot {
	border: 2px solid currentColor;
	border-radius: 50%;
	height: 17px;
	width: 17px;
}

.header-menu__icon--dot::before {
	background: currentColor;
	border-radius: 50%;
	content: "";
	height: 5px;
	left: 4px;
	position: absolute;
	top: 4px;
	width: 5px;
}

.header-menu__icon--star {
	height: 22px;
	transform: rotate(26deg);
	width: 22px;
}

.header-menu__icon--star::before,
.header-menu__icon--star::after {
	background: currentColor;
	border-radius: 999px;
	content: "";
	left: 1px;
	position: absolute;
	top: 9px;
	height: 4px;
	width: 20px;
}

.header-menu__icon--star::after {
	transform: rotate(90deg);
}

.header-menu__icon--arrow::before {
	border-right: 3px solid currentColor;
	border-top: 3px solid currentColor;
	content: "";
	height: 12px;
	position: absolute;
	right: 2px;
	top: 2px;
	transform: rotate(45deg);
	width: 12px;
}

.header-menu__icon--arrow::after {
	background: currentColor;
	content: "";
	height: 3px;
	left: 1px;
	position: absolute;
	top: 9px;
	width: 17px;
}

.header-menu__icon--phone {
	border: 2px solid currentColor;
	border-left-width: 5px;
	border-radius: 12px 4px 4px 12px;
	height: 18px;
	transform: rotate(-32deg);
	width: 12px;
}

.header-menu__icon--plus::before,
.header-menu__icon--plus::after {
	background: currentColor;
	border-radius: 999px;
	content: "";
	height: 3px;
	left: 1px;
	position: absolute;
	top: 8px;
	width: 17px;
}

.header-menu__icon--plus::after {
	transform: rotate(90deg);
}

.header-menu__icon--home::before {
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-bottom: 9px solid currentColor;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
}

.header-menu__icon--home::after {
	border: 2px solid currentColor;
	border-top: 0;
	content: "";
	height: 9px;
	left: 3px;
	position: absolute;
	top: 9px;
	width: 12px;
}

.header-menu__icon--services {
	display: grid;
	gap: 3px;
	grid-template-columns: repeat(2, 1fr);
}

.header-menu__icon--services::before,
.header-menu__icon--services::after {
	background:
		linear-gradient(currentColor 0 0) left top / 7px 7px no-repeat,
		linear-gradient(currentColor 0 0) right top / 7px 7px no-repeat,
		linear-gradient(currentColor 0 0) left bottom / 7px 7px no-repeat,
		linear-gradient(currentColor 0 0) right bottom / 7px 7px no-repeat;
	content: "";
	inset: 0;
	position: absolute;
}

.header-menu__icon--process {
	border: 2px solid currentColor;
	border-radius: 50%;
}

.header-menu__icon--process::after {
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
	height: 6px;
	position: absolute;
	right: -2px;
	top: 1px;
	transform: rotate(45deg);
	width: 6px;
}

.header-menu__icon--faq::before,
.header-menu__icon--apply::before,
.header-menu__icon--linkedin::before,
.header-menu__icon--instagram::before,
.header-menu__icon--youtube::before,
.header-menu__icon--facebook::before,
.header-menu__icon--x-twitter::before,
.header-menu__icon--tiktok::before,
.header-menu__icon--whatsapp::before,
.header-menu__icon--website::before {
	align-items: center;
	content: "?";
	display: flex;
	font-size: 0.78rem;
	font-weight: 950;
	height: 100%;
	justify-content: center;
	line-height: 1;
	text-transform: lowercase;
	width: 100%;
}

.header-menu__icon--apply::before { content: "✓"; }
.header-menu__icon--linkedin::before { content: "in"; font-size: 0.68rem; }
.header-menu__icon--instagram::before { content: "ig"; font-size: 0.68rem; }
.header-menu__icon--youtube::before { content: "yt"; font-size: 0.68rem; }
.header-menu__icon--facebook::before { content: "f"; }
.header-menu__icon--x-twitter::before { content: "x"; }
.header-menu__icon--tiktok::before { content: "tk"; font-size: 0.66rem; }
.header-menu__icon--whatsapp::before { content: "wa"; font-size: 0.66rem; }
.header-menu__icon--website::before { content: "•"; font-size: 1.4rem; }

.header-menu__icon--image {
	height: 22px;
	width: 22px;
}

.header-menu__icon--image img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.menu-toggle {
	background: transparent;
	border: 0;
	cursor: pointer;
	display: none;
	padding: 10px;
}

.menu-toggle span:not(.screen-reader-text) {
	background: var(--cip-accent);
	display: block;
	height: 2px;
	margin: 4px 0;
	width: 18px;
}

.mobile-menu {
	display: none;
	padding: 0 24px 20px;
}

.mobile-menu.is-open { display: block; }

.mobile-nav__list {
	background: var(--cip-charcoal);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: var(--cip-radius);
	overflow: hidden;
}

.mobile-nav__list a {
	align-items: center;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	display: flex;
	gap: 0.46rem;
	padding: 14px 16px;
}

.dot-mark {
	background-image: radial-gradient(var(--cip-accent) 1.2px, transparent 1.2px);
	background-size: 7px 7px;
	display: block;
	height: 18px;
	margin-bottom: 1.5rem;
	width: 26px;
}

.cip-button {
	align-items: center;
	background: linear-gradient(135deg, var(--cip-pale), var(--cip-accent));
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 999px;
	box-shadow: 0 16px 42px rgba(134,200,67,0.2);
	color: #101010;
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 950;
	justify-content: center;
	line-height: 1.2;
	min-height: 52px;
	min-width: 0;
	padding: 15px 28px;
	text-align: center;
	text-transform: uppercase;
	transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
	white-space: normal;
}

.cip-button:hover,
.cip-button:focus-visible {
	box-shadow: 0 20px 55px rgba(134,200,67,0.32);
	filter: brightness(1.06);
	transform: translateY(-2px);
}

.cip-button--hero { margin-top: 0.35rem; }
.cip-button--small { min-height: 44px; min-width: 100%; padding: 12px 18px; }
.cip-button--ghost {
	background: transparent;
	border-color: rgba(134,200,67,0.55);
	color: var(--cip-accent);
}

.hero-section {
	background:
		linear-gradient(90deg, rgba(255,255,255,0.03) 0 16.5%, transparent 16.5% 74%, rgba(255,255,255,0.035) 74% 84%, transparent 84%),
		radial-gradient(circle at 51% 18%, rgba(255,255,255,0.035), transparent 16rem),
		linear-gradient(180deg, #111111 0%, #141414 100%);
	min-height: clamp(680px, 84vh, 780px);
	overflow: visible;
	padding: 0 26px;
	position: relative;
	z-index: 4;
}

.hero-section--has-bg {
	background:
		linear-gradient(90deg, rgba(17,17,17,0.88), rgba(17,17,17,0.7) 48%, rgba(17,17,17,0.88)),
		linear-gradient(180deg, rgba(17,17,17,0.72), rgba(20,20,20,0.96)),
		#111111;
}

.hero-section--has-bg::before {
	background-image: var(--hero-bg-image);
	background-position: var(--hero-bg-position, center top);
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	height: var(--hero-bg-height, calc(100% - clamp(170px, 20vw, 300px)));
	left: 0;
	opacity: var(--hero-bg-opacity, 0.45);
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.hero-section--has-bg.hero-section--has-proof::before {
	height: var(--hero-bg-height, calc(100% - clamp(120px, 14vw, 220px)));
}

.hero-section__inner {
	align-items: start;
	display: block;
	height: 60%;
	margin: 0 auto;
	max-width: var(--cip-max);
	padding-top: clamp(3.2rem, 5vw, 4.8rem);
	position: relative;
	z-index: 5;
}

.hero-copy {
	max-width: min(50%, 610px);
}

.hero-section--editorial .hero-copy {
	max-width: min(100%, 860px);
}

.hero-eyebrow {
	align-items: center;
	background: rgba(255,255,255,0.02);
	border: 1px solid color-mix(in srgb, var(--cip-accent) 48%, rgba(255,255,255,0.1));
	border-radius: 999px;
	color: var(--cip-pale);
	display: inline-flex;
	font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 12px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.12em;
	line-height: 1.2;
	margin-bottom: clamp(2rem, 4vw, 3.6rem);
	padding: 6px 12px;
	text-transform: uppercase;
}

.hero-eyebrow span,
.hero-note span {
	background: currentColor;
	border-radius: 50%;
	display: inline-block;
	flex: 0 0 auto;
	height: 10px;
	width: 10px;
}

.hero-copy h1 {
	font-size: calc(clamp(2.45rem, 3.7vw, 4.2rem) * var(--cip-hero-heading-scale));
	line-height: 0.9;
	max-width: 610px;
	text-shadow: 0 3px 0 rgba(0,0,0,0.45);
}

.hero-section--editorial .hero-copy h1 {
	font-size: calc(clamp(30px, 4.05vw, 4.45rem) * var(--cip-hero-heading-scale));
	font-weight: 700;
	letter-spacing: 0;
	line-height: 0.9;
	max-width: 900px;
	text-wrap: balance;
	text-transform: uppercase;
}

.hero-copy h1 span { color: var(--cip-accent) !important; }

.hero-section--editorial .hero-copy h1 .hero-headline-line,
.hero-section--editorial .hero-copy h1 .hero-headline-nowrap {
	color: inherit !important;
	display: inline-block;
	white-space: nowrap;
}

.hero-accent-line {
	background: linear-gradient(100deg, var(--cip-accent), var(--cip-pale) 58%, #ffffff 100%);
	-webkit-background-clip: text;
	color: transparent;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3rem, 4.9vw, 5rem);
	font-style: italic;
	line-height: 0.9;
	margin: -0.35rem 0 clamp(2.1rem, 4vw, 3rem);
}

.hero-copy p {
	font-size: calc(clamp(0.92rem, 1vw, 1.06rem) * var(--cip-body-scale));
	font-weight: 750;
	max-width: 430px;
	margin-bottom: 1rem;
}

.hero-section--editorial .hero-copy p {
	color: rgba(255,255,255,0.72);
	font-size: calc(17px * var(--cip-body-scale));
	font-weight: 400;
	line-height: 1.45;
	max-width: 900px;
}

.hero-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.7rem;
}

.hero-actions .cip-button {
	margin-top: 0;
}

.cip-button--hero-secondary {
	background: rgba(9, 14, 25, 0.48);
	border: 1px solid rgba(255,255,255,0.18);
	box-shadow: none;
	color: #f4f6fb;
}

.hero-proof,
.hero-note {
	align-items: center;
	color: rgba(255,255,255,0.76);
	display: flex;
	flex-wrap: wrap;
	font-size: calc(clamp(0.98rem, 1.35vw, 1.22rem) * var(--cip-body-scale));
	gap: 0.75rem;
	margin-top: 1.45rem;
}

.hero-proof span {
	color: #ffae24;
	letter-spacing: 0.05em;
}

.hero-note {
	color: rgba(255,255,255,0.62);
	font-size: calc(clamp(0.9rem, 1.15vw, 1.05rem) * var(--cip-body-scale));
	margin-top: 1.05rem;
}

.hero-note span {
	color: #20d66b;
	height: 9px;
	width: 9px;
}

.hero-side-buttons {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: absolute;
	right: 11%;
	top: 44%;
	transform: translateY(-50%);
	z-index: 7;
}

.cip-form-card {
	background: linear-gradient(180deg, rgba(38,38,38,var(--hero-form-opacity, 0.96)), rgba(20,20,20,var(--hero-form-opacity, 0.98)));
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: var(--cip-radius);
	box-shadow: 0 28px 80px rgba(0,0,0,0.45);
	padding: 24px;
}

.cip-form-card__head h3 { font-size: clamp(1.4rem, 2.2vw, 2rem); }

.cip-form {
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr 1fr;
}

.cip-form label { display: grid; gap: 6px; }
.cip-form span { color: var(--cip-muted); font-size: 0.72rem; font-weight: 900; text-transform: uppercase; }
.cip-form-message {
	align-items: center;
	background: rgba(134,200,67,0.12);
	border: 1px solid rgba(134,200,67,0.36);
	border-radius: var(--cip-radius);
	color: var(--cip-white);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	font-weight: 800;
	margin-bottom: 1rem;
	padding: 12px 14px;
}

.cip-form-message__close {
	align-items: center;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 1.2rem;
	font-weight: 400;
	height: 28px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 28px;
}

.cip-form-message.is-dismissed {
	display: none;
}

.cip-form input,
.cip-form textarea,
.footer-newsletter input {
	background: #0f0f0f;
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 999px;
	color: var(--cip-white);
	font: inherit;
	min-height: 46px;
	padding: 12px 16px;
	width: 100%;
}

.cip-form textarea { border-radius: 18px; resize: vertical; }
.cip-form__wide { grid-column: 1 / -1; }

.cip-form button,
.footer-newsletter button {
	background: var(--cip-accent);
	border: 0;
	border-radius: 999px;
	color: #101010;
	cursor: pointer;
	font-weight: 950;
	min-height: 50px;
	padding: 12px 20px;
	text-transform: uppercase;
}

.cip-form > button {
	grid-column: 1 / -1;
	white-space: nowrap;
	width: 100%;
}

.cip-form-iframe { border: 0; min-height: 460px; width: 100%; }

.brand-orbit {
	height: clamp(350px, 36vw, 515px);
	left: 50%;
	max-width: 680px;
	position: absolute;
	top: 76%;
	transform: translate(-50%, 0);
	width: min(55vw, 680px);
	z-index: 8;
}

.brand-orbit__text {
	color: rgba(255,255,255,0.36);
	font-size: clamp(4.2rem, 8.2vw, 7.4rem);
	font-weight: 950;
	left: -18%;
	line-height: 0.88;
	pointer-events: none;
	position: absolute;
	text-transform: lowercase;
	top: 22%;
	z-index: 10;
}

.brand-orbit__text span {
	display: block;
}

.hero-art {
	aspect-ratio: 1;
	left: 50%;
	max-width: 515px;
	position: absolute;
	transform: translateX(-50%);
	width: min(100%, 515px);
	z-index: 13;
}

.hero-art .circle-media {
	opacity: 0.68;
}

.circle-media {
	aspect-ratio: 1;
	border: 1px solid rgba(190,235,156,0.42);
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(0,0,0,0), 0 0 0 4px rgba(190,235,156,0.24), 0 18px 42px rgba(0,0,0,0.18);
	overflow: hidden;
	position: relative;
	transform: scale(var(--circle-scale, 1));
}

button.circle-media {
	cursor: pointer;
	display: block;
	padding: 0;
}

button.circle-media .video-circle__play {
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 16;
}

.circle-media::after {
	background: linear-gradient(135deg, rgba(91,191,104,0.08), rgba(215,236,138,0.06));
	content: "";
	inset: 0;
	position: absolute;
}

.circle-media img,
.video-circle img,
.page-circle img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.hero-art__circle { height: 100%; width: 100%; }

.video-circle {
	align-items: center;
	aspect-ratio: 1;
	background: linear-gradient(135deg, #465157, #111111);
	border: 1px solid rgba(190,235,156,0.44);
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(0,0,0,0), 0 0 0 4px rgba(190,235,156,0.2), 0 18px 44px rgba(0,0,0,0.3);
	cursor: pointer;
	display: flex;
	height: min(54%, 305px);
	justify-content: center;
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: -40%;
	top: 56%;
	transform: scale(var(--circle-scale, 1));
	width: min(54%, 305px);
	z-index: 12;
}

.video-circle.has-overlay::after {
	background: linear-gradient(90deg, rgba(134,200,67,0.52), transparent 58%);
	content: "";
	inset: 0;
	position: absolute;
}

.video-circle__placeholder {
	background:
		linear-gradient(90deg, rgba(134,200,67,0.34) 0 34%, rgba(10,10,10,0.08) 34%),
		radial-gradient(circle at 72% 42%, rgba(255,255,255,0.4), transparent 2.2rem),
		linear-gradient(14deg, #20262a 0 26%, #6d7779 26% 34%, #22272c 34% 43%, #7f8b91 43% 54%, #1d2025 54% 100%);
	height: 100%;
	width: 100%;
}

.video-circle__play {
	background: var(--cip-accent);
	border-radius: 50%;
	box-shadow: 0 0 0 8px rgba(134,200,67,0.24);
	height: 54px;
	position: absolute;
	width: 54px;
	z-index: 2;
}

.video-circle__play::after {
	border-bottom: 11px solid transparent;
	border-left: 17px solid #111111;
	border-top: 11px solid transparent;
	content: "";
	left: 21px;
	position: absolute;
	top: 16px;
}

.scroll-cue,
.just-scroll {
	color: rgba(255,255,255,0.38);
	font-size: 0.72rem;
	text-transform: lowercase;
}

.scroll-cue {
	bottom: 2.1rem;
	position: absolute;
	left: 50%;
	right: auto;
	transform: translateX(-50%);
}

.brand-stage {
	background:
		linear-gradient(90deg, rgba(255,255,255,0.03) 0 16.5%, transparent 16.5% 74%, rgba(255,255,255,0.035) 74% 84%, transparent 84%),
		#101010;
	border-bottom: 0;
	height: clamp(245px, 27vw, 390px);
	position: relative;
	pointer-events: none;
	z-index: 1;
}

.logos-section {
	background: #101010;
	border-top: 0;
	min-height: clamp(430px, 48vh, 560px);
	padding: clamp(4.8rem, 7vw, 7rem) 26px clamp(4rem, 7vw, 7rem);
	position: relative;
	z-index: 1;
}

.logos-section::after {
	background: linear-gradient(90deg, var(--cip-accent), var(--cip-pale));
	bottom: 0;
	content: "";
	height: 16px;
	left: 0;
	position: absolute;
	width: 66%;
}

.logos-grid {
	display: grid;
	gap: 2.2rem 3rem;
	grid-template-columns: repeat(4, 1fr);
}

.logos-grid span {
	color: var(--cip-white);
	font-family: Georgia, serif;
	font-size: clamp(1rem, 1.8vw, 1.45rem);
	font-weight: 900;
}

.logos-bottom { display: flex; justify-content: flex-end; margin-top: 3rem; }

.logos-section--marquee {
	min-height: 0;
	overflow: hidden;
}

.logos-section--marquee .section-inner {
	margin-bottom: 2.5rem;
}

.logos-section--marquee h2 {
	max-width: 820px;
}

.brand-marquee {
	overflow: hidden;
	width: 100%;
}

.brand-marquee__track {
	animation: cip-brand-scroll 34s linear infinite;
	display: flex;
	gap: 1rem;
	width: max-content;
}

.brand-marquee:hover .brand-marquee__track {
	animation-play-state: paused;
}

.brand-card {
	align-items: center;
	background: #171717;
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: var(--cip-radius);
	color: var(--cip-white);
	display: inline-flex;
	gap: 1rem;
	min-height: 104px;
	min-width: clamp(220px, 22vw, 330px);
	padding: 22px 26px;
}

.brand-card img {
	border-radius: 6px;
	height: 52px;
	object-fit: contain;
	width: 86px;
}

.brand-card span {
	font-family: Georgia, serif;
	font-size: clamp(1rem, 1.6vw, 1.35rem);
	font-weight: 900;
	line-height: 1.12;
}

@keyframes cip-brand-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.story-panel {
	display: grid;
	grid-template-columns: minmax(0, 50%) minmax(0, 50%);
	min-height: 680px;
	overflow: hidden;
	padding: clamp(5rem, 9vw, 9rem) 26px;
	position: relative;
}

.story-panel--light {
	background:
		linear-gradient(90deg, #f7f7f7 0 13%, #d8d8d8 13% 29%, #eeeeee 29% 46%, #ffffff 46%);
	color: var(--cip-text);
}

.story-panel--dark {
	background:
		linear-gradient(90deg, #0c0c0c 0 13%, #151515 13% 29%, #202020 29% 46%, #111111 46%);
	color: var(--cip-white);
}

.story-panel--split-circle {
	background:
		linear-gradient(90deg, #f7f7f7 0 13%, #cfcfcf 13% 29%, #e9e9e9 29% 46%, #ffffff 46%);
	color: var(--cip-text);
}

.story-panel--offset-white {
	background:
		linear-gradient(90deg, #f5f5f5 0 13%, #d5d5d5 13% 29%, #e8e8e8 29% 46%, #111111 46%);
	color: var(--cip-white);
}

.story-panel--no-circle .story-panel__outline,
.story-panel.no-circle .story-panel__outline {
	display: none;
}

.story-panel--drama-circle .story-panel__outline {
	background: #ffffff;
	border: 1px solid rgba(0,0,0,0.16);
	bottom: auto;
	box-shadow: 0 0 0 3px rgba(255,255,255,0.22), 0 0 0 5px rgba(0,0,0,0.16);
	height: clamp(250px, 32vw, 430px);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: clamp(250px, 32vw, 430px);
	z-index: 2;
}

.story-panel--boundary-green .story-panel__circle {
	height: clamp(260px, 34vw, 470px);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) scale(var(--circle-scale, 1));
	width: clamp(260px, 34vw, 470px);
	z-index: 2;
}

.story-panel--boundary-green .circle-media {
	box-shadow: 0 0 0 4px rgba(0,0,0,0), 0 0 0 5px rgba(134,200,67,0.22), 0 18px 42px rgba(0,0,0,0.12);
	opacity: 0.92;
}

.story-panel--boundary-green .circle-media::after {
	background: linear-gradient(135deg, rgba(91,191,104,0.16), rgba(215,236,138,0.12));
}

.story-panel--boundary-green .story-panel__content,
.story-panel--drama-circle .story-panel__content {
	justify-self: center;
	margin-left: clamp(3.5rem, 8vw, 8rem);
	max-width: min(34vw, 520px);
}

.story-panel--extra-one {
	min-height: 700px;
}

.story-panel--extra-one .story-panel__outline {
	height: clamp(260px, 32vw, 420px);
	width: clamp(260px, 32vw, 420px);
}

.story-panel--extra-two,
.story-panel--extra-three {
	min-height: 700px;
}

.story-panel--extra-two .story-panel__circle,
.story-panel--extra-three .story-panel__circle {
	height: clamp(300px, 35vw, 480px);
	width: clamp(300px, 35vw, 480px);
}

.story-panel--extra-two .story-panel__outline,
.story-panel--extra-three .story-panel__outline {
	border-color: rgba(180,180,180,0.22);
	height: clamp(230px, 29vw, 390px);
	left: 47%;
	top: 49%;
	transform: translate(-50%, -50%);
	width: clamp(230px, 29vw, 390px);
}

.story-panel--extra-two .story-panel__content,
.story-panel--extra-three .story-panel__content {
	margin-left: clamp(4rem, 9vw, 9rem);
}

.story-panel__word {
	color: transparent;
	font-size: clamp(5rem, 12vw, 13rem);
	font-weight: 950;
	left: 7%;
	line-height: 0.84;
	opacity: 0.74;
	position: absolute;
	text-transform: lowercase;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	-webkit-text-stroke: 1px rgba(32,32,32,0.62);
	writing-mode: vertical-rl;
	z-index: 1;
}

.story-panel--dark .story-panel__word { -webkit-text-stroke-color: rgba(255,255,255,0.16); }

.story-panel__content {
	align-self: center;
	grid-column: 2;
	justify-self: center;
	margin-left: 0;
	max-width: 520px;
	position: relative;
	z-index: 3;
}

.story-panel__content p { color: inherit; opacity: 0.72; }

.story-panel .cip-expandable-text {
	margin-bottom: 0.65rem;
}

.story-panel .cip-expandable-text__body {
	max-height: 178px;
}

.story-panel .cip-expandable-text__body p {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	margin-bottom: 1rem;
	opacity: 0.72;
}

.story-panel .cip-expandable-text__body p:last-child {
	margin-bottom: 0;
}

.story-panel .cip-expandable-text .cip-read-more-toggle {
	margin-bottom: 0.4rem;
}

.story-panel__circle {
	height: clamp(220px, 34vw, 430px);
	left: 11%;
	position: absolute;
	top: 18%;
	width: clamp(220px, 34vw, 430px);
	z-index: 2;
}

.story-panel__outline,
.outline-circle {
	border: 1px solid rgba(134,200,67,0.12);
	border-radius: 50%;
	height: clamp(220px, 32vw, 430px);
	position: absolute;
	width: clamp(220px, 32vw, 430px);
}

.story-panel__outline { bottom: 16%; left: 35%; }

.story-panel::after {
	background: #101010;
	bottom: 0;
	content: "";
	height: 1px;
	position: absolute;
	right: 0;
	width: 50%;
}

.story-panel .cip-button {
	margin-top: 0.65rem;
}

.cinematic-split-section {
	background:
		linear-gradient(90deg, var(--cinematic-left-bg, #d9d9d9) 0 36%, var(--cinematic-right-bg, #171514) 36% 100%);
	border-bottom: 1px solid rgba(183,214,80,0.32);
	border-top: 1px solid rgba(0,0,0,0.48);
	min-height: 760px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.cinematic-split-section__circle {
	aspect-ratio: 1;
	background: #ffffff;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 50%;
	box-shadow:
		0 0 0 2px rgba(255,255,255,0.36),
		0 0 0 4px rgba(0,0,0,0.06),
		12px 0 0 rgba(0,0,0,0.9),
		18px 0 0 rgba(255,255,255,0.16);
	height: clamp(340px, 29vw, 440px);
	left: 36%;
	overflow: hidden;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: clamp(340px, 29vw, 440px);
	z-index: 2;
}

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

.cinematic-split-section__content {
	left: 54%;
	max-width: 560px;
	position: absolute;
	top: 13%;
	z-index: 3;
}

.cinematic-split-section__dots {
	background-image: radial-gradient(var(--cinematic-dot, #b7d650) 1.7px, transparent 1.7px);
	background-size: 8px 8px;
	display: block;
	height: 22px;
	margin-bottom: 2.15rem;
	width: 30px;
}

.cinematic-split-section h2 {
	color: #ffffff;
	font-size: clamp(2.15rem, 3vw, 2.65rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.08;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
	max-width: 560px;
	text-shadow: 0 3px 0 rgba(0,0,0,0.5);
}

.cinematic-split-section p {
	color: #c9c9c9;
	font-size: calc(clamp(0.95rem, 1.05vw, 1rem) * var(--cip-body-scale));
	font-weight: 650;
	line-height: 1.8;
	margin-bottom: 1.55rem;
	max-width: 560px;
}

.cinematic-split-section__button {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 950;
	justify-content: center;
	line-height: 1.2;
	margin-top: 0.6rem;
	min-height: 50px;
	padding: 14px 28px;
	text-align: center;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
	white-space: normal;
}

.cinematic-split-section__button:hover,
.cinematic-split-section__button:focus-visible {
	transform: translateY(-2px);
}

.cinematic-split-section__button--solid {
	background: linear-gradient(135deg, var(--cip-pale), var(--cip-accent));
	box-shadow: 0 16px 42px rgba(134,200,67,0.18);
	color: #101010;
}

.cinematic-split-section__button--outline {
	background: transparent;
	border: 1px solid rgba(183,214,80,0.65);
	color: var(--cinematic-dot, #b7d650);
}

.cinematic-split-section__scroll {
	align-items: center;
	bottom: 8.6%;
	color: rgba(255,255,255,0.52);
	display: flex;
	font-size: 0.82rem;
	font-weight: 650;
	gap: 1.4rem;
	position: absolute;
	right: 7.6%;
	text-transform: lowercase;
	z-index: 3;
}

.cinematic-split-section__scroll i {
	background: rgba(255,255,255,0.32);
	display: block;
	height: 2px;
	width: 108px;
}

.cinematic-split-section__scroll b {
	background: var(--cinematic-dot, #b7d650);
	border-radius: 50%;
	display: block;
	height: 6px;
	width: 6px;
}

.bright-split-circle-section {
	background:
		linear-gradient(90deg, var(--bright-left-bg, #cfcfcf) 0 35%, var(--bright-right-bg, #ffffff) 35% 100%);
	border-bottom: 1px solid rgba(0,0,0,0.28);
	border-top: 1px solid rgba(0,0,0,0.18);
	min-height: 760px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.bright-split-circle-section__circle {
	aspect-ratio: 1;
	background:
		radial-gradient(circle at 82% 12%, rgba(255,237,185,0.88), transparent 25%),
		linear-gradient(135deg, #54b86d 0%, #8ccd33 62%, #d7ec8a 100%);
	border: 2px solid rgba(255,255,255,0.88);
	border-radius: 50%;
	box-shadow:
		0 0 0 2px rgba(134,200,67,0.55),
		0 0 0 5px rgba(255,255,255,0.52),
		0 22px 42px rgba(0,0,0,0.08);
	height: clamp(390px, 34vw, 520px);
	left: 35%;
	overflow: hidden;
	position: absolute;
	top: 43%;
	transform: translate(-50%, -50%);
	width: clamp(390px, 34vw, 520px);
	z-index: 3;
}

.bright-split-circle-section__circle img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.bright-split-circle-section__outline {
	border: 2px solid #e5e5e5;
	border-radius: 50%;
	height: clamp(270px, 24vw, 360px);
	left: 43%;
	position: absolute;
	top: 61%;
	transform: translate(-50%, -50%);
	width: clamp(270px, 24vw, 360px);
	z-index: 1;
}

.bright-split-circle-section__outline::after {
	border: 1px solid rgba(200,200,200,0.45);
	border-radius: 50%;
	content: "";
	inset: -10px;
	position: absolute;
}

.bright-split-circle-section__content {
	left: 60%;
	max-width: 460px;
	position: absolute;
	top: 96px;
	z-index: 4;
}

.bright-split-circle-section__dots {
	background-image: radial-gradient(var(--bright-dot, #b7d650) 1.7px, transparent 1.7px);
	background-size: 8px 8px;
	display: block;
	height: 22px;
	margin-bottom: 2.15rem;
	width: 30px;
}

.bright-split-circle-section h2 {
	color: #050505;
	font-size: clamp(2.15rem, 3vw, 2.65rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.08;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
	max-width: 460px;
}

.bright-split-circle-section p {
	color: #222222;
	font-size: calc(clamp(0.95rem, 1.05vw, 1rem) * var(--cip-body-scale));
	font-weight: 650;
	line-height: 1.8;
	margin-bottom: 1.55rem;
	max-width: 460px;
}

.bright-split-circle-section__button {
	align-items: center;
	background: linear-gradient(135deg, var(--cip-pale), var(--cip-accent));
	border-radius: 999px;
	box-shadow: 0 14px 38px rgba(134,200,67,0.18);
	color: #101010;
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 950;
	justify-content: center;
	line-height: 1.2;
	margin-top: 0.6rem;
	min-height: 50px;
	padding: 14px 28px;
	text-align: center;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease;
	white-space: normal;
}

.bright-split-circle-section__button:hover,
.bright-split-circle-section__button:focus-visible {
	box-shadow: 0 18px 48px rgba(134,200,67,0.3);
	transform: translateY(-2px);
}

.bright-split-circle-section__scroll {
	align-items: center;
	bottom: 8.25%;
	color: rgba(0,0,0,0.38);
	display: flex;
	font-size: 0.82rem;
	font-weight: 650;
	gap: 1.4rem;
	position: absolute;
	right: 7.2%;
	text-transform: lowercase;
	z-index: 4;
}

.bright-split-circle-section__scroll i {
	background: rgba(0,0,0,0.18);
	display: block;
	height: 2px;
	width: 108px;
}

.bright-split-circle-section__scroll b {
	background: var(--bright-dot, #b7d650);
	border-radius: 50%;
	display: block;
	height: 6px;
	width: 6px;
}

.cip-expandable-text {
	position: relative;
}

.cip-expandable-text__body {
	max-height: 178px;
	overflow: hidden;
	position: relative;
	transition: max-height 240ms ease;
}

.cip-expandable-text:not(.is-expanded) .cip-expandable-text__body::after {
	background: linear-gradient(180deg, transparent, var(--cinematic-right-bg, #171514));
	bottom: 0;
	content: "";
	height: 72px;
	left: 0;
	position: absolute;
	right: 0;
}

.cip-expandable-text--bright:not(.is-expanded) .cip-expandable-text__body::after {
	background: linear-gradient(180deg, transparent, var(--bright-right-bg, #ffffff));
}

.cip-expandable-text.is-expanded .cip-expandable-text__body {
	max-height: none;
}

.cip-read-more-toggle {
	background: transparent;
	border: 0;
	color: var(--cip-accent);
	cursor: pointer;
	font-size: 0.82rem;
	font-weight: 950;
	margin: 0.25rem 0 1.1rem;
	padding: 0;
	position: relative;
	text-transform: uppercase;
	z-index: 8;
}

.cinematic-split-section.is-copy-expanded,
.bright-split-circle-section.is-copy-expanded {
	overflow: visible;
}

.bright-split-circle-section .cip-read-more-toggle {
	color: #315d12;
}

.services-section,
.process-section,
.results-section,
.testimonials-section,
.faq-section,
.application-section,
.footer-cta-section,
.archive-wrap,
.content-section {
	padding: clamp(5rem, 9vw, 9rem) 26px;
	position: relative;
}

.services-section,
.testimonials-section {
	background: var(--cip-light);
	color: var(--cip-text);
}

.testimonials-section {
	background: linear-gradient(180deg, #ffffff 0%, #f8faf5 100%);
	padding-bottom: clamp(3rem, 5vw, 4.75rem);
	padding-top: clamp(3rem, 5vw, 4.75rem);
}

.services-section p,
.testimonials-section p { color: #4a4a4a; }

.services-section h1,
.services-section h2,
.services-section h3,
.testimonials-section h1,
.testimonials-section h2,
.testimonials-section h3,
.story-panel--light h1,
.story-panel--light h2,
.story-panel--light h3,
.story-panel--split-circle h1,
.story-panel--split-circle h2,
.story-panel--split-circle h3 {
	color: var(--cip-text);
}

.service-grid,
.stats-grid,
.testimonial-grid,
.post-grid {
	display: grid;
	gap: 1rem;
	margin: 3rem 0;
}

.service-grid { grid-template-columns: repeat(3, 1fr); }

.service-grid article,
.testimonial-grid article,
.post-card {
	background: #ffffff;
	border: 1px solid #d8d8d8;
	border-radius: var(--cip-radius);
	padding: 28px;
}

.testimonials-section__head {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.5rem;
}

.testimonials-section__head > div:first-child {
	max-width: 820px;
}

.testimonials-section__actions {
	flex: 0 0 auto;
	margin-top: 0.3rem;
}

.service-icon {
	background: var(--cip-accent);
	border-radius: 50%;
	display: block;
	height: 18px;
	margin-bottom: 1.2rem;
	width: 18px;
}

.cip-service-v2-section {
	background:
		radial-gradient(circle at 86% 8%, rgba(134,200,67,0.18), transparent 22rem),
		radial-gradient(circle at 12% 0%, rgba(134,200,67,0.08), transparent 18rem),
		#0a0d14;
	color: var(--cip-white);
}

.cip-service-v2-head {
	max-width: 860px;
}

.cip-service-v2-head h2 {
	font-size: calc(clamp(2.2rem, 5vw, 5rem) * var(--cip-heading-scale));
	line-height: 0.94;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.cip-service-v2-head p {
	color: rgba(255,255,255,0.68);
	max-width: 760px;
}

.cip-service-v2-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 2.75rem;
}

.cip-service-v2-card {
	background:
		linear-gradient(135deg, rgba(134,200,67,0.10), transparent 44%),
		linear-gradient(180deg, rgba(10,16,12,0.98), rgba(6,9,7,0.98));
	border: 1px solid rgba(134,200,67,0.18);
	border-radius: 18px;
	box-shadow: 0 24px 70px rgba(0,0,0,0.26), inset 0 1px 0 rgba(255,255,255,0.04);
	min-width: 0;
	padding: 24px;
}

.cip-service-v2-card__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.1rem;
}

.cip-service-v2-card__icon {
	background: linear-gradient(135deg, rgba(134,200,67,0.96), rgba(108,160,35,0.92));
	border-radius: 18px;
	box-shadow: 0 10px 26px rgba(134,200,67,0.22);
	display: inline-flex;
	height: 44px;
	overflow: hidden;
	position: relative;
	width: 44px;
}

.cip-service-v2-card__icon::before {
	border: 2px solid rgba(255,255,255,0.88);
	border-radius: 50%;
	content: "";
	height: 15px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 15px;
}

.cip-service-v2-card__icon::after {
	background: rgba(255,255,255,0.9);
	content: "";
	height: 2px;
	position: absolute;
	right: 7px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 10px;
}

.cip-service-v2-card__icon--image::before,
.cip-service-v2-card__icon--image::after {
	display: none;
}

.cip-service-v2-card__icon--image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cip-service-v2-card__top small {
	color: rgba(255,255,255,0.42);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.cip-service-v2-card h3 {
	font-size: clamp(1.55rem, 2.4vw, 2.3rem);
	line-height: 0.98;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.cip-service-v2-card__subtitle {
	color: rgba(255,255,255,0.82);
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.45;
	margin-bottom: 0.55rem;
}

.cip-service-v2-card__body {
	color: rgba(255,255,255,0.66);
	font-size: 0.98rem;
	line-height: 1.55;
	margin-bottom: 1rem;
}

.cip-service-v2-card__points {
	display: grid;
	gap: 0.7rem;
	list-style: none;
	margin: 0 0 1.15rem;
	padding: 0;
}

.cip-service-v2-card__points li {
	align-items: start;
	color: rgba(255,255,255,0.78);
	display: grid;
	gap: 0.65rem;
	grid-template-columns: 14px minmax(0, 1fr);
	line-height: 1.45;
}

.cip-service-v2-card__points li span:first-child {
	background: var(--cip-accent);
	border-radius: 999px;
	box-shadow: 0 0 0 5px rgba(134,200,67,0.08);
	height: 9px;
	margin-top: 0.42rem;
	width: 9px;
}

.cip-service-v2-card__button {
	align-items: center;
	background: transparent;
	border: 1px solid rgba(134,200,67,0.42);
	border-radius: 999px;
	color: var(--cip-pale);
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 900;
	justify-content: center;
	min-height: 42px;
	padding: 0.7rem 1rem;
	text-transform: uppercase;
}

.cip-service-v2-card__button:hover,
.cip-service-v2-card__button:focus-visible {
	background: rgba(134,200,67,0.12);
	border-color: rgba(134,200,67,0.68);
	color: var(--cip-white);
}

.cip-service-v2-card__button--disabled {
	opacity: 0.66;
}

.process-section,
.results-section,
.faq-section,
.application-section,
.footer-cta-section {
	background: var(--cip-dark);
}

.process-list {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
}

.process-list article,
.stats-grid article,
.faq-list details {
	background: var(--cip-charcoal);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: var(--cip-radius);
	padding: 30px;
}

.process-list span,
.stats-grid strong {
	color: var(--cip-accent);
	display: block;
	font-size: clamp(2.4rem, 5vw, 5.5rem);
	font-weight: 950;
	line-height: 0.9;
}

.stats-grid { grid-template-columns: repeat(4, 1fr); }
.stats-grid span { color: var(--cip-muted); font-weight: 900; text-transform: uppercase; }

.results-orbit {
	right: -8%;
	top: 8%;
}

.testimonial-circle {
	display: none;
	height: clamp(210px, 28vw, 380px);
	position: absolute;
	right: 6%;
	top: -12%;
	width: clamp(210px, 28vw, 380px);
}

.testimonial-grid { grid-template-columns: repeat(3, 1fr); }

.testimonial-grid article {
	background:
		linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,247,247,0.92));
	box-shadow: 0 18px 38px rgba(0,0,0,0.06);
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.avatar {
	background: linear-gradient(135deg, var(--cip-soft), var(--cip-pale));
	border: 2px solid rgba(134,200,67,0.16);
	border-radius: 50%;
	height: 76px;
	margin-bottom: 1.1rem;
	overflow: hidden;
	width: 76px;
}

blockquote { margin: 0 0 1rem; }
cite { color: var(--cip-text); font-style: normal; font-weight: 950; }
cite span { color: #666666; display: block; font-weight: 700; }

.testimonial-grid blockquote {
	color: #111111;
	font-size: 0.98rem;
	line-height: 1.65;
	margin: 0;
}

.testimonial-grid cite {
	color: #4a4a4a;
	margin-top: auto;
}

.testimonial-grid cite span {
	color: #6e6e6e;
	font-size: 0.84rem;
	font-weight: 650;
	margin-top: 0.12rem;
}

.cip-success-wall {
	--cip-testimonial-gap: clamp(0.9rem, 1.8vw, 1.25rem);
	margin-top: 1rem;
	min-width: 0;
	position: relative;
}

.cip-success-wall__head {
	margin-bottom: clamp(1rem, 2vw, 1.45rem);
}

.cip-success-wall__actions {
	align-items: center;
	display: flex;
	gap: 0.55rem;
}

.cip-success-wall__arrow {
	align-items: center;
	appearance: none;
	background: linear-gradient(135deg, var(--cip-accent), #a8dc63);
	border: 1px solid rgba(17,17,17,0.16);
	border-radius: 999px;
	box-shadow: 0 14px 30px rgba(134,200,67,0.28);
	color: #111111;
	cursor: pointer;
	display: inline-flex;
	font-size: 2rem;
	font-weight: 700;
	height: 44px;
	justify-content: center;
	line-height: 1;
	padding: 0 0 4px;
	transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
	width: 44px;
}

.cip-success-wall__arrow:hover,
.cip-success-wall__arrow:focus-visible {
	background: linear-gradient(135deg, #b4e66f, var(--cip-accent));
	border-color: rgba(17,17,17,0.28);
	outline: none;
	transform: translateY(-1px);
}

.cip-success-wall__viewport {
	cursor: grab;
	margin-inline: calc(var(--cip-testimonial-gap) * -0.5);
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	padding: 0.25rem calc(var(--cip-testimonial-gap) * 0.5) 0.75rem;
	scroll-behavior: smooth;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}

.cip-success-wall__viewport:active {
	cursor: grabbing;
}

.cip-success-wall__viewport:focus-visible {
	outline: 2px solid var(--cip-accent);
	outline-offset: 5px;
}

.cip-success-wall__grid {
	display: grid;
	gap: var(--cip-testimonial-gap);
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--cip-testimonial-gap) * (var(--cip-testimonial-desktop) - 1))) / var(--cip-testimonial-desktop));
	grid-template-rows: repeat(var(--cip-testimonial-rows), clamp(220px, 19vw, 270px));
	min-width: 100%;
}

.cip-success-card {
	border-radius: 18px;
	height: 100%;
	min-height: 0;
	perspective: 1200px;
	scroll-snap-align: start;
}

.cip-success-card__inner {
	border-radius: inherit;
	box-shadow: 0 22px 54px rgba(0,0,0,0.18);
	height: 100%;
	position: relative;
	transform-style: preserve-3d;
	transition: transform 620ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 220ms ease;
	width: 100%;
}

.cip-success-card--flip:hover .cip-success-card__inner,
.cip-success-card--flip:focus-visible .cip-success-card__inner,
.cip-success-card--flip.is-flipped .cip-success-card__inner {
	transform: rotateY(180deg) scale(1.015);
}

.cip-success-card:focus-visible {
	outline: 2px solid var(--cip-accent);
	outline-offset: 5px;
}

.cip-success-card:hover .cip-success-card__inner {
	box-shadow: 0 28px 68px rgba(0,0,0,0.24);
}

.cip-success-card__face {
	backface-visibility: hidden;
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: inherit;
	inset: 0;
	overflow: hidden;
	position: absolute;
}

.cip-success-card__front {
	background: #111111;
	color: var(--cip-white);
}

.cip-success-card__front img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
	width: 100%;
}

.cip-success-card__overlay {
	background:
		linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.28) 38%, rgba(0,0,0,0.84) 100%),
		linear-gradient(135deg, rgba(134,200,67,0.18), transparent 45%);
	inset: 0;
	position: absolute;
}

.cip-success-card__front-copy {
	bottom: 0;
	display: grid;
	gap: 0.26rem;
	left: 0;
	padding: clamp(0.85rem, 1.4vw, 1.05rem);
	position: absolute;
	right: 0;
	z-index: 1;
}

.cip-success-card__front-copy h3 {
	color: var(--cip-white);
	font-size: clamp(1rem, 1.35vw, 1.24rem);
	line-height: 1.08;
	margin: 0;
	text-transform: uppercase;
}

.cip-success-card__front-copy p,
.cip-success-card__front-copy small {
	color: rgba(255,255,255,0.84);
	font-size: 0.88rem;
	line-height: 1.35;
	margin: 0;
}

.cip-success-card__front-copy small {
	font-weight: 800;
}

.cip-success-card__result,
.cip-success-card__rating {
	align-self: start;
	background: rgba(134,200,67,0.92);
	border-radius: 999px;
	color: #0b1207;
	display: inline-flex;
	font-size: 0.66rem;
	font-weight: 950;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 0.15rem;
	padding: 0.42rem 0.58rem;
	text-transform: uppercase;
	width: fit-content;
}

.cip-success-card__rating {
	background: rgba(255,255,255,0.9);
	color: #151515;
}

.cip-success-card__back {
	background:
		linear-gradient(135deg, rgba(134,200,67,0.13), transparent 42%),
		linear-gradient(180deg, #151515, #070707);
	color: var(--cip-white);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(0.9rem, 1.5vw, 1.15rem);
	transform: rotateY(180deg);
}

.cip-success-card__back blockquote {
	color: rgba(255,255,255,0.88);
	font-size: clamp(0.86rem, 1vw, 0.98rem);
	line-height: 1.46;
	margin: 0.7rem 0 0;
}

.cip-success-card__back-meta {
	display: grid;
	gap: 0.22rem;
}

.cip-success-card__back-meta strong {
	color: var(--cip-white);
	font-size: 1rem;
	text-transform: uppercase;
}

.cip-success-card__back-meta span {
	color: rgba(255,255,255,0.72);
}

.cip-success-card__back-meta em {
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(134,200,67,0.32);
	border-radius: 999px;
	color: var(--cip-accent);
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 950;
	margin-top: 0.55rem;
	padding: 0.45rem 0.62rem;
	text-transform: uppercase;
	width: fit-content;
}

.cip-success-card--no-flip .cip-success-card__back {
	display: none;
}

@media (max-width: 1000px) {
	.cip-success-wall__grid {
		grid-auto-columns: calc((100% - (var(--cip-testimonial-gap) * (var(--cip-testimonial-tablet) - 1))) / var(--cip-testimonial-tablet));
		grid-template-rows: repeat(var(--cip-testimonial-rows), clamp(230px, 34vw, 290px));
	}
}

@media (max-width: 680px) {
	.testimonials-section {
		padding-bottom: 3rem;
		padding-top: 3rem;
	}

	.cip-success-wall__head {
		align-items: start;
	}

	.cip-success-wall__actions {
		width: 100%;
	}

	.cip-success-wall__actions .cip-button {
		margin-right: auto;
	}

	.cip-success-wall__grid {
		grid-auto-columns: calc((100% - (var(--cip-testimonial-gap) * (var(--cip-testimonial-mobile) - 1))) / var(--cip-testimonial-mobile));
		grid-template-rows: clamp(360px, 118vw, 460px);
	}

	.cip-success-card {
		min-height: 0;
	}
}

.faq-list {
	display: grid;
	gap: 0.8rem;
}

.faq-list summary {
	cursor: pointer;
	font-weight: 950;
}

.faq-list p { margin-top: 1rem; }

.footer-cta-section {
	background:
		radial-gradient(circle at 14% 20%, rgba(134,200,67,0.22), transparent 24rem),
		var(--cip-black);
	text-align: center;
}

.footer-cta-section .section-inner { max-width: 880px; }
.footer-cta-section .dot-mark { margin-left: auto; margin-right: auto; }

.site-footer {
	background: #080808;
	border-top: 1px solid rgba(134,200,67,0.22);
	padding: 4rem 26px 2rem;
}

.site-footer__inner {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1.2fr 0.8fr 0.8fr 1fr;
	margin: 0 auto;
	max-width: var(--cip-max);
}

.site-footer h3 { font-size: 1rem; }
.site-footer a:hover { color: var(--cip-accent); }

.footer-socials { display: flex; gap: 0.7rem; }
.footer-socials a {
	align-items: center;
	border: 1px solid var(--cip-line);
	border-radius: 50%;
	color: #ffffff;
	display: flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.footer-socials .header-menu__icon {
	height: 18px;
	width: 18px;
}

.footer-newsletter form { display: flex; gap: 0.5rem; }
.site-footer__bottom {
	border-top: 1px solid rgba(255,255,255,0.08);
	margin: 2.5rem auto 0;
	max-width: var(--cip-max);
	padding-top: 1.2rem;
}

.page-hero {
	background:
		radial-gradient(circle at 80% 20%, rgba(134,200,67,0.16), transparent 22rem),
		var(--cip-dark);
	padding: clamp(5rem, 10vw, 9rem) 26px;
}

.page-hero h1 { max-width: 920px; }
.page-circle { height: clamp(220px, 32vw, 420px); width: clamp(220px, 32vw, 420px); }

.content-body {
	background: #ffffff;
	color: var(--cip-text);
	border-radius: var(--cip-radius);
	padding: clamp(2rem, 5vw, 4rem);
}

.content-body p { color: #3f3f3f; }
.content-body a { color: var(--cip-accent); text-decoration: underline; }

.single-featured {
	border-radius: var(--cip-radius);
	margin-bottom: 2rem;
	overflow: hidden;
}

.post-grid { grid-template-columns: repeat(3, 1fr); }
.post-card h2 { font-size: clamp(1.4rem, 2.4vw, 2.2rem); }
.text-link { color: var(--cip-accent); font-weight: 950; text-transform: uppercase; }

.video-modal {
	align-items: center;
	background: rgba(0,0,0,0.96);
	display: none;
	inset: 0;
	justify-content: center;
	padding: clamp(18px, 4vw, 48px);
	position: fixed;
	z-index: 999;
}

.video-modal.is-open { display: flex; }

.video-modal__inner {
	aspect-ratio: 16 / 9;
	background: #000000;
	border: 1px solid var(--cip-line);
	box-shadow: 0 34px 100px rgba(0,0,0,0.82);
	max-height: calc(100vh - 96px);
	max-width: min(100%, 1440px);
	position: relative;
	width: 100%;
}

.video-modal__frame,
.video-modal iframe,
.video-modal video {
	border: 0;
	height: 100%;
	width: 100%;
}

.video-modal__close {
	background: var(--cip-accent);
	border: 0;
	border-radius: 50%;
	color: #111111;
	cursor: pointer;
	font-size: 1.8rem;
	font-weight: 950;
	height: 46px;
	position: absolute;
	right: -18px;
	top: -18px;
	width: 46px;
}

.reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 520ms ease, transform 520ms ease;
}

.reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 1000px) {
	body.admin-bar .site-header { top: 46px; }
	.primary-nav { display: none; }
	.menu-toggle { display: block; }
	.split { grid-template-columns: 1fr; }
	.logos-grid, .service-grid, .stats-grid, .testimonial-grid, .post-grid, .site-footer__inner { grid-template-columns: repeat(2, 1fr); }
	.story-panel__content { max-width: 460px; }
	.story-panel__word { font-size: clamp(4.5rem, 15vw, 9rem); }
	.hero-side-buttons {
		right: 4%;
	}
	.cinematic-split-section {
		min-height: 690px;
	}
	.cinematic-split-section__circle {
		height: clamp(270px, 36vw, 350px);
		width: clamp(270px, 36vw, 350px);
	}
	.cinematic-split-section__content {
		left: 52%;
		max-width: 42%;
	}
	.cinematic-split-section h2 {
		font-size: clamp(1.9rem, 3.5vw, 2.35rem);
		margin-bottom: clamp(3.5rem, 7vw, 5.5rem);
	}
	.bright-split-circle-section {
		min-height: 690px;
	}
	.bright-split-circle-section__circle {
		height: clamp(310px, 42vw, 420px);
		width: clamp(310px, 42vw, 420px);
	}
	.bright-split-circle-section__outline {
		height: clamp(230px, 30vw, 310px);
		width: clamp(230px, 30vw, 310px);
	}
	.bright-split-circle-section__content {
		left: 59%;
		max-width: 34%;
		top: 100px;
	}
	.bright-split-circle-section h2 {
		font-size: clamp(1.9rem, 3.5vw, 2.35rem);
		margin-bottom: clamp(3.5rem, 7vw, 5.5rem);
	}
}

@media (max-width: 680px) {
	body.admin-bar .site-header { top: 0; }
	h1 { font-size: clamp(2.7rem, 13vw, 4.1rem); }
	h2 { font-size: clamp(2.2rem, 11vw, 3.5rem); }
	.site-header__inner { padding: 0 18px; }
	.hero-section {
		min-height: 600px;
		overflow: visible;
		padding: 0 18px;
	}
	.hero-section__inner {
		display: block;
		height: 64%;
		padding-top: 3.6rem;
	}
	.hero-copy { max-width: 100%; }
	.hero-copy h1 {
		font-size: calc(clamp(2.35rem, 10.5vw, 3.45rem) * var(--cip-heading-scale));
		max-width: 100%;
	}
	.hero-section--editorial .hero-copy h1 {
		font-size: calc(clamp(28px, 6.4vw, 2.35rem) * var(--cip-hero-heading-scale));
		line-height: 0.92;
	}
	.hero-eyebrow {
		font-size: 12px;
		letter-spacing: 0.12em;
	}
	.hero-accent-line {
		font-size: clamp(2rem, 6.9vw, 2.55rem);
		line-height: 0.92;
	}
	.hero-copy p {
		font-size: calc(0.94rem * var(--cip-body-scale));
		max-width: 92%;
	}
	.hero-section--editorial .hero-copy p {
		font-size: calc(17px * var(--cip-body-scale));
		font-weight: 400;
		max-width: 100%;
	}
	.hero-side-buttons {
		align-items: flex-start;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.7rem;
		margin-top: 1rem;
		position: relative;
		right: auto;
		top: auto;
		transform: none;
	}
	.hero-side-buttons .cip-button {
		font-size: 0.75rem;
		min-height: 42px;
		padding: 11px 16px;
	}
	.cip-form { grid-template-columns: 1fr; }
	.brand-orbit {
		height: min(72vw, 320px);
		top: 78%;
		width: min(82vw, 345px);
	}
	.brand-orbit__text {
		font-size: clamp(3rem, 13vw, 4.3rem);
		left: -23%;
		top: 21%;
	}
	.hero-art {
		width: 100%;
	}
	.video-circle {
		height: 52%;
		right: -24%;
		top: 50%;
		width: 52%;
	}
	.brand-stage {
		height: min(68vw, 290px);
		overflow: hidden;
	}
	.logos-section { padding-top: 4.5rem; }
	.logos-grid, .service-grid, .stats-grid, .testimonial-grid, .post-grid, .process-list, .site-footer__inner { grid-template-columns: 1fr; }
	.logos-bottom { justify-content: flex-start; }
	.story-panel {
		display: block;
		min-height: auto;
		padding: 5rem 18px;
	}
	.story-panel__word {
		margin-bottom: 2rem;
		position: relative;
		transform: none;
		writing-mode: initial;
	}
	.story-panel__content { margin-left: 0; }
	.story-panel--boundary-green .story-panel__content,
	.story-panel--drama-circle .story-panel__content {
		margin-left: 0;
		max-width: 100%;
	}
	.story-panel__circle,
	.story-panel__outline {
		margin-bottom: 2rem;
		position: relative;
		top: auto;
		left: auto;
	}
	.story-panel--light,
	.story-panel--split-circle,
	.story-panel--offset-white {
		background: var(--cip-light);
		color: var(--cip-text);
	}
	.cinematic-split-section {
		background: var(--cinematic-right-bg, #171514);
		display: grid;
		grid-template-rows: 310px auto;
		min-height: auto;
	}
	.cinematic-split-section::before {
		background: var(--cinematic-left-bg, #d9d9d9);
		content: "";
		grid-row: 1;
		inset: 0 auto auto 0;
		position: absolute;
		height: 310px;
		width: 100%;
	}
	.cinematic-split-section__circle {
		grid-row: 1;
		height: 240px;
		left: 50%;
		position: relative;
		top: 35px;
		transform: translateX(-50%);
		width: 240px;
	}
	.cinematic-split-section__content {
		grid-row: 2;
		left: auto;
		max-width: 100%;
		padding: 4.2rem 18px 6.5rem;
		position: relative;
		top: auto;
	}
	.cinematic-split-section h2 {
		font-size: clamp(2rem, 9.5vw, 2.7rem);
		margin-bottom: 2.2rem;
	}
	.cinematic-split-section__button {
		width: 100%;
	}
	.cinematic-split-section__scroll {
		bottom: 2.2rem;
		right: 18px;
	}
	.cinematic-split-section__scroll i {
		width: 72px;
	}
	.bright-split-circle-section {
		background: var(--bright-right-bg, #ffffff);
		display: grid;
		grid-template-rows: 360px auto;
		min-height: auto;
	}
	.bright-split-circle-section::before {
		background: var(--bright-left-bg, #cfcfcf);
		content: "";
		height: 360px;
		inset: 0 auto auto 0;
		position: absolute;
		width: 100%;
	}
	.bright-split-circle-section__circle {
		grid-row: 1;
		height: 285px;
		left: 48%;
		position: relative;
		top: 38px;
		transform: translateX(-50%);
		width: 285px;
	}
	.bright-split-circle-section__outline {
		height: 210px;
		left: 59%;
		top: 185px;
		width: 210px;
	}
	.bright-split-circle-section__content {
		grid-row: 2;
		left: auto;
		max-width: 100%;
		padding: 4.2rem 18px 6.5rem;
		position: relative;
		top: auto;
	}
	.bright-split-circle-section h2 {
		font-size: clamp(2rem, 9.5vw, 2.7rem);
		margin-bottom: 2.2rem;
	}
	.bright-split-circle-section__button {
		width: 100%;
	}
	.bright-split-circle-section__scroll {
		bottom: 2.2rem;
		right: 18px;
	}
	.bright-split-circle-section__scroll i {
		width: 72px;
	}
	.cip-button { min-width: 100%; }
	.footer-newsletter form { flex-direction: column; }
	.services-section,
	.process-section,
	.results-section,
	.testimonials-section,
	.faq-section,
	.application-section,
	.footer-cta-section,
	.archive-wrap,
	.content-section { padding-left: 18px; padding-right: 18px; }
}

.cip-page-builder-section .section-inner > .cip-button {
	margin-top: 2rem;
}

.page-hero p {
	color: var(--cip-body-color);
	max-width: 660px;
}

.testimonials-section {
	background: #ffffff;
	color: var(--cip-text);
	padding: clamp(2.75rem, 4.5vw, 4.25rem) 26px;
}

.testimonials-section .section-inner {
	max-width: 1180px;
}

.testimonials-section .cip-success-wall {
	margin-top: 0.75rem;
}

.testimonials-section .cip-success-wall__head {
	margin-bottom: 1.15rem;
}

.testimonials-section .cip-success-wall__viewport {
	background: transparent;
	padding-bottom: 0.6rem;
	padding-top: 0.15rem;
}

.testimonials-section .cip-success-wall__arrow {
	background: var(--cip-accent);
	border-color: rgba(17,17,17,0.18);
	box-shadow: 0 12px 28px rgba(134,200,67,0.24);
	color: #111111;
}

.testimonials-section .cip-success-wall__arrow:hover,
.testimonials-section .cip-success-wall__arrow:focus-visible {
	background: #a8dc63;
	border-color: rgba(17,17,17,0.28);
	color: #111111;
}

@media (max-width: 680px) {
	.testimonials-section {
		padding: 2.75rem 18px;
	}

	.testimonials-section .cip-success-wall__head {
		margin-bottom: 1rem;
	}
}

.cip-page-video {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 320px;
}

.cip-page-video__button {
	position: relative;
}

.cip-page-video__embed {
	aspect-ratio: 16 / 9;
	border-radius: 28px;
	overflow: hidden;
	width: min(100%, 720px);
}

.cip-page-video__embed iframe,
.cip-page-video__embed video {
	border: 0;
	height: 100%;
	width: 100%;
}

.cip-form select,
.cip-form input[type="file"] {
	background: #f4f4f4;
	border: 0;
	border-radius: 999px;
	color: #111111;
	font: inherit;
	min-height: 52px;
	padding: 0 18px;
	width: 100%;
}

.cip-choice-list {
	display: grid;
	gap: 0.6rem;
	text-transform: none;
}

.cip-choice-list label {
	align-items: center;
	color: #111111;
	display: flex;
	font-size: 0.92rem;
	font-weight: 800;
	gap: 0.55rem;
	text-transform: none;
}

.cip-choice-list input {
	width: auto;
}

.cip-hp-field {
	left: -9999px;
	position: absolute;
}


/* Feedback update: hero form, section collections, and mobile stability. */
html { max-width: 100%; overflow-x: clip; }
.site-brand .site-brand__copy { align-items: flex-start; display: inline-flex; flex-direction: column; line-height: 1.05; }
.site-brand__copy strong {
	color: inherit;
	display: block;
	font-size: clamp(1.02rem, 0.55vw + 0.85rem, 1.28rem);
	font-weight: 950;
	letter-spacing: 0;
	white-space: nowrap;
}
.site-brand__copy small {
	color: var(--cip-muted);
	display: block;
	font-size: clamp(0.68rem, 0.18vw + 0.64rem, 0.8rem);
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
}
.hero-section__inner { display: grid; gap: clamp(1.25rem, 3vw, 3rem); grid-template-columns: minmax(0, 1fr) minmax(330px, 470px); height: auto; }
.hero-section--editorial:not(.hero-section--has-form) .hero-section__inner { grid-template-columns: minmax(0, 1fr); }
.hero-copy { max-width: 610px; min-width: 0; }
.hero-section--editorial .hero-copy { max-width: min(100%, 960px); }
.hero-form { align-self: start; justify-self: end; max-width: 470px; padding-top: 0.4rem; width: 100%; z-index: 11; }
.hero-form .cip-form-card { padding: clamp(16px, 2vw, 24px); }
.hero-form .cip-form-card__head p { margin-bottom: 1rem; }
.hero-form .cip-form-card__head h3 { font-size: clamp(1.2rem, 1.7vw, 1.65rem); }
.cip-form__screening { border: 1px solid rgba(255,255,255,0.12); border-radius: 18px; display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0; min-width: 0; padding: 14px 16px; }
.cip-form__screening legend { color: var(--cip-white); font-size: 0.88rem; font-weight: 850; line-height: 1.35; padding: 0 4px; }
.cip-form__screening label { align-items: center; display: flex; gap: 8px; }
.cip-form__screening input { min-height: auto; padding: 0; width: auto; }
.cip-form__screening span { text-transform: none; }
.team-section, .collection-section { padding: clamp(5rem, 9vw, 8rem) 26px; position: relative; }
.team-section { background: var(--cip-dark); }
.collection-section { background: var(--cip-light); color: var(--cip-text); }
.collection-section--service_lines { background: #ffffff; }
.collection-section h1, .collection-section h2, .collection-section h3 { color: var(--cip-text); }
.collection-section p { color: #4a4a4a; }
.collection-head { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; }
.collection-head p { max-width: 700px; }
.collection-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); margin-top: 2.5rem; }
.collection-grid article, .team-card { border: 1px solid rgba(17,17,17,0.12); border-radius: var(--cip-radius); min-width: 0; padding: 28px; }
.collection-grid article { background: #ffffff; }
.collection-card__link { color: inherit; display: block; height: 100%; text-decoration: none; }
.collection-card__link:hover h3,
.collection-card__link:focus-visible h3 { color: var(--cip-accent); }
.collection-section .cip-button { margin-top: 2.5rem; }
.collection-grid img { border-radius: var(--cip-radius); height: 64px; margin-bottom: 1rem; object-fit: cover; width: 64px; }
.team-carousel { display: grid; gap: 1rem; grid-auto-columns: minmax(260px, 360px); grid-auto-flow: column; margin-top: 2.5rem; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.team-card { background: var(--cip-charcoal); border-color: rgba(255,255,255,0.1); scroll-snap-align: start; }
.team-card img, .team-card__image { background: linear-gradient(135deg, var(--cip-soft), var(--cip-accent)); border-radius: 50%; display: block; height: 104px; margin-bottom: 1.25rem; object-fit: cover; width: 104px; }
.team-card strong { color: var(--cip-accent); display: block; margin-bottom: 0.75rem; }
.team-card p { margin-bottom: 0; }
.team-carousel__controls { display: flex; gap: 0.65rem; }
.team-carousel__controls button { background: var(--cip-accent); border: 0; border-radius: 50%; color: #101010; cursor: pointer; font-size: 1.35rem; font-weight: 950; height: 46px; width: 46px; }
@media (max-width: 1000px) { .hero-section__inner { grid-template-columns: 1fr; } .hero-form { justify-self: start; max-width: 640px; } .hero-section { min-height: auto; padding-bottom: clamp(17rem, 36vw, 25rem); } }
@media (max-width: 680px) { body { max-width: 100%; overflow-x: clip; } .hero-section { min-height: auto; overflow: clip; padding-bottom: min(77vw, 330px); } .hero-section__inner { height: auto; } .hero-form { max-width: 100%; } .hero-form .cip-form-card { padding: 16px; } .brand-orbit__text { left: 0; } .video-circle { right: -10%; } .team-section, .collection-section { padding-left: 18px; padding-right: 18px; } .collection-head { align-items: start; flex-direction: column; } .team-carousel { grid-auto-columns: minmax(82vw, 1fr); } }
@media (max-width: 680px) {
	.site-header__inner {
		min-height: 64px;
		padding: 0 18px;
	}

	.site-brand {
		gap: 0.55rem;
		max-width: min(64vw, 320px);
	}

	.custom-logo {
		max-height: 42px;
	}

	.site-brand__copy strong {
		font-size: clamp(0.95rem, 3.2vw, 1.12rem);
	}

	.site-brand__copy small {
		font-size: clamp(0.62rem, 2.1vw, 0.7rem);
	}
}


/* Let edited hero copy and the form push the orbit down before it overlaps the stage. */
@media (min-width: 681px) {
	.hero-section {
		min-height: auto;
		padding-bottom: 0;
	}
	.hero-section .brand-orbit {
		left: auto;
		margin: clamp(2.5rem, 5vw, 4rem) auto calc(-1 * clamp(7rem, 13vw, 11rem));
		position: relative;
		top: auto;
		transform: none;
	}
}
@media (min-width: 1001px) {
	.hero-section .brand-orbit {
		transform: translateX(-8%);
		width: min(48vw, 640px);
	}
}
@media (min-width: 681px) and (max-width: 1000px) {
	.hero-section .brand-orbit { width: min(62vw, 560px); }
}


/* Split sections can be taller when edited copy needs room. */
.cinematic-split-section { min-height: var(--cinematic-min-height, 760px); }
.bright-split-circle-section { min-height: var(--bright-min-height, 760px); }
@media (min-width: 1001px) {
	.hero-section .brand-orbit__text { left: -30%; }
}
@media (max-width: 680px) {
	.cinematic-split-section,
	.bright-split-circle-section { min-height: auto; }
	.cip-form > button {
		font-size: clamp(0.68rem, 3vw, 0.86rem);
		padding-left: 10px;
		padding-right: 10px;
	}
}


/* Mobile hero media follows the full hero copy and form height. */
@media (max-width: 680px) {
	.hero-section {
		display: grid;
		padding-bottom: 0;
	}
	.hero-section .brand-orbit {
		height: min(72vw, 300px);
		left: 50%;
		margin-top: 0.75rem;
		position: relative;
		top: auto;
		transform: translateX(-50%);
		width: min(78vw, 330px);
	}
	.hero-section .brand-stage {
		height: 0;
	}
	.hero-section .hero-art {
		left: 50%;
		width: min(68vw, 280px);
	}
	.hero-section .video-circle {
		height: 46%;
		right: -3%;
		top: 54%;
		width: 46%;
	}
}

.avatar img {
	border-radius: 50%;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cip-theme-section {
	background:
		radial-gradient(circle at 88% 16%, rgba(134,200,67,0.08), transparent 28rem),
		linear-gradient(180deg, #0b0d10, #090909);
	padding: clamp(5rem, 9vw, 8rem) 26px;
	position: relative;
}

.cip-section-kicker {
	align-items: center;
	color: var(--cip-accent);
	display: inline-flex;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.72rem;
	font-weight: 800;
	gap: 0.75rem;
	letter-spacing: 0.18em;
	margin-bottom: 1.7rem;
	text-transform: uppercase;
}

.cip-section-kicker::before {
	background-image: radial-gradient(var(--cip-accent) 1.8px, transparent 1.8px);
	background-size: 8px 8px;
	content: "";
	flex: 0 0 auto;
	height: 22px;
	width: 30px;
}

.cip-button--small-fit {
	min-width: 0;
	width: auto;
}

.cip-proof-cards {
	display: grid;
	gap: clamp(2rem, 5vw, 4.5rem);
	grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
}

.cip-proof-cards__copy h2,
.cip-method-head h2,
.cip-wide-carousel-head h2,
.cip-agency-compare-section h2 {
	font-size: calc(clamp(2.6rem, 6vw, 6.2rem) * var(--cip-heading-scale));
	letter-spacing: 0;
	line-height: 0.94;
	text-transform: uppercase;
}

.cip-proof-cards__copy h2 {
	text-transform: none;
}

.cip-proof-cards__copy p,
.cip-method-head p,
.cip-wide-carousel-head p {
	color: rgba(255,255,255,0.66);
	max-width: 620px;
}

.cip-wide-carousel-section {
	overflow: hidden;
}

.cip-wide-carousel-head {
	max-width: 860px;
}

.cip-wide-card-carousel {
	display: flex;
	gap: clamp(1rem, 2vw, 1.5rem);
	margin-top: 2.5rem;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 0 max(26px, calc((100vw - 1180px) / 2)) 1.2rem;
	scroll-padding-inline: max(26px, calc((100vw - 1180px) / 2));
	scroll-snap-type: inline mandatory;
}

.cip-wide-card-carousel::-webkit-scrollbar {
	height: 10px;
}

.cip-wide-card-carousel::-webkit-scrollbar-track {
	background: rgba(255,255,255,0.06);
	border-radius: 999px;
}

.cip-wide-card-carousel::-webkit-scrollbar-thumb {
	background: rgba(134,200,67,0.52);
	border-radius: 999px;
}

.cip-wide-card {
	aspect-ratio: 16 / 9;
	color: #ffffff;
	flex: 0 0 min(76vw, 1040px);
	min-height: 360px;
	perspective: 1400px;
	position: relative;
	scroll-snap-align: start;
	text-decoration: none;
}

.cip-wide-card__inner {
	height: 100%;
	position: relative;
	transform-style: preserve-3d;
	transition: transform 0.55s ease;
	width: 100%;
}

.cip-wide-card:hover .cip-wide-card__inner,
.cip-wide-card:focus-visible .cip-wide-card__inner,
.cip-wide-card.is-flipped .cip-wide-card__inner {
	transform: rotateY(180deg);
}

.cip-wide-card__face {
	align-items: end;
	backface-visibility: hidden;
	background:
		linear-gradient(135deg, rgba(134,200,67,0.22), transparent 38%),
		linear-gradient(180deg, rgba(16,21,28,0.9), rgba(5,6,8,0.96));
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 18px;
	box-shadow: 0 30px 80px rgba(0,0,0,0.32);
	display: flex;
	height: 100%;
	isolation: isolate;
	inset: 0;
	overflow: hidden;
	padding: clamp(1.4rem, 3vw, 2.4rem);
	position: absolute;
	width: 100%;
}

.cip-wide-card__front::before {
	background-image: var(--cip-wide-card-bg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	inset: 0;
	opacity: var(--cip-wide-card-image-opacity, 0.72);
	position: absolute;
	z-index: -2;
}

.cip-wide-card__back {
	align-items: center;
	background:
		radial-gradient(circle at 82% 18%, rgba(134,200,67,0.18), transparent 24rem),
		linear-gradient(135deg, rgba(13,18,24,0.98), rgba(6,8,10,0.98));
	transform: rotateY(180deg);
}

.cip-wide-card__shade {
	background:
		linear-gradient(90deg, rgba(0,0,0,0.78), rgba(0,0,0,0.25) 58%, rgba(0,0,0,0.6)),
		linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.84));
	inset: 0;
	position: absolute;
	z-index: -1;
}

.cip-wide-card__content {
	display: grid;
	gap: 0.75rem;
	max-width: 620px;
}

.cip-wide-card__content strong {
	color: #ffffff;
	display: block;
	font-size: clamp(2rem, 4.8vw, 5rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 0.94;
	text-transform: uppercase;
}

.cip-wide-card__content span {
	color: rgba(255,255,255,0.82);
	display: block;
	font-size: clamp(1rem, 1.45vw, 1.24rem);
	font-weight: 650;
	line-height: 1.35;
}

.cip-wide-card__back .cip-wide-card__content span {
	color: rgba(255,255,255,0.78);
	font-size: clamp(1rem, 1.55vw, 1.28rem);
	font-weight: 500;
	line-height: 1.45;
}

.cip-wide-card__link {
	align-self: start;
	background: var(--cip-accent);
	border-radius: 999px;
	color: #101010;
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 900;
	justify-self: start;
	margin-top: 0.6rem;
	padding: 0.75rem 1.05rem;
	text-decoration: none;
}

.cip-stat-tile {
	background: #0d0811;
	border: 1px solid rgba(134,200,67,0.28);
	border-radius: var(--cip-radius);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
	margin: 2rem 0 1.2rem;
	padding: 1.5rem;
}

.cip-stat-tile strong {
	color: #ffffff;
	display: block;
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1;
}

.cip-stat-tile span {
	color: var(--cip-muted);
	font-size: 0.82rem;
	font-weight: 850;
}

.cip-proof-card-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cip-proof-card-grid article {
	background: rgba(255,255,255,0.045);
	border: 1px solid rgba(255,255,255,0.09);
	border-radius: 18px;
	padding: clamp(1.4rem, 3vw, 2rem);
}

.cip-check-dot {
	align-items: center;
	background: var(--cip-accent);
	border-radius: 50%;
	color: #101010;
	display: inline-flex;
	font-weight: 950;
	height: 30px;
	justify-content: center;
	margin-bottom: 1.3rem;
	width: 30px;
}

.cip-proof-card-grid small,
.cip-compare-row small,
.cip-compare-card__head small {
	color: var(--cip-accent);
	display: block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	margin-bottom: 0.55rem;
	text-transform: uppercase;
}

.cip-proof-card-grid h3 {
	font-size: 1.35rem;
	line-height: 1.1;
}

.cip-proof-card-grid p {
	color: rgba(255,255,255,0.62);
	font-size: 0.95rem;
	margin: 0;
}

.cip-table-section {
	background:
		radial-gradient(circle at 80% 12%, rgba(134,200,67,0.12), transparent 26rem),
		linear-gradient(180deg, #0b0d10, #080808);
	color: var(--cip-white);
}

.cip-table-wrap {
	background: linear-gradient(180deg, rgba(18,22,28,0.96), rgba(9,10,12,0.98));
	border: 1px solid rgba(134,200,67,0.18);
	border-radius: 18px;
	box-shadow: 0 32px 90px rgba(0,0,0,0.28);
	overflow-x: auto;
	padding: clamp(1rem, 2.5vw, 1.8rem);
}

.cip-table-wrap table {
	border-collapse: separate;
	border-spacing: 0;
	min-width: 720px;
	width: 100%;
}

.cip-table-wrap caption {
	caption-side: top;
	color: #ffffff;
	font-size: clamp(2rem, 4.4vw, 4.6rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 0.95;
	padding: 0 0 1.6rem;
	text-align: left;
	text-transform: uppercase;
}

.cip-table-wrap th,
.cip-table-wrap td {
	background: rgba(255,255,255,0.035);
	border-bottom: 1px solid rgba(255,255,255,0.08);
	border-right: 1px solid rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.82);
	font-size: clamp(0.95rem, 1.25vw, 1.12rem);
	font-weight: 700;
	line-height: 1.28;
	padding: 1rem;
	text-align: left;
	vertical-align: top;
}

.cip-table-wrap th {
	background: rgba(134,200,67,0.11);
	color: var(--cip-pale);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.cip-table-wrap tr:first-child th:first-child {
	border-top-left-radius: 12px;
}

.cip-table-wrap tr:first-child th:last-child {
	border-top-right-radius: 12px;
	border-right: 0;
}

.cip-table-wrap td:first-child {
	color: rgba(255,255,255,0.6);
}

.cip-table-wrap td:nth-child(2) {
	background: rgba(134,200,67,0.08);
	color: #ffffff;
	font-weight: 850;
}

.cip-table-wrap td:nth-child(2)::before {
	color: var(--cip-accent);
	content: "✓ ";
	font-weight: 950;
}

.cip-table-wrap td:nth-child(3) {
	background: rgba(255,92,72,0.06);
	color: rgba(255,255,255,0.7);
}

.cip-table-wrap td:nth-child(3)::before {
	color: #d36b5f;
	content: "× ";
	font-weight: 950;
}

.cip-table-wrap tr:last-child td {
	border-bottom: 0;
}

.cip-table-wrap tr:last-child td:first-child {
	border-bottom-left-radius: 12px;
}

.cip-table-wrap tr:last-child td:last-child {
	border-bottom-right-radius: 12px;
}

.cip-table-wrap td:last-child {
	border-right: 0;
}

.cip-table-copy {
	margin-top: 2rem;
	max-width: 860px;
}

.cip-table-copy p {
	color: rgba(255,255,255,0.72);
	font-size: clamp(1rem, 1.35vw, 1.18rem);
	font-weight: 500;
}

.cip-method-head {
	max-width: 860px;
}

.cip-method-head h2 span,
.cip-agency-compare-section h2 span {
	color: var(--cip-accent);
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-weight: 400;
	text-transform: none;
}

.cip-method-layout {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	margin-top: 3.2rem;
}

.cip-method-steps article {
	border-top: 1px solid rgba(255,255,255,0.08);
	display: grid;
	gap: 1.4rem;
	grid-template-columns: 70px minmax(0, 1fr);
	padding: 1.6rem 0;
}

.cip-method-steps article > strong {
	color: color-mix(in srgb, var(--cip-accent) 70%, #3567ff);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1;
}

.cip-method-steps h3 {
	font-size: 1.25rem;
	line-height: 1;
	margin-bottom: 0.7rem;
	text-transform: uppercase;
}

.cip-method-steps h3 span {
	background: rgba(134,200,67,0.1);
	border: 1px solid rgba(134,200,67,0.22);
	border-radius: 999px;
	color: var(--cip-accent);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.62rem;
	margin-left: 0.55rem;
	padding: 0.25rem 0.5rem;
}

.cip-method-steps p {
	color: rgba(255,255,255,0.58);
	font-size: 0.95rem;
	margin-bottom: 0.7rem;
}

.cip-method-steps b {
	border-left: 2px solid var(--cip-accent);
	color: #ffffff;
	display: block;
	font-size: 0.88rem;
	padding-left: 0.85rem;
}

.cip-milestone-panel {
	background: rgba(13,17,28,0.86);
	border: 1px solid rgba(134,200,67,0.18);
	border-radius: 18px;
	padding: 1.2rem;
	position: sticky;
	top: 90px;
}

.cip-milestone-panel__top,
.cip-milestone-row {
	align-items: center;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 86px minmax(0, 1fr) auto;
}

.cip-milestone-panel__top {
	color: var(--cip-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	margin-bottom: 0.8rem;
	text-transform: uppercase;
}

.cip-milestone-panel__top span {
	grid-column: 1 / 3;
}

.cip-milestone-panel__top b {
	color: var(--cip-accent);
}

.cip-milestone-row {
	background: rgba(255,255,255,0.045);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 8px;
	margin-top: 0.55rem;
	padding: 0.8rem;
}

.cip-milestone-row span,
.cip-milestone-row b {
	color: var(--cip-accent);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.68rem;
	font-weight: 900;
	text-transform: uppercase;
}

.cip-milestone-row p {
	color: #ffffff;
	font-size: 0.82rem;
	margin: 0;
}

.cip-agency-compare-section h2 {
	max-width: 900px;
}

.cip-compare-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 3rem;
}

.cip-compare-card {
	background: linear-gradient(180deg, rgba(12,19,31,0.94), rgba(8,10,14,0.96));
	border: 1px solid rgba(134,200,67,0.18);
	border-radius: 14px;
	padding: clamp(1.5rem, 3vw, 2.2rem);
}

.cip-compare-card--muted {
	background: linear-gradient(180deg, rgba(32,14,12,0.62), rgba(12,10,9,0.9));
	border-color: rgba(255,90,70,0.18);
	opacity: 0.88;
}

.cip-compare-card--muted .cip-compare-card__head small,
.cip-compare-card--muted .cip-compare-row small {
	color: #d3695d;
}

.cip-compare-card__head {
	border-bottom: 1px solid rgba(255,255,255,0.08);
	margin-bottom: 1rem;
	padding-bottom: 1.2rem;
}

.cip-compare-card__head h3 {
	font-size: clamp(1.4rem, 2.3vw, 2.1rem);
	line-height: 0.95;
	margin-bottom: 0.4rem;
	text-transform: uppercase;
}

.cip-compare-card__head p {
	color: rgba(255,255,255,0.58);
	margin: 0;
}

.cip-compare-row {
	border-bottom: 1px solid rgba(255,255,255,0.07);
	padding: 0.95rem 0;
}

.cip-compare-row span {
	color: #ffffff;
	font-weight: 800;
}

.cip-table-wrap th,
.cip-table-wrap td,
.cip-compare-row span,
.cip-compare-row small,
.cip-method-steps p,
.cip-method-steps b,
.cip-milestone-row p {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.cip-compare-card--muted .cip-compare-row span {
	color: rgba(255,255,255,0.6);
}

@media (max-width: 900px) {
	.cip-proof-cards,
	.cip-method-layout,
	.cip-compare-grid,
	.cip-service-v2-grid {
		grid-template-columns: 1fr;
	}
	.cip-milestone-panel {
		position: relative;
		top: auto;
	}
}

@media (max-width: 680px) {
	.cip-theme-section {
		padding-left: 18px;
		padding-right: 18px;
	}
	.cip-proof-cards__copy h2,
	.cip-method-head h2,
	.cip-wide-carousel-head h2,
	.cip-service-v2-head h2,
	.cip-agency-compare-section h2 {
		font-size: clamp(2rem, 8vw, 3rem);
		line-height: 0.95;
	}
	.cip-table-wrap {
		overflow-x: hidden;
	}
	.cip-table-wrap table {
		min-width: 0;
		table-layout: fixed;
	}
	.cip-table-wrap caption {
		font-size: clamp(1.55rem, 7.6vw, 2.4rem);
		padding-bottom: 1rem;
	}
	.cip-table-wrap th,
	.cip-table-wrap td {
		font-size: 0.9rem;
		padding: 0.8rem;
	}
	.cip-method-head p,
	.cip-table-copy p,
	.cip-proof-cards__copy p,
	.cip-service-v2-head p {
		font-size: 0.95rem;
	}
	.cip-proof-card-grid {
		grid-template-columns: 1fr;
	}
	.testimonials-section__head {
		align-items: start;
		flex-direction: column;
	}
	.testimonials-section__actions {
		margin-top: 0;
	}
	.cip-method-steps article {
		grid-template-columns: 48px minmax(0, 1fr);
	}
	.cip-method-steps article > strong {
		font-size: clamp(1.6rem, 9vw, 2.2rem);
	}
	.cip-method-steps h3 {
		font-size: 1.05rem;
		line-height: 1.1;
	}
	.cip-milestone-panel {
		padding: 0.9rem;
	}
	.cip-milestone-row {
		padding: 0.7rem;
	}
	.cip-milestone-row span,
	.cip-milestone-row b {
		font-size: 0.62rem;
	}
	.cip-wide-card-carousel {
		padding-left: 18px;
		padding-right: 18px;
		scroll-padding-inline: 18px;
	}
	.cip-wide-card {
		aspect-ratio: 16 / 9;
		flex-basis: 92vw;
		min-height: 0;
	}
	.cip-wide-card__front::before {
		background-position: center center;
		background-size: cover;
	}
	.cip-compare-grid {
		gap: 0.9rem;
		margin-top: 2rem;
	}
	.cip-compare-card {
		padding: 1rem;
	}
	.cip-compare-card__head {
		padding-bottom: 0.9rem;
	}
	.cip-compare-card__head h3 {
		font-size: 1.15rem;
		line-height: 1;
	}
	.cip-compare-card__head p,
	.cip-compare-row span {
		font-size: 0.92rem;
	}
	.cip-compare-row {
		padding: 0.75rem 0;
	}
	.cip-service-v2-grid {
		margin-top: 2rem;
	}
	.cip-service-v2-card {
		padding: 20px;
	}
	.cip-service-v2-card h3 {
		font-size: 1.35rem;
	}
	.cip-service-v2-card__subtitle,
	.cip-service-v2-card__body,
	.cip-service-v2-card__points li {
		font-size: 0.93rem;
	}
	.cip-service-v2-card__points {
		gap: 0.5rem;
	}
	.cip-milestone-panel__top,
	.cip-milestone-row {
		grid-template-columns: 1fr;
	}
}

/* Final mobile hero media guard: keep the orbit from covering copy or leaving stage columns. */
@media (max-width: 1000px) {
	.hero-section--editorial .hero-copy h1 {
		font-size: calc(clamp(30px, 8.9vw, 4rem) * var(--cip-hero-heading-scale)) !important;
		line-height: 0.92;
		max-width: 100%;
		text-wrap: normal;
	}

	.hero-section--editorial .hero-copy h1 .hero-headline-line {
		color: inherit !important;
		display: block;
		font-size: 1em;
		white-space: nowrap;
	}

	.hero-section--editorial .hero-copy h1 .hero-headline-nowrap {
		color: inherit !important;
		display: inline-block;
		font-size: 1em;
		white-space: nowrap;
	}

	.hero-accent-line {
		font-size: clamp(2rem, 6.8vw, 3.2rem);
		line-height: 0.94;
	}

	.hero-section .brand-orbit {
		display: block;
		height: clamp(360px, 58vw, 500px);
		left: auto;
		margin: 1rem auto 0;
		max-width: 520px;
		position: relative;
		top: auto;
		transform: none;
		width: min(88vw, 520px);
	}

	.hero-section .brand-orbit__text {
		display: none;
	}

	.hero-section .hero-art {
		aspect-ratio: 1;
		left: 50%;
		max-width: none;
		position: absolute;
		top: 0;
		transform: translateX(-50%);
		width: min(54vw, 330px);
	}

	.hero-section .hero-art__circle {
		position: relative;
		z-index: 14;
	}

	.hero-section .video-circle {
		height: min(25vw, 128px);
		right: -8%;
		top: 68%;
		transform: none !important;
		width: min(25vw, 128px);
		z-index: 12;
	}
}

@media (max-width: 680px) {
	.hero-section--has-bg::before {
		background-position: var(--hero-bg-position, center top);
		height: var(--hero-bg-height, calc(100% - 10px));
		opacity: min(0.42, var(--hero-bg-opacity, 0.45));
	}

	.hero-section {
		overflow: clip;
		padding-bottom: 0;
	}

	.hero-section__inner {
		height: auto;
	}

	.hero-section .brand-orbit {
		display: block;
		height: clamp(330px, 84vw, 420px);
		left: auto;
		margin: 1rem auto 0;
		max-width: 390px;
		position: relative;
		top: auto;
		transform: none;
		width: min(90vw, 390px);
	}

	.hero-section .brand-orbit__text {
		display: none;
	}

	.hero-section .hero-art {
		aspect-ratio: 1;
		left: 50%;
		max-width: none;
		position: absolute;
		top: 0;
		transform: translateX(-50%);
		width: min(58vw, 250px);
	}

	.hero-section .hero-art .circle-media {
		opacity: 0.78;
	}

	.hero-section .hero-art__circle {
		position: relative;
		z-index: 14;
	}

	.hero-section .video-circle {
		height: min(28vw, 112px);
		right: -10%;
		top: 68%;
		transform: none !important;
		width: min(28vw, 112px);
		z-index: 12;
	}

	.hero-section .video-circle__play {
		height: 36px;
		width: 36px;
	}

	.hero-section .video-circle__play::after {
		border-bottom-width: 7px;
		border-left-width: 11px;
		border-top-width: 7px;
		left: 14px;
		top: 11px;
	}

	.brand-stage {
		display: none;
		height: 0;
	}
}

/* Testimonials carousel final overrides. Keep this block at the end so it wins over older section rules. */
.testimonials-section {
	background:
		radial-gradient(circle at 88% 16%, rgba(134,200,67,0.08), transparent 28rem),
		linear-gradient(180deg, #0b0d10, #090909);
	color: var(--cip-white);
	overflow: hidden;
	padding: clamp(5rem, 9vw, 8rem) 26px;
}

.testimonials-section .section-inner {
	max-width: 1180px;
}

.testimonials-section .cip-success-wall {
	--cip-testimonial-gap: clamp(0.9rem, 1.8vw, 1.25rem);
	margin-top: 0.75rem;
	min-width: 0;
	position: relative;
}

.testimonials-section .cip-success-wall__head {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 2.5rem;
	max-width: none;
}

.testimonials-section .cip-success-wall__head > div:first-child {
	max-width: 860px;
}

.testimonials-section .cip-success-wall__head h2 {
	color: var(--cip-white);
	font-size: calc(clamp(2.6rem, 6vw, 6.2rem) * var(--cip-heading-scale));
	letter-spacing: 0;
	line-height: 0.94;
	text-transform: uppercase;
}

.testimonials-section .cip-success-wall__head p {
	color: rgba(255,255,255,0.66);
	max-width: 620px;
}

.testimonials-section .cip-success-wall__actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 0.55rem;
	margin-top: 0;
}

.testimonials-section .cip-success-wall__arrow {
	align-items: center;
	appearance: none;
	background: var(--cip-accent);
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(134,200,67,0.22);
	color: #111111;
	cursor: pointer;
	display: inline-flex;
	font-size: 2rem;
	font-weight: 800;
	height: 44px;
	justify-content: center;
	line-height: 1;
	padding: 0 0 4px;
	width: 44px;
}

.testimonials-section .cip-success-wall__arrow:hover,
.testimonials-section .cip-success-wall__arrow:focus-visible {
	background: #a8dc63;
	border-color: rgba(255,255,255,0.28);
	color: #111111;
	outline: none;
}

.testimonials-section .cip-success-wall__viewport {
	background: transparent;
	cursor: grab;
	margin-inline: calc(var(--cip-testimonial-gap) * -0.5);
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	padding: 0.15rem calc(var(--cip-testimonial-gap) * 0.5) 0.6rem;
	scroll-behavior: smooth;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}

.testimonials-section .cip-success-wall__grid {
	display: grid;
	gap: var(--cip-testimonial-gap);
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--cip-testimonial-gap) * (var(--cip-testimonial-desktop) - 1))) / var(--cip-testimonial-desktop));
	grid-template-rows: repeat(var(--cip-testimonial-rows), clamp(220px, 19vw, 270px));
	min-width: 100%;
}

.testimonials-section .cip-success-card {
	border-radius: 18px;
	height: 100%;
	min-height: 0;
	perspective: 1200px;
	scroll-snap-align: start;
}

.testimonials-section .cip-success-card__inner {
	border-radius: inherit;
	box-shadow: 0 22px 54px rgba(0,0,0,0.18);
	height: 100%;
	position: relative;
	transform-style: preserve-3d;
	transition: transform 620ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 220ms ease;
	width: 100%;
}

.testimonials-section .cip-success-card__face {
	backface-visibility: hidden;
	border: 1px solid rgba(17,17,17,0.16);
	border-radius: inherit;
	inset: 0;
	overflow: hidden;
	position: absolute;
}

.testimonials-section .cip-success-card__front img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
	width: 100%;
}

.testimonials-section .cip-success-card__overlay {
	background:
		linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.28) 38%, rgba(0,0,0,0.84) 100%),
		linear-gradient(135deg, rgba(134,200,67,0.18), transparent 45%);
	inset: 0;
	position: absolute;
}

.testimonials-section .cip-success-card__front-copy {
	bottom: 0;
	display: grid;
	gap: 0.26rem;
	left: 0;
	padding: clamp(0.85rem, 1.4vw, 1.05rem);
	position: absolute;
	right: 0;
	z-index: 1;
}

.testimonials-section .cip-success-card__front-copy h3 {
	color: var(--cip-white);
	font-size: clamp(1rem, 1.35vw, 1.24rem);
	line-height: 1.08;
	margin: 0;
	text-transform: uppercase;
}

.testimonials-section .cip-success-card__front-copy p,
.testimonials-section .cip-success-card__front-copy small {
	color: rgba(255,255,255,0.84);
	font-size: 0.88rem;
	line-height: 1.35;
	margin: 0;
}

.testimonials-section .cip-success-card__result,
.testimonials-section .cip-success-card__rating {
	align-self: start;
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.66rem;
	font-weight: 950;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 0.15rem;
	padding: 0.42rem 0.58rem;
	text-transform: uppercase;
	width: fit-content;
}

.testimonials-section .cip-success-card__result {
	background: rgba(134,200,67,0.92);
	color: #0b1207;
}

.testimonials-section .cip-success-card__rating {
	background: rgba(255,255,255,0.9);
	color: #151515;
}

.testimonials-section .cip-success-card__back {
	background:
		linear-gradient(135deg, rgba(134,200,67,0.13), transparent 42%),
		linear-gradient(180deg, #151515, #070707);
	color: var(--cip-white);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(0.9rem, 1.5vw, 1.15rem);
	transform: rotateY(180deg);
}

.testimonials-section .cip-success-card--flip:hover .cip-success-card__inner,
.testimonials-section .cip-success-card--flip:focus-visible .cip-success-card__inner,
.testimonials-section .cip-success-card--flip.is-flipped .cip-success-card__inner {
	transform: rotateY(180deg) scale(1.015);
}

@media (max-width: 1000px) {
	.testimonials-section .cip-success-wall__grid {
		grid-auto-columns: calc((100% - (var(--cip-testimonial-gap) * (var(--cip-testimonial-tablet) - 1))) / var(--cip-testimonial-tablet));
		grid-template-rows: repeat(var(--cip-testimonial-rows), clamp(230px, 34vw, 290px));
	}
}

@media (max-width: 680px) {
	.testimonials-section {
		padding: clamp(4.2rem, 10vw, 6rem) 18px;
	}

	.testimonials-section .cip-success-wall__head {
		align-items: start;
		flex-direction: column;
		margin-bottom: 1.8rem;
	}

	.testimonials-section .cip-success-wall__head h2 {
		font-size: clamp(2rem, 8vw, 3rem);
		line-height: 0.95;
	}

	.testimonials-section .cip-success-wall__actions {
		width: 100%;
	}

	.testimonials-section .cip-success-wall__grid {
		grid-auto-columns: calc((100% - (var(--cip-testimonial-gap) * (var(--cip-testimonial-mobile) - 1))) / var(--cip-testimonial-mobile));
		grid-template-rows: clamp(360px, 118vw, 460px);
	}
}

/* Brand logo final overrides. Keep URL logo images centered and readable. */
.logos-section--marquee .brand-card {
	align-items: center;
	justify-content: center;
	min-height: 104px;
	text-align: center;
}

.logos-section--marquee .brand-card img {
	background: linear-gradient(180deg, #f4ffe7, #d9f6b7);
	border: 1px solid rgba(134,200,67,0.22);
	border-radius: 10px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
	display: block;
	flex: 0 0 auto;
	filter: none;
	height: clamp(46px, 4.6vw, 68px);
	margin-inline: auto;
	max-width: min(240px, 82%);
	mix-blend-mode: normal;
	object-fit: contain;
	object-position: center;
	opacity: 1;
	padding: 10px 18px;
	width: auto;
}

.logos-section--marquee .brand-card:has(img) {
	flex-direction: column;
	gap: 0.75rem;
}

.logos-section--marquee .brand-card:has(img) span {
	color: rgba(255,255,255,0.78);
	font-family: inherit;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.logos-section--marquee .brand-card--prefer-text span,
.logos-section--marquee .brand-card--text-only span {
	color: var(--cip-accent);
	display: block;
	font-family: Georgia, serif;
	font-size: clamp(1.35rem, 2.4vw, 2.25rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1;
	text-transform: none;
}

.logos-section--marquee .brand-card--prefer-text span {
	color: rgba(255,255,255,0.72);
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

@supports not selector(:has(*)) {
	.logos-section--marquee .brand-card {
		justify-content: center;
	}

	.logos-section--marquee .brand-card img {
		margin-left: auto;
		margin-right: auto;
	}
}
