/**
 * Journal widgets — Hero, Single Layout, Related.
 * @package Glozin Child
 */

/* =============================================================================
 * 1. JOURNAL HERO  (gz-jhero)
 * ========================================================================== */

.gz-jhero {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #111;
	color: #fff;
}

.gz-jhero__slide {
	position: relative;
	display: block;
	color: inherit;
	text-decoration: none;
}

.gz-jhero__media {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #1a1a1a;
}

.gz-jhero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 1.2s cubic-bezier(.23,1,.32,1);
}

.gz-jhero__slide:hover .gz-jhero__media img {
	transform: scale(1.04);
}

.gz-jhero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.7) 100%);
	pointer-events: none;
}

.gz-jhero__content {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 48px 6vw 56px;
	z-index: 2;
	max-width: 980px;
}

.gz-jhero__content--center {
	left: 50%; right: auto;
	transform: translateX(-50%);
	text-align: center;
}

.gz-jhero__cat {
	display: inline-block;
	font-size: var(--gz-journal-eyebrow-size);
	letter-spacing: var(--gz-journal-eyebrow-tracking);
	font-weight: var(--gz-journal-eyebrow-weight);
	text-transform: uppercase;
	margin-bottom: 14px;
	opacity: .9;
}

.gz-jhero__cat span + span::before {
	content: '·';
	margin: 0 .5em;
}

.gz-jhero__title {
	margin: 0 0 14px;
	font-size: clamp(28px, 4.4vw, 56px);
	line-height: 1.08;
	font-weight: 500;
	letter-spacing: -.01em;
	color: inherit;
}

.gz-jhero__excerpt {
	margin: 0 0 18px;
	font-size: clamp(14px, 1.1vw, 17px);
	line-height: 1.5;
	max-width: 640px;
	opacity: .92;
}

.gz-jhero__cta {
	display: inline-block;
	padding: 10px 22px;
	border: 1px solid currentColor;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	transition: background .2s, color .2s;
}

.gz-jhero__cta:hover {
	background: #fff;
	color: #111;
}

/* Slider dots */
.gz-jhero--slider {
	position: relative;
}

.gz-jhero__slides {
	position: relative;
	display: flex;
	overflow: hidden;
}

.gz-jhero__slides .gz-jhero__slide {
	flex: 0 0 100%;
	min-width: 100%;
	transition: opacity .6s ease;
}

.gz-jhero--fade .gz-jhero__slides {
	display: block;
	position: relative;
}

.gz-jhero--fade .gz-jhero__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	opacity: 0;
	pointer-events: none;
}

.gz-jhero--fade .gz-jhero__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	position: relative;
}

.gz-jhero__dots {
	position: absolute;
	bottom: 18px; right: 24px;
	z-index: 4;
	display: flex;
	gap: 6px;
}

.gz-jhero__dot {
	width: 26px;
	height: 2px;
	border: 0;
	padding: 0;
	cursor: pointer;
	background: rgba(255,255,255,.35);
	transition: background .2s;
}

.gz-jhero__dot.is-active {
	background: #fff;
}

@media (max-width: 768px) {
	.gz-jhero__content { padding: 28px 22px 36px; }
	.gz-jhero__excerpt { display: none; }
	.gz-jhero__dots { right: 16px; bottom: 12px; }
}

/* =============================================================================
 * 2. SINGLE JOURNAL POST LAYOUT  (gz-jsingle)
 * Pace-inspired layout, Glozin tokens for type/color
 * Content measure: Pace col-md-16 ≈ min(61.54vw, 1040px); rail ≈ 1100px
 * ========================================================================== */

.gz-jsingle {
	--gz-journal-content-max: min(92vw, 1040px);
	--gz-journal-rail-max: min(92vw, 1100px);
	--gz-journal-gutter: clamp(22px, 4vw, 48px);
	/* Pace pattern: body text measure narrower than the media column.
	   Pace body rich-text ≈ 775px while in-body media runs 1088–1329px.
	   Text wraps to a comfortable ~46rem; figures keep the 1040 rail. */
	--gz-jsingle-measure: min(100%, 46rem);
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 var(--gz-journal-gutter);
	font-family: var(--gz-body-font-family, inherit);
}

.gz-jsingle__container {
	max-width: var(--gz-journal-content-max);
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}

.gz-jsingle__header {
	padding: clamp(40px, 6vw, 72px) 0 clamp(20px, 3vw, 32px);
	text-align: center;
}

.gz-jsingle__cat {
	display: inline-block;
	font-size: var(--gz-journal-eyebrow-size);
	letter-spacing: var(--gz-journal-eyebrow-tracking);
	font-weight: var(--gz-journal-eyebrow-weight);
	text-transform: uppercase;
	color: var(--gz-journal-eyebrow-color);
	margin-bottom: 20px;
}

.gz-jsingle__cat a {
	color: inherit;
	text-decoration: none;
}

.gz-jsingle__cat a:hover {
	color: #111;
}

