/* Shared base */
* {
	box-sizing: border-box;
}
html {
	margin: 0;
	padding: 0;
}
:target {
	scroll-margin-top: 84px;
}
:root {
	--ivory: #faf8f3;
	--charcoal: #2b2b2b;
	--mustard: #c79a2b;
	--Raspberry: #b2336c;
	--measure: 720px;
	/* Space above hero copy — identical on every page so content
	   doesn't jump when navigating between pages */
	--hero-top: 88px;
	/* Content column: same max width and side gutters on every page.
	   Use 100%, never 100vw — 100vw includes the scrollbar and makes
	   the column a few pixels narrower than pages that use .wrap */
	--page-max: 1120px;
	--gutter: 34px;
}
@media (max-width: 900px) {
	:root {
		--hero-top: 56px;
		--gutter: 26px;
	}
}
@media (max-width: 560px) {
	:root {
		--gutter: 22px;
	}
}
/* Centered content column */
.nav-inner,
.inner,
.wrap {
	width: min(var(--page-max), calc(100% - var(--gutter) * 2));
	margin: 0 auto;
}
/* Full-bleed band whose content lines up with the column above */
.story-section,
.final-section,
body.page-books .section,
body.page-media .section {
	padding-left: max(var(--gutter), calc((100% - var(--page-max)) / 2));
	padding-right: max(var(--gutter), calc((100% - var(--page-max)) / 2));
}

/* ============ Standard typography (site-wide) ============ */
h1,
h2,
h3 {
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 400;
	color: var(--Raspberry);
	line-height: 1.1;
	margin: 0 0 22px;
}
h1 {
	font-size: clamp(44px, 6vw, 72px);
	line-height: 1.05;
	margin: 0 0 24px;
}
h2 {
	font-size: clamp(32px, 4.5vw, 50px);
}
h3 {
	font-size: clamp(20px, 2vw, 24px);
	line-height: 1.25;
	margin: 0 0 14px;
}
p {
	margin: 0 0 18px;
	line-height: 1.7;
}
.eyebrow,
.smallcap {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mustard);
	line-height: 1.3;
	margin: 0 0 18px;
}
/* Every eyebrow-led block uses the same rhythm on every page:
   eyebrow -> 18px -> heading -> 24px -> copy */
.eyebrow + h1,
.eyebrow + h2,
.eyebrow + h3 {
	margin: 0 0 24px;
}
/* Light heading modifier for dark images/backgrounds — add to an h tag or a wrapping section */
.on-dark,
.on-dark h1,
.on-dark h2,
.on-dark h3 {
	color: #fff;
}

/* ============ Site header & responsive nav (global) ============ */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	/* Frosted glass: intentionally translucent, so the section scrolling
	   under it tints the header */
	background: rgba(250, 248, 243, 0.96);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border-bottom: 1px solid rgba(199, 154, 43, 0.28);
	font-family: Arial, Helvetica, sans-serif;
}
.nav-inner {
	min-height: 66px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 21px;
	font-weight: 400;
	color: #13263b;
	text-decoration: none;
	white-space: nowrap;
}
.brand-logo {
	height: 32px;
	width: auto;
	display: block;
}
.brand span {
	color: #c79a2b;
}
.site-nav {
	display: flex;
	align-items: center;
	gap: 24px;
}
.site-nav a {
	color: #2b2b2b;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01em;
	white-space: nowrap;
	transition: color 0.18s ease;
}
.site-nav a:hover {
	color: #c79a2b;
}
.site-nav a[aria-current='page'] {
	color: #c79a2b;
	box-shadow: inset 0 -2px 0 #c79a2b;
}
.site-nav a.nav-cta {
	background: #c79a2b;
	color: #fff;
	padding: 10px 18px;
	border-radius: 4px;
}
.site-nav a.nav-cta:hover {
	background: #b3891f;
	color: #fff;
}
.site-nav a.nav-cta[aria-current='page'] {
	box-shadow: none;
}
.nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.nav-toggle-bar {
	display: block;
	width: 100%;
	height: 2px;
	background: #2b2b2b;
	transition:
		transform 0.2s ease,
		opacity 0.2s ease;
}
.nav-toggle[aria-expanded='true'] .nav-toggle-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded='true'] .nav-toggle-bar:nth-child(2) {
	opacity: 0;
}
.nav-toggle[aria-expanded='true'] .nav-toggle-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}
@media (max-width: 900px) {
	.nav-toggle {
		display: flex;
	}
	.site-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: var(--ivory);
		border-bottom: 1px solid rgba(199, 154, 43, 0.28);
		padding: 6px 0;
	}
	.site-nav a {
		padding: 14px 34px;
	}
	.site-nav a[aria-current='page'] {
		box-shadow: inset 3px 0 0 #c79a2b;
	}
	.site-nav a.nav-cta {
		background: transparent;
		color: #c79a2b;
		border-radius: 0;
		padding: 14px 34px;
	}
	.site-nav a.nav-cta:hover {
		background: transparent;
		color: #b3891f;
	}
	.js-nav .site-nav {
		display: none;
	}
	.js-nav .nav-toggle[aria-expanded='true'] ~ .site-nav {
		display: flex;
	}
}

