/* =======================================================================
   Dr. CeCe Brooks — site.css
   Custom classic WP theme. Fluid mobile-first. No frameworks.
   ======================================================================= */

/* -----------------------------------------------------------------------
   1. Fonts — self-hosted variable woff2 from Google Fonts
   One file per family/style covers the full weight range.
   ----------------------------------------------------------------------- */
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('../fonts/cormorant-garamond.woff2') format('woff2-variations'),
	     url('../fonts/cormorant-garamond.woff2') format('woff2');
}
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 300 700;
	font-display: swap;
	src: url('../fonts/cormorant-garamond-italic.woff2') format('woff2-variations'),
	     url('../fonts/cormorant-garamond-italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/montserrat.woff2') format('woff2-variations'),
	     url('../fonts/montserrat.woff2') format('woff2');
}

/* -----------------------------------------------------------------------
   2. Tokens
   ----------------------------------------------------------------------- */
:root {
	--c-cream:    #f7f5f2;
	--c-beige:    #e7e2dc;
	--c-beige-d:  #d8d2c8;
	--c-gold:     #c6a46c;
	--c-gold-d:   #b08e54;
	--c-taupe:    #8a7f75;
	--c-taupe-d:  #6f655c;
	--c-ink-deep: #242921;
	--c-text:     #2a2520;
	--c-text-mut: #5a5a5a;
	--c-cta-text: #fff8f0;
	--c-green:    #6b7e5e;
	--c-white:    #ffffff;
	--c-line:     rgba(42,37,32,.12);
	--c-shadow:   0 18px 40px -24px rgba(36,41,33,.25);
	--c-shadow-lg: 0 30px 60px -28px rgba(36,41,33,.35);

	--font-display: 'Cormorant Garamond', 'Cormorant', Georgia, 'Times New Roman', serif;
	--font-body:    'Montserrat', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;

	--container-max: 1440px;
	--gutter:        clamp(20px, 4vw, 120px);
	--gutter-inner:  clamp(20px, 4vw, 80px);
	--section-y:     clamp(60px, 9vw, 120px);
	--section-y-sm:  clamp(40px, 6vw, 80px);

	--radius-pill: 100px;
	--radius-card: 14px;
	--radius-soft: 8px;

	--duration-fast: 180ms;
	--duration-base: 320ms;
	--duration-slow: 600ms;
	--ease: cubic-bezier(.2, .65, .25, 1);
}

/* -----------------------------------------------------------------------
   3. Reset / base
   ----------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; tab-size: 4; }
html, body { margin: 0; }
body {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.65;
	color: var(--c-text);
	background: var(--c-cream);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
img { color: transparent; }
button { font: inherit; cursor: pointer; background: none; border: 0; color: inherit; padding: 0; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
	outline: 2px solid var(--c-gold);
	outline-offset: 3px;
	border-radius: 4px;
}
hr { border: 0; height: 1px; background: var(--c-line); margin: 0; }
::selection { background: var(--c-gold); color: var(--c-cta-text); }

.dcb-skiplink {
	position: absolute; top: -100px; left: 0;
	background: var(--c-ink-deep); color: var(--c-cream);
	padding: 12px 20px; z-index: 9999;
}
.dcb-skiplink:focus { top: 0; }

/* -----------------------------------------------------------------------
   4. Typography
   ----------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6, .dcb-display {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--c-text);
	margin: 0;
	letter-spacing: -.005em;
	line-height: 1.08;
}
.dcb-display em, h1 em, h2 em, h3 em { font-style: italic; font-weight: 700; }
h1, .dcb-h1 { font-size: clamp(36px, 4.6vw, 56px); line-height: 1.07; }
h2, .dcb-h2 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.1; }
h3, .dcb-h3 { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.18; }
h4 { font-size: clamp(18px, 1.6vw, 22px); line-height: 1.22; }

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
strong, b { font-weight: 600; }

.dcb-lead { font-size: clamp(15px, 1.4vw, 17px); line-height: 1.65; color: var(--c-text-mut); }
.dcb-small { font-size: 13px; color: var(--c-text-mut); }

.dcb-text-center { text-align: center; }

/* -----------------------------------------------------------------------
   5. Layout primitives
   ----------------------------------------------------------------------- */
.dcb-main { display: block; }

.dcb-container {
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.dcb-container--narrow { max-width: 980px; }
.dcb-container--wide   { max-width: 1600px; }

.dcb-section { padding-block: var(--section-y); position: relative; }
.dcb-section--tight { padding-block: var(--section-y-sm); }

.dcb-bg-cream { background: var(--c-cream); }
.dcb-bg-beige { background: var(--c-beige); }
.dcb-bg-gold  { background: var(--c-gold); color: var(--c-cta-text); }
.dcb-bg-taupe { background: var(--c-taupe); color: var(--c-cream); }
.dcb-bg-ink   { background: var(--c-ink-deep); color: var(--c-cream); }

.dcb-grid {
	display: grid;
	gap: clamp(24px, 3vw, 40px);
}
.dcb-grid--2  { grid-template-columns: 1fr; }
.dcb-grid--3  { grid-template-columns: 1fr; }
.dcb-grid--4  { grid-template-columns: 1fr; }
.dcb-grid--5  { grid-template-columns: 1fr; }

@media (min-width: 768px) {
	.dcb-grid--2 { grid-template-columns: 1fr 1fr; }
	.dcb-grid--3 { grid-template-columns: 1fr 1fr; }
	.dcb-grid--4 { grid-template-columns: 1fr 1fr; }
	.dcb-grid--5 { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
	.dcb-grid--3 { grid-template-columns: 1fr 1fr 1fr; }
	.dcb-grid--4 { grid-template-columns: repeat(4, 1fr); }
	.dcb-grid--5 { grid-template-columns: repeat(5, 1fr); }
}

/* -----------------------------------------------------------------------
   6. Components — Eyebrow, Pill, Title block, Rule, Card
   ----------------------------------------------------------------------- */
.dcb-eyebrow {
	display: inline-block;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--c-gold);
	line-height: 1;
}
.dcb-eyebrow--cream { color: var(--c-beige); }
.dcb-eyebrow--ink   { color: var(--c-ink-deep); }
.dcb-eyebrow--badge {
	background: var(--c-taupe);
	color: var(--c-beige);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	letter-spacing: .22em;
}

.dcb-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .01em;
	padding: 16px 30px;
	border-radius: var(--radius-pill);
	color: var(--c-cta-text);
	background: var(--c-gold);
	transition: background var(--duration-base) var(--ease),
				transform var(--duration-base) var(--ease),
				box-shadow var(--duration-base) var(--ease);
	box-shadow: 0 6px 18px -8px rgba(198,164,108,.55);
	will-change: transform;
}
.dcb-pill__arrow { display: inline-block; margin-left: .35em; transition: transform var(--duration-base) var(--ease); }
.dcb-pill:hover { background: var(--c-gold-d); transform: translateY(-2px); box-shadow: 0 10px 28px -8px rgba(198,164,108,.7); }
.dcb-pill:hover .dcb-pill__arrow { transform: translateX(4px); }
.dcb-pill:active { transform: translateY(0) scale(.98); }
.dcb-pill--dark { background: var(--c-ink-deep); color: var(--c-cream); box-shadow: none; }
.dcb-pill--dark:hover { background: #1a1d17; }
.dcb-pill--outline { background: transparent; color: var(--c-gold); border: 1.5px solid var(--c-gold); box-shadow: none; }
.dcb-pill--outline:hover { background: var(--c-gold); color: var(--c-cta-text); }
.dcb-pill--lg { padding: 18px 36px; font-size: 16px; }
.dcb-pill--cream { background: var(--c-cream); color: var(--c-text); box-shadow: none; }
.dcb-pill--cream:hover { background: var(--c-beige); }

.dcb-arrow-link {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .02em;
	color: var(--c-gold);
	display: inline-flex;
	gap: 8px;
	align-items: center;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	transition: gap var(--duration-base) var(--ease), color var(--duration-base) var(--ease);
}
.dcb-arrow-link:hover { gap: 14px; color: var(--c-gold-d); }
.dcb-arrow-link--ink { color: var(--c-text); }

.dcb-title-block { display: flex; flex-direction: column; gap: 14px; }
.dcb-title-block--center { align-items: center; text-align: center; }
.dcb-title-block--left { align-items: flex-start; text-align: left; }
.dcb-title-block .dcb-display { max-width: 30ch; }
.dcb-title-block--center .dcb-display { margin-inline: auto; }

.dcb-rule {
	display: block;
	width: 60px;
	height: 2px;
	background: var(--c-gold);
	margin-top: 8px;
	border-radius: 2px;
}
.dcb-title-block--center .dcb-rule { margin-inline: auto; }
/* Shop "Trusted, Vetted & Non-Toxic" trust band: center the gold rule directly below the heading. */
.dcb-trust-band .dcb-text-center .dcb-rule { margin-top: 18px; margin-inline: auto; }

/* Image card */
.dcb-card {
	display: block;
	background: var(--c-cream);
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--c-shadow);
	transition: transform var(--duration-base) var(--ease), box-shadow var(--duration-base) var(--ease);
	border: 1px solid var(--c-line);
}
.dcb-card:hover { transform: translateY(-6px); box-shadow: var(--c-shadow-lg); }
.dcb-card__media {
	aspect-ratio: 16 / 11;
	overflow: hidden;
	background: var(--c-beige);
}
.dcb-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-slow) var(--ease); }
.dcb-card:hover .dcb-card__media img { transform: scale(1.04); }
.dcb-card__body { padding: 28px 28px 30px; display: flex; flex-direction: column; gap: 10px; }
.dcb-card__eyebrow {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	color: var(--c-gold);
	letter-spacing: .22em;
	text-transform: uppercase;
}
.dcb-card__title { font-family: var(--font-display); font-weight: 700; font-size: 22px; line-height: 1.2; color: var(--c-text); }
.dcb-card__excerpt { font-size: 14px; line-height: 1.6; color: var(--c-text-mut); margin: 4px 0 8px; }
.dcb-card__link { font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--c-gold); letter-spacing: .02em; }
.dcb-card__link span { transition: transform var(--duration-base) var(--ease); display: inline-block; }
.dcb-card:hover .dcb-card__link span { transform: translateX(4px); }

/* Monogram (used in footer) */
.dcb-monogram { width: 100px; height: 60px; }

/* -----------------------------------------------------------------------
   7. Navigation
   ----------------------------------------------------------------------- */
