/* =============================================================
   Boujee Pet Grooming School & Academy — Design system v2
   Single source of truth. Templates consume these classes only.
   ============================================================= */

/* ---------- 1. Tokens ----------------------------------------- */
:root {
	--boujee-ink:        #0E2A2F;
	--boujee-ink-700:    #13363D;
	--boujee-ink-500:    #1F4E58;
	--boujee-teal:       #1FB7C0;
	--boujee-teal-600:   #159BA3;
	--boujee-teal-700:   #05C2DE;
	--boujee-teal-50:    #E6F8F9;
	--boujee-gold:       #D4A24A;
	--boujee-gold-600:   #B98933;
	--boujee-gold-400:   #E5BB66;
	--boujee-gold-50:    #FBF3E1;
	--boujee-cream:      #FBF7EE;
	--boujee-coral:      #F08A6E;
	--boujee-stone-100:  #F2EDE3;
	--boujee-stone-200:  #E5DDCC;
	--boujee-stone-600:  #6B6657;

	--boujee-font-display: 'Fraunces', Georgia, serif;
	--boujee-font-sans:    'DM Sans', system-ui, sans-serif;
	--boujee-font-mono:    'JetBrains Mono', ui-monospace, monospace;

	--boujee-shadow-card:       0 1px 0 rgba(14,42,47,0.04), 0 12px 32px -12px rgba(14,42,47,0.18);
	--boujee-shadow-card-hover: 0 1px 0 rgba(14,42,47,0.06), 0 24px 48px -12px rgba(14,42,47,0.28);
	--boujee-shadow-gold:       0 12px 30px -8px rgba(212,162,74,0.45);

	--boujee-radius-sm:   12px;
	--boujee-radius-md:   18px;
	--boujee-radius-lg:   24px;
	--boujee-radius-pill: 999px;

	--boujee-ease: cubic-bezier(.22, .61, .36, 1);

	--boujee-container: 1280px;
	--boujee-gutter:    24px;
}

/* ---------- 2. Reset / base ----------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--boujee-font-sans);
	font-size: 16px;
	line-height: 1.6;
	color: var(--boujee-ink);
	background: var(--boujee-cream);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100vh;
	position: relative;
}
body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.04;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
	mix-blend-mode: multiply;
}
img, svg, picture { max-width: 100%; height: auto; display: block; }
a { color: var(--boujee-ink); text-decoration: none; transition: color .25s var(--boujee-ease); }
a:hover { color: var(--boujee-teal-700); }
hr { border: none; border-top: 1px solid var(--boujee-stone-200); margin: 32px 0; }

/* ---------- 3. Typography ------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--boujee-ink);
	margin: 0 0 0.5em;
	line-height: 1.15;
}
h1 { font-size: clamp(1.875rem, 4.2vw, 3rem); }
h2 { font-size: clamp(1.625rem, 3vw, 2.575rem); }
h3 { font-size: clamp(1.25rem, 1.9vw, 1.5rem); }
h4 { font-size: 1.125rem; }
h5 { font-size: 1rem; }
h6 { font-size: 0.9375rem; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.25em; }
li { margin-bottom: 0.35em; }
strong, b { font-weight: 700; }
em, i { font-style: italic; }
small { font-size: 0.875em; }
blockquote {
	margin: 1.5em 0;
	padding: 1em 1.25em;
	border-left: 3px solid var(--boujee-gold);
	font-family: var(--boujee-font-display);
	font-style: italic;
	font-size: 1.125rem;
	color: var(--boujee-ink-500);
}

.boujee-display {
	font-family: var(--boujee-font-display);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 0.96;
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

/* Italic accent — wrap one phrase per headline */
.boujee-italic {
	font-weight: 500;
	color: var(--boujee-teal-700);
}
.boujee-italic-gold {
	font-weight: 500;
	color: var(--boujee-gold);
}

/* Eyebrow label (mono, uppercase, with hairline) */
.boujee-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: var(--boujee-font-mono);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-eyebrow::before {
	content: "";
	display: inline-block;
	width: 28px;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
}
.boujee-eyebrow-gold { color: var(--boujee-gold); }
.boujee-eyebrow-gold::before { background: var(--boujee-gold); opacity: 0.8; }
.boujee-eyebrow-cream { color: rgba(251,247,238,0.85); }

/* ---------- 4. Layout primitives ------------------------------ */
.boujee-container {
	width: 100%;
	max-width: var(--boujee-container);
	margin: 0 auto;
	padding: 0 var(--boujee-gutter);
	position: relative;
	z-index: 1;
}
.boujee-container-narrow { max-width: 880px; }

.boujee-section {
	position: relative;
	isolation: isolate;
	padding: clamp(64px, 8vw, 120px) 0;
}
.boujee-section > * { position: relative; z-index: 1; }
.boujee-section-tight { padding: clamp(48px, 5vw, 80px) 0; }
/* Subtle 64px gold hairline on light sections that follow a dark
   section — softens the high-contrast bounce between zones. */
.boujee-section-ink + .boujee-section-cream::before,
.boujee-section-ink + .boujee-section-stone::before,
.boujee-section-ink + .boujee-section-white::before,
.boujee-hero + .boujee-section-cream::before,
.boujee-hero + .boujee-section-stone::before,
.boujee-page-hero + .boujee-section-cream::before,
.boujee-page-hero + .boujee-section-stone::before,
.boujee-page-hero + .boujee-section-white::before {
	content: "";
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 64px; height: 2px;
	background: var(--boujee-gold);
	border-radius: 2px;
	z-index: 2;
	pointer-events: none;
}
.boujee-section-cream  { background: var(--boujee-cream); }
.boujee-section-stone  { background: var(--boujee-stone-100); }
.boujee-section-white  { background: #ffffff; }
.boujee-section-ink    { background: var(--boujee-ink); color: var(--boujee-cream); }
.boujee-section-ink h1, .boujee-section-ink h2, .boujee-section-ink h3,
.boujee-section-ink h4, .boujee-section-ink h5, .boujee-section-ink h6 { color: var(--boujee-cream); }
.boujee-section-ink .boujee-eyebrow { color: rgba(251,247,238,0.75); }
.boujee-section-ink .boujee-eyebrow::before { background: var(--boujee-gold); opacity: 0.8; }

.boujee-grid { display: grid; gap: 24px; }
.boujee-grid-2 { grid-template-columns: 1fr; }
.boujee-grid-3 { grid-template-columns: 1fr; }
.boujee-grid-4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) {
	.boujee-grid-2 { grid-template-columns: repeat(2, 1fr); gap: 32px; }
	.boujee-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 28px; }
}
@media (min-width: 1024px) {
	.boujee-grid-4 { grid-template-columns: repeat(4, 1fr); gap: 32px; }
}

.boujee-section-header { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.boujee-section-header .boujee-eyebrow { justify-content: center; }
.boujee-section-header h2 { margin-top: 16px; }
.boujee-section-header p  { margin-top: 10px; color: var(--boujee-ink-500); font-size: 1rem; line-height: 1.6; }
.boujee-section-ink .boujee-section-header p { color: rgba(251,247,238,0.78); }

/* ---------- 5. Buttons ---------------------------------------- */
.boujee-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 28px;
	font-family: var(--boujee-font-sans);
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1;
	border-radius: var(--boujee-radius-pill);
	border: 1px solid transparent;
	cursor: pointer;
	white-space: nowrap;
	transition: transform .3s var(--boujee-ease), box-shadow .3s var(--boujee-ease),
	            background-color .25s var(--boujee-ease), color .25s var(--boujee-ease),
	            border-color .25s var(--boujee-ease);
}
.boujee-btn:hover { transform: translateY(-1px); }
.boujee-btn:focus-visible { outline: 2px solid var(--boujee-gold); outline-offset: 2px; }
.boujee-btn-lg { padding: 18px 32px; font-size: 1rem; }
.boujee-btn-sm { padding: 10px 20px; font-size: 0.8125rem; }

/* Primary button — gold bg with WHITE text by default, flips to
   ink (#0E2A2F) bg with WHITE text on hover. Same behavior in every
   context (light or dark sections) for a single consistent micro-
   interaction. Text stays white in both states so legibility never
   wavers. */
.boujee-btn-primary {
	background: var(--boujee-gold);
	color: #ffffff;
	border-color: var(--boujee-gold);
	box-shadow: var(--boujee-shadow-gold);
}
.boujee-btn-primary:hover,
.boujee-btn-primary:focus-visible {
	background: var(--boujee-ink);
	color: #ffffff;
	border-color: var(--boujee-ink);
	box-shadow: 0 18px 38px -10px rgba(14, 42, 47, 0.30);
}
/* SVG icons inherit currentColor so they stay white in both states. */
.boujee-btn-primary svg { transition: color .25s var(--boujee-ease); }

.boujee-btn-dark {
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	box-shadow: var(--boujee-shadow-card);
}
.boujee-btn-dark:hover { background: var(--boujee-ink-700); color: var(--boujee-cream); }

.boujee-btn-outline {
	background: transparent;
	color: var(--boujee-ink);
	border-color: var(--boujee-ink);
}
.boujee-btn-outline:hover { background: var(--boujee-ink); color: var(--boujee-cream); }

.boujee-btn-ghost-light {
	background: rgba(251,247,238,0.08);
	color: var(--boujee-cream);
	border-color: rgba(251,247,238,0.35);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.boujee-btn-ghost-light:hover { background: rgba(251,247,238,0.18); color: var(--boujee-cream); }

.boujee-btn-icon { display: inline-flex; width: 1em; height: 1em; }

/* ---------- 6. Section overlays (image-backed) ----------------- */
.boujee-overlay-hero,
.boujee-overlay-vignette,
.boujee-overlay-deep {
	position: relative;
	isolation: isolate;
	color: var(--boujee-cream);
	background-size: cover;
	background-position: center;
}
.boujee-overlay-hero h1, .boujee-overlay-hero h2, .boujee-overlay-hero h3,
.boujee-overlay-vignette h1, .boujee-overlay-vignette h2, .boujee-overlay-vignette h3,
.boujee-overlay-deep h1, .boujee-overlay-deep h2, .boujee-overlay-deep h3 {
	color: var(--boujee-cream);
}
.boujee-overlay-hero::before,
.boujee-overlay-vignette::before,
.boujee-overlay-deep::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.boujee-overlay-hero::before {
	background:
		linear-gradient(180deg, transparent 50%, rgba(14,42,47,0.65) 78%, rgba(14,42,47,0.85) 100%),
		radial-gradient(circle at 20% 50%, rgba(31,183,192,0.22) 0%, rgba(31,183,192,0) 50%),
		linear-gradient(105deg, rgba(14,42,47,0.9) 0%, rgba(14,42,47,0.72) 38%, rgba(14,42,47,0.32) 65%, rgba(14,42,47,0.08) 90%);
}
.boujee-overlay-vignette::before {
	background: linear-gradient(180deg, rgba(14,42,47,0.7) 0%, rgba(14,42,47,0.25) 35%, rgba(14,42,47,0.25) 65%, rgba(14,42,47,0.75) 100%);
}
.boujee-overlay-deep::before { background: rgba(14,42,47,0.62); }
.boujee-overlay-hero > *,
.boujee-overlay-vignette > *,
.boujee-overlay-deep > * { position: relative; z-index: 1; }
@media (max-width: 1024px) {
	.boujee-overlay-hero::before {
		background: linear-gradient(180deg, rgba(14,42,47,0.78) 0%, rgba(14,42,47,0.45) 40%, rgba(14,42,47,0.45) 60%, rgba(14,42,47,0.85) 100%);
	}
}

/* ---------- 7. Hero --------------------------------------------- */
.boujee-hero {
	min-height: clamp(640px, 92vh, 880px);
	display: flex;
	align-items: flex-end;
	padding: 0;
	background:
		radial-gradient(circle at 20% 50%, rgba(31,183,192,0.35) 0%, rgba(31,183,192,0) 50%),
		linear-gradient(135deg, var(--boujee-ink-700) 0%, var(--boujee-ink) 50%, var(--boujee-teal-700) 140%);
	background-size: cover;
	background-position: center;
}
.boujee-hero .boujee-container { padding-top: 120px; padding-bottom: 56px; }
.boujee-hero-eyebrow { color: rgba(251,247,238,0.85); }
.boujee-hero-title {
	font-family: var(--boujee-font-display);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1;
	font-size: clamp(2.25rem, 5.2vw, 4.5rem);
	color: var(--boujee-cream);
	margin: 18px 0 24px;
	max-width: 18ch;
}
.boujee-hero-sub {
	max-width: 56ch;
	color: rgba(251,247,238,0.85);
	font-size: 1rem;
	margin: 0 0 32px;
}
.boujee-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.boujee-hero-sticker {
	position: absolute;
	right: clamp(16px, 4vw, 56px);
	top: clamp(120px, 18vh, 200px);
	width: clamp(120px, 14vw, 180px);
	height: clamp(120px, 14vw, 180px);
	border-radius: 50%;
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	display: grid;
	place-items: center;
	text-align: center;
	font-family: var(--boujee-font-display);
	font-style: italic;
	font-weight: 600;
	font-size: 0.9375rem;
	padding: 18px;
	box-shadow: var(--boujee-shadow-gold);
	transform: rotate(-8deg);
	z-index: 2;
}
@media (max-width: 768px) { .boujee-hero-sticker { display: none; } }

/* ---------- 8. Stat strip --------------------------------------- */
/* Auto-sizes to whatever number of .boujee-stat children are present.
   Hero currently ships 3; was 4 before salary stat was removed. */
.boujee-stat-strip {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	background: rgba(251,247,238,0.22);
	border: 1px solid rgba(251,247,238,0.22);
	border-radius: var(--boujee-radius-md);
	overflow: hidden;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	margin-top: 32px;
}
@media (min-width: 560px) {
	.boujee-stat-strip { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
	.boujee-stat-strip { grid-template-columns: repeat(var(--boujee-stat-cols, 3), 1fr); }
}
.boujee-stat {
	background: rgba(14,42,47,0.78);
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.boujee-stat-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px; height: 30px;
	background: rgba(212,162,74,0.18);
	color: var(--boujee-gold);
	border-radius: 50%;
	margin-bottom: 2px;
}
.boujee-stat-value {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.875rem;
	color: var(--boujee-cream);
	line-height: 1;
}
.boujee-stat-accent { color: var(--boujee-gold); }
.boujee-stat-label {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(251,247,238,0.6);
}
.boujee-stat-strip-source {
	margin: 12px 0 0;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(251,247,238,0.5);
	text-align: right;
}
.boujee-stat-strip-source a {
	color: rgba(251,247,238,0.7);
	border-bottom: 1px solid rgba(251,247,238,0.3);
	padding-bottom: 1px;
}
.boujee-stat-strip-source a:hover {
	color: var(--boujee-gold);
	border-bottom-color: var(--boujee-gold);
}

/* ---------- 9. Cards ------------------------------------------- */
.boujee-card {
	position: relative;
	display: flex;
	flex-direction: column;
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	box-shadow: var(--boujee-shadow-card);
	transition: transform .35s var(--boujee-ease), box-shadow .35s var(--boujee-ease);
}
.boujee-card:hover { transform: translateY(-4px); box-shadow: var(--boujee-shadow-card-hover); }
.boujee-card-light { background: var(--boujee-cream); border: 1px solid rgba(14,42,47,0.08); }
.boujee-card-dark  { background: var(--boujee-ink); color: var(--boujee-cream); }
.boujee-card-dark h1, .boujee-card-dark h2, .boujee-card-dark h3,
.boujee-card-dark h4, .boujee-card-dark p { color: var(--boujee-cream); }
.boujee-card-stone { background: var(--boujee-stone-100); border: 1px solid var(--boujee-stone-200); }
.boujee-card-body { padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 14px; flex: 1; }
.boujee-card-media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--boujee-stone-100); }
.boujee-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--boujee-ease); }
.boujee-card:hover .boujee-card-media img { transform: scale(1.04); }
.boujee-card-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	padding: 6px 14px;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border-radius: var(--boujee-radius-pill);
	z-index: 2;
}
.boujee-card-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font-family: var(--boujee-font-mono);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	transition: gap .3s var(--boujee-ease);
}
.boujee-card:hover .boujee-card-arrow { gap: 14px; }

/* ---------- 10. Process numbers (How It Works) ----------------- */
.boujee-process-row {
	position: relative;
	display: grid;
	gap: 32px;
	grid-template-columns: 1fr;
}
@media (min-width: 768px) {
	.boujee-process-row { grid-template-columns: repeat(3, 1fr); gap: 28px; }
	.boujee-process-row::before {
		content: "";
		position: absolute;
		top: 80px;
		left: 16%;
		right: 16%;
		height: 0;
		border-top: 2px dashed rgba(212,162,74,0.4);
		z-index: 0;
	}
}
.boujee-process-step {
	position: relative;
	z-index: 1;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: 56px 28px 32px;
	box-shadow: var(--boujee-shadow-card);
}
.boujee-process-number {
	position: absolute;
	top: -24px;
	left: 24px;
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 4.5rem;
	line-height: 1;
	color: rgba(212,162,74,0.3);
	pointer-events: none;
}
.boujee-process-step h3 { margin: 0 0 8px; }

/* ---------- 11. Pills ------------------------------------------ */
.boujee-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 500;
	border-radius: var(--boujee-radius-pill);
}
.boujee-pill-teal  { background: var(--boujee-teal-50);  color: var(--boujee-teal-700); }
.boujee-pill-gold  { background: var(--boujee-gold-50);  color: var(--boujee-gold-600); }
.boujee-pill-coral { background: rgba(240,138,110,0.15); color: #B95A3F; }
.boujee-pill-ink   { background: rgba(14,42,47,0.08);    color: var(--boujee-ink); }

/* ---------- 12. Marquee ---------------------------------------- */
.boujee-marquee {
	overflow: hidden;
	border-block: 1px solid var(--boujee-stone-200);
	background: var(--boujee-cream);
	padding: 22px 0;
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.boujee-marquee-track {
	display: flex;
	gap: 56px;
	width: max-content;
	animation: boujee-marquee 38s linear infinite;
}
.boujee-marquee-item {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: var(--boujee-font-mono);
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	white-space: nowrap;
}
.boujee-marquee-item::before {
	content: "★";
	color: var(--boujee-gold);
	font-size: 10px;
}
@keyframes boujee-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.boujee-marquee-track { animation: none; }
}

/* ---------- 13. FAQ accordion ---------------------------------- */
.boujee-faq { max-width: 880px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.boujee-faq details {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	overflow: hidden;
	transition: box-shadow .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-faq details[open] { box-shadow: var(--boujee-shadow-card); border-color: rgba(14,42,47,0.18); }
.boujee-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 56px 22px 24px;
	position: relative;
	font-family: var(--boujee-font-display);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--boujee-ink);
}
.boujee-faq summary::-webkit-details-marker { display: none; }
.boujee-faq summary::after {
	content: "+";
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--boujee-font-display);
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--boujee-gold);
	transition: transform .3s var(--boujee-ease);
}
.boujee-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.boujee-faq-body {
	padding: 0 24px 24px;
	color: var(--boujee-ink-500);
	font-size: 1rem;
	line-height: 1.65;
}