/* ============ index.html (.page-home) ============ */
body.page-home {
	--ivory: #faf8f3;
	--charcoal: #2b2b2b;
	--mustard: #c79a2b;
	--cream: #f3ede3;
	--white: #ffffff;
}
body.page-home {
	margin: 0;
	padding: 0;
	/* Ivory like every other page — the frosted header sits directly on
	   the body at scroll top, so a mustard body tinted the nav dark */
	background: var(--ivory);
	color: var(--charcoal);
	font-family: Georgia, 'Times New Roman', serif;
}
body.page-home {
	overflow-x: hidden;
}
body.page-home .page {
	width: 100%;
	background: var(--mustard);
}
body.page-home .section {
	width: 100%;
}
body.page-home .hero {
	background: var(--ivory);
	min-height: 770px;
	display: flex;
	align-items: start;
	padding: var(--hero-top) 0 92px;
}
body.page-home .hero-grid {
	display: grid;
	grid-template-columns: 1fr 0.82fr;
	gap: 74px;
	align-items: start;
}
body.page-home .subhead {
	font-family: Arial, sans-serif;
	font-size: 22px;
	line-height: 1.35;
	margin: 0 0 34px;
	font-weight: 600;
}
body.page-home .km-identity-line {
	font-family: Arial, sans-serif;
	color: var(--mustard);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: none;
	margin: 0 0 50px;
	line-height: 1.5;
}
body.page-home .copy {
	font-family: Arial, sans-serif;
	font-size: 18px;
	line-height: 1.8;
	margin: 0;
}
body.page-home .copy p {
	margin: 0 0 18px;
}
body.page-home .actions {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 38px;
}
body.page-home .btn {
	font-family: Arial, sans-serif;
	text-decoration: none;
	border: 1px solid var(--mustard);
	padding: 15px 24px;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 700;
	display: inline-block;
}
body.page-home .primary {
	background: var(--mustard);
	color: #fff;
}
body.page-home .secondary {
	background: transparent;
	color: var(--charcoal);
}
body.page-home .portrait-wrap {
	position: relative;
}
body.page-home .portrait-wrap:before {
	content: '';
	position: absolute;
	left: -22px;
	bottom: -22px;
	width: 86%;
	height: 86%;
	border: 2px solid var(--mustard);
	z-index: 0;
}
body.page-home .portrait {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 520px;
	object-fit: cover;
	object-position: 50% 20%;
	display: block;
}
body.page-home .welcome {
	background: var(--cream);
	padding: 112px 0;
}
body.page-home .two-col {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 80px;
	align-items: center;
}
body.page-home .photo {
	width: 100%;
	height: 500px;
	object-fit: cover;
	display: block;
}
body.page-home .contribute {
	padding: 116px 0;
	background: var(--ivory);
}
body.page-home .cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin-top: 42px;
}
body.page-home .card {
	background: var(--white);
	border-radius: 8px;
	padding: 32px 26px;
	min-height: 285px;
	box-shadow: 0 14px 35px rgba(43, 43, 43, 0.07);
}
body.page-home .card h3 {
	font-family: Arial, sans-serif;
	font-size: 19px;
	line-height: 1.25;
	margin: 0 0 18px;
}
body.page-home .card p {
	font-family: Arial, sans-serif;
	font-size: 15.5px;
	line-height: 1.65;
	margin: 0;
}
body.page-home .perspective {
	position: relative;
	min-height: 780px;
	background-image:
		linear-gradient(rgba(17, 17, 17, 0.55), rgba(17, 17, 17, 0.55)),
		url('images/home_2_-ajmc.jpg');
	background-size: cover;
	background-position: 50% 35%;
	display: flex;
	align-items: center;
	color: #fff;
}
body.page-home .overlay-text {
	max-width: 640px;
}
body.page-home .overlay-text .copy {
	color: #fff;
}
body.page-home .guides {
	padding: 118px 0 126px;
	background: #fff;
}
body.page-home .guide-list {
	margin-top: 42px;
	font-size: 34px;
	line-height: 1.35;
}
body.page-home .guide-list p {
	margin: 0 0 28px;
}
body.page-home .guide-list strong {
	color: var(--mustard);
	font-weight: 400;
}
body.page-home .cta {
	background: var(--mustard);
	color: #fff;
	text-align: center;
	padding: 104px 0 112px;
}
body.page-home .cta .copy {
	max-width: 780px;
	margin: 0 auto;
	color: #fff;
}
body.page-home .cta .btn {
	margin-top: 34px;
	background: #fff;
	color: var(--charcoal);
	border-color: #fff;
}
@media (max-width: 900px) {
	body.page-home .hero-grid,
	body.page-home .two-col {
		grid-template-columns: 1fr;
		gap: 42px;
	}
	body.page-home .portrait {
		height: 470px;
	}
	body.page-home .cards {
		grid-template-columns: 1fr 1fr;
	}
	body.page-home .perspective {
		min-height: 860px;
	}
	body.page-home .guide-list {
		font-size: 30px;
	}
}
@media (max-width: 560px) {
	body.page-home .subhead {
		font-size: 19px;
	}
	body.page-home .copy {
		font-size: 16px;
	}
	body.page-home .portrait,
	body.page-home .photo {
		height: 390px;
	}
	body.page-home .cards {
		grid-template-columns: 1fr;
	}
	body.page-home .card {
		min-height: auto;
	}
	body.page-home .actions {
		display: block;
	}
	body.page-home .btn {
		width: 100%;
		text-align: center;
		margin-bottom: 12px;
	}
	body.page-home .guide-list {
		font-size: 25px;
	}
	body.page-home .welcome,
	body.page-home .contribute,
	body.page-home .guides,
	body.page-home .cta {
		padding-top: 78px;
		padding-bottom: 84px;
	}
}
body.page-home .welcome-intro {
	max-width: 860px;
	margin: 0 auto 42px;
	text-align: center;
}
body.page-home .wide-photo {
	width: 100%;
	height: 520px;
	object-fit: cover;
	object-position: 50% 42%;
	display: block;
	margin: 0 auto 56px;
}
body.page-home .welcome-copy {
	max-width: 760px;
	margin: 0 auto;
	text-align: left;
}
@media (max-width: 560px) {
	body.page-home .wide-photo {
		height: 320px;
	}
}
body.page-home .trusted-strip {
	background: var(--ivory);
	padding: 54px 0;
	text-align: center;
}
body.page-home .trusted-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px 34px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 22px;
	line-height: 1.3;
	color: var(--charcoal);
}
body.page-home .trusted-list span {
	white-space: nowrap;
}
@media (max-width: 560px) {
	body.page-home .trusted-list {
		display: block;
		font-size: 20px;
	}
	body.page-home .trusted-list span {
		display: block;
		margin-bottom: 14px;
	}
}