.dcb-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--c-cream);
	transition: box-shadow var(--duration-base) var(--ease), background var(--duration-base) var(--ease);
}
.dcb-nav.is-scrolled { box-shadow: 0 8px 24px -16px rgba(36,41,33,.25); }
.dcb-nav__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: 18px var(--gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-height: 84px;
}
.dcb-nav__brand { display: inline-flex; align-items: center; }
.dcb-nav__logo { height: 48px; width: auto; }
.dcb-nav__menu { display: none; }
.dcb-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 28px;
}
.dcb-nav__list li { display: flex; }
.dcb-nav__list a {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	color: var(--c-text-mut);
	white-space: nowrap;
	position: relative;
	padding: 6px 0;
	transition: color var(--duration-base) var(--ease);
}
.dcb-nav__list a::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	background: var(--c-gold);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--duration-base) var(--ease);
}
.dcb-nav__list a:hover { color: var(--c-gold); }
.dcb-nav__list a:hover::after { transform: scaleX(1); }
.dcb-nav__list .current-menu-item > a,
.dcb-nav__list .current_page_item > a,
.dcb-nav__list .current-menu-ancestor > a {
	color: var(--c-gold);
	font-weight: 700;
}
.dcb-nav__list .current-menu-item > a::after,
.dcb-nav__list .current_page_item > a::after { transform: scaleX(1); }

.dcb-nav__toggle {
	display: inline-flex;
	flex-direction: column;
	gap: 5px;
	padding: 10px;
	margin-right: -10px;
}
.dcb-nav__toggle-bar {
	width: 26px;
	height: 2px;
	background: var(--c-text);
	transition: transform var(--duration-base) var(--ease), opacity var(--duration-base) var(--ease);
	transform-origin: center;
}
.dcb-nav.is-open .dcb-nav__toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.dcb-nav.is-open .dcb-nav__toggle-bar:nth-child(2) { opacity: 0; }
.dcb-nav.is-open .dcb-nav__toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (min-width: 1024px) {
	.dcb-nav__menu { display: block; }
	.dcb-nav__toggle { display: none; }
}

/* Mobile drawer */
@media (max-width: 1023.98px) {
	.dcb-nav__menu {
		display: block;
		position: fixed;
		top: 84px;
		right: 0;
		bottom: 0;
		width: min(86vw, 360px);
		background: var(--c-cream);
		box-shadow: -20px 0 40px -20px rgba(36,41,33,.25);
		padding: 30px 28px;
		transform: translateX(100%);
		transition: transform var(--duration-slow) var(--ease);
		visibility: hidden;
	}
	.dcb-nav.is-open .dcb-nav__menu { transform: translateX(0); visibility: visible; }
	.dcb-nav__list { flex-direction: column; gap: 18px; }
	.dcb-nav__list a { font-size: 18px; padding: 6px 0; }
}

/* -----------------------------------------------------------------------
   8. Hero patterns
   ----------------------------------------------------------------------- */
.dcb-hero { position: relative; overflow: hidden; }

/* Image-bg hero (Home) */
.dcb-hero--image {
	min-height: clamp(440px, 60vh, 600px);
	background: var(--c-ink-deep);
	color: var(--c-cream);
	display: flex;
	align-items: center;
}
.dcb-hero--image .dcb-hero__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.dcb-hero--image .dcb-hero__bg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .82;
	animation: dcb-kenburns 18s ease-in-out infinite alternate;
}
.dcb-hero--image .dcb-hero__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, rgba(36,41,33,.62) 0%, rgba(36,41,33,.28) 60%, rgba(36,41,33,0) 100%);
}
.dcb-hero__inner { position: relative; z-index: 2; padding-block: clamp(60px, 8vw, 120px); }
.dcb-hero__eyebrow {
	display: inline-block;
	background: var(--c-taupe);
	color: var(--c-beige);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .25em;
	text-transform: uppercase;
	margin-bottom: 18px;
}
.dcb-hero__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(34px, 4.8vw, 56px);
	line-height: 1.07;
	max-width: 16ch;
	margin: 0 0 22px;
	color: var(--c-cream);
}
.dcb-hero__title em { font-style: italic; }
.dcb-hero__lede { max-width: 38ch; font-size: clamp(15px, 1.4vw, 17px); line-height: 1.6; margin-bottom: 28px; color: rgba(247,245,242,.92); }

/* Gold-band hero (Contact / Blog / Shop / Podcast / Ebooks / Services / About) */
.dcb-hero--band {
	background: var(--c-gold);
	color: var(--c-cta-text);
	text-align: center;
	padding-block: clamp(70px, 9vw, 120px);
	position: relative;
	overflow: hidden;
}
.dcb-hero--band::before, .dcb-hero--band::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
	pointer-events: none;
}
.dcb-hero--band::before { width: 260px; height: 260px; top: -80px; right: -70px; }
.dcb-hero--band::after  { width: 190px; height: 190px; bottom: -80px; left: -70px; }
.dcb-hero--band .dcb-eyebrow { color: rgba(255,248,240,.85); margin-bottom: 14px; }
.dcb-hero--band .dcb-display {
	font-style: italic;
	font-weight: 700;
	color: var(--c-cta-text);
	font-size: clamp(36px, 5vw, 60px);
	line-height: 1.05;
}
.dcb-hero--band .dcb-hero__sub {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .02em;
	margin-top: 14px;
	color: rgba(255,248,240,.95);
}
.dcb-hero--band .dcb-rule { background: rgba(255,248,240,.7); margin-top: 16px; margin-inline: auto; }

@keyframes dcb-kenburns {
	from { transform: scale(1); }
	to   { transform: scale(1.06); }
}

/* -----------------------------------------------------------------------
   9. Section patterns
   ----------------------------------------------------------------------- */

/* Photo-and-text split row */
.dcb-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(28px, 4vw, 60px);
	align-items: center;
}
@media (min-width: 900px) {
	.dcb-split { grid-template-columns: 1fr 1fr; }
	.dcb-split--photo-right .dcb-split__media { order: 2; }
}
@media (max-width: 899px) {
	/* Mobile: stack every 2-col image+text to one column with the image on top.
	   !important overrides the inline grid-template-columns on each instance;
	   order:-1 lifts the media above the body regardless of DOM order. */
	.dcb-split { grid-template-columns: 1fr !important; }
	.dcb-split__media { order: -1; }
}
.dcb-split__media { border-radius: var(--radius-card); overflow: hidden; aspect-ratio: 4/5; background: var(--c-beige); position: relative; box-shadow: var(--c-shadow); }
.dcb-split__media--wide { aspect-ratio: 5/4; }
.dcb-split__media img { width: 100%; height: 100%; object-fit: cover; }
.dcb-split__body { display: flex; flex-direction: column; gap: 18px; }
.dcb-split__body p { color: var(--c-text-mut); }

/* Brand statement band */
.dcb-brand-statement {
	background: var(--c-taupe);
	color: var(--c-cream);
	text-align: center;
	padding-block: clamp(70px, 8vw, 100px);
	position: relative;
}
.dcb-brand-statement__quote {
	font-family: var(--font-display);
	font-weight: 700;
	font-style: italic;
	font-size: 88px;
	line-height: 1;
	color: var(--c-gold);
	display: inline-block;
	margin-bottom: -8px;
}
.dcb-brand-statement .dcb-display {
	font-style: italic;
	font-weight: 700;
	color: var(--c-cream);
	font-size: clamp(40px, 5vw, 62px);
	margin-bottom: 14px;
}
.dcb-brand-statement p {
	max-width: 60ch;
	margin: 0 auto 32px;
	color: rgba(247,245,242,.9);
	font-size: 16px;
	line-height: 1.7;
}
.dcb-brand-statement .dcb-pill {
	background: var(--c-cta-text);
	color: var(--c-taupe-d);
}
.dcb-brand-statement .dcb-pill:hover { background: var(--c-beige); }

/* Deco shapes */
.dcb-deco-circle {
	position: absolute;
	border-radius: 50%;
	background: rgba(198,164,108,.16);
	pointer-events: none;
}
.dcb-deco-circle--ring {
	background: transparent;
	border: 1.5px solid rgba(198,164,108,.45);
}
.dcb-deco-dots {
	position: absolute;
	width: 60px; height: 60px;
	background-image: radial-gradient(circle, rgba(198,164,108,.55) 1.5px, transparent 1.6px);
	background-size: 12px 12px;
	pointer-events: none;
}

/* Explore (3-card grid) */
.dcb-explore { position: relative; }
.dcb-explore .dcb-deco-circle { width: 130px; height: 130px; left: -50px; bottom: 60px; }
.dcb-explore .dcb-deco-dots { right: 30px; top: 80px; }

/* Newsletter section */
.dcb-newsletter {
	background: var(--c-beige);
	text-align: center;
	padding-block: clamp(60px, 7vw, 90px);
}
.dcb-newsletter .dcb-display { font-size: clamp(32px, 3.5vw, 46px); margin-bottom: 10px; }
.dcb-newsletter p { color: var(--c-text-mut); max-width: 52ch; margin: 0 auto 28px; }
.dcb-newsletter__form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	max-width: 540px;
	margin: 0 auto;
}
.dcb-newsletter__form input {
	flex: 1 1 220px;
	border: 0;
	background: var(--c-cream);
	padding: 14px 18px;
	border-radius: var(--radius-soft);
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--c-text);
}
.dcb-newsletter__form input::placeholder { color: rgba(42,37,32,.45); }
.dcb-newsletter__cta { margin-top: 22px; }

/* Contact form */
.dcb-contact-grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 900px) { .dcb-contact-grid { grid-template-columns: 1fr 1.2fr; gap: clamp(40px, 5vw, 80px); } }
.dcb-contact-info p { color: var(--c-text-mut); }
.dcb-contact-info__rows { list-style: none; padding: 0; margin: 28px 0 30px; display: flex; flex-direction: column; gap: 14px; }
.dcb-contact-info__rows li { display: flex; gap: 14px; align-items: center; }
.dcb-contact-info__rows svg { color: var(--c-gold); flex-shrink: 0; }
.dcb-contact-info__note {
	background: var(--c-beige);
	border-radius: var(--radius-card);
	padding: 28px 30px;
	margin-top: 24px;
}
.dcb-contact-info__note h4 {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 22px;
	margin: 0 0 10px;
	border-bottom: 1px solid var(--c-gold);
	padding-bottom: 10px;
}
.dcb-contact-info__note p { font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
/* "Visit Discovery Wellness Group" button spans the full width of the note box. */
.dcb-contact-info__note .dcb-pill { display: flex; width: 100%; }
/* Contact hero subtitle: +5px over the shared band-hero size (15px -> 20px). */
body.page-template-page-contact .dcb-hero--band .dcb-hero__sub { font-size: 20px; }

.dcb-contact-form {
	background: var(--c-beige);
	border-radius: var(--radius-card);
	padding: clamp(28px, 4vw, 44px);
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.dcb-contact-form h3 {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 26px;
	margin: 0;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--c-gold);
}
.dcb-contact-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--c-text);
}
.dcb-contact-form input,
.dcb-contact-form textarea,
.dcb-contact-form select {
	border: 1px solid var(--c-beige-d);
	background: var(--c-cream);
	border-radius: var(--radius-soft);
	padding: 14px 16px;
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--c-text);
	transition: border-color var(--duration-base) var(--ease), box-shadow var(--duration-base) var(--ease);
}
.dcb-contact-form input:focus,
.dcb-contact-form textarea:focus,
.dcb-contact-form select:focus { border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(198,164,108,.18); outline: 0; }
.dcb-contact-form textarea { min-height: 140px; resize: vertical; }