/* ---------- 14. Pricing tier cards ----------------------------- */
.boujee-tier {
	display: flex;
	flex-direction: column;
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	box-shadow: var(--boujee-shadow-card);
	transition: transform .35s var(--boujee-ease), box-shadow .35s var(--boujee-ease);
}
.boujee-tier:hover { transform: translateY(-4px); box-shadow: var(--boujee-shadow-card-hover); }
.boujee-tier-light { background: var(--boujee-cream); border: 1px solid var(--boujee-stone-200); }
.boujee-tier-featured { background: var(--boujee-ink); color: var(--boujee-cream); }
.boujee-tier-featured h3, .boujee-tier-featured h4, .boujee-tier-featured p { color: var(--boujee-cream); }
.boujee-tier-header {
	aspect-ratio: 16 / 7;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, var(--boujee-teal-50), var(--boujee-stone-100));
	position: relative;
}
.boujee-tier-featured .boujee-tier-header { background: linear-gradient(135deg, var(--boujee-ink-500), var(--boujee-ink-700)); }
.boujee-tier-icon {
	width: 110px; height: 110px;
	border-radius: 50%;
	display: grid; place-items: center;
	background: var(--boujee-cream);
	color: var(--boujee-ink);
	box-shadow: var(--boujee-shadow-card);
	font-family: var(--boujee-font-display);
	font-size: 2.25rem;
	font-weight: 600;
}
.boujee-tier-featured .boujee-tier-icon { background: var(--boujee-gold); color: var(--boujee-ink); }
.boujee-tier-body { padding: 32px 28px; display: flex; flex-direction: column; gap: 18px; flex: 1; }
.boujee-tier-title { margin: 0; font-size: 1.625rem; }
.boujee-tier-desc { margin: 0; color: var(--boujee-ink-500); }
.boujee-tier-featured .boujee-tier-desc { color: rgba(251,247,238,0.78); }
.boujee-tier-features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.boujee-tier-features li {
	position: relative;
	padding-left: 28px;
	margin: 0;
	color: var(--boujee-ink);
	font-size: 0.9375rem;
}
.boujee-tier-featured .boujee-tier-features li { color: var(--boujee-cream); }
.boujee-tier-features li::before {
	content: "";
	position: absolute;
	left: 0; top: 4px;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: var(--boujee-teal-50);
}
.boujee-tier-features li::after {
	content: "";
	position: absolute;
	left: 5px; top: 9px;
	width: 8px; height: 4px;
	border-left: 2px solid var(--boujee-teal-700);
	border-bottom: 2px solid var(--boujee-teal-700);
	transform: rotate(-45deg);
}
.boujee-tier-featured .boujee-tier-features li::before { background: rgba(212,162,74,0.2); }
.boujee-tier-featured .boujee-tier-features li::after { border-color: var(--boujee-gold); }
.boujee-tier-footer {
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid var(--boujee-stone-200);
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.boujee-tier-featured .boujee-tier-footer { border-top-color: rgba(251,247,238,0.18); }
.boujee-tier-price {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.875rem;
	color: var(--boujee-ink);
}
.boujee-tier-featured .boujee-tier-price { color: var(--boujee-gold); }
.boujee-tier-badge {
	position: absolute;
	top: 18px; right: 18px;
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	padding: 6px 14px;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border-radius: var(--boujee-radius-pill);
}

/* ---------- 15. Header / utility bar --------------------------- */
.boujee-utility-bar {
	background: var(--boujee-ink);
	color: rgba(251,247,238,0.9);
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.boujee-utility-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	height: 40px;
}
.boujee-utility-bar a { color: inherit; }
.boujee-utility-bar a:hover { color: var(--boujee-gold); }
.boujee-utility-left, .boujee-utility-right { display: flex; align-items: center; gap: 18px; }
.boujee-utility-bar .boujee-utility-divider { opacity: 0.35; }
.boujee-utility-bilingual {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--boujee-gold);
	font-weight: 500;
}
@media (max-width: 768px) { .boujee-utility-left { display: none; } }

/* Language switcher floater — bottom-right pill, mirrors the FL DOE
   badge on the bottom-left. Uses the same cookie/localStorage toggle
   logic as the previous header switcher. */
.boujee-lang-floater {
	position: fixed;
	bottom: 18px;
	right: 18px;
	z-index: 30;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 8px 6px 14px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-pill);
	box-shadow: 0 8px 22px -10px rgba(14,42,47,0.28);
	transition: transform .25s var(--boujee-ease),
	            box-shadow .25s var(--boujee-ease),
	            border-color .25s var(--boujee-ease);
}
.boujee-lang-floater:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px -10px rgba(14,42,47,0.36);
	border-color: rgba(212,162,74,0.55);
}
.boujee-lang-floater-icon {
	font-size: 14px;
	line-height: 1;
	margin-right: 2px;
	opacity: 0.7;
}
.boujee-lang-btn {
	background: transparent;
	border: none;
	color: var(--boujee-ink-500);
	padding: 6px 12px;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.18em;
	border-radius: var(--boujee-radius-pill);
	cursor: pointer;
	transition: background .25s var(--boujee-ease), color .25s var(--boujee-ease);
}
.boujee-lang-btn:hover { color: var(--boujee-ink); }
.boujee-lang-btn.is-active {
	background: var(--boujee-gold);
	color: var(--boujee-ink);
}
.boujee-lang-btn:focus-visible {
	outline: 2px solid var(--boujee-gold);
	outline-offset: 2px;
}
@media (max-width: 768px) {
	.boujee-lang-floater { bottom: 14px; right: 14px; padding: 4px 6px 4px 10px; }
	.boujee-lang-floater-icon { display: none; }
}
/* Hide on single-program pages (sticky enroll bar takes the bottom). */
.single-program .boujee-lang-floater { display: none; }

/* Mobile-only floating call button — bottom-left where FL DOE sits on
   desktop. On phones, FL DOE is hidden so this slot is free. Hidden
   on single-program (sticky enroll covers) and on desktop. */
.boujee-mobile-call {
	display: none;
	position: fixed;
	bottom: 14px;
	left: 14px;
	z-index: 30;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	border-radius: var(--boujee-radius-pill);
	box-shadow: 0 12px 28px -10px rgba(212,162,74,0.55);
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease), background .25s var(--boujee-ease);
}
.boujee-mobile-call-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--boujee-ink);
}
.boujee-mobile-call:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 36px -10px rgba(212,162,74,0.7);
	color: var(--boujee-ink);
}
@media (max-width: 768px) { .boujee-mobile-call { display: inline-flex; } }
.single-program .boujee-mobile-call { display: none !important; }

/* Aggressively hide the Google Translate default UI. Google injects an
   iframe banner at the top of the page when translation is active and
   sets `body { top: 40px }` inline — we override both. The class on
   the banner iframe is sometimes hash-obfuscated, so we target by name
   attribute, src, and class as a belt-and-braces approach.
   The JS in main.js also removes the banner iframe from the DOM on
   each mutation cycle as the final fallback. */
#boujee-google-translate { display: none !important; }
iframe.goog-te-banner-frame,
iframe.goog-te-banner-frame.skiptranslate,
.goog-te-banner-frame,
iframe[name="banner"][src*="translate.google.com"],
iframe[id*=":1.container"],
iframe.VIpgJd-ZVi9od-ORHb-OEVmcd {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	border: 0 !important;
	position: absolute !important;
	top: -9999px !important;
	pointer-events: none !important;
}
.goog-te-gadget-icon,
.goog-te-spinner-pos { display: none !important; }
.goog-te-gadget { font-size: 0 !important; height: 0 !important; }
body,
body.translated-ltr,
body.translated-rtl {
	top: 0 !important;
	position: static !important;
	margin-top: 0 !important;
}
html.translated-ltr,
html.translated-rtl,
html.translated-ltr body,
html.translated-rtl body {
	margin-top: 0 !important;
	top: 0 !important;
}
.goog-tooltip, .goog-tooltip:hover { display: none !important; }
.goog-text-highlight {
	background-color: transparent !important;
	box-shadow: none !important;
}

/* First-visit Spanish suggestion banner — bottom-right slide-in.
   `hidden` attribute respected so the banner can never block content. */
.boujee-lang-suggest[hidden] { display: none !important; }
.boujee-lang-suggest {
	position: fixed;
	bottom: 90px;
	right: 18px;
	z-index: 60;
	max-width: 360px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-left: 4px solid var(--boujee-gold);
	border-radius: var(--boujee-radius-md);
	box-shadow: 0 18px 40px -12px rgba(14,42,47,0.32);
	transform: translateY(20px);
	opacity: 0;
	pointer-events: none;
	transition: transform .35s var(--boujee-ease), opacity .25s var(--boujee-ease);
}
.boujee-lang-suggest.is-visible { pointer-events: auto; }
.boujee-lang-suggest.is-visible { transform: translateY(0); opacity: 1; }
.boujee-lang-suggest-inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	position: relative;
}
.boujee-lang-suggest-icon { font-size: 24px; line-height: 1; }
.boujee-lang-suggest-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.boujee-lang-suggest-text strong {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1rem;
	color: var(--boujee-ink);
}
.boujee-lang-suggest-text span {
	font-size: 0.8125rem;
	color: var(--boujee-ink-500);
}
.boujee-lang-suggest-dismiss {
	position: absolute;
	top: 6px; right: 8px;
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--boujee-ink-500);
	font-size: 18px;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 50%;
}
.boujee-lang-suggest-dismiss:hover { background: var(--boujee-stone-100); color: var(--boujee-ink); }
@media (max-width: 480px) {
	.boujee-lang-suggest { left: 12px; right: 12px; bottom: 80px; max-width: none; }
}

.boujee-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(251,247,238,0.85);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(14,42,47,0.06);
}
.boujee-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	height: 80px;
}
.boujee-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	color: var(--boujee-ink);
}
.boujee-brand img { max-height: 48px; width: auto; }
.boujee-nav { display: none; }
.boujee-nav > ul {
	display: flex;
	align-items: center;
	gap: 28px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.boujee-nav > ul > li {
	position: relative;
	margin: 0;
}
.boujee-nav a {
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--boujee-ink);
	position: relative;
}
.boujee-nav a:hover { color: var(--boujee-teal-700); }
.boujee-nav .current-menu-item > a { color: var(--boujee-teal-700); }

/* Parent items with a submenu get a small chevron */
.boujee-nav .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	margin-left: 6px;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid currentColor;
	transform: translateY(-1px);
	transition: transform .25s var(--boujee-ease);
	opacity: 0.6;
}
.boujee-nav .menu-item-has-children:hover > a::after,
.boujee-nav .menu-item-has-children:focus-within > a::after {
	transform: translateY(1px) rotate(180deg);
	opacity: 1;
}

/* Submenu — absolute-positioned dropdown on hover/focus */
.boujee-nav ul ul {
	display: block;
	position: absolute;
	top: calc(100% + 12px);
	left: -16px;
	min-width: 240px;
	padding: 8px;
	margin: 0;
	list-style: none;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	box-shadow: var(--boujee-shadow-card-hover);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .25s var(--boujee-ease),
	            visibility 0s linear .25s,
	            transform .25s var(--boujee-ease);
	z-index: 60;
}
/* Hover bridge — invisible buffer between parent and dropdown so the
   dropdown doesn't close when the cursor crosses the gap. */
.boujee-nav ul ul::before {
	content: "";
	position: absolute;
	top: -12px; left: 0; right: 0; height: 12px;
}
.boujee-nav ul li:hover > ul,
.boujee-nav ul li:focus-within > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity .25s var(--boujee-ease),
	            visibility 0s linear 0s,
	            transform .25s var(--boujee-ease);
}
.boujee-nav ul ul li {
	margin: 0;
	display: block;
}
.boujee-nav ul ul a {
	display: block;
	padding: 10px 16px;
	font-family: var(--boujee-font-display);
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--boujee-ink);
	border-radius: var(--boujee-radius-sm);
	transition: background .2s var(--boujee-ease), color .2s var(--boujee-ease);
}
.boujee-nav ul ul a:hover,
.boujee-nav ul ul a:focus-visible {
	background: var(--boujee-stone-100);
	color: var(--boujee-teal-700);
}
.boujee-nav ul ul .current-menu-item > a {
	background: var(--boujee-stone-100);
	color: var(--boujee-teal-700);
}

@media (min-width: 1024px) {
	.boujee-nav { display: block; }
}
.boujee-header-actions { display: flex; align-items: center; gap: 12px; }
.boujee-header-tel { display: none; font-weight: 600; font-size: 0.9375rem; }
@media (min-width: 768px) { .boujee-header-tel { display: inline-flex; align-items: center; gap: 6px; } }
.boujee-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	background: transparent;
	border: 1px solid rgba(14,42,47,0.18);
	border-radius: var(--boujee-radius-pill);
	cursor: pointer;
	color: var(--boujee-ink);
}
@media (min-width: 1024px) { .boujee-menu-toggle { display: none; } }

.boujee-search-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	background: transparent;
	border: 1px solid rgba(14,42,47,0.18);
	border-radius: 50%;
	cursor: pointer;
	color: var(--boujee-ink);
	transition: background .25s var(--boujee-ease), border-color .25s var(--boujee-ease), color .25s var(--boujee-ease);
}
.boujee-search-toggle:hover {
	background: var(--boujee-ink);
	border-color: var(--boujee-ink);
	color: var(--boujee-cream);
}
@media (min-width: 1024px) { .boujee-search-toggle { display: inline-flex; } }

/* Search overlay — full-screen modal opened by header search icon.
   CRITICAL: must respect the `hidden` attribute. The class-level
   `display: grid` outranks `[hidden]` on specificity, so we add an
   explicit `[hidden]` rule + pointer-events fallback to prevent the
   transparent overlay from blocking clicks site-wide when closed. */
.boujee-search-overlay[hidden] { display: none !important; }
.boujee-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 70;
	background: rgba(14,42,47,0.92);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	display: grid;
	place-items: center;
	padding: 24px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s var(--boujee-ease);
}
.boujee-search-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}
.boujee-search-overlay-inner {
	width: 100%;
	max-width: 640px;
	position: relative;
}
.boujee-search-overlay-close {
	position: absolute;
	top: -56px; right: 0;
	background: rgba(251,247,238,0.1);
	border: 1px solid rgba(251,247,238,0.2);
	color: var(--boujee-cream);
	width: 44px; height: 44px;
	border-radius: 50%;
	cursor: pointer;
	display: grid; place-items: center;
	transition: background .25s var(--boujee-ease);
}
.boujee-search-overlay-close:hover { background: rgba(251,247,238,0.2); }
.boujee-search-overlay-stage { text-align: center; }
.boujee-search-overlay-stage .boujee-eyebrow { justify-content: center; color: var(--boujee-gold); }
.boujee-search-overlay-title {
	color: var(--boujee-cream);
	font-family: var(--boujee-font-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	letter-spacing: -0.02em;
	margin: 14px 0 32px;
}
.boujee-search-overlay-form {
	display: flex;
	gap: 8px;
	background: rgba(251,247,238,0.06);
	border: 1px solid rgba(251,247,238,0.2);
	padding: 8px;
	border-radius: var(--boujee-radius-pill);
}
.boujee-search-overlay-form input[type="search"] {
	flex: 1 1 auto;
	background: transparent;
	border: none;
	color: var(--boujee-cream);
	font-family: var(--boujee-font-sans);
	font-size: 1rem;
	padding: 12px 16px;
	min-height: 0;
}
.boujee-search-overlay-form input[type="search"]::placeholder { color: rgba(251,247,238,0.5); }
.boujee-search-overlay-form input[type="search"]:focus { outline: none; box-shadow: none; }
.boujee-search-overlay-form .boujee-btn { flex: 0 0 auto; }
.boujee-search-overlay-quick {
	margin-top: 28px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px 16px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.boujee-search-overlay-quick-label {
	color: rgba(251,247,238,0.5);
	margin-right: 6px;
}
.boujee-search-overlay-quick a {
	color: var(--boujee-gold);
	border-bottom: 1px solid transparent;
	padding-bottom: 1px;
	transition: color .25s, border-color .25s;
}
.boujee-search-overlay-quick a:hover {
	color: var(--boujee-cream);
	border-bottom-color: var(--boujee-cream);
}

.boujee-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 60;
	background: var(--boujee-cream);
	transform: translateX(100%);
	transition: transform .35s var(--boujee-ease);
	display: flex;
	flex-direction: column;
	padding: 24px;
	overflow-y: auto;
}
.boujee-mobile-menu[data-open="true"] { transform: translateX(0); }
.boujee-mobile-menu-head { display: flex; justify-content: space-between; align-items: center; }
.boujee-mobile-menu nav ul {
	list-style: none;
	padding: 0;
	margin: 32px 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.boujee-mobile-menu nav a {
	display: block;
	padding: 14px 4px;
	font-family: var(--boujee-font-display);
	font-size: 1.5rem;
	border-bottom: 1px solid rgba(14,42,47,0.08);
}
/* Nested submenu in mobile menu — indented and slightly smaller */
.boujee-mobile-menu nav ul ul {
	list-style: none;
	padding-left: 20px;
	margin: 0 0 4px;
	border-left: 2px solid rgba(212,162,74,0.35);
}
.boujee-mobile-menu nav ul ul li { margin: 0; }
.boujee-mobile-menu nav ul ul a {
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--boujee-ink-500);
	padding: 10px 4px;
	border-bottom: 1px dashed rgba(14,42,47,0.06);
}
.boujee-mobile-menu nav ul ul li:last-child a { border-bottom: none; }
.boujee-mobile-menu-actions { margin-top: auto; display: flex; flex-direction: column; gap: 12px; }

/* ---------- 16. Footer (cream 5-column generic) ---------------- */
.boujee-footer {
	background: var(--boujee-cream);
	color: var(--boujee-ink);
	border-top: 1px solid var(--boujee-stone-200);
	padding: clamp(64px, 8vw, 96px) 0 24px;
}
.boujee-footer a {
	color: var(--boujee-ink);
	transition: color .25s var(--boujee-ease);
}
.boujee-footer a:hover { color: var(--boujee-teal-700); }

.boujee-footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	margin-bottom: 48px;
}
@media (min-width: 768px) {
	.boujee-footer-grid { grid-template-columns: repeat(2, 1fr); gap: 48px 32px; }
}
@media (min-width: 1024px) {
	.boujee-footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 56px 40px; }
}

/* ---------- 16b. Info cards (Visit / Hours / Email) ---------- */
.boujee-info-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin-top: clamp(40px, 6vw, 64px);
}
@media (min-width: 768px) {
	.boujee-info-cards { grid-template-columns: repeat(3, 1fr); }
}
.boujee-info-card {
	background: var(--boujee-stone-100);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	padding: 24px 28px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	text-align: center;
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-info-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--boujee-shadow-card);
	border-color: rgba(212,162,74,0.5);
}
.boujee-info-card-icon {
	width: 40px; height: 40px;
	display: grid; place-items: center;
	background: var(--boujee-gold-50);
	color: var(--boujee-gold-600);
	border-radius: 50%;
	margin-bottom: 4px;
}
.boujee-info-card-label {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--boujee-ink);
	letter-spacing: -0.005em;
}
.boujee-info-card-detail {
	color: var(--boujee-ink-500);
	font-size: 0.9375rem;
	line-height: 1.55;
	margin: 0;
}
.boujee-info-card-detail a {
	color: var(--boujee-ink);
	border-bottom: 1px solid transparent;
	padding-bottom: 1px;
	transition: color .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-info-card-detail a:hover {
	color: var(--boujee-teal-700);
	border-bottom-color: currentColor;
}
.boujee-info-card-cta {
	display: inline-block;
	margin-top: 8px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-teal-700);
}
.boujee-info-card-cta:hover { color: var(--boujee-teal-600); }