/* ============ my-story.html (.page-story) ============ */
body.page-story {
	--ivory: #faf8f3;
	--charcoal: #2b2b2b;
	--mustard: #c79a2b;
}
body.page-story {
	margin: 0;
	background: var(--ivory);
	color: var(--charcoal);
}
body.page-story {
	font-family: Avenir, Helvetica, Arial, sans-serif;
	line-height: 1.55;
}
body.page-story .story-page {
	background: var(--ivory);
	overflow: hidden;
}
body.page-story .story-section {
	width: 100%;
	padding-top: 42px;
	padding-bottom: 42px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 0.7fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
	border-top: 1px solid rgba(199, 154, 43, 0.16);
}
body.page-story .story-section.hero {
	border-top: 0;
	padding-top: var(--hero-top);
	align-items: start;
}
body.page-story .story-section.reverse {
	grid-template-columns: minmax(250px, 0.58fr) minmax(0, 1fr);
}
body.page-story .story-section.reverse .photo {
	order: 1;
}
body.page-story .story-section.reverse .copy {
	order: 2;
}
body.page-story .copy {
	max-width: var(--measure);
}
body.page-story p:not(.eyebrow) {
	margin: 0 0 16px;
	font-size: clamp(17px, 1.55vw, 21px);
}
body.page-story blockquote {
	margin: 72px 0 32px;
	padding-left: 18px;
	border-left: 7px solid var(--mustard);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(28px, 3.2vw, 42px);
	font-weight: 700;
	line-height: 1.08;
}
body.page-story .photo {
	margin: 0;
}
body.page-story .photo img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: 0 14px 34px rgba(43, 43, 43, 0.12);
}
body.page-story .hero-photo img {
	aspect-ratio: 3/4;
	max-height: 440px;
	object-position: center;
	width: min(400px, 75%);
}
body.page-story .small-photo {
	justify-self: start;
	width: min(440px, 100%);
}
body.page-story .small-photo img {
	aspect-ratio: auto;
}
body.page-story .conversation img {
	aspect-ratio: 1/1;
	object-fit: cover;
	object-position: 50% 0%;
	max-height: 520px;
}
body.page-story .landscape img {
	aspect-ratio: 4/3;
	object-position: 50% 55%;
	max-height: 520px;
}
body.page-story .final-photo {
	margin: 0 0 2rem 0;
	max-width: 400px;
	width: 100%;
}

body.page-story .final-photo img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	aspect-ratio: 3/2;
}
body.page-story .final-section {
	padding-top: 58px;
	padding-bottom: 76px;
	background: #fff;
}
body.page-story .final-inner {
	max-width: var(--measure);
	margin: 0;
}
body.page-story .rule {
	width: 76px;
	height: 5px;
	background: var(--mustard);
	margin: 0 0 24px;
}
body.page-story .cta {
	background: var(--Raspberry);
	color: #fff;
	text-align: center;
	padding: 88px max(var(--gutter), calc((100% - var(--page-max)) / 2));
}
body.page-story .cta h2 {
	color: #fff;
}
body.page-story .cta p:not(.eyebrow) {
	max-width: 850px;
	margin: 0 auto 18px;
	font-size: 20px;
}
body.page-story .cta p:last-of-type {
	margin-bottom: 30px;
}
body.page-story .button {
	display: inline-block;
	background: #fff;
	color: var(--Raspberry);
	border-radius: 999px;
	padding: 15px 28px;
	font-family: Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-decoration: none;
}
@media (max-width: 820px) {
	body.page-story .story-section,
	body.page-story .story-section.reverse {
		grid-template-columns: 1fr;
		padding-top: 44px;
		padding-bottom: 44px;
	}
	body.page-story .story-section.reverse .photo,
	body.page-story .story-section.reverse .copy {
		order: initial;
	}
	body.page-story p:not(.eyebrow) {
		font-size: 18px;
	}
	body.page-story .cta {
		padding-top: 64px;
		padding-bottom: 64px;
	}
	body.page-story blockquote {
		font-size: 30px;
	}
}
body.page-story .story-timeline {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
	margin: 72px 0;
	padding: 34px 0;
	border-top: 1px solid rgba(199, 154, 43, 0.35);
	border-bottom: 1px solid rgba(199, 154, 43, 0.35);
}
body.page-story .timeline-item {
	text-align: center;
}
body.page-story .timeline-item span {
	display: block;
	font-family: Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--mustard);
	margin-bottom: 10px;
}
body.page-story .timeline-item p {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 18px;
	line-height: 1.25;
	margin: 0;
	color: var(--charcoal);
}
@media (max-width: 700px) {
	body.page-story .story-timeline {
		grid-template-columns: 1fr 1fr;
		gap: 26px;
	}
}

