/* ==========================================================================
   Books & Reflections Page - Page Banner (title + breadcrumb)
   ========================================================================== */
.page-banner{
	position:relative;
	padding-top:calc(var(--header-height) + 70px);
	padding-bottom:60px;
	background-color:var(--color-bg-soft);
	background-image:var(--page-banner-bg);
	background-size:cover;
	background-position:top;
	overflow:hidden;
}

.page-banner__inner{
	position:relative;
	z-index:2;
}

.page-banner__breadcrumb{
	font-family:var(--font-body);
	font-size:14px;
	margin-bottom:16px;
}

.page-banner__breadcrumb a{
	color:var(--color-text-muted);
	transition:color .25s ease;
}

.page-banner__breadcrumb a:hover{
	color:var(--color-gold-dark);
}

.page-banner__separator{
	margin:0 8px;
	color:var(--color-text-muted);
}

.page-banner__current{
	color:var(--color-gold-dark);
	font-weight:600;
}

.page-banner__title{
	font-family:var(--font-heading);
	font-size:clamp(34px, 4.4vw, 28px);
	font-weight:600;
	line-height:1.15;
	color:var(--color-black);
	margin:0;
}

/* ==========================================================================
   Responsive - Page Banner
   ========================================================================== */
@media (max-width: 768px){

	.page-banner{
		padding-top:calc(var(--header-height) + 40px);
		padding-bottom:44px;
	}
}


/* ==========================================================================
   Books & Reflections Page - Books Grid
   ========================================================================== */
.books-grid{
	background:var(--color-bg);
	padding:60px 0;
}

.books-grid__head{
	text-align:center;
	max-width:620px;
	margin:0 auto 56px;
}

.books-grid__eyebrow{
	font-family:var(--font-heading);
	font-size:14px;
	font-weight:400;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--color-gold-dark);
	margin:0 0 12px;
}

.books-grid__heading{
	font-family:var(--font-heading);
	font-size:clamp(28px, 3.2vw, 40px);
	font-weight:600;
	color:var(--color-black);
	margin:0;
}

.books-grid__list{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:32px;
}

.book-card{
	display:flex;
	flex-direction:column;
	width:100%;
	min-width:0;
}

.book-card__cover{
	position:relative;
	display:block;
	width:100%;
	height:340px;
	margin:0 0 24px;
	border-radius:6px;
	overflow:hidden;
	/*box-shadow:0 20px 40px rgba(17,17,17,0.14);*/
	background:var(--color-bg-soft);
	transition:transform .4s ease;
}

.book-card__cover img{
	display:block;
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.book-card:hover .book-card__cover{
	transform:translateY(-6px);
}


.book-card__title{
	font-family:var(--font-heading);
	font-size:19px;
	font-weight:600;
	color:var(--color-black);
	margin:0 0 10px;
	line-height:1.3;
}

.book-card__desc{
	font-family:var(--font-body);
	font-size:14.5px;
	line-height:1.7;
	color:var(--color-text-muted);
	margin:0 0 18px;
}

.book-card__link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:var(--font-heading);
	font-size:14.5px;
	font-weight:600;
	color:var(--color-black);
	width:fit-content;
	padding-bottom:2px;
	/*border-bottom:1px solid var(--color-gold);*/
}
.book-card__link:hover{
    color: var(--color-gold) ;
}

.book-card__link svg{
	transition:transform .3s ease;
}

.book-card__link:hover svg{
	transform:translateX(4px);
}

.book-card__audio{
	margin-top:16px;
	padding-top:16px;
	border-top:1px solid var(--color-border);
}

.book-card__audio-label{
	display:block;
	font-family:var(--font-heading);
	font-size:12.5px;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
	color:var(--color-gold-dark);
	margin-bottom:10px;
}

.book-card__player{
	width:100%;
	height:38px;
	margin-bottom:10px;
}

.book-card__download{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:var(--font-body);
	font-size:13px;
	font-weight:600;
	color:var(--color-text-muted);
	transition:color .25s ease;
}

.book-card__download:hover{
	color:var(--color-gold-dark);
}

/* ---- Coming Soon state ---- */
.book-card--soon .book-card__cover img{
	filter:grayscale(60%);
	opacity:0.7;
}

.book-card__badge{
	position:absolute;
	top:14px;
	right:14px;
	background:var(--color-black);
	color:var(--color-gold);
	font-family:var(--font-heading);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
	padding:6px 14px;
	border-radius:20px;
	z-index:2;
}

.book-card__soon-text{
	display:block;
	font-family:var(--font-body);
	font-size:13.5px;
	font-style:italic;
	color:var(--color-text-muted);
	margin-top:6px;
}
/* ==========================================================================
   Responsive - Books Grid
   ========================================================================== */
@media (max-width: 1024px){

	.books-grid{
		padding:70px 0;
	}

	.books-grid__list{
		gap:28px;
	}
}

@media (max-width: 600px){

	.books-grid__head{
		margin-bottom:40px;
	}

	.books-grid__list{
		grid-template-columns:1fr;
		max-width:340px;
		margin:0 auto;
		gap:44px;
	}
	.book-card__cover{
		height:320px;
	}
}

@media (max-width: 480px){

	.books-grid{
		padding:56px 0;
	}
}