/* ---------- 16d. Sticky FL DOE badge (bottom-left, every page) - */
a.boujee-fldoe-badge {
	position: fixed;
	bottom: 18px;
	left: 18px;
	z-index: 30;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-pill);
	color: var(--boujee-ink);
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	box-shadow: 0 8px 22px -10px rgba(14,42,47,0.28);
	transition: transform .25s var(--boujee-ease),
	            box-shadow .25s var(--boujee-ease),
	            border-color .25s var(--boujee-ease),
	            background .25s var(--boujee-ease);
}
a.boujee-fldoe-badge .boujee-fldoe-badge-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--boujee-gold);
	flex: 0 0 auto;
}
a.boujee-fldoe-badge:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px -10px rgba(14,42,47,0.36);
	border-color: rgba(212,162,74,0.55);
	background: #ffffff;
	color: var(--boujee-ink);
}
@media (max-width: 768px) {
	a.boujee-fldoe-badge { display: none; }
}
/* On single-program pages the sticky enroll bar pins to the bottom —
   hide the badge to avoid stacking. */
.single-program a.boujee-fldoe-badge { display: none; }

/* ---------- 16c. Footer FL Dept of Education license block ---- */
.boujee-footer-license {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	align-items: center;
	margin-bottom: clamp(48px, 6vw, 72px);
	padding: clamp(28px, 4vw, 36px) clamp(28px, 4vw, 40px);
	background: #ffffff;
	border: 2px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	border-left: 6px solid var(--boujee-gold);
	box-shadow: 0 12px 32px -16px rgba(14,42,47,0.18);
	transition: border-color .25s var(--boujee-ease),
	            background .25s var(--boujee-ease),
	            box-shadow .25s var(--boujee-ease),
	            transform .25s var(--boujee-ease);
}
.boujee-footer-license:hover {
	border-color: rgba(212,162,74,0.55);
	border-left-color: var(--boujee-gold);
	box-shadow: 0 18px 40px -16px rgba(14,42,47,0.28);
	transform: translateY(-1px);
}
@media (min-width: 768px) {
	.boujee-footer-license { grid-template-columns: auto 1fr auto; gap: 28px; }
}
.boujee-footer-license-icon {
	width: 56px; height: 56px;
	display: grid; place-items: center;
	background: var(--boujee-gold-50);
	color: var(--boujee-gold-600);
	border-radius: 50%;
	flex: 0 0 auto;
}
.boujee-footer-license-content { display: flex; flex-direction: column; gap: 4px; }
.boujee-footer-license-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-footer-license-name {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.25rem, 2.4vw, 1.5rem);
	letter-spacing: -0.02em;
	color: var(--boujee-ink);
	margin: 0;
}
.boujee-footer-license-detail {
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--boujee-ink-500);
	margin: 4px 0 0;
}
/* Higher-specificity selectors so the global .boujee-footer a:hover
   teal-700 rule doesn't bleed into the license button hover. */
a.boujee-footer-license-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 22px;
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border: 1px solid var(--boujee-ink);
	border-radius: var(--boujee-radius-pill);
	transition: background .25s var(--boujee-ease),
	            color .25s var(--boujee-ease),
	            border-color .25s var(--boujee-ease),
	            transform .25s var(--boujee-ease);
	white-space: nowrap;
}
a.boujee-footer-license-link:hover {
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	border-color: var(--boujee-gold);
	transform: translateY(-1px);
}

/* Dark variant — info cards auto-adapt inside ink/dark sections */
.boujee-section-ink .boujee-info-card,
.boujee-final-cta .boujee-info-card {
	background: rgba(251,247,238,0.04);
	border-color: rgba(251,247,238,0.16);
}
.boujee-section-ink .boujee-info-card:hover,
.boujee-final-cta .boujee-info-card:hover {
	background: rgba(251,247,238,0.07);
	border-color: rgba(212,162,74,0.5);
}
.boujee-section-ink .boujee-info-card-icon,
.boujee-final-cta .boujee-info-card-icon {
	background: rgba(212,162,74,0.18);
	color: var(--boujee-gold);
}
.boujee-section-ink .boujee-info-card-label,
.boujee-final-cta .boujee-info-card-label { color: var(--boujee-cream); }
.boujee-section-ink .boujee-info-card-detail,
.boujee-final-cta .boujee-info-card-detail { color: rgba(251,247,238,0.78); }
.boujee-section-ink .boujee-info-card-detail a,
.boujee-final-cta .boujee-info-card-detail a { color: rgba(251,247,238,0.95); }
.boujee-section-ink .boujee-info-card-detail a:hover,
.boujee-final-cta .boujee-info-card-detail a:hover { color: var(--boujee-gold); }

/* --- Brand column --- */
.boujee-footer-brand { display: flex; flex-direction: column; gap: 18px; }
.boujee-footer-brand .boujee-brand,
.boujee-footer-brand .boujee-brand img,
.boujee-footer-brand .boujee-brand-mark {
	color: var(--boujee-ink);
}
.boujee-footer-brand .boujee-brand img,
.boujee-footer-brand .boujee-brand-mark { max-height: 56px; width: auto; }
.boujee-footer-desc {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--boujee-ink-500);
	max-width: 36ch;
	margin: 0;
}
.boujee-footer-social {
	display: flex;
	gap: 10px;
	margin-top: 6px;
}
.boujee-footer-social a {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	background: var(--boujee-stone-100);
	border: 1px solid var(--boujee-stone-200);
	border-radius: 50%;
	color: var(--boujee-ink-500);
	transition: background .25s var(--boujee-ease),
	            border-color .25s var(--boujee-ease),
	            color .25s var(--boujee-ease),
	            transform .25s var(--boujee-ease);
}
.boujee-footer-social a:hover {
	background: var(--boujee-ink);
	border-color: var(--boujee-ink);
	color: var(--boujee-cream);
	transform: translateY(-2px);
}

/* --- Column nav (Programs / Salon / School / Visit) --- */
.boujee-footer-col { display: flex; flex-direction: column; gap: 16px; }
.boujee-footer-heading {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-teal-700);
	margin: 0;
}
.boujee-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.boujee-footer-col li { margin: 0; }
.boujee-footer-col a {
	font-size: 0.9375rem;
	font-family: var(--boujee-font-sans);
	color: var(--boujee-ink);
}

/* --- Visit column --- */
.boujee-footer-visit { gap: 14px; }
.boujee-footer-address {
	font-style: normal;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--boujee-ink);
	margin: 0;
}
.boujee-footer-phone {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--boujee-ink);
	letter-spacing: -0.01em;
	margin-top: 6px;
}
.boujee-footer-phone:hover { color: var(--boujee-teal-700); }

/* --- Bottom strip --- */
.boujee-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding-top: 24px;
	border-top: 1px solid var(--boujee-stone-200);
	font-family: var(--boujee-font-sans);
	font-size: 0.875rem;
	color: var(--boujee-ink-500);
}
.boujee-footer-bottom-right {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}
.boujee-footer-bottom a {
	color: var(--boujee-ink);
}
.boujee-footer-bottom a:hover { color: var(--boujee-teal-700); }
.boujee-footer-cross {
	color: var(--boujee-teal-700);
	font-weight: 500;
}
.boujee-footer-cross:hover { color: var(--boujee-teal-600); }

/* "Designed by Hamid" inline at the right end of the bottom strip */
.boujee-footer-credit-inline {
	color: var(--boujee-ink-500);
	opacity: 0.75;
}
.boujee-footer-credit-inline a {
	color: var(--boujee-ink-500);
	border-bottom: 1px solid transparent;
	padding-bottom: 1px;
	transition: color .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-footer-credit-inline a:hover {
	color: var(--boujee-teal-700);
	border-bottom-color: var(--boujee-teal-700);
}

/* ---------- 17. Curriculum table (program detail) ------------- */
.boujee-curriculum {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--boujee-stone-200);
	background: var(--boujee-cream);
	border-radius: var(--boujee-radius-md);
	overflow: hidden;
}
.boujee-curriculum thead th {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-align: left;
	padding: 16px 20px;
	background: var(--boujee-stone-100);
	color: var(--boujee-ink-500);
	font-weight: 500;
}
.boujee-curriculum tbody td {
	padding: 16px 20px;
	border-top: 1px solid var(--boujee-stone-200);
	font-size: 0.9375rem;
	color: var(--boujee-ink);
	vertical-align: top;
}
.boujee-curriculum td.code { font-family: var(--boujee-font-mono); font-size: 12px; letter-spacing: 0.08em; color: var(--boujee-teal-700); white-space: nowrap; }
.boujee-curriculum td.name { font-family: var(--boujee-font-display); font-size: 1.0625rem; }
.boujee-curriculum td.hours { font-family: var(--boujee-font-mono); font-size: 12px; letter-spacing: 0.08em; text-align: right; white-space: nowrap; }
.boujee-curriculum tfoot td {
	padding: 18px 20px;
	background: var(--boujee-gold-50);
	font-family: var(--boujee-font-display);
	font-weight: 600;
	color: var(--boujee-ink);
	border-top: 2px solid var(--boujee-gold);
}
.boujee-curriculum tfoot td.hours { color: var(--boujee-gold-600); }

/* ---------- 18. Forms ------------------------------------------ */
.boujee-form { display: grid; gap: 16px; }
.boujee-form label {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	font-weight: 500;
	margin-bottom: 6px;
	display: block;
}
.boujee-form input[type="text"],
.boujee-form input[type="email"],
.boujee-form input[type="tel"],
.boujee-form input[type="search"],
.boujee-form select,
.boujee-form textarea {
	width: 100%;
	padding: 14px 16px;
	font-family: var(--boujee-font-sans);
	font-size: 1rem;
	color: var(--boujee-ink);
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	transition: border-color .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease);
}
.boujee-form input:focus,
.boujee-form select:focus,
.boujee-form textarea:focus {
	outline: none;
	border-color: var(--boujee-teal-700);
	box-shadow: 0 0 0 3px rgba(15,123,130,0.15);
}
.boujee-form textarea { resize: vertical; min-height: 140px; }

/* ---------- 19. Breadcrumbs + global parts --------------------- */
.boujee-breadcrumbs {
	background: var(--boujee-cream);
	border-bottom: 1px solid var(--boujee-stone-200);
	padding: 14px 0;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-breadcrumbs ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.boujee-breadcrumbs li { margin: 0; }
.boujee-breadcrumbs a { color: var(--boujee-ink-500); }
.boujee-breadcrumbs a:hover { color: var(--boujee-gold); }
.boujee-breadcrumbs span[aria-current] { color: var(--boujee-ink); }
.boujee-breadcrumbs li + li::before { content: "›"; color: var(--boujee-gold); margin-right: 8px; }

/* ---------- 20. Utilities + a11y ------------------------------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px; width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}
.boujee-skip-link {
	position: absolute;
	left: -9999px;
	top: 8px;
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	padding: 10px 16px;
	border-radius: var(--boujee-radius-pill);
	font-weight: 600;
	z-index: 1000;
}
.boujee-skip-link:focus { left: 16px; }

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--boujee-gold);
	outline-offset: 2px;
}

.boujee-text-muted { color: var(--boujee-ink-500); }
.boujee-text-gold { color: var(--boujee-gold); }
.boujee-text-teal { color: var(--boujee-teal-700); }
.boujee-text-center { text-align: center; }
.boujee-divider { width: 64px; height: 2px; background: var(--boujee-gold); border: none; margin: 24px 0; }

/* Scroll-reveal — sections fade-in/slide-up as they enter view.
   The wrapper class is added by JS; if reduced-motion is set the JS
   skips this entirely so the elements stay visible. */
.boujee-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .7s var(--boujee-ease), transform .7s var(--boujee-ease);
	will-change: opacity, transform;
}
.boujee-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.boujee-reveal { opacity: 1; transform: none; transition: none; }
}

/* Cookie consent bar — bottom-pinned, slides up after 800ms.
   `hidden` attribute respected. */
.boujee-cookie-bar[hidden] { display: none !important; }
.boujee-cookie-bar {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 50;
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	border-top: 1px solid rgba(212,162,74,0.35);
	padding: 14px 0;
	transform: translateY(100%);
	opacity: 0;
	pointer-events: none;
	transition: transform .35s var(--boujee-ease), opacity .25s var(--boujee-ease);
}
.boujee-cookie-bar.is-visible {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
}
.boujee-cookie-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}
.boujee-cookie-bar-text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: rgba(251,247,238,0.85);
	flex: 1 1 360px;
	min-width: 0;
}
.boujee-cookie-bar-text a {
	color: var(--boujee-gold);
	border-bottom: 1px solid rgba(212,162,74,0.5);
}
.boujee-cookie-bar-text a:hover { color: var(--boujee-gold-400); }
@media (max-width: 640px) {
	.boujee-cookie-bar-inner { flex-direction: column; align-items: stretch; gap: 12px; text-align: center; }
}

.boujee-stack-sm > * + * { margin-top: 12px; }
.boujee-stack-md > * + * { margin-top: 24px; }
.boujee-stack-lg > * + * { margin-top: 40px; }
.boujee-actions-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.boujee-actions-center { justify-content: center; }

/* ---------- 22. Program preview cards (homepage + archive) ------ */
.boujee-program-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	box-shadow: var(--boujee-shadow-card);
	color: var(--boujee-ink);
	transition: transform .35s var(--boujee-ease), box-shadow .35s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-program-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--boujee-shadow-card-hover);
	border-color: rgba(5,194,222,0.45);
}
.boujee-program-card-featured {
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	border-color: rgba(212,162,74,0.4);
}
.boujee-program-card-featured:hover { border-color: rgba(212,162,74,0.7); }
.boujee-program-card-featured h2,
.boujee-program-card-featured h3,
.boujee-program-card-featured p,
.boujee-program-card-featured li { color: var(--boujee-cream); }

/* --- Header area: image OR centered icon over a soft gradient --- */
.boujee-program-card-media {
	position: relative;
	aspect-ratio: 16 / 9;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: linear-gradient(135deg, var(--boujee-teal-50) 0%, var(--boujee-cream) 70%, var(--boujee-stone-100) 100%);
}
.boujee-program-card-featured .boujee-program-card-media {
	background:
		radial-gradient(circle at 70% 60%, rgba(212,162,74,0.2) 0%, rgba(212,162,74,0) 60%),
		linear-gradient(135deg, var(--boujee-ink-500) 0%, var(--boujee-ink) 60%, var(--boujee-ink-700) 100%);
}
.boujee-program-card-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	transition: transform .8s var(--boujee-ease);
}
.boujee-program-card:hover .boujee-program-card-img { transform: scale(1.04); }
.boujee-program-card-img + .boujee-program-card-icon { display: none; }
.boujee-program-card-icon {
	position: relative;
	z-index: 1;
	width: 92px; height: 92px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(5,194,222,0.18);
	color: var(--boujee-teal-700);
	border: 1px solid rgba(5,194,222,0.35);
}
.boujee-program-card-featured .boujee-program-card-icon {
	background: rgba(212,162,74,0.22);
	color: var(--boujee-gold);
	border-color: rgba(212,162,74,0.45);
}

/* --- Floating badges (tagline + most-comprehensive) --- */
.boujee-program-card-tagline {
	position: absolute;
	top: 16px; left: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(251,247,238,0.92);
	color: var(--boujee-teal-700);
	padding: 7px 14px;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	border-radius: var(--boujee-radius-pill);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.boujee-program-card-featured .boujee-program-card-tagline {
	background: rgba(14,42,47,0.7);
	color: var(--boujee-gold);
	border: 1px solid rgba(212,162,74,0.35);
}
.boujee-program-card-badge {
	position: absolute;
	top: 16px; right: 16px;
	z-index: 2;
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	padding: 7px 14px;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	border-radius: var(--boujee-radius-pill);
}

/* --- Body --- */
.boujee-program-card-body {
	padding: clamp(24px, 3vw, 36px);
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 1;
}
.boujee-program-card-meta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-gold);
}
.boujee-program-card-featured .boujee-program-card-meta { color: var(--boujee-gold-400); }
.boujee-program-card-meta svg { color: var(--boujee-gold); flex: 0 0 auto; }
.boujee-program-card-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.375rem, 2.2vw, 1.75rem);
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0;
}
.boujee-program-card-subtitle {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	margin: 8px 0 0;
}
.boujee-program-card-featured .boujee-program-card-subtitle {
	color: rgba(251,247,238,0.65);
}
/* Title link inherits card text color so the dark-card title is readable. */
.boujee-program-card-title a { color: inherit; text-decoration: none; }
.boujee-program-card-title a:hover { color: var(--boujee-teal-700); }
.boujee-program-card-featured .boujee-program-card-title a:hover { color: var(--boujee-gold); }
.boujee-program-card-desc {
	color: var(--boujee-ink-500);
	margin: 0;
	line-height: 1.6;
	font-size: 0.9375rem;
}
.boujee-program-card-featured .boujee-program-card-desc { color: rgba(251,247,238,0.78); }

.boujee-program-card-features {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 10px;
}
.boujee-program-card-features li {
	position: relative; padding-left: 28px;
	font-size: 0.9375rem;
	margin: 0;
}
.boujee-program-card-features li::before {
	content: ""; position: absolute;
	left: 0; top: 5px;
	width: 16px; height: 16px;
	border-radius: 50%;
	border: 1px solid var(--boujee-teal-700);
}
.boujee-program-card-features li::after {
	content: ""; position: absolute;
	left: 4px; top: 8px;
	width: 8px; height: 4px;
	border-left: 1.5px solid var(--boujee-teal-700);
	border-bottom: 1.5px solid var(--boujee-teal-700);
	transform: rotate(-45deg);
}
.boujee-program-card-featured .boujee-program-card-features li::before { border-color: var(--boujee-gold); }
.boujee-program-card-featured .boujee-program-card-features li::after { border-color: var(--boujee-gold); }

/* 4th bullet — clickable "21-piece Artero tool kit included" with a
   "See tools →" cue. Opens the same tools modal that lives lower on
   the homepage. Reads as a list item visually but the whole button
   is the clickable surface. */
.boujee-program-card-feature-tools {
	margin-top: 4px;
	padding-left: 0 !important; /* override base li padding-left:28px */
}
.boujee-program-card-feature-tools::before,
.boujee-program-card-feature-tools::after { content: none !important; }

.boujee-program-card-tools-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 12px 16px;
	background: rgba(212, 162, 74, 0.10);
	border: 1px dashed rgba(212, 162, 74, 0.55);
	border-radius: var(--boujee-radius-md);
	color: inherit;
	font-family: var(--boujee-font-body);
	font-size: 0.9375rem;
	font-weight: 500;
	text-align: left;
	cursor: pointer;
	transition: background .2s var(--boujee-ease), border-color .2s var(--boujee-ease), transform .2s var(--boujee-ease);
}
.boujee-program-card-tools-link:hover,
.boujee-program-card-tools-link:focus-visible {
	background: rgba(212, 162, 74, 0.18);
	border-color: var(--boujee-gold);
	border-style: solid;
	transform: translateY(-1px);
	outline: none;
}
.boujee-program-card-tools-cue {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex: 0 0 auto;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	white-space: nowrap;
}
.boujee-program-card-tools-cue svg { transition: transform .2s var(--boujee-ease); }
.boujee-program-card-tools-link:hover .boujee-program-card-tools-cue svg { transform: translateX(2px); }

/* Inside the FEATURED (dark) card, lift the contrast */
.boujee-program-card-featured .boujee-program-card-tools-link {
	background: rgba(212, 162, 74, 0.18);
	border-color: rgba(212, 162, 74, 0.55);
	color: var(--boujee-cream);
}
.boujee-program-card-featured .boujee-program-card-tools-link:hover {
	background: rgba(212, 162, 74, 0.28);
	border-color: var(--boujee-gold);
}