/* ============ speaking.html (.page-speaking) ============ */
body.page-speaking {
	--ivory: #faf8f3;
	--charcoal: #2b2b2b;
	--mustard: #c79a2b;
	--cream: #f3ede3;
	--white: #fff;
	--ink: #171717;
}
body.page-speaking {
	margin: 0;
	padding: 0;
	background: var(--ivory);
	color: var(--charcoal);
	font-family: Arial, Helvetica, sans-serif;
	overflow-x: hidden;
}
body.page-speaking .page {
	width: 100%;
	background: var(--ivory);
}
body.page-speaking .serif {
	font-family: Georgia, 'Times New Roman', serif;
}
body.page-speaking .hero {
	min-height: 880px;
	display: grid;
	align-items: center;
	justify-items: start;
	text-align: left;
	background:
		linear-gradient(rgba(22, 22, 22, 0.42), rgba(22, 22, 22, 0.5)),
		url('images/speaking_1_-forbesHealth.jpg');
	background-size: cover;
	background-position: center 42%;
	color: #fff;
}
/* body.page-speaking .hero .inner {
	padding-bottom: 96px;
} */
body.page-speaking .hero h1 {
	max-width: 760px;
}
body.page-speaking .hero-copy {
	max-width: var(--measure);
	font-size: 20px;
	line-height: 1.75;
}
body.page-speaking .hero-copy p {
	margin: 0 0 18px;
}
body.page-speaking .expect {
	padding: 110px 0 102px;
	background: var(--ivory);
}
body.page-speaking .lead {
	font-size: 19px;
	line-height: 1.8;
	max-width: var(--measure);
}
body.page-speaking .lead p {
	margin: 0 0 18px;
}
body.page-speaking .three {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 52px;
}
body.page-speaking .expect-card {
	background: #fff;
	border-radius: 8px;
	padding: 34px 30px;
	box-shadow: 0 14px 35px rgba(43, 43, 43, 0.07);
	min-height: 210px;
}
body.page-speaking .expect-card h3 {
	font-size: 22px;
	margin: 0 0 14px;
}
body.page-speaking .expect-card p {
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}
body.page-speaking .photo-band {
	display: grid;
	grid-template-columns: 0.9fr 1.2fr 0.9fr;
	gap: 28px;
	align-items: end;
}
body.page-speaking .photo-band img {
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
	border-radius: 4px;
}
body.page-speaking .photo-caption {
	grid-column: 1 / -1;
	max-width: 100%;
	margin: 32px 0 0;
	padding: 0 40px;
	text-align: center;
	font-family: Arial, sans-serif;
	font-size: 23px;
	line-height: 1.8;
	color: #555;
}
body.page-speaking .signatures {
	padding: 116px 0;
	background: #fff;
}
body.page-speaking .signature-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 38px;
}
body.page-speaking .sig {
	border-top: 3px solid var(--mustard);
	padding: 26px 26px 30px;
	background: var(--ivory);
	min-height: 185px;
}
body.page-speaking .sig h3 {
	font-size: 24px;
	line-height: 1.2;
	margin: 0 0 14px;
}
body.page-speaking .sig p {
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}
body.page-speaking .after {
	background: var(--cream);
	padding: 112px 0;
}
body.page-speaking .after-grid {
	display: grid;
	grid-template-columns: 0.94fr 1fr;
	gap: 70px;
	align-items: center;
}
body.page-speaking .after img {
	width: 100%;
	height: 650px;
	object-fit: cover;
	display: block;
}
body.page-speaking .after .lead {
	max-width: 560px;
}
body.page-speaking .word-stack p {
	margin: 0 0 16px;
}
body.page-speaking .audiences {
	padding: 110px 0;
	background: var(--ivory);
}
body.page-speaking .list-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}
body.page-speaking .pill {
	border: 1px solid rgba(43, 43, 43, 0.18);
	background: #fff;
	padding: 14px 18px;
	border-radius: 4px;
	font-size: 16px;
}
body.page-speaking .topics {
	padding: 104px 0;
	background: #fff;
}
body.page-speaking .topics-grid {
	columns: 3;
	column-gap: 48px;
	font-size: 25px;
	line-height: 1.55;
	font-family: Georgia, 'Times New Roman', serif;
}
body.page-speaking .topics-grid div {
	break-inside: avoid;
	margin: 0 0 12px;
}
body.page-speaking .invite {
	background: var(--mustard);
	color: #fff;
	text-align: center;
	padding: 110px 0 118px;
}
body.page-speaking .invite .lead {
	margin: 0 auto;
	max-width: 780px;
	color: #fff;
}
body.page-speaking .btn {
	display: inline-block;
	margin-top: 36px;
	background: #fff;
	color: var(--charcoal);
	border: 1px solid #fff;
	border-radius: 4px;
	padding: 16px 26px;
	font-weight: 800;
	text-decoration: none;
}
body.page-speaking .closing-photo {
	height: 380px;
	background:
		linear-gradient(rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.18)),
		url('images/speaking_6_hope.png');
	background-size: cover;
	background-position: center 45%;
}
@media (max-width: 900px) {
	body.page-speaking .hero {
		min-height: 760px;
	}
	body.page-speaking .three,
	body.page-speaking .signature-grid,
	body.page-speaking .after-grid {
		grid-template-columns: 1fr;
	}
	body.page-speaking .photo-band {
		grid-template-columns: 1fr;
	}
	body.page-speaking .photo-band img,
	body.page-speaking .photo-band img:nth-child(2) {
		height: 340px;
		margin: 0;
		box-shadow: none;
	}
	body.page-speaking .after img {
		height: 480px;
	}
	body.page-speaking .topics-grid {
		columns: 2;
	}
}
@media (max-width: 560px) {
	body.page-speaking .hero-copy,
	body.page-speaking .lead {
		font-size: 16px;
	}
	body.page-speaking .topics-grid {
		columns: 1;
		font-size: 22px;
	}
	body.page-speaking .after img {
		height: 400px;
	}
	body.page-speaking .pill {
		width: 100%;
	}
}