/* Suggest-a-Guest: inline Yes/No radio group. Resets the text-input styling the
   radios would otherwise inherit (.dcb-contact-form input padding/stretch) so the
   control + label stay inline at every breakpoint. */
.dcb-suggest-legend { font-size: 13px; font-weight: 500; color: var(--c-text); margin-bottom: 10px; }
.dcb-radio-row { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; }
.dcb-radio-row label { flex-direction: row; align-items: center; gap: 9px; margin: 0; font-size: 14px; font-weight: 500; }
.dcb-contact-form .dcb-radio-row input[type="radio"] {
	width: 18px; height: 18px; min-width: 18px; padding: 0; margin: 0;
	border-radius: 50%; flex: 0 0 auto; accent-color: var(--c-gold); background: #fff;
}

/* Services 4-card */
.dcb-service-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(20px, 2.5vw, 30px);
}
@media (min-width: 768px) { .dcb-service-cards { grid-template-columns: 1fr 1fr; } }
.dcb-service-cards .dcb-card__body { padding: 24px 26px 28px; }

/* Steps row (How It Works) */
.dcb-steps { background: var(--c-beige); }
.dcb-steps__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(28px, 4vw, 50px);
	margin-top: 40px;
}
@media (min-width: 768px) { .dcb-steps__grid { grid-template-columns: repeat(3, 1fr); } }
.dcb-step { text-align: center; padding: 0 12px; }
.dcb-step__num {
	width: 56px; height: 56px;
	border-radius: 50%;
	border: 1.5px solid var(--c-gold);
	color: var(--c-gold);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}
.dcb-step h3 { font-family: var(--font-display); font-weight: 700; font-size: 20px; margin-bottom: 8px; }
.dcb-step p { color: var(--c-text-mut); font-size: 14px; }

/* Testimonials */
.dcb-testimonials {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(20px, 2.5vw, 28px);
}
@media (min-width: 768px) { .dcb-testimonials { grid-template-columns: 1fr 1fr; } }
.dcb-testimonial {
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-card);
	padding: 30px 30px 28px;
	box-shadow: var(--c-shadow);
}
.dcb-testimonial__stars { color: var(--c-gold); margin-bottom: 14px; letter-spacing: .12em; }
.dcb-testimonial p { font-size: 15px; line-height: 1.7; }
/* Emphasised phrases are gold (bold), not bold black — per Figma. */
.dcb-testimonial p strong { color: var(--c-gold); font-weight: 700; }
.dcb-testimonial cite {
	display: block;
	margin-top: 14px;
	font-family: var(--font-body);
	font-weight: 700;
	font-style: normal;
	font-size: 14px;
	letter-spacing: .01em;
}

/* CTA strip (gold) */
.dcb-cta-strip {
	background: var(--c-taupe);
	color: var(--c-cream);
	text-align: center;
	padding-block: clamp(50px, 6vw, 84px);
}
.dcb-cta-strip .dcb-display { color: var(--c-cream); font-style: italic; }
.dcb-cta-strip p { color: rgba(247,245,242,.9); max-width: 48ch; margin: 10px auto 24px; }

/* Blog grid */
.dcb-cat-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	/* Full-bleed warm-cream band behind the filter pills (matches reference).
	   Safe full-bleed: body has overflow-x: hidden. */
	margin: 0 calc(50% - 50vw) 50px;
	padding: 22px var(--gutter);
	background: #f4ede3;
}
/* Blog index: cream chip band sits flush against the hero band (no gap). */
.dcb-section:has(.dcb-cat-chips) { padding-top: 0; }
.dcb-cat-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 24px;
	border-radius: var(--radius-pill);
	background: #fff8f0;
	color: #5a5a5a;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .01em;
	transition: background var(--duration-base) var(--ease), color var(--duration-base) var(--ease), transform var(--duration-base) var(--ease);
}
.dcb-cat-chips a:hover { background: var(--c-gold); color: #fff; transform: translateY(-2px); }
.dcb-cat-chips a.is-active { background: var(--c-gold); color: #fff; }

.dcb-blog-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(24px, 3vw, 32px);
}
@media (min-width: 700px) { .dcb-blog-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px){ .dcb-blog-grid { grid-template-columns: 1fr 1fr 1fr; } }

.dcb-blog-meta {
	display: flex;
	gap: 14px;
	font-size: 12px;
	color: var(--c-text-mut);
	margin-top: 6px;
}

/* Blog listing cards (index / archive / search): all text +3px per Ruttl. */
.dcb-blog-grid .dcb-card__eyebrow { font-size: 14px; }
.dcb-blog-grid .dcb-card__title   { font-size: 25px; }
.dcb-blog-grid .dcb-card__excerpt { font-size: 17px; }
.dcb-blog-grid .dcb-blog-meta     { font-size: 15px; }
.dcb-blog-grid .dcb-card__link    { font-size: 16px; }

.dcb-pagination {
	display: flex;
	justify-content: center;
	margin-top: 60px;
}
.dcb-pagination .nav-links {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}
.dcb-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: 50%;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	color: var(--c-text);
	background: transparent;
	border: 1px solid transparent;
	transition: background var(--duration-base) var(--ease),
				color var(--duration-base) var(--ease),
				border-color var(--duration-base) var(--ease),
				transform var(--duration-base) var(--ease);
}
.dcb-pagination a.page-numbers:hover {
	background: var(--c-beige);
	color: var(--c-gold-d);
	transform: translateY(-2px);
}
.dcb-pagination .page-numbers.current {
	background: var(--c-gold);
	color: var(--c-cta-text);
	font-weight: 600;
	box-shadow: 0 6px 18px -8px rgba(198, 164, 108, 0.55);
}
.dcb-pagination .page-numbers.dots {
	background: transparent;
	color: var(--c-text-mut);
	cursor: default;
	letter-spacing: .2em;
}
.dcb-pagination .page-numbers.prev,
.dcb-pagination .page-numbers.next {
	width: auto;
	border-radius: var(--radius-pill);
	padding: 0 18px;
	font-weight: 600;
	color: var(--c-gold);
	border: 1px solid var(--c-line);
}
.dcb-pagination .page-numbers.prev:hover,
.dcb-pagination .page-numbers.next:hover {
	background: var(--c-gold);
	color: var(--c-cta-text);
	border-color: var(--c-gold);
}
.dcb-pagination .page-numbers.prev { margin-right: 10px; }
.dcb-pagination .page-numbers.next { margin-left: 10px; }
.dcb-pagination .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
}
@media (max-width: 600px) {
	.dcb-pagination .nav-links { gap: 4px; }
	.dcb-pagination .page-numbers { min-width: 36px; height: 36px; font-size: 13px; }
	.dcb-pagination .page-numbers.prev,
	.dcb-pagination .page-numbers.next { padding: 0 14px; }
}

/* Product card — text-first card used by Non-Toxic Products page */
.dcb-product-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}
@media (min-width: 540px)  { .dcb-product-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 820px)  { .dcb-product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1180px) { .dcb-product-grid { grid-template-columns: repeat(4, 1fr); } }

.dcb-product-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 14px;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-card);
	padding: 22px 22px 20px;
	min-height: 170px;
	transition: transform var(--duration-base) var(--ease),
				box-shadow var(--duration-base) var(--ease),
				border-color var(--duration-base) var(--ease);
}
.dcb-product-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px -16px rgba(36,41,33,.18);
	border-color: var(--c-gold);
}
.dcb-product-card__eyebrow {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--c-gold);
}
.dcb-product-card__name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.22;
	color: var(--c-text);
	margin: 0;
}
.dcb-product-card__cta {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	color: var(--c-gold);
	margin-top: auto;
}
.dcb-product-card__arrow { transition: transform var(--duration-base) var(--ease); display: inline-block; }
.dcb-product-card:hover .dcb-product-card__arrow { transform: translateX(4px); }
/* Uniform product thumbnail — square box, product shown whole on white (scannability per client). */
.dcb-product-card__thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-soft);
	overflow: hidden;
}
.dcb-product-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	padding: 10px;
	transition: transform var(--duration-base) var(--ease);
}
.dcb-product-card--photo { justify-content: flex-start; }
.dcb-product-card--photo:hover .dcb-product-card__thumb img { transform: scale(1.04); }

/* Brand card — used on Shop Supplements + Partnerships pages */
.dcb-brand-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(20px, 2.5vw, 28px);
}
@media (min-width: 700px)  { .dcb-brand-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .dcb-brand-grid { grid-template-columns: repeat(3, 1fr); } }

.dcb-brand-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-card);
	padding: 28px 28px 24px;
	transition: transform var(--duration-base) var(--ease), box-shadow var(--duration-base) var(--ease), border-color var(--duration-base) var(--ease);
}
.dcb-brand-card:hover { transform: translateY(-4px); box-shadow: var(--c-shadow-lg); border-color: var(--c-gold); }
/* Visible product thumbnail above the title (matches the Products page). */
.dcb-brand-card__thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-soft);
	overflow: hidden;
}
.dcb-brand-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	padding: 16px;
	transition: transform var(--duration-base) var(--ease);
}
.dcb-brand-card--photo:hover .dcb-brand-card__thumb img { transform: scale(1.04); }
.dcb-brand-card__body { display: flex; flex-direction: column; gap: 12px; flex: 1; }
.dcb-brand-card__eyebrow {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--c-gold);
}
.dcb-brand-card__name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.18;
	color: var(--c-text);
	margin: 0;
}
.dcb-brand-card__desc {
	font-size: 14px;
	line-height: 1.6;
	color: var(--c-text-mut);
	margin: 0;
}
.dcb-brand-card__code {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	background: var(--c-beige);
	border-radius: var(--radius-soft);
	padding: 10px 14px;
	font-size: 13px;
	width: fit-content;
}
.dcb-brand-card__code-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--c-text-mut);
}
.dcb-brand-card__code code {
	font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
	font-size: 13px;
	font-weight: 700;
	color: var(--c-gold-d);
	background: transparent;
	padding: 2px 4px;
	letter-spacing: .03em;
}
.dcb-brand-card__code-note {
	font-size: 12px;
	color: var(--c-text);
	font-weight: 500;
}
.dcb-brand-card__foot {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
}
.dcb-brand-card__foot .dcb-pill { padding: 12px 22px; font-size: 13px; }
.dcb-brand-card__source {
	font-size: 11px;
	color: var(--c-text-mut);
	letter-spacing: .04em;
}