/* --- Footer: total + CTA --- */
.boujee-program-card-footer {
	padding: 22px clamp(24px, 3vw, 36px);
	border-top: 1px solid var(--boujee-stone-200);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
}
.boujee-program-card-featured .boujee-program-card-footer { border-top-color: rgba(251,247,238,0.18); }
.boujee-program-card-total { display: flex; flex-direction: column; gap: 4px; }
.boujee-program-card-total-label {
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-program-card-featured .boujee-program-card-total-label { color: rgba(251,247,238,0.6); }
.boujee-program-card-price {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.875rem;
	letter-spacing: -0.02em;
	color: var(--boujee-ink);
	line-height: 1;
}
.boujee-program-card-featured .boujee-program-card-price { color: var(--boujee-cream); }
.boujee-program-card-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--boujee-font-display);
	font-weight: 500;
	font-size: 0.9375rem;
	color: var(--boujee-teal-700);
	letter-spacing: -0.005em;
	transition: gap .3s var(--boujee-ease);
}
.boujee-program-card-featured .boujee-program-card-cta { color: var(--boujee-gold); }
.boujee-program-card:hover .boujee-program-card-cta { gap: 12px; }

/* ---------- 22b. Homepage services preview (2-col with tiles) -- */
.boujee-services-preview-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 56px;
	align-items: center;
}
@media (min-width: 1024px) {
	.boujee-services-preview-grid { grid-template-columns: 1fr 1.15fr; gap: 80px; }
}
.boujee-services-preview-intro { max-width: 520px; }
.boujee-services-preview-heading {
	font-family: var(--boujee-font-display);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.05;
	font-size: clamp(2rem, 4vw, 3rem);
	margin: 18px 0 22px;
	color: var(--boujee-ink);
}
.boujee-services-preview-desc {
	color: var(--boujee-ink-500);
	line-height: 1.65;
	margin: 0 0 28px;
}
.boujee-services-preview-trust {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 24px 0 0;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--boujee-teal-700);
}
.boujee-services-preview-trust svg { color: var(--boujee-teal-700); flex: 0 0 auto; }

/* Tiles grid — 2 cols by default, with the "wide" tile spanning full row */
.boujee-services-preview-pricing {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}
@media (min-width: 480px) {
	.boujee-services-preview-pricing { grid-template-columns: repeat(2, 1fr); }
}
.boujee-svc-tile {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	padding: 18px 22px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-svc-tile:hover {
	transform: translateY(-2px);
	box-shadow: var(--boujee-shadow-card);
	border-color: rgba(5,194,222,0.4);
}
.boujee-svc-tile-wide { grid-column: 1 / -1; }
.boujee-svc-tile-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-svc-tile-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}
.boujee-svc-tile-name {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--boujee-ink);
}
.boujee-svc-tile-price {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.5rem;
	color: var(--boujee-teal-700);
	letter-spacing: -0.02em;
}

/* Add-ons row sits below the size tiles spanning full width */
.boujee-svc-addons {
	grid-column: 1 / -1;
	margin-top: 8px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}
@media (min-width: 480px) {
	.boujee-svc-addons { grid-template-columns: repeat(3, 1fr); }
}
.boujee-svc-addon {
	background: var(--boujee-stone-100);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	padding: 14px 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: center;
	transition: border-color .25s var(--boujee-ease), background .25s var(--boujee-ease);
}
.boujee-svc-addon:hover { border-color: rgba(212,162,74,0.5); background: var(--boujee-cream); }
.boujee-svc-addon-name {
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-svc-addon-price {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.125rem;
	color: var(--boujee-ink);
}

/* ---------- 23. About preview (collage + features) -------------- */
.boujee-about-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 56px;
	align-items: center;
}
@media (min-width: 1024px) {
	.boujee-about-grid { grid-template-columns: 1fr 1fr; gap: 80px; }
}

/* Single feature image on the right column. Renders at its NATURAL
   aspect ratio — no crop. Width fills the column; height auto-sizes.
   Best uploads: portrait or near-square (≥ 800x800). The grid row
   sizes to whichever column is taller, so a tall image naturally
   becomes the height anchor; a shorter image centers vertically with
   the text taking the row height. Subtle gold offset card behind. */
.boujee-about-feature-image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.boujee-about-feature-image img {
	width: 100%;
	height: auto;
	max-height: 760px;
	border-radius: var(--boujee-radius-lg);
	box-shadow: var(--boujee-shadow-card);
	display: block;
	object-fit: cover; /* only applies if max-height clamps a tall portrait — preserves focal area */
}
.boujee-about-feature-image::before {
	content: "";
	position: absolute;
	top: -14px; right: -14px;
	width: 50%; height: 55%;
	background: var(--boujee-gold-50);
	border-radius: var(--boujee-radius-lg);
	z-index: -1;
	pointer-events: none;
}
@media (max-width: 1023px) {
	.boujee-about-feature-image::before { display: none; }
}

.boujee-about-collage {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 14px;
	aspect-ratio: 6 / 5;
	max-width: 600px;
	width: 100%;
	margin-left: auto;
}
.boujee-about-collage img {
	width: 100%; height: 100%;
	object-fit: cover;
	border-radius: var(--boujee-radius-md);
	display: block;
}
.boujee-about-collage img:nth-child(1) { grid-column: 1 / span 1; grid-row: 1 / span 2; }
.boujee-about-collage img:nth-child(2) { grid-column: 2 / span 1; grid-row: 1 / span 1; }
.boujee-about-collage img:nth-child(3) { grid-column: 2 / span 1; grid-row: 2 / span 1; }
@media (max-width: 768px) {
	.boujee-about-collage {
		aspect-ratio: auto;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 240px 180px;
		max-width: none;
	}
	.boujee-about-collage img:nth-child(1) { grid-column: 1 / span 2; grid-row: 1 / span 1; }
	.boujee-about-collage img:nth-child(2) { grid-column: 1 / span 1; grid-row: 2 / span 1; }
	.boujee-about-collage img:nth-child(3) { grid-column: 2 / span 1; grid-row: 2 / span 1; }
}
.boujee-about-features {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin-top: 32px;
}
@media (min-width: 768px) { .boujee-about-features { grid-template-columns: 1fr 1fr; } }
.boujee-about-feature {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	padding: 22px 22px 24px;
	display: flex; flex-direction: column; gap: 8px;
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease);
}
.boujee-about-feature:hover { transform: translateY(-2px); box-shadow: var(--boujee-shadow-card); }
.boujee-about-feature-icon {
	width: 40px; height: 40px;
	display: grid; place-items: center;
	background: var(--boujee-gold-50);
	color: var(--boujee-gold-600);
	border-radius: 50%;
	margin-bottom: 4px;
}
.boujee-about-feature h4 { margin: 0; font-size: 1rem; }
.boujee-about-feature p { margin: 0; font-size: 0.875rem; color: var(--boujee-ink-500); line-height: 1.55; }

/* ---------- 24. Workshops preview -------------------------------- */
.boujee-workshops-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}
@media (min-width: 640px) { .boujee-workshops-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .boujee-workshops-grid { grid-template-columns: repeat(3, 1fr); } }
.boujee-workshop-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	padding: 28px 24px;
	display: flex; flex-direction: column; gap: 12px;
	transition: transform .3s var(--boujee-ease), box-shadow .3s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-workshop-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--boujee-shadow-card);
	border-color: rgba(212,162,74,0.45);
}
.boujee-workshop-icon {
	width: 44px; height: 44px;
	display: grid; place-items: center;
	background: var(--boujee-teal-50);
	color: var(--boujee-teal-700);
	border-radius: 50%;
}
.boujee-workshop-card h4 {
	margin: 0;
	font-size: 1.125rem;
	color: var(--boujee-ink);
}

/* Sample workshop showcase on the Workshops page */
.boujee-workshop-sample {
	max-width: 880px;
	margin: 0 auto;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	box-shadow: var(--boujee-shadow-card);
	padding: clamp(28px, 4vw, 40px);
	position: relative;
	overflow: hidden;
}
.boujee-workshop-sample-overlay {
	position: absolute;
	top: 14px; right: 14px;
}
.boujee-workshop-sample-overlay-pill {
	background: rgba(212,162,74,0.18);
	color: var(--boujee-gold-600);
	font-family: var(--boujee-font-mono);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: var(--boujee-radius-pill);
	border: 1px solid rgba(212,162,74,0.4);
}
.boujee-workshop-sample-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: start;
}
@media (min-width: 768px) {
	.boujee-workshop-sample-grid { grid-template-columns: auto 1fr; gap: 32px; }
}
.boujee-workshop-sample-icon {
	width: 80px; height: 80px;
	display: grid; place-items: center;
	background: var(--boujee-gold-50);
	color: var(--boujee-gold-600);
	border-radius: 50%;
	flex: 0 0 auto;
}
.boujee-workshop-sample-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-gold-600);
}
.boujee-workshop-sample-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.375rem, 2.4vw, 1.75rem);
	letter-spacing: -0.02em;
	margin: 8px 0 14px;
	line-height: 1.2;
}
.boujee-workshop-sample-body p { margin: 0 0 18px; line-height: 1.65; color: var(--boujee-ink-500); }
.boujee-workshop-sample-meta {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	padding-top: 18px;
	border-top: 1px dashed var(--boujee-stone-200);
}
@media (min-width: 640px) { .boujee-workshop-sample-meta { grid-template-columns: 1fr 1fr; } }
.boujee-workshop-sample-meta span {
	font-size: 0.875rem;
	color: var(--boujee-ink);
}
.boujee-workshop-sample-meta strong {
	display: inline-block;
	min-width: 90px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	font-weight: 500;
	margin-right: 6px;
}
.boujee-workshop-card p {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--boujee-ink-500);
	line-height: 1.55;
}
/* Override the section-ink heading-cream rule when workshop cards
   sit inside a dark section — keep card text on cream legible. */
.boujee-section-ink .boujee-workshop-card h4 { color: var(--boujee-ink); }
.boujee-section-ink .boujee-workshop-card p  { color: var(--boujee-ink-500); }

/* ---------- 25. Testimonials carousel (centered, rotating) ----- */
.boujee-testimonial-section { padding: clamp(72px, 10vw, 120px) 0; }
.boujee-testimonial-stage {
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
	position: relative;
}
.boujee-testimonial-stage > .boujee-eyebrow { justify-content: center; margin-bottom: 24px; }

.boujee-testimonial-track {
	position: relative;
	display: grid;
	min-height: 300px;
}
.boujee-testimonial-slide {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .5s var(--boujee-ease),
	            transform .5s var(--boujee-ease),
	            visibility 0s linear .5s;
	pointer-events: none;
}
.boujee-testimonial-slide.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity .5s var(--boujee-ease),
	            transform .5s var(--boujee-ease),
	            visibility 0s linear 0s;
	pointer-events: auto;
}
.boujee-testimonial-slide blockquote {
	font-family: var(--boujee-font-sans);
	font-style: normal;
	font-weight: 400;
	font-size: clamp(1rem, 1.4vw, 1.1875rem);
	line-height: 1.65;
	color: var(--boujee-ink);
	margin: 0 0 28px;
	padding: 0;
	border: none;
	position: relative;
	max-width: 60ch;
	margin-left: auto;
	margin-right: auto;
}
.boujee-testimonial-slide blockquote::before {
	content: "\201C";
	display: block;
	font-family: var(--boujee-font-display);
	font-size: 5rem;
	line-height: 0.55;
	color: var(--boujee-gold);
	margin-bottom: 18px;
}
.boujee-testimonial-slide blockquote p { margin: 0; }
.boujee-testimonial-slide figcaption {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.boujee-testimonial-slide-photo {
	width: 56px; height: 56px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--boujee-stone-200);
}
.boujee-testimonial-slide-initials {
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, var(--boujee-gold), var(--boujee-gold-600));
	color: var(--boujee-ink);
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.0625rem;
	letter-spacing: 0.02em;
}
.boujee-testimonial-slide-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: left;
}
.boujee-testimonial-slide-meta .name {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--boujee-ink);
}
.boujee-testimonial-slide-meta .role {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}

.boujee-testimonial-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 36px;
}
.boujee-testimonial-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--boujee-stone-200);
	border: none;
	padding: 0;
	cursor: pointer;
	transition: background .25s var(--boujee-ease),
	            width .3s var(--boujee-ease),
	            border-radius .3s var(--boujee-ease);
}
.boujee-testimonial-dot:hover { background: var(--boujee-stone-600); }
.boujee-testimonial-dot.is-active {
	background: var(--boujee-gold);
	width: 28px;
	border-radius: 4px;
}
.boujee-testimonial-dot:focus-visible {
	outline: 2px solid var(--boujee-gold);
	outline-offset: 3px;
}

/* ---------- 26. Final CTA section ------------------------------- */
.boujee-final-cta {
	position: relative;
	overflow: hidden;
}
.boujee-final-cta::before {
	content: "";
	position: absolute;
	top: -100px; left: -120px;
	width: 480px; height: 480px;
	background: radial-gradient(circle, rgba(31,183,192,0.18) 0%, rgba(31,183,192,0) 70%);
	pointer-events: none;
	z-index: 0;
}
.boujee-final-cta::after {
	content: "";
	position: absolute;
	bottom: -120px; right: -80px;
	width: 520px; height: 520px;
	background: radial-gradient(circle, rgba(212,162,74,0.18) 0%, rgba(212,162,74,0) 70%);
	pointer-events: none;
	z-index: 0;
}
.boujee-final-cta > * { position: relative; z-index: 1; }
.boujee-final-cta-inner { max-width: 880px; margin: 0 auto; text-align: center; }
.boujee-final-cta-heading {
	font-family: var(--boujee-font-display);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.06;
	font-size: clamp(1.875rem, 4vw, 3.25rem);
	color: var(--boujee-cream);
	margin: 16px 0 18px;
}
.boujee-final-cta-desc {
	max-width: 56ch;
	margin: 0 auto 32px;
	color: rgba(251,247,238,0.78);
	font-size: 1rem;
	line-height: 1.6;
}

/* ---------- 27. Section eyebrow center alignment helper -------- */
.boujee-section-header.has-italic h2 .boujee-italic,
.boujee-section-header.has-italic h2 .boujee-italic-gold { display: inline; }

/* ---------- 25b. About — founding story + instructor grid ---- */
.boujee-about-story-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
	align-items: center;
}
.boujee-about-story-grid.has-media {
	grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
	.boujee-about-story-grid.has-media {
		grid-template-columns: 1.05fr 1fr;
		gap: 80px;
	}
}
.boujee-about-story-content { max-width: 640px; }
.boujee-about-story-heading {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	letter-spacing: -0.025em;
	font-size: clamp(1.875rem, 3.4vw, 2.5rem);
	line-height: 1.15;
	margin: 18px 0 24px;
	color: var(--boujee-ink);
}
.boujee-about-story-media { position: relative; }
.boujee-about-story-img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--boujee-radius-lg);
	box-shadow: var(--boujee-shadow-card);
}
.boujee-about-story-media::before {
	content: "";
	position: absolute;
	bottom: -16px; right: -16px;
	width: 50%; height: 60%;
	background: var(--boujee-gold-50);
	border-radius: var(--boujee-radius-lg);
	z-index: -1;
}
@media (max-width: 1023px) { .boujee-about-story-media::before { display: none; } }

/* Instructor / Staff & Faculty cards — horizontal layout.
   One card per row, image left, bio right, generous spacing. Stacks
   to image-on-top + bio-below at < 768px so phones aren't squeezed. */
.boujee-instructor-grid {
	display: flex;
	flex-direction: column;
	gap: 28px;
	max-width: 1080px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.boujee-instructor-grid { gap: 40px; }
}

.boujee-instructor-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr;
	transition: transform .3s var(--boujee-ease), box-shadow .3s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
@media (min-width: 768px) {
	.boujee-instructor-card { grid-template-columns: 300px 1fr; }
}
@media (min-width: 1024px) {
	.boujee-instructor-card { grid-template-columns: 340px 1fr; }
}
.boujee-instructor-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--boujee-shadow-card-hover);
	border-color: rgba(212,162,74,0.5);
}

.boujee-instructor-card-media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: linear-gradient(135deg, var(--boujee-stone-100), var(--boujee-cream));
	display: grid;
	place-items: center;
}
@media (min-width: 768px) {
	.boujee-instructor-card-media {
		aspect-ratio: auto;
		min-height: 100%;
	}
}
.boujee-instructor-card-photo {
	width: 100%; height: 100%;
	object-fit: cover;
}
.boujee-instructor-card-placeholder {
	color: var(--boujee-gold);
	opacity: 0.4;
}
.boujee-instructor-card-initials {
	width: 100%; height: 100%;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, var(--boujee-gold), var(--boujee-gold-600));
	color: var(--boujee-ink);
	font-family: var(--boujee-font-display);
	font-weight: 700;
	font-size: clamp(2.75rem, 5vw, 4.5rem);
	letter-spacing: -0.02em;
}
.boujee-instructor-card-years {
	position: absolute;
	bottom: 14px; left: 14px;
	background: rgba(14,42,47,0.9);
	color: var(--boujee-cream);
	padding: 6px 12px;
	border-radius: var(--boujee-radius-pill);
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 500;
	backdrop-filter: blur(6px);
}

.boujee-instructor-card-body {
	padding: 28px 28px 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
@media (min-width: 768px) {
	.boujee-instructor-card-body { padding: 36px 40px 38px; gap: 14px; justify-content: center; }
}

.boujee-instructor-card-role {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	font-weight: 500;
	order: -1; /* role above name */
	margin: 0;
}
.boujee-instructor-card-name {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 2.2vw, 1.875rem);
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--boujee-ink);
	margin: 0;
}
.boujee-instructor-card-bio {
	font-size: 1rem;
	color: var(--boujee-ink-500);
	line-height: 1.7;
	margin: 4px 0 0;
}
.boujee-instructor-card-certs {
	list-style: none;
	padding: 16px 0 0;
	margin: 10px 0 0;
	border-top: 1px dashed var(--boujee-stone-200);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.boujee-instructor-card-certs li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.9rem;
	color: var(--boujee-ink);
	line-height: 1.5;
	margin: 0;
}
.boujee-instructor-card-certs svg { color: var(--boujee-gold); flex: 0 0 auto; margin-top: 4px; }

