.resh-journal-main {
	--rj-ink: #293f34;
	--rj-paper: #faf7f1;
	--rj-line: #d8d9cb;
	background: var(--rj-paper);
	color: var(--rj-ink);
	padding-bottom: 80px;
}

.resh-journal-main a {
	color: inherit;
}

.resh-journal-main em {
	font-weight: 400;
	color: #93645b;
}

.rj-intro {
	text-align: center;
	padding-top: 76px;
	padding-bottom: 58px;
}

.rj-intro h1 {
	font: 400 clamp(40px, 4.8vw, 68px) / 1.12 "Playfair Display", Georgia, serif;
	letter-spacing: -0.035em;
	margin: 20px 0;
}

.rj-intro > p {
	max-width: 540px;
	margin: 0 auto;
	color: #60685f;
	font-size: 16px;
	line-height: 1.8;
}

.rj-feature {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	background: #e7ecdf;
	border-radius: 4px;
	overflow: hidden;
	min-height: 460px;
}

.rj-feature-image {
	display: block;
	min-height: 100%;
	min-width: 0;
	overflow: hidden;
}

.rj-feature-image img {
	width: 100%;
	height: 100%;
	min-height: 460px;
	object-fit: cover;
	display: block;
}

.rj-feature-copy {
	padding: 48px 44px;
	align-self: center;
}

.rj-feature h2,
.rj-section-head h2,
.rj-invitation h2,
.rj-booking h2,
.rj-article-header h1,
.rj-article-body h2 {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 400;
}

.rj-feature h2 {
	font-size: clamp(30px, 3vw, 43px);
	line-height: 1.18;
	letter-spacing: -0.025em;
	margin: 20px 0;
}

.rj-feature h2 a,
.rj-card h3 a {
	text-decoration: none;
}

.rj-feature h2 a:hover,
.rj-card h3 a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.rj-feature-copy > p {
	font-size: 15px;
	line-height: 1.8;
	color: #4e5d50;
}

.rj-feature .button {
	margin-top: 24px;
}

.rj-meta {
	display: flex;
	gap: 18px;
	align-items: center;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.6;
}

.rj-meta > span:first-child {
	font-weight: 600;
}

.rj-library {
	padding-top: 76px;
}

.rj-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
	margin-bottom: 25px;
}

.rj-section-head h2 {
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.2;
	margin: 12px 0 0;
	letter-spacing: -0.02em;
}

.rj-search {
	display: flex;
	border: 1px solid #9ea998;
	border-radius: 4px;
	background: transparent;
	max-width: 100%;
	height: 46px;
}

.rj-search input {
	width: 190px;
	min-width: 0;
	padding: 10px 14px;
	border: 0;
	background: transparent;
	font: inherit;
	color: inherit;
}

.rj-search button {
	border: 0;
	border-left: 1px solid #9ea998;
	background: #e7ecdf;
	padding: 10px 14px;
	cursor: pointer;
	color: #293f34;
	font: inherit;
	font-size: 13px;
}

.rj-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 32px;
}

.rj-topics a {
	border: 1px solid #c8cdbc;
	border-radius: 30px;
	padding: 9px 18px;
	text-decoration: none;
	font-size: 13px;
}

.rj-topics a[aria-current],
.rj-topics a:hover {
	background: #293f34;
	color: #fff;
	border-color: #293f34;
}

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

.rj-card {
	border-bottom: 1px solid var(--rj-line);
	padding-bottom: 27px;
	min-width: 0;
}

.rj-card-image {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #ece1d6;
	border-radius: 3px;
}

.rj-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
	transition: transform 0.35s;
}

.rj-card:hover img {
	transform: scale(1.025);
}

.rj-card-body {
	padding-top: 22px;
}

.rj-card h3 {
	font: 400 27px / 1.25 "Playfair Display", Georgia, serif;
	margin: 12px 0;
}

.rj-card p {
	color: #60685f;
	font-size: 14px;
	line-height: 1.8;
	margin: 0 0 18px;
}

.rj-text-link {
	display: inline-flex;
	gap: 20px;
	align-items: center;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	border-bottom: 1px solid #9ba590;
	padding: 4px 0;
}

.rj-text-link:hover {
	border-color: #293f34;
	gap: 20px;
}