/* FullScript featured callout — Shop Supplements page */
.dcb-fullscript {
	background: var(--c-taupe);
	color: var(--c-cream);
	border-radius: var(--radius-card);
	padding: clamp(36px, 4vw, 56px);
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: center;
}
@media (min-width: 900px) { .dcb-fullscript { grid-template-columns: 1.2fr 1fr auto; } }
.dcb-fullscript .dcb-eyebrow { color: rgba(255,248,240,.85); }
.dcb-fullscript .dcb-display { color: var(--c-cream); margin: 8px 0 6px; font-size: clamp(28px, 3vw, 38px); }
.dcb-fullscript__head p { color: rgba(247,245,242,.85); font-size: 15px; margin: 0; }
.dcb-fullscript__cats {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.dcb-fullscript__cats li {
	background: rgba(255,248,240,.14);
	color: var(--c-cream);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 500;
}
.dcb-fullscript__cta { display: flex; align-items: center; }

/* Sticky filter chips variant */
.dcb-cat-chips--sticky {
	position: sticky;
	top: 84px;
	z-index: 50;
	background: rgba(247, 245, 242, 0.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	padding: 18px var(--gutter);
	border-radius: var(--radius-pill);
	margin: 0 auto 30px;
}
.dcb-cat-chips__count {
	font-size: 11px;
	font-weight: 400;
	opacity: .65;
	margin-left: 4px;
}

/* Single blog post layout */
.dcb-post {
	max-width: 760px;
	margin-inline: auto;
}
.dcb-post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	font-size: 13px;
	color: var(--c-text-mut);
	margin: 10px 0 28px;
}
.dcb-post__hero {
	border-radius: var(--radius-card);
	overflow: hidden;
	margin-bottom: 40px;
	aspect-ratio: 16/9;
	background: var(--c-beige);
}
.dcb-post__hero img { width: 100%; height: 100%; object-fit: cover; }
.dcb-post__content { font-size: 16px; line-height: 1.75; color: var(--c-text); }
.dcb-post__content h2 { font-size: clamp(24px, 2.6vw, 32px); margin: 38px 0 14px; }
.dcb-post__content h3 { font-size: clamp(20px, 2vw, 24px); margin: 30px 0 12px; }
.dcb-post__content p  { margin: 0 0 18px; }
.dcb-post__content a  { color: var(--c-gold); border-bottom: 1px solid currentColor; }
.dcb-post__content img { border-radius: var(--radius-card); margin: 22px 0; }
.dcb-post__content blockquote {
	margin: 28px 0;
	padding: 0 0 0 20px;
	border-left: 3px solid var(--c-gold);
	font-style: italic;
	color: var(--c-text-mut);
}
.dcb-post__content ul, .dcb-post__content ol { padding-left: 22px; margin: 0 0 18px; }
.dcb-post__content li { margin-bottom: 8px; }

/* Featured guide (e-books page) */
.dcb-featured-guide {
	background: var(--c-cream);
	border-radius: var(--radius-card);
	box-shadow: var(--c-shadow);
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr;
}
@media (min-width: 800px) { .dcb-featured-guide { grid-template-columns: 280px 1fr; align-items: stretch; } }
.dcb-featured-guide__media { background: var(--c-white); aspect-ratio: 4/5; display: flex; align-items: center; justify-content: center; padding: 24px; }
.dcb-featured-guide__media img { max-height: 100%; object-fit: contain; }
.dcb-featured-guide__body { padding: clamp(28px, 4vw, 44px); display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.dcb-featured-guide__body h3 { font-family: var(--font-display); font-weight: 700; font-size: clamp(26px, 2.6vw, 32px); }

/* Podcast platform row */
.dcb-podcast-platforms {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 40px auto 0;
	max-width: 1080px;
}
@media (min-width: 720px) {
	.dcb-podcast-platforms { grid-template-columns: repeat(5, 1fr); }
}
.dcb-podcast-platforms a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 32px 16px;
	background: var(--c-white);
	border-radius: var(--radius-card);
	box-shadow: var(--c-shadow);
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 500;
	color: var(--c-text);
	text-align: center;
	transition: transform var(--duration-base) var(--ease), box-shadow var(--duration-base) var(--ease);
}
.dcb-podcast-platforms a:hover {
	transform: translateY(-3px);
	box-shadow: var(--c-shadow-lg);
}

/* Bullet list with gold checks */
.dcb-checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px 24px; grid-template-columns: 1fr; }
@media (min-width: 700px) { .dcb-checks { grid-template-columns: 1fr 1fr; } }
.dcb-checks li {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #faf9f6;
	border: 1px solid rgba(42,37,32,.06);
	border-radius: 10px;
	padding: 18px 24px;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--c-text);
	box-shadow: 0 1px 3px rgba(36,41,33,.04);
}
.dcb-checks li::before {
	content: '';
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--c-gold);
}

/* Education cards (About) */
.dcb-edu-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 768px) { .dcb-edu-grid { grid-template-columns: repeat(4, 1fr); } }
.dcb-edu-card {
	background: var(--c-cream);
	border-radius: var(--radius-card);
	padding: 28px 24px;
	border: 1px solid var(--c-line);
	box-shadow: var(--c-shadow);
	text-align: center;
}
.dcb-edu-card__icon {
	width: 48px; height: 48px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: var(--c-beige);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--c-gold);
}
.dcb-edu-card h4 { font-family: var(--font-display); font-weight: 700; font-size: 16px; margin-bottom: 6px; }
.dcb-edu-card p { font-size: 13px; color: var(--c-text-mut); }

/* Trust band (Shop) */
.dcb-trust-band {
	background: #f4f1ed;
	text-align: center;
	padding-block: clamp(60px, 6vw, 84px);
}
.dcb-trust-band p { max-width: 60ch; margin: 12px auto 0; color: var(--c-text-mut); font-size: 15px; line-height: 1.6667; }
.dcb-trust-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-top: 36px;
}
@media (min-width: 768px) { .dcb-trust-row { grid-template-columns: repeat(3, 1fr); } }
.dcb-trust-row__item { text-align: center; }
.dcb-trust-row__item h4 {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
	color: var(--c-taupe);
	margin-bottom: 6px;
}
.dcb-trust-row__item p  { font-size: 15px; line-height: 25px; color: var(--c-text-mut); }
.dcb-trust-row__icon {
	color: var(--c-gold);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}
.dcb-trust-row__icon svg { width: 40px; height: 40px; }

/* Shop landing "Browse the Shop" cards: warm box bg + gold pill CTAs */
.dcb-shop-grid .dcb-card,
.dcb-shop-grid .dcb-card__body { background: #f1ebe5; }
.dcb-shop-grid .dcb-card__link {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: .4em;
	margin-top: 8px;
	padding: 13px 26px;
	background: var(--c-gold);
	color: var(--c-cta-text);
	border-radius: var(--radius-pill);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .01em;
	box-shadow: 0 6px 18px -8px rgba(198,164,108,.55);
	transition: background var(--duration-base) var(--ease),
				transform var(--duration-base) var(--ease),
				box-shadow var(--duration-base) var(--ease);
}
.dcb-shop-grid .dcb-card:hover .dcb-card__link {
	background: var(--c-gold-d);
	transform: translateY(-1px);
	box-shadow: 0 10px 28px -8px rgba(198,164,108,.7);
}

/* -----------------------------------------------------------------------
   10. Footer
   ----------------------------------------------------------------------- */
.dcb-footer {
	background: var(--c-taupe);
	color: var(--c-cream);
	padding-block: clamp(50px, 5vw, 70px) 0;
}
.dcb-footer__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--gutter);
	display: grid;
	grid-template-columns: 1fr;
	gap: 36px;
}
@media (min-width: 700px)  { .dcb-footer__inner { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.dcb-footer__brand { display: flex; flex-direction: column; gap: 16px; }
.dcb-footer__logo { height: 48px; width: auto; filter: brightness(0) invert(1); opacity: .92; }
.dcb-footer__tag { font-size: 13px; line-height: 1.6; color: rgba(247,245,242,.85); max-width: 38ch; }
.dcb-footer__heading {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--c-gold);
	margin-bottom: 18px;
}
.dcb-footer__links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.dcb-footer__links a { font-size: 14px; color: var(--c-cream); opacity: .88; transition: opacity var(--duration-base) var(--ease), color var(--duration-base) var(--ease); }
.dcb-footer__links a:hover { opacity: 1; color: var(--c-gold); }

.dcb-footer__social { list-style: none; padding: 0; margin: 0; display: flex; gap: 12px; }
.dcb-footer__social a {
	width: 36px; height: 36px;
	border-radius: 50%;
	border: 1.5px solid var(--c-cream);
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--c-cream);
	transition: background var(--duration-base) var(--ease), color var(--duration-base) var(--ease), transform var(--duration-base) var(--ease);
}
.dcb-footer__social a:hover { background: var(--c-cream); color: var(--c-taupe-d); transform: translateY(-2px); }

.dcb-footer__bottom {
	max-width: var(--container-max);
	margin: 40px auto 0;
	padding: 22px var(--gutter);
	border-top: 1px solid rgba(247,245,242,.18);
	text-align: center;
	font-size: 12px;
	color: rgba(247,245,242,.75);
}
.dcb-footer__bottom p { margin: 0; }

/* -----------------------------------------------------------------------
   11. Animations / reveal
   ----------------------------------------------------------------------- */
.dcb-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity var(--duration-slow) var(--ease), transform var(--duration-slow) var(--ease);
	transition-delay: var(--reveal-delay, 0ms);
	will-change: opacity, transform;
}
.dcb-reveal[data-reveal="fade"] { transform: none; }
.dcb-reveal[data-reveal="left"] { transform: translateX(-24px); }
.dcb-reveal[data-reveal="right"] { transform: translateX(24px); }
.dcb-reveal.is-revealed { opacity: 1; transform: none; }

/* Hide hero image-bg before JS attaches to prevent FOUC */
.no-js .dcb-reveal { opacity: 1; transform: none; }

/* Reduced motion: kill movement, keep opacity */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
	.dcb-hero--image .dcb-hero__bg img { animation: none; }
	.dcb-reveal { transform: none; }
}

/* -----------------------------------------------------------------------
   12. Utility helpers
   ----------------------------------------------------------------------- */
.dcb-stack-sm { display: flex; flex-direction: column; gap: 12px; }
.dcb-stack    { display: flex; flex-direction: column; gap: 20px; }
.dcb-stack-lg { display: flex; flex-direction: column; gap: 30px; }
.dcb-mt-lg { margin-top: clamp(28px, 4vw, 50px); }
.dcb-mt-md { margin-top: 20px; }
.dcb-flex-center { display: flex; align-items: center; justify-content: center; }
.dcb-text-mut { color: var(--c-text-mut); }
.dcb-divider-gold {
	width: 60px; height: 2px; background: var(--c-gold); border: 0; border-radius: 2px; margin: 14px auto;
}

/* 404 */
.dcb-404 { text-align: center; padding-block: clamp(80px, 12vw, 160px); }
.dcb-404 .dcb-display { font-size: clamp(60px, 8vw, 100px); }