/* ---------- 26a. Request Info inline form panel --------------- */
.boujee-request-info {
	max-width: 640px;
	margin: clamp(40px, 6vw, 64px) auto 0;
	padding: clamp(28px, 4vw, 36px);
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	box-shadow: var(--boujee-shadow-card);
	text-align: left;
}
.boujee-request-info-dark {
	background: rgba(251,247,238,0.06);
	border-color: rgba(251,247,238,0.18);
	box-shadow: 0 18px 40px -16px rgba(0,0,0,0.45);
}
.boujee-request-info-head {
	margin-bottom: 24px;
	text-align: center;
}
.boujee-request-info-head .boujee-eyebrow { justify-content: center; }
.boujee-request-info-heading {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.25rem, 2.4vw, 1.625rem);
	letter-spacing: -0.015em;
	margin: 12px 0 0;
	color: var(--boujee-ink);
	line-height: 1.3;
}
.boujee-request-info-dark .boujee-request-info-heading { color: var(--boujee-cream); }
.boujee-request-info-body { margin-bottom: 18px; }
.boujee-request-info-dark .boujee-request-info-body input,
.boujee-request-info-dark .boujee-request-info-body select,
.boujee-request-info-dark .boujee-request-info-body textarea,
.boujee-request-info-dark .boujee-request-info-body .wpforms-field-medium,
.boujee-request-info-dark .boujee-request-info-body .wpforms-field-large {
	background: rgba(251,247,238,0.06);
	border-color: rgba(251,247,238,0.2);
	color: var(--boujee-cream);
}
.boujee-request-info-dark .boujee-request-info-body input::placeholder,
.boujee-request-info-dark .boujee-request-info-body textarea::placeholder {
	color: rgba(251,247,238,0.5);
}
.boujee-request-info-dark .boujee-request-info-body label,
.boujee-request-info-dark .boujee-request-info-body .wpforms-field-label {
	color: rgba(251,247,238,0.85);
}
.boujee-request-info-note {
	margin: 0;
	text-align: center;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-request-info-dark .boujee-request-info-note { color: rgba(251,247,238,0.55); }

/* ---------- 26b. Programs decision helper + comparison table -- */
.boujee-decision-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
@media (min-width: 768px) { .boujee-decision-grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
.boujee-decision-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: clamp(28px, 4vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-decision-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--boujee-shadow-card);
	border-color: rgba(5,194,222,0.4);
}
.boujee-decision-card-featured {
	background: var(--boujee-ink);
	border-color: rgba(212,162,74,0.4);
	color: var(--boujee-cream);
}
.boujee-decision-card-featured h3 { color: var(--boujee-cream); }
.boujee-decision-card-featured p  { color: rgba(251,247,238,0.78); }
.boujee-decision-card-featured:hover { border-color: rgba(212,162,74,0.7); }
.boujee-decision-card-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-gold);
}
.boujee-decision-card-featured .boujee-decision-card-eyebrow { color: var(--boujee-gold-400); }
.boujee-decision-card h3 {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.25rem, 2.2vw, 1.5rem);
	letter-spacing: -0.02em;
	margin: 0;
	line-height: 1.25;
}
.boujee-decision-card p { margin: 0; line-height: 1.65; }
.boujee-decision-card-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-teal-700);
	font-weight: 500;
	transition: gap .25s var(--boujee-ease);
}
.boujee-decision-card-featured .boujee-decision-card-cta { color: var(--boujee-gold); }
.boujee-decision-card:hover .boujee-decision-card-cta { gap: 12px; }

/* Comparison table */
.boujee-compare-table-wrap {
	overflow-x: auto;
	border-radius: var(--boujee-radius-lg);
	box-shadow: var(--boujee-shadow-card);
}
.boujee-compare-table {
	width: 100%;
	background: var(--boujee-cream);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	min-width: 640px;
}
.boujee-compare-table th, .boujee-compare-table td {
	padding: 18px 22px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--boujee-stone-200);
}
.boujee-compare-table thead th {
	background: var(--boujee-stone-100);
	padding: 24px 22px;
	border-bottom: 2px solid var(--boujee-gold);
	vertical-align: bottom;
}
.boujee-compare-table thead th.is-featured { background: var(--boujee-ink); color: var(--boujee-cream); }
.boujee-compare-table thead th a {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.0625rem;
	letter-spacing: -0.01em;
	color: var(--boujee-ink);
	display: block;
	margin-top: 6px;
}
.boujee-compare-table thead th.is-featured a { color: var(--boujee-cream); }
.boujee-compare-tagline {
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	font-weight: 500;
	display: block;
}
.boujee-compare-table tbody th[scope="row"] {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	background: var(--boujee-stone-100);
	width: 220px;
}
.boujee-compare-table tbody td {
	font-family: var(--boujee-font-display);
	font-size: 0.9375rem;
	color: var(--boujee-ink);
}
.boujee-compare-price {
	font-weight: 600;
	font-size: 1.125rem !important;
	color: var(--boujee-gold-600) !important;
}
.boujee-compare-table tfoot td {
	background: var(--boujee-stone-100);
	border-bottom: none;
}
.boujee-compare-table tfoot th { background: var(--boujee-stone-100); border-bottom: none; }

/* ---------- 27a. Trust-signals row (above tuition) ------------- */
.boujee-trust-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 28px;
	padding: 14px 28px;
	background: var(--boujee-stone-100);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-pill);
	width: fit-content;
	max-width: 100%;
	margin: 0 auto 40px;
}
.boujee-trust-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink);
	font-weight: 500;
}
.boujee-trust-item svg { color: var(--boujee-gold); flex: 0 0 auto; }

/* ---------- 27b. Program detail dark curriculum overrides ------ */
.boujee-program-curriculum .boujee-section-header h2 { color: var(--boujee-cream); }
.boujee-program-curriculum .boujee-section-header p { color: rgba(251,247,238,0.78); }
.boujee-program-curriculum .boujee-curriculum-row .name {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.boujee-curriculum-flag {
	font-family: var(--boujee-font-mono);
	font-size: 9px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	background: rgba(212,162,74,0.15);
	border: 1px solid rgba(212,162,74,0.4);
	padding: 3px 8px;
	border-radius: var(--boujee-radius-pill);
	font-weight: 500;
}
.boujee-curriculum-row.is-practicum .hours { color: var(--boujee-gold); font-weight: 600; }

/* ---------- 27c. Cross-link callout (other program) ------------ */
.boujee-cross-program {
	margin-top: 48px;
	padding: clamp(24px, 4vw, 40px);
	background: rgba(251,247,238,0.04);
	border: 1px solid rgba(251,247,238,0.14);
	border-radius: var(--boujee-radius-lg);
	display: grid;
	gap: 20px;
	align-items: center;
	transition: border-color .25s var(--boujee-ease), background .25s var(--boujee-ease);
}
.boujee-cross-program:hover {
	border-color: rgba(212,162,74,0.45);
	background: rgba(251,247,238,0.06);
}
@media (min-width: 768px) {
	.boujee-cross-program {
		grid-template-columns: 1fr auto;
		gap: 32px;
	}
}
.boujee-cross-program h3 {
	color: var(--boujee-cream);
	margin: 12px 0 8px;
	font-size: clamp(1.25rem, 2.2vw, 1.5rem);
	letter-spacing: -0.02em;
}
.boujee-cross-program p {
	color: rgba(251,247,238,0.78);
	margin: 0;
	max-width: 60ch;
	line-height: 1.6;
}

/* ---------- 27d. Program testimonial (centered editorial) ----- */
.boujee-program-testimonial { padding: clamp(72px, 10vw, 120px) 0; }
.boujee-program-quote {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}
.boujee-program-quote .boujee-eyebrow { justify-content: center; }
.boujee-program-quote blockquote {
	font-family: var(--boujee-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	line-height: 1.4;
	color: var(--boujee-ink);
	margin: 24px 0 28px;
	padding: 0;
	border: none;
	position: relative;
}
.boujee-program-quote blockquote::before {
	content: "\201C";
	display: block;
	font-size: 5rem;
	line-height: 0.6;
	color: var(--boujee-gold);
	margin-bottom: 16px;
}
.boujee-program-quote blockquote p { margin: 0; }
.boujee-program-quote figcaption {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.boujee-program-quote-photo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--boujee-stone-200);
}
.boujee-program-quote-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: left;
}
.boujee-program-quote-meta .name {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--boujee-ink);
}
.boujee-program-quote-meta .role {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}

/* ---------- 27e. Sticky bottom enroll bar ---------------------- */
.boujee-sticky-enroll {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 40;
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	border-top: 1px solid rgba(212,162,74,0.4);
	padding: 12px 0;
	transform: translateY(110%);
	opacity: 0;
	visibility: hidden;
	transition: transform .35s var(--boujee-ease),
	            opacity .25s var(--boujee-ease),
	            visibility 0s linear .35s;
}
.boujee-sticky-enroll.is-visible {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
	transition: transform .35s var(--boujee-ease),
	            opacity .25s var(--boujee-ease),
	            visibility 0s linear 0s;
}
.boujee-sticky-enroll-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}
.boujee-sticky-enroll-summary {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1 1 auto;
}
.boujee-sticky-enroll-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--boujee-cream);
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.boujee-sticky-enroll-meta {
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-gold);
}
.boujee-sticky-enroll-actions {
	display: flex;
	gap: 8px;
	flex: 0 0 auto;
}
.boujee-sticky-enroll-call {
	width: 40px;
	padding: 0;
}
@media (max-width: 480px) {
	.boujee-sticky-enroll-title { font-size: 0.875rem; }
	.boujee-sticky-enroll-meta { font-size: 9px; }
}

/* ---------- 27f. Floating "on this page" TOC (≥1280px) -------- */
.boujee-toc {
	display: none;
	position: fixed;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 30;
	flex-direction: column;
	gap: 14px;
	padding: 18px 14px;
	background: rgba(251,247,238,0.78);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(14,42,47,0.08);
	border-radius: var(--boujee-radius-pill);
	box-shadow: 0 8px 24px -12px rgba(14,42,47,0.18);
}
@media (min-width: 1280px) { .boujee-toc { display: flex; } }
.boujee-toc-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--boujee-ink-500);
	text-decoration: none;
	transition: color .25s var(--boujee-ease);
}
.boujee-toc-item .dot {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.45;
	transition: transform .25s var(--boujee-ease), opacity .25s var(--boujee-ease);
}
.boujee-toc-item .label {
	position: absolute;
	right: calc(100% + 14px);
	top: 50%;
	transform: translateY(-50%) translateX(8px);
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	padding: 6px 12px;
	border-radius: var(--boujee-radius-pill);
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease, transform .25s var(--boujee-ease);
}
.boujee-toc-item:hover { color: var(--boujee-ink); }
.boujee-toc-item:hover .label,
.boujee-toc-item.is-active .label {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}
.boujee-toc-item.is-active { color: var(--boujee-gold); }
.boujee-toc-item.is-active .dot {
	opacity: 1;
	transform: scale(1.4);
}
.boujee-toc-item:focus-visible {
	outline: 2px solid var(--boujee-gold);
	outline-offset: 4px;
	border-radius: 50%;
}
/* Shifted up when sticky-enroll bar is visible at bottom */
.boujee-toc.is-shifted { transform: translateY(calc(-50% - 40px)); }
.boujee-toc { transition: transform .35s var(--boujee-ease); }

/* Reading progress bar — fixed 2px gold bar at top of single posts */
.boujee-reading-progress {
	position: fixed;
	top: 0; left: 0; right: 0;
	height: 3px;
	z-index: 80;
	background: rgba(212,162,74,0.1);
	pointer-events: none;
}
.boujee-reading-progress-bar {
	display: block;
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, var(--boujee-gold) 0%, var(--boujee-gold-400) 100%);
	transition: width .15s linear;
}

/* Lang switcher loading state */
.boujee-lang-floater.is-loading {
	pointer-events: none;
	opacity: 0.85;
}
.boujee-lang-floater.is-loading::after {
	content: attr(data-busy-label);
	position: absolute;
	bottom: calc(100% + 8px);
	right: 0;
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	padding: 6px 12px;
	border-radius: var(--boujee-radius-pill);
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 8px 20px -8px rgba(14,42,47,0.3);
}

/* ---------- 36. Blog post card -------------------------------- */
.boujee-post-card {
	display: flex;
	flex-direction: column;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	box-shadow: var(--boujee-shadow-card);
	transition: transform .35s var(--boujee-ease), box-shadow .35s var(--boujee-ease);
	height: 100%;
}
.boujee-post-card:hover { transform: translateY(-4px); box-shadow: var(--boujee-shadow-card-hover); }
.boujee-post-card-link {
	display: flex; flex-direction: column;
	color: inherit;
	height: 100%;
}
.boujee-post-card-media {
	aspect-ratio: 16 / 10;
	background: var(--boujee-stone-100);
	overflow: hidden;
}
.boujee-post-card-img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .8s var(--boujee-ease);
}
.boujee-post-card:hover .boujee-post-card-img { transform: scale(1.04); }
.boujee-post-card-placeholder {
	width: 100%; height: 100%;
	display: grid; place-items: center;
	color: var(--boujee-gold);
	background: linear-gradient(135deg, var(--boujee-stone-100), var(--boujee-cream));
	opacity: 0.6;
}
.boujee-post-card-body {
	padding: 24px 24px 28px;
	display: flex; flex-direction: column; gap: 10px;
	flex: 1;
}
.boujee-post-card-cat {
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	font-weight: 500;
}
.boujee-post-card-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--boujee-ink);
}
.boujee-post-card-excerpt {
	font-size: 0.9375rem;
	color: var(--boujee-ink-500);
	line-height: 1.55;
	margin: 0;
}
.boujee-post-card-meta {
	margin-top: auto;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}

/* ---------- 36b. Single post + byline + pagination ------------- */
.boujee-post-feature {
	margin: 0;
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	box-shadow: var(--boujee-shadow-card);
}
.boujee-post-feature-img {
	width: 100%;
	height: auto;
	display: block;
	max-height: 540px;
	object-fit: cover;
}
.boujee-post-content { max-width: 720px; margin: 0 auto; }
.boujee-post-byline {
	max-width: 720px;
	margin: 56px auto 0;
	padding: 28px;
	background: var(--boujee-stone-100);
	border-radius: var(--boujee-radius-lg);
	display: flex; gap: 18px; align-items: flex-start;
}
.boujee-post-byline-avatar { border-radius: 50%; }
.boujee-post-byline-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-post-byline-name {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.125rem;
	margin: 4px 0 8px;
}
.boujee-post-byline p { margin: 0 0 8px; font-size: 0.9375rem; color: var(--boujee-ink-500); line-height: 1.55; }
.boujee-post-byline-link { font-family: var(--boujee-font-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--boujee-gold); }

.boujee-pagination {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
	margin-top: 56px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.boujee-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 14px;
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-pill);
	color: var(--boujee-ink);
	transition: background .25s var(--boujee-ease), color .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-pagination .page-numbers:hover { background: var(--boujee-ink); color: var(--boujee-cream); border-color: var(--boujee-ink); }
.boujee-pagination .page-numbers.current { background: var(--boujee-gold); color: var(--boujee-ink); border-color: var(--boujee-gold); }

.boujee-empty {
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
	padding: 56px 0;
}
.boujee-empty .boujee-eyebrow { justify-content: center; }
.boujee-empty h2 { margin-top: 14px; }
.boujee-empty .boujee-actions-row { justify-content: center; }

/* ---------- 37. Services — pricing cards (one per dog size) ---- */
.boujee-pricing-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	max-width: 1100px;
	margin: 0 auto;
}
@media (min-width: 640px) { .boujee-pricing-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .boujee-pricing-cards { grid-template-columns: repeat(4, 1fr); gap: 24px; } }

.boujee-pricing-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: 32px 28px 28px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	box-shadow: var(--boujee-shadow-card);
	transition: transform .3s var(--boujee-ease),
	            box-shadow .3s var(--boujee-ease),
	            border-color .25s var(--boujee-ease);
	position: relative;
	overflow: hidden;
}
.boujee-pricing-card::before {
	content: "";
	position: absolute;
	inset: auto -60px -60px auto;
	width: 200px; height: 200px;
	background: radial-gradient(circle, rgba(212,162,74,0.10) 0%, rgba(212,162,74,0) 65%);
	opacity: 0;
	transition: opacity .35s var(--boujee-ease);
	pointer-events: none;
}
.boujee-pricing-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--boujee-shadow-card-hover);
	border-color: rgba(212,162,74,0.55);
}
.boujee-pricing-card:hover::before { opacity: 1; }
.boujee-pricing-card-popular {
	border-color: rgba(212,162,74,0.55);
	box-shadow: var(--boujee-shadow-card-hover);
}
.boujee-pricing-card-badge {
	position: absolute;
	top: 14px; right: 14px;
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	padding: 5px 12px;
	font-family: var(--boujee-font-mono);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	border-radius: var(--boujee-radius-pill);
	z-index: 2;
}

.boujee-pricing-card-head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
}
.boujee-pricing-card-letter {
	font-family: var(--boujee-font-display);
	font-weight: 700;
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--boujee-gold);
}
.boujee-pricing-card-size {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	font-weight: 500;
}

.boujee-pricing-card-rows {
	margin: 0;
	padding-top: 18px;
	border-top: 1px solid var(--boujee-stone-200);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.boujee-pricing-card-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}
.boujee-pricing-card-row dt {
	font-family: var(--boujee-font-display);
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--boujee-ink);
	margin: 0;
}
.boujee-pricing-card-row dd {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.25rem;
	color: var(--boujee-ink);
	letter-spacing: -0.02em;
	margin: 0;
}
.boujee-pricing-card-row-feat dt { color: var(--boujee-ink-500); }
.boujee-pricing-card-row-feat dd { color: var(--boujee-gold-600); }

/* Light variant of the cross-program callout (for cream sections) */
.boujee-cross-program-light {
	background: var(--boujee-stone-100);
	border: 1px solid var(--boujee-stone-200);
}
.boujee-cross-program-light:hover {
	border-color: rgba(212,162,74,0.6);
	background: var(--boujee-cream);
}
.boujee-cross-program-light h3 {
	color: var(--boujee-ink);
	font-family: var(--boujee-font-display);
}
.boujee-cross-program-light p {
	color: var(--boujee-ink-500);
}

.boujee-addons-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	max-width: 960px;
	margin: 0 auto;
}
@media (min-width: 640px) { .boujee-addons-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.boujee-addon {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: 32px 28px 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	text-align: center;
	transition: transform .3s var(--boujee-ease),
	            box-shadow .3s var(--boujee-ease),
	            border-color .25s var(--boujee-ease);
	position: relative;
	overflow: hidden;
}
.boujee-addon::before {
	content: "";
	position: absolute;
	inset: auto -60px -60px auto;
	width: 200px; height: 200px;
	background: radial-gradient(circle, rgba(212,162,74,0.10) 0%, rgba(212,162,74,0) 65%);
	opacity: 0;
	transition: opacity .35s var(--boujee-ease);
	pointer-events: none;
}
.boujee-addon:hover {
	transform: translateY(-3px);
	box-shadow: var(--boujee-shadow-card);
	border-color: rgba(212,162,74,0.55);
}
.boujee-addon:hover::before { opacity: 1; }
.boujee-addon-icon {
	width: 52px; height: 52px;
	display: grid; place-items: center;
	background: var(--boujee-gold-50);
	color: var(--boujee-gold-600);
	border-radius: 50%;
	margin-bottom: 4px;
	transition: background .25s var(--boujee-ease), color .25s var(--boujee-ease);
}
.boujee-addon:hover .boujee-addon-icon {
	background: var(--boujee-gold);
	color: var(--boujee-ink);
}
.boujee-addon-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}
.boujee-addon-name {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--boujee-ink);
	letter-spacing: -0.005em;
	line-height: 1.3;
	margin: 0;
}
.boujee-addon-price {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.625rem;
	color: var(--boujee-gold-600);
	letter-spacing: -0.02em;
	margin-top: 4px;
}

.boujee-included-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	max-width: 880px;
	margin: 0 auto;
}
@media (min-width: 768px) { .boujee-included-columns { grid-template-columns: 1fr 1fr; gap: 48px; } }
.boujee-included-col h3 {
	font-family: var(--boujee-font-display);
	font-size: 1.25rem;
	margin-bottom: 14px;
}
.boujee-included-col p { color: var(--boujee-ink-500); font-size: 0.9375rem; line-height: 1.65; white-space: pre-line; }

/* ---------- 38. About — mission section (editorial pull-quote) --- */
/* Block lives on a dark ink section. Visual hierarchy:
   - Oversized decorative " glyph watermark behind the text
   - Centered gold rule with "Our mission" label inline
   - Big Fraunces italic mission, drop-cap on first letter
   - Three small gold-icon proof pills below */

.boujee-mission-block {
	max-width: 920px;
	margin: 0 auto;
	text-align: center;
	padding: 0;
}

/* Top rule: gold line — small label — gold line */
.boujee-mission-rule {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-bottom: 32px;
}
.boujee-mission-rule span {
	display: block;
	flex: 0 1 96px;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--boujee-gold) 100%);
}
.boujee-mission-rule span + small + span {
	background: linear-gradient(90deg, var(--boujee-gold) 0%, transparent 100%);
}
.boujee-mission-rule small {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--boujee-gold);
}