/* ==========================================================================
   Books & Reflections Page - Reflections / Blog Preview
   ========================================================================== */
.reflections{
	background:var(--color-bg-soft);
	padding:60px 0;
}

.reflections__head{
	text-align:center;
	max-width:620px;
	margin:0 auto 56px;
}

.reflections__eyebrow{
	font-family:var(--font-heading);
	font-size:14px;
	font-weight:400;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--color-gold-dark);
	margin:0 0 12px;
}

.reflections__heading{
	font-family:var(--font-heading);
	font-size:clamp(28px, 3.2vw, 40px);
	font-weight:600;
	color:var(--color-black);
	margin:0;
}

.reflections__grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:32px;
}

.reflection-card{
	display:flex;
	flex-direction:column;
	width:100%;
	min-width:0;
	background:var(--color-bg);
	border:1px solid var(--color-border);
	border-radius:6px;
	overflow:hidden;
	transition:transform .35s ease, box-shadow .35s ease;
}

.reflection-card:hover{
	transform:translateY(-8px);
	box-shadow:0 24px 44px rgba(17,17,17,0.1);
}

.reflection-card__image-wrap{
	position:relative;
	height:200px;
	background:var(--color-bg-soft);
	overflow:hidden;
}

.reflection-card__image-wrap img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .5s ease;
}

.reflection-card:hover .reflection-card__image-wrap img{
	transform:scale(1.06);
}

.reflection-card__body{
	padding:24px 22px 26px;
}

.reflection-card__date{
	font-family:var(--font-body);
	font-size:12.5px;
	color:var(--color-gold-dark);
	margin-bottom:8px;
	display:block;
}

.reflection-card__title{
	font-family:var(--font-heading);
	font-size:18px;
	font-weight:600;
	color:var(--color-black);
	margin:0 0 10px;
	line-height:1.3;
}

.reflection-card__excerpt{
	font-family:var(--font-body);
	font-size:14px;
	line-height:1.65;
	color:var(--color-text-muted);
	margin:0;
}

.reflection-card__link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:var(--font-heading);
	font-size:14px;
	font-weight:600;
	color:var(--color-black);
}

.reflection-card__link:hover{
    color:var(--color-gold-dark);
}

.reflection-card__link svg{
	transition:transform .3s ease;
}

.reflection-card:hover .reflection-card__link svg{
	transform:translateX(4px);
}

/* ==========================================================================
   Responsive - Reflections / Blog Preview
   ========================================================================== */
@media (max-width: 1024px){

	.reflections{
		padding:70px 0;
	}

	.reflections__grid{
		grid-template-columns:repeat(2, 1fr);
		gap:28px;
	}
}

@media (max-width: 600px){

	.reflections__head{
		margin-bottom:40px;
	}

	.reflections__grid{
		grid-template-columns:1fr;
		gap:22px;
	}
}

@media (max-width: 480px){

	.reflections{
		padding:56px 0;
	}
}

/* ==========================================================================
   Books & Reflections Page - CTA Banner (Book a Call)
   Same background image, white overlay, and styling as the other pages.
   No bottom padding — sits flush against the footer directly below it.
   ========================================================================== */
.cta-banner{
	position:relative;
	padding:120px 0 60px;
	overflow:hidden;
	text-align:center;
}

.cta-banner__bg{
	position:absolute;
	inset:0;
	background-size:cover;
	background-position:top;
	background-repeat:no-repeat;
	background-attachment:fixed;
	z-index:1;
}

.cta-banner__overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.94) 100%);
	z-index:2;
}

.cta-banner__inner{
	position:relative;
	z-index:3;
	max-width:680px;
	margin:0 auto;
}

.cta-banner__eyebrow{
	font-family:var(--font-heading);
	font-size:14px;
	font-weight:400;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--color-gold-dark);
	margin:0 0 14px;
}

.cta-banner__heading{
	font-family:var(--font-heading);
	font-size:clamp(30px, 4vw, 46px);
	font-weight:600;
	line-height:1.2;
	color:var(--color-black);
	margin:0 0 20px;
}

.cta-banner__desc{
	font-family:var(--font-body);
	font-size:16.5px;
	line-height:1.75;
	color:var(--color-text-muted);
	margin:0 0 38px;
}

.cta-banner__btn{
	display:inline-flex;
	background:var(--color-gold);
	border-color:var(--color-gold);
	color:var(--color-black);
}

.cta-banner__btn:hover{
	background:var(--color-black);
	border-color:var(--color-gold);
	color:#fff;
}

/* ==========================================================================
   Responsive - CTA Banner
   ========================================================================== */
@media (max-width: 768px){

	.cta-banner{
		padding:90px 0 44px;
	}

	.cta-banner__bg{
		background-position:63%;
	}

	.cta-banner__overlay{
		opacity:0.9;
	}
}

@media (max-width: 480px){

	.cta-banner{
		padding:70px 0 36px;
	}

	.cta-banner__desc{
		font-size:15px;
	}

	.cta-banner__btn{
		width:100%;
		text-align:center;
	}

	.cta-banner__bg{
		background-position:63%;
	}

	.cta-banner__overlay{
		opacity:0.9;
	}
}