/* ============ books.html (.page-books) ============ */
body.page-books {
	--ivory: #faf8f3;
	--charcoal: #2b2b2b;
	--mustard: #c79a2b;
	--Raspberry: #b2336c;
	--rose: #d9a6a0;
	--pearl: #f3eee4;
	--white: #fff;
}
body.page-books {
	margin: 0;
	background: var(--ivory);
	color: var(--charcoal);
	font-family: Georgia, 'Times New Roman', serif;
	line-height: 1.55;
}
body.page-books .section {
	padding-top: 88px;
	padding-bottom: 88px;
}
body.page-books .hero {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 58px;
	align-items: start;
	min-height: 680px;
	padding-top: var(--hero-top);
}
body.page-books .lead {
	font-size: 24px;
	line-height: 1.45;
	margin: 0 0 22px;
	max-width: var(--measure);
}
body.page-books p:not(.eyebrow) {
	font-size: 20px;
	margin: 0 0 18px;
}
body.page-books .portrait {
	min-height: 540px;
	border-radius: 8px;
	background:
		linear-gradient(180deg, rgba(19, 38, 59, 0.08), rgba(19, 38, 59, 0.18)),
		url('images/book_1_kommah.jpg') center/cover;
	box-shadow: 0 24px 70px rgba(19, 38, 59, 0.18);
}
body.page-books .white {
	background: #fff;
}
body.page-books .book-row {
	display: grid;
	grid-template-columns: 0.86fr 1.14fr;
	gap: 64px;
	align-items: center;
}
body.page-books .book-row.reverse {
	grid-template-columns: 1.14fr 0.86fr;
}
body.page-books .book-row.reverse .cover-wrap {
	order: 2;
}
body.page-books .subtitle {
	font-size: 24px;
	color: var(--Raspberry);
	line-height: 1.2;
	margin: 0 0 30px;
}
body.page-books .button {
	display: inline-block;
	background: var(--Raspberry);
	color: #fff;
	border-radius: 999px;
	padding: 15px 28px;
	margin-top: 12px;
	font-family: Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
body.page-books .cover-wrap {
	display: flex;
	justify-content: center;
	background: none;
	padding: 0;
	margin: 0;
}
body.page-books .book-cover {
	width: min(330px, 80vw);
	aspect-ratio: 2/3;
	border-radius: 5px;
	box-shadow: none;
	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease;
	position: relative;
	overflow: hidden;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
}
body.page-books .book-cover:hover {
	transform: scale(1.035);
}
body.page-books .silver {
	background: url('images/2_-book_silver_lining.png') center/cover;
	border: none;
}
body.page-books .pearls {
	background: url('images/3_-book_string-of-pearls.png') center/cover;
	border: none;
}
body.page-books .cover-title {
	font-size: 42px;
	line-height: 1.02;
	color: var(--Raspberry);
}
body.page-books .cover-sub {
	font-family: Arial, sans-serif;
	font-size: 14px;
	line-height: 1.45;
	color: #5b5146;
}
body.page-books .pearl-dots {
	display: flex;
	justify-content: center;
	gap: 9px;
}
body.page-books .pearl-dots span {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #eadfca;
	box-shadow: inset -2px -2px 4px rgba(0, 0, 0, 0.08);
}
body.page-books .band {
	background: var(--Raspberry);
	color: #fff;
}
body.page-books .band .headline {
	color: #fff;
}
body.page-books .two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 34px;
}
body.page-books .note {
	background: #fff;
	border: 1px solid #eadfca;
	border-radius: 8px;
	padding: 38px;
}
body.page-books .note h3 {
	font-size: 34px;
	line-height: 1.1;
	margin: 0 0 20px;
	color: var(--Raspberry);
	font-weight: 400;
}
body.page-books .cta {
	background: var(--Raspberry);
	color: #fff;
	text-align: center;
}
body.page-books .cta .headline {
	color: #fff;
}
body.page-books .cta p {
	max-width: 850px;
	margin: 0 auto 30px;
}
body.page-books .cta .button {
	background: #fff;
	color: var(--Raspberry);
}
@media (max-width: 900px) {
	body.page-books .section {
		padding-top: 64px;
		padding-bottom: 64px;
	}
	body.page-books .hero,
	body.page-books .book-row,
	body.page-books .book-row.reverse,
	body.page-books .two-col {
		grid-template-columns: 1fr;
	}
	body.page-books .book-row.reverse .cover-wrap {
		order: 0;
	}
	body.page-books .portrait {
		min-height: 420px;
	}
	body.page-books .book-cover {
		width: min(300px, 86vw);
	}
}
body.page-books .reader-box {
	margin-top: 34px;
	margin-bottom: 34px;
	padding: 24px 28px;
	background: #f7f4ee;
	border-left: 4px solid var(--mustard);
	border-radius: 6px;
}
body.page-books .reader-box h3 {
	margin: 0 0 16px;
	font-size: 22px;
	color: var(--charcoal);
}
body.page-books .reader-list {
	margin: 0;
	padding-left: 20px;
}
body.page-books .reader-list li {
	margin-bottom: 10px;
	line-height: 1.7;
	font-family: Arial, sans-serif;
	color: #555;
}

/* ============ media.html (.page-media) ============ */
body.page-media {
	--ivory: #faf8f3;
	--charcoal: #2b2b2b;
	--mustard: #c79a2b;
	--Raspberry: #b2336c;
	--white: #fff;
	--soft: #f1ece2;
}
body.page-media {
	margin: 0;
	font-family: Georgia, 'Times New Roman', serif;
	color: var(--charcoal);
	background: var(--ivory);
	line-height: 1.55;
}
body.page-media a {
	color: inherit;
	text-decoration: none;
}
body.page-media .page {
	overflow: hidden;
}
body.page-media .section {
	padding-top: 88px;
	padding-bottom: 88px;
}
body.page-media .hero {
	min-height: 660px;
	display: grid;
	grid-template-columns: 1fr 0.92fr;
	gap: 56px;
	align-items: start;
	padding-top: var(--hero-top);
}
body.page-media .lead {
	font-size: 24px;
	line-height: 1.45;
	max-width: var(--measure);
	margin: 0 0 22px;
}
body.page-media .copy p:not(.eyebrow) {
	font-size: 20px;
	margin: 0 0 18px;
}
body.page-media .radio-card {
	background: var(--Raspberry);
	min-height: 520px;
	border-radius: 8px;
	position: relative;
	overflow: hidden;
	color: #fff;
	box-shadow: 0 24px 70px rgba(19, 38, 59, 0.22);
}
body.page-media .radio-card:before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			145deg,
			rgba(199, 154, 43, 0.9),
			rgba(19, 38, 59, 0.88)
		),
		url('images/media_1_forbes_interview.jpg') center/cover;
}
body.page-media .radio-inner {
	position: absolute;
	inset: 36px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border: 1px solid rgba(255, 255, 255, 0.34);
	padding: 34px;
}
body.page-media .radio-name {
	font-size: 48px;
	line-height: 1.05;
}
body.page-media .radio-note {
	font-family: Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	max-width: 330px;
}
body.page-media .white {
	background: #fff;
}
body.page-media .intro {
	max-width: 760px;
	font-size: 21px;
	margin: 0 0 36px;
}
body.page-media .feature-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
body.page-media .feature {
	background: var(--ivory);
	border: 1px solid #eee4d3;
	border-radius: 8px;
	padding: 28px;
	min-height: 250px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}