/* The mission text itself */
.boujee-mission-text {
	font-family: var(--boujee-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.625rem, 3.4vw, 2.5rem);
	line-height: 1.32;
	letter-spacing: -0.01em;
	color: var(--boujee-cream);
	margin: 0;
	padding: 0;
	border: none;
}
.boujee-mission-text p { margin: 0; }

/* Drop cap on first letter — bigger Fraunces, gold, sits next to text */
.boujee-mission-text p[data-boujee-dropcap]::first-letter {
	font-family: var(--boujee-font-display);
	font-style: italic;
	font-weight: 600;
	float: left;
	font-size: 5em;
	line-height: 0.82;
	color: var(--boujee-gold);
	padding: 8px 14px 0 0;
	margin-top: 4px;
}
@media (max-width: 640px) {
	.boujee-mission-text p[data-boujee-dropcap]::first-letter {
		font-size: 3.5em;
		padding: 4px 10px 0 0;
	}
}

/* Proof pills row */
.boujee-mission-pills {
	list-style: none;
	margin: 40px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.boujee-mission-pills li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: rgba(251, 247, 238, 0.06);
	border: 1px solid rgba(212, 162, 74, 0.40);
	border-radius: var(--boujee-radius-pill);
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--boujee-cream);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.boujee-mission-pills li svg { color: var(--boujee-gold); flex: 0 0 auto; }

.boujee-credentials-grid {
	display: grid; grid-template-columns: 1fr;
	gap: 24px;
}
@media (min-width: 768px) { .boujee-credentials-grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
.boujee-credential-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: clamp(28px, 4vw, 40px);
	display: flex; flex-direction: column; gap: 12px;
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease);
}
.boujee-credential-card:hover { transform: translateY(-3px); box-shadow: var(--boujee-shadow-card); }
.boujee-credential-icon {
	width: 48px; height: 48px;
	display: grid; place-items: center;
	background: var(--boujee-gold-50);
	color: var(--boujee-gold-600);
	border-radius: 50%;
	margin-bottom: 4px;
}
.boujee-credential-card h3 {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.375rem;
	margin: 0 0 4px;
}
.boujee-credential-card p { margin: 0; line-height: 1.6; }
.boujee-credentials-list {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 10px;
}
.boujee-credentials-list li {
	position: relative; padding-left: 22px;
	font-size: 0.9375rem;
	margin: 0;
}
.boujee-credentials-list li::before {
	content: ""; position: absolute;
	left: 0; top: 7px;
	width: 12px; height: 1px;
	background: var(--boujee-gold);
}

/* About page — Welcome section (centered single-col by default) */
.boujee-welcome {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}
.boujee-welcome .boujee-welcome-content > .boujee-eyebrow { justify-content: center; }
.boujee-welcome-heading {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	letter-spacing: -0.02em;
	font-size: clamp(1.625rem, 3vw, 2.25rem);
	margin: 16px 0 24px;
	color: var(--boujee-ink);
}
.boujee-welcome-body {
	font-size: 1.125rem;
	line-height: 1.65;
	color: var(--boujee-ink);
	margin: 0 0 24px;
}
.boujee-welcome-signoff {
	font-family: var(--boujee-font-display);
	font-style: italic;
	font-weight: 500;
	font-size: 1.25rem;
	color: var(--boujee-gold-600);
	margin: 0;
}

/* About page — Welcome with image (2-col, image right) */
.boujee-welcome-with-image {
	max-width: none;
	text-align: left;
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
	align-items: center;
}
@media (min-width: 1024px) {
	.boujee-welcome-with-image {
		grid-template-columns: 1fr 1.15fr; /* slight extra room for landscape photos */
		gap: 80px;
	}
}
.boujee-welcome-with-image .boujee-welcome-content { max-width: 560px; }
.boujee-welcome-with-image .boujee-welcome-content > .boujee-eyebrow { justify-content: flex-start; }
.boujee-welcome-with-image .boujee-welcome-heading {
	font-size: clamp(1.875rem, 3.4vw, 2.625rem);
	line-height: 1.1;
}
.boujee-welcome-media {
	position: relative;
}
/* Respect the uploaded image's native aspect ratio. Works for
   portrait, landscape (1500x1000, 16x9, etc.), and square uploads. */
.boujee-welcome-img {
	width: 100%;
	height: auto;
	max-height: 720px;
	border-radius: var(--boujee-radius-lg);
	object-fit: cover;
	box-shadow: var(--boujee-shadow-card);
	display: block;
}
.boujee-welcome-media::before {
	content: "";
	position: absolute;
	top: -16px; left: -16px;
	width: 50%; height: 60%;
	background: var(--boujee-gold-50);
	border-radius: var(--boujee-radius-lg);
	z-index: -1;
}
@media (max-width: 1023px) {
	.boujee-welcome-media::before { display: none; }
}

/* Mission section — dark backdrop, radial atmosphere, decorative
   oversized quote watermark behind the text. */
.boujee-mission-section {
	position: relative;
	overflow: hidden;
	padding-top: clamp(80px, 11vw, 140px);
	padding-bottom: clamp(80px, 11vw, 140px);
}
.boujee-mission-section::before {
	content: "";
	position: absolute;
	top: -120px; right: -120px;
	width: 540px; height: 540px;
	background: radial-gradient(circle, rgba(212,162,74,0.16) 0%, rgba(212,162,74,0) 65%);
	pointer-events: none;
	z-index: 0;
}
.boujee-mission-section::after {
	content: "";
	position: absolute;
	bottom: -120px; left: -100px;
	width: 480px; height: 480px;
	background: radial-gradient(circle, rgba(31,183,192,0.14) 0%, rgba(31,183,192,0) 65%);
	pointer-events: none;
	z-index: 0;
}
.boujee-mission-section > * { position: relative; z-index: 1; }

/* Oversized decorative " glyph behind the quote — visual anchor */
.boujee-mission-watermark {
	position: absolute;
	top: 4%;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--boujee-font-display);
	font-style: italic;
	font-weight: 700;
	font-size: clamp(18rem, 40vw, 32rem);
	line-height: 0.7;
	color: var(--boujee-gold);
	opacity: 0.08;
	pointer-events: none;
	user-select: none;
	z-index: 0;
}

/* About page — 3-card info grid (Visit · Hours · Class Schedules) */
.boujee-info-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 768px) { .boujee-info-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .boujee-info-grid { grid-template-columns: 1fr 1fr 1.1fr; gap: 24px; } }
.boujee-info-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: 28px 30px;
	display: flex; flex-direction: column; gap: 14px;
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-info-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--boujee-shadow-card);
	border-color: rgba(212,162,74,0.4);
}
.boujee-info-card-feature {
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	border-color: rgba(212,162,74,0.3);
}
.boujee-info-card-feature .boujee-info-card-eyebrow { color: var(--boujee-gold); }
.boujee-info-card-feature .day,
.boujee-info-card-feature address,
.boujee-info-card-feature p { color: var(--boujee-cream); }
.boujee-info-card-feature .time { color: rgba(251,247,238,0.72); }
.boujee-info-card-feature .boujee-info-card-rows > div {
	border-bottom-color: rgba(251,247,238,0.12);
}
.boujee-info-card-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	font-weight: 500;
}
.boujee-info-card address {
	font-style: normal;
	font-family: var(--boujee-font-display);
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--boujee-ink);
	margin: 0;
}
.boujee-info-card-link {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--boujee-ink);
	font-size: 0.9375rem;
	font-family: var(--boujee-font-display);
	font-weight: 500;
}
.boujee-info-card-link:hover { color: var(--boujee-gold); }
.boujee-info-card-link svg { color: var(--boujee-gold); flex: 0 0 auto; }
.boujee-info-card-cta {
	margin-top: auto;
	padding-top: 8px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	display: inline-flex; align-items: center; gap: 6px;
	transition: gap .25s var(--boujee-ease);
}
.boujee-info-card-cta:hover { gap: 10px; }
.boujee-info-card-rows {
	display: flex; flex-direction: column; gap: 4px;
}
.boujee-info-card-rows > div {
	display: flex; flex-direction: column; gap: 2px;
	padding: 10px 0;
	border-bottom: 1px dashed var(--boujee-stone-200);
}
.boujee-info-card-rows > div:last-of-type { border-bottom: none; }
.boujee-info-card-rows .day {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1rem;
}
.boujee-info-card-rows .time {
	font-family: var(--boujee-font-mono);
	font-size: 0.8125rem;
	color: var(--boujee-ink-500);
	letter-spacing: 0.04em;
}
.boujee-info-card-foot {
	margin: auto 0 0;
	padding-top: 8px;
	font-size: 0.8125rem;
	color: var(--boujee-ink-500);
	line-height: 1.55;
}
.boujee-info-card-feature .boujee-info-card-foot { color: rgba(251,247,238,0.65); }

.boujee-about-collage-narrow { max-width: 1000px; margin: 0 auto; }

/* Service area section — labeled chip groups (Cities + ZIPs) above
   a prominent rounded map. Reads as a brochure block, not a wall of
   text. */
.boujee-service-section .boujee-section-header { margin-bottom: 40px; }

/* Single cities group (ZIP codes group dropped per user request). */
.boujee-service-cities {
	max-width: 960px;
	margin: 0 auto 40px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-align: center;
	align-items: center;
}
.boujee-service-cities .boujee-service-chips {
	justify-content: center;
}

/* Legacy 2-group grid retained for backward compat if any cached HTML
   still references it. */
.boujee-service-groups {
	max-width: 960px;
	margin: 0 auto 40px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
@media (min-width: 768px) {
	.boujee-service-groups { grid-template-columns: 1fr 1fr; gap: 48px; }
}

.boujee-service-group {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.boujee-service-group-label {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}

.boujee-service-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.boujee-service-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-pill);
	padding: 9px 16px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--boujee-ink);
	white-space: nowrap;
	box-shadow: 0 1px 0 rgba(14, 42, 47, 0.04);
	transition: border-color .2s var(--boujee-ease), background .2s var(--boujee-ease), transform .15s var(--boujee-ease), box-shadow .2s var(--boujee-ease);
}
.boujee-service-chip:hover {
	border-color: var(--boujee-gold);
	background: rgba(212, 162, 74, 0.06);
}
.boujee-service-chip svg { color: var(--boujee-gold); flex: 0 0 auto; }

/* Link variant — same chip frame, but clickable + has lift on hover */
a.boujee-service-chip,
a.boujee-service-chip-link {
	text-decoration: none;
	cursor: pointer;
}
a.boujee-service-chip:hover,
a.boujee-service-chip-link:hover {
	background: var(--boujee-gold);
	border-color: var(--boujee-gold);
	color: var(--boujee-ink);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(212, 162, 74, 0.25);
}
a.boujee-service-chip:hover svg,
a.boujee-service-chip-link:hover svg { color: var(--boujee-ink); }

/* ZIP chips: smaller, monospaced, no icon */
.boujee-service-chip-zip {
	padding: 6px 12px;
	font-size: 10.5px;
	letter-spacing: 0.16em;
	color: var(--boujee-ink-500);
}

.boujee-service-map {
	max-width: 1080px;
	margin: 0 auto;
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	box-shadow: var(--boujee-shadow-card);
	border: 1px solid var(--boujee-stone-200);
	background: var(--boujee-cream);
}
.boujee-service-map iframe { display: block; width: 100%; }

/* ---------- 39. Contact — grid + info cards + map + quick links */
.boujee-contact-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
}
@media (min-width: 1024px) { .boujee-contact-grid { grid-template-columns: 1.4fr 1fr; gap: 72px; } }
.boujee-contact-form-wrap > h2 { margin: 14px 0 24px; }
.boujee-form-fallback-note { font-size: 0.8125rem; margin-top: 12px; }

.boujee-contact-info {
	display: flex; flex-direction: column; gap: 18px;
}
.boujee-contact-info-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	padding: 26px 28px;
	display: flex; flex-direction: column; gap: 10px;
}
.boujee-contact-info-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	font-weight: 500;
}
.boujee-contact-info-card address {
	font-style: normal;
	font-family: var(--boujee-font-display);
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--boujee-ink);
}
.boujee-contact-info-big {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.375rem;
	letter-spacing: -0.01em;
	color: var(--boujee-ink);
	display: block;
}
.boujee-contact-info-big:hover { color: var(--boujee-gold); }
.boujee-contact-info-email { font-size: 1rem; font-weight: 400; color: var(--boujee-ink-500); }
.boujee-contact-hours { display: flex; flex-direction: column; gap: 6px; }
.boujee-contact-hours > div { display: flex; justify-content: space-between; gap: 12px; font-size: 0.875rem; }
.boujee-contact-hours .day { font-family: var(--boujee-font-display); font-weight: 600; }

.boujee-contact-map {
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	box-shadow: var(--boujee-shadow-card);
}
.boujee-contact-map iframe { display: block; width: 100%; }

.boujee-quick-link {
	display: flex; flex-direction: column;
	gap: 10px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: 28px 28px 24px;
	color: var(--boujee-ink);
	transition: transform .3s var(--boujee-ease), box-shadow .3s var(--boujee-ease), border-color .25s var(--boujee-ease);
	height: 100%;
}
.boujee-quick-link:hover {
	transform: translateY(-3px);
	box-shadow: var(--boujee-shadow-card);
	border-color: rgba(212,162,74,0.45);
	color: var(--boujee-ink);
}
.boujee-quick-link-icon {
	width: 44px; height: 44px;
	display: grid; place-items: center;
	background: var(--boujee-gold-50);
	color: var(--boujee-gold-600);
	border-radius: 50%;
	margin-bottom: 4px;
}
.boujee-quick-link h3 {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.25rem;
	margin: 0;
}
.boujee-quick-link p { margin: 0; color: var(--boujee-ink-500); font-size: 0.9375rem; line-height: 1.55; }
.boujee-quick-link-cta {
	margin-top: auto;
	padding-top: 14px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	display: inline-flex; align-items: center; gap: 6px;
	transition: gap .25s var(--boujee-ease);
}
.boujee-quick-link:hover .boujee-quick-link-cta { gap: 10px; }

/* ---------- 28. Page hero (program / services / about / contact) */
.boujee-page-hero {
	position: relative;
	isolation: isolate;
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	padding: clamp(80px, 12vw, 140px) 0 clamp(56px, 8vw, 96px);
	overflow: hidden;
}
.boujee-page-hero::before {
	content: "";
	position: absolute;
	top: -120px; right: -80px;
	width: 540px; height: 540px;
	background: radial-gradient(circle, rgba(212,162,74,0.18) 0%, rgba(212,162,74,0) 70%);
	pointer-events: none;
	z-index: 0;
}
.boujee-page-hero::after {
	content: "";
	position: absolute;
	bottom: -120px; left: -80px;
	width: 480px; height: 480px;
	background: radial-gradient(circle, rgba(31,183,192,0.16) 0%, rgba(31,183,192,0) 70%);
	pointer-events: none;
	z-index: 0;
}
.boujee-page-hero > * { position: relative; z-index: 1; }
.boujee-page-hero h1, .boujee-page-hero h2 { color: var(--boujee-cream); }
.boujee-page-hero .boujee-eyebrow { color: var(--boujee-gold); }
.boujee-page-hero .boujee-eyebrow::before { background: var(--boujee-gold); opacity: 0.7; }
.boujee-page-hero-title {
	font-family: var(--boujee-font-display);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.04;
	font-size: clamp(1.875rem, 4.2vw, 3.25rem);
	margin: 16px 0 18px;
	max-width: 22ch;
}
.boujee-page-hero-sub {
	max-width: 56ch;
	color: rgba(251,247,238,0.78);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 26px;
}
.boujee-page-hero-meta {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 14px 28px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(251,247,238,0.72);
	padding: 12px 0;
	border-top: 1px solid rgba(251,247,238,0.15);
	border-bottom: 1px solid rgba(251,247,238,0.15);
}
.boujee-page-hero-meta strong { color: var(--boujee-gold); font-weight: 500; }
.boujee-page-hero-actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }

/* Image-backed page hero — swap halos for content-darken overlay */
.boujee-page-hero-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.boujee-page-hero-image::before {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	top: 0; right: 0; bottom: 0; left: 0;
	background:
		radial-gradient(circle at 75% 30%, rgba(212,162,74,0.12) 0%, rgba(212,162,74,0) 60%),
		linear-gradient(105deg, rgba(14,42,47,0.92) 0%, rgba(14,42,47,0.78) 38%, rgba(14,42,47,0.45) 65%, rgba(14,42,47,0.22) 90%);
	pointer-events: none;
	z-index: 0;
}
.boujee-page-hero-image::after { display: none; }
@media (max-width: 1024px) {
	.boujee-page-hero-image::before {
		background: linear-gradient(180deg, rgba(14,42,47,0.78) 0%, rgba(14,42,47,0.55) 40%, rgba(14,42,47,0.65) 70%, rgba(14,42,47,0.9) 100%);
	}
}

/* ---------- 29. Program detail — light stats strip ------------- */
.boujee-stats-light {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin-top: 0;
}
@media (min-width: 768px) { .boujee-stats-light { grid-template-columns: repeat(4, 1fr); } }
.boujee-stat-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	padding: 24px 22px 22px;
	display: flex; flex-direction: column; gap: 8px;
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease);
}
.boujee-stat-card:hover { transform: translateY(-2px); box-shadow: var(--boujee-shadow-card); }
.boujee-stat-card-value {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.875rem, 3vw, 2.5rem);
	color: var(--boujee-ink);
	line-height: 1;
}
.boujee-stat-card-value-accent { color: var(--boujee-gold); }
.boujee-stat-card-label {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}

/* ---------- 30. Program detail — long description + outcomes -- */
.boujee-prose {
	max-width: 720px;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--boujee-ink);
}
.boujee-prose p { margin: 0 0 1.2em; }
.boujee-prose h2, .boujee-prose h3 { margin-top: 1.5em; }
.boujee-prose ul, .boujee-prose ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.boujee-prose blockquote {
	font-family: var(--boujee-font-display);
	font-style: italic;
	border-left: 3px solid var(--boujee-gold);
	padding: 0.5em 0 0.5em 1.5em;
	margin: 1.5em 0;
	color: var(--boujee-ink-500);
}
.boujee-prose a { color: var(--boujee-teal-700); text-decoration: underline; text-underline-offset: 3px; }

/* One outcome per row — full-width single-column stack at every
   breakpoint so long item text never gets squeezed. */
.boujee-outcomes-list {
	list-style: none; padding: 0; margin: 32px 0 0;
	display: grid; grid-template-columns: 1fr; gap: 14px;
}
.boujee-outcomes-list li {
	position: relative; padding-left: 36px;
	font-family: var(--boujee-font-display);
	font-weight: 500;
	font-size: 1.0625rem;
	line-height: 1.4;
	color: var(--boujee-ink);
	margin: 0;
}
.boujee-outcomes-list li::before {
	content: ""; position: absolute;
	left: 0; top: 2px;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--boujee-gold-50);
}
.boujee-outcomes-list li::after {
	content: ""; position: absolute;
	left: 6px; top: 9px;
	width: 10px; height: 5px;
	border-left: 2px solid var(--boujee-gold-600);
	border-bottom: 2px solid var(--boujee-gold-600);
	transform: rotate(-45deg);
}

/* ---------- 30b. Program intro 2-column grid ------------------- */
.boujee-program-intro-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
	align-items: center; /* image vertically aligns with text column */
}
.boujee-program-intro-grid.has-media { gap: 56px; }
@media (min-width: 1024px) {
	.boujee-program-intro-grid.has-media {
		grid-template-columns: 1.05fr 1fr;
		gap: 72px;
	}
}
.boujee-program-intro-content { min-width: 0; }

