.cccp-project {
	--cccp-navy: #071f35;
	--cccp-blue: #0b426d;
	--cccp-gold: #e2aa3f;
	--cccp-paper: #f3efe5;
	--cccp-ink: #112635;
	--cccp-muted: #66747a;
	--cccp-line: #d2cdc1;
	background: var(--cccp-paper);
	color: var(--cccp-ink);
	font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
	margin: 0 calc(50% - 50vw);
	overflow: hidden;
	width: 100vw;
}

.cccp-project *,
.cccp-project *::before,
.cccp-project *::after { box-sizing: border-box; }
.cccp-project a { color: inherit; text-decoration: none; }
.cccp-project p { font-size: inherit; }
.cccp-project h1,
.cccp-project h2,
.cccp-project h3 {
	color: inherit;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -.035em;
	text-transform: none;
}

.cccp-hero {
	align-items: center;
	display: grid;
	gap: clamp(48px, 7vw, 120px);
	grid-template-columns: .92fr 1.08fr;
	min-height: 660px;
	padding: 90px clamp(24px, 7vw, 112px) 84px;
}
.cccp-eyebrow { color: #526168; display: flex; font-size: 11px; gap: 16px; letter-spacing: .16em; text-transform: uppercase; }
.cccp-eyebrow span + span { border-left: 1px solid #aaa89f; padding-left: 16px; }
.cccp-project h1 { color: var(--cccp-navy); font-size: clamp(56px, 6.5vw, 96px); line-height: .91; margin: 20px 0 22px; max-width: 760px; }
.cccp-dek { color: #40515b; font-family: Georgia, "Times New Roman", serif; font-size: clamp(20px, 2vw, 28px); line-height: 1.38; max-width: 590px; }
.cccp-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 34px 0 28px; }
.cccp-button { align-items: center; display: inline-flex; font-size: 12px; font-weight: 700; gap: 24px; justify-content: center; letter-spacing: .07em; min-height: 50px; padding: 0 22px; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }
.cccp-button:hover { transform: translateY(-2px); }
.cccp-primary { background: var(--cccp-blue); color: #fff !important; }
.cccp-secondary { border: 1px solid #78848a; color: var(--cccp-navy) !important; }
.cccp-byline { color: #68767b; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.cccp-byline strong { color: var(--cccp-ink); }

.cccp-source-figure {
	background: #fff;
	border: 1px solid #d3d9dc;
	box-shadow: 16px 16px 0 #dfd7c5;
	margin: 0;
	min-width: 0;
	padding: 16px 16px 14px;
}
.cccp-source-figure img {
	display: block;
	height: auto;
	margin: 0;
	max-width: none;
	width: 100%;
}
.cccp-source-figure figcaption {
	border-top: 1px solid #d8dde0;
	color: #52616b;
	font-size: 11px;
	letter-spacing: .02em;
	line-height: 1.45;
	margin-top: 12px;
	padding: 11px 4px 0;
}
.cccp-source-figure figcaption strong { color: var(--cccp-navy); }

.cccp-chart-card { background: var(--cccp-navy); box-shadow: 16px 16px 0 #dfd7c5; color: #fff; min-width: 0; padding: 28px; }
.cccp-chart-header, .cccp-legend { color: #aab8c2; display: flex; font-size: 10px; justify-content: space-between; letter-spacing: .15em; text-transform: uppercase; }
.cccp-chart { border-bottom: 1px solid #557083; border-left: 1px solid #557083; height: 385px; margin: 26px 0 18px; overflow: hidden; position: relative; }
.cccp-chart-grid { background: repeating-linear-gradient(to bottom, transparent 0, transparent 76px, rgba(255,255,255,.1) 77px); inset: 0; position: absolute; }
.cccp-chart-area { background: linear-gradient(165deg, rgba(226,170,63,.48) 0 47%, transparent 47.5%); bottom: 16%; clip-path: polygon(0 41%,16% 32%,33% 28%,48% 16%,66% 5%,82% 0,100% 4%,100% 100%,82% 79%,66% 51%,49% 46%,32% 52%,16% 57%,0 64%); left: 3%; position: absolute; right: -4%; top: 18%; }
.cccp-chart-line { height: 4px; left: 3%; position: absolute; right: -3%; transform-origin: left; }
.cccp-chart-line.cccp-total { background: var(--cccp-gold); top: 37%; transform: rotate(-7deg); }
.cccp-chart-line.cccp-public { background: #d6e1e6; top: 61%; transform: rotate(5deg); }
.cccp-chart-line i { background: inherit; border-radius: 50%; height: 9px; position: absolute; top: -3px; width: 9px; }
.cccp-chart-line i:nth-child(1){left:0}.cccp-chart-line i:nth-child(2){left:20%}.cccp-chart-line i:nth-child(3){left:40%}.cccp-chart-line i:nth-child(4){left:60%}.cccp-chart-line i:nth-child(5){left:80%}.cccp-chart-line i:nth-child(6){left:99%}
.cccp-gap-label { color: var(--cccp-gold); position: absolute; right: 7%; text-align: right; top: 49%; }
.cccp-gap-label strong { display: block; font-family: Georgia, serif; font-size: 20px; }
.cccp-gap-label span { color: #d8d2c6; display: block; font-size: 9px; }
.cccp-legend { justify-content: flex-start; gap: 28px; }
.cccp-legend span { align-items: center; display: flex; gap: 8px; }
.cccp-key { display: inline-block; height: 2px; width: 20px; }.cccp-total-key{background:var(--cccp-gold)}.cccp-public-key{background:#d6e1e6}

.cccp-intro { background: #fff; padding: 115px clamp(24px, 9vw, 145px); }
.cccp-section-label { color: #9c3b36; font-size: 10px; font-weight: 700; letter-spacing: .22em; margin: 0 0 34px; text-transform: uppercase; }
.cccp-two-column, .cccp-findings-heading { display: grid; gap: 10vw; grid-template-columns: 1.2fr .8fr; }
.cccp-intro h2, .cccp-findings h2 { color: var(--cccp-navy); font-size: clamp(38px, 4.3vw, 66px); line-height: 1.04; margin: 0; }
.cccp-intro-copy { border-top: 1px solid var(--cccp-ink); font-family: Georgia, serif; font-size: 18px; line-height: 1.65; padding-top: 22px; }
.cccp-intro-copy p:first-child { margin-top: 0; }

.cccp-stats { background: #fff; display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 clamp(24px, 7vw, 112px) 100px; }
.cccp-stats article {
	align-items: flex-start;
	border-bottom: 1px solid var(--cccp-line);
	border-right: 1px solid var(--cccp-line);
	border-top: 1px solid var(--cccp-line);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 210px;
	padding: 24px 26px 24px;
}
.cccp-stats article:first-child { border-left: 1px solid var(--cccp-line); }
.cccp-stats article > span { color: #9c3b36; display: block; font-size: 10px; margin-bottom: 35px; }
.cccp-stats strong {
	color: var(--cccp-blue);
	display: block;
	font-family: Georgia, serif;
	font-size: clamp(35px, 3vw, 52px);
	font-weight: 400;
	letter-spacing: -.03em;
	line-height: 1 !important;
	margin: 0 0 14px !important;
	white-space: nowrap;
}
.cccp-stats p {
	color: var(--cccp-muted);
	font-size: 12px;
	line-height: 1.45 !important;
	margin: 0 !important;
	max-width: 180px;
}

.cccp-method { align-items: center; background: var(--cccp-navy); color: #fff; display: grid; gap: 10vw; grid-template-columns: .9fr 1.1fr; padding: 110px clamp(24px, 9vw, 145px); }
.cccp-section-label.cccp-light { color: #ffd676 !important; }
.cccp-method h2 {
	color: #fff !important;
	font-size: clamp(42px, 5vw, 70px);
	line-height: 1.04 !important;
	margin: 0 0 30px !important;
}
.cccp-method-copy > p:not(.cccp-section-label) {
	color: #e0e8ed !important;
	font-size: 16px;
	line-height: 1.75 !important;
	max-width: 570px;
}
.cccp-method-copy > a { border-bottom: 1px solid var(--cccp-gold); color: var(--cccp-gold); display: inline-block; font-size: 12px; letter-spacing: .1em; margin-top: 18px; padding-bottom: 6px; text-transform: uppercase; }
.cccp-serial-card {
	background: #f8f5ed;
	border: 1px solid #d7cfae;
	box-shadow: 12px 12px 0 rgba(0,0,0,.18);
	color: var(--cccp-navy);
	padding: 34px;
}
.cccp-serial-card > p, .cccp-serial-card > small { color: #52616b; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.cccp-serial-title { font-weight: 700; }
.cccp-serials { display: grid; gap: 9px; grid-template-columns: repeat(6, 1fr); margin: 25px 0 32px; }
.cccp-serials span { align-items: center; aspect-ratio: 1; background: #fff; border: 1px solid #8ca0aa; display: flex; font-size: 14px; justify-content: center; }
.cccp-serials .cccp-missing { background: #f8e6b8; border-color: #a26a12; border-style: dashed; color: #8a5600; }
.cccp-estimate { align-items: center; border-bottom: 1px solid #9eabb2; border-top: 1px solid #9eabb2; display: grid; gap: 15px; grid-template-columns: 1fr auto auto 1fr auto; padding: 20px 0; }
.cccp-estimate span { color: #52616b; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cccp-estimate strong { color: #9a6500; font-family: Georgia, serif; font-size: 35px; font-weight: 400; }
.cccp-estimate i { font-style: normal; }

.cccp-findings { padding: 115px clamp(24px, 7vw, 112px); }
.cccp-findings-heading { align-items: end; margin-bottom: 60px; }
.cccp-findings-heading p { color: var(--cccp-muted); line-height: 1.7; max-width: 390px; }
.cccp-finding-grid { border-left: 1px solid #bcb8ae; border-top: 1px solid #bcb8ae; display: grid; grid-template-columns: repeat(3, 1fr); }
.cccp-finding-grid article { border-bottom: 1px solid #bcb8ae; border-right: 1px solid #bcb8ae; display: flex; flex-direction: column; min-height: 560px; padding: 30px; }
.cccp-finding-grid article > span { color: #9c3b36; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.cccp-finding-grid h3 { color: var(--cccp-navy) !important; font-size: 27px; line-height: 1.18 !important; margin: 28px 0 10px !important; }
.cccp-finding-grid p { color: var(--cccp-muted); font-size: 13px; line-height: 1.65; margin: 0; }
.cccp-finding-figure {
	background: #fff;
	border: 1px solid #d6d5d0;
	margin: 24px 0 0;
}
.cccp-finding-figure img {
	aspect-ratio: 1.62 / 1;
	display: block;
	height: auto;
	margin: 0;
	object-fit: contain;
	width: 100%;
}
.cccp-finding-figure figcaption {
	border-top: 1px solid #e1dfd8;
	color: #52616b;
	font-size: 10px;
	line-height: 1.4;
	margin: 0;
	padding: 10px 12px;
}
.cccp-bars { margin: auto 0 10px; }
.cccp-bars > div { align-items: center; display: grid; font-size: 10px; gap: 9px; grid-template-columns: 90px 1fr 34px; margin: 19px 0; }
.cccp-bars i { background: #d8d3c8; height: 7px; }
.cccp-bars b { background: var(--cccp-blue); display: block; height: 100%; }
.cccp-bars em { font-style: normal; text-align: right; }
.cccp-region { display: grid; gap: 6px; grid-template-columns: repeat(4, 38px); margin: auto; transform: rotate(-7deg); }
.cccp-region i { background: #9fb5bf; height: 34px; }.cccp-region i:nth-child(3n){background:var(--cccp-gold)}.cccp-region i:nth-child(5n){opacity:.3}.cccp-region i:first-child,.cccp-region i:last-child{visibility:hidden}
.cccp-trend { border-bottom: 1px solid #bcb8ae; border-left: 1px solid #bcb8ae; height: 170px; margin: auto 0 10px; position: relative; }
.cccp-trend > i { background: var(--cccp-blue); height: 3px; left: 5%; position: absolute; top: 42%; transform: rotate(-6deg); width: 85%; }
.cccp-trend > i::after { background: #a53b35; content: ""; height: 3px; position: absolute; right: -10%; top: 35px; transform: rotate(26deg); transform-origin: left; width: 48%; }
.cccp-trend strong { font-size: 11px; position: absolute; right: 28%; top: 15%; }
.cccp-trend small { bottom: 10%; color: #9c3b36; position: absolute; right: 4%; }

.cccp-team {
	background: #fff;
	padding: 110px clamp(24px, 7vw, 112px);
}
.cccp-team-heading {
	align-items: end;
	display: grid;
	gap: 9vw;
	grid-template-columns: 1.2fr .8fr;
	margin-bottom: 55px;
}
.cccp-team-heading h2 {
	color: var(--cccp-navy) !important;
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.04 !important;
	margin: 0 !important;
}
.cccp-team-heading > p {
	color: var(--cccp-muted);
	line-height: 1.7 !important;
	margin: 0;
	max-width: 420px;
}
.cccp-team-grid {
	border-left: 1px solid var(--cccp-line);
	border-top: 1px solid var(--cccp-line);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.cccp-team-grid article {
	border-bottom: 1px solid var(--cccp-line);
	border-right: 1px solid var(--cccp-line);
	min-height: 230px;
	padding: 26px;
}
.cccp-team-grid article > span {
	color: #9c3b36;
	display: block;
	font-size: 10px;
	letter-spacing: .14em;
	margin-bottom: 54px;
}
.cccp-team-grid h3 {
	color: var(--cccp-navy) !important;
	font-size: 24px;
	line-height: 1.15 !important;
	margin: 0 0 13px !important;
}
.cccp-team-grid h3 a {
	border-bottom: 1px solid transparent;
	display: inline;
}
.cccp-team-grid h3 a:hover {
	border-color: var(--cccp-gold);
	color: #8c302f;
}
.cccp-team-grid h3 i {
	color: #9c3b36;
	font-family: Arial, sans-serif;
	font-size: 13px;
	font-style: normal;
	margin-left: 5px;
	vertical-align: top;
}
.cccp-team-grid p {
	color: var(--cccp-muted);
	font-size: 12px;
	line-height: 1.55 !important;
	margin: 0 !important;
}

.cccp-portal-cta { align-items: end; background: var(--cccp-blue); color: #fff; display: grid; gap: 9vw; grid-template-columns: 1.2fr .8fr; padding: 100px clamp(24px, 9vw, 145px); }
.cccp-portal-cta h2 {
	color: #fff !important;
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.08 !important;
	margin: 0 !important;
	text-shadow: none;
}
.cccp-portal-cta > div:last-child p { color: #e7f0f5 !important; font-size: 16px; line-height: 1.7 !important; margin-bottom: 28px; }
.cccp-gold { background: var(--cccp-gold); color: var(--cccp-navy) !important; }

/*
 * The Jupiter theme adds an empty page-title region, a 20px wrapper margin,
 * 30px content padding, an empty paragraph, and an unfold spacer around
 * shortcode content. This stylesheet is loaded only on the project page.
 */
#mk-page-introduce {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
}
#theme-page,
#theme-page .mk-main-wrapper-holder,
#theme-page .theme-page-wrapper {
	margin: 0 !important;
	padding: 0 !important;
}
#theme-page .theme-page-wrapper {
	max-width: none !important;
	width: 100% !important;
}
#theme-page .theme-page-wrapper > .theme-content {
	margin: 0 !important;
	padding: 0 !important;
}
.cccp-project + p:empty,
#mk-footer-unfold-spacer {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
}

@media (max-width: 980px) {
	.cccp-hero, .cccp-method, .cccp-two-column, .cccp-findings-heading, .cccp-portal-cta { grid-template-columns: 1fr; }
	.cccp-hero { padding-top: 65px; }
	.cccp-chart-card, .cccp-source-figure { max-width: 760px; }
	.cccp-stats { grid-template-columns: repeat(2, 1fr); }
	.cccp-finding-grid { grid-template-columns: 1fr; }
	.cccp-finding-grid article { min-height: 410px; }
	.cccp-team-heading { grid-template-columns: 1fr; }
	.cccp-team-grid { grid-template-columns: repeat(2, 1fr); }
	.cccp-portal-cta { gap: 40px; }
}

@media (max-width: 600px) {
	.cccp-hero { padding: 55px 20px 65px; }
	.cccp-chart-card, .cccp-source-figure { box-shadow: 9px 9px 0 #dfd7c5; }
	.cccp-chart { height: 300px; }
	.cccp-stats { grid-template-columns: 1fr; padding: 0 20px 70px; }
	.cccp-stats article { border-left: 1px solid var(--cccp-line); min-height: 150px; }
	.cccp-intro, .cccp-findings, .cccp-method, .cccp-team, .cccp-portal-cta { padding: 75px 20px; }
	.cccp-serial-card { padding: 20px; }
	.cccp-serials { grid-template-columns: repeat(4, 1fr); }
	.cccp-estimate { grid-template-columns: 1fr auto; }
	.cccp-estimate i { display: none; }
	.cccp-team-grid { grid-template-columns: 1fr; }
	.cccp-team-grid article { min-height: 190px; }
	.cccp-team-grid article > span { margin-bottom: 36px; }
	.cccp-button { width: 100%; }
}