body.page-media .feature:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 42px rgba(19, 38, 59, 0.12);
}
body.page-media .feature h3 {
	font-size: 25px;
	line-height: 1.12;
	margin: 0 0 16px;
	color: var(--Raspberry);
	font-weight: 400;
}
body.page-media .feature p {
	font-family: Arial, sans-serif;
	font-size: 15px;
	line-height: 1.55;
	margin: 0 0 18px;
}
body.page-media .feature span {
	font-family: Arial, sans-serif;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.11em;
	color: var(--mustard);
	font-weight: 700;
}
body.page-media .logos {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	margin-top: 34px;
}
body.page-media .logo {
	background: #fff;
	border: 1px solid #eadfca;
	border-radius: 8px;
	min-height: 112px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 18px;
	font-family: Arial, sans-serif;
	font-weight: 700;
	color: var(--Raspberry);
	font-size: 18px;
}
body.page-media .split {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 54px;
	align-items: center;
}
body.page-media .photo-stack {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}
body.page-media .photo {
	min-height: 310px;
	border-radius: 8px;
	background-size: cover;
	background-position: center;
	box-shadow: 0 18px 48px rgba(19, 38, 59, 0.12);
}
body.page-media .photo.one {
	background-image: url('images/media_2_interview.jpg');
}
body.page-media .photo.two {
	background-image: url('images/media_3_interview.png');
}
body.page-media .cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin-top: 32px;
}
body.page-media .mini {
	background: #fff;
	border-radius: 8px;
	border: 1px solid #eadfca;
	padding: 30px;
	min-height: 190px;
}
body.page-media .mini h3 {
	font-size: 26px;
	line-height: 1.1;
	margin: 0 0 14px;
	color: var(--Raspberry);
	font-weight: 400;
}
body.page-media .mini p {
	font-family: Arial, sans-serif;
	font-size: 16px;
	margin: 0;
}
body.page-media .cta {
	background: var(--mustard);
	color: #fff;
	text-align: center;
}
body.page-media .cta .headline {
	color: #fff;
}
body.page-media .cta p {
	font-size: 21px;
	max-width: 820px;
	margin: 0 auto 30px;
}
body.page-media .button {
	display: inline-block;
	background: var(--Raspberry);
	color: #fff;
	border-radius: 999px;
	padding: 15px 28px;
	font-family: Arial, sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 700;
}
body.page-media .muted {
	font-family: Arial, sans-serif;
	color: #6a6258;
	font-size: 15px;
	margin-top: 8px;
}
body.page-media .kit {
	background: var(--Raspberry);
	color: #fff;
	border-radius: 8px;
	padding: 44px;
}
body.page-media .kit .headline {
	color: #fff;
}
body.page-media .kit .button {
	background: #fff;
	color: var(--Raspberry);
}
@media (max-width: 900px) {
	body.page-media .section {
		padding-top: 64px;
		padding-bottom: 64px;
	}
	body.page-media .hero,
	body.page-media .split {
		grid-template-columns: 1fr;
	}
	body.page-media .feature-grid,
	body.page-media .cards,
	body.page-media .logos {
		grid-template-columns: 1fr;
	}
	body.page-media .photo-stack {
		grid-template-columns: 1fr;
	}
	body.page-media .radio-card {
		min-height: 440px;
	}
	body.page-media .radio-name {
		font-size: 38px;
	}
}

/* ============ healthcare.html (.page-healthcare) ============ */
body.page-healthcare {
	--ivory: #faf8f3;
	--white: #fff;
	--charcoal: #2b2b2b;
	--mustard: #c79a2b;
	--Raspberry: #b2336c;
	--line: rgba(19, 38, 59, 0.14);
}
body.page-healthcare {
	margin: 0;
	padding: 0;
	background: var(--ivory);
	color: var(--charcoal);
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.62;
}
body.page-healthcare .page {
	width: 100%;
	overflow: hidden;
	background: var(--ivory);
}
body.page-healthcare p {
	margin: 0;
	font-size: 18px;
	color: var(--charcoal);
}
body.page-healthcare .hero {
	background: var(--ivory);
	padding: 78px 0 86px;
	border-bottom: 1px solid var(--line);
}
body.page-healthcare .hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(420px, 1.08fr);
	gap: 58px;
	align-items: center;
}
body.page-healthcare .hero h1 {
	max-width: 680px;
}
body.page-healthcare .hero-copy {
	display: grid;
	gap: 18px;
	max-width: var(--measure);
}
body.page-healthcare .hero-photo {
	position: relative;
	height: 813px;
	overflow: hidden;
	background: #ddd;
	box-shadow: 0 28px 70px rgba(19, 38, 59, 0.16);
}
body.page-healthcare .hero-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(0.96);
}
body.page-healthcare .leadership-section {
	width: 100%;
	padding: var(--hero-top) max(var(--gutter), calc((100% - var(--page-max)) / 2)) 42px;
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: clamp(28px, 5vw, 64px);
	align-items: start;
	border-top: 0;
}

body.page-healthcare .leadership-copy {
	max-width: var(--measure);
}

body.page-healthcare .leadership-photo {
	justify-self: end;
	width: min(500px, 100%);
}

body.page-healthcare .leadership-photo img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
	max-height: 563px;
}
body.page-healthcare .Raspberry-band {
	background: var(--Raspberry);
	color: #fff;
	padding: 96px 0;
}
body.page-healthcare .Raspberry-band h2,
body.page-healthcare .Raspberry-band p {
	color: #fff;
}
body.page-healthcare .two-col {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 72px;
	align-items: start;
}
body.page-healthcare .section-copy {
	display: grid;
	gap: 18px;
	max-width: var(--measure);
}
body.page-healthcare .bridge-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 22px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}
body.page-healthcare .bridge-list li {
	font-size: 20px;
	padding: 16px 20px;
	border-left: 4px solid var(--mustard);
	background: rgba(255, 255, 255, 0.08);
}
body.page-healthcare .areas {
	background: #fff;
	padding: 96px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
body.page-healthcare .areas-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 38px;
}
body.page-healthcare .area-card {
	min-height: 230px;
	background: var(--ivory);
	padding: 30px 28px;
	border: 1px solid var(--line);
	border-top: 5px solid var(--mustard);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
body.page-healthcare .area-card h3 {
	font-size: 28px;
}
body.page-healthcare .area-card p {
	font-size: 16px;
}
body.page-healthcare .table {
	background: var(--ivory);
	padding: 104px 0;
}
body.page-healthcare .table-grid {
	display: grid;
	grid-template-columns: 1fr 0.95fr;
	gap: 70px;
	align-items: center;
}
body.page-healthcare .table-photo {
	height: 620px;
	overflow: hidden;
	background: #ddd;
	box-shadow: 0 24px 64px rgba(19, 38, 59, 0.14);
}
body.page-healthcare .table-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(0.94);
}
body.page-healthcare .table-copy {
	display: grid;
	gap: 18px;
}
body.page-healthcare .quote-line {
	width: 86px;
	height: 5px;
	background: var(--mustard);
	margin: 22px 0 8px;
}
body.page-healthcare .focus {
	background: #fff;
	padding: 92px 0;
}
body.page-healthcare .focus-grid {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: 58px;
	align-items: start;
}
body.page-healthcare .focus-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	padding: 0;
	margin: 0;
	list-style: none;
}
body.page-healthcare .focus-list li {
	border: 1px solid var(--line);
	background: var(--ivory);
	padding: 18px;
	font-size: 18px;
	font-weight: 700;
	color: var(--Raspberry);
	min-height: 72px;
	display: flex;
	align-items: center;
}
body.page-healthcare .image-break {
	height: 430px;
	position: relative;
	overflow: hidden;
	background: var(--Raspberry);
}
body.page-healthcare .image-break img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0.72;
	filter: saturate(0.92);
}
body.page-healthcare .image-break:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(19, 38, 59, 0.75),
		rgba(19, 38, 59, 0.15)
	);
}
body.page-healthcare .cta {
	background: var(--Raspberry);
	padding: 92px 0 100px;
	text-align: center;
	color: #fff;
}
body.page-healthcare .cta h2 {
	color: #fff;
}
body.page-healthcare .cta p {
	color: #fff;
	max-width: 820px;
	margin: 26px auto 0;
	font-size: 20px;
}
body.page-healthcare .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 36px;
	padding: 18px 34px;
	background: var(--mustard);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	min-width: 190px;
}
@media (max-width: 1000px) {
	body.page-healthcare .hero-grid {
		display: grid;
		grid-template-columns: minmax(0, 1.38fr) minmax(420px, 1.08fr);
		gap: 58px;
		align-items: center;
	}
	body.page-healthcare .hero {
		padding: 64px 0 72px;
	}
	body.page-healthcare .hero-photo {
		height: 520px;
	}
	body.page-healthcare .areas-grid,
	body.page-healthcare .focus-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	body.page-healthcare p {
		font-size: 17px;
	}
	body.page-healthcare .hero-photo,
	body.page-healthcare .table-photo {
		height: 430px;
	}
	body.page-healthcare .bridge-list,
	body.page-healthcare .areas-grid,
	body.page-healthcare .focus-list {
		grid-template-columns: 1fr;
	}
	body.page-healthcare .area-card {
		min-height: auto;
	}
	body.page-healthcare .Raspberry-band,
	body.page-healthcare .areas,
	body.page-healthcare .table,
	body.page-healthcare .focus,
	body.page-healthcare .cta {
		padding: 68px 0;
	}
	body.page-healthcare .image-break {
		height: 300px;
	}
}

