:root {
	--kp-ink: #1f2b55;
	--kp-ink-deep: #111a38;
	--kp-blue: #4c82bf;
	--kp-blue-bright: #2d9fca;
	--kp-cyan: #55c6e2;
	--kp-sky: #edf7fd;
	--kp-sky-soft: #f6fbfe;
	--kp-line: rgba(31, 43, 85, 0.14);
	--kp-text: #33405d;
	--kp-muted: #68748b;
	--kp-green: #27815e;
	--kp-gold: #a66a08;
	--kp-white: #ffffff;
	--kp-radius: 30px;
	--kp-shadow: 0 28px 80px rgba(38, 66, 111, 0.12);
}

html {
	scroll-behavior: smooth;
}

body.keystone-proof-page {
	background: #f2f8fc;
}

body.keystone-proof-page .page-wrapper,
body.keystone-proof-page .page-content,
body.keystone-proof-page .elementor-widget-theme-post-content,
body.keystone-proof-page .elementor-widget-theme-post-content > .elementor-widget-container,
body.keystone-proof-page .elementor-location-single,
body.keystone-proof-page article,
body.keystone-proof-page main,
body.keystone-proof-page .content-wrapper {
	overflow: visible;
}

body.keystone-proof-page .elementor-widget-theme-post-content > .elementor-widget-container > .kp,
body.keystone-proof-page article > .kp,
body.keystone-proof-page .page-content > .kp {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
}

body.keystone-proof-page .elementor-2613 > .e-con:first-child {
	display: none !important;
}

