/*
Theme: MSAV Blog WordPress single article
Purpose: WordPress/Gutenberg compatibility while preserving blog/article.html design
*/

.msav-journal-single {
	--journal-page: min(calc(100% - 48px), 1480px);
	--journal-reading: min(calc(100% - 48px), 760px);
	background: #050505;
	color: #fff;
}

.msav-journal-single .container {
	width: var(--journal-page);
	margin-inline: auto;
}

/* Keep long editorial titles readable. */
.msav-journal-single .article-hero h1 {
	max-width: 1180px;
	font-size: clamp(3.4rem, 7vw, 7.5rem);
	line-height: .96;
	letter-spacing: -.055em;
	overflow-wrap: break-word;
}

/* Hero image remains editorial and consistent regardless of upload dimensions. */
.msav-journal-single .article-hero-media {
	width: var(--journal-page);
	height: auto;
	aspect-ratio: 16 / 9;
	max-height: 820px;
}

.msav-journal-single .article-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* WordPress article editor content */
.msav-journal-single .msav-wp-article-content {
	width: var(--journal-reading);
}

.msav-journal-single .msav-wp-article-content > p:first-of-type {
	margin-bottom: 2em;
	font-size: clamp(1.5rem, 2.8vw, 2.45rem);
	font-weight: 580;
	letter-spacing: -.035em;
	line-height: 1.28;
}

.msav-journal-single .msav-wp-article-content p {
	overflow-wrap: break-word;
}

.msav-journal-single .msav-wp-article-content a {
	color: #b91426;
	text-decoration-thickness: 1px;
	text-underline-offset: .14em;
}

.msav-journal-single .msav-wp-article-content a:hover,
.msav-journal-single .msav-wp-article-content a:focus-visible {
	color: #111;
	background: #d6ff30;
	outline: none;
}

.msav-journal-single .msav-wp-article-content .wp-block-image,
.msav-journal-single .msav-wp-article-content figure.wp-block-image {
	width: min(calc(100vw - 48px), 1100px);
	max-width: none;
	margin: clamp(54px, 8vw, 94px) 50%;
	transform: translateX(-50%);
}

.msav-journal-single .msav-wp-article-content .wp-block-image img {
	display: block;
	width: 100%;
	max-height: 720px;
	object-fit: cover;
}

.msav-journal-single .msav-wp-article-content figcaption {
	margin-top: 11px;
	color: #6a6a65;
	font: 500 10px/1.5 'Fira Mono', monospace;
}

.msav-journal-single .msav-wp-article-content .wp-block-gallery {
	width: min(calc(100vw - 24px), 1360px);
	max-width: none;
	margin: clamp(65px, 10vw, 130px) 50%;
	transform: translateX(-50%);
	gap: 12px;
}

.msav-journal-single .msav-wp-article-content .wp-block-gallery figure {
	overflow: hidden;
}

.msav-journal-single .msav-wp-article-content .wp-block-gallery img {
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
}

.msav-journal-single .msav-wp-article-content .wp-block-video,
.msav-journal-single .msav-wp-article-content .wp-block-embed {
	width: min(calc(100vw - 48px), 1180px);
	max-width: none;
	margin: clamp(65px, 9vw, 110px) 50%;
	transform: translateX(-50%);
}

.msav-journal-single .msav-wp-article-content .wp-block-video video,
.msav-journal-single .msav-wp-article-content .wp-block-embed iframe {
	width: 100%;
}

.msav-journal-single .msav-wp-article-content .wp-block-embed__wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
}

.msav-journal-single .msav-wp-article-content .wp-block-embed__wrapper iframe {
	position: absolute;
	inset: 0;
	height: 100%;
	border: 0;
}

.msav-journal-single .msav-wp-article-content blockquote,
.msav-journal-single .msav-wp-article-content .wp-block-quote,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote {
	width: min(calc(100vw - 48px), 1100px);
	max-width: none;
	box-sizing: border-box;
	margin: clamp(70px, 9vw, 120px) 50%;
	padding: clamp(35px, 5vw, 68px) clamp(24px, 6vw, 80px);
	border: 0;
	border-top: 7px solid #d51f31;
	background: #111;
	color: #fff;
	transform: translateX(-50%);
}

.msav-journal-single .msav-wp-article-content blockquote p,
.msav-journal-single .msav-wp-article-content .wp-block-quote p,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote p {
	margin: 0;
	font-size: clamp(2rem, 4.6vw, 4.8rem);
	font-weight: 650;
	letter-spacing: -.05em;
	line-height: 1.04;
}

