/* Clinical Consciousness Studies Framework page
---------------------------------------------------------------------------------------------------- */
body.ccs-framework-page {
	background: #faf5ee;
	overflow-x: clip;
}
body.ccs-framework-page .site-inner {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}
body.ccs-framework-page .content,
body.ccs-framework-page .entry-content {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	float: none;
	overflow: visible;
}
/* Full-width bands: edge-to-edge background without 100vw + overflow-x:hidden shift */
body.ccs-framework-page .entry-content .wp-block-group.alignfull {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
body.ccs-framework-page .brainbow-banner-sec.ccs-framework-banner {
	width: 100%;
}

body.ccs-framework-page img {
	max-width: 100%;
	height: auto;
}
body.ccs-framework-page .entry-title,
body.ccs-framework-page .entry-header,
body.ccs-framework-page .entry-meta {
	display: none;
}
body.ccs-framework-page .content {
	width: 100%;
	float: none;
	padding: 0;
}
body.ccs-framework-page .entry,
body.ccs-framework-page .entry-content {
	margin: 0;
	padding: 0;
	max-width: none;
	text-align: left;
}

.ccs-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 28px;
}
body.ccs-framework-page .ccs-wheel-sec .wp-block-group__inner-container,
body.ccs-framework-page .ccs-domains .wp-block-group__inner-container,
body.ccs-framework-page .ccs-author .wp-block-group__inner-container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 28px;
	overflow: visible;
	text-align: left;
}
body.ccs-framework-page .ccs-hero .wp-block-group__inner-container,
body.ccs-framework-page .ccs-intro .wp-block-group__inner-container,
body.ccs-framework-page .ccs-prop .wp-block-group__inner-container,
body.ccs-framework-page .ccs-apply .wp-block-group__inner-container {
	max-width: 700px;
	margin: 0 auto;
	padding: 0 28px;
	overflow: visible;
	text-align: left;
}
body.ccs-framework-page .ccs-prop.ccs-prop--media .wp-block-group__inner-container {
	max-width: 1180px;
}

.ccs-kicker {
	font-family: GuanabaraSans, sans-serif;
	font-size: 16px;
	line-height: 20px;
	color: #111;
	margin: 0 0 18px;
	font-weight: 500;
	text-align: left;
	text-transform: uppercase;
}
.ccs-display {
	font-family: adobe-garamond-pro, serif;
	font-weight: bold;
	color: #111;
	letter-spacing: 0;
	line-height: 48px;
	font-size: 40px;
	margin: 0 0 22px;
	text-align: left;
}
.ccs-lede,
.ccs-body {
	font-family: GuanabaraSans, sans-serif;
	color: #111;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.625;
	margin: 0 0 28px;
	text-align: left;
}
.ccs-body:last-child {
	margin-bottom: 0;
}