/* ============ research.html (.page-research) ============ */
body.page-research {
	--ivory: #faf8f3;
	--paper: #fff;
	--ink: #2b2b2b;
	--mustard: #c79a2b;
	--Raspberry: #b2336c;
	--line: rgba(43, 43, 43, 0.12);
	--soft: #f3eee3;
}
body.page-research {
	margin: 0;
	background: var(--ivory);
	color: var(--ink);
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.6;
}
body.page-research p {
	margin: 0 0 18px;
}
body.page-research .section {
	padding: 88px 0;
}
body.page-research .section:first-child {
	padding-top: var(--hero-top);
}
body.page-research .hero {
	display: grid;
	grid-template-columns: 0.92fr 1.08fr;
	gap: 56px;
	align-items: start;
}
body.page-research .hero p:not(.eyebrow) {
	font-size: 20px;
	max-width: var(--measure);
}
body.page-research .hero-image {
	max-width: 500px;
	width: 100%;
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(19, 38, 59, 0.12);
}
body.page-research .hero-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}
body.page-research .band {
	background: var(--Raspberry);
	color: #fff;
}
body.page-research .band h2,
body.page-research .band h3 {
	color: #fff;
}
body.page-research .split {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 48px;
	align-items: start;
}
body.page-research .split h2 {
	margin-bottom: 18px;
}
body.page-research .split p:not(.eyebrow),
body.page-research .band p:not(.eyebrow) {
	font-size: 20px;
}
body.page-research .chips {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 20px;
}
body.page-research .chip {
	background: var(--paper);
	border: 1px solid #e8decc;
	border-radius: 8px;
	padding: 18px 20px;
	font-size: 17px;
	color: var(--Raspberry);
	min-height: 72px;
	display: flex;
	align-items: center;
}
body.page-research .white-grid {
	display: grid;
	grid-template-columns: 1fr 1.02fr;
	gap: 52px;
	align-items: center;
}
body.page-research .feature-image {
	max-width: 480px;
	width: 100%;
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(19, 38, 59, 0.12);
}
body.page-research .feature-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}
body.page-research .white-grid h2 {
	margin-bottom: 22px;
}
body.page-research .white-grid p:not(.eyebrow) {
	font-size: 20px;
}
body.page-research .cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 28px;
}
body.page-research .card {
	background: var(--paper);
	border: 1px solid #e8decc;
	border-radius: 8px;
	padding: 28px;
	min-height: 210px;
}
body.page-research .card h3 {
	font-size: 28px;
	margin-bottom: 14px;
}
body.page-research .logos {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	margin-top: 26px;
}
body.page-research .logo {
	background: var(--paper);
	border: 1px solid #e8decc;
	border-radius: 8px;
	min-height: 92px;
	padding: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--Raspberry);
	font-weight: 700;
}
body.page-research .future {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}
body.page-research .future span {
	padding: 12px 16px;
	border-radius: 999px;
	background: var(--soft);
	border: 1px solid #eadfca;
	color: var(--Raspberry);
	font-size: 15px;
}
body.page-research .cta {
	background: var(--mustard);
	color: #fff;
	text-align: center;
}
body.page-research .cta h2 {
	color: #fff;
	margin-bottom: 18px;
}
body.page-research .cta p {
	font-size: 22px;
	max-width: 820px;
	margin: 0 auto 28px;
}
body.page-research .button {
	display: inline-block;
	padding: 15px 28px;
	border-radius: 999px;
	background: var(--Raspberry);
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 13px;
	font-weight: 700;
}
body.page-research .muted {
	color: rgba(255, 255, 255, 0.82);
}
@media (max-width: 900px) {
	body.page-research .hero,
	body.page-research .split,
	body.page-research .white-grid {
		grid-template-columns: 1fr;
	}
	body.page-research .chips,
	body.page-research .cards,
	body.page-research .logos {
		grid-template-columns: 1fr;
	}
	body.page-research .hero p:not(.eyebrow),
	body.page-research .split p:not(.eyebrow),
	body.page-research .white-grid p:not(.eyebrow),
	body.page-research .band p:not(.eyebrow),
	body.page-research .cta p:not(.eyebrow) {
		font-size: 18px;
	}
}
body.page-research .impact {
	padding: 90px 0;
	background: #f7f4ee;
}
body.page-research .impact .lead {
	max-width: 760px;
	margin: 20px auto 55px;
	text-align: center;
	color: #555;
	line-height: 1.8;
}
body.page-research .impact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
body.page-research .impact-card {
	background: #fff;
	padding: 32px 28px;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	text-align: center;
}
body.page-research .impact-number {
	font-size: 2.5rem;
	font-weight: 700;
	color: #c89b2b;
	margin-bottom: 10px;
}
body.page-research .impact-title {
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 12px;
	color: #1e2a44;
}
body.page-research .impact-card p {
	color: #666;
	line-height: 1.6;
	font-size: 0.95rem;
}
body.page-research .image-straddler {
	padding: 60px 0;
	background: transparent;
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: center;
}
body.page-research .research-hope-image {
	max-width: 900px;
	width: 100%;
	border-radius: 8px;
	margin: 0;
	box-shadow: 0 18px 44px rgba(19, 38, 59, 0.12);
}
body.page-research .research-hope-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}
@media (max-width: 900px) {
	body.page-research .impact-grid {
		grid-template-columns: 1fr;
	}
}