.rj-invitation {
	text-align: center;
	margin-top: 80px;
	background: #eee1d6;
	padding: 55px 28px;
	border-radius: 4px;
}

.rj-invitation h2 {
	font-size: clamp(34px, 3.5vw, 48px);
	line-height: 1.15;
	margin: 16px 0;
}

.rj-invitation p {
	font-size: 15px;
	line-height: 1.7;
	margin: 15px auto 24px;
	max-width: 460px;
}

.rj-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
}

.rj-pagination {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-top: 35px;
}

.rj-pagination .page-numbers {
	padding: 10px 14px;
	border: 1px solid #a8b29d;
	border-radius: 4px;
	text-decoration: none;
}

.rj-pagination .current {
	background: #293f34;
	color: #fff;
}

.rj-empty {
	padding: 55px 25px;
	background: #eee9df;
	text-align: center;
}

.rj-empty h3 {
	font: 400 30px / 1.2 "Playfair Display", Georgia, serif;
}

.rj-empty p {
	margin: 18px 0;
}

.journal-art {
	height: 100%;
	min-height: 200px;
	display: grid;
	place-items: center;
	background: #e5e9dc;
}

.journal-art span {
	font: 50px / 1 "Playfair Display", Georgia, serif;
	text-align: center;
}

.journal-art em {
	font-size: 38px;
}

.rj-article-header {
	padding-top: 42px;
	text-align: center;
}

.rj-back {
	display: block;
	text-align: left;
	font-size: 13px;
	text-decoration: none;
	margin-bottom: 48px;
}

.rj-article-header > .rj-meta {
	justify-content: center;
}