/* =======================================================================
   13. Ruttl review fixes — 2026-05-21
   Comments from ruttl review by Kevin G. Overrides land here so the
   underlying section CSS stays untouched and easy to reason about.
   ======================================================================= */

/* Footer ---------------------------------------------------------------- */
/* Logo SVG has white wordmark + gold "B" cap + gold underline bars. Drop
   the brightness/invert filter so the gold accents render.
   The Figma source SVG has ~32 units of empty padding inside the viewBox
   on the left (the wordmark's "D" doesn't sit at x=0). Use a negative
   margin-left so the logo's "D" lines up with the "E" in the tagline
   below it — same left edge for both. */
.dcb-footer__logo {
	filter: none;
	opacity: 1;
	height: 56px;
	width: auto;          /* don't stretch — keep intrinsic aspect ratio */
	align-self: flex-start; /* override the flex column's default stretch */
	display: block;
	margin-left: -3px;    /* small SVG internal-padding compensation */
}

/* Footer link weight + line height (ruttl: lighter weight, tighter line) */
.dcb-footer__links a {
	font-weight: 300;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: .01em;
}
.dcb-footer__links { gap: 8px; }

/* Push the right-side columns further to the right */
@media (min-width: 700px) {
	.dcb-footer__inner { grid-template-columns: 2.8fr .9fr .9fr .9fr; }
}

/* Hero ------------------------------------------------------------------ */
.dcb-hero__eyebrow {
	padding: 4px 12px;
	margin-bottom: 14px;
}
/* Headline max-width tuned so the natural break is at "& Postpartum" */
.dcb-hero__title { max-width: none; }
.dcb-hero__title br { display: inline; }
.dcb-hero__title br::before { content: "\A"; white-space: pre; }

/* Brand statement (taupe band on /home) -------------------------------- */
/* Custom double-prime quote SVG (Figma node 2:2245) — cream with .2 opacity */
.dcb-brand-statement__quote {
	display: inline-block;
	color: var(--c-cream);
	margin-bottom: 12px;
	line-height: 0;
}
.dcb-brand-statement__quote svg {
	width: 48px;
	height: auto;
	opacity: .2;
	display: block;
	margin-inline: auto;
}

/* "Font weight should be lighter" on the band's paragraph */
.dcb-brand-statement p { font-weight: 300; max-width: 64ch; }

/* "Should be gold background with white text" on the band's CTA pill */
.dcb-brand-statement .dcb-pill {
	background: var(--c-gold);
	color: var(--c-cta-text);
	box-shadow: 0 6px 18px -8px rgba(198,164,108,.55);
}
.dcb-brand-statement .dcb-pill:hover { background: var(--c-gold-d); }

/* "Read Dr. CeCe's Full Story →" — branded green, no underline ----------- */
.dcb-arrow-link {
	color: var(--c-green);
	border-bottom: 0;
	padding-bottom: 0;
}
.dcb-arrow-link:hover { color: #586a4d; }
.dcb-arrow-link--ink { color: var(--c-text); }

/* Lead-paragraph <strong>: more breathing room above */
.dcb-lead strong { display: inline-block; margin-top: 6px; }

/* /home "Caring for the Whole Family": softer cream tone (Figma uses cream).
   Scoped to body.home so /about's "A Little Backstory" stays beige. */
body.home .dcb-section.dcb-bg-beige { background: var(--c-cream); }

/* /home "Who I Help…" — beige background per Figma (node 2-1527).
   Own id so the blunt cream rule above (for "Caring…") doesn't catch it. */
body.home #who-i-help { background: var(--c-beige); }

/* /services beneath-the-hero disclaimer band — narrow beige strip */
.dcb-note-band {
	padding: 14px 0;
}

/* "Who I Help…" — the filled deco circle isn't in the design (rings only) */
.dcb-section .dcb-deco-circle:not(.dcb-deco-circle--ring) { display: none; }

/* "Discover Your Path to Wellness" section ----------------------------- */
.dcb-explore { background: var(--c-white); }
.dcb-explore .dcb-display em { color: var(--c-gold); font-style: italic; }

/* Explore 3-card grid: subtle CREAM card on the WHITE section so cards
   read as distinct surfaces (matches Figma). */
.dcb-explore .dcb-card { background: var(--c-cream); border-color: rgba(42,37,32,.06); }
.dcb-explore .dcb-card__body { background: var(--c-cream); }
.dcb-card__link { color: var(--c-gold); font-weight: 600; }

/* Newsletter CTA: less top margin */
.dcb-newsletter__cta { margin-top: 12px; }

/* Arrow glyph used in pills, arrow-links and card-links --------------- */
.dcb-pill__arrow,
.dcb-arrow-link > span[aria-hidden],
.dcb-card__link > span[aria-hidden] {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 1.1em;
	line-height: 1;
	display: inline-block;
	transform: translateY(-1px);
}

/* Hero variants ------------------------------------------------------- */
/* Centered hero on a full-bleed dark photo (used for /services). */
.dcb-hero--centered { text-align: center; }
.dcb-hero--centered .dcb-hero__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 500px;
	gap: 16px;
}
.dcb-hero--centered .dcb-display {
	font-style: italic;
	color: var(--c-cream);
	font-size: clamp(36px, 5vw, 52px);
	max-width: 22ch;
}
.dcb-hero--centered .dcb-eyebrow,
.dcb-hero--centered .dcb-eyebrow--cream {
	color: var(--c-gold);
}
.dcb-hero--centered .dcb-hero__sub {
	color: var(--c-cream);
	font-size: 17px;
	max-width: 50ch;
}
.dcb-hero--centered .dcb-rule { background: var(--c-gold-d); margin: 4px auto 0; }

/* Gold-band hero (used by /about, /podcast, /e-books-guides, etc.):
   keep it as a gold band — that matches the V4 design for those pages.
   Adjusted only minor things below. */
.dcb-hero--band .dcb-hero__sub { color: var(--c-cta-text); font-weight: 500; }
.dcb-hero--band .dcb-eyebrow,
.dcb-hero--band .dcb-eyebrow--cream { color: var(--c-cta-text); margin-bottom: 14px; }

/* Podcast platform card: brand-colored circle icon centered above label */
.dcb-podcast-platforms__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.dcb-podcast-platforms__icon svg { display: block; width: 26px; height: 26px; }

/* Service cards: hide "Learn More" link (clickable whole-card stands in) */
.dcb-service-cards .dcb-card__link { display: none; }

/* Card excerpts: darker, more readable than the muted gray */
.dcb-card__excerpt { color: var(--c-text); }

/* "How It Works" steps: solid gold circle, cream number ----------------- */
.dcb-step__num {
	background: var(--c-gold);
	color: var(--c-cta-text);
	border-color: var(--c-gold);
}

/* Testimonial stars: white, not gold -------------------------------- */
.dcb-testimonial__stars { color: var(--c-white); -webkit-text-stroke: 0; }
/* The stars need a dark backdrop to be readable; cards already have a
   subtle border so add a soft taupe background tint behind the stars. */
.dcb-testimonial { background: var(--c-cream); }

/* CTA strip: cream bg with black text + gold pill --------------------- */
.dcb-cta-strip {
	background: var(--c-cream);
	color: var(--c-text);
}
.dcb-cta-strip .dcb-display {
	color: var(--c-text);
	font-style: normal;
}
.dcb-cta-strip p { color: var(--c-text); }
.dcb-cta-strip .dcb-pill,
.dcb-cta-strip .dcb-pill--cream {
	background: var(--c-gold);
	color: var(--c-cta-text);
}
.dcb-cta-strip .dcb-pill:hover { background: var(--c-gold-d); }

/* /services "Ready to Optimize Your Health?" — match the newsletter band
   directly below it (beige) instead of cream, per design feedback. */
.page-template-page-services .dcb-cta-strip { background: var(--c-beige); }

/* /about: education card grid ----------------------------------------- */
.dcb-edu-card {
	background: var(--c-cream);
	border: 1px solid rgba(42,37,32,.08);
}
/* Match Figma: Title Case, Montserrat 700, ~18px, no letter-spacing */
.dcb-edu-card h4 {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--c-text);
	margin-bottom: 10px;
}
.dcb-edu-card p { color: var(--c-text); font-size: 14px; line-height: 1.55; }
/* No beige circle behind the icon — direct gold glyph on card bg */
.dcb-edu-card__icon {
	background: none;
	width: auto;
	height: auto;
	margin: 0 auto 18px;
	color: var(--c-gold);
}
.dcb-edu-card__icon svg { display: block; }

/* /about: My Mission band eyebrow should be gold, not cream */
.dcb-brand-statement .dcb-eyebrow,
.dcb-brand-statement .dcb-eyebrow--cream { color: var(--c-gold); }

/* /about: "Educating Families for a Healthier Tomorrow" — keep one line,
   upright (not italic) per design feedback. */
.dcb-brand-statement .dcb-display {
	font-style: normal;
	font-size: clamp(32px, 4vw, 50px);
	max-width: 22ch;
	margin-inline: auto;
}

/* /e-books-guides: hero subtext should be black, featured guide ------- */
.dcb-hero--band .dcb-hero__sub { color: var(--c-text); }

.dcb-featured-guide {
	background: var(--c-white);
	border-radius: var(--radius-card);
	box-shadow: var(--c-shadow-lg);
	overflow: hidden;
}
.dcb-featured-guide__body { background: var(--c-white); }

/* "Includes …" highlight — light neutral panel with a gold left bar (no full
   border), gold bold text. Matches the target callout design. */
.dcb-guide-callout {
	align-self: flex-start;
	max-width: 100%;
	background: #f3f4f2;
	border-left: 4px solid var(--c-gold);
	border-radius: 10px;
	padding: 16px 22px;
	color: var(--c-gold-d);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.5;
}

/* "Bestselling Guide" badge: pill with light gold bg */
.dcb-featured-guide .dcb-eyebrow--gold,
.dcb-featured-guide .dcb-eyebrow {
	background: rgba(198,164,108,.18);
	color: var(--c-gold-d);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	letter-spacing: .18em;
	font-size: 11px;
	align-self: flex-start;
}

/* "Title block should be thicker" — beef up the eyebrow + h2 weight */
.dcb-title-block .dcb-display { font-weight: 700; }
.dcb-title-block .dcb-eyebrow { font-weight: 700; }

/* /e-books-guides — turn every `.dcb-card__link` from a small text link
   into a real gold pill button (matches Figma). */
.page-template-page-ebooks .dcb-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--c-gold);
	color: var(--c-cta-text);
	padding: 12px 26px;
	border-radius: var(--radius-pill);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .01em;
	margin-top: 14px;
	align-self: flex-start;
	transition: background var(--duration-base) var(--ease);
	box-shadow: 0 6px 18px -8px rgba(198,164,108,.55);
}
.page-template-page-ebooks .dcb-card:hover .dcb-card__link {
	background: var(--c-gold-d);
}

