.cdfc-section {
	background: var(--cdfc-section-bg, #1a1a19);
	color: var(--cdfc-card-text, #fff);
	padding: var(--cdfc-pad-top, 96px) 24px var(--cdfc-pad-bottom, 96px);
	width: 100%;
}

/* Investor demo profile system — v0.4.0 */
.cdfc-celebrity-profile-page {
	background: #fff;
}

.cdfc-profile {
	--cdfc-demo-ink: #1a1a1a;
	--cdfc-demo-black: #0a0a0a;
	--cdfc-demo-gold: #b8922a;
	--cdfc-demo-gold-text: #8a6a14;
	--cdfc-demo-muted: #6b6b6b;
	--cdfc-demo-dim: #929292;
	--cdfc-demo-border: #e8e4df;
	background: #fff;
	color: var(--cdfc-demo-ink);
	font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	overflow: hidden;
}

.cdfc-profile-shell {
	max-width: 1240px;
}

.cdfc-profile-hero {
	background: linear-gradient(118deg, #090909 0%, #1c1810 48%, #b8922a 145%);
	border: 0;
	color: #fff;
	overflow: hidden;
	padding: 0;
	position: relative;
}

.cdfc-profile-hero::after {
	border: 90px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
	bottom: -280px;
	content: "";
	height: 520px;
	pointer-events: none;
	position: absolute;
	right: -160px;
	width: 520px;
}

.cdfc-profile-hero-grid {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: 180px minmax(0, 1fr) auto;
	padding-bottom: 58px;
	padding-top: 58px;
	position: relative;
	z-index: 1;
}

.cdfc-profile-portrait {
	background: #28251d;
	border: 5px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	box-shadow: none;
	height: 180px;
	overflow: hidden;
	width: 180px;
}

.cdfc-profile-portrait::after {
	display: none;
}

.cdfc-profile-portrait img,
.cdfc-profile-portrait .cdfc-card-placeholder {
	height: 100%;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.cdfc-profile-kicker {
	color: #f1d77f;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.cdfc-profile-intro h1 {
	color: #fff;
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-size: clamp(43px, 5vw, 75px);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 0 0 7px;
}

.cdfc-profile-full-name {
	color: rgba(255, 255, 255, 0.86);
	font-size: 15px;
	font-weight: 500;
	margin: 0;
}

.cdfc-profile-bio {
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
	line-height: 1.55;
	margin: 15px 0 0;
	max-width: 670px;
}

.cdfc-profile-meta {
	color: rgba(255, 255, 255, 0.68);
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	gap: 9px 18px;
	margin-top: 18px;
}

.cdfc-profile-meta strong {
	color: #fff;
}

.cdfc-profile-actions {
	align-self: end;
	display: block;
	margin: 0;
}

.cdfc-profile-follow {
	background: #fff;
	border: 1px solid #fff;
	color: #161616;
	font-size: 13px;
	min-width: 174px;
	padding: 15px 21px;
}

.cdfc-profile-follow:hover,
.cdfc-profile-follow:focus {
	background: #f5e9c8;
	border-color: #f5e9c8;
	color: #161616;
}

.cdfc-profile-follow.is-following {
	background: var(--cdfc-demo-gold);
	border-color: var(--cdfc-demo-gold);
	color: #111;
}

.cdfc-profile-catalogue {
	background: #fff;
	color: var(--cdfc-demo-ink);
	padding: 88px 0 110px;
}

.cdfc-catalogue-heading {
	border: 0;
	display: block;
	margin: 0 0 35px;
	max-width: 720px;
	padding: 0;
}

.cdfc-profile-catalogue .cdfc-profile-kicker {
	color: var(--cdfc-demo-gold-text);
	margin-bottom: 9px;
}

.cdfc-catalogue-heading h2 {
	color: var(--cdfc-demo-ink);
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 62px);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 0;
}

.cdfc-catalogue-heading > div > p:last-child {
	color: var(--cdfc-demo-muted);
	font-size: 15px;
	line-height: 1.55;
	margin: 15px 0 0;
}

.cdfc-preview-notice {
	border-radius: 12px;
	font-size: 13px;
	margin-bottom: 28px;
}

.cdfc-product-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cdfc-product-card {
	background: #fff;
	border: 1px solid var(--cdfc-demo-border);
	border-radius: 20px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.09);
	overflow: hidden;
}

.cdfc-product-card:hover {
	border-color: #d4cec6;
	box-shadow: 0 15px 36px rgba(0, 0, 0, 0.13);
	transform: translateY(-3px);
}

.cdfc-product-image-link {
	background: #f7f7f8;
}

.cdfc-product-image,
.cdfc-product-placeholder {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.cdfc-draft-badge {
	background: rgba(10, 10, 10, 0.92);
	color: #f1d77f;
}

.cdfc-product-body {
	padding: 18px 18px 20px;
}

.cdfc-product-celebrity {
	align-items: center;
	color: #4f4f4f;
	display: flex;
	font-size: 12px;
	font-weight: 650;
	gap: 7px;
	margin: 0 0 13px;
}

.cdfc-product-celebrity img,
.cdfc-product-avatar-placeholder {
	background: #e8e4df;
	border-radius: 50%;
	display: block;
	height: 24px;
	object-fit: cover;
	width: 24px;
}

.cdfc-profile-mark {
	align-items: center;
	background: var(--cdfc-demo-gold);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 8px;
	font-weight: 800;
	height: 14px;
	justify-content: center;
	width: 14px;
}

.cdfc-product-body h3 {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.018em;
	line-height: 1.25;
	margin: 0;
}

.cdfc-product-body h3 a {
	color: var(--cdfc-demo-ink);
}

.cdfc-product-meta {
	color: var(--cdfc-demo-dim);
	font-size: 12px;
	margin: 7px 0 0;
}

.cdfc-product-footer {
	align-items: center;
	border: 0;
	margin-top: 18px;
	padding: 0;
}

.cdfc-product-price {
	color: var(--cdfc-demo-gold-text);
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-size: 21px;
	font-weight: 700;
}

.cdfc-product-view {
	align-items: center;
	background: var(--cdfc-demo-black);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 18px;
	height: 42px;
	justify-content: center;
	text-decoration: none;
	transition: background 160ms ease, transform 160ms ease;
	width: 42px;
}

.cdfc-product-view:hover,
.cdfc-product-view:focus {
	background: var(--cdfc-demo-gold);
	color: #fff;
	transform: translateX(2px);
}

.cdfc-catalogue-empty {
	background: #f7f7f8;
	border-color: #d4cec6;
}

@media (max-width: 860px) {
	.cdfc-profile-hero-grid {
		display: grid;
		grid-template-columns: 130px minmax(0, 1fr);
	}

	.cdfc-profile-portrait {
		height: 130px;
		width: 130px;
	}

	.cdfc-profile-actions {
		grid-column: 1 / -1;
		justify-self: center;
	}

	.cdfc-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.cdfc-profile-shell {
		padding-left: 12px;
		padding-right: 12px;
	}

	.cdfc-profile-hero-grid {
		display: grid;
		gap: 19px;
		grid-template-columns: 1fr;
		justify-items: center;
		padding-bottom: 42px;
		padding-top: 42px;
		text-align: center;
	}

	.cdfc-profile-portrait {
		height: 130px;
		width: 130px;
	}

	.cdfc-profile-intro {
		width: 100%;
	}

	.cdfc-profile-intro h1 {
		font-size: clamp(43px, 13vw, 58px);
	}

	.cdfc-profile-bio {
		font-size: 14px;
		margin-left: auto;
		margin-right: auto;
	}

	.cdfc-profile-meta {
		justify-content: center;
	}

	.cdfc-profile-actions {
		grid-column: auto;
	}

	.cdfc-profile-catalogue {
		padding: 62px 0 76px;
	}

	.cdfc-catalogue-heading {
		margin-bottom: 29px;
	}

	.cdfc-catalogue-heading h2 {
		font-size: 44px;
	}

	.cdfc-product-grid {
		grid-template-columns: 1fr;
	}
}

.cdfc-inner {
	margin: 0 auto;
	max-width: var(--cdfc-max-width, 1380px);
}

.cdfc-header {
	margin: 0 auto 56px;
	max-width: 760px;
	text-align: center;
}

.cdfc-kicker {
	color: var(--cdfc-kicker, #c6a229);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.2;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.cdfc-header h2 {
	color: var(--cdfc-heading, #fff);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 78px);
	font-weight: 700;
	letter-spacing: -0.055em;
	line-height: 0.96;
	margin: 0;
}

.cdfc-subtitle {
	color: var(--cdfc-subtitle, #a7a7a7);
	font-size: clamp(17px, 1.5vw, 23px);
	line-height: 1.45;
	margin: 22px auto 0;
	max-width: 760px;
}

.cdfc-header-button {
	align-items: center;
	background: var(--cdfc-button-bg, #fff);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 12px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
	color: var(--cdfc-button-text, #181818);
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	margin-top: 30px;
	min-height: 52px;
	padding: 0 24px;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.cdfc-header-button:hover,
.cdfc-header-button:focus {
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
	color: var(--cdfc-button-text, #181818);
	transform: translateY(-1px);
}

.cdfc-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(var(--cdfc-cols-desktop, 4), minmax(0, 1fr));
}

.cdfc-card {
	background: var(--cdfc-card-bg, #242423);
	border: 1px solid var(--cdfc-card-border, #3b3b39);
	border-radius: var(--cdfc-card-radius, 22px);
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.18);
	min-width: 0;
	overflow: hidden;
	position: relative;
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.cdfc-card:hover {
	border-color: var(--cdfc-card-hover, #9b7a18);
	box-shadow: 0 28px 60px rgba(0, 0, 0, 0.28);
	transform: translateY(-4px);
}

.cdfc-image-link {
	background: #111;
	display: block;
	height: var(--cdfc-image-height, 330px);
	overflow: hidden;
	text-decoration: none;
}

.cdfc-card-image,
.cdfc-card-placeholder {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.cdfc-card-placeholder {
	background:
		radial-gradient(circle at 70% 18%, rgba(198, 162, 41, 0.18), transparent 28%),
		linear-gradient(135deg, #171716, #2f2b20 52%, #111);
}

.cdfc-card-body {
	padding: 24px 26px 26px;
}

.cdfc-card h3 {
	color: var(--cdfc-card-text, #fff);
	font-size: clamp(20px, 1.6vw, 25px);
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.05;
	margin: 0 0 8px;
}

.cdfc-card h3 a {
	color: inherit;
	text-decoration: none;
}

.cdfc-card h3 a:hover,
.cdfc-card h3 a:focus {
	color: var(--cdfc-accent, #c6a229);
}

.cdfc-card-profile-link::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.cdfc-meta {
	align-items: center;
	color: var(--cdfc-card-muted, #9a9a9a);
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
	gap: 6px;
	line-height: 1.3;
	margin: 0;
}

.cdfc-card-footer {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-top: 34px;
}

.cdfc-explore {
	color: var(--cdfc-accent, #c6a229);
	font-size: 14px;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
}

.cdfc-explore:hover,
.cdfc-explore:focus {
	color: #e7c95d;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.cdfc-follow-button {
	appearance: none;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	color: var(--cdfc-card-text, #fff);
	cursor: pointer;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	min-width: 86px;
	padding: 13px 18px;
	position: relative;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
	z-index: 3;
}

.cdfc-follow-button:hover,
.cdfc-follow-button:focus {
	border-color: var(--cdfc-accent, #c6a229);
	transform: translateY(-1px);
}

.cdfc-follow-button.is-following {
	background: var(--cdfc-accent, #c6a229);
	border-color: var(--cdfc-accent, #c6a229);
	color: #111;
}

.cdfc-follow-button.is-loading {
	cursor: wait;
	opacity: 0.6;
	pointer-events: none;
}

.cdfc-empty {
	color: var(--cdfc-subtitle, #a7a7a7);
	font-size: 18px;
	text-align: center;
}

/* Native celebrity profile pages */
.cdfc-celebrity-profile-page {
	background: #151514;
}

.cdfc-profile {
	background: #151514;
	color: #fff;
	min-height: 70vh;
	overflow: hidden;
	width: 100%;
}

.cdfc-profile *,
.cdfc-profile *::before,
.cdfc-profile *::after {
	box-sizing: border-box;
}

.cdfc-profile-shell {
	margin: 0 auto;
	max-width: var(--cdfc-max-width, 1380px);
	padding-left: 32px;
	padding-right: 32px;
	width: 100%;
}

.cdfc-profile-hero {
	background:
		radial-gradient(circle at 14% 22%, rgba(198, 162, 41, 0.14), transparent 30%),
		radial-gradient(circle at 88% 65%, rgba(198, 162, 41, 0.08), transparent 28%),
		#181817;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 72px 0 82px;
}

.cdfc-profile-hero-grid {
	align-items: center;
	display: grid;
	gap: clamp(44px, 7vw, 110px);
	grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
}

.cdfc-profile-portrait {
	background: #222;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 30px;
	box-shadow: 0 34px 90px rgba(0, 0, 0, 0.44);
	height: clamp(430px, 52vw, 610px);
	overflow: hidden;
	position: relative;
}

.cdfc-profile-portrait::after {
	background: linear-gradient(180deg, transparent 66%, rgba(0, 0, 0, 0.28));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.cdfc-profile-portrait img,
.cdfc-profile-portrait .cdfc-card-placeholder {
	height: 100%;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.cdfc-profile-back {
	color: #bdbdb8;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 62px;
	text-decoration: none;
}

.cdfc-profile-back:hover,
.cdfc-profile-back:focus {
	color: var(--cdfc-accent, #c6a229);
}

.cdfc-profile-kicker {
	color: var(--cdfc-accent, #c6a229);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.17em;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.cdfc-profile-intro h1 {
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(58px, 8vw, 116px);
	font-weight: 700;
	letter-spacing: -0.065em;
	line-height: 0.84;
	margin: 0;
	max-width: 850px;
}

.cdfc-profile-bio {
	color: #c5c5c0;
	font-size: clamp(18px, 1.65vw, 23px);
	line-height: 1.55;
	margin: 34px 0 0;
	max-width: 720px;
}

.cdfc-profile-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 38px;
}

.cdfc-profile-follow {
	border-color: rgba(255, 255, 255, 0.28);
	font-size: 15px;
	min-width: 126px;
	padding: 16px 24px;
}

.cdfc-profile-count {
	color: #e1e1dd;
	font-size: 14px;
	font-weight: 750;
}

.cdfc-profile-trust {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: #8e8e89;
	font-size: 13px;
	line-height: 1.5;
	margin: 38px 0 0;
	max-width: 640px;
	padding-top: 20px;
}

.cdfc-profile-catalogue {
	background: #f1efe8;
	color: #191918;
	padding: 88px 0 110px;
}

.cdfc-catalogue-heading {
	align-items: end;
	border-bottom: 1px solid #cac7bd;
	display: flex;
	gap: 30px;
	justify-content: space-between;
	margin-bottom: 36px;
	padding-bottom: 28px;
}

.cdfc-catalogue-heading h2 {
	color: #191918;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(40px, 5vw, 70px);
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 0.96;
	margin: 0;
}

.cdfc-catalogue-heading > p {
	color: #64635e;
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 750;
	margin: 0 0 7px;
}

.cdfc-preview-notice {
	background: #fff8da;
	border: 1px solid #dec96a;
	border-radius: 14px;
	color: #4d4213;
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 30px;
	padding: 16px 20px;
}

.cdfc-product-grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cdfc-product-card {
	background: #fff;
	border: 1px solid #dbd8cf;
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(33, 31, 25, 0.07);
	min-width: 0;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.cdfc-product-card:hover {
	border-color: #b79a38;
	box-shadow: 0 20px 42px rgba(33, 31, 25, 0.12);
	transform: translateY(-3px);
}

.cdfc-product-image-link {
	background: #dedbd2;
	display: block;
	overflow: hidden;
	position: relative;
}

.cdfc-product-image,
.cdfc-product-placeholder {
	aspect-ratio: 1 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 350ms ease;
	width: 100%;
}

.cdfc-product-placeholder {
	background:
		radial-gradient(circle at 70% 20%, rgba(198, 162, 41, 0.24), transparent 26%),
		linear-gradient(135deg, #d5d1c6, #efede7);
}

.cdfc-product-card:hover .cdfc-product-image {
	transform: scale(1.025);
}

.cdfc-draft-badge {
	background: #171716;
	border-radius: 999px;
	color: #f3d25f;
	font-size: 11px;
	font-weight: 850;
	left: 14px;
	letter-spacing: 0.05em;
	padding: 8px 11px;
	position: absolute;
	text-transform: uppercase;
	top: 14px;
}

.cdfc-product-body {
	padding: 22px 22px 24px;
}

.cdfc-product-eyebrow {
	color: #827c69;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 9px;
	overflow-wrap: anywhere;
	text-transform: uppercase;
}

.cdfc-product-body h3 {
	font-size: 21px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.18;
	margin: 0;
}

.cdfc-product-body h3 a {
	color: #191918;
	text-decoration: none;
}

.cdfc-product-body h3 a:hover,
.cdfc-product-body h3 a:focus {
	color: #846a12;
}

.cdfc-product-footer {
	align-items: end;
	border-top: 1px solid #eceae3;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-top: 22px;
	padding-top: 18px;
}

.cdfc-product-price {
	color: #191918;
	font-size: 17px;
	font-weight: 850;
}

.cdfc-product-price del {
	color: #88857d;
	font-weight: 500;
	margin-right: 5px;
}

.cdfc-product-price ins {
	text-decoration: none;
}

.cdfc-product-view {
	color: #846a12;
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.cdfc-catalogue-empty {
	background: #fff;
	border: 1px dashed #bdb9ae;
	border-radius: 18px;
	padding: 78px 30px;
	text-align: center;
}

.cdfc-catalogue-empty > span {
	color: var(--cdfc-accent, #c6a229);
	font-size: 30px;
}

.cdfc-catalogue-empty h3 {
	color: #191918;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 38px;
	letter-spacing: -0.04em;
	margin: 13px 0 8px;
}

.cdfc-catalogue-empty p {
	color: #6f6d66;
	margin: 0;
}

@media (max-width: 1024px) {
	.cdfc-grid {
		grid-template-columns: repeat(var(--cdfc-cols-tablet, 2), minmax(0, 1fr));
	}

	.cdfc-profile-hero-grid {
		gap: 48px;
		grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
	}

	.cdfc-profile-portrait {
		height: 500px;
	}

	.cdfc-profile-back {
		margin-bottom: 46px;
	}

	.cdfc-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.cdfc-section {
		padding-left: 18px;
		padding-right: 18px;
	}

	.cdfc-header {
		margin-bottom: 34px;
		text-align: left;
	}

	.cdfc-header h2 {
		font-size: clamp(40px, 14vw, 62px);
	}

	.cdfc-subtitle {
		font-size: 17px;
	}

	.cdfc-header-button {
		width: 100%;
	}

	.cdfc-grid {
		gap: 20px;
		grid-template-columns: repeat(var(--cdfc-cols-mobile, 1), minmax(0, 1fr));
	}

	.cdfc-image-link {
		height: min(var(--cdfc-image-height, 330px), 360px);
	}

	.cdfc-card-body {
		padding: 22px;
	}

	.cdfc-profile-shell {
		padding-left: 18px;
		padding-right: 18px;
	}

	.cdfc-profile-hero {
		padding: 34px 0 56px;
	}

	.cdfc-profile-hero-grid {
		display: flex;
		flex-direction: column;
		gap: 34px;
	}

	.cdfc-profile-portrait {
		height: min(126vw, 540px);
		width: 100%;
	}

	.cdfc-profile-intro {
		width: 100%;
	}

	.cdfc-profile-back {
		margin-bottom: 30px;
	}

	.cdfc-profile-intro h1 {
		font-size: clamp(54px, 17vw, 82px);
	}

	.cdfc-profile-bio {
		font-size: 18px;
		margin-top: 24px;
	}

	.cdfc-profile-actions,
	.cdfc-profile-trust {
		margin-top: 28px;
	}

	.cdfc-profile-catalogue {
		padding: 58px 0 76px;
	}

	.cdfc-catalogue-heading {
		align-items: start;
		flex-direction: column;
		gap: 14px;
		padding-bottom: 22px;
	}

	.cdfc-catalogue-heading h2 {
		font-size: clamp(38px, 11vw, 56px);
	}

	.cdfc-catalogue-heading > p {
		margin: 0;
	}

	.cdfc-product-grid {
		grid-template-columns: 1fr;
	}

	.cdfc-product-body {
		padding: 20px;
	}

	.cdfc-catalogue-empty {
		padding: 58px 20px;
	}
}

/* Final profile cascade: keep the demo system above theme-era profile rules. */
.cdfc-celebrity-profile-page .cdfc-profile {
	background: #fff;
	color: #1a1a1a;
	font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cdfc-celebrity-profile-page .cdfc-profile-shell {
	max-width: 1240px;
}

.cdfc-celebrity-profile-page .cdfc-profile-hero {
	background: linear-gradient(118deg, #090909 0%, #1c1810 48%, #b8922a 145%);
	border: 0;
	padding: 0;
	position: relative;
}

.cdfc-celebrity-profile-page .cdfc-profile-hero::after {
	border: 90px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
	bottom: -280px;
	content: "";
	display: block;
	height: 520px;
	position: absolute;
	right: -160px;
	width: 520px;
}

.cdfc-celebrity-profile-page .cdfc-profile-hero-grid {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: 180px minmax(0, 1fr) auto;
	padding-bottom: 58px;
	padding-top: 58px;
	position: relative;
	z-index: 1;
}

.cdfc-celebrity-profile-page .cdfc-profile-portrait {
	border: 5px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	box-shadow: none;
	height: 180px;
	width: 180px;
}

.cdfc-celebrity-profile-page .cdfc-profile-portrait::after {
	display: none;
}

.cdfc-celebrity-profile-page .cdfc-profile-kicker {
	color: #f1d77f;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 8px;
}

.cdfc-celebrity-profile-page .cdfc-profile-intro h1 {
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-size: clamp(43px, 5vw, 75px);
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 0 0 7px;
}

.cdfc-celebrity-profile-page .cdfc-profile-bio {
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
	line-height: 1.55;
	margin: 15px 0 0;
	max-width: 670px;
}

.cdfc-celebrity-profile-page .cdfc-profile-actions {
	align-self: end;
	display: block;
	margin: 0;
}

.cdfc-celebrity-profile-page .cdfc-profile-follow {
	background: #fff;
	border-color: #fff;
	color: #161616;
	font-size: 13px;
	min-width: 174px;
	padding: 15px 21px;
}

.cdfc-celebrity-profile-page .cdfc-profile-catalogue {
	background: #fff;
	color: #1a1a1a;
	padding: 88px 0 110px;
}

.cdfc-celebrity-profile-page .cdfc-catalogue-heading {
	border: 0;
	display: block;
	margin: 0 0 35px;
	max-width: 720px;
	padding: 0;
}

.cdfc-celebrity-profile-page .cdfc-profile-catalogue .cdfc-profile-kicker {
	color: #8a6a14;
}

.cdfc-celebrity-profile-page .cdfc-catalogue-heading h2 {
	color: #1a1a1a;
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 62px);
	letter-spacing: -0.035em;
	line-height: 1;
}

.cdfc-celebrity-profile-page .cdfc-product-grid {
	gap: 22px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cdfc-celebrity-profile-page .cdfc-product-card {
	border: 1px solid #e8e4df;
	border-radius: 20px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.09);
}

.cdfc-celebrity-profile-page .cdfc-product-image-link {
	background: #f7f7f8;
}

.cdfc-celebrity-profile-page .cdfc-product-body {
	padding: 18px 18px 20px;
}

.cdfc-celebrity-profile-page .cdfc-product-body h3 {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.018em;
	line-height: 1.25;
}

.cdfc-celebrity-profile-page .cdfc-product-footer {
	align-items: center;
	border: 0;
	margin-top: 18px;
	padding: 0;
}

.cdfc-celebrity-profile-page .cdfc-product-price {
	color: #8a6a14;
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-size: 21px;
	font-weight: 700;
}

.cdfc-celebrity-profile-page .cdfc-product-view {
	align-items: center;
	background: #0a0a0a;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 18px;
	height: 42px;
	justify-content: center;
	width: 42px;
}

@media (max-width: 860px) {
	.cdfc-celebrity-profile-page .cdfc-profile-hero-grid {
		display: grid;
		grid-template-columns: 130px minmax(0, 1fr);
	}

	.cdfc-celebrity-profile-page .cdfc-profile-portrait {
		height: 130px;
		width: 130px;
	}

	.cdfc-celebrity-profile-page .cdfc-profile-actions {
		grid-column: 1 / -1;
		justify-self: center;
	}

	.cdfc-celebrity-profile-page .cdfc-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.cdfc-celebrity-profile-page .cdfc-profile-shell {
		padding-left: 12px;
		padding-right: 12px;
	}

	.cdfc-celebrity-profile-page .cdfc-profile-hero-grid {
		display: grid;
		gap: 19px;
		grid-template-columns: 1fr;
		justify-items: center;
		padding-bottom: 42px;
		padding-top: 42px;
		text-align: center;
	}

	.cdfc-celebrity-profile-page .cdfc-profile-intro {
		width: 100%;
	}

	.cdfc-celebrity-profile-page .cdfc-profile-intro h1 {
		font-size: clamp(43px, 13vw, 58px);
	}

	.cdfc-celebrity-profile-page .cdfc-profile-bio {
		font-size: 14px;
	}

	.cdfc-celebrity-profile-page .cdfc-profile-actions {
		grid-column: auto;
	}

	.cdfc-celebrity-profile-page .cdfc-profile-catalogue {
		padding: 62px 0 76px;
	}

	.cdfc-celebrity-profile-page .cdfc-catalogue-heading {
		margin-bottom: 29px;
	}

	.cdfc-celebrity-profile-page .cdfc-catalogue-heading h2 {
		font-size: 44px;
	}

	.cdfc-celebrity-profile-page .cdfc-product-grid {
		grid-template-columns: 1fr;
	}
}

/* Shared investor-demo header and footer — v0.5.0.
 * The structure and base styling live in the native Elementor templates;
 * these rules provide the sticky shell, interaction polish, and breakpoints. */
.cdfc-demo-site-header {
	border-bottom: 1px solid #e8e4df;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
	position: relative;
	z-index: 1000;
}

.cdfc-demo-site-header .wpr-logo-image {
	display: block;
}

.cdfc-demo-site-header .wpr-menu-item {
	letter-spacing: 0.005em;
	white-space: nowrap;
}

.cdfc-demo-site-header .cdfc-header-action a,
.cdfc-demo-site-header .elementor-widget-icon a {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 38px;
	min-width: 38px;
}

.cdfc-demo-site-header .elementor-widget-wpr-product-mini-cart,
.cdfc-demo-site-header .elementor-widget-celebdrop_login_toggle,
.cdfc-demo-site-header .elementor-widget-icon,
.cdfc-demo-site-header .elementor-widget-wpr-nav-menu {
	flex: 0 0 auto;
}

.cdfc-demo-site-header .cdfc-login-toggle,
.cdfc-demo-site-header .celebdrop-login-toggle {
	color: #111;
}

.cdfc-demo-site-header-mobile {
	display: none;
}

.cdfc-demo-site-footer a {
	color: inherit;
	text-decoration: none;
	transition: color 160ms ease;
}

.cdfc-demo-site-footer a:hover,
.cdfc-demo-site-footer a:focus {
	color: #d1ac42;
}

.cdfc-demo-site-footer .elementor-widget-heading .elementor-heading-title,
.cdfc-demo-site-footer .elementor-widget-text-editor p {
	margin-bottom: 0;
}

@media (min-width: 1025px) {
	.cdfc-demo-site-header-desktop {
		display: flex !important;
	}

	.cdfc-demo-site-header-mobile {
		display: none !important;
	}
}

@media (max-width: 1024px) {
	.cdfc-demo-site-header-desktop {
		display: none !important;
	}

	.cdfc-demo-site-header-mobile {
		display: flex !important;
	}

	.cdfc-demo-site-header-mobile > .e-con-inner,
	.cdfc-demo-site-header-mobile {
		flex-wrap: nowrap !important;
		justify-content: space-between;
	}

	.cdfc-demo-site-header-mobile .elementor-widget-wpr-nav-menu {
		order: 3;
	}
}

@media (max-width: 620px) {
	.cdfc-demo-site-footer .elementor-element {
		min-width: 0;
	}

	.cdfc-demo-site-footer .elementor-widget-text-editor {
		text-align: left;
	}
}

/* Investor demo celebrity directory — v0.6.0 */
.cdfc-directory-page,
.cdfc-directory-page *,
.cdfc-directory-page *::before,
.cdfc-directory-page *::after {
	box-sizing: border-box;
}

.cdfc-directory-page {
	--cdfc-directory-ink: #1a1a1a;
	--cdfc-directory-gold: #b8922a;
	--cdfc-directory-gold-text: #8a6a14;
	--cdfc-directory-ivory: #f7f7f8;
	--cdfc-directory-muted: #6b6b6b;
	--cdfc-directory-border: #e8e4df;
	background: #fff;
	color: var(--cdfc-directory-ink);
	font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	width: 100vw;
}

.cdfc-directory-page a {
	color: inherit;
	text-decoration: none;
}

.cdfc-directory-shell {
	margin-inline: auto;
	width: min(calc(100% - 48px), 1240px);
}

.cdfc-directory-hero {
	background: var(--cdfc-directory-ivory);
	border-bottom: 1px solid var(--cdfc-directory-border);
	padding: 58px 0 40px;
}

.cdfc-directory-breadcrumb {
	align-items: center;
	color: var(--cdfc-directory-muted);
	display: flex;
	font-size: 0.78rem;
	gap: 8px;
	margin-bottom: 18px;
}

.cdfc-directory-breadcrumb a:hover,
.cdfc-directory-breadcrumb a:focus {
	color: var(--cdfc-directory-gold-text);
}

.cdfc-directory-eyebrow {
	align-items: center;
	color: var(--cdfc-directory-gold-text);
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 700;
	gap: 7px;
	letter-spacing: 0.1em;
	margin: 0;
	text-transform: uppercase;
}

.cdfc-directory-hero h1 {
	color: var(--cdfc-directory-ink);
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(2.6rem, 5vw, 4.7rem);
	font-weight: 600;
	letter-spacing: -0.045em;
	line-height: 1.12;
	margin: 12px 0;
}

.cdfc-directory-lead {
	color: var(--cdfc-directory-muted);
	font-size: 1rem;
	line-height: 1.55;
	margin: 0;
	max-width: 700px;
}

.cdfc-directory-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding-bottom: 88px;
	padding-top: 44px;
}

.cdfc-directory-card {
	background: #fff;
	border: 1px solid var(--cdfc-directory-border);
	border-radius: 20px;
	min-width: 0;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.cdfc-directory-card:hover {
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.09);
	transform: translateY(-3px);
}

.cdfc-directory-image-link {
	background: var(--cdfc-directory-ivory);
	display: block;
}

.cdfc-directory-photo {
	aspect-ratio: 4 / 4.7;
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.cdfc-directory-body {
	padding: 18px;
}

.cdfc-directory-heading {
	align-items: flex-start;
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

.cdfc-directory-heading h2 {
	color: var(--cdfc-directory-ink);
	font-family: "DM Sans", sans-serif;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.12;
	margin: 0 0 4px;
}

.cdfc-directory-profile-link::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.cdfc-directory-industry {
	color: var(--cdfc-directory-gold-text);
	font-size: 0.69rem;
	font-weight: 700;
}

.cdfc-directory-bio {
	color: var(--cdfc-directory-muted);
	display: -webkit-box;
	font-size: 0.8rem;
	line-height: 1.55;
	margin: 13px 0 16px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cdfc-directory-stats {
	border-top: 1px solid var(--cdfc-directory-border);
	color: var(--cdfc-directory-muted);
	display: flex;
	font-size: 0.7rem;
	justify-content: space-between;
	padding-top: 13px;
}

.cdfc-directory-page .cdfc-directory-follow {
	background: transparent;
	border: 1px solid var(--cdfc-directory-border);
	border-radius: 18px;
	color: var(--cdfc-directory-ink);
	flex: 0 0 auto;
	font-size: 0.72rem;
	font-weight: 700;
	min-height: 34px;
	min-width: 0;
	padding: 0 12px;
	position: relative;
	z-index: 3;
}

.cdfc-directory-page .cdfc-directory-follow:hover,
.cdfc-directory-page .cdfc-directory-follow:focus {
	border-color: var(--cdfc-directory-gold);
	transform: none;
}

.cdfc-directory-page .cdfc-directory-follow.is-following {
	background: var(--cdfc-directory-gold);
	border-color: var(--cdfc-directory-gold);
	color: #0a0a0a;
}

@media (max-width: 1080px) {
	.cdfc-directory-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.cdfc-directory-shell {
		width: min(calc(100% - 32px), 1240px);
	}

	.cdfc-directory-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.cdfc-directory-shell {
		width: min(calc(100% - 24px), 1240px);
	}

	.cdfc-directory-hero {
		padding: 42px 0 30px;
	}

	.cdfc-directory-grid {
		grid-template-columns: 1fr;
	}
}