/* SEO H2 above the program overview prose */
.boujee-program-overview-heading {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 2.6vw, 2.125rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--boujee-ink);
	margin: 0 0 22px;
}

/* Primary + secondary CTAs below the outcomes list */
.boujee-program-overview-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 36px;
}
.boujee-program-overview-ctas .boujee-btn { gap: 8px; }
@media (max-width: 540px) {
	.boujee-program-overview-ctas { flex-direction: column; align-items: stretch; }
	.boujee-program-overview-ctas .boujee-btn { justify-content: center; }
}
.boujee-program-intro-media {
	position: relative;
}
@media (min-width: 1024px) {
	.boujee-program-intro-media {
		position: sticky;
		top: 110px;
	}
}
.boujee-program-intro-media .boujee-program-intro-img {
	width: 100%;
	height: auto;
	border-radius: var(--boujee-radius-lg);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	box-shadow: var(--boujee-shadow-card);
}
.boujee-program-intro-media::before {
	content: "";
	position: absolute;
	top: -16px; right: -16px;
	width: 50%; height: 60%;
	background: var(--boujee-gold-50);
	border-radius: var(--boujee-radius-lg);
	z-index: -1;
}
@media (max-width: 1023px) {
	.boujee-program-intro-media::before { display: none; }
}

/* ---------- 31. Tuition breakdown table ------------------------ */
.boujee-tuition {
	max-width: 640px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	overflow: hidden;
}
.boujee-tuition-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
	padding: 18px 24px;
	border-bottom: 1px solid var(--boujee-stone-200);
}
.boujee-tuition-row:last-of-type { border-bottom: none; }
.boujee-tuition-label {
	font-family: var(--boujee-font-display);
	font-size: 1.0625rem;
	color: var(--boujee-ink);
}
.boujee-tuition-amount {
	font-family: var(--boujee-font-mono);
	font-size: 0.9375rem;
	color: var(--boujee-ink-500);
	letter-spacing: 0.06em;
}
.boujee-tuition-total {
	background: var(--boujee-gold-50);
	border-top: 2px solid var(--boujee-gold);
	padding: 22px 24px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
}
.boujee-tuition-total .boujee-tuition-label {
	font-weight: 600;
	font-family: var(--boujee-font-display);
	color: var(--boujee-ink);
}
.boujee-tuition-total .boujee-tuition-amount {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.5rem;
	color: var(--boujee-gold-600);
	letter-spacing: -0.01em;
}

/* ---------- 31b. Tuition 2-col grid + included panel ----------- */
.boujee-tuition-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: start;
}
@media (min-width: 1024px) {
	.boujee-tuition-grid { grid-template-columns: 1fr 1fr; gap: 56px; }
}
.boujee-tuition-grid .boujee-tuition { max-width: none; }

.boujee-included {
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	border-radius: var(--boujee-radius-md);
	padding: clamp(28px, 4vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 14px;
	position: relative;
	overflow: hidden;
}
.boujee-included::before {
	content: "";
	position: absolute;
	top: -80px; right: -80px;
	width: 280px; height: 280px;
	background: radial-gradient(circle, rgba(212,162,74,0.15) 0%, rgba(212,162,74,0) 65%);
	pointer-events: none;
}
.boujee-included > * { position: relative; z-index: 1; }
.boujee-included-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	font-weight: 500;
}
.boujee-included-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	letter-spacing: -0.02em;
	font-size: 1.625rem;
	color: var(--boujee-cream);
	margin: 0 0 4px;
}
.boujee-included-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.boujee-included-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: rgba(251,247,238,0.88);
	font-size: 0.9375rem;
	line-height: 1.55;
	margin: 0;
}
.boujee-included-list li svg {
	flex: 0 0 auto;
	margin-top: 5px;
	color: var(--boujee-gold);
	width: 16px;
	height: 16px;
}
.boujee-included-cta { align-self: flex-start; margin-top: 12px; }

/* ---------- 32. Compliance callout ----------------------------- */
.boujee-compliance {
	background: var(--boujee-stone-100);
	border-left: 3px solid var(--boujee-gold);
	border-radius: var(--boujee-radius-sm);
	padding: 22px 24px;
	max-width: 720px;
	margin: 32px 0 0;
}
.boujee-compliance-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	font-weight: 500;
	margin-bottom: 10px;
	display: block;
}
.boujee-compliance p {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--boujee-ink);
	line-height: 1.6;
}

/* ---------- 33. Admission card grid ---------------------------- */
.boujee-admission-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
@media (min-width: 768px) {
	.boujee-admission-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
}
.boujee-admission-card {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: clamp(28px, 4vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: transform .3s var(--boujee-ease),
	            box-shadow .3s var(--boujee-ease),
	            border-color .25s var(--boujee-ease);
	position: relative;
	overflow: hidden;
}
.boujee-admission-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--boujee-shadow-card-hover);
	border-color: rgba(212,162,74,0.5);
}
.boujee-admission-card::after {
	content: "";
	position: absolute;
	inset: auto -60px -60px auto;
	width: 200px; height: 200px;
	background: radial-gradient(circle, rgba(212,162,74,0.08) 0%, rgba(212,162,74,0) 65%);
	opacity: 0;
	transition: opacity .35s var(--boujee-ease);
	pointer-events: none;
}
.boujee-admission-card:hover::after { opacity: 1; }
.boujee-admission-card-icon {
	width: 48px; height: 48px;
	display: grid; place-items: center;
	background: var(--boujee-gold-50);
	color: var(--boujee-gold-600);
	border-radius: 50%;
	margin-bottom: 4px;
}
.boujee-admission-card-disclosure .boujee-admission-card-icon {
	background: var(--boujee-teal-50);
	color: var(--boujee-teal-700);
}
.boujee-admission-card-eyebrow {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	font-weight: 500;
}
.boujee-admission-card-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	margin: 0 0 4px;
	color: var(--boujee-ink);
}
.boujee-admission-card p {
	margin: 0 0 12px;
	color: var(--boujee-ink);
	line-height: 1.6;
}
.boujee-admission-card p:last-child { margin-bottom: 0; }

.boujee-admission-list {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 14px;
}
.boujee-admission-list li {
	position: relative; padding-left: 28px;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--boujee-ink);
	margin: 0;
}
.boujee-admission-list li::before {
	content: "";
	position: absolute;
	left: 0; top: 7px;
	width: 16px; height: 1px;
	background: var(--boujee-gold);
}

/* ---------- 34. Inline CTA strip ------------------------------- */
.boujee-cta-strip {
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	border-radius: var(--boujee-radius-lg);
	padding: clamp(32px, 5vw, 56px);
	margin-top: 56px;
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
	align-items: center;
}
@media (min-width: 768px) { .boujee-cta-strip { grid-template-columns: 1.4fr 1fr; gap: 40px; } }
.boujee-cta-strip h2, .boujee-cta-strip h3 { color: var(--boujee-cream); margin: 0 0 8px; }
.boujee-cta-strip p { color: rgba(251,247,238,0.78); margin: 0; }
.boujee-cta-strip-actions {
	display: flex; flex-wrap: wrap; gap: 12px;
	justify-content: flex-start;
}
@media (min-width: 768px) { .boujee-cta-strip-actions { justify-content: flex-end; } }

/* ---------- 35a. Homepage curriculum toggle -------------------- */
.boujee-curriculum-section {
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	position: relative;
	overflow: hidden;
}
.boujee-curriculum-section::before {
	content: "";
	position: absolute;
	top: -150px; right: -100px;
	width: 580px; height: 580px;
	background: radial-gradient(circle, rgba(31,183,192,0.15) 0%, rgba(31,183,192,0) 65%);
	pointer-events: none;
	z-index: 0;
}
.boujee-curriculum-section > * { position: relative; z-index: 1; }
.boujee-curriculum-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 56px;
	align-items: start;
}
@media (min-width: 1024px) {
	.boujee-curriculum-grid { grid-template-columns: 1fr 1.5fr; gap: 80px; }
}
.boujee-curriculum-intro h2 {
	font-family: var(--boujee-font-display);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.04;
	font-size: clamp(2rem, 4vw, 3.25rem);
	color: var(--boujee-cream);
	margin: 18px 0 22px;
}
.boujee-curriculum-intro p {
	max-width: 42ch;
	color: rgba(251,247,238,0.78);
	line-height: 1.65;
}
.boujee-curriculum-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--boujee-gold);
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	transition: gap .25s var(--boujee-ease);
}
.boujee-curriculum-cta:hover { gap: 12px; color: var(--boujee-gold-400); }

.boujee-curriculum-tabs {
	display: flex;
	gap: 4px;
	background: rgba(251,247,238,0.06);
	border: 1px solid rgba(251,247,238,0.14);
	border-radius: var(--boujee-radius-pill);
	padding: 4px;
	margin-bottom: 24px;
	width: fit-content;
}
.boujee-curriculum-tab {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 10px 22px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(251,247,238,0.65);
	border-radius: var(--boujee-radius-pill);
	transition: background .25s var(--boujee-ease), color .25s var(--boujee-ease);
}
.boujee-curriculum-tab:hover { color: var(--boujee-cream); }
.boujee-curriculum-tab[aria-selected="true"] {
	background: var(--boujee-gold);
	color: var(--boujee-ink);
}
.boujee-curriculum-tab:focus-visible {
	outline: 2px solid var(--boujee-gold);
	outline-offset: 3px;
}

.boujee-curriculum-panel { display: block; }
.boujee-curriculum-panel[hidden] { display: none; }

.boujee-curriculum-table {
	background: rgba(251,247,238,0.04);
	border: 1px solid rgba(251,247,238,0.12);
	border-radius: var(--boujee-radius-md);
	overflow: hidden;
}
.boujee-curriculum-row {
	display: grid;
	grid-template-columns: 80px 1fr auto;
	align-items: center;
	gap: 18px;
	padding: 18px 22px;
	border-bottom: 1px solid rgba(251,247,238,0.08);
}
.boujee-curriculum-row:last-of-type { border-bottom: none; }
.boujee-curriculum-row .code {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	color: var(--boujee-gold);
	font-weight: 500;
}
.boujee-curriculum-row .name {
	font-family: var(--boujee-font-display);
	font-size: 1.0625rem;
	color: var(--boujee-cream);
	letter-spacing: -0.01em;
}
.boujee-curriculum-row .hours {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	color: rgba(251,247,238,0.7);
	white-space: nowrap;
}
.boujee-curriculum-row-total {
	background: var(--boujee-gold);
	border-top: none;
}
.boujee-curriculum-row-total .code { color: var(--boujee-ink); font-weight: 600; }
.boujee-curriculum-row-total .name {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	color: var(--boujee-ink);
}
.boujee-curriculum-row-total .hours {
	font-family: var(--boujee-font-mono);
	font-weight: 600;
	color: var(--boujee-ink);
	font-size: 12px;
	letter-spacing: 0.12em;
}
@media (max-width: 640px) {
	.boujee-curriculum-row { grid-template-columns: 70px 1fr; gap: 12px; padding: 16px 18px; }
	.boujee-curriculum-row .hours { grid-column: 2; padding-top: 4px; }
}

/* ---------- 35. Course descriptions accordion (program detail) - */
/* Course descriptions — tabbed layout (rail + detail panel).
   Visually distinct from the FAQ accordion below the testimonial. */
.boujee-courses-tabs {
	max-width: 960px;
	margin: 0 auto;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	overflow: hidden;
	box-shadow: var(--boujee-shadow-card);
}
.boujee-courses-tabs-rail {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	padding: 16px clamp(20px, 3vw, 32px);
	background: var(--boujee-stone-100);
	border-bottom: 1px solid var(--boujee-stone-200);
	overflow-x: auto;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}
.boujee-courses-tab {
	flex: 0 0 auto;
	background: transparent;
	border: 1px solid transparent;
	color: var(--boujee-ink-500);
	padding: 8px 16px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	border-radius: var(--boujee-radius-pill);
	cursor: pointer;
	white-space: nowrap;
	transition: background .25s var(--boujee-ease),
	            color .25s var(--boujee-ease),
	            border-color .25s var(--boujee-ease);
}
.boujee-courses-tab:hover {
	color: var(--boujee-ink);
	border-color: var(--boujee-stone-200);
}
.boujee-courses-tab[aria-selected="true"] {
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	border-color: var(--boujee-gold);
}
.boujee-courses-tab:focus-visible {
	outline: 2px solid var(--boujee-gold);
	outline-offset: 2px;
}
.boujee-courses-panel { padding: clamp(28px, 4vw, 40px); }
.boujee-courses-panel[hidden] { display: none; }
.boujee-courses-panel-code {
	display: inline-block;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-teal-700);
	background: var(--boujee-teal-50);
	padding: 4px 12px;
	border-radius: var(--boujee-radius-pill);
	margin-bottom: 14px;
}
.boujee-courses-panel-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.375rem, 2.4vw, 1.75rem);
	letter-spacing: -0.02em;
	margin: 0 0 16px;
	color: var(--boujee-ink);
	line-height: 1.25;
}
.boujee-courses-panel-body {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--boujee-ink);
	margin-bottom: 24px;
}
.boujee-courses-panel-body p { margin: 0 0 14px; }
.boujee-courses-panel-body p:last-child { margin-bottom: 0; }
.boujee-courses-panel-competencies {
	padding-top: 18px;
	border-top: 1px dashed var(--boujee-stone-200);
}
.boujee-courses-panel-competencies-label {
	display: block;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	margin-bottom: 10px;
}
.boujee-courses-panel-competencies-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.boujee-course-competency {
	/* High-contrast: ink text on cream, stone-200 border. Was teal-on-
	   teal which failed WCAG. The accent now reads as a subtle hairline,
	   not the whole pill, so the text stays the focal element. */
	background: var(--boujee-cream);
	color: var(--boujee-ink);
	border: 1px solid var(--boujee-stone-200);
	font-family: var(--boujee-font-mono);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: var(--boujee-radius-pill);
}

/* ---------- 35b. Blog category filter tabs (light variant) -------- */
/* Used on home.php and archive.php. Mirrors the courses-tabs visual
   language but stays entirely on the cream/stone palette so it lives
   comfortably on the cream blog index — never goes dark. */
.boujee-blog-tabs {
	margin: 0 0 40px;
}
.boujee-blog-tabs-rail {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
}
@media (max-width: 768px) {
	.boujee-blog-tabs-rail {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		padding-bottom: 4px;
		margin: 0 calc(var(--boujee-gutter, 20px) * -1);
		padding-left: var(--boujee-gutter, 20px);
		padding-right: var(--boujee-gutter, 20px);
	}
}
.boujee-blog-tab {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	color: var(--boujee-ink-500);
	padding: 9px 16px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	border-radius: var(--boujee-radius-pill);
	text-decoration: none;
	white-space: nowrap;
	transition: background .25s var(--boujee-ease),
	            color .25s var(--boujee-ease),
	            border-color .25s var(--boujee-ease),
	            transform .25s var(--boujee-ease);
}
.boujee-blog-tab:hover {
	color: var(--boujee-ink);
	border-color: var(--boujee-ink-500);
	background: var(--boujee-stone-50, var(--boujee-cream));
	transform: translateY(-1px);
}
.boujee-blog-tab.is-active,
.boujee-blog-tab[aria-selected="true"] {
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	border-color: var(--boujee-gold);
}
.boujee-blog-tab.is-active:hover,
.boujee-blog-tab[aria-selected="true"]:hover {
	transform: translateY(-1px);
	background: var(--boujee-gold);
	color: var(--boujee-ink);
}
.boujee-blog-tab:focus-visible {
	outline: 2px solid var(--boujee-gold);
	outline-offset: 2px;
}
.boujee-blog-tab-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	padding: 1px 7px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--boujee-ink-500);
	background: var(--boujee-stone-100);
	border-radius: var(--boujee-radius-pill);
}
.boujee-blog-tab.is-active .boujee-blog-tab-count,
.boujee-blog-tab[aria-selected="true"] .boujee-blog-tab-count {
	background: rgba(14, 42, 47, 0.12);
	color: var(--boujee-ink);
}

/* ---------- 21. Phase 1 hello-world demo block ----------------- */
.boujee-bootstrap {
	max-width: 880px;
	margin: 96px auto;
	padding: 48px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	box-shadow: var(--boujee-shadow-card);
}
.boujee-bootstrap h1 { margin-top: 12px; }
.boujee-bootstrap-swatches {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin-top: 32px;
}
@media (min-width: 768px) {
	.boujee-bootstrap-swatches { grid-template-columns: repeat(4, 1fr); }
}
.boujee-bootstrap-swatch {
	aspect-ratio: 4 / 3;
	border-radius: var(--boujee-radius-md);
	display: grid;
	align-content: end;
	padding: 14px;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.boujee-bootstrap-swatch.ink   { background: var(--boujee-ink);   color: var(--boujee-cream); }
.boujee-bootstrap-swatch.teal  { background: var(--boujee-teal);  color: var(--boujee-ink); }
.boujee-bootstrap-swatch.gold  { background: var(--boujee-gold);  color: var(--boujee-ink); }
.boujee-bootstrap-swatch.coral { background: var(--boujee-coral); color: var(--boujee-ink); }

/* ---------- 36. CIE / FL DOE prominent approval block ----------- */
/* Used on homepage between Programs and Curriculum, on single
   program detail at the end of Curriculum, and on the About page.
   Visually distinct trust signal — large centered card, gold seal,
   canonical CIE wording, Verify-on-fldoe.org primary action. */

.boujee-cie {
	position: relative;
	padding: clamp(56px, 8vw, 96px) 0;
}
.boujee-cie-cream { background: var(--boujee-cream); }
.boujee-cie-stone { background: var(--boujee-stone-100); }
.boujee-cie-dark  { background: var(--boujee-ink); color: var(--boujee-cream); }

/* Hairline borders top + bottom set the section apart from neighbors */
.boujee-cie::before,
.boujee-cie::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: min(960px, calc(100% - 48px));
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--boujee-gold) 50%, transparent 100%);
	opacity: 0.55;
	pointer-events: none;
}
.boujee-cie::before { top: 0; }
.boujee-cie::after  { bottom: 0; }
.boujee-cie-dark::before,
.boujee-cie-dark::after { opacity: 0.45; }

.boujee-cie-card {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

.boujee-cie-seal {
	color: var(--boujee-gold);
	display: inline-flex;
	margin-bottom: 6px;
	filter: drop-shadow(0 6px 16px rgba(212, 162, 74, 0.18));
}
.boujee-cie-dark .boujee-cie-seal {
	color: var(--boujee-gold);
	filter: drop-shadow(0 6px 16px rgba(212, 162, 74, 0.28));
}

.boujee-cie-eyebrow {
	display: inline-block;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	padding: 6px 14px;
	background: rgba(212, 162, 74, 0.10);
	border: 1px solid rgba(212, 162, 74, 0.30);
	border-radius: var(--boujee-radius-pill);
}

.boujee-cie-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 3vw, 2.5rem);
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: inherit;
	margin: 0;
}
.boujee-cie-title .boujee-italic-gold {
	font-style: italic;
	color: var(--boujee-gold);
}