.msav-journal-single .msav-wp-article-content cite {
	display: block;
	margin-top: 28px;
	color: #d6ff30;
	font: 600 10px 'Fira Mono', monospace;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.msav-journal-single .msav-wp-article-content .wp-block-separator {
	margin-block: clamp(54px, 8vw, 90px);
	border-color: rgba(17,17,17,.22);
}

.msav-journal-single .msav-wp-article-content table {
	width: 100%;
	margin: 0 0 2.2em;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.5;
}

.msav-journal-single .msav-wp-article-content th,
.msav-journal-single .msav-wp-article-content td {
	padding: 14px;
	border: 1px solid rgba(17,17,17,.18);
	text-align: left;
	vertical-align: top;
}

.msav-journal-single .msav-wp-article-content th {
	background: #111;
	color: #fff;
}

/* Metadata */
.msav-journal-single .journal-read-time,
.msav-journal-single .journal-topics {
	color: #d6ff30;
}

/* Previous / next cards remain clearly clickable. */
.msav-journal-single .article-nav-link {
	transition: background .25s ease;
}

.msav-journal-single .article-nav-link:hover,
.msav-journal-single .article-nav-link:focus-visible {
	background: #171717;
	outline: none;
}

.msav-journal-single .article-nav-archive {
	background: #151515;
}

/* Related posts use their own real WP featured images. */
.msav-journal-single .related .post-card-media img {
	width: 100%;
}

/* Mobile */
@media (max-width: 680px) {
	.msav-journal-single {
		--journal-page: calc(100% - 28px);
		--journal-reading: calc(100% - 40px);
	}

	.msav-journal-single .article-hero h1 {
		font-size: clamp(3rem, 13vw, 4.8rem);
		line-height: 1;
	}

	.msav-journal-single .article-hero-media {
		width: calc(100% - 14px);
		min-height: 0;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-image,
	.msav-journal-single .msav-wp-article-content .wp-block-video,
	.msav-journal-single .msav-wp-article-content .wp-block-embed,
	.msav-journal-single .msav-wp-article-content blockquote,
	.msav-journal-single .msav-wp-article-content .wp-block-quote,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote {
		width: calc(100vw - 28px);
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery {
		width: calc(100vw - 14px);
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery {
		grid-template-columns: 1fr !important;
	}

	.msav-journal-single .article-nav-link {
		min-height: 220px;
		padding: 34px 24px;
	}

	.msav-journal-single .article-nav-link h2 {
		margin-top: 30px;
		font-size: clamp(1.7rem, 8vw, 2.6rem);
		line-height: 1.04;
	}

	.msav-journal-single .article-cta {
		min-height: 520px;
	}

	.msav-journal-single .article-cta h2 {
		font-size: clamp(3.4rem, 16vw, 5.5rem);
		line-height: .9;
	}
}


/* ==========================================================
   Gutenberg -> original MSAV article.html visual mapping
   ========================================================== */

/* The static prototype uses .lead for its opening paragraph.
   The first normal Gutenberg paragraph receives the same treatment. */
.msav-journal-single .msav-wp-article-content > p:first-of-type,
.msav-journal-single .msav-wp-article-content > .wp-block-paragraph:first-of-type,
.msav-journal-single .msav-wp-article-content .lead {
	margin-bottom: 2em;
	font-size: clamp(1.65rem, 3vw, 2.65rem);
	font-weight: 580;
	letter-spacing: -.035em;
	line-height: 1.24;
}

/* Exact static article heading rhythm. */
.msav-journal-single .msav-wp-article-content h2,
.msav-journal-single .msav-wp-article-content .wp-block-heading:is(h2) {
	margin: 2.3em 0 .65em;
	font-size: clamp(2.3rem, 4.7vw, 4.8rem);
	letter-spacing: -.055em;
	line-height: .98;
}

.msav-journal-single .msav-wp-article-content h3,
.msav-journal-single .msav-wp-article-content .wp-block-heading:is(h3) {
	margin: 2.25em 0 .7em;
	font-size: clamp(1.65rem, 3vw, 2.6rem);
	letter-spacing: -.04em;
	line-height: 1.05;
}

.msav-journal-single .msav-wp-article-content ul,
.msav-journal-single .msav-wp-article-content ol {
	margin: 0 0 2em;
	padding-left: 1.35em;
	font-size: clamp(17px, 1.45vw, 20px);
	line-height: 1.6;
}

.msav-journal-single .msav-wp-article-content li {
	margin-bottom: .65em;
	padding-left: .35em;
}

.msav-journal-single .msav-wp-article-content li::marker {
	color: #d51f31;
	font-family: 'Fira Mono', monospace;
	font-weight: 700;
}

/* Wide article image: same size as .article-figure in the prototype. */
.msav-journal-single .msav-wp-article-content .wp-block-image {
	width: min(calc(100vw - 48px), 1100px);
	max-width: none;
	margin: clamp(54px, 8vw, 94px) 50%;
	transform: translateX(-50%);
}

.msav-journal-single .msav-wp-article-content .wp-block-image img {
	display: block;
	width: 100%;
	max-height: 720px;
	object-fit: cover;
}

/* Pull quote: same black/red/lime treatment as article.html. */
.msav-journal-single .msav-wp-article-content .wp-block-quote,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote {
	width: min(calc(100vw - 48px), 1100px);
	max-width: none;
	box-sizing: border-box;
	margin: clamp(70px, 9vw, 120px) 50%;
	padding: clamp(35px, 5vw, 68px) clamp(24px, 6vw, 80px);
	border: 0;
	border-top: 7px solid #d51f31;
	background: #111;
	color: #fff;
	transform: translateX(-50%);
	text-align: left;
}

.msav-journal-single .msav-wp-article-content .wp-block-quote p,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote p {
	margin: 0;
	font-size: clamp(2.1rem, 5vw, 5.3rem);
	font-weight: 650;
	letter-spacing: -.055em;
	line-height: 1.02;
}

.msav-journal-single .msav-wp-article-content .wp-block-quote cite,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote cite {
	display: block;
	margin-top: 28px;
	color: #d6ff30;
	font: 600 10px 'Fira Mono', monospace;
	letter-spacing: .11em;
	text-transform: uppercase;
}

/* 3-image Gutenberg gallery becomes the exact large-left / two-right layout
   used by the original static article prototype. */
.msav-journal-single .msav-wp-article-content .wp-block-gallery {
	display: grid !important;
	width: min(calc(100vw - 24px), 1360px);
	max-width: none;
	grid-template-columns: 1.35fr .65fr;
	grid-template-rows: repeat(2, minmax(220px, 330px));
	gap: 12px !important;
	margin: clamp(65px, 10vw, 130px) 50%;
	transform: translateX(-50%);
}

.msav-journal-single .msav-wp-article-content .wp-block-gallery > figure {
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	overflow: hidden;
}

.msav-journal-single .msav-wp-article-content .wp-block-gallery > figure:first-child {
	grid-row: 1 / 3;
}

.msav-journal-single .msav-wp-article-content .wp-block-gallery img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 0;
	object-fit: cover;
}

/* Video/YouTube area follows the prototype width. */
.msav-journal-single .msav-wp-article-content .wp-block-video,
.msav-journal-single .msav-wp-article-content .wp-block-embed {
	width: min(calc(100vw - 48px), 1180px);
	max-width: none;
	margin: clamp(65px, 9vw, 110px) 50%;
	transform: translateX(-50%);
}

/* Preserve the icon spacing from the original static page. */
.msav-journal-single .share-link i,
.msav-journal-single .article-nav-link small i,
.msav-journal-single .cta-button i {
	font-size: 1.05em;
}

/* On mobile, Gutenberg media returns to a clean single column. */
@media (max-width: 680px) {
	.msav-journal-single .msav-wp-article-content .wp-block-gallery {
		display: grid !important;
		width: calc(100vw - 14px);
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery > figure,
	.msav-journal-single .msav-wp-article-content .wp-block-gallery > figure:first-child {
		grid-row: auto;
		min-height: 260px;
	}
}


/* ==========================================================
   Blog Gutenberg 3-image gallery alignment fix
   Matches the original article.html large-left / two-right layout.
   Gutenberg adds width/flex rules to nested figure blocks, so reset
   them explicitly before placing them on the CSS grid.
   ========================================================== */
@media (min-width: 681px) {
	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images {
		display: grid !important;
		width: min(calc(100vw - 24px), 1360px) !important;
		max-width: none !important;
		grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr) !important;
		grid-template-rows: repeat(2, minmax(220px, 330px)) !important;
		column-gap: 12px !important;
		row-gap: 12px !important;
		justify-content: stretch !important;
		align-content: stretch !important;
		justify-items: stretch !important;
		align-items: stretch !important;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		height: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		flex: none !important;
		flex-basis: auto !important;
		flex-grow: 0 !important;
		align-self: stretch !important;
		justify-self: stretch !important;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(1) {
		grid-column: 1 !important;
		grid-row: 1 / 3 !important;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(2) {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(3) {
		grid-column: 2 !important;
		grid-row: 2 !important;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image img {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		object-fit: cover !important;
	}

	/* If Gutenberg has injected percentage sizing for a 3-column gallery,
	   remove it so no artificial empty space remains between columns. */
	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images.columns-3 > figure.wp-block-image:not(#individual-image) {
		width: 100% !important;
	}
}

@media (max-width: 680px) {
	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: none !important;
		gap: 10px !important;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image,
	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(1),
	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(2),
	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(3) {
		grid-column: 1 !important;
		grid-row: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
	}

	.msav-journal-single .msav-wp-article-content .wp-block-gallery.has-nested-images > figure.wp-block-image img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 4 / 3;
		object-fit: cover !important;
	}
}


/* Blog share label — MSAV lime highlight */
.msav-journal-single .article-rail-label{
	display:inline-flex;
	width:auto;
	margin-bottom:18px;
	padding:7px 10px;
	background:var(--lime, #d6ff30);
	color:#111;
	font:700 9px/1 'Fira Mono', monospace;
	letter-spacing:.11em;
	text-transform:uppercase;
}

@media(max-width:680px){
	.msav-journal-single .article-rail-label{
		padding:7px 9px;
		font-size:8px;
	}
}


/* ==========================================================
   Blog responsive media + standardized article navigation
   ========================================================== */

/* Single images */
.msav-journal-single .msav-wp-article-content > .wp-block-image,
.msav-journal-single .msav-wp-article-content > figure.wp-block-image {
	width:min(calc(100vw - 48px),1100px)!important;
	max-width:1100px!important;
	margin:clamp(48px,7vw,88px) 50%!important;
	transform:translateX(-50%)!important;
}

.msav-journal-single .msav-wp-article-content > .wp-block-image img,
.msav-journal-single .msav-wp-article-content > figure.wp-block-image img {
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	height:auto!important;
	max-height:720px;
	object-fit:contain!important;
	background:#111;
}

/* Video / embeds */
.msav-journal-single .msav-wp-article-content .wp-block-video,
.msav-journal-single .msav-wp-article-content .wp-block-embed {
	width:min(calc(100vw - 48px),1100px)!important;
	max-width:1100px!important;
	margin:clamp(54px,8vw,96px) 50%!important;
	transform:translateX(-50%)!important;
}

.msav-journal-single .msav-wp-article-content .wp-block-video video {
	display:block;
	width:100%!important;
	height:auto!important;
	max-height:720px;
	background:#000;
}

.msav-journal-single .msav-wp-article-content .wp-block-embed__wrapper {
	position:relative;
	width:100%;
	aspect-ratio:16 / 9;
	overflow:hidden;
	background:#000;
}

.msav-journal-single .msav-wp-article-content .wp-block-embed__wrapper iframe {
	position:absolute;
	inset:0;
	width:100%!important;
	height:100%!important;
	border:0;
}

/* Multi-image carousel */
.msav-journal-single .msav-journal-carousel {
	position:relative;
	width:min(calc(100vw - 48px),1360px);
	max-width:1360px;
	margin:clamp(58px,9vw,110px) 50%;
	transform:translateX(-50%);
}

.msav-journal-single .msav-journal-carousel-viewport {
	width:100%;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior-inline:contain;
	touch-action:pan-y;
}

.msav-journal-single .msav-journal-carousel-viewport::-webkit-scrollbar {
	display:none;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track {
	display:flex!important;
	width:100%!important;
	max-width:none!important;
	height:auto!important;
	grid-template-columns:none!important;
	grid-template-rows:none!important;
	gap:12px!important;
	margin:0!important;
	padding:0!important;
	transform:none!important;
	align-items:stretch!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * {
	display:block!important;
	flex:0 0 100%!important;
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
	height:auto!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	grid-column:auto!important;
	grid-row:auto!important;
	align-self:stretch!important;
	overflow:hidden!important;
	scroll-snap-align:start;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * img {
	display:block!important;
	width:100%!important;
	max-width:none!important;
	height:100%!important;
	min-height:0!important;
	aspect-ratio:4 / 3;
	object-fit:cover!important;
}

/* Carousel arrows */
.msav-journal-single .msav-journal-carousel-controls {
	display:flex;
	justify-content:flex-end;
	gap:10px;
	margin-top:16px;
}

.msav-journal-single .msav-journal-carousel-controls[hidden],
.msav-journal-single .msav-journal-carousel-pagination[hidden] {
	display:none!important;
}

.msav-journal-single .msav-journal-carousel-arrow {
	display:grid;
	width:44px;
	height:44px;
	place-items:center;
	padding:0;
	border:1px solid rgba(17,17,17,.28);
	border-radius:50%;
	background:transparent;
	color:#171717;
	cursor:pointer;
	font-size:18px;
	transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.msav-journal-single .msav-journal-carousel-arrow:hover,
.msav-journal-single .msav-journal-carousel-arrow:focus-visible {
	border-color:var(--lime,#d6ff30);
	background:var(--lime,#d6ff30);
	color:#111;
	outline:none;
	transform:translateY(-2px);
}

/* Carousel bullets */
.msav-journal-single .msav-journal-carousel-pagination {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin-top:14px;
}

.msav-journal-single .msav-journal-carousel-dot {
	width:7px;
	height:7px;
	padding:0;
	border:0;
	border-radius:50%;
	background:rgba(17,17,17,.24);
	cursor:pointer;
	transition:width .22s ease,background .22s ease,transform .22s ease;
}

.msav-journal-single .msav-journal-carousel-dot.is-active {
	width:24px;
	border-radius:999px;
	background:var(--lime,#d6ff30);
}

/* Previous / next story titles: standardized, no oversized headings */
.msav-journal-single .article-nav-link {
	min-height:clamp(260px,22vw,340px);
	padding:clamp(34px,4vw,58px);
}

.msav-journal-single .article-nav-link h2 {
	max-width:620px;
	margin-top:clamp(44px,6vw,86px);
	font-size:clamp(2rem,3.1vw,3.4rem)!important;
	line-height:1.05!important;
	letter-spacing:-.045em!important;
	overflow-wrap:anywhere;
}

.msav-journal-single .article-nav-link small {
	font-size:10px;
	line-height:1.4;
}

/* Tablet */
@media(max-width:900px) {
	.msav-journal-single .msav-journal-carousel {
		width:calc(100vw - 36px);
	}

	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * {
		flex-basis:100%!important;
	}

	.msav-journal-single .msav-wp-article-content > .wp-block-image,
	.msav-journal-single .msav-wp-article-content > figure.wp-block-image,
	.msav-journal-single .msav-wp-article-content .wp-block-video,
	.msav-journal-single .msav-wp-article-content .wp-block-embed {
		width:calc(100vw - 36px)!important;
		max-width:calc(100vw - 36px)!important;
	}

	.msav-journal-single .article-nav-link {
		min-height:250px;
	}

	.msav-journal-single .article-nav-link h2 {
		font-size:clamp(1.8rem,4.8vw,2.8rem)!important;
	}
}

/* Mobile */
@media(max-width:620px) {
	.msav-journal-single .msav-journal-carousel {
		width:calc(100vw - 20px);
		margin-top:46px;
		margin-bottom:58px;
	}

	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track {
		gap:10px!important;
	}

	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * {
		flex-basis:100%!important;
	}

	.msav-journal-single .msav-journal-carousel-controls {
		justify-content:space-between;
		margin-top:12px;
	}

	.msav-journal-single .msav-journal-carousel-arrow {
		width:42px;
		height:42px;
	}

	.msav-journal-single .msav-journal-carousel-pagination {
		margin-top:-31px;
		padding:0 54px;
		pointer-events:none;
	}

	.msav-journal-single .msav-journal-carousel-dot {
		pointer-events:auto;
	}

	.msav-journal-single .msav-wp-article-content > .wp-block-image,
	.msav-journal-single .msav-wp-article-content > figure.wp-block-image,
	.msav-journal-single .msav-wp-article-content .wp-block-video,
	.msav-journal-single .msav-wp-article-content .wp-block-embed {
		width:calc(100vw - 20px)!important;
		max-width:calc(100vw - 20px)!important;
		margin-top:42px!important;
		margin-bottom:52px!important;
	}

	.msav-journal-single .msav-wp-article-content > .wp-block-image img,
	.msav-journal-single .msav-wp-article-content > figure.wp-block-image img,
	.msav-journal-single .msav-wp-article-content .wp-block-video video {
		max-height:none;
	}

	.msav-journal-single .article-nav {
		grid-template-columns:1fr!important;
	}

	.msav-journal-single .article-nav-link {
		min-height:210px;
		padding:28px 22px;
	}

	.msav-journal-single .article-nav-link h2 {
		margin-top:38px;
		font-size:clamp(1.6rem,7.6vw,2.25rem)!important;
		line-height:1.06!important;
	}
}


/* ==========================================================
   Blog quote / pullquote responsive compatibility
   ========================================================== */

/* Desktop */
.msav-journal-single .msav-wp-article-content blockquote,
.msav-journal-single .msav-wp-article-content .wp-block-quote,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote {
	position:relative;
	left:50%;
	display:block;
	box-sizing:border-box;
	width:min(calc(100vw - 64px), 980px)!important;
	max-width:980px!important;
	margin:clamp(58px,8vw,100px) 0!important;
	padding:clamp(38px,4.5vw,62px) clamp(32px,5vw,68px)!important;
	border:0!important;
	border-top:6px solid #d51f31!important;
	background:#111!important;
	color:#fff!important;
	text-align:left!important;
	transform:translateX(-50%)!important;
	overflow:hidden;
}

.msav-journal-single .msav-wp-article-content blockquote p,
.msav-journal-single .msav-wp-article-content .wp-block-quote p,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote p {
	max-width:820px;
	margin:0!important;
	color:#fff!important;
	font-size:clamp(2rem,3.5vw,3.55rem)!important;
	font-weight:650!important;
	line-height:1.08!important;
	letter-spacing:-.045em!important;
	overflow-wrap:anywhere;
	word-break:normal;
}

.msav-journal-single .msav-wp-article-content blockquote cite,
.msav-journal-single .msav-wp-article-content .wp-block-quote cite,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote cite {
	display:block!important;
	margin-top:26px!important;
	color:var(--lime,#d6ff30)!important;
	font:700 10px/1.45 'Fira Mono',monospace!important;
	letter-spacing:.11em!important;
	text-transform:uppercase!important;
	overflow-wrap:anywhere;
}

/* Tablet */
@media(max-width:900px){
	.msav-journal-single .msav-wp-article-content blockquote,
	.msav-journal-single .msav-wp-article-content .wp-block-quote,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote {
		width:calc(100vw - 40px)!important;
		max-width:760px!important;
		padding:38px 34px!important;
		margin:54px 0!important;
	}

	.msav-journal-single .msav-wp-article-content blockquote p,
	.msav-journal-single .msav-wp-article-content .wp-block-quote p,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote p {
		max-width:100%;
		font-size:clamp(1.8rem,5.2vw,2.8rem)!important;
		line-height:1.1!important;
	}
}

/* Mobile */
@media(max-width:620px){
	.msav-journal-single .msav-wp-article-content blockquote,
	.msav-journal-single .msav-wp-article-content .wp-block-quote,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote {
		width:calc(100vw - 24px)!important;
		max-width:none!important;
		margin:44px 0!important;
		padding:30px 22px 32px!important;
		border-top-width:5px!important;
	}

	.msav-journal-single .msav-wp-article-content blockquote p,
	.msav-journal-single .msav-wp-article-content .wp-block-quote p,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote p {
		font-size:clamp(1.55rem,7.5vw,2.15rem)!important;
		line-height:1.13!important;
		letter-spacing:-.035em!important;
	}

	.msav-journal-single .msav-wp-article-content blockquote cite,
	.msav-journal-single .msav-wp-article-content .wp-block-quote cite,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote cite {
		margin-top:20px!important;
		font-size:9px!important;
		line-height:1.5!important;
	}
}

/* Very small mobile */
@media(max-width:390px){
	.msav-journal-single .msav-wp-article-content blockquote,
	.msav-journal-single .msav-wp-article-content .wp-block-quote,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote {
		width:calc(100vw - 18px)!important;
		padding:26px 18px 28px!important;
	}

	.msav-journal-single .msav-wp-article-content blockquote p,
	.msav-journal-single .msav-wp-article-content .wp-block-quote p,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote p {
		font-size:clamp(1.4rem,7.8vw,1.9rem)!important;
	}
}


/* ==========================================================
   Blog multi-image section — single-image carousel
   All devices show one image per slide.
   ========================================================== */
.msav-journal-single .msav-journal-carousel{
	max-width:1120px;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track{
	display:flex!important;
	width:100%!important;
	max-width:none!important;
	height:auto!important;
	grid-template-columns:none!important;
	grid-template-rows:none!important;
	gap:14px!important;
	margin:0!important;
	padding:0!important;
	transform:none!important;
	align-items:stretch!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > *{
	display:block!important;
	flex:0 0 100%!important;
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
	height:auto!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	grid-column:auto!important;
	grid-row:auto!important;
	align-self:stretch!important;
	overflow:hidden!important;
	scroll-snap-align:start;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * img{
	display:block!important;
	width:100%!important;
	max-width:none!important;
	height:auto!important;
	aspect-ratio:16 / 10;
	object-fit:cover!important;
}

@media(max-width:900px){
	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > *{
		flex-basis:100%!important;
	}

	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * img{
		aspect-ratio:4 / 3;
	}
}

@media(max-width:620px){
	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > *{
		flex-basis:100%!important;
	}

	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * img{
		aspect-ratio:4 / 3;
	}
}


/* ==========================================================
   FINAL Blog carousel — ONE fixed-size image per slide
   ========================================================== */
.msav-journal-single .msav-journal-carousel{
	position:relative!important;
	width:min(calc(100vw - 48px),1000px)!important;
	max-width:1000px!important;
	margin:clamp(54px,8vw,96px) 50%!important;
	transform:translateX(-50%)!important;
}

.msav-journal-single .msav-journal-carousel-viewport{
	position:relative!important;
	width:100%!important;
	max-width:100%!important;
	overflow:hidden!important;
	scroll-snap-type:x mandatory!important;
	scroll-behavior:smooth;
}

.msav-journal-single .msav-journal-carousel-viewport >
.wp-block-gallery.msav-journal-carousel-track,
.msav-journal-single .wp-block-gallery.msav-journal-carousel-track{
	display:flex!important;
	flex-wrap:nowrap!important;
	width:100%!important;
	max-width:100%!important;
	min-width:100%!important;
	height:auto!important;
	gap:0!important;
	margin:0!important;
	padding:0!important;
	transform:none!important;
	grid-template-columns:none!important;
	grid-template-rows:none!important;
	align-items:stretch!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track >
figure.wp-block-image,
.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > *{
	display:block!important;
	flex:0 0 100%!important;
	flex-basis:100%!important;
	flex-grow:0!important;
	flex-shrink:0!important;
	width:100%!important;
	min-width:100%!important;
	max-width:100%!important;
	height:auto!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	grid-column:auto!important;
	grid-row:auto!important;
	align-self:stretch!important;
	overflow:hidden!important;
	scroll-snap-align:start!important;
	scroll-snap-stop:always!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track >
figure.wp-block-image img,
.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * img{
	display:block!important;
	width:100%!important;
	min-width:100%!important;
	max-width:100%!important;
	height:auto!important;
	aspect-ratio:16 / 9!important;
	object-fit:cover!important;
	object-position:center!important;
	margin:0!important;
}

/* Overlay arrows so the carousel reads as one single image */
.msav-journal-single .msav-journal-carousel-controls{
	position:absolute!important;
	z-index:5;
	top:50%;
	left:14px;
	right:14px;
	display:flex!important;
	justify-content:space-between!important;
	margin:0!important;
	pointer-events:none;
	transform:translateY(-50%);
}

.msav-journal-single .msav-journal-carousel-controls[hidden]{
	display:none!important;
}

.msav-journal-single .msav-journal-carousel-arrow{
	width:46px!important;
	height:46px!important;
	border:1px solid rgba(255,255,255,.62)!important;
	background:rgba(10,10,10,.7)!important;
	color:#fff!important;
	backdrop-filter:blur(5px);
	pointer-events:auto;
}

.msav-journal-single .msav-journal-carousel-arrow:hover,
.msav-journal-single .msav-journal-carousel-arrow:focus-visible{
	border-color:var(--lime,#d6ff30)!important;
	background:var(--lime,#d6ff30)!important;
	color:#111!important;
}

/* Bullets remain below the single image */
.msav-journal-single .msav-journal-carousel-pagination{
	margin-top:14px!important;
	padding:0!important;
}

@media(max-width:900px){
	.msav-journal-single .msav-journal-carousel{
		width:calc(100vw - 36px)!important;
		max-width:900px!important;
	}

	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track >
	figure.wp-block-image img,
	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * img{
		aspect-ratio:16 / 9!important;
	}
}

@media(max-width:620px){
	.msav-journal-single .msav-journal-carousel{
		width:calc(100vw - 20px)!important;
		margin-top:44px!important;
		margin-bottom:58px!important;
	}

	.msav-journal-single .msav-journal-carousel-controls{
		left:8px;
		right:8px;
	}

	.msav-journal-single .msav-journal-carousel-arrow{
		width:40px!important;
		height:40px!important;
	}

	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track >
	figure.wp-block-image img,
	.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * img{
		aspect-ratio:16 / 9!important;
	}

	.msav-journal-single .msav-journal-carousel-pagination{
		margin-top:12px!important;
	}
}


/* ==========================================================
   FINAL FIX — TRUE ONE-IMAGE JOURNAL CAROUSEL
   Only the active image exists visually in the carousel viewport.
   This prevents Gutenberg's gallery column/flex CSS from showing
   two images side-by-side.
   ========================================================== */
.msav-journal-single .msav-journal-carousel{
	position:relative!important;
	width:min(calc(100vw - 48px),1000px)!important;
	max-width:1000px!important;
	margin:clamp(54px,8vw,96px) 50%!important;
	transform:translateX(-50%)!important;
}

.msav-journal-single .msav-journal-carousel-viewport{
	position:relative!important;
	width:100%!important;
	max-width:100%!important;
	overflow:hidden!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track{
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	height:auto!important;
	margin:0!important;
	padding:0!important;
	transform:none!important;
	grid-template-columns:none!important;
	grid-template-rows:none!important;
	gap:0!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track >
.msav-journal-carousel-slide{
	display:none!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	height:auto!important;
	margin:0!important;
	padding:0!important;
	grid-column:auto!important;
	grid-row:auto!important;
	flex:none!important;
	overflow:hidden!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track >
.msav-journal-carousel-slide.is-active{
	display:block!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track >
.msav-journal-carousel-slide img{
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	height:auto!important;
	aspect-ratio:16 / 9!important;
	object-fit:cover!important;
	object-position:center!important;
	margin:0!important;
}

/* Arrow overlay */
.msav-journal-single .msav-journal-carousel-controls{
	position:absolute!important;
	z-index:5;
	top:50%;
	left:14px;
	right:14px;
	display:flex!important;
	justify-content:space-between!important;
	margin:0!important;
	pointer-events:none;
	transform:translateY(-50%);
}

.msav-journal-single .msav-journal-carousel-controls[hidden],
.msav-journal-single .msav-journal-carousel-pagination[hidden]{
	display:none!important;
}

.msav-journal-single .msav-journal-carousel-arrow{
	width:46px!important;
	height:46px!important;
	border:1px solid rgba(255,255,255,.62)!important;
	background:rgba(10,10,10,.72)!important;
	color:#fff!important;
	pointer-events:auto;
}

.msav-journal-single .msav-journal-carousel-arrow:hover,
.msav-journal-single .msav-journal-carousel-arrow:focus-visible{
	border-color:var(--lime,#d6ff30)!important;
	background:var(--lime,#d6ff30)!important;
	color:#111!important;
}

.msav-journal-single .msav-journal-carousel-pagination{
	display:flex!important;
	justify-content:center!important;
	align-items:center!important;
	gap:8px!important;
	margin-top:14px!important;
	padding:0!important;
}

@media(max-width:900px){
	.msav-journal-single .msav-journal-carousel{
		width:calc(100vw - 36px)!important;
	}
}

@media(max-width:620px){
	.msav-journal-single .msav-journal-carousel{
		width:calc(100vw - 20px)!important;
		margin-top:44px!important;
		margin-bottom:58px!important;
	}

	.msav-journal-single .msav-journal-carousel-controls{
		left:8px;
		right:8px;
	}

	.msav-journal-single .msav-journal-carousel-arrow{
		width:40px!important;
		height:40px!important;
	}
}


/* ==========================================================
   FINAL FIX — standalone Blog image
   A single Gutenberg Image block is centered and uses the same
   fixed media proportions instead of drifting to the left.
   ========================================================== */
.msav-journal-single .msav-wp-article-content > figure.wp-block-image,
.msav-journal-single .msav-wp-article-content > .wp-block-image:not(.wp-block-gallery .wp-block-image){
	display:block!important;
	position:relative!important;
	left:auto!important;
	width:100%!important;
	max-width:900px!important;
	aspect-ratio:16 / 9!important;
	margin:clamp(48px,7vw,82px) auto!important;
	padding:0!important;
	transform:none!important;
	overflow:hidden!important;
	background:#111;
}

.msav-journal-single .msav-wp-article-content > figure.wp-block-image img,
.msav-journal-single .msav-wp-article-content > .wp-block-image:not(.wp-block-gallery .wp-block-image) img{
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	height:100%!important;
	max-height:none!important;
	margin:0!important;
	object-fit:cover!important;
	object-position:center!important;
}

/* Keep captions aligned to the image instead of the reading column. */
.msav-journal-single .msav-wp-article-content > figure.wp-block-image figcaption{
	position:absolute;
	z-index:2;
	right:14px;
	bottom:12px;
	left:14px;
	margin:0!important;
	padding:7px 9px;
	background:rgba(0,0,0,.58);
	color:#fff;
	font:500 9px/1.45 'Fira Mono',monospace;
}

/* Tablet */
@media(max-width:900px){
	.msav-journal-single .msav-wp-article-content > figure.wp-block-image,
	.msav-journal-single .msav-wp-article-content > .wp-block-image:not(.wp-block-gallery .wp-block-image){
		width:100%!important;
		max-width:760px!important;
		aspect-ratio:16 / 9!important;
	}
}

/* Mobile */
@media(max-width:620px){
	.msav-journal-single .msav-wp-article-content > figure.wp-block-image,
	.msav-journal-single .msav-wp-article-content > .wp-block-image:not(.wp-block-gallery .wp-block-image){
		width:100%!important;
		max-width:100%!important;
		aspect-ratio:4 / 3!important;
		margin:40px auto 48px!important;
	}

	.msav-journal-single .msav-wp-article-content > figure.wp-block-image figcaption{
		right:8px;
		bottom:8px;
		left:8px;
		font-size:8px;
	}
}


/* ==========================================================
   FINAL FIX — Gutenberg gallery width override
   WordPress core uses :not(#individual-image), which gives its
   gallery-item width rule ID-level specificity. Match that selector
   so the active carousel slide truly fills the whole viewport.
   ========================================================== */
.msav-journal-single
.msav-wp-article-content
.wp-block-gallery.has-nested-images.msav-journal-carousel-track
> figure.wp-block-image:not(#individual-image).msav-journal-carousel-slide{
	display:none!important;
	flex:0 0 100%!important;
	flex-basis:100%!important;
	flex-grow:0!important;
	flex-shrink:0!important;
	width:100%!important;
	min-width:100%!important;
	max-width:100%!important;
	height:auto!important;
	margin:0!important;
	padding:0!important;
}

.msav-journal-single
.msav-wp-article-content
.wp-block-gallery.has-nested-images.msav-journal-carousel-track
> figure.wp-block-image:not(#individual-image).msav-journal-carousel-slide.is-active{
	display:block!important;
	width:100%!important;
	min-width:100%!important;
	max-width:100%!important;
}

.msav-journal-single
.msav-wp-article-content
.wp-block-gallery.has-nested-images.msav-journal-carousel-track
> figure.wp-block-image:not(#individual-image).msav-journal-carousel-slide
> img{
	display:block!important;
	width:100%!important;
	min-width:100%!important;
	max-width:100%!important;
	height:auto!important;
	aspect-ratio:16 / 9!important;
	object-fit:cover!important;
	object-position:center!important;
	margin:0!important;
}

/* Remove Gutenberg's gallery gap/column behaviour inside the carousel. */
.msav-journal-single
.msav-wp-article-content
.wp-block-gallery.has-nested-images.msav-journal-carousel-track{
	--wp--style--unstable-gallery-gap:0px!important;
	display:block!important;
	width:100%!important;
	min-width:100%!important;
	max-width:100%!important;
	gap:0!important;
}

/* Keep controls aligned to the actual image frame. */
.msav-journal-single .msav-journal-carousel-controls{
	left:14px!important;
	right:14px!important;
}

@media(max-width:620px){
	.msav-journal-single
	.msav-wp-article-content
	.wp-block-gallery.has-nested-images.msav-journal-carousel-track
	> figure.wp-block-image:not(#individual-image).msav-journal-carousel-slide
	> img{
		aspect-ratio:4 / 3!important;
	}

	.msav-journal-single .msav-journal-carousel-controls{
		left:8px!important;
		right:8px!important;
	}
}


/* ==========================================================
   CLEAN JOURNAL SINGLE-IMAGE CAROUSEL
   Uses its own rendered image rather than Gutenberg's gallery layout.
   ========================================================== */

.msav-journal-single .msav-journal-source-gallery{
	display:none!important;
}

.msav-journal-single .msav-journal-single-carousel{
	position:relative;
	left:50%;
	width:min(calc(100vw - 48px),960px);
	max-width:960px;
	margin:clamp(56px,8vw,92px) 0;
	transform:translateX(-50%);
}

.msav-journal-single .msav-journal-single-carousel-frame{
	position:relative;
	width:100%;
	aspect-ratio:16 / 9;
	overflow:hidden;
	background:#111;
	outline:none;
}

.msav-journal-single .msav-journal-single-carousel-figure{
	width:100%;
	height:100%;
	margin:0;
	padding:0;
}

.msav-journal-single .msav-journal-single-carousel-image{
	display:block;
	width:100%;
	height:100%;
	margin:0;
	object-fit:contain;
	object-position:center;
	background:#111;
}

.msav-journal-single .msav-journal-single-carousel-caption{
	position:absolute;
	z-index:3;
	right:14px;
	bottom:12px;
	left:14px;
	margin:0;
	padding:7px 9px;
	background:rgba(0,0,0,.62);
	color:#fff;
	font:500 9px/1.45 'Fira Mono',monospace;
}

.msav-journal-single .msav-journal-single-carousel-arrow{
	position:absolute;
	z-index:5;
	top:50%;
	display:grid;
	width:46px;
	height:46px;
	place-items:center;
	padding:0;
	border:1px solid rgba(255,255,255,.7);
	border-radius:50%;
	background:rgba(10,10,10,.72);
	color:#fff;
	font-size:18px;
	cursor:pointer;
	transform:translateY(-50%);
	transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.msav-journal-single .msav-journal-single-carousel-arrow.is-prev{
	left:14px;
}

.msav-journal-single .msav-journal-single-carousel-arrow.is-next{
	right:14px;
}

.msav-journal-single .msav-journal-single-carousel-arrow:hover,
.msav-journal-single .msav-journal-single-carousel-arrow:focus-visible{
	border-color:var(--lime,#d6ff30);
	background:var(--lime,#d6ff30);
	color:#111;
	outline:none;
}

.msav-journal-single .msav-journal-single-carousel-pagination{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin-top:14px;
}

.msav-journal-single .msav-journal-single-carousel-dot{
	width:7px;
	height:7px;
	padding:0;
	border:0;
	border-radius:50%;
	background:rgba(17,17,17,.24);
	cursor:pointer;
	transition:width .2s ease,background .2s ease;
}

.msav-journal-single .msav-journal-single-carousel-dot.is-active{
	width:24px;
	border-radius:999px;
	background:var(--lime,#d6ff30);
}

@media(max-width:900px){
	.msav-journal-single .msav-journal-single-carousel{
		width:calc(100vw - 36px);
		max-width:760px;
	}
}

@media(max-width:620px){
	.msav-journal-single .msav-journal-single-carousel{
		width:calc(100vw - 20px);
		margin-top:44px;
		margin-bottom:56px;
	}

	.msav-journal-single .msav-journal-single-carousel-frame{
		aspect-ratio:4 / 3;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow{
		width:40px;
		height:40px;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow.is-prev{
		left:8px;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow.is-next{
		right:8px;
	}

	.msav-journal-single .msav-journal-single-carousel-caption{
		right:8px;
		bottom:8px;
		left:8px;
		font-size:8px;
	}
}


/* ==========================================================
   JOURNAL MEDIA — ALL SCREEN RESOLUTION COMPATIBILITY
   Covers large desktop, laptop, tablet, mobile and small mobile.
   ========================================================== */

/* Prevent any Blog media block from creating page-level overflow. */
.msav-journal-single,
.msav-journal-single .msav-wp-article-content,
.msav-journal-single .msav-journal-single-carousel,
.msav-journal-single .msav-journal-single-carousel-frame,
.msav-journal-single .wp-block-image,
.msav-journal-single .wp-block-video,
.msav-journal-single .wp-block-embed {
	max-width:100%;
	box-sizing:border-box;
}

/* ---------- Carousel: large desktop ---------- */
.msav-journal-single .msav-journal-single-carousel{
	width:min(calc(100vw - 72px),1000px)!important;
	max-width:1000px!important;
}

.msav-journal-single .msav-journal-single-carousel-frame{
	width:100%!important;
	aspect-ratio:16 / 9!important;
}

.msav-journal-single .msav-journal-single-carousel-image{
	width:100%!important;
	height:100%!important;
	object-fit:contain!important;
	object-position:center!important;
}

/* ---------- Laptop / smaller desktop ---------- */
@media(max-width:1280px){
	.msav-journal-single .msav-journal-single-carousel{
		width:min(calc(100vw - 56px),920px)!important;
		max-width:920px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow{
		width:44px!important;
		height:44px!important;
	}
}

/* ---------- Tablet landscape / small laptop ---------- */
@media(max-width:1024px){
	.msav-journal-single .msav-journal-single-carousel{
		width:calc(100vw - 44px)!important;
		max-width:860px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-frame{
		aspect-ratio:16 / 10!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow{
		width:42px!important;
		height:42px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow.is-prev{
		left:10px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow.is-next{
		right:10px!important;
	}
}

/* ---------- Tablet portrait ---------- */
@media(max-width:820px){
	.msav-journal-single .msav-journal-single-carousel{
		width:calc(100vw - 32px)!important;
		max-width:720px!important;
		margin-top:48px!important;
		margin-bottom:58px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-frame{
		aspect-ratio:3 / 2!important;
	}

	.msav-journal-single .msav-journal-single-carousel-caption{
		right:10px!important;
		bottom:10px!important;
		left:10px!important;
	}
}

/* ---------- Mobile ---------- */
@media(max-width:620px){
	.msav-journal-single .msav-journal-single-carousel{
		width:calc(100vw - 20px)!important;
		max-width:none!important;
		margin-top:42px!important;
		margin-bottom:54px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-frame{
		aspect-ratio:4 / 3!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow{
		width:40px!important;
		height:40px!important;
		font-size:16px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow.is-prev{
		left:8px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow.is-next{
		right:8px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-pagination{
		gap:7px!important;
		margin-top:12px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-dot{
		width:7px!important;
		height:7px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-dot.is-active{
		width:22px!important;
	}
}

/* ---------- Small mobile ---------- */
@media(max-width:430px){
	.msav-journal-single .msav-journal-single-carousel{
		width:calc(100vw - 14px)!important;
	}

	.msav-journal-single .msav-journal-single-carousel-frame{
		aspect-ratio:4 / 3!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow{
		width:38px!important;
		height:38px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-caption{
		right:7px!important;
		bottom:7px!important;
		left:7px!important;
		padding:6px 7px!important;
		font-size:8px!important;
	}
}

/* ---------- Very small mobile ---------- */
@media(max-width:360px){
	.msav-journal-single .msav-journal-single-carousel{
		width:calc(100vw - 10px)!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow{
		width:36px!important;
		height:36px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow.is-prev{
		left:6px!important;
	}

	.msav-journal-single .msav-journal-single-carousel-arrow.is-next{
		right:6px!important;
	}
}

/* ---------- Standalone images ---------- */
.msav-journal-single .msav-wp-article-content > figure.wp-block-image{
	width:min(100%,900px)!important;
	max-width:900px!important;
	margin-left:auto!important;
	margin-right:auto!important;
}

.msav-journal-single .msav-wp-article-content > figure.wp-block-image img{
	width:100%!important;
	max-width:100%!important;
	height:auto!important;
}

@media(max-width:900px){
	.msav-journal-single .msav-wp-article-content > figure.wp-block-image{
		width:100%!important;
		max-width:760px!important;
	}
}

@media(max-width:620px){
	.msav-journal-single .msav-wp-article-content > figure.wp-block-image{
		width:100%!important;
		max-width:100%!important;
	}
}

/* ---------- Video / YouTube / Vimeo ---------- */
.msav-journal-single .msav-wp-article-content .wp-block-video,
.msav-journal-single .msav-wp-article-content .wp-block-embed{
	width:min(100%,1000px)!important;
	max-width:1000px!important;
	margin-left:auto!important;
	margin-right:auto!important;
	transform:none!important;
}

.msav-journal-single .msav-wp-article-content .wp-block-video video{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-width:100%!important;
}

.msav-journal-single .msav-wp-article-content .wp-block-embed__wrapper{
	width:100%!important;
	aspect-ratio:16 / 9!important;
}

.msav-journal-single .msav-wp-article-content .wp-block-embed__wrapper iframe{
	width:100%!important;
	height:100%!important;
}

@media(max-width:620px){
	.msav-journal-single .msav-wp-article-content .wp-block-video,
	.msav-journal-single .msav-wp-article-content .wp-block-embed{
		width:100%!important;
		max-width:100%!important;
	}
}


/* ==========================================================
   MSAV JOURNAL MEDIA GUTENBERG BLOCK
   One image = fixed responsive image.
   Two or more = true single-image carousel.
   ========================================================== */
.msav-journal-single .msav-journal-media-block{
	position:relative;
	left:50%;
	width:min(calc(100vw - 64px),960px);
	max-width:960px;
	margin:clamp(54px,8vw,92px) 0;
	transform:translateX(-50%);
	box-sizing:border-box;
}

.msav-journal-single .msav-journal-media-block__frame{
	position:relative;
	width:100%;
	aspect-ratio:16 / 9;
	overflow:hidden;
	background:#111;
	outline:none;
}

.msav-journal-single .msav-journal-media-block__slides{
	width:100%;
	height:100%;
}

.msav-journal-single .msav-journal-media-block__slide{
	display:none;
	position:relative;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
}

.msav-journal-single .msav-journal-media-block__slide.is-active{
	display:block;
}

.msav-journal-single .msav-journal-media-block__image{
	display:block;
	width:100%;
	height:100%;
	margin:0;
	object-position:center;
}

.msav-journal-single .msav-journal-media-block[data-image-fit="contain"] .msav-journal-media-block__image{
	object-fit:contain;
}

.msav-journal-single .msav-journal-media-block[data-image-fit="cover"] .msav-journal-media-block__image{
	object-fit:cover;
}

.msav-journal-single .msav-journal-media-block__caption{
	position:absolute;
	z-index:3;
	right:14px;
	bottom:12px;
	left:14px;
	margin:0;
	padding:7px 9px;
	background:rgba(0,0,0,.62);
	color:#fff;
	font:500 9px/1.45 'Fira Mono',monospace;
}

.msav-journal-single .msav-journal-media-block__arrow{
	position:absolute;
	z-index:5;
	top:50%;
	display:grid;
	width:46px;
	height:46px;
	place-items:center;
	padding:0;
	border:1px solid rgba(255,255,255,.72);
	border-radius:50%;
	background:rgba(10,10,10,.72);
	color:#fff;
	font-size:18px;
	cursor:pointer;
	transform:translateY(-50%);
	transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.msav-journal-single .msav-journal-media-block__arrow.is-prev{
	left:14px;
}

.msav-journal-single .msav-journal-media-block__arrow.is-next{
	right:14px;
}

.msav-journal-single .msav-journal-media-block__arrow:hover,
.msav-journal-single .msav-journal-media-block__arrow:focus-visible{
	border-color:var(--lime,#d6ff30);
	background:var(--lime,#d6ff30);
	color:#111;
	outline:none;
}

.msav-journal-single .msav-journal-media-block__pagination{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin-top:14px;
}

.msav-journal-single .msav-journal-media-block__dot{
	width:7px;
	height:7px;
	padding:0;
	border:0;
	border-radius:50%;
	background:rgba(17,17,17,.24);
	cursor:pointer;
	transition:width .2s ease,background .2s ease;
}

.msav-journal-single .msav-journal-media-block__dot.is-active{
	width:24px;
	border-radius:999px;
	background:var(--lime,#d6ff30);
}

/* Laptop */
@media(max-width:1280px){
	.msav-journal-single .msav-journal-media-block{
		width:min(calc(100vw - 52px),920px);
		max-width:920px;
	}
}

/* Tablet landscape */
@media(max-width:1024px){
	.msav-journal-single .msav-journal-media-block{
		width:calc(100vw - 44px);
		max-width:840px;
	}

	.msav-journal-single .msav-journal-media-block__frame{
		aspect-ratio:16 / 10;
	}
}

/* Tablet portrait */
@media(max-width:820px){
	.msav-journal-single .msav-journal-media-block{
		width:calc(100vw - 32px);
		max-width:720px;
	}

	.msav-journal-single .msav-journal-media-block__frame{
		aspect-ratio:3 / 2;
	}

	.msav-journal-single .msav-journal-media-block__arrow{
		width:42px;
		height:42px;
	}

	.msav-journal-single .msav-journal-media-block__arrow.is-prev{
		left:10px;
	}

	.msav-journal-single .msav-journal-media-block__arrow.is-next{
		right:10px;
	}
}

/* Mobile */
@media(max-width:620px){
	.msav-journal-single .msav-journal-media-block{
		width:calc(100vw - 20px);
		max-width:none;
		margin-top:42px;
		margin-bottom:54px;
	}

	.msav-journal-single .msav-journal-media-block__frame{
		aspect-ratio:4 / 3;
	}

	.msav-journal-single .msav-journal-media-block__arrow{
		width:40px;
		height:40px;
		font-size:16px;
	}

	.msav-journal-single .msav-journal-media-block__arrow.is-prev{
		left:8px;
	}

	.msav-journal-single .msav-journal-media-block__arrow.is-next{
		right:8px;
	}

	.msav-journal-single .msav-journal-media-block__caption{
		right:8px;
		bottom:8px;
		left:8px;
		font-size:8px;
	}
}

/* Very small mobile */
@media(max-width:390px){
	.msav-journal-single .msav-journal-media-block{
		width:calc(100vw - 12px);
	}

	.msav-journal-single .msav-journal-media-block__arrow{
		width:36px;
		height:36px;
	}

	.msav-journal-single .msav-journal-media-block__arrow.is-prev{
		left:6px;
	}

	.msav-journal-single .msav-journal-media-block__arrow.is-next{
		right:6px;
	}
}


/* ==========================================================
   MSAV JOURNAL — STANDARD TYPOGRAPHY SYSTEM
   Keeps the original visual identity while making all Journal
   titles/content easier to read and consistent across devices.
   ========================================================== */

/* ---------- HERO ---------- */
.msav-journal-single .article-hero h1{
	max-width:1050px!important;
	font-size:clamp(3rem,5.2vw,5.6rem)!important;
	font-weight:500!important;
	line-height:1!important;
	letter-spacing:-.05em!important;
	overflow-wrap:anywhere;
}

.msav-journal-single .article-deck{
	margin-top:clamp(30px,4vw,46px)!important;
}

.msav-journal-single .article-deck > p,
.msav-journal-single .article-summary{
	max-width:720px!important;
	font-size:18px!important;
	line-height:1.65!important;
	letter-spacing:0!important;
}

/* ---------- MAIN BLOG CONTENT ---------- */
.msav-journal-single .msav-wp-article-content p{
	margin:0 0 1.55em!important;
	font-size:18px!important;
	line-height:1.75!important;
	letter-spacing:0!important;
}

.msav-journal-single .msav-wp-article-content > p:first-of-type,
.msav-journal-single .msav-wp-article-content > .wp-block-paragraph:first-of-type,
.msav-journal-single .msav-wp-article-content .lead{
	margin-bottom:1.6em!important;
	font-size:20px!important;
	font-weight:500!important;
	line-height:1.65!important;
	letter-spacing:-.01em!important;
}

.msav-journal-single .msav-wp-article-content h2,
.msav-journal-single .msav-wp-article-content .wp-block-heading:is(h2){
	margin:2.1em 0 .7em!important;
	font-size:clamp(2rem,3vw,3rem)!important;
	font-weight:650!important;
	line-height:1.08!important;
	letter-spacing:-.035em!important;
	overflow-wrap:anywhere;
}

.msav-journal-single .msav-wp-article-content h3,
.msav-journal-single .msav-wp-article-content .wp-block-heading:is(h3){
	margin:1.9em 0 .65em!important;
	font-size:clamp(1.45rem,2vw,2rem)!important;
	font-weight:650!important;
	line-height:1.15!important;
	letter-spacing:-.025em!important;
	overflow-wrap:anywhere;
}

.msav-journal-single .msav-wp-article-content h4{
	margin:1.8em 0 .6em!important;
	font-size:clamp(1.2rem,1.6vw,1.5rem)!important;
	line-height:1.2!important;
}

.msav-journal-single .msav-wp-article-content ul,
.msav-journal-single .msav-wp-article-content ol{
	margin:0 0 1.7em!important;
	padding-left:1.4em!important;
	font-size:18px!important;
	line-height:1.7!important;
}

.msav-journal-single .msav-wp-article-content li{
	margin-bottom:.5em!important;
}

/* ---------- QUOTE ---------- */
.msav-journal-single .msav-wp-article-content blockquote p,
.msav-journal-single .msav-wp-article-content .wp-block-quote p,
.msav-journal-single .msav-wp-article-content .wp-block-pullquote p{
	font-size:clamp(2rem,3.2vw,3.25rem)!important;
	line-height:1.1!important;
	letter-spacing:-.04em!important;
}

/* ---------- PREVIOUS / NEXT ---------- */
.msav-journal-single .article-nav-link{
	min-height:260px!important;
	padding:clamp(32px,4vw,52px)!important;
}

.msav-journal-single .article-nav-link h2{
	max-width:560px!important;
	margin-top:36px!important;
	font-size:clamp(1.8rem,2.8vw,2.8rem)!important;
	line-height:1.06!important;
	letter-spacing:-.04em!important;
	overflow-wrap:anywhere;
}

/* ---------- RELATED ARTICLES ---------- */
.msav-journal-single .related .post-card h3{
	font-size:clamp(1.3rem,1.8vw,1.85rem)!important;
	line-height:1.08!important;
	letter-spacing:-.035em!important;
}

/* ---------- RED CTA SECTION ---------- */
.msav-journal-single .article-cta{
	min-height:430px!important;
	padding:clamp(64px,7vw,92px) 0!important;
}

.msav-journal-single .article-cta-inner{
	grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;
	gap:clamp(40px,6vw,80px)!important;
	align-items:center!important;
}

.msav-journal-single .article-cta h2{
	max-width:760px!important;
	margin:0!important;
	font-size:clamp(3rem,5vw,5rem)!important;
	font-weight:500!important;
	line-height:.96!important;
	letter-spacing:-.055em!important;
	text-transform:uppercase!important;
	overflow-wrap:anywhere;
}

.msav-journal-single .article-cta-copy p{
	max-width:440px!important;
	margin:0 0 24px!important;
	font-size:17px!important;
	line-height:1.6!important;
}

/* ---------- LAPTOP ---------- */
@media(max-width:1180px){
	.msav-journal-single .article-hero h1{
		font-size:clamp(2.8rem,6vw,4.8rem)!important;
	}

	.msav-journal-single .article-cta h2{
		font-size:clamp(2.8rem,5.6vw,4.4rem)!important;
	}
}

/* ---------- TABLET ---------- */
@media(max-width:900px){
	.msav-journal-single .article-hero h1{
		max-width:100%!important;
		font-size:clamp(2.7rem,7.5vw,4.2rem)!important;
		line-height:1.02!important;
	}

	.msav-journal-single .article-deck > p,
	.msav-journal-single .article-summary{
		font-size:17px!important;
		line-height:1.65!important;
	}

	.msav-journal-single .article-cta{
		min-height:auto!important;
		padding:64px 0!important;
	}

	.msav-journal-single .article-cta-inner{
		grid-template-columns:1fr!important;
		gap:34px!important;
		align-items:start!important;
	}

	.msav-journal-single .article-cta h2{
		max-width:680px!important;
		font-size:clamp(2.7rem,7vw,4rem)!important;
		line-height:.98!important;
	}

	.msav-journal-single .article-nav-link h2{
		font-size:clamp(1.65rem,4vw,2.4rem)!important;
	}
}

/* ---------- MOBILE ---------- */
@media(max-width:620px){
	.msav-journal-single .article-hero h1{
		font-size:clamp(2.35rem,10.5vw,3.4rem)!important;
		line-height:1.03!important;
		letter-spacing:-.04em!important;
	}

	.msav-journal-single .article-deck{
		margin-top:26px!important;
	}

	.msav-journal-single .article-deck > p,
	.msav-journal-single .article-summary{
		font-size:16px!important;
		line-height:1.65!important;
	}

	.msav-journal-single .msav-wp-article-content p,
	.msav-journal-single .msav-wp-article-content ul,
	.msav-journal-single .msav-wp-article-content ol{
		font-size:16px!important;
		line-height:1.72!important;
	}

	.msav-journal-single .msav-wp-article-content > p:first-of-type,
	.msav-journal-single .msav-wp-article-content > .wp-block-paragraph:first-of-type,
	.msav-journal-single .msav-wp-article-content .lead{
		font-size:18px!important;
		line-height:1.62!important;
	}

	.msav-journal-single .msav-wp-article-content h2,
	.msav-journal-single .msav-wp-article-content .wp-block-heading:is(h2){
		margin-top:1.9em!important;
		font-size:clamp(1.8rem,7.4vw,2.35rem)!important;
		line-height:1.12!important;
	}

	.msav-journal-single .msav-wp-article-content h3,
	.msav-journal-single .msav-wp-article-content .wp-block-heading:is(h3){
		font-size:clamp(1.35rem,5.8vw,1.75rem)!important;
		line-height:1.18!important;
	}

	.msav-journal-single .msav-wp-article-content blockquote p,
	.msav-journal-single .msav-wp-article-content .wp-block-quote p,
	.msav-journal-single .msav-wp-article-content .wp-block-pullquote p{
		font-size:clamp(1.55rem,7vw,2rem)!important;
		line-height:1.14!important;
	}

	.msav-journal-single .article-nav-link{
		min-height:200px!important;
		padding:28px 22px!important;
	}

	.msav-journal-single .article-nav-link h2{
		margin-top:30px!important;
		font-size:clamp(1.5rem,6.8vw,2rem)!important;
		line-height:1.08!important;
	}

	.msav-journal-single .related .post-card h3{
		font-size:1.35rem!important;
	}

	.msav-journal-single .article-cta{
		min-height:auto!important;
		padding:56px 0!important;
	}

	.msav-journal-single .article-cta h2{
		max-width:100%!important;
		font-size:clamp(2.45rem,10vw,3.35rem)!important;
		line-height:1!important;
		letter-spacing:-.045em!important;
	}

	.msav-journal-single .article-cta-copy p{
		font-size:16px!important;
		line-height:1.6!important;
	}
}

/* ---------- VERY SMALL MOBILE ---------- */
@media(max-width:390px){
	.msav-journal-single .article-hero h1{
		font-size:clamp(2.2rem,10.8vw,3rem)!important;
	}

	.msav-journal-single .article-cta h2{
		font-size:clamp(2.25rem,10.8vw,3rem)!important;
	}
}


/* ==========================================================
   JOURNAL AUTHOR + ABOUT-US STYLE CTA
   ========================================================== */

/* Visual author name in full capitals. Stored WordPress author is unchanged. */
.msav-journal-single .article-meta .meta-item:first-child > span{
	text-transform:uppercase!important;
}

/* Blog CTA now follows the About Us CTA system. */
.msav-journal-single .article-cta{
	position:relative!important;
	display:block!important;
	min-height:0!important;
	padding:clamp(48px,6vw,82px) clamp(22px,7vw,112px)!important;
	overflow:hidden!important;
	background:
		radial-gradient(ellipse at 12% 0%,rgba(255,87,96,.55),transparent 42%),
		linear-gradient(110deg,#50070d 0%,#c3161c 49%,#710a10 100%)!important;
}

/* Dotted centre texture from About Us CTA. */
.msav-journal-single .article-cta::before{
	content:""!important;
	position:absolute!important;
	z-index:0!important;
	inset:0!important;
	opacity:.72!important;
	pointer-events:none!important;
	background:
		radial-gradient(circle,rgba(255,111,120,.9) 0 1px,transparent 1.35px)
		0 0 / 4px 4px!important;
	-webkit-mask-image:
		radial-gradient(ellipse 34% 180% at 54% 54%,#000 0%,rgba(0,0,0,.82) 44%,transparent 88%)!important;
	mask-image:
		radial-gradient(ellipse 34% 180% at 54% 54%,#000 0%,rgba(0,0,0,.82) 44%,transparent 88%)!important;
}

/* Dark edge shaping from About Us CTA. */
.msav-journal-single .article-cta::after{
	content:""!important;
	position:absolute!important;
	z-index:0!important;
	inset:0!important;
	pointer-events:none!important;
	background:
		linear-gradient(90deg,rgba(0,0,0,.20),transparent 42%,rgba(0,0,0,.14))!important;
}

.msav-journal-single .article-cta-inner{
	position:relative!important;
	z-index:1!important;
	display:flex!important;
	width:100%!important;
	max-width:none!important;
	align-items:center!important;
	justify-content:space-between!important;
	gap:36px!important;
	margin:0!important;
	padding:0!important;
}

.msav-journal-single .article-cta-content{
	width:min(100%,720px)!important;
	max-width:720px!important;
	min-width:0!important;
}

.msav-journal-single .article-cta-label{
	margin:0 0 10px!important;
	color:#d6ff30!important;
	font-family:'Fira Mono',monospace!important;
	font-size:11px!important;
	font-weight:600!important;
	line-height:1.3!important;
	letter-spacing:.10em!important;
	text-transform:uppercase!important;
}

.msav-journal-single .article-cta h2{
	max-width:720px!important;
	margin:0!important;
	color:#fff!important;
	font-size:clamp(28px,3.4vw,54px)!important;
	font-weight:620!important;
	line-height:.96!important;
	letter-spacing:-.06em!important;
	text-transform:none!important;
	overflow-wrap:anywhere;
}

.msav-journal-single .article-cta-description{
	display:block!important;
	max-width:720px!important;
	margin:14px 0 0!important;
	color:rgba(255,255,255,.78)!important;
	font-family:'Inter',sans-serif!important;
	font-size:clamp(14px,1.2vw,17px)!important;
	font-weight:400!important;
	line-height:1.38!important;
	letter-spacing:0!important;
	text-transform:none!important;
}

.msav-journal-single .article-cta-action{
	flex:0 0 auto!important;
	align-self:center!important;
}

.msav-journal-single .article-cta .cta-button{
	display:inline-flex!important;
	min-width:0!important;
	min-height:0!important;
	align-items:center!important;
	justify-content:center!important;
	gap:12px!important;
	margin:0!important;
	padding:12px 17px 12px 19px!important;
	border:0!important;
	border-radius:999px!important;
	background:#d6ff30!important;
	box-shadow:0 10px 24px rgba(43,2,8,.25)!important;
	color:#101010!important;
	font-size:13px!important;
	font-weight:750!important;
	line-height:1!important;
	letter-spacing:0!important;
	text-decoration:none!important;
	text-transform:none!important;
	white-space:nowrap!important;
	transition:
		background .25s ease,
		color .25s ease,
		transform .25s ease,
		box-shadow .25s ease!important;
}

.msav-journal-single .article-cta .cta-button > span{
	display:inline!important;
	margin:0!important;
	color:inherit!important;
	font:inherit!important;
}

.msav-journal-single .article-cta .cta-button i{
	font-size:18px!important;
	font-style:normal!important;
	line-height:1!important;
}

.msav-journal-single .article-cta .cta-button:hover,
.msav-journal-single .article-cta .cta-button:focus-visible{
	background:#fff!important;
	color:#bd1022!important;
	box-shadow:0 14px 30px rgba(43,2,8,.32)!important;
	outline:none!important;
	transform:translateX(3px)!important;
}

@media(min-width:761px){
	.msav-journal-single .article-cta .cta-button{
		gap:14px!important;
		padding:15px 23px 15px 25px!important;
		font-size:15px!important;
	}

	.msav-journal-single .article-cta .cta-button i{
		font-size:20px!important;
	}
}

@media(max-width:760px){
	.msav-journal-single .article-cta{
		padding:50px 20px!important;
	}

	.msav-journal-single .article-cta-inner{
		display:block!important;
	}

	.msav-journal-single .article-cta h2{
		max-width:420px!important;
		font-size:clamp(30px,9vw,40px)!important;
	}

	.msav-journal-single .article-cta-action{
		margin-top:28px!important;
	}

	.msav-journal-single .article-cta .cta-button{
		justify-self:start!important;
	}
}


/* Blog author names — uppercase in hero metadata and author card */
.msav-journal-single .article-meta .meta-item:first-child > span,
.msav-journal-single .author-card strong{
	text-transform:uppercase!important;
}


/* ==========================================================
   FINAL Blog gallery carousel
   2+ images = ONE fixed-size image per slide on every device.
   ========================================================== */
.msav-journal-single .msav-journal-carousel{
	position:relative!important;
	width:min(calc(100vw - 48px),1000px)!important;
	max-width:1000px!important;
	margin:clamp(54px,8vw,96px) 50%!important;
	transform:translateX(-50%)!important;
}

.msav-journal-single .msav-journal-carousel-viewport{
	position:relative!important;
	width:100%!important;
	max-width:100%!important;
	overflow-x:auto!important;
	overflow-y:hidden!important;
	scroll-snap-type:x mandatory!important;
	scroll-behavior:smooth;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior-inline:contain;
	touch-action:pan-y;
}

.msav-journal-single .msav-journal-carousel-viewport::-webkit-scrollbar{
	display:none;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track{
	display:flex!important;
	flex-wrap:nowrap!important;
	width:100%!important;
	max-width:100%!important;
	min-width:100%!important;
	height:auto!important;
	gap:0!important;
	margin:0!important;
	padding:0!important;
	transform:none!important;
	grid-template-columns:none!important;
	grid-template-rows:none!important;
	align-items:stretch!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > *,
.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > figure.wp-block-image{
	display:block!important;
	flex:0 0 100%!important;
	flex-basis:100%!important;
	flex-grow:0!important;
	flex-shrink:0!important;
	width:100%!important;
	min-width:100%!important;
	max-width:100%!important;
	height:auto!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	grid-column:auto!important;
	grid-row:auto!important;
	align-self:stretch!important;
	overflow:hidden!important;
	scroll-snap-align:start!important;
	scroll-snap-stop:always!important;
}

.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > * img,
.msav-journal-single .wp-block-gallery.msav-journal-carousel-track > figure.wp-block-image img{
	display:block!important;
	width:100%!important;
	min-width:100%!important;
	max-width:100%!important;
	height:auto!important;
	aspect-ratio:16 / 9!important;
	object-fit:cover!important;
	object-position:center!important;
	margin:0!important;
}

/* arrows overlay the image */
.msav-journal-single .msav-journal-carousel-controls{
	position:absolute!important;
	z-index:5;
	top:50%;
	left:14px;
	right:14px;
	display:flex!important;
	justify-content:space-between!important;
	gap:0!important;
	margin:0!important;
	pointer-events:none;
	transform:translateY(-50%);
}

.msav-journal-single .msav-journal-carousel-controls[hidden],
.msav-journal-single .msav-journal-carousel-pagination[hidden]{
	display:none!important;
}

.msav-journal-single .msav-journal-carousel-arrow{
	display:grid!important;
	width:46px!important;
	height:46px!important;
	place-items:center!important;
	padding:0!important;
	border:1px solid rgba(255,255,255,.65)!important;
	border-radius:50%!important;
	background:rgba(10,10,10,.68)!important;
	color:#fff!important;
	cursor:pointer!important;
	font-size:18px!important;
	pointer-events:auto!important;
	backdrop-filter:blur(5px);
}

.msav-journal-single .msav-journal-carousel-arrow:hover,
.msav-journal-single .msav-journal-carousel-arrow:focus-visible{
	border-color:var(--lime,#d6ff30)!important;
	background:var(--lime,#d6ff30)!important;
	color:#111!important;
	outline:none!important;
}

/* bullets below */
.msav-journal-single .msav-journal-carousel-pagination{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:8px!important;
	margin-top:14px!important;
	padding:0!important;
}

.msav-journal-single .msav-journal-carousel-dot{
	width:7px!important;
	height:7px!important;
	padding:0!important;
	border:0!important;
	border-radius:50%!important;
	background:rgba(17,17,17,.24)!important;
	cursor:pointer!important;
}

.msav-journal-single .msav-journal-carousel-dot.is-active{
	width:24px!important;
	border-radius:999px!important;
	background:var(--lime,#d6ff30)!important;
}

@media(max-width:900px){
	.msav-journal-single .msav-journal-carousel{
		width:calc(100vw - 36px)!important;
		max-width:900px!important;
	}
}

@media(max-width:620px){
	.msav-journal-single .msav-journal-carousel{
		width:calc(100vw - 20px)!important;
		margin-top:44px!important;
		margin-bottom:58px!important;
	}

	.msav-journal-single .msav-journal-carousel-controls{
		left:8px;
		right:8px;
	}

	.msav-journal-single .msav-journal-carousel-arrow{
		width:40px!important;
		height:40px!important;
	}

	.msav-journal-single .msav-journal-carousel-pagination{
		margin-top:12px!important;
	}
}

/* ==========================================================
   MSAV AUTHOR LINKS + AUTHOR ARCHIVE
   ========================================================== */
.msav-journal-single .article-author-link,
.msav-journal-single .author-card strong a{
	color:inherit!important;
	text-decoration:none!important;
	transition:color .2s ease,opacity .2s ease!important;
}

.msav-journal-single .article-author-link:hover,
.msav-journal-single .article-author-link:focus-visible,
.msav-journal-single .author-card strong a:hover,
.msav-journal-single .author-card strong a:focus-visible{
	color:#d6ff30!important;
	outline:none!important;
}

.msav-journal-single .author-card-bio{
	margin-top:10px!important;
	color:rgba(255,255,255,.68)!important;
	font-size:14px!important;
	line-height:1.6!important;
}

.msav-author-archive{
	background:#050505;
	color:#f7f7f3;
}

.msav-author-hero{
	padding:140px 0 72px;
	border-bottom:1px solid rgba(255,255,255,.08);
	background:
		radial-gradient(ellipse at 14% 0%,rgba(255,87,96,.18),transparent 42%),
		linear-gradient(180deg,#050505 0%,#090909 100%);
}

.msav-author-hero-inner{
	display:grid;
	grid-template-columns:120px minmax(0,1fr);
	gap:28px;
	align-items:start;
}

.msav-author-badge{
	display:grid;
	width:120px;
	height:120px;
	place-items:center;
	border:1px solid rgba(255,255,255,.12);
	background:#101010;
	color:#d6ff30;
	font-size:34px;
	font-weight:700;
	letter-spacing:-.04em;
}

.msav-author-copy h1{
	margin:16px 0 0;
	font-size:clamp(42px,5vw,76px);
	font-weight:620;
	line-height:.94;
	letter-spacing:-.06em;
}

.msav-author-role{
	margin:18px 0 0;
	color:#d6ff30;
	font:600 13px 'Fira Mono', monospace;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.msav-author-bio{
	max-width:760px;
	margin:18px 0 0;
	color:rgba(255,255,255,.76);
	font-size:16px;
	line-height:1.7;
}

.msav-author-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:28px;
}

.msav-author-button{
	display:inline-flex;
	min-height:54px;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:0 20px;
	border:1px solid rgba(255,255,255,.24);
	text-decoration:none;
	font-size:12px;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
	transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.msav-author-button--primary{
	border-color:#d6ff30;
	background:#d6ff30;
	color:#101010;
}

.msav-author-button--ghost{
	background:transparent;
	color:#fff;
}

.msav-author-button:hover,
.msav-author-button:focus-visible{
	transform:translateY(-2px);
	outline:none;
}

.msav-author-button--primary:hover,
.msav-author-button--primary:focus-visible{
	background:#fff;
	border-color:#fff;
	color:#101010;
}

.msav-author-button--ghost:hover,
.msav-author-button--ghost:focus-visible{
	border-color:#d6ff30;
	color:#d6ff30;
}

.msav-author-posts{
	padding:68px 0 110px;
}

.msav-author-grid{
	margin-top:0;
}

.msav-author-posts .card-author{
	color:#d6ff30;
	text-decoration:none;
}

.msav-author-pagination{
	margin-top:36px;
}

.msav-author-pagination ul{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	padding:0;
	margin:0;
	list-style:none;
}

.msav-author-pagination a,
.msav-author-pagination span{
	display:inline-flex;
	min-width:42px;
	height:42px;
	align-items:center;
	justify-content:center;
	padding:0 12px;
	border:1px solid rgba(255,255,255,.12);
	background:#0d0d0d;
	color:#fff;
	text-decoration:none;
}

.msav-author-pagination .current{
	border-color:#d6ff30;
	background:#d6ff30;
	color:#111;
}

.msav-author-empty{
	margin-top:20px;
	color:rgba(255,255,255,.74);
}

@media(max-width:760px){
	.msav-author-hero{
		padding:120px 0 54px;
	}

	.msav-author-hero-inner{
		grid-template-columns:1fr;
	}

	.msav-author-badge{
		width:88px;
		height:88px;
		font-size:28px;
	}

	.msav-author-posts{
		padding:54px 0 88px;
	}
}