/* "Want Personalized Guidance?" section: taupe band, cream text,
   gold pill — not the cream variant of cta-strip used elsewhere. */
.page-template-page-ebooks .dcb-cta-strip {
	background: var(--c-taupe);
	color: var(--c-cream);
	text-align: left;
}
/* Keep the image+text a contained, centred block so it doesn't sprawl to the
   far edges on wide screens (was reading as pushed hard left). */
.page-template-page-ebooks .dcb-cta-strip .dcb-split {
	max-width: 1120px;
	margin-inline: auto;
}
.page-template-page-ebooks .dcb-cta-strip .dcb-display {
	color: var(--c-cream);
	font-style: normal;
}
.page-template-page-ebooks .dcb-cta-strip p { color: rgba(247,245,242,.92); margin-inline: 0; }
.page-template-page-ebooks .dcb-cta-strip .dcb-eyebrow,
.page-template-page-ebooks .dcb-cta-strip .dcb-eyebrow--cream,
.page-template-page-ebooks .dcb-cta-strip .dcb-eyebrow--gold {
	color: var(--c-gold);
}
.page-template-page-ebooks .dcb-cta-strip .dcb-pill,
.page-template-page-ebooks .dcb-cta-strip .dcb-pill--cream {
	background: var(--c-gold);
	color: var(--c-cta-text);
	box-shadow: 0 6px 18px -8px rgba(198,164,108,.55);
}
.page-template-page-ebooks .dcb-cta-strip .dcb-pill:hover {
	background: var(--c-gold-d);
}

/* Freebies (5-card row): dark "FREE" badge in top-right of the image,
   centered card body, centered gold pill at the BOTTOM of each card
   (so the button row aligns across cards even when titles wrap to
   different line counts). */
.page-template-page-ebooks .dcb-grid--5 .dcb-card {
	position: relative;
	text-align: center;
	display: flex;
	flex-direction: column;
	overflow: visible; /* so the FREE badge can straddle the top edge */
	background: #fff;  /* white throughout — the cream body bg read as off-white below the white cover */
	border-radius: 15.6px;
}
/* The cover sits flush to the card's top edge; since the card is overflow:visible
   (for the FREE badge) its square corners poked out — round its top to match. */
.page-template-page-ebooks .dcb-grid--5 .dcb-card__media {
	border-radius: 15.6px 15.6px 0 0;
}
.page-template-page-ebooks .dcb-grid--5 .dcb-card__body {
	flex: 1 1 auto;
	background: #fff;
	border-radius: 0 0 15.6px 15.6px; /* round bottom to match the card (overflow:visible) */
}
.page-template-page-ebooks .dcb-grid--5 .dcb-card__eyebrow {
	position: absolute;
	top: -12px;      /* straddle the top edge — half above, half below */
	right: 18px;
	z-index: 3;
	background: var(--c-ink-deep);
	color: var(--c-cream);
	padding: 6px 16px;
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	box-shadow: 0 4px 12px -4px rgba(36,41,33,.25);
}
/* The freebie covers are 3-D book mockups exported at 1358×1400 — nearly
   square, not portrait. The base card media is a 16/11 landscape box with
   object-fit:cover, which crops the book to a middle band; a 5/7 portrait box
   letterboxed a tall white band between cover and title. Match the box to the
   image ratio so object-fit:contain fills it edge to edge. */
.page-template-page-ebooks .dcb-grid--5 .dcb-card__media {
	aspect-ratio: 1358 / 1400;
	overflow: hidden;
	background: #fff;
}
.page-template-page-ebooks .dcb-grid--5 .dcb-card__media img {
	object-fit: contain;
}
.page-template-page-ebooks .dcb-grid--5 .dcb-card__body {
	align-items: center;
	text-align: center;
	padding-bottom: 26px;
}
.page-template-page-ebooks .dcb-grid--5 .dcb-card__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 20px;
}
.page-template-page-ebooks .dcb-grid--5 .dcb-card__link {
	margin: 16px auto 0;   /* margin-top: auto on this rule below pins it to bottom */
	margin-top: auto;
	align-self: center;
	padding: 10px 18px;    /* tighter than the larger guide pills */
	font-size: 13px;
	white-space: nowrap;   /* keep "Get Free Guide" on a single line */
}
.page-template-page-ebooks .dcb-grid--5 .dcb-card__link > span[aria-hidden] {
	display: none;          /* drop the arrow — pill is small, label is enough */
}
/* /podcast: hide Listen Now link clutter on the platforms grid */
.page-template-page-podcast .dcb-podcast-platforms .dcb-card__link { display: none; }

/* /podcast "About the Show" — warm bg + a row of gold platform quick-link
   pills below the intro (per Figma node 10:1022). */
.page-template-page-podcast #about-show { background: #fff8f0; }
.dcb-podcast-quicklinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 28px;
}
.dcb-podcast-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 22px;
	border-radius: 20px;
	background: var(--c-gold);
	color: #fff;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .01em;
	transition: background var(--duration-base) var(--ease), transform var(--duration-base) var(--ease);
}
.dcb-podcast-pill:hover { background: var(--c-gold-d); transform: translateY(-2px); }

/* /podcast hero — full-bleed Dr. CeCe photo + dark overlay, centred text
   (per Figma node 10:1013 "S1"). Replaces the plain gold band. */
.page-template-page-podcast .dcb-hero--band {
	background:
		linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)),
		url('../img/sections/podcast-hero.jpg') center 18% / cover no-repeat;
	min-height: 450px;
	display: flex;
	align-items: center;
}
.page-template-page-podcast .dcb-hero--band::before,
.page-template-page-podcast .dcb-hero--band::after { display: none; }
.page-template-page-podcast .dcb-hero--band .dcb-eyebrow,
.page-template-page-podcast .dcb-hero--band .dcb-eyebrow--cream { color: var(--c-gold); }
.page-template-page-podcast .dcb-hero--band .dcb-display { color: #fff; font-size: clamp(34px, 4.5vw, 48px); }
.page-template-page-podcast .dcb-hero--band .dcb-hero__sub { color: #f7f5f2; }
@media (min-width: 900px) {
	.page-template-page-podcast .dcb-hero--band .dcb-hero__sub { font-size: 18px; }
}
.page-template-page-podcast .dcb-hero--band .dcb-rule { background: var(--c-gold); height: 3px; }

/* /podcast "Latest Episodes" — white cards with a light border (they were
   cream, blending into the section), no "Listen Now" link, amber category
   eyebrow (per Figma node 15:2610). Font sizes scoped to desktop so the
   mobile text-size bump above is preserved. */
.page-template-page-podcast #latest { background: #fff; }
.page-template-page-podcast #latest .dcb-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
}
.page-template-page-podcast #latest .dcb-card__media { aspect-ratio: 16 / 9; }
.page-template-page-podcast #latest .dcb-card__body { padding: 24px; }
.page-template-page-podcast #latest .dcb-card__eyebrow { color: #c29024; }
.page-template-page-podcast #latest .dcb-card__excerpt { color: #5a5a5a; }
.page-template-page-podcast #latest .dcb-card__link { display: none; }
@media (min-width: 900px) {
	.page-template-page-podcast #latest .dcb-card__title { font-size: 20px; line-height: 1.2; }
	.page-template-page-podcast #latest .dcb-card__excerpt { font-size: 15px; line-height: 1.67; }
}
/* "More Guides" cards: horizontal layout — image on left, body right.
   White card, subtle border + shadow, 20px radius (per Figma node 13-2066). */
.page-template-page-ebooks .dcb-grid--2 .dcb-card {
	display: grid;
	grid-template-columns: 190px 1fr;
	align-items: stretch;
	background: #fff;
	border: 1px solid #e0d8cc;
	border-radius: 20px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, .04);
}
.page-template-page-ebooks .dcb-grid--2 .dcb-card__media {
	aspect-ratio: auto;
	height: 100%;
}
.page-template-page-ebooks .dcb-grid--2 .dcb-card__media img { object-fit: contain; }

/* Every book cover on this page sits on a clean white box — the default card
   media background is beige, which showed through behind the white mockups. */
.page-template-page-ebooks .dcb-card__media { background: #fff; }

/* Desktop spacing per Figma node 13-2066: book ~124×185 centred on white;
   tight text rhythm — title→paragraph 8px, paragraph→button 18px; both the
   book and the text block centred vertically. (Font sizes unchanged.) */
@media (min-width: 900px) {
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__media {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 30px 16px 30px 32px;
	}
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__media img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 185px;
	}
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__body {
		padding: 30px 36px 30px 22px;
		gap: 0;
		justify-content: center;
	}
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__title { margin: 0 0 8px; }
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__excerpt { margin: 0 0 18px; line-height: 1.6; }
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__link { margin-top: 0; padding: 15px 26px; }
}
/* Mobile/tablet: stack to one column, image on top (was clipping off-screen).
   The guide covers are 1358×1400 book mockups, so show them whole on white
   (not cropped to a landscape band) and centre them in the stacked card so
   they match the freebie covers below. */
@media (max-width: 899px) {
	.page-template-page-ebooks .dcb-grid--2 .dcb-card { grid-template-columns: 1fr; }
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__media {
		aspect-ratio: 1358 / 1400;
		height: auto;
		max-width: 240px;
		margin-inline: auto;
		background: #fff;
	}
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__media img { object-fit: contain; }
}

/* Phone: at one column the book covers fill the full width and read far too
   large. Cap every guide cover (More Guides + freebies) to one consistent,
   smaller size — ~45% smaller than the full-width box — and centre it, so
   all the books on the page render at the same size. */
@media (max-width: 767px) {
	.page-template-page-ebooks .dcb-grid--2 .dcb-card__media,
	.page-template-page-ebooks .dcb-grid--5 .dcb-card__media {
		width: 190px;       /* explicit so the box can't collapse in flex */
		max-width: 100%;
		margin-inline: auto; /* centres within the More Guides grid cell */
		align-self: center;  /* centres within the freebie flex column   */
	}
}

/* Newsletter pill: less top margin (about-page comment) */
.dcb-newsletter__cta { margin-top: 6px; }

/* /about — hero band sub should be readable black */
body.page-template-page-about .dcb-hero--band .dcb-hero__sub { color: var(--c-text); font-weight: 500; }

/* =====================================================================
   Guide lightbox modal + ActiveCampaign form (id 45) skin
   ===================================================================== */
