/* MIDO PHASE 9.3.2 SINGLE PROJECT ACTIVE */
/* =============================================================================
   Single project page (/work/{project-slug}/).

   All selectors scoped under .cbm-project-single. Reuses globals where
   possible (.cbm-shell, .cbm-content-kicker, .cbm-content-heading,
   .cbm-content-body, .cbm-u-btn) so nothing duplicates.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Page envelope
   -------------------------------------------------------------------------- */
.cbm-project-single {
	padding-bottom: clamp(48px, 6vw, 80px);
}

/* --------------------------------------------------------------------------
   HERO strip
   -------------------------------------------------------------------------- */
.cbm-project-single .cbm-project-single__hero {
	padding-block: clamp(110px, 14vw, 168px) clamp(32px, 4vw, 56px);
}
.cbm-project-single .cbm-project-single__hero-inner {
	width: var(--site-w);
	max-width: var(--site-max);
	margin-inline: auto;
	text-align: left;
}
.cbm-project-single .cbm-project-single__kicker {
	margin: 0 0 14px;
}
.cbm-project-single .cbm-project-single__title {
	margin: 0 0 18px;
	text-align: left;
	max-width: 22ch;
}
.cbm-project-single .cbm-project-single__meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 22px;
	color: var(--text-muted, #AFA4B8);
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	line-height: 1.4;
}
.cbm-project-single .cbm-project-single__meta .cbm-modal-seg {
	display: inline-flex;
	align-items: center;
}
.cbm-project-single .cbm-project-single__lede {
	margin: 0 0 28px;
	max-width: 60ch;
	color: var(--text-secondary, #DDD6E3);
	opacity: 0.92;
	line-height: 1.55;
}
.cbm-project-single .cbm-project-single__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

/* --------------------------------------------------------------------------
   COVER (16:9 image OR designed placeholder)
   -------------------------------------------------------------------------- */
.cbm-project-single .cbm-project-single__cover-section {
	padding-block: clamp(24px, 3vw, 48px);
}
.cbm-project-single .cbm-project-single__cover-inner {
	width: var(--site-w);
	max-width: var(--site-max);
	margin-inline: auto;
}
.cbm-project-single .cbm-project-single__cover {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid rgba(197, 166, 211, 0.10);
	background: #050505;
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.55);
}
.cbm-project-single .cbm-project-single__cover-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	z-index: 0;
}
.cbm-project-single .cbm-project-single__cover-placeholder {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(ellipse 60% 50% at 25% 30%, rgba(142, 99, 163, 0.34), transparent 60%),
		radial-gradient(ellipse 50% 40% at 80% 80%, rgba(183, 140, 255, 0.22), transparent 65%),
		linear-gradient(135deg, #1B1620 0%, #141017 100%);
}
.cbm-project-single .cbm-project-single__cover-grain {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	opacity: 0.55;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0 0.42 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
	background-size: 160px 160px;
	background-repeat: repeat;
}

/* --------------------------------------------------------------------------
   BODY — editor content, overview, highlights
   -------------------------------------------------------------------------- */
.cbm-project-single .cbm-project-single__body {
	padding-block: clamp(48px, 7vw, 96px) clamp(56px, 8vw, 112px);
}
.cbm-project-single .cbm-project-single__body-inner {
	width: var(--site-w);
	max-width: var(--site-max);
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 4vw, 48px);
}
.cbm-project-single .cbm-project-single__editor {
	max-width: 68ch;
	color: var(--text-secondary, #DDD6E3);
	line-height: 1.65;
}
.cbm-project-single .cbm-project-single__editor p {
	margin: 0 0 1em;
}
.cbm-project-single .cbm-project-single__editor img {
	max-width: 100%;
	height: auto;
	border-radius: 14px;
	margin: 1em 0;
}
.cbm-project-single .cbm-project-single__block {
	max-width: 68ch;
}
.cbm-project-single .cbm-project-single__block-title {
	margin: 0 0 14px;
	text-align: left;
	font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem);
}
.cbm-project-single .cbm-project-single__block-body {
	margin: 0;
	color: var(--text-secondary, #DDD6E3);
	opacity: 0.92;
	line-height: 1.6;
}
.cbm-project-single .cbm-project-single__highlights {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.cbm-project-single .cbm-project-single__highlights li {
	position: relative;
	padding-inline-start: 22px;
	color: var(--text-secondary, #DDD6E3);
	line-height: 1.5;
}
.cbm-project-single .cbm-project-single__highlights li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--accent-lime, #B78CFF);
	box-shadow: 0 0 0 3px rgba(183, 140, 255, 0.18);
}

/* --------------------------------------------------------------------------
   FOOTER CTAs
   -------------------------------------------------------------------------- */
.cbm-project-single .cbm-project-single__nav {
	padding-block: clamp(24px, 4vw, 56px) clamp(40px, 6vw, 72px);
	border-top: 1px solid rgba(245, 243, 247, 0.045);
}
.cbm-project-single .cbm-project-single__nav-inner {
	width: var(--site-w);
	max-width: var(--site-max);
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
}
.cbm-project-single .cbm-project-single__back {
	align-self: flex-start;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 560px) {
	.cbm-project-single .cbm-project-single__hero {
		padding-block: clamp(96px, 22vw, 128px) clamp(24px, 6vw, 40px);
	}
	.cbm-project-single .cbm-project-single__title {
		max-width: none;
	}
	.cbm-project-single .cbm-project-single__nav-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ── PHASE 10.4.1 HEADER CONSISTENCY — match .cbm-page-hero atmosphere ── */
.cbm-project-single__hero {
  position: relative;
  overflow: clip;
  isolation: isolate;
  padding-block: clamp(110px, 14vw, 168px) clamp(40px, 5vw, 64px);
}
.cbm-project-single__hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 60% 50% at 18% 30%, rgba(142,99,163,.22), transparent 60%),
    radial-gradient(ellipse 50% 40% at 82% 24%, rgba(183,140,255,.14), transparent 65%);
  pointer-events: none;
}
.cbm-project-single__hero-inner {
  position: relative;
  z-index: 1;
}
.cbm-project-single__kicker {
  /* Matches .cbm-page-hero__kicker rhythm */
  margin-bottom: var(--sp-5, 20px);
}