.boujee-cie-sub {
	font-family: var(--boujee-font-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	justify-content: center;
}
.boujee-cie-dark .boujee-cie-sub { color: var(--boujee-stone-200); }

.boujee-cie-license-num {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	background: rgba(14, 42, 47, 0.06);
	border-radius: var(--boujee-radius-pill);
	color: var(--boujee-ink);
	font-weight: 600;
}
.boujee-cie-dark .boujee-cie-license-num {
	background: rgba(251, 247, 238, 0.12);
	color: var(--boujee-cream);
}

.boujee-cie-body {
	max-width: 620px;
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--boujee-ink);
	margin: 6px 0 4px;
}
.boujee-cie-dark .boujee-cie-body { color: var(--boujee-stone-100); }

.boujee-cie-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 8px;
}
.boujee-cie-actions .boujee-btn { gap: 8px; }

@media (max-width: 640px) {
	.boujee-cie-actions { flex-direction: column; width: 100%; max-width: 360px; }
	.boujee-cie-actions .boujee-btn { width: 100%; justify-content: center; }
	.boujee-cie-sub { font-size: 11px; gap: 10px; }
}

/* ---------- 37. Homepage pricing section --------------------------- */
/* Mirrors the /services/ pricing grid + add-ons row. Reuses the
   existing .boujee-pricing-card design so prices look identical
   in both places. */

.boujee-home-pricing { padding-top: clamp(64px, 9vw, 110px); padding-bottom: clamp(64px, 9vw, 110px); }

.boujee-home-pricing .boujee-section-header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 48px;
}
.boujee-home-pricing-heading {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	line-height: 1.18;
	letter-spacing: -0.02em;
	margin: 8px 0 14px;
	color: var(--boujee-ink);
}
.boujee-home-pricing-desc {
	font-size: 1.05rem;
	color: var(--boujee-ink-500);
	line-height: 1.65;
	margin: 0;
}

/* Reuse the .boujee-pricing-cards grid from /services/ — no override
   needed beyond a slight max-width so the cards don't stretch on wide
   screens. */
.boujee-home-pricing-cards {
	max-width: 1080px;
	margin: 0 auto 56px;
}

/* Add-ons row — flex layout so each pill sizes to its content. Wider
   pills (like "Sanitary Area & Paw Trimming") get the room they need
   without wrapping. Below 640px, pills stack vertically full-width. */
.boujee-home-addons {
	max-width: 1080px;
	margin: 0 auto 48px;
	text-align: center;
}
.boujee-home-addons-eyebrow {
	display: block;
	margin-bottom: 18px;
	color: var(--boujee-ink-500);
}
.boujee-home-addons-grid {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
@media (min-width: 640px) {
	.boujee-home-addons-grid {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 14px;
	}
}

.boujee-home-addon {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 22px;
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-pill);
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
	white-space: nowrap;
	flex: 0 1 auto;
}
.boujee-home-addon:hover {
	transform: translateY(-1px);
	border-color: var(--boujee-gold);
	box-shadow: 0 4px 12px rgba(14, 42, 47, 0.06);
}
.boujee-home-addon-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(212, 162, 74, 0.16);
	color: var(--boujee-gold);
	flex: 0 0 auto;
}
.boujee-home-addon-name {
	flex: 1;
	font-size: 0.94rem;
	font-weight: 500;
	color: var(--boujee-ink);
	text-align: left;
}
.boujee-home-addon-price {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: 1.1rem;
	color: var(--boujee-gold);
}

/* Footer trust + CTA */
.boujee-home-pricing-foot {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	text-align: center;
}
.boujee-home-pricing-trust {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	margin: 0;
}
.boujee-home-pricing-trust svg { color: var(--boujee-teal-700); flex: 0 0 auto; }

/* ---------- 37b. Section rhythm (auto-alternation) ----------------- */
/* The JS rhythm pass in assets/js/main.js walks every section under
   <main> and assigns data-rhythm="cream" or data-rhythm="stone" on
   sections that need to flip away from their author-declared tone.
   Dark sections (ink / overlay-hero / page-hero / CIE dark variant)
   reset the run counter — the next bright section keeps its
   intended tone.

   The CSS just respects the data-rhythm attribute when present. No
   template / partial edits needed. To opt OUT, add the
   .boujee-section-locked class to a section — the JS skips it. */

[data-rhythm="cream"] { background: var(--boujee-cream) !important; }
[data-rhythm="stone"] { background: var(--boujee-stone-100) !important; }

/* ---------- 38. Tools & equipment section + modal ----------------- */
/* Single-program section that advertises the included Artero tool
   kit + opens a modal listing every tool. */

.boujee-tools-section { padding: clamp(48px, 7vw, 80px) 0; }

.boujee-tools-card {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: center;
	padding: clamp(28px, 4vw, 44px);
	background: linear-gradient(135deg, rgba(212,162,74,0.10) 0%, rgba(212,162,74,0.04) 60%, transparent 100%), var(--boujee-cream);
	border: 1px solid rgba(212,162,74,0.30);
	border-radius: var(--boujee-radius-lg);
	box-shadow: var(--boujee-shadow-card);
}
@media (min-width: 900px) {
	.boujee-tools-card { grid-template-columns: 72px 1fr auto; gap: 32px; }
}

.boujee-tools-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--boujee-gold);
	color: var(--boujee-ink);
	flex: 0 0 auto;
}

.boujee-tools-card-body { flex: 1; min-width: 0; }
.boujee-tools-card-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.375rem, 2.4vw, 1.875rem);
	line-height: 1.22;
	letter-spacing: -0.015em;
	color: var(--boujee-ink);
	margin: 8px 0 12px;
}
.boujee-tools-card-sub {
	color: var(--boujee-ink-500);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
	max-width: 620px;
}

.boujee-tools-card-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	flex: 0 0 auto;
}
@media (min-width: 900px) { .boujee-tools-card-actions { align-items: flex-end; } }

.boujee-tools-card-counter {
	margin: 0;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}

/* ---- Modal ------------------------------------------------------- */

.boujee-tools-modal {
	position: fixed;
	inset: 0;
	z-index: 9000;
	display: flex;
	align-items: stretch;
	justify-content: center;
	pointer-events: none;
	opacity: 0;
	transition: opacity .25s var(--boujee-ease);
}
.boujee-tools-modal[hidden] { display: none !important; }
.boujee-tools-modal.is-open { opacity: 1; pointer-events: auto; }

.boujee-tools-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(14, 42, 47, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.boujee-tools-modal-panel {
	position: relative;
	margin: auto;
	width: min(880px, calc(100% - 32px));
	max-height: calc(100vh - 64px);
	background: var(--boujee-cream);
	border-radius: var(--boujee-radius-lg);
	box-shadow: 0 24px 64px rgba(14, 42, 47, 0.35);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transform: translateY(20px) scale(0.98);
	transition: transform .3s var(--boujee-ease);
}
.boujee-tools-modal.is-open .boujee-tools-modal-panel {
	transform: translateY(0) scale(1);
}

.boujee-tools-modal-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 24px 28px 16px;
	border-bottom: 1px solid var(--boujee-stone-200);
}
.boujee-tools-modal-title {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.25rem, 2vw, 1.625rem);
	letter-spacing: -0.02em;
	color: var(--boujee-ink);
	margin: 8px 0 0;
}
.boujee-tools-modal-close {
	background: transparent;
	border: 1px solid var(--boujee-stone-200);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--boujee-ink-500);
	cursor: pointer;
	transition: all .2s var(--boujee-ease);
	flex: 0 0 auto;
}
.boujee-tools-modal-close:hover {
	background: var(--boujee-ink);
	color: var(--boujee-cream);
	border-color: var(--boujee-ink);
}

.boujee-tools-modal-body {
	padding: 8px 28px 16px;
	overflow-y: auto;
	flex: 1;
}

.boujee-tools-table {
	width: 100%;
	border-collapse: collapse;
}
.boujee-tools-table thead {
	display: none; /* visually hidden — table works as a tabular list */
}
.boujee-tools-table tbody tr {
	border-bottom: 1px solid var(--boujee-stone-100);
}
.boujee-tools-table tbody tr:last-child { border-bottom: 0; }

.boujee-tools-table-img {
	width: 96px;
	padding: 14px 0;
	vertical-align: middle;
}
.boujee-tools-table-img img {
	width: 80px;
	height: 80px;
	border-radius: var(--boujee-radius-md);
	background: var(--boujee-stone-50);
	object-fit: contain;
	padding: 6px;
	display: block;
}
.boujee-tools-table-img-placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: var(--boujee-radius-md);
	background: rgba(212,162,74,0.10);
	color: var(--boujee-gold);
	border: 1px dashed rgba(212,162,74,0.45);
}

.boujee-tools-table-name {
	padding: 14px 0 14px 18px;
	font-size: 0.98rem;
	line-height: 1.45;
	color: var(--boujee-ink);
	vertical-align: middle;
}
.boujee-tools-table-sku {
	display: block;
	margin-top: 4px;
	font-family: var(--boujee-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}

.boujee-tools-modal-foot {
	padding: 16px 28px 24px;
	border-top: 1px solid var(--boujee-stone-200);
	background: var(--boujee-stone-50);
}
.boujee-tools-modal-disclaimer {
	margin: 0;
	font-size: 0.85rem;
	color: var(--boujee-ink-500);
	line-height: 1.55;
}

@media (max-width: 640px) {
	.boujee-tools-modal-panel { width: calc(100% - 16px); max-height: calc(100vh - 32px); }
	.boujee-tools-modal-head  { padding: 18px 18px 12px; }
	.boujee-tools-modal-body  { padding: 8px 18px 12px; }
	.boujee-tools-modal-foot  { padding: 12px 18px 18px; }
	.boujee-tools-table-img   { width: 76px; }
	.boujee-tools-table-img img,
	.boujee-tools-table-img-placeholder { width: 64px; height: 64px; }
	.boujee-tools-table-name  { padding-left: 14px; font-size: 0.92rem; }
}

/* ---------- 39. Google reviews social-proof block ----------------- */
/* Used on single-program pages between the in-depth testimonial and
   the tuition section. Header shows the aggregate rating; three cards
   show short review snippets; foot has the canonical "Read all on
   Google" CTA. */

.boujee-google-reviews { padding-top: clamp(64px, 9vw, 100px); padding-bottom: clamp(64px, 9vw, 100px); }

.boujee-google-reviews-head { margin-bottom: 48px; }
.boujee-google-reviews-summary {
	margin-top: 16px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.boujee-google-reviews-stars {
	display: inline-flex;
	gap: 4px;
	color: var(--boujee-gold);
}
.boujee-google-reviews-count {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
}

.boujee-google-reviews-grid {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 768px) { .boujee-google-reviews-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .boujee-google-reviews-grid { grid-template-columns: repeat(3, 1fr); } }

.boujee-google-review {
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	padding: 26px 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	box-shadow: var(--boujee-shadow-card);
	transition: transform .25s var(--boujee-ease), box-shadow .25s var(--boujee-ease), border-color .25s var(--boujee-ease);
}
.boujee-google-review:hover {
	transform: translateY(-3px);
	box-shadow: var(--boujee-shadow-card-hover);
	border-color: rgba(212, 162, 74, 0.45);
}

.boujee-google-review-head {
	display: flex;
	align-items: center;
	gap: 14px;
}
.boujee-google-review-avatar {
	width: 48px; height: 48px;
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	background: linear-gradient(135deg, var(--boujee-gold), var(--boujee-gold-600));
	color: var(--boujee-ink);
	border-radius: 50%;
	font-family: var(--boujee-font-display);
	font-weight: 700;
	font-size: 1rem;
}
.boujee-google-review-meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.boujee-google-review-author {
	font-family: var(--boujee-font-body);
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--boujee-ink);
}
.boujee-google-review-line {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.boujee-google-review-stars {
	display: inline-flex;
	gap: 2px;
	color: var(--boujee-gold);
}
.boujee-google-review-date {
	font-size: 11.5px;
	color: var(--boujee-ink-500);
	letter-spacing: 0.02em;
}

.boujee-google-review-quote {
	margin: 0;
	padding: 0;
	border: none;
	font-family: var(--boujee-font-body);
	font-size: 0.96rem;
	line-height: 1.6;
	color: var(--boujee-ink);
	font-style: normal;
}
.boujee-google-review-quote::before {
	content: "\201C";
	font-family: var(--boujee-font-display);
	font-size: 2.5rem;
	line-height: 0.7;
	color: var(--boujee-gold);
	margin-right: 6px;
	vertical-align: -10px;
	font-style: italic;
	opacity: 0.6;
}

.boujee-google-reviews-foot {
	margin-top: 48px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

/* ---------- 40. Tuition kit link (opens tools modal) -------------- */
/* The 'Textbook & Student Kit' label row in the tuition breakdown
   carries an inline 'See what's in the kit →' button. Styled as a
   subtle gold link, NOT a CTA button — it shouldn't compete with
   the 'Schedule a 15-min call' primary action in the aside. */

.boujee-tuition-row-linked .boujee-tuition-label {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.boujee-tuition-kit-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	font-family: var(--boujee-font-mono);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--boujee-gold);
	cursor: pointer;
	transition: color .2s var(--boujee-ease), gap .2s var(--boujee-ease);
}
.boujee-tuition-kit-link:hover,
.boujee-tuition-kit-link:focus-visible {
	color: var(--boujee-ink);
	gap: 8px; /* arrow nudges right on hover */
	outline: none;
}
.boujee-tuition-kit-link svg { transition: transform .2s var(--boujee-ease); }
.boujee-tuition-kit-link:hover svg { transform: translateX(2px); }

/* ---------- 41. Legal pages (Privacy, Terms, Refund, etc.) ------- */
/* Editorial reading layout: narrow comfortable column, generous
   spacing, proper H2/H3 hierarchy that doesn't compete with the
   page-hero H1 above, list spacing, and a contact card at the
   bottom that mirrors the global brand. */

.boujee-page-hero-legal { background: linear-gradient(135deg, var(--boujee-ink) 0%, var(--boujee-ink-700, #0a1f23) 100%); color: var(--boujee-cream); }
.boujee-page-hero-legal .boujee-eyebrow { color: var(--boujee-gold); }
.boujee-page-hero-legal .boujee-page-hero-title { color: var(--boujee-cream); }
.boujee-page-hero-legal .boujee-page-hero-sub {
	color: var(--boujee-stone-200);
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-top: 10px;
}

.boujee-legal-section { padding-top: clamp(48px, 7vw, 80px); padding-bottom: clamp(56px, 8vw, 96px); }

.boujee-legal-article {
	max-width: 760px;
	margin: 0 auto;
	font-family: var(--boujee-font-body);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--boujee-ink);
}

/* First paragraph reads as a lede */
.boujee-legal-article > p:first-of-type {
	font-size: 1.15rem;
	line-height: 1.6;
	color: var(--boujee-ink);
	margin-bottom: 28px;
}

/* Section headings */
.boujee-legal-article h2,
.boujee-legal-article h3 {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	letter-spacing: -0.015em;
	color: var(--boujee-ink);
	scroll-margin-top: 100px;
}
.boujee-legal-article h2 {
	font-size: clamp(1.375rem, 2vw, 1.625rem);
	line-height: 1.25;
	margin: 48px 0 12px;
	padding-top: 24px;
	border-top: 1px solid var(--boujee-stone-200);
}
.boujee-legal-article > h2:first-child { padding-top: 0; border-top: 0; margin-top: 0; }
.boujee-legal-article h3 {
	font-size: clamp(1.125rem, 1.4vw, 1.25rem);
	line-height: 1.3;
	margin: 32px 0 10px;
}

.boujee-legal-article p { margin: 0 0 16px; }
.boujee-legal-article strong { font-weight: 600; color: var(--boujee-ink); }
.boujee-legal-article em { color: var(--boujee-ink-500); }

/* Links */
.boujee-legal-article a {
	color: var(--boujee-ink);
	text-decoration: underline;
	text-decoration-color: var(--boujee-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	transition: color .2s var(--boujee-ease);
}
.boujee-legal-article a:hover { color: var(--boujee-gold); }

/* Lists */
.boujee-legal-article ul,
.boujee-legal-article ol {
	margin: 0 0 20px;
	padding-left: 24px;
}
.boujee-legal-article ul { list-style: none; padding-left: 0; }
.boujee-legal-article ul li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 10px;
}
.boujee-legal-article ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 13px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--boujee-gold);
}
.boujee-legal-article ol li { margin-bottom: 10px; padding-left: 6px; }
.boujee-legal-article ol li::marker { color: var(--boujee-gold); font-weight: 600; }

/* Tables (Refund schedule, etc.) */
.boujee-legal-article table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0 28px;
	font-size: 0.96rem;
	background: var(--boujee-cream);
	border-radius: var(--boujee-radius-md);
	overflow: hidden;
	box-shadow: 0 1px 0 var(--boujee-stone-200);
}
.boujee-legal-article th,
.boujee-legal-article td {
	padding: 14px 18px;
	text-align: left;
	border-bottom: 1px solid var(--boujee-stone-200);
	vertical-align: top;
}
.boujee-legal-article th {
	font-family: var(--boujee-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	background: var(--boujee-stone-100);
}
.boujee-legal-article tr:last-child td { border-bottom: 0; }

/* Blockquote — for the "consult an attorney" type notes if added */
.boujee-legal-article blockquote {
	margin: 24px 0;
	padding: 18px 24px;
	border-left: 3px solid var(--boujee-gold);
	background: rgba(212, 162, 74, 0.06);
	border-radius: 0 var(--boujee-radius-md) var(--boujee-radius-md) 0;
	color: var(--boujee-ink);
	font-style: italic;
}

/* Bottom contact aside — branded contact card */
.boujee-legal-contact {
	max-width: 760px;
	margin: 64px auto 0;
	padding: 36px clamp(28px, 4vw, 44px);
	background: var(--boujee-cream);
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-lg);
	box-shadow: var(--boujee-shadow-card);
	text-align: center;
}
.boujee-legal-contact h2 {
	font-family: var(--boujee-font-display);
	font-weight: 600;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	margin: 8px 0 12px;
	color: var(--boujee-ink);
}
.boujee-legal-contact p { color: var(--boujee-ink-500); margin: 0 0 24px; }

.boujee-legal-contact-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 640px) { .boujee-legal-contact-grid { grid-template-columns: repeat(3, 1fr); } }

.boujee-legal-contact-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 20px 14px;
	background: var(--boujee-stone-50, var(--boujee-cream));
	border: 1px solid var(--boujee-stone-200);
	border-radius: var(--boujee-radius-md);
	font-size: 0.94rem;
	color: var(--boujee-ink);
	text-align: center;
}
.boujee-legal-contact-card strong {
	font-family: var(--boujee-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--boujee-ink-500);
	font-weight: 500;
}
.boujee-legal-contact-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(212, 162, 74, 0.14);
	color: var(--boujee-gold);
	margin-bottom: 4px;
}
.boujee-legal-contact-card a {
	color: var(--boujee-ink);
	text-decoration: none;
	font-weight: 500;
}
.boujee-legal-contact-card a:hover { color: var(--boujee-gold); }

/* ---------- 42. Horizontal-overflow safety net -------------------- */
/* Several full-bleed decorations (mission watermark, CIE gold rules,
   radial-glow ::before/::after pseudo-elements) sit outside the
   container with absolute positioning. On narrow mobile viewports
   those can push the page wider than 100vw and create the white
   strip-on-the-right effect the user reported. Clipping at html +
   body + main eliminates the symptom without affecting layout. */
html, body { overflow-x: clip; max-width: 100%; }
main         { overflow-x: clip; }
.boujee-section,
.boujee-mission-section,
.boujee-cie,
.boujee-page-hero,
.boujee-hero { overflow-x: clip; }

/* Map iframe — width: 100% sometimes loses 1-2px when scrollbars
   change. Force flex-shrink and box-sizing to be safe. */
.boujee-service-map iframe,
.boujee-contact-map iframe { max-width: 100%; box-sizing: border-box; }