.dcb-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.dcb-modal[hidden] { display: none; }
.dcb-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(36,33,30,.55);
	opacity: 0;
	transition: opacity .3s var(--ease);
}
.dcb-modal.is-open .dcb-modal__overlay { opacity: 1; }
.dcb-modal__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 520px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: var(--c-cream);
	border-radius: var(--radius-card);
	padding: clamp(28px, 5vw, 48px);
	box-shadow: var(--c-shadow-lg);
	opacity: 0;
	transform: translateY(16px) scale(.98);
	transition: opacity .3s var(--ease), transform .3s var(--ease);
}
.dcb-modal.is-open .dcb-modal__dialog { opacity: 1; transform: none; }
.dcb-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--c-text-mut);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: background .2s var(--ease), color .2s var(--ease);
}
.dcb-modal__close:hover { background: var(--c-beige); color: var(--c-text); }
.dcb-modal__head { text-align: center; }
.dcb-modal__head .dcb-eyebrow { color: var(--c-gold); }
.dcb-modal__head .dcb-display {
	font-size: clamp(26px, 4vw, 34px);
	line-height: 1.12;
	color: var(--c-text);
	margin: 8px 0 10px;
}
.dcb-modal__head p { font-size: 14px; line-height: 1.55; color: var(--c-text-mut); max-width: 34ch; margin: 0 auto; }

/* ActiveCampaign opt-in forms — scoped to our own .dcb-modal__form wrapper so
   one ruleset skins every guide/freebie form regardless of AC's run-time form
   id (which changes per render). site.js strips AC's injected <style> on mount,
   so these rules style the form with no specificity war. */
.dcb-modal__form { margin-top: 4px; }
.dcb-modal__form form {
	color: var(--c-text) !important;
	font-family: var(--font-body) !important;
	max-width: 100% !important;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	text-align: left !important;
}
.dcb-modal__form ._form_element { margin-bottom: 14px !important; max-width: 100% !important; }
.dcb-modal__form ._form-label {
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	color: var(--c-text-mut) !important;
	margin-bottom: 6px !important;
	display: block !important;
}
.dcb-modal__form .field-required { color: var(--c-gold) !important; }
.dcb-modal__form input[type="text"] {
	width: 100% !important;
	box-sizing: border-box !important;
	border: 0 !important;
	background: var(--c-white) !important;
	padding: 14px 18px !important;
	border-radius: var(--radius-soft) !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	color: var(--c-text) !important;
	box-shadow: inset 0 0 0 1px rgba(42,37,32,.14) !important;
}
.dcb-modal__form input[type="text"]::placeholder { color: rgba(42,37,32,.45) !important; }
.dcb-modal__form input[type="text"]:focus {
	outline: 0 !important;
	box-shadow: inset 0 0 0 1px var(--c-gold), 0 0 0 3px rgba(198,164,108,.18) !important;
}
.dcb-modal__form ._button-wrapper { margin-top: 8px !important; }
.dcb-modal__form button[type="submit"],
.dcb-modal__form ._submit {
	display: block !important;
	width: 100% !important;
	background: var(--c-gold) !important;
	color: var(--c-cta-text) !important;
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	letter-spacing: .01em !important;
	padding: 16px 30px !important;
	border: 0 !important;
	border-radius: var(--radius-pill) !important;
	cursor: pointer !important;
	box-shadow: 0 6px 18px -8px rgba(198,164,108,.55) !important;
	transition: background .2s !important;
}
.dcb-modal__form button[type="submit"]:hover,
.dcb-modal__form ._submit:hover { background: var(--c-gold-d) !important; }
.dcb-modal__form ._form-thank-you {
	font-family: var(--font-body) !important;
	color: var(--c-text) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	padding: 26px 8px !important;
}
.dcb-modal__form ._form-thank-you::before {
	content: "";
	display: block;
	width: 46px;
	height: 46px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: rgba(198,164,108,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c6a46c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
}
.dcb-modal__form ._form-branding { display: none !important; }
.dcb-modal__form ._error { position: static !important; }
.dcb-modal__form ._error-inner {
	font-family: var(--font-body) !important;
	color: #c0392b !important;
	background: none !important;
	font-size: 13px !important;
	padding: 4px 0 0 !important;
	box-shadow: none !important;
	text-align: left !important;
}
.dcb-modal__form ._error-arrow { display: none !important; }

/* Guest-application form (AC form 1) — field types the guide opt-ins don't have.
   Phone is an intl-tel-input: the .iti wrapper shrink-wraps (smushed field) and
   the flat padding override above erases the room iti reserves for the flag +
   dial code, so widen the wrapper and re-add left padding. Textareas render at
   the browser-default cols=20 width; give them the text-input skin. The
   SMS-consent checkbox rides inline with its copy instead of stacking above it. */
.dcb-modal__form .iti { display: block !important; width: 100% !important; }
.dcb-modal__form input[type="tel"],
.dcb-modal__form .iti input:not(.iti__search-input) {
	width: 100% !important;
	box-sizing: border-box !important;
	border: 0 !important;
	background: var(--c-white) !important;
	padding: 14px 18px 14px 92px !important;
	border-radius: var(--radius-soft) !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	color: var(--c-text) !important;
	box-shadow: inset 0 0 0 1px rgba(42,37,32,.14) !important;
}
.dcb-modal__form input[type="tel"]:focus,
.dcb-modal__form .iti input:not(.iti__search-input):focus {
	outline: 0 !important;
	box-shadow: inset 0 0 0 1px var(--c-gold), 0 0 0 3px rgba(198,164,108,.18) !important;
}
.dcb-modal__form textarea {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	border: 0 !important;
	background: var(--c-white) !important;
	padding: 14px 18px !important;
	border-radius: var(--radius-soft) !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: var(--c-text) !important;
	box-shadow: inset 0 0 0 1px rgba(42,37,32,.14) !important;
	min-height: 110px !important;
	resize: vertical !important;
}
.dcb-modal__form textarea::placeholder { color: rgba(42,37,32,.45) !important; }
.dcb-modal__form textarea:focus {
	outline: 0 !important;
	box-shadow: inset 0 0 0 1px var(--c-gold), 0 0 0 3px rgba(198,164,108,.18) !important;
}
.dcb-modal__form label.sms_consent_checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	text-align: left !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
	margin: 12px 0 4px !important;
}
.dcb-modal__form label.sms_consent_checkbox input[type="checkbox"] {
	flex: 0 0 auto !important;
	width: 16px !important;
	height: 16px !important;
	margin: 3px 0 0 !important;
	accent-color: var(--c-gold) !important;
}

/* Suggest-a-Guest modal: its native form inherits the contact-PAGE styling
   (beige panel, sentence-case labels), which clashed with the AC guest form in
   the sibling modal. Inside a modal, restyle it to match the AC form skin. */
.dcb-modal__form .dcb-contact-form {
	background: none;
	border-radius: 0;
	padding: 0;
	gap: 14px;
	margin-top: 14px;
}
.dcb-modal__form .dcb-contact-form label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-text-mut);
}
.dcb-modal__form .dcb-contact-form input,
.dcb-modal__form .dcb-contact-form textarea,
.dcb-modal__form .dcb-contact-form select {
	border: 0;
	background: var(--c-white);
	padding: 14px 18px;
	border-radius: var(--radius-soft);
	font-size: 15px;
	line-height: 1.4;
	box-shadow: inset 0 0 0 1px rgba(42,37,32,.14);
}
.dcb-modal__form .dcb-contact-form input:focus,
.dcb-modal__form .dcb-contact-form textarea:focus,
.dcb-modal__form .dcb-contact-form select:focus {
	outline: 0;
	border-color: transparent;
	box-shadow: inset 0 0 0 1px var(--c-gold), 0 0 0 3px rgba(198,164,108,.18);
}
.dcb-modal__form .dcb-suggest-legend {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-text-mut);
	margin-bottom: 8px;
}
.dcb-modal__form .dcb-radio-row label {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--c-text);
}
.dcb-modal__form .dcb-contact-form .dcb-pill { display: flex; width: 100%; }

@media (max-width: 600px) {
	.dcb-modal { padding: 16px; }
	.dcb-modal__dialog { padding: 40px 20px 28px; max-height: calc(100vh - 32px); }
}

/* =====================================================================
   Podcast: Join the Conversation + Ask a Question (2-col card)
   ===================================================================== */
.dcb-podcast-engage { background: var(--c-white); }
.dcb-engage-card {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: center;
	background: var(--c-cream);
	border-radius: 24px;
	padding: clamp(28px, 4vw, 56px);
}
@media (min-width: 900px) {
	.dcb-engage-card { grid-template-columns: 1.35fr 1fr; gap: 56px; }
}
.dcb-engage-card__intro .dcb-eyebrow { color: var(--c-gold); }
.dcb-engage-card__intro .dcb-display {
	font-style: normal;
	font-size: clamp(30px, 3.4vw, 38px);
	line-height: 1.1;
	color: var(--c-text);
	margin: 8px 0 0;
}
.dcb-engage-stars { color: var(--c-gold); font-size: 24px; letter-spacing: 5px; margin: 14px 0 16px; }
.dcb-engage-card__intro p {
	color: var(--c-text-mut);
	font-size: 15px;
	line-height: 1.7;
	max-width: 46ch;
	margin: 0 0 26px;
}
.dcb-engage-card__form {
	background: var(--c-white);
	border-radius: 16px;
	box-shadow: 0 8px 24px -12px rgba(36,41,33,.18);
	padding: clamp(24px, 3vw, 34px);
}
.dcb-engage-card__form h3 {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 22px;
	color: var(--c-text);
	margin: 0 0 18px;
}
.dcb-ask-form { display: flex; flex-direction: column; gap: 14px; }
.dcb-ask-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--c-text-mut);
}
.dcb-ask-form input,
.dcb-ask-form textarea {
	border: 1px solid #e5e5e5;
	background: var(--c-white);
	border-radius: var(--radius-soft);
	padding: 13px 15px;
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--c-text);
	transition: border-color var(--duration-base) var(--ease), box-shadow var(--duration-base) var(--ease);
}
.dcb-ask-form input::placeholder,
.dcb-ask-form textarea::placeholder { color: rgba(42,37,32,.42); }
.dcb-ask-form input:focus,
.dcb-ask-form textarea:focus { border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(198,164,108,.18); outline: 0; }
.dcb-ask-form textarea { min-height: 104px; resize: vertical; }
.dcb-ask-form .dcb-pill { width: 100%; margin-top: 4px; }

/* =====================================================================
   Newsletter: inline ActiveCampaign form (id 47) skinned to match the
   "Stay Up to Date!" block. site.js strips AC's <style> + labels the button.
   ===================================================================== */
