/* ============================================================
   The Journal — blog archive (home.php) + single article (single.php)
   Source of truth: _build/specs/journal.md. Exact px/hex from the prototype.
   Class prefix: jr- (layout), jr-card / jr-feat (cards), jr-article (single).
   ============================================================ */

.arkan-journal {
	background: var(--cream);
}

/* Shared horizontal padding shell (48px → 20px ≤900px, per spec breakpoints). */
.jr-pad {
	padding-left: 48px;
	padding-right: 48px;
}

/* ---------- §3.1 Page header ---------- */
.jr-header {
	background: var(--cream);
	padding-top: 54px;
	padding-bottom: 34px;
	text-align: center;
}

.jr-kicker {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.28em;
	color: var(--burgundy);
	text-transform: uppercase;
	margin-bottom: 18px;
}

.jr-h1 {
	font-family: var(--serif);
	font-size: clamp(46px, 5.6vw, 72px);
	font-weight: 500;
	color: var(--ink);
	line-height: 1;
}

.jr-header .arkan-divider {
	margin: 26px 0 0;
}

/* ---------- §3.2 Featured article card ---------- */
.jr-feat-sec {
	background: var(--cream);
	padding-top: 24px;
	padding-bottom: 30px;
}

/* Card zoom (global to .jr-card img, as in the prototype). */
.jr-card img {
	transition: transform 0.55s ease;
}

.jr-card:hover img {
	transform: scale(1.05);
}

.jr-feat {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 40px;
	align-items: center;
	background: var(--surface);
	border: 1px solid rgba(45, 10, 18, 0.06);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 16px 50px rgba(45, 10, 18, 0.06);
}

.jr-feat__media {
	overflow: hidden;
	aspect-ratio: 16 / 11;
	background: var(--well);
}

.jr-feat__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Asymmetric: thin inner (left) side, wide outer (right) side. Logical for RTL. */
.jr-feat__body {
	padding-block: 20px;
	padding-inline: 8px 48px;
}

.jr-feat__chip {
	display: inline-block;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	color: var(--burgundy);
	background: var(--cream-2);
	padding: 6px 13px;
	border-radius: 20px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.jr-feat__title {
	font-family: var(--serif);
	font-size: clamp(30px, 3.4vw, 44px);
	font-weight: 500;
	color: var(--ink);
	line-height: 1.12;
	margin-bottom: 14px;
}

.jr-feat__excerpt {
	font-family: var(--sans);
	font-size: 13.5px;
	font-weight: 400;
	color: var(--body-2);
	line-height: 1.85;
	margin-bottom: 22px;
	max-width: 440px;
}

.jr-feat__cta {
	display: inline-block;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: var(--burgundy);
	text-transform: uppercase;
	border-bottom: 1px solid var(--burgundy);
	padding-bottom: 3px;
}

/* ---------- §3.3 Post grid (3 × 2) ---------- */
.jr-grid-sec {
	background: var(--cream);
	padding-top: 20px;
	padding-bottom: 90px;
}

.jr-grid-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.jr-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.jr-grid .jr-card {
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid rgba(45, 10, 18, 0.06);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 36px rgba(45, 10, 18, 0.05);
}

.jr-card__media {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--well);
}