.gz-jsingle__title {
	font-size: clamp(32px, 4.2vw, 52px);
	line-height: 1.08;
	font-weight: 300;
	letter-spacing: -.02em;
	margin: 0 0 16px;
	color: var(--gz-color-dark, #111);
}

.gz-jsingle__meta {
	font-size: 12px;
	color: var(--gz-color-base, #999);
	display: flex;
	gap: 14px 22px;
	justify-content: center;
	flex-wrap: wrap;
	letter-spacing: .03em;
}

.gz-jsingle__meta-label {
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 10px;
	color: #aaa;
}

.gz-jsingle__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* "Featuring {Artist}" chips — reciprocal link to artist archive pages */
.gz-jsingle__artists {
	display: flex;
	gap: 8px 12px;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 14px;
}

.gz-jsingle__artists-label {
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 10px;
	color: #aaa;
}

.gz-jsingle__artist-chip {
	display: inline-block;
	font-size: 12px;
	letter-spacing: .03em;
	color: var(--gz-color-dark, #111);
	text-decoration: none;
	border: 1px solid #e2e2e2;
	border-radius: 999px;
	padding: 5px 14px;
	transition: border-color .2s ease, background-color .2s ease;
}

.gz-jsingle__artist-chip:hover {
	border-color: #111;
	background-color: #f7f7f7;
	color: #111;
}

/* Full-bleed hero (Pace hero--pos-above / fill-above) */
.gz-jsingle__hero--bleed {
	margin: 28px 0 44px;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.gz-jsingle__hero.gz-jsingle__container {
	width: auto;
	max-width: var(--gz-journal-content-max);
	margin: 28px auto 44px;
}

/* Split hero: Pace hero--pos-right (~50/50 within editorial rail) */
.gz-jsingle__split-row {
	max-width: var(--gz-journal-rail-max);
	margin: 0 auto;
}

.gz-jsingle--hero-split .gz-jsingle__header {
	text-align: left;
}

.gz-jsingle__split-cell {
	max-width: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 900px) {
	.gz-jsingle__split-row {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		gap: clamp(32px, 5vw, 72px);
		margin-bottom: 44px;
	}

	.gz-jsingle__split-row .gz-jsingle__header,
	.gz-jsingle__split-row .gz-jsingle__hero--split {
		flex: 1 1 0;
		min-width: 0;
		width: 50%;
		margin: 0;
	}

	.gz-jsingle__split-row .gz-jsingle__header {
		padding: 0;
	}

	.gz-jsingle__split-row .gz-jsingle__hero--split {
		margin-top: 0;
	}
}

@media (max-width: 899px) {
	.gz-jsingle__split-row .gz-jsingle__hero--split {
		margin: 28px 0 44px;
	}
}

.gz-jsingle__hero--video {
	position: relative;
	overflow: hidden;
	background: #000;
}

.gz-jsingle__hero--video::before {
	content: '';
	display: block;
	padding-top: 56.25%;
}

.gz-jsingle--hero-none .gz-jsingle__header {
	padding-bottom: clamp(28px, 4vw, 40px);
}

.gz-jsingle__hero img {
	width: 100%;
	height: auto;
	display: block;
	max-height: min(72vh, 820px);
	object-fit: cover;
}

/* Video hero media fills the 16:9 box (overrides generic hero img sizing) */
.gz-jsingle__hero--video img,
.gz-jsingle__hero--video iframe,
.gz-jsingle__hero--video video,
.gz-jsingle__hero--video .gz-jsingle__hero-embed,
.gz-jsingle__hero--video .gz-jsingle__hero-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-height: none;
	border: 0;
	object-fit: cover;
	display: block;
}

.gz-jsingle__hero-caption {
	margin-top: 10px;
	font-size: 12px;
	color: #888;
	line-height: 1.5;
	text-align: center;
}

/* -----------------------------------------------------------------------------
 * Journal body (rich-text) — Pace-aligned editorial column.
 * Pace keeps a narrow text measure (~775px) with WIDER media (1088–1329px).
 * AGL mirrors this: prose wraps to --gz-jsingle-measure (~46rem) centered in
 * the 1040 rail; figures/images span the full rail; wide/full breaks beyond it.
 * Body type keeps Glozin tokens (font-family/color) for site cohesion.
 * -------------------------------------------------------------------------- */
.gz-jsingle__content {
	font-size: var(--gz-journal-prose-size);
	line-height: var(--gz-journal-prose-leading);
	color: var(--gz-journal-prose-color);
}

.gz-jsingle__content > *:first-child {
	margin-top: 0;
}

/* Text-level blocks wrap to the comfortable measure, centered in the rail */
.gz-jsingle__content > p,
.gz-jsingle__content > h2,
.gz-jsingle__content > h3,
.gz-jsingle__content > h4,
.gz-jsingle__content > h5,
.gz-jsingle__content > h6,
.gz-jsingle__content > ul,
.gz-jsingle__content > ol,
.gz-jsingle__content > dl,
.gz-jsingle__content > blockquote,
.gz-jsingle__content > pre,
.gz-jsingle__content > .wp-block-paragraph,
.gz-jsingle__content > .wp-block-heading,
.gz-jsingle__content > .wp-block-list,
.gz-jsingle__content > .wp-block-quote,
.gz-jsingle__content > .wp-block-pullquote,
.gz-jsingle__content > .wp-block-table {
	max-width: var(--gz-jsingle-measure);
	margin-left: auto;
	margin-right: auto;
}

/* NB: keep auto inline margins so paragraphs stay centered in the rail.
   .wp-block-paragraph (0,2,0) outweighs the .gz-jsingle__content > p (0,1,1)
   centering rule above, so a `0 0` shorthand here would pin prose flush-left. */
.gz-jsingle__content p,
.gz-jsingle__content .wp-block-paragraph { margin: 0 auto 1.55em; }

.gz-jsingle__content h2,
.gz-jsingle__content h2.wp-block-heading {
	font-size: clamp(24px, 2.6vw, 30px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -.01em;
	margin: 1.8em auto .6em;
	color: var(--gz-color-dark, #111);
}
.gz-jsingle__content h3,
.gz-jsingle__content h3.wp-block-heading {
	font-size: clamp(20px, 2vw, 23px);
	font-weight: 500;
	line-height: 1.3;
	margin: 1.6em auto .5em;
	color: var(--gz-color-dark, #111);
}
.gz-jsingle__content h4,
.gz-jsingle__content h4.wp-block-heading {
	font-size: 19px;
	font-weight: 600;
	line-height: 1.35;
	margin: 1.5em auto .45em;
	color: var(--gz-color-dark, #111);
}
.gz-jsingle__content h5,
.gz-jsingle__content h5.wp-block-heading {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	margin: 1.4em auto .4em;
	color: var(--gz-color-dark, #111);
}
.gz-jsingle__content h6,
.gz-jsingle__content h6.wp-block-heading {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.5;
	margin: 1.5em auto .4em;
	color: #555;
}

/* Lists */
.gz-jsingle__content ul,
.gz-jsingle__content ol {
	padding-left: 1.4em;
	margin: 0 auto 1.55em;
}
.gz-jsingle__content li { margin: 0 0 .5em; }
.gz-jsingle__content li::marker { color: #999; }
.gz-jsingle__content li > ul,
.gz-jsingle__content li > ol { margin: .5em 0 .5em; }

/* Body links — no underline at rest, animated underline-draw on hover
   (matches the related-grid card hover; Pace journal links are undecorated) */
.gz-jsingle__content a {
	color: inherit;
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size .35s cubic-bezier(.22, .61, .36, 1);
}
.gz-jsingle__content a:hover,
.gz-jsingle__content a:focus-visible {
	background-size: 100% 1px;
}

/* Blockquote / pull-quote — editorial left rule, kept within the text measure */
.gz-jsingle__content blockquote,
.gz-jsingle__content .wp-block-quote {
	margin: 1.8em auto;
	padding: .1em 0 .1em 26px;
	border-left: 2px solid var(--gz-color-dark, #111);
	font-size: clamp(19px, 2.2vw, 22px);
	line-height: 1.4;
	font-weight: 400;
	color: var(--gz-color-dark, #1a1a1a);
}
.gz-jsingle__content blockquote p:last-child,
.gz-jsingle__content .wp-block-quote p:last-child { margin-bottom: 0; }
.gz-jsingle__content blockquote cite,
.gz-jsingle__content .wp-block-quote cite {
	display: block;
	margin-top: .7em;
	font-size: 13px;
	font-style: normal;
	letter-spacing: .04em;
	color: #888;
}

/* Figures & media span the full rail (wider than the text measure, Pace style) */
.gz-jsingle__content img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 1.6em auto;
}
.gz-jsingle__content > figure,
.gz-jsingle__content > .wp-block-image,
.gz-jsingle__content > .wp-block-embed,
.gz-jsingle__content > .wp-block-video,
.gz-jsingle__content > .wp-block-gallery,
.gz-jsingle__content > .wp-block-media-text {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.gz-jsingle__content figure { margin: 1.8em auto; }
.gz-jsingle__content figure img { margin: 0 auto; }

/* Captions — left-aligned, muted, sized below the body (Pace caption sits
   left under the media). Overrides WP core centered .wp-element-caption. */
.gz-jsingle__content figcaption,
.gz-jsingle__content .wp-element-caption,
.gz-jsingle__content .wp-caption-text {
	font-size: 13px;
	line-height: 1.5;
	color: #888;
	text-align: left;
	margin: 12px 0 0;
}

/* Wide / full-bleed media — let figures exceed the text column like Pace.
   .alignwide pushes toward the editorial rail; .alignfull goes full-bleed. */
.gz-jsingle__content .alignwide {
	width: min(94vw, 1180px);
	max-width: none;
	margin-left: calc(50% - min(47vw, 590px));
	margin-right: calc(50% - min(47vw, 590px));
}
.gz-jsingle__content .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.gz-jsingle__content .alignwide img,
.gz-jsingle__content .alignfull img { width: 100%; }

/* Center-aligned single blocks still respect the rail */
.gz-jsingle__content .aligncenter { margin-left: auto; margin-right: auto; }

/* Author byline */
.gz-jsingle__author {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 56px 0 36px;
	padding: 24px 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

.gz-jsingle__author-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.gz-jsingle__author-name {
	font-size: 14px;
	color: #111;
	margin: 0;
}

.gz-jsingle__author-bio {
	font-size: 13px;
	color: #777;
	margin: 2px 0 0;
	line-height: 1.5;
}

/* Share row */
.gz-jsingle__share {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 24px 0;
	margin-top: 40px;
}

.gz-jsingle__share-label {
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #888;
}

.gz-jsingle__share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #ddd;
	border-radius: 50%;
	color: #555;
	transition: border-color .2s, color .2s, background .2s;
}

.gz-jsingle__share-link:hover {
	border-color: #111;
	color: #111;
	background: #f8f8f8;
}

.gz-jsingle__share-link svg {
	width: 14px;
	height: 14px;
}

@media (max-width: 600px) {
	.gz-jsingle__header { padding: 32px 0 18px; }
	.gz-jsingle__hero { margin: 24px 0 32px; }
	.gz-jsingle__content { font-size: 16px; line-height: 1.7; }

	/* Stack multi-column block galleries on phones — two side-by-side artwork
	   images become ~125px each at 375px, too small to read. Force one column. */
	.gz-jsingle__content .wp-block-gallery.is-layout-flex {
		gap: 16px;
	}
	.gz-jsingle__content .wp-block-gallery.is-layout-flex > figure,
	.gz-jsingle__content .wp-block-gallery.is-layout-flex > .wp-block-image {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

/* =============================================================================
 * 3. RELATED POSTS  (gz-jrel)
 * ========================================================================== */

.gz-jrel {
	margin: clamp(48px, 6vw, 80px) auto 0;
	padding: 0 var(--gz-journal-gutter, 22px);
	max-width: var(--gz-journal-content-max, min(92vw, 1040px));
}

/* Pace related module: 4-column thumbnail grid (full content width) */
.gz-jrel--grid {
	max-width: 1280px;
}

.gz-jrel__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
	padding-bottom: 0;
	border-bottom: 0;
}

.gz-jrel__title {
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 300;
	letter-spacing: -.02em;
	text-transform: none;
	color: #111;
	margin: 0;
	line-height: 1.15;
}

.gz-jrel__more {
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #555;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding: 8px 0 10px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.gz-jrel__more:hover {
	color: #111;
}

.gz-jrel__grid {
	display: grid;
	gap: 32px 24px;
	grid-template-columns: repeat(3, 1fr);
}

.gz-jrel__cols-2 { grid-template-columns: repeat(2, 1fr); }
.gz-jrel__cols-3 { grid-template-columns: repeat(3, 1fr); }
.gz-jrel__cols-4 { grid-template-columns: repeat(4, 1fr); }

.gz-jrel--grid .gz-jrel__grid {
	gap: 48px 24px;
	margin-top: 0;
}

@media (max-width: 1024px) {
	.gz-jrel__grid,
	.gz-jrel--grid .gz-jrel__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.gz-jrel__grid,
	.gz-jrel--grid .gz-jrel__grid { grid-template-columns: 1fr; gap: 24px; }
}

.gz-jrel__card { display: block; }

.gz-jrel__image {
	position: relative;
	display: block;
	aspect-ratio: 16/10;
	overflow: hidden;
	margin-bottom: 14px;
	background: #f4f4f4;
}

.gz-jrel__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .8s cubic-bezier(.23,1,.32,1);
}

.gz-jrel__card:hover .gz-jrel__image img {
	transform: scale(1.04);
}

.gz-jrel__cat {
	font-size: var(--gz-journal-eyebrow-size);
	letter-spacing: var(--gz-journal-eyebrow-tracking);
	font-weight: var(--gz-journal-eyebrow-weight);
	text-transform: uppercase;
	color: var(--gz-journal-eyebrow-color);
	margin-bottom: 6px;
	display: block;
}

.gz-jrel__post-title {
	font-size: var(--gz-journal-card-title-size);
	line-height: var(--gz-journal-card-title-leading);
	font-weight: var(--gz-journal-card-title-weight);
	letter-spacing: var(--gz-journal-card-title-tracking);
	margin: 0 0 6px;
}

.gz-jrel__post-title a {
	color: var(--gz-color-dark, #111);
	text-decoration: none;
	transition: color .2s, opacity .2s;
	display: inline-block;
	padding: 4px 0;
	min-height: 44px;
	line-height: 1.35;
}

.gz-jrel__post-title a:hover {
	color: var(--gz-color-dark, #111);
	opacity: .55;
}

/* Pace 4-col grid — Glozin archive card hover (underline draw) */
.gz-jrel--grid .gz-jrel__post-title a {
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	opacity: 1;
	transition: background-size .38s cubic-bezier(.22, .61, .36, 1), color .2s;
}

.gz-jrel--grid .gz-jrel__card:hover .gz-jrel__post-title a {
	background-size: 100% 1px;
	opacity: 1;
}

.gz-jrel__date {
	font-size: 12px;
	color: #888;
}

/* Related grid cards sit in the same 4-up rhythm as the archive filter grid, so
   eyebrow, title and date all resolve to the shared card tokens rather than the
   16px/#111 treatment that had drifted out of step with it. */
.gz-jrel--grid .gz-jrel__cat {
	margin-bottom: 8px;
}

.gz-jrel--grid .gz-jrel__post-title {
	margin: 0 0 6px;
}

.gz-jrel--grid .gz-jrel__image {
	aspect-ratio: 4/3;
	margin-bottom: 16px;
}

.gz-jrel__image--placeholder {
	background: #ececec;
}

/* Pace list layout (optional — no thumbnails) */
.gz-jrel--pace-list .gz-jrel__list,
.gz-jrel--pace .gz-jrel__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #e8e8e8;
}

.gz-jrel__list-item {
	border-bottom: 1px solid #e8e8e8;
}

.gz-jrel__card--pace-list,
.gz-jrel__card--pace {
	padding: 22px 0;
}

.gz-jrel__card--pace-list .gz-jrel__post-title,
.gz-jrel__card--pace .gz-jrel__post-title {
	font-size: clamp(17px, 2vw, 22px);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: -.01em;
	margin: 0 0 8px;
}

.gz-jrel__card--pace-list .gz-jrel__post-title a,
.gz-jrel__card--pace .gz-jrel__post-title a {
	color: #111;
	text-decoration: none;
	transition: opacity .2s ease;
}

.gz-jrel__card--pace-list:hover .gz-jrel__post-title a,
.gz-jrel__card--pace:hover .gz-jrel__post-title a {
	opacity: .55;
}

.gz-jrel__pace-meta {
	margin: 0;
	font-size: 11px;
	color: #aaa;
	letter-spacing: .04em;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
}

.gz-jrel__card--pace-list .gz-jrel__cat,
.gz-jrel__card--pace .gz-jrel__cat {
	font-size: inherit;
	text-transform: none;
	letter-spacing: inherit;
	color: inherit;
	margin: 0;
	display: inline;
	flex: 1 1 auto;
	min-width: 0;
}

.gz-jrel__card--pace-list .gz-jrel__date,
.gz-jrel__card--pace .gz-jrel__date {
	display: inline;
	font-size: inherit;
	color: inherit;
	flex: 0 0 auto;
	margin-left: auto;
	white-space: nowrap;
}

/* Editorial tokens scoped to journal main — not footer/newsletter */
.gz-journal-single-wrap,
body.gz-journal-single .elementor-location-single {
	--gz-journal-content-max: min(92vw, 1040px);
	--gz-journal-rail-max: min(92vw, 1100px);
	--gz-journal-gutter: clamp(22px, 4vw, 48px);
	--gz-jsingle-measure: min(100%, 46rem);
	font-family: var(--gz-body-font-family, inherit);
}

.gz-journal-single-wrap .site-main {
	overflow-x: hidden;
}

body.gz-journal-single #page-header,
body.gz-search-results #page-header {
	display: none !important;
}

body.gz-journal-single .elementor-location-single .elementor-widget-theme-post-title .elementor-heading-title,
body.gz-journal-single .elementor-widget-theme-post-title h1,
body.gz-journal-single .elementor-widget-theme-post-title h2 {
	font-size: clamp(32px, 4.2vw, 52px) !important;
	font-weight: 300 !important;
	line-height: 1.08 !important;
	letter-spacing: -.02em !important;
	text-align: center;
	max-width: var(--gz-journal-content-max, min(92vw, 1040px));
	margin-left: auto;
	margin-right: auto;
}

body.gz-journal-single .elementor-widget-theme-post-content,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container {
	max-width: var(--gz-journal-content-max, min(92vw, 1040px));
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	line-height: 1.8;
	color: var(--gz-color-dark, #1a1a1a);
}

/* TB content path: same Pace measure — narrow prose, full-rail media */
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > p,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > h2,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > h3,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > h4,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > h5,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > h6,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > ul,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > ol,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > blockquote,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > .wp-block-paragraph,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > .wp-block-heading,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > .wp-block-list,
body.gz-journal-single .elementor-widget-theme-post-content .elementor-widget-container > .wp-block-quote {
	max-width: var(--gz-jsingle-measure, min(100%, 46rem));
	margin-left: auto;
	margin-right: auto;
}

body.gz-journal-single .elementor-widget-theme-post-featured-image img {
	width: 100%;
	max-height: min(72vh, 820px);
	object-fit: cover;
}

body.gz-journal-single .elementor-widget-theme-post-featured-image {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* =============================================================================
 * Per-post Elementor journal (glozin-heading + loop-carousel), no AGL Single widget
 * body.gz-journal-elementor-custom — see glozin_child_journal_is_elementor_custom_single()
 * ========================================================================== */

body.gz-journal-elementor-custom .elementor-location-single,
body.gz-journal-elementor-custom .elementor-widget-theme-post-content {
	font-family: var(--gz-body-font-family, inherit);
}

body.gz-journal-elementor-custom .elementor-widget-text-editor,
body.gz-journal-elementor-custom .elementor-widget-glozin-widget-image,
body.gz-journal-elementor-custom .elementor-widget-image {
	max-width: var(--gz-journal-content-max);
	margin-left: auto;
	margin-right: auto;
}

/* Media keeps the full rail; running text wraps to the same narrow measure the
   AGL Single widget uses, so a hand-built post reads at the Pace line length.
   Elementor's optimized markup drops .elementor-widget-container, so match the
   text blocks at whichever depth they land. */
body.gz-journal-elementor-custom .elementor-widget-text-editor p,
body.gz-journal-elementor-custom .elementor-widget-text-editor h2,
body.gz-journal-elementor-custom .elementor-widget-text-editor h3,
body.gz-journal-elementor-custom .elementor-widget-text-editor h4,
body.gz-journal-elementor-custom .elementor-widget-text-editor h5,
body.gz-journal-elementor-custom .elementor-widget-text-editor h6,
body.gz-journal-elementor-custom .elementor-widget-text-editor ul,
body.gz-journal-elementor-custom .elementor-widget-text-editor ol,
body.gz-journal-elementor-custom .elementor-widget-text-editor blockquote {
	max-width: var(--gz-jsingle-measure);
	margin-left: auto;
	margin-right: auto;
}

/* Nested list items must not re-wrap inside an already-narrowed parent. */
body.gz-journal-elementor-custom .elementor-widget-text-editor li > ul,
body.gz-journal-elementor-custom .elementor-widget-text-editor li > ol {
	max-width: none;
}

body.gz-journal-elementor-custom .elementor-widget-glozin-heading .glozin-heading-elementor {
	text-align: center;
	max-width: var(--gz-journal-content-max);
	margin-left: auto;
	margin-right: auto;
}

body.gz-journal-elementor-custom .elementor-widget-glozin-heading h2.glozin-heading {
	font-size: clamp(32px, 4.2vw, 52px) !important;
	font-weight: 300 !important;
	line-height: 1.08 !important;
	letter-spacing: -.02em !important;
	color: #111;
	margin: 0 0 16px;
}

body.gz-journal-elementor-custom .elementor-widget-glozin-heading .glozin-heading:not(h2) {
	font-size: var(--gz-journal-eyebrow-size);
	letter-spacing: var(--gz-journal-eyebrow-tracking);
	font-weight: var(--gz-journal-eyebrow-weight);
	text-transform: uppercase;
	color: var(--gz-journal-eyebrow-color);
	margin-bottom: 12px;
}

body.gz-journal-elementor-custom .elementor-widget-glozin-heading .glozin-heading:not(h2) + .glozin-heading-elementor h2,
body.gz-journal-elementor-custom .elementor-widget-glozin-heading .glozin-heading-elementor + .glozin-heading-elementor .glozin-heading:not(h2) {
	margin-top: 0;
}

body.gz-journal-elementor-custom .entry-content .wp-caption,
body.gz-journal-elementor-custom .elementor-widget-text-editor figure.wp-caption {
	max-width: 100%;
}

body.gz-journal-elementor-custom .entry-content .wp-caption-text,
body.gz-journal-elementor-custom figcaption {
	font-size: 12px;
	color: #888;
	line-height: 1.5;
	text-align: center;
	margin-top: 10px;
}

body.gz-journal-elementor-custom .elementor-widget-text-editor {
	font-size: var(--gz-journal-prose-size);
	line-height: var(--gz-journal-prose-leading);
	color: var(--gz-journal-prose-color);
}

body.gz-journal-elementor-custom .elementor-widget-loop-carousel {
	max-width: var(--gz-journal-content-max);
	margin: clamp(48px, 6vw, 80px) auto 0;
}

body.gz-journal-elementor-custom .elementor-widget-loop-carousel .elementor-heading-title,
body.gz-journal-elementor-custom .elementor-widget-glozin-heading h2 a[href*="/journal"] {
	font-size: clamp(22px, 3vw, 32px) !important;
	font-weight: 300 !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
	color: #111 !important;
}

body.gz-journal-elementor-custom .elementor-widget-loop-carousel .elementor-loop-container .elementor-heading-title {
	font-size: clamp(17px, 2vw, 22px) !important;
	font-weight: 400 !important;
}

/* =============================================================================
 * JOURNAL FEATURE CARD (gz-jfeature-card) — single post teaser
 * ========================================================================== */

.gz-jfeature-card {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	background: #151515;
	color: #fff;
}

.gz-jfeature-card--placeholder {
	min-height: 120px;
	padding: 28px;
	text-align: center;
	color: #888;
	font-size: 14px;
	border: 1px dashed rgba(128, 128, 128, 0.45);
	border-radius: 8px;
	background: #fafafa;
}

.gz-jfeature-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.gz-jfeature-card__link--static {
	cursor: default;
}

.gz-jfeature-card__link:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.95);
	outline-offset: 4px;
}

.gz-jfeature-card__media {
	position: relative;
	overflow: hidden;
	width: 100%;
	min-height: 18rem;
	background: #1a1a1a;
}

.gz-jfeature-card__media > .gz-jfeature-card__img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transform: scale(1.001);
}

.gz-jfeature-card__fallback {
	position: absolute;
	inset: 0;
	background: linear-gradient(145deg, #2a2a2a 0%, #111 100%);
}

.gz-jfeature-card__shade {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: var(--gz-jfeature-shade-height, 55%);
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		to top,
		var(--gz-jfeature-shade-bottom, rgba(0, 0, 0, 0.72)) 0%,
		rgba(0, 0, 0, 0.08) 55%,
		transparent 100%
	);
}

.gz-jfeature-card__bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px 24px;
}

.gz-jfeature-card__text {
	flex: 1 1 auto;
	min-width: 0;
	max-width: calc(100% - 52px);
}

.gz-jfeature-card__title {
	margin: 0;
	font-size: clamp(1.125rem, 2.8vw, 1.65rem);
	line-height: 1.25;
	font-weight: 600;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.gz-jfeature-card__date {
	display: block;
	margin: 0;
	font-size: clamp(0.8125rem, 1.6vw, 0.9375rem);
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.gz-jfeature-card__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	opacity: 0.98;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.gz-jfeature-card__icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

.gz-jfeature-card__link:hover .gz-jfeature-card__icon {
	opacity: 1;
	transform: translateY(-1px);
}

.gz-jfeature-card--hover-zoom .gz-jfeature-card__img {
	transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.gz-jfeature-card--hover-zoom .gz-jfeature-card__link:hover .gz-jfeature-card__img {
	transform: scale(1.06);
}

.gz-jfeature-card--scroll-fade {
	opacity: 0;
	transform: translate3d(0, 16px, 0);
	transition: opacity 0.65s ease, transform 0.65s ease;
	will-change: opacity, transform;
}

.gz-jfeature-card--scroll-fade.is-gz-inview {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.gz-jfeature-card--hover-zoom .gz-jfeature-card__img {
		transition: none;
	}
	.gz-jfeature-card--scroll-fade {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Elementor editor: always show scroll-fade cards */
.elementor-editor-active .gz-jfeature-card--scroll-fade {
	opacity: 1;
	transform: none;
}

/* =============================================================================
 * IMAGE INTEGRITY — artwork must NEVER be stretched/squished (v5.5.114)
 * Rule: only fixed-ratio card thumbnails crop (object-fit:cover); editorial
 * body images + hero size by their natural ratio (height:auto). These rules
 * are a defensive safety net so legacy/builder markup can never force a
 * both-axis stretch. Scoped to journal classes only — no footer/global impact.
 * ========================================================================== */

/* Editorial body images keep their natural aspect ratio. object-fit:contain is
   inert while height is auto, but guarantees no squish if a fixed height ever
   leaks in from legacy/builder CSS. */
.gz-jsingle__content img,
body.gz-journal-single .elementor-widget-theme-post-content img,
body.gz-journal-elementor-custom .elementor-widget-text-editor img,
body.gz-journal-elementor-custom .elementor-widget-image img,
body.gz-journal-elementor-custom .elementor-widget-glozin-widget-image img {
	height: auto;
	object-fit: contain;
}

/* Un-crop editorial galleries: WP core ".is-cropped" forces height:100% +
   object-fit:cover, which slices artwork. In journal singles we show the whole
   piece at natural ratio instead (equal column widths, natural heights). */
.gz-jsingle__content .wp-block-gallery.is-cropped figure.wp-block-image > a,
.gz-jsingle__content .wp-block-gallery.is-cropped figure.wp-block-image > img,
.gz-jsingle__content .wp-block-gallery.is-cropped figure.wp-block-image > a > img,
body.gz-journal-single .wp-block-gallery.is-cropped figure.wp-block-image > a,
body.gz-journal-single .wp-block-gallery.is-cropped figure.wp-block-image > img,
body.gz-journal-single .wp-block-gallery.is-cropped figure.wp-block-image > a > img {
	height: auto;
	object-fit: contain;
}

/* Hero already uses height:auto + cover (intentional max-height crop, never a
   stretch). Reassert the natural-width sizing so a forced height attribute on
   the <img> tag cannot distort it. */
.gz-jsingle__hero:not(.gz-jsingle__hero--video) img {
	height: auto;
}

/* -----------------------------------------------------------------------------
 * BROKEN-IMAGE FALLBACK — neutral AGL placeholder (see inc/journal-images.php +
 * assets/js/journal-image-fallback.js). Applied by JS when an image 404s so the
 * raw broken-image icon + alt text never shows. No layout shift: the swapped-in
 * SVG carries its own gentle 3:2 frame.
 * -------------------------------------------------------------------------- */
.gz-img-fallback {
	width: 100%;
	height: auto;
	max-width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: contain;
	background: #f1efea;
}

/* =============================================================================
 * JOURNAL RELATED — CAROUSEL RAIL
 * Horizontal strip, arrows + fraction pager (Pace / Hauser & Wirth pattern).
 * ========================================================================== */

/* Carousel wants a wide rail — fill the Elementor column, not the narrow
   journal text measure used by list/grid related modules. */
.gz-jrel.gz-jrel--carousel {
	max-width: min(96vw, 1600px);
	width: 100%;
	padding-left: var(--gz-journal-gutter, 16px);
	padding-right: var(--gz-journal-gutter, 16px);
	box-sizing: border-box;
}

.gz-jrel__carousel {
	position: relative;
}

.gz-jrel__viewport {
	overflow: hidden;
	outline: none;
}

.gz-jrel__track {
	display: flex;
	gap: 24px;
	transition: transform .45s cubic-bezier(.23, 1, .32, 1);
	will-change: transform;
}

.gz-jrel__slide {
	flex: 0 0 calc((100% - 48px) / 3);
	min-width: 0;
}

.gz-jrel__carousel--visible-2 .gz-jrel__slide { flex-basis: calc((100% - 24px) / 2); }
.gz-jrel__carousel--visible-3 .gz-jrel__slide { flex-basis: calc((100% - 48px) / 3); }
.gz-jrel__carousel--visible-4 .gz-jrel__slide { flex-basis: calc((100% - 72px) / 4); }

.gz-jrel__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	margin-top: 28px;
}

.gz-jrel__btn {
	appearance: none;
	background: transparent;
	border: 1px solid #ccc;
	color: #111;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	transition: border-color .2s, color .2s, opacity .2s;
}

.gz-jrel__btn:hover:not(:disabled) {
	border-color: #111;
}

.gz-jrel__btn:disabled {
	opacity: .35;
	cursor: default;
}

.gz-jrel__pager {
	font-size: 12px;
	letter-spacing: .08em;
	color: #555;
	font-variant-numeric: tabular-nums;
	min-width: 3.5em;
	text-align: center;
}

@media (max-width: 900px) {
	.gz-jrel__carousel--visible-3 .gz-jrel__slide,
	.gz-jrel__carousel--visible-4 .gz-jrel__slide {
		flex-basis: calc((100% - 24px) / 2);
	}
}

@media (max-width: 600px) {
	.gz-jrel__slide,
	.gz-jrel__carousel--visible-2 .gz-jrel__slide,
	.gz-jrel__carousel--visible-3 .gz-jrel__slide,
	.gz-jrel__carousel--visible-4 .gz-jrel__slide {
		flex-basis: 85%;
	}
	.gz-jrel__track { gap: 16px; }
}

/* =============================================================================
 * JOURNAL POST HEADER — single-post hero + meta (hand-built Elementor)
 * Presets: editorial (Gia) · pace_full · pace_split · hauser · minimal
 * ========================================================================== */

.gz-jph {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 48px) var(--gz-journal-gutter, 22px) clamp(32px, 5vw, 56px);
	max-width: var(--gz-journal-rail-max, min(94vw, 1100px));
	box-sizing: border-box;
	width: 100%;
}

.gz-jph--align-left { text-align: left; }
.gz-jph--align-center { text-align: center; }
.gz-jph--align-right { text-align: right; }

.gz-jph--align-center .gz-jph__title,
.gz-jph--align-center .gz-jph__subtitle,
.gz-jph--align-center .gz-jph__venue,
.gz-jph--align-center .gz-jph__meta-block,
.gz-jph--align-center .gz-jph__cat {
	margin-left: auto;
	margin-right: auto;
}

.gz-jph--align-right .gz-jph__title,
.gz-jph--align-right .gz-jph__meta-block,
.gz-jph--align-right .gz-jph__cat {
	margin-left: auto;
}

.gz-jph__hero {
	margin: 0 0 40px;
	padding: 0;
	/* Shrink-wrap the image; placement via align-self on the flex parent
	   (margin:auto on fit-content figures was getting ignored in Elementor). */
	display: flex;
	flex-direction: column;
	width: fit-content;
	max-width: 100%;
	align-items: center;
}

.gz-jph--align-left .gz-jph__hero {
	align-self: flex-start;
	align-items: flex-start;
}

.gz-jph--align-center .gz-jph__hero {
	align-self: center;
	align-items: center;
}

.gz-jph--align-right .gz-jph__hero {
	align-self: flex-end;
	align-items: flex-end;
}

/* Optional Image Alignment — overrides text-driven hero placement. */
.gz-jph--img-align-left .gz-jph__hero {
	align-self: flex-start;
	align-items: flex-start;
}

.gz-jph--img-align-center .gz-jph__hero {
	align-self: center;
	align-items: center;
}

.gz-jph--img-align-right .gz-jph__hero {
	align-self: flex-end;
	align-items: flex-end;
}

.gz-jph--img-align-left .gz-jph__hero--full,
.gz-jph--img-align-right .gz-jph__hero--full {
	width: 100%;
	max-width: 100%;
	align-self: stretch;
}

.gz-jph--img-align-center .gz-jph__hero--full {
	width: 100vw;
	max-width: 100vw;
	align-self: center;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.gz-jph__hero--contained {
	max-width: min(1100px, 100%);
}

.gz-jph__hero--full {
	width: 100%;
	max-width: 100%;
}

/* Full-bleed edge-to-edge only when centered; left/right keep rail alignment. */
.gz-jph--align-center .gz-jph__hero--full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.gz-jph__img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: var(--gz-jph-img-max-h, none);
	display: block;
	object-fit: contain;
	object-position: center;
}

.gz-jph__hero-placeholder {
	aspect-ratio: 16 / 10;
	background: #f1efea;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #888;
	font-size: 13px;
	padding: 24px;
	text-align: center;
}

.gz-jph__credit {
	margin: 10px 0 0;
	font-size: 12px;
	line-height: 1.45;
	color: #888;
	font-weight: 400;
	letter-spacing: 0.01em;
}

.gz-jph__cat {
	font-size: var(--gz-journal-eyebrow-size, 11px);
	letter-spacing: var(--gz-journal-eyebrow-tracking, .14em);
	font-weight: var(--gz-journal-eyebrow-weight, 500);
	text-transform: uppercase;
	color: var(--gz-journal-eyebrow-color, #666);
	margin: 0 0 14px;
}

.gz-jph__cat a {
	color: inherit;
	text-decoration: none;
}

.gz-jph__cat a:hover {
	color: #111;
}

.gz-jph__title {
	font-size: clamp(28px, 4.5vw, 48px);
	font-weight: 300;
	letter-spacing: -.02em;
	line-height: 1.15;
	color: #111;
	margin: 0 0 16px;
	max-width: 22em;
}

.gz-jph__subtitle {
	font-size: clamp(18px, 2.2vw, 26px);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: #333;
	margin: -4px 0 16px;
	max-width: 28em;
}

.gz-jph__venue {
	font-size: 14px;
	line-height: 1.5;
	color: #666;
	margin: 0 0 14px;
	max-width: 36em;
}

.gz-jph__meta {
	font-size: 13px;
	letter-spacing: .04em;
	color: #666;
	margin: 0 0 12px;
}

.gz-jph__meta-label {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: 11px;
	margin-right: .35em;
}

.gz-jph__copy {
	appearance: none;
	background: none;
	border: 0;
	border-bottom: 1px solid currentColor;
	padding: 4px 0;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #555;
	cursor: pointer;
	min-height: 44px;
}

.gz-jph__copy:hover,
.gz-jph__copy.is-copied {
	color: #111;
}

.gz-jph--empty {
	padding: 40px;
	text-align: center;
	color: #888;
	font-size: 14px;
}

/* Pace Full — wider rail, left title stack under full media */
.gz-jph--pace_full {
	max-width: min(96vw, 1280px);
}

.gz-jph--pace_full.gz-jph--align-left .gz-jph__meta-block {
	max-width: min(92vw, 720px);
}

.gz-jph--pace_full .gz-jph__title {
	font-size: clamp(32px, 5vw, 52px);
	font-weight: 400;
}

/* Minimal — title-led essays, no hero */
.gz-jph--minimal {
	max-width: var(--gz-journal-content-max, min(92vw, 720px));
	padding-top: clamp(40px, 6vw, 72px);
}

.gz-jph--minimal .gz-jph__title {
	font-size: clamp(30px, 4.8vw, 44px);
}

/* Pace / Hauser split — text + image side by side */
.gz-jph--split {
	max-width: min(96vw, 1200px);
}

.gz-jph__split {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(32px, 5vw, 72px);
}

.gz-jph--media-right .gz-jph__split {
	flex-direction: row;
}

.gz-jph--media-left .gz-jph__split {
	flex-direction: row-reverse;
}

.gz-jph--split .gz-jph__meta-block {
	flex: 1 1 42%;
	min-width: 0;
	max-width: 28rem;
}

.gz-jph--split .gz-jph__hero,
.gz-jph--split .gz-jph__hero--split {
	flex: 1 1 48%;
	width: auto;
	margin: 0;
	min-width: 0;
	align-items: stretch;
}

.gz-jph--split .gz-jph__title {
	font-size: clamp(26px, 3.6vw, 42px);
	max-width: none;
}

.gz-jph--hauser .gz-jph__copy {
	margin-top: 4px;
}

@media (max-width: 900px) {
	.gz-jph__split {
		flex-direction: column !important;
		align-items: stretch;
		gap: 28px;
	}
	.gz-jph--split .gz-jph__meta-block {
		max-width: none;
	}
	.gz-jph--media-left .gz-jph__split,
	.gz-jph--media-right .gz-jph__split {
		flex-direction: column !important;
	}
}