.dcb-newsletter__ac { max-width: 540px; margin: 0 auto; }
.dcb-newsletter ._form_47 form,
.dcb-newsletter form._form_47 {
	color: var(--c-text) !important;
	font-family: var(--font-body) !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.dcb-newsletter ._form-content {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	justify-content: center !important;
}
.dcb-newsletter ._form_element { flex: 1 1 220px !important; margin: 0 !important; max-width: 100% !important; }
.dcb-newsletter ._form-label { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; border: 0 !important; }
.dcb-newsletter ._form_47 input[type="text"] {
	width: 100% !important;
	box-sizing: border-box !important;
	border: 0 !important;
	background: var(--c-cream) !important;
	padding: 14px 18px !important;
	border-radius: var(--radius-soft) !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	color: var(--c-text) !important;
}
.dcb-newsletter ._form_47 input[type="text"]::placeholder { color: rgba(42,37,32,.45) !important; }
.dcb-newsletter ._form_47 input[type="text"]:focus { outline: 0 !important; box-shadow: 0 0 0 3px rgba(198,164,108,.2) !important; }
.dcb-newsletter ._button-wrapper { flex: 0 0 100% !important; display: flex !important; justify-content: center !important; margin-top: 10px !important; }
.dcb-newsletter ._form_47 button[type="submit"],
.dcb-newsletter ._form_47 ._submit {
	background: var(--c-gold) !important;
	color: var(--c-cta-text) !important;
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	letter-spacing: .01em !important;
	padding: 16px 36px !important;
	border: 0 !important;
	border-radius: var(--radius-pill) !important;
	cursor: pointer !important;
	box-shadow: 0 6px 18px -8px rgba(198,164,108,.55) !important;
	transition: background .2s !important;
	width: auto !important;
}
.dcb-newsletter ._form_47 button[type="submit"]:hover { background: var(--c-gold-d) !important; }
.dcb-newsletter ._form-thank-you {
	font-family: var(--font-body) !important;
	color: var(--c-text) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	padding: 10px 0 0 !important;
}
.dcb-newsletter ._form-branding { display: none !important; }
.dcb-newsletter ._error { position: static !important; }
.dcb-newsletter ._error-inner { font-family: var(--font-body) !important; color: #c0392b !important; background: none !important; box-shadow: none !important; font-size: 13px !important; padding: 4px 0 0 !important; }
.dcb-newsletter ._error-arrow { display: none !important; }

/* =====================================================================
   /podcast — mobile (≤899px): larger text, single-column grids, bigger
   icons. Desktop (≥900px) is intentionally left untouched.
   ===================================================================== */
@media (max-width: 899px) {
	/* "What We Cover" — one column on mobile, larger chip text + dot */
	.page-template-page-podcast .dcb-checks { grid-template-columns: 1fr; }
	.page-template-page-podcast .dcb-checks li {
		font-size: 21px;
		line-height: 1.45;
		padding: 22px 24px;
		gap: 14px;
	}
	.page-template-page-podcast .dcb-checks li::before { width: 13px; height: 13px; }

	/* Body copy, eyebrows + sub-heads bumped up from 15/12px */
	.page-template-page-podcast .dcb-hero__sub { font-size: 21px; line-height: 1.55; }
	.page-template-page-podcast .dcb-eyebrow { font-size: 16px; }
	.page-template-page-podcast .dcb-container--narrow p { font-size: 21px; line-height: 1.75; }
	.page-template-page-podcast .dcb-engage-card__intro p { font-size: 21px; line-height: 1.7; }
	.page-template-page-podcast .dcb-engage-stars { font-size: 32px; }
	.page-template-page-podcast .dcb-card__excerpt { font-size: 18px; line-height: 1.65; }
	.page-template-page-podcast .dcb-card__title { font-size: 24px; }

	/* "Available on Your Favorite Platforms" — two up, bigger icons + labels */
	.page-template-page-podcast .dcb-podcast-platforms a { font-size: 19px; padding: 28px 14px; gap: 16px; }
	.page-template-page-podcast .dcb-podcast-platforms__icon { width: 64px; height: 64px; }
	.page-template-page-podcast .dcb-podcast-platforms__icon svg { width: 32px; height: 32px; }

	/* "Ask a Question" form — larger labels + fields (16px input stops iOS zoom) */
	.page-template-page-podcast .dcb-engage-card__form h3 { font-size: 26px; }
	.page-template-page-podcast .dcb-ask-form label { font-size: 15px; }
	.page-template-page-podcast .dcb-ask-form input,
	.page-template-page-podcast .dcb-ask-form textarea { font-size: 16px; padding: 14px 16px; }
}


/* ============================================================
   Resource Vault (page-vaultaccess.php)
   ============================================================ */
.dcb-vault-hero {
	background: var(--c-cream);
	padding-block: clamp(48px, 7vw, 90px) clamp(32px, 4vw, 50px);
	text-align: center;
}
.dcb-vault-logo {
	display: block;
	width: clamp(120px, 14vw, 160px);
	height: auto;
	margin: 0 auto 22px;
}
.dcb-vault-hero .dcb-display {
	font-style: normal;
	font-size: clamp(30px, 4.4vw, 46px);
	line-height: 1.1;
	margin: 0 0 12px;
}
.dcb-vault-byline {
	font-family: var(--font-display);
	font-style: italic;
	color: var(--c-gold-d);
	font-size: clamp(16px, 2vw, 20px);
	margin: 0 0 4px;
}
.dcb-vault-sub {
	color: var(--c-text-mut);
	font-size: 15px;
	letter-spacing: .02em;
	margin: 0;
}
.dcb-vault-hero .dcb-rule { margin: 16px auto 0; }
.dcb-vault-portrait {
	width: clamp(160px, 22vw, 220px);
	aspect-ratio: 1 / 1;
	margin: 30px auto 0;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 14px 34px -14px rgba(42,37,32,.4);
}
.dcb-vault-portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }

.dcb-vault-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(28px, 4vw, 44px);
	max-width: 1040px;
	margin-inline: auto;
}
@media (min-width: 600px) { .dcb-vault-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 920px) { .dcb-vault-grid { grid-template-columns: 1fr 1fr 1fr; } }

.dcb-vault-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.dcb-vault-cover {
	display: block;
	width: 100%;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 16px 36px -16px rgba(42,37,32,.42);
	transition: transform var(--duration-base) var(--ease), box-shadow var(--duration-base) var(--ease);
}
.dcb-vault-cover img { width: 100%; height: auto; display: block; }
a.dcb-vault-cover:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 44px -16px rgba(42,37,32,.5);
}
.dcb-vault-dl { width: 100%; }
.dcb-vault-dl > span { display: inline-flex; align-items: center; gap: 8px; }
.dcb-vault-dl__icon { flex: none; }
/* Covers vary slightly in aspect ratio (mixed WP book graphics); pin each guide
   card's download button to the bottom so buttons line up across a row. */
.dcb-vault-card--guide { justify-content: flex-start; }
.dcb-vault-card--guide .dcb-vault-dl { margin-top: auto; }
.dcb-vault-quicklinks { margin-top: clamp(40px, 5vw, 56px); }

/* ============================================================
   Be Our Guest (page-be-our-guest.php)
   ============================================================ */
.dcb-guest-hero {
	position: relative;
	min-height: 460px;
	display: flex;
	align-items: center;
	text-align: center;
	color: #fff;
	background: linear-gradient(rgba(42,37,32,.55), rgba(42,37,32,.55)),
		url('../img/sections/be-our-guest-hero.jpg') center 45% / cover no-repeat;
}
.dcb-guest-hero__inner { width: 100%; }
.dcb-guest-hero .dcb-eyebrow { color: rgba(255,248,240,.9); margin-bottom: 14px; }
.dcb-guest-hero .dcb-display {
	color: #fff;
	font-style: normal;
	font-size: clamp(40px, 6vw, 68px);
	line-height: 1.04;
	margin: 0 0 16px;
}
.dcb-guest-hero__sub {
	color: #f7f5f2;
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.5;
	max-width: 620px;
	margin: 0 auto 28px;
}

.dcb-guest-body > h3 {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(20px, 2.4vw, 26px);
	color: var(--c-gold-d);
	margin: 34px 0 12px;
}
.dcb-guest-body > p { line-height: 1.7; margin-bottom: 16px; }
.dcb-guest-body .dcb-lead { margin-bottom: 26px; }
.dcb-guest-criteria {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: grid;
	gap: 16px;
}
.dcb-guest-criteria li {
	background: var(--c-cream);
	border-left: 4px solid var(--c-gold);
	border-radius: 10px;
	padding: 18px 22px;
	line-height: 1.65;
}
.dcb-guest-criteria li strong { color: var(--c-gold-d); }
.dcb-guest-cta {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}
.dcb-guest-formstub {
	text-align: center;
	color: var(--c-text-mut);
	line-height: 1.6;
	padding: 24px 8px;
}
.dcb-guest-formstub a { color: var(--c-gold-d); text-decoration: underline; }
/* Mobile: the two stacked CTA pills read as different sizes when they
   shrink-wrap their labels — stretch both to the same full width. */
@media (max-width: 600px) {
	.dcb-guest-cta { flex-direction: column; align-items: stretch; }
	.dcb-guest-cta .dcb-pill { width: 100%; }
}

/* -----------------------------------------------------------------------
   Group Program (page-group-program.php)
   ----------------------------------------------------------------------- */
.dcb-program-hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	text-align: center;
	color: #fff;
	background: linear-gradient(rgba(42,37,32,.5), rgba(42,37,32,.6)),
		url('../img/sections/group-program-hero.jpg') 68% 26% / cover no-repeat;
}
.dcb-program-hero__inner { width: 100%; }
.dcb-program-hero .dcb-eyebrow { color: rgba(255,248,240,.9); margin-bottom: 14px; }
.dcb-program-hero .dcb-display {
	color: #fff;
	font-style: normal;
	font-size: clamp(40px, 6vw, 68px);
	line-height: 1.04;
	margin: 0 0 16px;
}
.dcb-program-hero__sub {
	color: #f7f5f2;
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.55;
	max-width: 620px;
	margin: 0 auto 30px;
}

.dcb-program-body { text-align: center; }
.dcb-program-body .dcb-lead { margin-bottom: 18px; }
.dcb-program-body > p { line-height: 1.7; margin-bottom: 16px; }

.dcb-program-stats {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 44px 0 8px;
}
@media (min-width: 640px) { .dcb-program-stats { grid-template-columns: repeat(3, 1fr); } }
.dcb-program-stat {
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-card);
	padding: 28px 20px;
	text-align: center;
	box-shadow: 0 14px 30px -22px rgba(36,41,33,.35);
}
.dcb-program-stat__num {
	display: block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(44px, 6vw, 60px);
	line-height: 1;
	color: var(--c-gold);
	margin-bottom: 8px;
}
.dcb-program-stat__label {
	display: block;
	font-size: 14px;
	line-height: 1.5;
	color: var(--c-text-mut);
}

.dcb-program-includes {
	list-style: none;
	margin: 26px auto 0;
	padding: 0;
	max-width: 540px;
	display: grid;
	gap: 12px;
	text-align: left;
}
.dcb-program-includes li {
	position: relative;
	padding-left: 30px;
	line-height: 1.6;
	color: var(--c-text);
}
.dcb-program-includes li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--c-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 8.5 7 11l5-6'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.dcb-program-enroll { margin-top: 46px; }
.dcb-program-price {
	font-family: var(--font-display);
	margin: 0 0 20px;
	color: var(--c-text);
	line-height: 1;
}
.dcb-program-price__amt { font-size: clamp(38px, 5vw, 52px); font-weight: 700; }
.dcb-program-price__per { font-size: 18px; color: var(--c-text-mut); }