.jr-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.jr-card__body {
	padding: 24px 24px 26px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.jr-card__cat {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	color: var(--burgundy);
	text-transform: uppercase;
	margin-bottom: 12px;
}

.jr-card__title {
	font-family: var(--serif);
	font-size: 25px;
	font-weight: 500;
	color: var(--ink);
	line-height: 1.2;
	margin-bottom: 10px;
}

.jr-card__excerpt {
	font-family: var(--sans);
	font-size: 12.5px;
	font-weight: 400;
	color: var(--body-2);
	line-height: 1.75;
	margin-bottom: 18px;
}

.jr-card__more {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: var(--burgundy);
	text-transform: uppercase;
	margin-top: auto;
}

/* ---------- §3.4 Newsletter band (dark) ---------- */
.jr-news {
	background: var(--maroon);
	padding-top: 64px;
	padding-bottom: 64px;
}

.jr-news__inner {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

.jr-news__title {
	font-family: var(--serif);
	font-size: clamp(28px, 3.6vw, 40px);
	font-weight: 500;
	color: #f6ede0;
	line-height: 1.1;
	margin-bottom: 12px;
}

.jr-news__sub {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 300;
	color: rgba(246, 237, 224, 0.72);
	line-height: 1.8;
	margin-bottom: 28px;
}

.jr-news__form {
	display: flex;
	max-width: 420px;
	margin: 0 auto;
}

.jr-news__input {
	flex: 1;
	min-width: 0;
	border: 1px solid rgba(246, 237, 224, 0.28);
	border-inline-end: none;
	padding: 14px 18px;
	font-family: var(--sans);
	font-size: 12.5px;
	color: #f6ede0;
	background: transparent;
	outline: none;
}

.jr-news__input::placeholder {
	color: rgba(246, 237, 224, 0.55);
}

.jr-news__btn {
	background: var(--gold);
	color: var(--maroon);
	border: none;
	padding: 14px 26px;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
}

/* ============================================================
   Single article (single.php) — derived from the archive's language.
   ============================================================ */
.arkan-journal--single {
	padding-bottom: 0;
}

.jr-article__head {
	background: var(--cream);
	padding-top: 54px;
	padding-bottom: 30px;
	text-align: center;
}

.jr-article__head-inner {
	max-width: 820px;
	margin: 0 auto;
}

.jr-article__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: var(--burgundy);
	text-transform: uppercase;
	margin-bottom: 26px;
	transition: opacity 0.2s;
}

.jr-article__back:hover {
	opacity: 0.6;
}

.jr-article__back-arrow {
	font-size: 14px;
	line-height: 1;
}

.jr-article__cat {
	display: inline-block;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	color: var(--burgundy);
	background: var(--cream-2);
	padding: 6px 13px;
	border-radius: 20px;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.jr-article__title {
	font-family: var(--serif);
	font-size: clamp(34px, 4.4vw, 56px);
	font-weight: 500;
	color: var(--ink);
	line-height: 1.1;
}

.jr-article__head .arkan-divider {
	margin: 24px 0 0;
}

.jr-article__hero-sec {
	background: var(--cream);
	padding-top: 10px;
	padding-bottom: 20px;
}

.jr-article__hero {
	max-width: 1000px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 20px;
	background: var(--well);
	border: 1px solid rgba(45, 10, 18, 0.06);
	box-shadow: 0 16px 50px rgba(45, 10, 18, 0.06);
}

.jr-article__hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.jr-article__body-sec {
	background: var(--cream);
	padding-top: 40px;
	padding-bottom: 80px;
}

.jr-article__body {
	max-width: 68ch;
	margin: 0 auto;
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 400;
	color: var(--body);
	line-height: 1.9;
}

.jr-article__body > * + * {
	margin-top: 22px;
}

.jr-article__body p {
	font-size: 15px;
	line-height: 1.9;
	color: var(--body);
}

.jr-article__body h2 {
	font-family: var(--serif);
	font-size: 30px;
	font-weight: 500;
	color: var(--ink);
	line-height: 1.2;
	margin-top: 40px;
}

.jr-article__body h3 {
	font-family: var(--serif);
	font-size: 24px;
	font-weight: 500;
	color: var(--ink);
	line-height: 1.25;
	margin-top: 32px;
}

.jr-article__body a {
	color: var(--burgundy);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jr-article__body blockquote {
	border-inline-start: 2px solid var(--burgundy);
	padding-inline-start: 24px;
	font-family: var(--serif);
	font-size: 22px;
	font-style: italic;
	color: var(--ink);
	line-height: 1.5;
}

.jr-article__foot {
	max-width: 68ch;
	margin: 48px auto 0;
	padding-top: 28px;
	border-top: 1px solid var(--hair-soft);
}

.jr-article__back--foot {
	margin-bottom: 0;
}

/* ============================================================
   Responsive (exact breakpoints from the spec).
   ============================================================ */
@media (max-width: 900px) {
	.jr-pad {
		padding-left: 20px;
		padding-right: 20px;
	}

	.jr-feat {
		grid-template-columns: 1fr;
	}

	/* When the featured card stacks, restore symmetric text padding. */
	.jr-feat__body {
		padding-inline: 32px 32px;
		padding-block: 8px 32px;
	}

	.jr-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	.jr-grid {
		grid-template-columns: 1fr;
	}

	.jr-feat__body {
		padding-inline: 24px 24px;
	}
}

/* ============================================================
   RTL — mirror directional geometry.
   ============================================================ */
html[dir='rtl'] .jr-article__back-arrow {
	transform: scaleX(-1);
}