/* ============ contact.html (.page-contact) ============ */
body.page-contact {
	margin: 0;
	background: #faf8f3;
	color: #2b2b2b;
	font-family: Georgia, 'Times New Roman', serif;
	line-height: 1.65;
}
body.page-contact .hero {
	padding: var(--hero-top) 0 84px;
	display: flex;
	gap: 56px;
	align-items: start;
}
body.page-contact .hero > div {
	flex: 1;
}
body.page-contact .hero img {
	width: 46%;
	height: 600px;
	object-fit: cover;
	border-radius: 6px;
	box-shadow: 0 22px 54px rgba(19, 38, 59, 0.16);
}
body.page-contact .lead {
	font-size: 21px;
	line-height: 1.75;
	margin: 0 0 18px;
}
body.page-contact .white {
	background: white;
}
body.page-contact .section {
	padding: 84px 0;
}
body.page-contact .tiles {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
body.page-contact .tile {
	background: white;
	border: 1px solid #e7dfd0;
	border-radius: 7px;
	padding: 28px 24px;
	min-height: 245px;
}
body.page-contact .white .tile {
	background: #faf8f3;
}
body.page-contact .two {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: 44px;
	align-items: stretch;
}
/* Left column stacks Contact Information + A Personal Note; the note
   grows so its bottom edge lines up with the bottom of the form card */
body.page-contact .two > div:first-child {
	display: flex;
	flex-direction: column;
}
body.page-contact .panel {
	background: white;
	border: 1px solid #e7dfd0;
	border-radius: 7px;
	padding: 34px;
	margin-bottom: 44px;
}
body.page-contact .smallcap {
	margin-bottom: 8px;
}
body.page-contact .value {
	font-size: 20px;
	color: #13263b;
	margin: 0 0 24px;
}
body.page-contact .note {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 42px;
	background: #b2336c;
	color: white;
	border-radius: 7px;
}
/* Closing line and signature sit against the bottom padding */
body.page-contact .note p:last-of-type {
	margin-top: auto;
	margin-bottom: 0;
}
body.page-contact .note h2 {
	color: white;
}
body.page-contact .signature {
	margin-top: 28px;
	color: #f4dfaa;
	font-size: 20px;
}
body.page-contact .inquiry {
	background: white;
	border: 1px solid #e7dfd0;
	border-radius: 7px;
	padding: 38px;
	box-shadow: 0 18px 42px rgba(19, 38, 59, 0.08);
}
body.page-contact .intro {
	font-size: 18px;
	margin: 0 0 28px;
}
body.page-contact .entrygrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
body.page-contact .entry,
body.page-contact .longentry,
body.page-contact .choicebox {
	border: 1px solid #d8cfbe;
	background: #fbfaf6;
	border-radius: 4px;
	min-height: 58px;
	padding: 12px 14px;
	font:
		600 13px Arial,
		sans-serif;
	color: #5f574a;
	letter-spacing: 0.02em;
}
body.page-contact .wide {
	grid-column: 1/-1;
}
body.page-contact .longentry {
	min-height: 142px;
}
body.page-contact .choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
body.page-contact .choice {
	border: 1px solid #d8cfbe;
	border-radius: 999px;
	padding: 7px 11px;
	font:
		600 12px Arial,
		sans-serif;
	color: #5f574a;
	background: white;
}
body.page-contact .action {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin: 24px 0 0 auto;
	background: #c79a2b;
	color: white;
	border-radius: 3px;
	padding: 15px 26px;
	font:
		700 14px Arial,
		sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
body.page-contact .final {
	background: #c79a2b;
	color: white;
	text-align: center;
	padding: 92px 0;
}
body.page-contact .final h2 {
	color: white;
}
body.page-contact .final p {
	font-size: 21px;
	margin: 8px 0;
}
@media (max-width: 900px) {
	body.page-contact .hero,
	body.page-contact .two {
		display: block;
	}
	body.page-contact .hero img {
		width: 100%;
		height: 500px;
		margin-top: 34px;
	}
	body.page-contact .tiles {
		grid-template-columns: 1fr 1fr;
	}
	body.page-contact .entrygrid {
		grid-template-columns: 1fr;
	}
	body.page-contact .wide {
		grid-column: auto;
	}
}
@media (max-width: 620px) {
	body.page-contact .tiles {
		grid-template-columns: 1fr;
	}
	body.page-contact .section {
		padding: 58px 0;
	}
	body.page-contact .hero {
		padding-bottom: 62px;
	}
	body.page-contact .hero img {
		height: 430px;
	}
}
body.page-contact .services {
	padding: 90px 0;
	background: #f7f4ee;
}
body.page-contact .section-intro {
	max-width: 760px;
	margin: 0 auto 60px;
	text-align: center;
}
body.page-contact .section-intro h2 {
	margin-bottom: 18px;
}
body.page-contact .section-intro p {
	color: #555;
	line-height: 1.8;
}
body.page-contact .services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 28px;
}
body.page-contact .service-card {
	background: #fff;
	padding: 34px;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	transition: 0.25s ease;
}
body.page-contact .service-card:hover {
	transform: translateY(-6px);
}
body.page-contact .service-card h3 {
	color: var(--Raspberry);
	margin-bottom: 16px;
	font-size: 22px;
}
body.page-contact .service-card p {
	color: #555;
	line-height: 1.7;
	margin: 0;
}