body.keystone-proof-page .elementor-2613 > .e-con:nth-child(2),
body.keystone-proof-page .elementor-2613 > .e-con:nth-child(2) > .elementor-widget-theme-post-content,
body.keystone-proof-page .elementor-2613 > .e-con:nth-child(2) > .elementor-widget-theme-post-content > .elementor-widget-container {
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

body.keystone-proof-page .elementor-element-a97e6bb > .elementor-widget-container > .kp ~ * {
	display: none !important;
}

.kp,
.kp * {
	box-sizing: border-box;
}

.kp {
	color: var(--kp-text);
	font-family: "Instrument Sans", "IBM Plex Sans", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.72;
	overflow: clip;
}

.kp h1,
.kp h2,
.kp h3,
.kp h4,
.kp p,
.kp ul,
.kp ol,
.kp figure {
	margin-top: 0;
}

.kp h1,
.kp h2,
.kp h3,
.kp h4 {
	color: var(--kp-ink);
	font-family: "Instrument Sans", "IBM Plex Sans", Arial, sans-serif;
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 1.06;
}

.kp h1 {
	font-size: clamp(47px, 5.15vw, 80px);
	margin-bottom: 28px;
}

.kp h2 {
	font-size: clamp(38px, 4.2vw, 64px);
	margin-bottom: 26px;
}

.kp h3 {
	font-size: clamp(23px, 2vw, 31px);
	letter-spacing: -0.025em;
	margin-bottom: 15px;
}

.kp p {
	margin-bottom: 20px;
}

.kp a {
	color: inherit;
}

.kp-wrap {
	margin: 0 auto;
	max-width: 1360px;
	padding-left: clamp(24px, 4.8vw, 72px);
	padding-right: clamp(24px, 4.8vw, 72px);
	width: 100%;
}

.kp-section,
.kp-case {
	padding: clamp(90px, 10vw, 155px) 0;
	scroll-margin-top: 120px;
}

.kp-eyebrow {
	align-items: center;
	color: var(--kp-blue-bright);
	display: flex;
	font-size: 13px;
	font-weight: 700;
	gap: 12px;
	letter-spacing: 0.14em;
	line-height: 1.2;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.kp-eyebrow::before {
	background: var(--kp-blue-bright);
	content: "";
	display: block;
	height: 2px;
	width: 28px;
}

.kp-lead {
	color: var(--kp-ink);
	font-size: clamp(21px, 2.1vw, 30px);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.42;
}

.kp-heading-block {
	max-width: 880px;
}

.kp-heading-block--wide {
	max-width: 1080px;
}

.kp-heading-block--split {
	align-items: end;
	display: grid;
	gap: 60px;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	max-width: none;
}

.kp-heading-block--split > p {
	font-size: 19px;
}

.kp-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 13px 22px;
	margin-top: 34px;
}

.kp-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 650;
	gap: 18px;
	justify-content: center;
	letter-spacing: -0.01em;
	line-height: 1.2;
	min-height: 54px;
	padding: 15px 26px;
	text-decoration: none !important;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.kp-button:hover,
.kp-button:focus-visible {
	transform: translateY(-2px);
}

.kp-button--primary {
	background: var(--kp-ink);
	box-shadow: 0 12px 25px rgba(31, 43, 85, 0.17);
	color: var(--kp-white) !important;
}

.kp-button--primary:hover,
.kp-button--primary:focus-visible {
	box-shadow: 0 16px 32px rgba(31, 43, 85, 0.26);
}

.kp-button--text {
	border-bottom: 1px solid var(--kp-line);
	border-radius: 0;
	color: var(--kp-ink) !important;
	min-height: auto;
	padding: 8px 2px;
}

.kp-hero {
	background:
		radial-gradient(circle at 85% 0%, rgba(85, 198, 226, 0.2), transparent 30%),
		linear-gradient(180deg, #eaf6fd 0%, #f4f9fc 86%, #ffffff 100%);
	padding: clamp(55px, 8vw, 115px) 0 72px;
}

.kp-hero__shell {
	align-items: center;
	display: grid;
	gap: clamp(55px, 6vw, 100px);
	grid-template-columns: minmax(0, 1.02fr) minmax(500px, 0.98fr);
}

.kp-hero__copy > p:not(.kp-eyebrow):not(.kp-lead) {
	max-width: 760px;
}

.kp-trust-line {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 26px;
	list-style: none;
	margin: 32px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid var(--kp-line);
}

.kp-trust-line li {
	align-items: center;
	color: var(--kp-ink);
	display: flex;
	font-size: 13px;
	font-weight: 650;
	gap: 9px;
	letter-spacing: 0.03em;
}

.kp-trust-line li span {
	background: var(--kp-green);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(39, 129, 94, 0.1);
	height: 7px;
	width: 7px;
}

.kp-system-map,
.kp-console,
.kp-control-map {
	background: var(--kp-white);
	border: 1px solid rgba(77, 130, 191, 0.2);
	border-radius: 24px;
	box-shadow: 0 32px 85px rgba(45, 83, 137, 0.17);
	overflow: hidden;
	position: relative;
}

.kp-system-map::after,
.kp-console::after,
.kp-control-map::after {
	border: 1px solid rgba(45, 159, 202, 0.2);
	border-radius: 26px;
	content: "";
	inset: 10px -13px -13px 10px;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.kp-system-map__bar,
.kp-console__topbar,
.kp-control-map__header {
	align-items: center;
	background: #162044;
	color: rgba(255, 255, 255, 0.82);
	display: flex;
	font-size: 10px;
	font-weight: 700;
	justify-content: space-between;
	letter-spacing: 0.13em;
	min-height: 48px;
	padding: 12px 18px;
	text-transform: uppercase;
}

.kp-window-dots {
	display: flex;
	gap: 5px;
}

.kp-window-dots i {
	background: #ffffff;
	border-radius: 50%;
	height: 6px;
	opacity: 0.4;
	width: 6px;
}

.kp-live {
	align-items: center;
	display: inline-flex;
	gap: 7px;
}

.kp-live i {
	background: #54d59a;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(84, 213, 154, 0.12);
	height: 7px;
	width: 7px;
}

.kp-system-map__body {
	background:
		linear-gradient(rgba(76, 130, 191, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(76, 130, 191, 0.045) 1px, transparent 1px),
		#f8fbfe;
	background-size: 28px 28px;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
	padding: 26px;
}

.kp-flow-card {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(76, 130, 191, 0.18);
	border-radius: 13px;
	box-shadow: 0 8px 20px rgba(49, 78, 127, 0.06);
	min-height: 102px;
	padding: 18px 16px;
	position: relative;
}

.kp-flow-card strong,
.kp-flow-card small {
	display: block;
}

.kp-flow-card strong {
	color: var(--kp-ink);
	font-size: 16px;
	margin-bottom: 5px;
}

.kp-flow-card small {
	color: var(--kp-muted);
	font-size: 11px;
	line-height: 1.4;
}

.kp-flow-card__index {
	color: var(--kp-blue-bright);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.1em;
	position: absolute;
	right: 13px;
	top: 10px;
}

.kp-flow-card--ai {
	background: linear-gradient(145deg, #1e2d59, #2e4779);
	border-color: #2e4779;
}

.kp-flow-card--ai strong,
.kp-flow-card--ai .kp-flow-card__index {
	color: #ffffff;
}

.kp-flow-card--ai small {
	color: rgba(255, 255, 255, 0.7);
}

.kp-flow-card--human {
	border-color: rgba(39, 129, 94, 0.38);
}

.kp-flow-card--action {
	grid-column: 3;
}

.kp-flow-arrow {
	align-items: center;
	color: var(--kp-blue);
	display: flex;
	font-size: 17px;
	justify-content: center;
}

.kp-flow-card--rules + .kp-flow-arrow,
.kp-flow-card--ai + .kp-flow-arrow {
	display: none;
}

.kp-flow-card--ai {
	grid-column: 1;
}

.kp-flow-card--ai::after {
	color: var(--kp-blue);
	content: "→";
	font-size: 17px;
	position: absolute;
	right: -26px;
	top: 37px;
}

.kp-flow-card--human {
	grid-column: 3;
}

.kp-flow-card--human::after {
	bottom: -28px;
	color: var(--kp-blue);
	content: "↓";
	font-size: 17px;
	left: 50%;
	position: absolute;
}

.kp-feedback-loop {
	background: rgba(237, 247, 253, 0.95);
	border: 1px dashed rgba(76, 130, 191, 0.35);
	border-radius: 12px;
	display: grid;
	font-size: 10px;
	font-weight: 650;
	gap: 6px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(4, 1fr);
	letter-spacing: 0.04em;
	margin-top: 5px;
	padding: 12px;
	text-align: center;
	text-transform: uppercase;
}

.kp-system-map figcaption,
.kp-console figcaption,
.kp-control-map figcaption {
	background: var(--kp-white);
	border-top: 1px solid var(--kp-line);
	color: var(--kp-muted);
	font-size: 11px;
	line-height: 1.5;
	padding: 13px 18px;
}

.kp-jump-nav {
	background: #162044;
	color: #ffffff;
	position: relative;
}

.kp-jump-nav .kp-wrap {
	align-items: center;
	display: flex;
	gap: 35px;
	justify-content: space-between;
	min-height: 76px;
}

.kp-jump-nav__label {
	color: rgba(255, 255, 255, 0.5);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.kp-jump-nav__links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 26px;
}

.kp-jump-nav a {
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.kp-section--standard {
	background: #ffffff;
}

.kp-standard-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 60px;
}

.kp-standard-card {
	background: var(--kp-sky-soft);
	border: 1px solid rgba(76, 130, 191, 0.14);
	border-radius: 23px;
	min-height: 370px;
	padding: clamp(28px, 3.2vw, 46px);
	position: relative;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.kp-standard-card:hover {
	box-shadow: var(--kp-shadow);
	transform: translateY(-5px);
}

.kp-card-icon {
	align-items: center;
	background: #dff2fa;
	border-radius: 15px;
	color: var(--kp-ink);
	display: inline-flex;
	font-family: "IBM Plex Sans", monospace;
	font-size: 17px;
	font-weight: 700;
	height: 54px;
	justify-content: center;
	margin-bottom: 70px;
	width: 54px;
}

.kp-card-icon--ai {
	background: var(--kp-ink);
	color: #ffffff;
}

.kp-card-number {
	color: rgba(31, 43, 85, 0.32);
	font-family: "IBM Plex Sans", monospace;
	font-size: 12px;
	font-weight: 700;
	position: absolute;
	right: 30px;
	top: 30px;
}

.kp-standard-card h3 {
	font-size: 28px;
}

.kp-standard-card p {
	color: var(--kp-muted);
	font-size: 15px;
	line-height: 1.65;
}

.kp-emphasis {
	border-left: 3px solid var(--kp-cyan);
	color: var(--kp-ink);
	font-size: 22px;
	font-weight: 600;
	margin: 45px 0 0;
	padding: 9px 0 9px 24px;
}

.kp-projects {
	background: linear-gradient(180deg, #f3f9fd 0%, #edf7fd 100%);
}

.kp-project-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 60px;
}

.kp-project-card {
	background: #ffffff;
	border: 1px solid rgba(76, 130, 191, 0.15);
	border-radius: 22px;
	box-shadow: 0 14px 34px rgba(36, 73, 120, 0.08);
	display: flex;
	flex-direction: column;
	min-height: 390px;
	padding: 32px;
	position: relative;
	text-decoration: none !important;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.kp-project-card::before {
	background: var(--kp-blue);
	border-radius: 22px 22px 0 0;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.kp-project-card--deployed::before {
	background: var(--kp-green);
}

.kp-project-card--building::before {
	background: #c28a25;
}

.kp-project-card:hover,
.kp-project-card:focus-visible {
	box-shadow: 0 24px 55px rgba(36, 73, 120, 0.16);
	transform: translateY(-5px);
}

.kp-status {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: 10px;
	font-weight: 750;
	gap: 8px;
	letter-spacing: 0.09em;
	padding: 8px 11px;
	text-transform: uppercase;
	width: fit-content;
}

.kp-status i {
	background: currentColor;
	border-radius: 50%;
	height: 6px;
	width: 6px;
}

.kp-status--green {
	background: rgba(39, 129, 94, 0.1);
	color: var(--kp-green);
}

.kp-status--blue {
	background: rgba(76, 130, 191, 0.1);
	color: var(--kp-blue);
}

.kp-status--gold {
	background: rgba(166, 106, 8, 0.1);
	color: var(--kp-gold);
}

.kp-project-card__sector {
	color: var(--kp-muted);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.1em;
	margin: 24px 0 18px;
	text-transform: uppercase;
}

.kp-project-card h3 {
	font-size: 28px;
}

.kp-project-card p {
	color: var(--kp-muted);
	font-size: 15px;
	line-height: 1.6;
}

.kp-project-card__link {
	color: var(--kp-ink);
	font-size: 13px;
	font-weight: 700;
	margin-top: auto;
	padding-top: 28px;
}

.kp-case {
	background: #ffffff;
	border-top: 1px solid var(--kp-line);
}

.kp-case--wordpress {
	background: #f4f9fc;
}

.kp-case--fundraising {
	background: #fffefa;
}

.kp-case__grid {
	align-items: start;
	display: grid;
	gap: clamp(55px, 7vw, 100px);
	grid-template-columns: minmax(0, 0.98fr) minmax(480px, 1.02fr);
}

.kp-case__grid--reverse {
	grid-template-columns: minmax(480px, 1.02fr) minmax(0, 0.98fr);
}

.kp-case__copy h2 {
	font-size: clamp(42px, 4.55vw, 68px);
}

.kp-status-label {
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.1em;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.kp-status-label span {
	opacity: 0.45;
	padding: 0 8px;
}

.kp-status-label--green {
	color: var(--kp-green);
}

.kp-status-label--blue {
	color: var(--kp-blue);
}

.kp-status-label--gold {
	color: var(--kp-gold);
}

.kp-detail-block {
	border-top: 1px solid var(--kp-line);
	margin-top: 36px;
	padding-top: 32px;
}

.kp-detail-block h3 {
	font-size: 25px;
}

.kp-detail-block p {
	font-size: 16px;
}

.kp-console,
.kp-control-map {
	margin-top: 35px;
	position: sticky;
	top: 115px;
}

.kp-console__body {
	display: grid;
	grid-template-columns: 45px 1fr;
	min-height: 520px;
}

.kp-console__rail {
	align-items: center;
	background: #172245;
	color: rgba(255, 255, 255, 0.66);
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding-top: 25px;
}

.kp-console__rail b {
	font-size: 13px;
}

.kp-console__content {
	background: #f5f9fc;
	padding: 22px;
}

.kp-console__header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 18px;
}

.kp-console__header small,
.kp-console__header strong {
	display: block;
}

.kp-console__header small,
.kp-source-list > small,
.kp-answer-panel > small {
	color: var(--kp-muted);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.11em;
}

.kp-console__header strong {
	color: var(--kp-ink);
	font-size: 18px;
}

.kp-console__header > span {
	background: rgba(39, 129, 94, 0.1);
	border-radius: 999px;
	color: var(--kp-green);
	font-size: 9px;
	font-weight: 700;
	padding: 7px 10px;
}

.kp-source-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: 0.92fr 1.08fr;
}

.kp-source-list,
.kp-answer-panel,
.kp-review-queue {
	background: #ffffff;
	border: 1px solid var(--kp-line);
	border-radius: 12px;
	padding: 15px;
}

.kp-source-list > div {
	align-items: center;
	border-top: 1px solid rgba(31, 43, 85, 0.08);
	display: flex;
	gap: 11px;
	margin-top: 12px;
	padding-top: 12px;
}

.kp-source-list i {
	align-items: center;
	background: var(--kp-sky);
	border-radius: 6px;
	color: var(--kp-blue);
	display: flex;
	font-size: 7px;
	font-style: normal;
	font-weight: 750;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.kp-source-list span,
.kp-source-list strong {
	display: block;
}

.kp-source-list span {
	color: var(--kp-ink);
	font-size: 10px;
	font-weight: 650;
}

.kp-source-list strong {
	color: var(--kp-muted);
	font-size: 8px;
	font-weight: 500;
}

.kp-answer-panel p {
	color: var(--kp-ink);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	margin: 15px 0;
}

.kp-citation {
	align-items: center;
	background: #f4f9fc;
	border-radius: 6px;
	color: var(--kp-muted);
	display: flex;
	font-size: 8px;
	gap: 7px;
	margin: 6px 0;
	padding: 7px;
}

.kp-citation span {
	align-items: center;
	background: var(--kp-blue);
	border-radius: 50%;
	color: #ffffff;
	display: flex;
	height: 14px;
	justify-content: center;
	width: 14px;
}

.kp-answer-actions {
	display: flex;
	font-size: 8px;
	font-weight: 700;
	gap: 5px;
	margin-top: 14px;
}

.kp-answer-actions span {
	background: var(--kp-ink);
	border-radius: 4px;
	color: #ffffff;
	padding: 6px 8px;
}

.kp-answer-actions span:last-child {
	background: var(--kp-sky);
	color: var(--kp-ink);
}

.kp-review-queue {
	align-items: center;
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: 1fr 1.4fr auto;
	margin-top: 14px;
}

.kp-review-queue span,
.kp-review-queue strong,
.kp-review-queue button {
	font-size: 9px;
}

.kp-review-queue span {
	color: var(--kp-muted);
}

.kp-review-queue strong {
	color: var(--kp-gold);
}

.kp-review-queue button {
	background: var(--kp-ink);
	border: 0;
	border-radius: 6px;
	color: #ffffff;
	font-weight: 700;
	padding: 8px 10px;
}

.kp-case__lower {
	display: grid;
	gap: clamp(48px, 7vw, 100px);
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 20px;
	padding-top: 80px;
}

.kp-case__lower > div > h3 {
	font-size: 31px;
	margin-bottom: 30px;
}

.kp-step-list {
	counter-reset: kp-steps;
	list-style: none;
	margin: 0;
	padding: 0;
}

.kp-step-list li {
	border-top: 1px solid var(--kp-line);
	color: var(--kp-text);
	counter-increment: kp-steps;
	display: grid;
	font-size: 15px;
	gap: 18px;
	grid-template-columns: 34px 1fr;
	padding: 16px 0;
}

.kp-step-list li::before {
	color: var(--kp-blue-bright);
	content: counter(kp-steps, decimal-leading-zero);
	font-family: "IBM Plex Sans", monospace;
	font-size: 11px;
	font-weight: 750;
}

.kp-control-list,
.kp-check-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kp-control-list li {
	background: #f6fafc;
	border: 1px solid var(--kp-line);
	border-radius: 12px;
	display: grid;
	gap: 4px;
	grid-template-columns: 138px 1fr;
	margin-bottom: 10px;
	padding: 18px;
}

.kp-control-list strong {
	color: var(--kp-ink);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.kp-control-list span {
	font-size: 14px;
}

.kp-proof-point {
	background: rgba(39, 129, 94, 0.09);
	border-left: 3px solid var(--kp-green);
	margin-top: 22px;
	padding: 21px 23px;
}

.kp-proof-point--blue {
	background: rgba(76, 130, 191, 0.09);
	border-left-color: var(--kp-blue);
}

.kp-proof-point--gold {
	background: rgba(166, 106, 8, 0.08);
	border-left-color: var(--kp-gold);
}

.kp-proof-point span {
	color: var(--kp-ink);
	display: block;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.1em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.kp-proof-point p {
	font-size: 14px;
	margin: 0;
}

.kp-case__relevance {
	align-items: center;
	background: #edf7fd;
	border-radius: 24px;
	display: grid;
	gap: 50px;
	grid-column: 1 / -1;
	grid-template-columns: 1.35fr 0.65fr;
	margin-top: 30px;
	padding: clamp(28px, 4vw, 50px);
}

.kp-case__relevance .kp-eyebrow {
	margin-bottom: 16px;
}

.kp-case__relevance p:last-child {
	font-size: 15px;
	margin-bottom: 0;
}

.kp-case__relevance .kp-actions {
	align-items: flex-start;
	flex-direction: column;
	margin: 0;
}

.kp-pipeline {
	background: #eef4f9;
	min-height: 520px;
	padding: 18px;
}

.kp-pipeline__progress {
	display: grid;
	gap: 5px;
	grid-template-columns: repeat(5, 1fr);
	margin-bottom: 14px;
}

.kp-pipeline__progress span {
	background: #ffffff;
	border-radius: 6px;
	color: var(--kp-muted);
	font-size: 8px;
	font-weight: 700;
	padding: 7px 4px;
	text-align: center;
	text-transform: uppercase;
}

.kp-pipeline__progress .is-done {
	background: #dff3ea;
	color: var(--kp-green);
}

.kp-pipeline__progress .is-active {
	background: var(--kp-ink);
	color: #ffffff;
}

.kp-pipeline__main {
	display: grid;
	grid-template-columns: 0.72fr 1.28fr;
	min-height: 430px;
}

.kp-pipeline__sidebar {
	background: #162044;
	border-radius: 10px 0 0 10px;
	color: #ffffff;
	padding: 20px;
}

.kp-pipeline__sidebar small,
.kp-pipeline__sidebar strong {
	display: block;
}

.kp-pipeline__sidebar small {
	color: rgba(255, 255, 255, 0.5);
	font-size: 8px;
	letter-spacing: 0.1em;
}

.kp-pipeline__sidebar strong {
	font-size: 14px;
	line-height: 1.3;
	margin: 6px 0 24px;
}

.kp-pipeline__sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kp-pipeline__sidebar li {
	border-left: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.55);
	font-size: 9px;
	padding: 9px 0 9px 13px;
}

.kp-pipeline__sidebar li.is-done {
	color: #78d6aa;
}

.kp-pipeline__sidebar li.is-active {
	border-left-color: var(--kp-cyan);
	color: #ffffff;
}

.kp-pipeline__editor {
	background: #ffffff;
	border-radius: 0 10px 10px 0;
	display: grid;
	grid-template-rows: auto 1fr auto;
	padding: 15px;
}

.kp-editor-toolbar {
	align-items: center;
	display: flex;
	font-size: 8px;
	font-weight: 700;
	justify-content: space-between;
	letter-spacing: 0.08em;
	padding-bottom: 10px;
}

.kp-editor-toolbar b {
	background: #dff3ea;
	border-radius: 999px;
	color: var(--kp-green);
	font-size: 7px;
	padding: 5px 7px;
}

.kp-editor-canvas {
	background: #f7fafd;
	border: 1px solid var(--kp-line);
	border-radius: 8px;
	padding: 17px;
}

.kp-editor-canvas small {
	color: var(--kp-muted);
	display: block;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 0.09em;
	margin: 11px 0 5px;
}

.kp-editor-canvas > span {
	background: var(--kp-blue-bright);
	display: block;
	height: 4px;
	width: 52px;
}

.kp-editor-canvas h4 {
	font-size: 19px;
	margin-bottom: 9px;
}

.kp-editor-canvas p {
	color: var(--kp-muted);
	font-size: 9px;
	line-height: 1.5;
}

.kp-editor-canvas div {
	display: flex;
	gap: 6px;
}

.kp-editor-canvas em {
	background: #e8f4fa;
	border-radius: 4px;
	color: var(--kp-blue);
	font-size: 7px;
	font-style: normal;
	padding: 5px;
}

.kp-editor-log {
	border-top: 1px solid var(--kp-line);
	display: grid;
	gap: 4px;
	grid-template-columns: 1fr 1fr;
	margin-top: 12px;
	padding-top: 10px;
}

.kp-editor-log > span {
	color: var(--kp-muted);
	font-size: 8px;
	font-weight: 700;
	grid-column: 1 / -1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.kp-editor-log p {
	align-items: center;
	display: flex;
	font-size: 7px;
	gap: 5px;
	margin: 0;
}

.kp-editor-log i {
	background: var(--kp-green);
	border-radius: 50%;
	height: 5px;
	width: 5px;
}

.kp-constraint {
	border-top: 1px solid var(--kp-line);
	margin-top: 26px;
	padding-top: 24px;
}

.kp-constraint h3 {
	font-size: 23px;
}

.kp-constraint p {
	font-size: 14px;
}

.kp-control-map__body {
	background:
		linear-gradient(rgba(166, 106, 8, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(166, 106, 8, 0.04) 1px, transparent 1px),
		#fffdfa;
	background-size: 28px 28px;
	min-height: 520px;
	padding: 27px;
}

.kp-control-node {
	align-items: center;
	background: #ffffff;
	border: 1px solid var(--kp-line);
	border-radius: 10px;
	display: grid;
	gap: 10px;
	grid-template-columns: 28px 1fr auto;
	padding: 14px;
}

.kp-control-node small {
	color: var(--kp-muted);
	font-family: "IBM Plex Sans", monospace;
	font-size: 8px;
}

.kp-control-node strong {
	color: var(--kp-ink);
	font-size: 12px;
}

.kp-control-node span {
	border-radius: 999px;
	font-size: 8px;
	font-weight: 700;
	padding: 5px 7px;
	text-transform: uppercase;
}

.kp-control-node.is-ready span {
	background: #dff3ea;
	color: var(--kp-green);
}

.kp-control-node.is-planned {
	border-style: dashed;
}

.kp-control-node.is-planned span {
	background: #f8edda;
	color: var(--kp-gold);
}

.kp-control-node.is-locked {
	opacity: 0.72;
}

.kp-control-node.is-locked span {
	background: #f3e8e8;
	color: #9a4c4c;
}

.kp-control-line {
	background: var(--kp-green);
	height: 14px;
	margin-left: 40px;
	width: 1px;
}

.kp-control-line.is-future {
	background: repeating-linear-gradient(to bottom, var(--kp-gold) 0 3px, transparent 3px 6px);
}

.kp-health-panel {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 20px;
}

.kp-health-panel div {
	background: #162044;
	border-radius: 8px;
	padding: 11px;
}

.kp-health-panel span,
.kp-health-panel strong {
	display: block;
}

.kp-health-panel span {
	color: rgba(255, 255, 255, 0.5);
	font-size: 7px;
	letter-spacing: 0.08em;
}

.kp-health-panel strong {
	color: #ffffff;
	font-size: 10px;
}

.kp-planned-ai {
	background: rgba(166, 106, 8, 0.08);
	border: 1px dashed rgba(166, 106, 8, 0.34);
	border-radius: 9px;
	margin-top: 12px;
	padding: 13px;
}

.kp-planned-ai small {
	color: var(--kp-gold);
	font-size: 7px;
	font-weight: 750;
	letter-spacing: 0.1em;
}

.kp-planned-ai p {
	font-size: 9px;
	line-height: 1.5;
	margin: 5px 0 0;
}

.kp-check-list li {
	border-top: 1px solid var(--kp-line);
	display: grid;
	font-size: 15px;
	gap: 14px;
	grid-template-columns: 18px 1fr;
	padding: 16px 0;
}

.kp-check-list li::before {
	color: var(--kp-green);
	content: "✓";
	font-weight: 700;
}

.kp-method {
	background: #142047;
	color: rgba(255, 255, 255, 0.72);
}

.kp-method h2,
.kp-method h3,
.kp-method .kp-lead {
	color: #ffffff;
}

.kp-method .kp-eyebrow {
	color: var(--kp-cyan);
}

.kp-method .kp-eyebrow::before {
	background: var(--kp-cyan);
}

.kp-method-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 70px;
	position: relative;
}

.kp-method-grid::before {
	background: rgba(85, 198, 226, 0.35);
	content: "";
	height: 1px;
	left: 3%;
	position: absolute;
	right: 3%;
	top: 29px;
}

.kp-method-grid article {
	padding: 0 20px;
	position: relative;
}

.kp-method-grid article > span {
	align-items: center;
	background: #142047;
	border: 1px solid rgba(85, 198, 226, 0.55);
	border-radius: 50%;
	color: var(--kp-cyan);
	display: flex;
	font-family: "IBM Plex Sans", monospace;
	font-size: 10px;
	font-weight: 700;
	height: 58px;
	justify-content: center;
	margin-bottom: 32px;
	position: relative;
	width: 58px;
	z-index: 1;
}

.kp-method-grid h3 {
	font-size: 23px;
	line-height: 1.15;
}

.kp-method-grid p {
	font-size: 14px;
	line-height: 1.65;
}

.kp-result {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	display: grid;
	gap: 25px;
	grid-template-columns: 110px 1fr;
	margin-top: 60px;
	padding: 27px 30px;
}

.kp-result span {
	color: var(--kp-cyan);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.kp-result p {
	color: #ffffff;
	font-size: 18px;
	margin: 0;
}

.kp-advanced {
	background: #ffffff;
}

.kp-advanced-grid {
	display: grid;
	gap: 15px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 60px;
}

.kp-advanced-grid article {
	background: #f5fafd;
	border: 1px solid var(--kp-line);
	border-radius: 18px;
	padding: 30px;
}

.kp-advanced-grid article > span {
	align-items: center;
	background: var(--kp-sky);
	border-radius: 11px;
	color: var(--kp-blue);
	display: flex;
	font-size: 19px;
	font-weight: 700;
	height: 43px;
	justify-content: center;
	margin-bottom: 40px;
	width: 43px;
}

.kp-advanced-grid article > span svg {
	fill: none;
	height: 24px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 24px;
}

.kp-advanced-grid h3 {
	font-size: 25px;
}

.kp-advanced-grid p {
	color: var(--kp-muted);
	font-size: 14px;
	margin: 0;
}

.kp-technology {
	background: linear-gradient(135deg, #eef8fd 0%, #f9fcfe 100%);
}

.kp-technology__grid {
	align-items: center;
	display: grid;
	gap: clamp(55px, 8vw, 110px);
	grid-template-columns: 1.05fr 0.95fr;
}

.kp-technology h2 {
	font-size: clamp(40px, 4.4vw, 65px);
}

.kp-tech-panel {
	background: #162044;
	border-radius: 28px;
	box-shadow: var(--kp-shadow);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: clamp(30px, 4vw, 48px);
}

.kp-tech-panel span {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.9);
	font-family: "IBM Plex Sans", monospace;
	font-size: 12px;
	padding: 11px 15px;
}

.kp-fit {
	background: #ffffff;
}

.kp-fit-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, 1fr);
	list-style: none;
	margin: 50px 0 0;
	padding: 0;
}

.kp-fit-grid li {
	background: #f6fafc;
	border: 1px solid var(--kp-line);
	border-radius: 15px;
	display: grid;
	font-size: 16px;
	gap: 15px;
	grid-template-columns: 26px 1fr;
	padding: 23px;
}

.kp-fit-grid li::before {
	align-items: center;
	background: var(--kp-ink);
	border-radius: 50%;
	color: #ffffff;
	content: "✓";
	display: flex;
	font-size: 10px;
	height: 22px;
	justify-content: center;
	margin-top: 3px;
	width: 22px;
}

.kp p.kp-fit__close {
	color: var(--kp-ink);
	font-size: 20px;
	font-weight: 550;
	margin: 74px 0 0;
	max-width: 980px;
}

.kp-faq {
	background: #eef7fc;
}

.kp-faq__grid {
	align-items: start;
	display: grid;
	gap: clamp(60px, 8vw, 110px);
	grid-template-columns: 0.72fr 1.28fr;
}

.kp-faq__intro {
	position: sticky;
	top: 115px;
}

.kp-faq__intro h2 {
	font-size: clamp(40px, 4.4vw, 64px);
}

.kp-accordion details {
	border-top: 1px solid rgba(31, 43, 85, 0.18);
	padding: 0;
}

.kp-accordion details:last-child {
	border-bottom: 1px solid rgba(31, 43, 85, 0.18);
}

.kp-accordion summary {
	align-items: center;
	color: var(--kp-ink);
	cursor: pointer;
	display: flex;
	font-size: 21px;
	font-weight: 600;
	gap: 20px;
	justify-content: space-between;
	list-style: none;
	padding: 25px 0;
}

.kp-accordion summary::-webkit-details-marker {
	display: none;
}

.kp-accordion summary span {
	align-items: center;
	border: 1px solid rgba(31, 43, 85, 0.22);
	border-radius: 50%;
	display: flex;
	font-size: 20px;
	font-weight: 400;
	height: 34px;
	justify-content: center;
	transition: transform 180ms ease;
	width: 34px;
}

.kp-accordion details[open] summary span {
	transform: rotate(45deg);
}

.kp-accordion details p {
	font-size: 16px;
	margin: -3px 60px 25px 0;
}

.kp-cta {
	background: #121b3a;
	color: rgba(255, 255, 255, 0.77);
	padding: clamp(80px, 9vw, 130px) 0;
	scroll-margin-top: 120px;
}

.kp-cta__shell {
	display: grid;
	gap: clamp(55px, 8vw, 110px);
	grid-template-columns: 0.85fr 1.15fr;
}

.kp-cta h2 {
	color: #ffffff;
}

.kp-cta .kp-eyebrow {
	color: var(--kp-cyan);
}

.kp-cta .kp-eyebrow::before {
	background: var(--kp-cyan);
}

.kp-cta__signals {
	color: #ffffff;
	font-size: clamp(22px, 2vw, 29px);
	font-weight: 550;
	line-height: 1.45;
}

.kp-button--light {
	background: #ffffff;
	color: var(--kp-ink) !important;
}

.kp-button--light-text {
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 0;
	color: #ffffff !important;
	min-height: auto;
	padding: 8px 2px;
}

@media (max-width: 1180px) {
	.kp-hero__shell,
	.kp-case__grid,
	.kp-case__grid--reverse {
		grid-template-columns: 1fr;
	}

	.kp-system-map,
	.kp-console,
	.kp-control-map {
		max-width: 760px;
		position: relative;
		top: auto;
	}

	.kp-case__copy {
		max-width: 900px;
	}

	.kp-case__grid--reverse .kp-console {
		grid-row: 2;
	}

	.kp-case__grid--reverse .kp-case__copy {
		grid-row: 1;
	}

	.kp-method-grid {
		gap: 35px 18px;
		grid-template-columns: repeat(3, 1fr);
	}

	.kp-method-grid::before {
		display: none;
	}

	.kp-method-grid article {
		padding: 0;
	}
}

@media (max-width: 900px) {
	.kp-heading-block--split,
	.kp-case__lower,
	.kp-case__relevance,
	.kp-technology__grid,
	.kp-faq__grid,
	.kp-cta__shell {
		grid-template-columns: 1fr;
	}

	.kp-standard-grid,
	.kp-project-grid,
	.kp-advanced-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.kp-standard-card:last-child,
	.kp-project-card:last-child {
		grid-column: 1 / -1;
	}

	.kp-method-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.kp-faq__intro {
		position: static;
	}

	.kp-jump-nav .kp-wrap {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
		padding-bottom: 17px;
		padding-top: 17px;
	}
}

@media (max-width: 767px) {
	.kp {
		font-size: 16px;
	}

	.kp h1 {
		font-size: clamp(42px, 12vw, 60px);
	}

	.kp h2,
	.kp-case__copy h2,
	.kp-technology h2,
	.kp-faq__intro h2 {
		font-size: clamp(36px, 10.5vw, 50px);
	}

	.kp-section,
	.kp-case {
		padding: 78px 0;
	}

	.kp-hero {
		padding-top: 45px;
	}

	.kp-hero__shell {
		gap: 45px;
	}

	.kp-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.kp-actions .kp-button {
		width: 100%;
	}

	.kp-trust-line {
		align-items: flex-start;
		flex-direction: column;
	}

	.kp-system-map__body {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.kp-flow-card,
	.kp-flow-card--ai,
	.kp-flow-card--human,
	.kp-flow-card--action {
		grid-column: 1;
	}

	.kp-flow-arrow,
	.kp-flow-card--ai::after,
	.kp-flow-card--human::after {
		display: none;
	}

	.kp-flow-card::after {
		display: none !important;
	}

	.kp-feedback-loop {
		grid-template-columns: repeat(2, 1fr);
	}

	.kp-standard-grid,
	.kp-project-grid,
	.kp-advanced-grid,
	.kp-method-grid,
	.kp-fit-grid {
		grid-template-columns: 1fr;
	}

	.kp-standard-card:last-child,
	.kp-project-card:last-child {
		grid-column: auto;
	}

	.kp-standard-card,
	.kp-project-card {
		min-height: auto;
	}

	.kp-card-icon {
		margin-bottom: 45px;
	}

	.kp-heading-block--split {
		gap: 20px;
	}

	.kp-source-grid,
	.kp-pipeline__main {
		grid-template-columns: 1fr;
	}

	.kp-console__body {
		grid-template-columns: 1fr;
	}

	.kp-console__rail {
		display: none;
	}

	.kp-pipeline {
		padding: 10px;
	}

	.kp-pipeline__progress span {
		font-size: 6px;
	}

	.kp-pipeline__sidebar {
		border-radius: 8px 8px 0 0;
	}

	.kp-pipeline__editor {
		border-radius: 0 0 8px 8px;
	}

	.kp-control-list li {
		grid-template-columns: 1fr;
	}

	.kp-case__relevance {
		gap: 28px;
	}

	.kp-health-panel {
		grid-template-columns: 1fr;
	}

	.kp-method-grid article {
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
		padding-bottom: 25px;
	}

	.kp-result {
		grid-template-columns: 1fr;
	}

	.kp-accordion summary {
		font-size: 18px;
	}

	.kp-accordion details p {
		margin-right: 0;
	}
}

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

	.kp * {
		transition: none !important;
	}
}