/* Centered Brainbow-width column; copy stays left-aligned inside it */
.ccs-hero .ccs-kicker,
.ccs-hero .ccs-display,
.ccs-hero .ccs-lede,
.ccs-hero .ccs-body,
.ccs-intro h2,
.ccs-intro .ccs-body,
.ccs-intro .ccs-question,
.ccs-domains > .ccs-kicker,
.ccs-domains > .ccs-display,
.ccs-domains > .ccs-lede,
.ccs-domains > .wp-block-group__inner-container > .ccs-kicker,
.ccs-domains > .wp-block-group__inner-container > .ccs-display,
.ccs-domains > .wp-block-group__inner-container > .ccs-lede,
.ccs-prop .ccs-prop-label,
.ccs-prop .ccs-display,
.ccs-prop .ccs-body,
.ccs-prop .ccs-ethics-list,
.ccs-apply .ccs-kicker,
.ccs-apply .ccs-display,
.ccs-apply .ccs-lede,
.ccs-apply .wp-block-buttons {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

/* Hero */
.ccs-hero {
	background: #faf5ee;
	padding: 72px 0 56px;
	text-align: left;
	overflow: visible;
}
.ccs-hero .ccs-display,
.ccs-hero h1.ccs-display {
	font-size: 60px;
	line-height: 72px;
	margin-bottom: 56px;
	overflow-wrap: anywhere;
}
.ccs-hero .ccs-lede {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 28px;
}
.ccs-hero .ccs-body {
	margin-bottom: 0;
}

/* Wheel lives in hero — full-width section color comes from the group block, not a nested tan box */
.ccs-wheel-sec {
	background: transparent;
	padding: 0;
	overflow: visible;
}
.ccs-hero.ccs-wheel-sec {
	background: #faf5ee;
	padding: 28px 0 24px;
}
/* Brainbow banner — same layout/classes as /about/brainbow-blueprint/ (see _backups/CCS-WHEEL-LAYOUTS.md) */
body.ccs-framework-page .brainbow-banner-sec.ccs-framework-banner {
	background: #eae1d5;
	padding: 1.25rem 0 !important;
	margin: 0;
}
body.ccs-framework-page .ccs-framework-banner .wp-block-group__inner-container {
	max-width: 1017px;
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
}
body.ccs-framework-page .ccs-framework-banner .circle-mapping.ccs-framework-mapping {
	margin-top: 0;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
}
/* Nine-spoke layout: labels orbit the wheel on the same angles as the inner wedges */
@media (min-width: 801px) {
	body.ccs-framework-page .circle-mapping.ccs-framework-mapping {
		position: relative;
		width: min(1017px, 96vw);
		max-width: 1017px;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;
		overflow: visible;
		/* Elliptical label ring — wider / shorter (Brainbow-style), wheel stays circular */
		--ccs-stage: min(1017px, 96vw);
		--ccs-rx: calc(var(--ccs-stage) * 0.405);
		--ccs-ry: calc(var(--ccs-stage) * 0.278);
		height: calc(var(--ccs-stage) * 0.68);
		min-height: 0;
	}
	body.ccs-framework-page .ccs-framework-mapping .brainbowCircle {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 50.35%;
		max-width: 512px;
		margin: 0;
		z-index: 2;
		text-align: center;
		line-height: 0;
	}
	body.ccs-framework-page .ccs-framework-mapping .brainbowCircle img {
		max-width: 100%;
		width: 100%;
		height: auto;
		display: block;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection {
		right: auto !important;
		bottom: auto !important;
		width: 200px;
		margin: 0;
		transform: translate(-50%, -50%);
		z-index: 3;
	}
	/* Ellipse ring: x = rx·sin(θ), y = −ry·cos(θ) at 40° — wider & shorter than circular orbit */
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--person {
		left: calc(50% + var(--ccs-rx) * 0);
		top: calc(50% - var(--ccs-ry) - 1rem);
		border-top-color: #129843 !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--altered {
		left: calc(50% + var(--ccs-rx) * 0.6427876097);
		top: calc(50% - var(--ccs-ry) * 0.7660444431 - 1rem);
		border-top-color: #f79f16 !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--indigenous {
		left: calc(50% + var(--ccs-rx) * 0.984807753);
		top: calc(50% - var(--ccs-ry) * 0.1736481777);
		border-top-color: #f04d26 !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--psychedelics {
		left: calc(50% + var(--ccs-rx) * 0.8660254038);
		top: calc(50% + var(--ccs-ry) * 0.5);
		border-top-color: #e21d22 !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--ritual {
		left: calc(50% + var(--ccs-rx) * 0.3420201433);
		top: calc(50% + var(--ccs-ry) * 0.9396926208 + 2rem);
		border-top-color: #e02c7a !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--neuroscience {
		left: calc(50% + var(--ccs-rx) * -0.3420201433);
		top: calc(50% + var(--ccs-ry) * 0.9396926208 + 2rem);
		border-top-color: #6821ac !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--assessment {
		left: calc(50% + var(--ccs-rx) * -0.8660254038);
		top: calc(50% + var(--ccs-ry) * 0.5);
		border-top-color: #2a61d4 !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--applications {
		left: calc(50% + var(--ccs-rx) * -0.984807753);
		top: calc(50% - var(--ccs-ry) * 0.1736481777);
		border-top-color: #09abbf !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .innerSection.ccs-spoke--ethics {
		left: calc(50% + var(--ccs-rx) * -0.6427876097);
		top: calc(50% - var(--ccs-ry) * 0.7660444431 - 1rem);
		border-top-color: #079bca !important;
	}
	body.ccs-framework-page .ccs-framework-mapping .onHover-display {
		z-index: 5;
	}
}
.ccs-hero.ccs-hero-copy {
	padding: 56px 0;
}
body.ccs-framework-page .ccs-hero.ccs-hero-copy.has-background,
body.ccs-framework-page .ccs-hero.ccs-hero-copy {
	background-color: #faf5ee !important;
}
body.ccs-framework-page .ccs-hero.ccs-wheel-sec > .wp-block-group__inner-container {
	max-width: 1017px;
}

/* Interactive wheel — Brainbow-style slide-up popups */
.ccs-circle {
	position: relative;
	max-width: 680px;
	margin: 0 auto 12px;
}
.ccs-hero.ccs-wheel-sec .ccs-circle,
.ccs-hero.ccs-wheel-sec .ccs-circle-figure {
	max-width: 100%;
	width: 100%;
}
.ccs-hero.ccs-wheel-sec .ccs-circle-figure img {
	width: 100%;
	height: auto;
	max-width: min(1017px, 96vw);
	margin-left: auto;
	margin-right: auto;
	display: block;
}
.ccs-circle-figure {
	position: relative;
	margin: 0 auto;
	max-width: 680px;
	overflow: visible;
}
.ccs-circle-figure img {
	width: 100%;
	height: auto;
	display: block;
}
.ccs-hotspots {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.ccs-slice {
	fill: transparent;
	stroke: transparent;
	cursor: pointer;
	transition: fill 0.2s ease, stroke 0.2s ease;
}
.ccs-slice:hover,
.ccs-slice.is-active,
.ccs-slice:focus {
	fill: rgba(255, 255, 255, 0.16);
	stroke: rgba(255, 255, 255, 0.65);
	stroke-width: 2;
	outline: none;
}
.ccs-circle .innerSection {
	position: absolute;
	width: 12px;
	height: 12px;
	padding: 0;
	margin: 0;
	background: transparent;
	border: none;
	z-index: 4;
	cursor: pointer;
}
.ccs-circle .innerSection .innerBox {
	display: none;
}
.ccs-circle .onHover-display {
	transform: translateY(100px);
	opacity: 0;
	left: -9999px;
	position: absolute;
	background: #fff;
	z-index: 5;
	padding: 20px;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
	font-family: GuanabaraSans, sans-serif;
	color: #111;
	pointer-events: none;
	transition: transform 0.5s, opacity 0.5s;
	border-top: 7px solid #129843;
}
.ccs-circle .innerSection.no1 .onHover-display { border-top-color: #129843; }
.ccs-circle .innerSection.no2 .onHover-display { border-top-color: #f79f16; }
.ccs-circle .innerSection.no3 .onHover-display { border-top-color: #f04d26; }
.ccs-circle .innerSection.no4 .onHover-display { border-top-color: #e21d22; }
.ccs-circle .innerSection.no5 .onHover-display { border-top-color: #e02c7a; }
.ccs-circle .innerSection.no6 .onHover-display { border-top-color: #6821ac; }
.ccs-circle .innerSection.no7 .onHover-display { border-top-color: #2a61d4; }
.ccs-circle .innerSection.no8 .onHover-display { border-top-color: #09abbf; }
.ccs-circle .innerSection.no9 .onHover-display { border-top-color: #079bca; }
.ccs-circle .innerSection:hover .onHover-display,
.ccs-circle .innerSection.is-active .onHover-display {
	transform: translateY(-50px);
	opacity: 1;
	left: 0;
	transition: transform 0.5s, opacity 0.5s;
	width: 320px;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
	pointer-events: auto;
}
.ccs-circle .onHover-display b,
.ccs-circle .onHover-display strong {
	display: block;
	font-family: adobe-garamond-pro, serif;
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 6px;
	font-weight: bold;
}
.ccs-circle .innerSection.no1:hover .onHover-display,
.ccs-circle .innerSection.no1.is-active .onHover-display,
.ccs-circle .innerSection.no5:hover .onHover-display,
.ccs-circle .innerSection.no5.is-active .onHover-display,
.ccs-circle .innerSection.no6:hover .onHover-display,
.ccs-circle .innerSection.no6.is-active .onHover-display {
	left: 50%;
	right: auto;
	transform: translate(-50%, -50px);
}
.ccs-circle .innerSection.no1 { top: 16%; left: 50%; }
.ccs-circle .innerSection.no2 { top: 24%; left: 70%; }
.ccs-circle .innerSection.no3 { top: 46%; left: 82%; }
.ccs-circle .innerSection.no4 { top: 68%; left: 76%; }
.ccs-circle .innerSection.no5 { top: 84%; left: 58%; }
.ccs-circle .innerSection.no6 { top: 84%; left: 40%; }
.ccs-circle .innerSection.no7 { top: 68%; left: 22%; }
.ccs-circle .innerSection.no8 { top: 46%; left: 16%; }
.ccs-circle .innerSection.no9 { top: 24%; left: 28%; }

.ccs-circle .innerSection.no3 .onHover-display,
.ccs-circle .innerSection.no4 .onHover-display {
	left: auto;
	right: 0;
}
.ccs-circle .innerSection.no3:hover .onHover-display,
.ccs-circle .innerSection.no3.is-active .onHover-display,
.ccs-circle .innerSection.no4:hover .onHover-display,
.ccs-circle .innerSection.no4.is-active .onHover-display {
	left: auto;
	right: 0;
}
.ccs-circle .innerSection.no7 .onHover-display,
.ccs-circle .innerSection.no8 .onHover-display,
.ccs-circle .innerSection.no9 .onHover-display {
	left: auto;
	right: 0;
}
.ccs-circle .innerSection.no7:hover .onHover-display,
.ccs-circle .innerSection.no7.is-active .onHover-display,
.ccs-circle .innerSection.no8:hover .onHover-display,
.ccs-circle .innerSection.no8.is-active .onHover-display,
.ccs-circle .innerSection.no9:hover .onHover-display,
.ccs-circle .innerSection.no9.is-active .onHover-display {
	left: auto;
	right: 0;
}

.ccs-circle .innerSection.no1 { border-top-color: #129843; }
.ccs-circle .innerSection.no2 { border-top-color: #f79f16; }
.ccs-circle .innerSection.no3 { border-top-color: #f04d26; }
.ccs-circle .innerSection.no4 { border-top-color: #e21d22; }
.ccs-circle .innerSection.no5 { border-top-color: #e02c7a; }
.ccs-circle .innerSection.no6 { border-top-color: #6821ac; }
.ccs-circle .innerSection.no7 { border-top-color: #2a61d4; }
.ccs-circle .innerSection.no8 { border-top-color: #09abbf; }
.ccs-circle .innerSection.no9 { border-top-color: #079bca; }

.ccs-hint {
	display: none;
}
.ccs-circle .seeAll {
	display: none;
}

@media (max-width: 1280px) {
	.ccs-circle .innerSection:hover .onHover-display,
	.ccs-circle .innerSection.is-active .onHover-display {
		width: 220px;
	}
}

@media (max-width: 800px) {
	.ccs-circle {
		max-width: 100%;
	}
	.ccs-hotspots {
		display: none;
	}
	.ccs-circle .innerSection,
	.ccs-circle .innerSection.no1 {
		position: relative;
		margin: 0 0 9px;
		width: 100%;
		height: auto;
		text-align: left;
		border-top: 5px solid;
		font-size: 17px;
		box-shadow: rgb(99 99 99 / 20%) 0px 2px 8px 0px;
		inset: auto !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		padding: 8px 15px 8px;
		background: #fff;
		display: none;
	}
	.ccs-circle .innerSection .innerBox {
		display: block;
		font-weight: 500;
		font-family: GuanabaraSans, sans-serif;
		padding-right: 28px;
	}
	.ccs-circle .innerSection:before {
		position: absolute;
		content: "";
		background: url(/wp-content/uploads/2022/10/down-arrow-icon.svg) no-repeat center/contain;
		width: 25px;
		height: 25px;
		right: 10px;
		top: 8px;
	}
	.ccs-circle .onHover-display,
	.ccs-circle .innerSection:hover .onHover-display,
	.ccs-circle .innerSection.is-active .onHover-display {
		left: 0 !important;
		right: auto !important;
		transform: none;
		opacity: 1;
		position: relative;
		width: 100% !important;
		padding: 5px 30px 10px 0;
		display: none;
		pointer-events: auto;
		border-top: none;
		box-shadow: none;
	}
	.ccs-circle .seeAll {
		display: block;
		text-align: center;
		margin: 21px 0 0;
	}
	.ccs-circle .seeAll a {
		font-weight: 500;
		position: relative;
		font-size: 18px;
		cursor: pointer;
	}
}

/* Intro — cream band (contrasts with tan “Original Clinical Model” section above) */
.ccs-intro {
	padding: 29px 0 80px;
	background: #faf5ee;
}
.ccs-intro h2,
.ccs-intro .ccs-display,
.ccs-domains .ccs-display,
.ccs-prop .ccs-display,
.ccs-author .ccs-display,
.ccs-apply .ccs-display {
	font-size: 40px;
	line-height: 48px;
	margin-bottom: 22px;
	text-align: left;
}
.ccs-question {
	font-family: adobe-garamond-pro, serif;
	font-weight: bold;
	font-size: 40px;
	line-height: 48px;
	color: #111;
	margin: 61px 0 0;
	padding: 21px 0 0;
	border-top: 1px solid rgba(17, 17, 17, 0.16);
}

/* Domain grid */
.ccs-domains {
	background: #eae1d5;
	padding: 96px 0 88px;
	text-align: left;
}
.ccs-domains .ccs-lede {
	margin-bottom: 48px;
}
.ccs-card,
.ccs-domains .wp-block-column.ccs-card {
	background: #fff;
	padding: 28px 24px 26px;
	border-top-width: 7px;
	border-top-style: solid;
	border-top-color: #129843;
	min-height: 100%;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ccs-card:hover,
.ccs-domains .wp-block-column.ccs-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(43, 33, 28, 0.08);
}
.ccs-card h3,
.ccs-domains .ccs-card h3 {
	font-family: adobe-garamond-pro, serif;
	font-weight: bold;
	font-size: 28px;
	line-height: 32px;
	margin: 0 0 12px;
	color: #111;
}
.ccs-card p,
.ccs-domains .ccs-card p {
	margin: 0;
	font-family: GuanabaraSans, sans-serif;
	font-size: 20px;
	line-height: 1.625;
	color: #111;
}
.ccs-domains .ccs-card[data-domain="person"],
.ccs-domains .ccs-card--person,
.ccs-domains .wp-block-column.ccs-card--person { border-top-color: #129843 !important; }
.ccs-domains .ccs-card[data-domain="altered"],
.ccs-domains .ccs-card--altered,
.ccs-domains .wp-block-column.ccs-card--altered { border-top-color: #f79f16 !important; }
.ccs-domains .ccs-card[data-domain="indigenous"],
.ccs-domains .ccs-card--indigenous,
.ccs-domains .wp-block-column.ccs-card--indigenous { border-top-color: #f04d26 !important; }
.ccs-domains .ccs-card[data-domain="psychedelics"],
.ccs-domains .ccs-card--psychedelics,
.ccs-domains .wp-block-column.ccs-card--psychedelics { border-top-color: #e21d22 !important; }
.ccs-domains .ccs-card[data-domain="ritual"],
.ccs-domains .ccs-card--ritual,
.ccs-domains .wp-block-column.ccs-card--ritual { border-top-color: #e02c7a !important; }
.ccs-domains .ccs-card[data-domain="neuroscience"],
.ccs-domains .ccs-card--neuroscience,
.ccs-domains .wp-block-column.ccs-card--neuroscience { border-top-color: #6821ac !important; }
.ccs-domains .ccs-card[data-domain="assessment"],
.ccs-domains .ccs-card--assessment,
.ccs-domains .wp-block-column.ccs-card--assessment { border-top-color: #2a61d4 !important; }
.ccs-domains .ccs-card[data-domain="applications"],
.ccs-domains .ccs-card--applications,
.ccs-domains .wp-block-column.ccs-card--applications { border-top-color: #09abbf !important; }
.ccs-domains .ccs-card[data-domain="ethics"],
.ccs-domains .ccs-card--ethics,
.ccs-domains .wp-block-column.ccs-card--ethics { border-top-color: #079bca !important; }
.ccs-domains .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	margin-bottom: 22px;
}
.ccs-domains .wp-block-column.ccs-card {
	flex: 1 1 calc(33.333% - 15px);
	max-width: calc(33.333% - 15px);
}

/* Proposition sections */
.ccs-prop {
	padding: 92px 0;
}
.ccs-prop--cream { background: #eae1d5; }
.ccs-prop--paper { background: #faf5ee; }
.ccs-prop .ccs-display {
	max-width: 700px;
}
.ccs-prop--media .ccs-prop-label,
.ccs-prop--media .ccs-display,
.ccs-prop--media .ccs-body {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.ccs-prop--media .wp-block-columns {
	align-items: stretch !important;
	gap: 40px;
	margin-bottom: 0;
}
.ccs-prop--media .ccs-prop-photo {
	display: flex;
}
.ccs-prop--media .ccs-prop-photo .wp-block-image,
.ccs-prop--media .ccs-prop-photo figure {
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	margin: 0;
}
.ccs-prop--media .ccs-prop-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ccs-prop-label {
	font-family: GuanabaraSans, sans-serif;
	font-size: 16px;
	line-height: 20px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #111;
	margin: 0 0 10px;
	font-weight: 500;
}
.ccs-ethics-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 28px;
	margin: 28px 0 0;
	padding: 0;
}
.ccs-ethics-list li {
	border-bottom: 1px solid rgba(17, 17, 17, 0.1);
}

/* Authorship */
.ccs-author {
	background: #eae1d5;
	padding: 80px 0;
}
.ccs-author .wp-block-columns {
	align-items: stretch !important;
	margin-bottom: 0;
	gap: 48px;
}
.ccs-author .wp-block-column {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-self: stretch !important;
}
.ccs-author .wp-block-image,
.ccs-author figure {
	margin: 0;
	flex: 1 1 auto;
	height: 100%;
	display: flex;
}
.ccs-author img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
	display: block;
}
.ccs-author .ccs-display {
	max-width: none;
}
.ccs-author .wp-block-columns > .wp-block-column:last-child {
	container-type: inline-size;
}
.ccs-author h3.ccs-display {
	white-space: nowrap;
	font-size: clamp(22px, 6.7cqw, 40px);
	line-height: 1.15;
	max-width: 100%;
	margin-top: 0;
}
.ccs-author .ccs-body:last-child {
	margin-bottom: 0;
}

/* Apply / CTA */
.ccs-apply {
	background: #faf5ee;
	padding: 100px 0 110px;
	text-align: left;
}
.ccs-apply .ccs-lede {
	margin-bottom: 32px;
}
.ccs-apply .wp-block-button__link,
.ccs-btn {
	display: inline-block;
	background-color: #822582;
	color: #fff !important;
	padding: 16px 28px;
	font-size: 16px;
	font-weight: 500;
	box-shadow: 0 0 11px 0 rgb(50 50 50 / 47%);
	text-decoration: none !important;
	max-width: 100%;
	white-space: normal;
	box-sizing: border-box;
}
.ccs-btn:hover {
	background-color: #a255aa;
	color: #fff !important;
}

@media (max-width: 1024px) {
	.ccs-hero .ccs-display,
	.ccs-hero h1.ccs-display {
		font-size: 48px;
		line-height: 1.2;
		margin-bottom: 35px;
	}
	.ccs-domains .wp-block-column.ccs-card {
		flex: 1 1 calc(50% - 11px) !important;
		max-width: calc(50% - 11px) !important;
	}
	.ccs-prop--media .wp-block-columns {
		gap: 28px;
	}
}

@media (max-width: 800px) {
	body.ccs-framework-page .brainbow-banner-sec.ccs-framework-banner {
		padding: 1.25rem 0 !important;
	}
	.ccs-hero.ccs-wheel-sec:not(.brainbow-banner-sec) {
		padding: 24px 0 20px;
	}
	.ccs-hero.ccs-hero-copy {
		padding: 40px 0;
	}
	body.ccs-framework-page .ccs-hero .wp-block-group__inner-container,
	body.ccs-framework-page .ccs-intro .wp-block-group__inner-container,
	body.ccs-framework-page .ccs-prop .wp-block-group__inner-container,
	body.ccs-framework-page .ccs-apply .wp-block-group__inner-container,
	body.ccs-framework-page .ccs-wheel-sec .wp-block-group__inner-container,
	body.ccs-framework-page .ccs-domains .wp-block-group__inner-container,
	body.ccs-framework-page .ccs-author .wp-block-group__inner-container,
	body.ccs-framework-page .ccs-prop.ccs-prop--media .wp-block-group__inner-container {
		padding: 0 20px;
		max-width: 100%;
	}
	.ccs-hero { padding: 48px 0 36px; }
	.ccs-hero .ccs-display,
	.ccs-hero h1.ccs-display {
		font-size: 36px;
		line-height: 1.2;
		margin-bottom: 24px;
	}
	.ccs-hero .ccs-lede {
		font-size: 20px;
	}
	.ccs-intro h2,
	.ccs-intro .ccs-display,
	.ccs-domains .ccs-display,
	.ccs-prop .ccs-display,
	.ccs-apply .ccs-display,
	.ccs-question {
		font-size: 32px;
		line-height: 1.25;
	}
	.ccs-circle-figure { max-width: 100%; }
	.ccs-intro,
	.ccs-domains,
	.ccs-prop,
	.ccs-author,
	.ccs-apply { padding: 48px 0; }
	.ccs-card,
	.ccs-domains .wp-block-column.ccs-card {
		padding: 22px 20px 20px;
	}
	.ccs-card h3 {
		font-size: 24px;
		line-height: 28px;
	}
	.ccs-ethics-list { grid-template-columns: 1fr; }
	body.ccs-framework-page .wp-block-columns {
		flex-direction: column !important;
		gap: 24px !important;
	}
	body.ccs-framework-page .wp-block-column,
	body.ccs-framework-page .ccs-domains .wp-block-column.ccs-card,
	body.ccs-framework-page .ccs-prop--media .wp-block-column,
	body.ccs-framework-page .ccs-author .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	.ccs-domains .wp-block-columns {
		display: flex;
		flex-direction: column !important;
	}
	.ccs-domains .wp-block-column {
		margin-bottom: 0;
	}
	.ccs-author .wp-block-columns { gap: 24px; }
	.ccs-author .wp-block-image,
	.ccs-author figure,
	.ccs-author img {
		height: auto;
		flex: none;
	}
	.ccs-prop--media .wp-block-columns { gap: 24px; }
	.ccs-prop--media .wp-block-columns:has(.ccs-prop-photo:last-child) {
		flex-direction: column-reverse !important;
	}
	.ccs-prop--media .ccs-prop-photo,
	.ccs-prop--media .ccs-prop-photo .wp-block-image,
	.ccs-prop--media .ccs-prop-photo figure,
	.ccs-prop--media .ccs-prop-photo img {
		height: auto;
		flex: none;
	}
	.ccs-apply .wp-block-buttons,
	.ccs-apply .wp-block-button,
	.ccs-apply .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 480px) {
	.ccs-hero .ccs-display,
	.ccs-hero h1.ccs-display {
		font-size: 30px;
		margin-bottom: 20px;
	}
	.ccs-intro h2,
	.ccs-intro .ccs-display,
	.ccs-domains .ccs-display,
	.ccs-prop .ccs-display,
	.ccs-apply .ccs-display {
		font-size: 28px;
	}
	.ccs-kicker,
	.ccs-prop-label {
		font-size: 14px;
		line-height: 18px;
	}
	.ccs-lede,
	.ccs-body,
	.ccs-card p {
		font-size: 18px;
	}
}