.rj-article-header h1 {
	font-size: clamp(36px, 4.6vw, 62px);
	line-height: 1.14;
	max-width: 920px;
	margin: 22px auto;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.rj-deck {
	max-width: 650px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.75;
	color: #5d685d;
}

.rj-byline {
	display: flex;
	gap: 20px;
	justify-content: center;
	margin: 25px 0 38px;
	font-size: 12px;
	color: #62695d;
}

.rj-article-image {
	height: 440px;
	max-width: 1040px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 4px;
}

.rj-article-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.rj-article-body {
	max-width: 720px;
	margin: 52px auto 64px;
	padding: 0 24px;
	font: 17px / 1.95 "DM Sans", Arial, sans-serif;
}

.rj-article-body .wp-block-post-content > * {
	max-width: 100%;
}

.rj-article-body h2 {
	font-size: 32px;
	line-height: 1.25;
	margin: 38px 0 16px;
	letter-spacing: -0.02em;
}

.rj-article-body h3 {
	font: 400 25px / 1.3 "Playfair Display", Georgia, serif;
	margin: 28px 0 12px;
}

.rj-article-body p {
	margin: 0 0 22px;
}

.rj-article-body a {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.rj-article-body ul {
	padding-left: 23px;
	margin-bottom: 24px;
}

.rj-article-body li {
	padding-left: 4px;
	margin-bottom: 8px;
}

.rj-article-body blockquote {
	margin: 32px 0;
	padding: 24px 28px;
	background: #e7ecdf;
	border-left: 3px solid #798c70;
	font: italic 25px / 1.5 "Playfair Display", Georgia, serif;
}

.rj-article-body blockquote p {
	margin: 0;
}

.rj-article-body .journal-book {
	margin: 36px 0 8px;
	padding: 28px;
	background: #fffdf8;
	border: 1px solid #dcd6cb;
}

.rj-article-body .journal-book .eyebrow {
	margin-bottom: 10px;
}

.rj-article-body .journal-book h2 {
	margin: 0 0 8px;
	font-size: clamp(1.7rem, 2.4vw, 2.2rem);
	letter-spacing: -0.04em;
	line-height: 1.15;
}

.rj-article-body .journal-book p {
	margin: 0 0 18px;
	font-size: 1rem;
	line-height: 1.5;
	color: #746f67;
}

.rj-article-body .journal-book a.button {
	text-decoration: none;
}

.rj-booking {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 55px;
	background: #e7ecdf;
	border-radius: 4px;
	padding: 45px;
}

.rj-booking h2 {
	font-size: 35px;
	line-height: 1.2;
	margin: 16px 0;
}

.rj-booking p {
	font-size: 15px;
	line-height: 1.8;
	color: #55614f;
}

.rj-booking .button {
	margin-top: 22px;
}

.rj-book-note {
	font-size: 11px;
	margin-top: 14px;
}

.rj-book-row {
	display: block;
	border-bottom: 1px solid #c6cfba;
	padding: 0 0 16px;
	margin-bottom: 18px;
	text-decoration: none;
}

.rj-book-row h3 {
	font: 400 20px / 1.3 "Playfair Display", Georgia, serif;
	margin: 0 0 8px;
}

.rj-book-row:hover h3 {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.rj-book-row p {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
}

.rj-book-row strong {
	font-size: 13px;
	white-space: nowrap;
}

.rj-related {
	margin-top: 75px;
}

.rj-related .rj-section-head {
	margin-bottom: 30px;
}

html[data-theme="evening"] .resh-journal-main {
	--rj-paper: #202c25;
	--rj-ink: #f4f1e9;
	--rj-line: #61715e;
}

html[data-theme="evening"] .rj-intro > p,
html[data-theme="evening"] .rj-deck,
html[data-theme="evening"] .rj-card p,
html[data-theme="evening"] .rj-byline {
	color: #c5cebf;
}

html[data-theme="evening"] .rj-feature,
html[data-theme="evening"] .rj-booking,
html[data-theme="evening"] .rj-invitation,
html[data-theme="evening"] .rj-empty,
html[data-theme="evening"] .rj-article-body blockquote,
html[data-theme="evening"] .rj-article-body .journal-book {
	color: #293f34;
}

html[data-theme="evening"] .rj-topics a[aria-current],
html[data-theme="evening"] .rj-topics a:hover {
	background: #e7ecdf;
	color: #293f34;
}

@media (max-width: 900px) {
	.rj-feature-copy {
		padding: 30px;
	}

	.rj-grid {
		gap: 20px;
	}

	.rj-card h3 {
		font-size: 24px;
	}

	.rj-booking {
		gap: 28px;
		padding: 32px;
	}

	.rj-section-head {
		align-items: start;
	}

	.rj-search {
		max-width: 280px;
	}
}

@media (max-width: 650px) {
	.resh-journal-main {
		padding-bottom: 45px;
	}

	.rj-intro {
		padding-top: 44px;
		padding-bottom: 32px;
	}

	.rj-intro h1 {
		font-size: 38px;
	}

	.rj-intro > p {
		font-size: 14px;
	}

	.rj-feature {
		grid-template-columns: 1fr;
	}

	.rj-feature-image {
		height: 260px;
	}

	.rj-feature-copy {
		padding: 28px 24px;
	}

	.rj-feature h2 {
		font-size: 32px;
	}

	.rj-library {
		padding-top: 44px;
	}

	.rj-section-head {
		flex-direction: column;
		gap: 20px;
	}

	.rj-search {
		width: 100%;
		max-width: none;
	}

	.rj-search input {
		flex: 1;
		width: 100%;
	}

	.rj-topics {
		gap: 7px;
	}

	.rj-topics a {
		padding: 8px 14px;
		min-height: 40px;
	}

	.rj-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.rj-card h3 {
		font-size: 28px;
	}

	.rj-card-body {
		padding-top: 18px;
	}

	.rj-invitation {
		margin-top: 48px;
	}

	.rj-article-header {
		padding-top: 30px;
	}

	.rj-back {
		margin-bottom: 30px;
	}

	.rj-article-header h1 {
		font-size: 38px;
	}

	.rj-deck {
		font-size: 16px;
	}

	.rj-byline {
		font-size: 11px;
		gap: 12px;
	}

	.rj-article-image {
		height: 270px;
	}

	.rj-article-body {
		margin: 35px auto 45px;
		font-size: 16px;
		padding: 0 24px;
	}

	.rj-article-body h2 {
		font-size: 29px;
	}

	.rj-booking {
		grid-template-columns: 1fr;
		padding: 28px 24px;
		gap: 30px;
	}

	.rj-booking h2 {
		font-size: 31px;
	}

	.rj-related {
		margin-top: 48px;
	}

	.rj-related .rj-section-head h2 {
		max-width: 300px;
	}
}
